{ "name": "Mapping", "type": "object", "properties": { "id": { "$ref": "_id.json" }, "mappable_id": { "$ref": "_id.json" }, "mappable_type": { "type": "string", "pattern": "(Topic|Synapse)" }, "xloc": { "type": "integer" }, "yloc": { "type": "integer" }, "created_at": { "$ref": "_datetimestamp.json" }, "updated_at": { "$ref": "_datetimestamp.json" }, "map_id": { "$ref": "_id.json" }, "map": { "$ref": "_map.json" }, "user_id": { "$ref": "_id.json" }, "user": { "$ref": "_user.json" }, "updated_by_id": { "$ref": "_id.json" }, "updated_by": { "$ref": "_user.json" } }, "required": [ "id", "mappable_id", "mappable_type", "created_at", "updated_at" ], "allOf": [ { "oneOf": [ { "required": [ "map_id" ] }, { "required": [ "map" ] } ] }, { "oneOf": [ { "required": [ "user_id" ] }, { "required": [ "user" ] } ] }, { "oneOf": [ { "required": [ "updated_by_id" ] }, { "required": [ "updated_by" ] } ] } ] }