Refactor API Schema and validation

- /schema now returns full openapi/swagger schema
- That schema is used to validate incoming requests
- And used as a contract in future integration tests
- Moved route files up one level
- Fixed incorrect 404 reponses when getting objects
- Fixed saving new objects and passing jsonschemavalidation
This commit is contained in:
Jamie Curnow
2024-10-09 18:05:15 +10:00
parent 63d06da8a8
commit dfe2588523
123 changed files with 5363 additions and 2574 deletions

View File

@ -0,0 +1,32 @@
{
"type": "object",
"description": "Audit Log object",
"required": ["id", "created_on", "modified_on", "user_id", "object_type", "object_id", "action", "meta"],
"additionalProperties": false,
"properties": {
"id": {
"$ref": "../common.json#/definitions/id"
},
"created_on": {
"$ref": "../common.json#/definitions/created_on"
},
"modified_on": {
"$ref": "../common.json#/definitions/modified_on"
},
"user_id": {
"$ref": "../common.json#/definitions/user_id"
},
"object_type": {
"type": "string"
},
"object_id": {
"$ref": "../common.json#/definitions/id"
},
"action": {
"type": "string"
},
"meta": {
"type": "object"
}
}
}