Revert "fix(schemav2validator): conditionally strip @context/@type based on schema properties"

The fix in the previous PR is no longer required because the protocol is changed to solve the root cause, reverting this change.
This commit is contained in:
Mayuresh
2026-04-08 13:15:15 +05:30
parent 4d1a9b8e15
commit dab54b574c

View File

@@ -383,22 +383,12 @@ func (c *schemaCache) validateReferencedObject(
return fmt.Errorf("at %s: %w", obj.Path, err)
}
// Strip @context and @type only if the schema does not declare them as properties.
// Some schemas explicitly require these fields; stripping them in that case
// would cause a "missing required field" validation error.
schemaProps := schema.Value.Properties
_, contextInSchema := schemaProps["@context"]
_, typeInSchema := schemaProps["@type"]
domainData := make(map[string]interface{}, len(obj.Data))
// Strip JSON-LD metadata before validation
domainData := make(map[string]interface{}, len(obj.Data)-2)
for k, v := range obj.Data {
if k == "@context" && !contextInSchema {
continue
if k != "@context" && k != "@type" {
domainData[k] = v
}
if k == "@type" && !typeInSchema {
continue
}
domainData[k] = v
}
// Validate domain-specific data against schema