corrad-bp/prisma/json/json-schema.json
Afiq 33dc901107 Add Form and Process History Modals with Versioning Support
- Introduced FormHistoryModal and ProcessHistoryModal components for viewing and restoring previous versions of forms and processes.
- Implemented version tracking in the backend with new API endpoints for fetching and restoring historical data.
- Added database migrations for form and process history tables to support versioning functionality.
- Enhanced form and process update logic to save previous versions before modifications.
- Updated documentation to include details on the new history system and its benefits for data management.
- Improved user experience with intuitive modals for accessing historical data and restoring previous versions.
2025-05-30 19:10:43 +08:00

611 lines
12 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"user": {
"type": "object",
"properties": {
"userID": {
"type": "integer"
},
"userSecretKey": {
"type": [
"string",
"null"
]
},
"userUsername": {
"type": [
"string",
"null"
]
},
"userPassword": {
"type": [
"string",
"null"
]
},
"userFullName": {
"type": [
"string",
"null"
]
},
"userEmail": {
"type": [
"string",
"null"
]
},
"userPhone": {
"type": [
"string",
"null"
]
},
"userStatus": {
"type": [
"string",
"null"
]
},
"userCreatedDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"userModifiedDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"forms": {
"type": "array",
"items": {
"$ref": "#/definitions/form"
}
},
"formHistoryEntries": {
"type": "array",
"items": {
"$ref": "#/definitions/formHistory"
}
},
"processes": {
"type": "array",
"items": {
"$ref": "#/definitions/process"
}
},
"processHistoryEntries": {
"type": "array",
"items": {
"$ref": "#/definitions/processHistory"
}
},
"userrole": {
"type": "array",
"items": {
"$ref": "#/definitions/userrole"
}
}
}
},
"role": {
"type": "object",
"properties": {
"roleID": {
"type": "integer"
},
"roleName": {
"type": [
"string",
"null"
]
},
"roleDescription": {
"type": [
"string",
"null"
]
},
"roleStatus": {
"type": [
"string",
"null"
]
},
"roleCreatedDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"roleModifiedDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"userrole": {
"type": "array",
"items": {
"$ref": "#/definitions/userrole"
}
}
}
},
"userrole": {
"type": "object",
"properties": {
"userRoleID": {
"type": "integer"
},
"userRoleCreatedDate": {
"type": "string",
"format": "date-time"
},
"role": {
"$ref": "#/definitions/role"
},
"user": {
"$ref": "#/definitions/user"
}
}
},
"form": {
"type": "object",
"properties": {
"formID": {
"type": "integer"
},
"formUUID": {
"type": "string"
},
"formName": {
"type": "string"
},
"formDescription": {
"type": [
"string",
"null"
]
},
"formComponents": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"formStatus": {
"type": "string",
"default": "active"
},
"formCreatedDate": {
"type": "string",
"format": "date-time"
},
"formModifiedDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"customCSS": {
"type": [
"string",
"null"
]
},
"customScript": {
"type": [
"string",
"null"
]
},
"formEvents": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"scriptMode": {
"type": [
"string",
"null"
],
"default": "safe"
},
"creator": {
"anyOf": [
{
"$ref": "#/definitions/user"
},
{
"type": "null"
}
]
},
"history": {
"type": "array",
"items": {
"$ref": "#/definitions/formHistory"
}
}
}
},
"formHistory": {
"type": "object",
"properties": {
"historyID": {
"type": "integer"
},
"formUUID": {
"type": "string"
},
"formName": {
"type": "string"
},
"formDescription": {
"type": [
"string",
"null"
]
},
"formComponents": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"formStatus": {
"type": "string"
},
"customCSS": {
"type": [
"string",
"null"
]
},
"customScript": {
"type": [
"string",
"null"
]
},
"formEvents": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"scriptMode": {
"type": [
"string",
"null"
]
},
"versionNumber": {
"type": "integer"
},
"changeDescription": {
"type": [
"string",
"null"
]
},
"savedDate": {
"type": "string",
"format": "date-time"
},
"form": {
"$ref": "#/definitions/form"
},
"savedByUser": {
"anyOf": [
{
"$ref": "#/definitions/user"
},
{
"type": "null"
}
]
}
}
},
"process": {
"type": "object",
"properties": {
"processID": {
"type": "integer"
},
"processUUID": {
"type": "string"
},
"processName": {
"type": "string"
},
"processDescription": {
"type": [
"string",
"null"
]
},
"processDefinition": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"processVersion": {
"type": "integer",
"default": 1
},
"processStatus": {
"type": "string",
"default": "draft"
},
"processCreatedDate": {
"type": "string",
"format": "date-time"
},
"processModifiedDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"isTemplate": {
"type": "boolean",
"default": false
},
"processCategory": {
"type": [
"string",
"null"
]
},
"processOwner": {
"type": [
"string",
"null"
]
},
"processPermissions": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"processPriority": {
"type": [
"string",
"null"
],
"default": "normal"
},
"processSettings": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"processVariables": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"templateCategory": {
"type": [
"string",
"null"
]
},
"processDeletedDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"creator": {
"anyOf": [
{
"$ref": "#/definitions/user"
},
{
"type": "null"
}
]
},
"history": {
"type": "array",
"items": {
"$ref": "#/definitions/processHistory"
}
}
}
},
"processHistory": {
"type": "object",
"properties": {
"historyID": {
"type": "integer"
},
"processUUID": {
"type": "string"
},
"processName": {
"type": "string"
},
"processDescription": {
"type": [
"string",
"null"
]
},
"processDefinition": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"processVersion": {
"type": "integer"
},
"processStatus": {
"type": "string"
},
"processCategory": {
"type": [
"string",
"null"
]
},
"processOwner": {
"type": [
"string",
"null"
]
},
"processPermissions": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"processPriority": {
"type": [
"string",
"null"
]
},
"processSettings": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"processVariables": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"templateCategory": {
"type": [
"string",
"null"
]
},
"versionNumber": {
"type": "integer"
},
"changeDescription": {
"type": [
"string",
"null"
]
},
"savedDate": {
"type": "string",
"format": "date-time"
},
"process": {
"$ref": "#/definitions/process"
},
"savedByUser": {
"anyOf": [
{
"$ref": "#/definitions/user"
},
{
"type": "null"
}
]
}
}
}
},
"type": "object",
"properties": {
"user": {
"$ref": "#/definitions/user"
},
"role": {
"$ref": "#/definitions/role"
},
"userrole": {
"$ref": "#/definitions/userrole"
},
"form": {
"$ref": "#/definitions/form"
},
"formHistory": {
"$ref": "#/definitions/formHistory"
},
"process": {
"$ref": "#/definitions/process"
},
"processHistory": {
"$ref": "#/definitions/processHistory"
}
}
}