corrad-bp/prisma/json/json-schema.json
Md Afiq Iskandar bb5e4c0637 Add Form and Process Management Features
- Introduced new components for form selection and gateway condition management within the process builder.
- Implemented a `FormSelector` component for selecting and managing forms, including search functionality and loading states.
- Developed a `GatewayConditionManager` component to manage conditions for gateways, allowing users to define and edit conditions visually.
- Created a `ProcessBuilderComponents` component to facilitate the addition of core components in the process builder.
- Enhanced the `ProcessFlowCanvas` to support new features, including edge selection and improved node management.
- Updated the backend API to handle CRUD operations for forms and processes, including error handling for associated tasks.
- Integrated new database models for forms and processes in Prisma, ensuring proper relationships and data integrity.
- Improved state management in the form builder store to accommodate new features and enhance user experience.
2025-05-15 10:27:55 +08:00

509 lines
9.8 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"audit": {
"type": "object",
"properties": {
"auditID": {
"type": "integer"
},
"auditIP": {
"type": [
"string",
"null"
]
},
"auditURL": {
"type": [
"string",
"null"
]
},
"auditURLMethod": {
"type": [
"string",
"null"
]
},
"auditURLPayload": {
"type": [
"string",
"null"
]
},
"auditCreatedDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"auditAction": {
"type": [
"string",
"null"
]
},
"auditDetails": {
"type": [
"string",
"null"
]
},
"auditUsername": {
"type": [
"string",
"null"
]
},
"user": {
"anyOf": [
{
"$ref": "#/definitions/user"
},
{
"type": "null"
}
]
}
}
},
"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"
},
"audit": {
"type": "array",
"items": {
"$ref": "#/definitions/audit"
}
},
"userrole": {
"type": "array",
"items": {
"$ref": "#/definitions/userrole"
}
},
"processes": {
"type": "array",
"items": {
"$ref": "#/definitions/process"
}
},
"forms": {
"type": "array",
"items": {
"$ref": "#/definitions/form"
}
},
"assignedTasks": {
"type": "array",
"items": {
"$ref": "#/definitions/task"
}
}
}
},
"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"
}
}
}
},
"lookup": {
"type": "object",
"properties": {
"lookupID": {
"type": "integer"
},
"lookupOrder": {
"type": [
"integer",
"null"
]
},
"lookupTitle": {
"type": [
"string",
"null"
]
},
"lookupRefCode": {
"type": [
"string",
"null"
]
},
"lookupValue": {
"type": [
"string",
"null"
]
},
"lookupType": {
"type": [
"string",
"null"
]
},
"lookupStatus": {
"type": [
"string",
"null"
]
},
"lookupCreatedDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"lookupModifiedDate": {
"type": [
"string",
"null"
],
"format": "date-time"
}
}
},
"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"
},
"creator": {
"anyOf": [
{
"$ref": "#/definitions/user"
},
{
"type": "null"
}
]
},
"formTasks": {
"type": "array",
"items": {
"$ref": "#/definitions/task"
}
}
}
},
"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"
},
"creator": {
"anyOf": [
{
"$ref": "#/definitions/user"
},
{
"type": "null"
}
]
},
"tasks": {
"type": "array",
"items": {
"$ref": "#/definitions/task"
}
}
}
},
"task": {
"type": "object",
"properties": {
"taskID": {
"type": "integer"
},
"taskUUID": {
"type": "string"
},
"taskNodeId": {
"type": "string"
},
"taskName": {
"type": "string"
},
"taskType": {
"type": "string"
},
"taskData": {
"type": [
"number",
"string",
"boolean",
"object",
"array",
"null"
]
},
"taskStatus": {
"type": "string",
"default": "pending"
},
"taskCreatedDate": {
"type": "string",
"format": "date-time"
},
"taskModifiedDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"process": {
"$ref": "#/definitions/process"
},
"form": {
"anyOf": [
{
"$ref": "#/definitions/form"
},
{
"type": "null"
}
]
},
"assignee": {
"anyOf": [
{
"$ref": "#/definitions/user"
},
{
"type": "null"
}
]
}
}
}
},
"type": "object",
"properties": {
"audit": {
"$ref": "#/definitions/audit"
},
"user": {
"$ref": "#/definitions/user"
},
"role": {
"$ref": "#/definitions/role"
},
"lookup": {
"$ref": "#/definitions/lookup"
},
"userrole": {
"$ref": "#/definitions/userrole"
},
"form": {
"$ref": "#/definitions/form"
},
"process": {
"$ref": "#/definitions/process"
},
"task": {
"$ref": "#/definitions/task"
}
}
}