removed schema realms, fixed fixture generations, added dynamic type resolution for validation based on type and kind discriminators for filters

This commit is contained in:
2026-04-21 10:50:01 -04:00
parent a1e6ac8cb0
commit 4e2cb488cc
25 changed files with 440 additions and 331 deletions

View File

@ -4,7 +4,6 @@
pub mod cache;
use crate::database::Database;
use crate::database::realm::SchemaRealm;
use crate::database::r#type::Type;
use serde_json::Value;
use std::sync::Arc;
@ -25,7 +24,7 @@ impl Merger {
pub fn merge(&self, schema_id: &str, data: Value) -> crate::drop::Drop {
let mut notifications_queue = Vec::new();
let target_schema = match self.db.get_scoped_schema(SchemaRealm::Type, schema_id) {
let target_schema = match self.db.schemas.get(schema_id) {
Some(s) => Arc::clone(&s),
None => {
return crate::drop::Drop::with_errors(vec![crate::drop::Error {
@ -146,7 +145,7 @@ impl Merger {
if let Some((idx_opt, target_id_opt)) = options.get(v) {
if let Some(target_id) = target_id_opt {
if let Some(target_schema) =
self.db.get_scoped_schema(SchemaRealm::Type, target_id)
self.db.schemas.get(target_id)
{
schema = target_schema.clone();
} else {