- 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.
611 lines
12 KiB
JSON
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"
|
|
}
|
|
}
|
|
} |