added type family support
This commit is contained in:
@ -1056,4 +1056,73 @@ pub fn nullable_union_schemas() -> JsonB {
|
||||
}]);
|
||||
|
||||
cache_json_schemas(jsonb(enums), jsonb(types), jsonb(puncs))
|
||||
}
|
||||
}
|
||||
|
||||
pub fn hierarchy_schemas() -> JsonB {
|
||||
let enums = json!([]);
|
||||
let types = json!([
|
||||
{
|
||||
"name": "entity",
|
||||
"hierarchy": ["entity"],
|
||||
"schemas": [{
|
||||
"$id": "entity",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": { "type": "string" },
|
||||
"type": { "$ref": "entity.family", "override": true }
|
||||
},
|
||||
"required": ["id", "type"]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"name": "organization",
|
||||
"hierarchy": ["entity", "organization"],
|
||||
"schemas": [{
|
||||
"$id": "organization",
|
||||
"$ref": "entity",
|
||||
"properties": {
|
||||
"type": { "$ref": "organization.family", "override": true },
|
||||
"name": { "type": "string" }
|
||||
},
|
||||
"required": ["name"]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"name": "user",
|
||||
"hierarchy": ["entity", "organization", "user"],
|
||||
"schemas": [{
|
||||
"$id": "user",
|
||||
"$ref": "organization",
|
||||
"properties": {
|
||||
"type": { "$ref": "user.family", "override": true },
|
||||
"password": { "type": "string" }
|
||||
},
|
||||
"required": ["password"]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"name": "person",
|
||||
"hierarchy": ["entity", "organization", "user", "person"],
|
||||
"schemas": [{
|
||||
"$id": "person",
|
||||
"$ref": "user",
|
||||
"properties": {
|
||||
"type": { "$ref": "person.family", "override": true },
|
||||
"first_name": { "type": "string" }
|
||||
},
|
||||
"required": ["first_name"]
|
||||
}]
|
||||
}
|
||||
]);
|
||||
|
||||
let puncs = json!([{
|
||||
"name": "test_org_punc",
|
||||
"public": false,
|
||||
"schemas": [{
|
||||
"$id": "test_org_punc.request",
|
||||
"$ref": "organization"
|
||||
}]
|
||||
}]);
|
||||
|
||||
cache_json_schemas(jsonb(enums), jsonb(types), jsonb(puncs))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user