@gadmin2n/schematics 0.0.138 → 0.0.140
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/application/files/gadmin2-game-angle-demo/Jenkinsfile +6 -34
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/approval.prisma +199 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/system.prisma +9 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/workflow.prisma +191 -14
- package/dist/lib/application/files/gadmin2-game-angle-demo/gitignore +6 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/readme.md +10 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/migrate-between-pg-schemas.js +6 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/package.json +5 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/prisma.config.ts +12 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/scripts/migrate-human-approval-configs.ts +86 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/workflow-node-types.ts +682 -121
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/workflow.seed.ts +110 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/config/index.ts +28 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/json-body-parser.spec.ts +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/json-body-parser.ts +7 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/structured-all-exceptions.filter.spec.ts +54 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/structured-all-exceptions.filter.ts +86 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/main.ts +9 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/approvalChannel/approval-channel.controller.ts +89 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/approvalChannel/approval-channel.dto.ts +68 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/approvalChannel/approval-channel.service.spec.ts +177 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/approvalChannel/approval-channel.service.ts +283 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/approvalChannel/approvalChannel.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/codeRuntime/code-executor.spec.ts +42 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/codeRuntime/code-executor.ts +108 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/codeRuntime/code-runtime.controller.ts +101 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/codeRuntime/code-runtime.dto.ts +29 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/codeRuntime/codeRuntime.module.ts +21 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-handler.registry.ts +30 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-handler.ts +15 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-runtime.controller.spec.ts +105 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-runtime.controller.ts +96 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-runtime.dto.ts +78 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-signal-outbox.service.spec.ts +56 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-signal-outbox.service.ts +111 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-token.spec.ts +23 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-token.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction.service.spec.ts +240 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction.service.ts +339 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction.types.ts +74 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-wait.handler.ts +47 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/externalInteraction.module.ts +41 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/human-approval.handler.spec.ts +70 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/human-approval.handler.ts +76 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/workflow-callback-url.controller.ts +12 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/workflow-callback-url.service.spec.ts +227 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/workflow-callback-url.service.ts +121 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/httpRequest/http-request-runtime.controller.ts +160 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/httpRequest/http-request-runtime.dto.ts +41 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/httpRequest/http-request-runtime.util.spec.ts +171 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/httpRequest/http-request-runtime.util.ts +245 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/httpRequest/httpRequest.module.ts +22 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-rule-evaluator.spec.ts +68 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-rule-evaluator.ts +126 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-rule.types.ts +34 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-signal-outbox.service.ts +115 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-subject-source.util.spec.ts +45 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-subject-source.util.ts +59 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/human-approval.controller.ts +72 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/human-approval.dto.ts +144 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/human-approval.errors.ts +19 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/human-approval.external-decision.spec.ts +350 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/human-approval.service.ts +774 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/humanApproval.module.ts +46 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/legacy-approval-config-migration.ts +227 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/outbox-retry.util.ts +14 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/runtime/human-approval-runtime.controller.ts +151 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/runtime/human-approval-runtime.dto.ts +88 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/runtime/runtime-token.guard.ts +43 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/index.ts +21 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integration-connection.controller.ts +77 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integration-connection.dto.ts +98 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integration-connection.service.ts +277 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integration-secret-cipher.spec.ts +14 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integration-secret-cipher.ts +59 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integrationConnection.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/actor-context.util.ts +27 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/providers/user-group.provider.ts +208 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/providers/user.provider.ts +168 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.controller.spec.ts +157 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.controller.ts +176 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.dto.ts +21 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.errors.ts +78 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.registry.spec.ts +100 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.registry.ts +115 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.types.ts +97 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subjectProvider.module.ts +34 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/temporalTenantConfig/temporalTenantConfig.controller.spec.ts +89 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/temporalTenantConfig/temporalTenantConfig.controller.ts +4 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/user-group.controller.ts +119 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/user-group.dto.ts +91 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/user-group.errors.ts +34 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/user-group.service.spec.ts +161 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/user-group.service.ts +390 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/userGroup.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/dsl-validate.util.spec.ts +17 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/dsl-validate.util.ts +8 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/parameter-binding.ts +93 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-callable.spec.ts +158 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-callable.ts +155 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-compiler.service.spec.ts +363 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-compiler.service.ts +354 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-compiler.types.ts +43 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-data-edge.util.spec.ts +174 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-data-edge.util.ts +149 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-dsl-comparison.ts +43 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-execution.dto.ts +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-export.dto.ts +4 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-export.service.ts +70 -28
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-handle-validator.ts +128 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow.controller.ts +12 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow.module.ts +18 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow.service.spec.ts +369 -22
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow.service.ts +319 -90
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/node-config-validator.service.spec.ts +79 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/node-config-validator.service.ts +62 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/schema.types.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/subject-config-validator.service.spec.ts +124 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/subject-config-validator.service.ts +236 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/widget-catalog.service.spec.ts +49 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/widget-catalog.service.ts +69 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/workflowConfig.module.ts +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/node-instance-config.util.spec.ts +15 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/node-instance-config.util.ts +25 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/workflowNodeInstance.controller.ts +103 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/workflowNodeInstance.dto.ts +98 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/workflowNodeInstance.module.ts +3 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/workflowNodeInstance.service.spec.ts +72 -62
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/workflowNodeInstance.service.ts +148 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/package.json +13 -9
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/App.tsx +5 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/authProvider.ts +2 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/BulkActions.tsx +0 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/SearchBar.tsx +26 -18
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/eventList/index.tsx +2 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logButton/index.tsx +24 -17
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logList/index.tsx +7 -18
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/modalDiffViewer/index.tsx +2 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/color-mode/index.tsx +288 -33
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/color-mode/themeStyles.ts +97 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/SettingDrawer.tsx +251 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/header.tsx +47 -19
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/layout.tsx +18 -9
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/menuRenderer.tsx +155 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/sider.tsx +123 -129
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/routeRegistry.tsx +16 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/constants/layout.ts +2 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/AddDataModal.tsx +98 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/AddPageModal.tsx +101 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/DevShell.tsx +8 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/style.css +51 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/form.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/list.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/login.ts +40 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/show.tsx +5 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useDynamicResources.tsx +16 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useListPageState.ts +10 -7
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/i18n.ts +4 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/en/common.json +26 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/en/workflow.json +556 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/zh_CN/common.json +26 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/zh_CN/workflow.json +556 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/plugins/devShellPlugin.ts +152 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agenda/index.tsx +6 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agenda/show.tsx +41 -9
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agendaJob/edit.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agendaJob/list.tsx +10 -8
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agendaJob/show.tsx +3 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.css +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/edit.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/show.tsx +3 -6
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasCell.css +3 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasCell.tsx +45 -13
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasComponentLibrary.tsx +45 -22
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasListPage.tsx +168 -101
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasPage.tsx +248 -74
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasToolbar.tsx +33 -18
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CodeFloatWindow.tsx +16 -10
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/PublishModal.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasContextMenuRegistry.tsx +31 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasDefaults.ts +15 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/BarChartDataSourceModal.tsx +16 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/CanvasAiModal.tsx +25 -21
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/ExportModal.tsx +6 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/LineChartDataSourceModal.tsx +9 -10
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/MultiChartConfigModal.tsx +4 -7
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/MultiChartDataSourceModal.tsx +23 -9
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/NumCardDataSourceModal.tsx +16 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/PromptModal.tsx +2 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/RadarChartDataSourceModal.tsx +16 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/TableConfigModal.tsx +2 -9
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/TableDataSourceModal.tsx +23 -12
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/canvasModalProps.ts +2 -17
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/sectionCompactor.test.ts +149 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/sectionCompactor.ts +111 -17
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/types.ts +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/whiteboardLayout.test.ts +83 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/whiteboardLayout.ts +118 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/whiteboardName.test.ts +26 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas-page/index.tsx +9 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/edit.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/list.tsx +10 -8
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/show.tsx +3 -6
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/human-approval/DecisionModal.tsx +71 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/human-approval/inbox.tsx +216 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/AssignRolesModal.tsx +6 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/permissionReadme/index.tsx +8 -8
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/modal.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/list.tsx +5 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/modal.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/show-drawer.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/approval-channels/ApprovalChannelModal.test.tsx +84 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/approval-channels/ApprovalChannelModal.tsx +141 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/approval-channels/approval-channel.types.ts +16 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/approval-channels/index.tsx +208 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/CreateNodeInstanceDrawer.tsx +154 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/CustomNode.tsx +194 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/DeletableEdge.tsx +76 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/DslView.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/EnhancedFlowRenderer.tsx +176 -22
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/ExecutionStatusNode.test.tsx +62 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/ExecutionStatusNode.tsx +94 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/ExportModal.tsx +15 -10
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/FlowRenderer.tsx +251 -70
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/ImportModal.tsx +18 -24
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/InstanceRequiredDialog.tsx +106 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/LookupConnectionDialog.test.tsx +45 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/LookupConnectionDialog.tsx +43 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/NewNodeDefaults.test.tsx +279 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/NodeEditModal.tsx +6 -7
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/NodePropertyPanel.test.tsx +335 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/NodePropertyPanel.tsx +433 -237
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/ParameterBindingEditor.tsx +179 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/RunWorkflowModal.tsx +18 -16
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/StatusCards.tsx +20 -16
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/VersionPanel.tsx +6 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/connections/ConnectionModal.test.tsx +68 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/connections/ConnectionModal.tsx +367 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/connections/connection.types.ts +21 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/connections/index.tsx +171 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/editor.tsx +38 -22
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/hooks/useNodeInstanceLibrary.ts +41 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/hooks/useWorkflowAgent.ts +6 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/index.tsx +27 -20
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/instance-detail.tsx +8 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/instances.tsx +6 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/components/NodeInstanceForm.tsx +56 -23
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/create.tsx +21 -6
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/edit.tsx +17 -20
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/index.tsx +6 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/SchemaField.tsx +311 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/SchemaForm.test.tsx +218 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/SchemaForm.tsx +83 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/default-widgets.tsx +135 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/schema-defaults.ts +36 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/schema.types.ts +32 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/widget-registry.test.tsx +23 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/widget-registry.tsx +52 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/show.tsx +9 -13
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ApprovalRequestTriggerConfigEditor.tsx +39 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ApprovalRuleEditor.test.tsx +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ApprovalRuleEditor.tsx +72 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ApproverSourceEditor.test.tsx +47 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ApproverSourceEditor.tsx +185 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/CallableInputParametersEditor.test.tsx +102 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/CallableInputParametersEditor.tsx +150 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/CodeConfigEditor.tsx +103 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ExternalRequestConfigEditor.test.tsx +93 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ExternalRequestConfigEditor.tsx +196 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ExternalWaitConfigEditor.tsx +303 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/HttpRequestConfigEditor.test.tsx +189 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/HttpRequestConfigEditor.tsx +706 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/HumanApprovalConfigEditor.test.tsx +86 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/HumanApprovalConfigEditor.tsx +458 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ReturnResultConfigEditor.test.tsx +53 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ReturnResultConfigEditor.tsx +91 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/SubjectPicker.test.tsx +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/SubjectPicker.tsx +266 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/SubmitApprovalResultConfigEditor.tsx +104 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/SubmitExternalResultConfigEditor.tsx +98 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/UserGroupCreateModal.tsx +70 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/UserGroupEditModal.tsx +138 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/approver-source.test.ts +25 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/approver-source.ts +42 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/subject-provider.api.ts +95 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/show.tsx +15 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/temporal-tenant/index.tsx +49 -8
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/types/parameter-binding.ts +49 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/types.ts +31 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/lookupConnection.test.ts +208 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/lookupConnection.ts +246 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/newNodeConfig.ts +73 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/removeWorkflowEdges.test.ts +34 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/removeWorkflowEdges.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/resolveLookupPorts.ts +66 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/resolveOutputs.test.ts +39 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/resolveOutputs.ts +48 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/resolveWorkflowDisplay.test.ts +51 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/resolveWorkflowDisplay.ts +32 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflowEventOutbox/edit.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflowEventOutbox/list.tsx +10 -8
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflowEventOutbox/show.tsx +3 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/antd-theme-vars.css +93 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/antd.css +8 -8
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/fc.css +4 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/index.css +20 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-drawer.module.css +3 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-page.module.css +3 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/theme-styles.css +81 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/test/setup.ts +5 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/vite.config.ts +1 -7
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/vitest.config.ts +12 -0
- package/package.json +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/components/DynamicConfigForm.tsx +0 -154
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// see https://www.jenkins.io/doc/book/pipeline/syntax/
|
|
2
2
|
//
|
|
3
|
-
// Monorepo pipeline for gadmin-test: 3 deployable modules (web / server
|
|
3
|
+
// Monorepo pipeline for gadmin-test: 3 deployable modules (web / server ).
|
|
4
4
|
// 路径触发:哪个模块代码有改动就构建哪个,纯文档改动跳过所有构建。
|
|
5
5
|
// 风格沿用 erp-frontend / erp-backend 的 Jenkinsfile(声明式、Coding CI 环境变量、Spinnaker webhook)。
|
|
6
6
|
|
|
@@ -17,7 +17,6 @@ pipeline {
|
|
|
17
17
|
// TODO: 确认这三个 image name 与 Spinnaker 应用 / K8s deployment 命名一致
|
|
18
18
|
WEB_IMAGE_SHORT = "gadmin2-web"
|
|
19
19
|
SERVER_IMAGE_SHORT = "gadmin2-server"
|
|
20
|
-
WORKER_IMAGE_SHORT = "gadmin2-worker"
|
|
21
20
|
|
|
22
21
|
// 代码生成中间镜像(不推送到 registry,仅本地 docker daemon 临时存活)
|
|
23
22
|
CODEGEN_IMAGE = "gadmin2-codegen:${IMAGE_VERSION}"
|
|
@@ -75,10 +74,9 @@ pipeline {
|
|
|
75
74
|
|
|
76
75
|
def buildWeb = false
|
|
77
76
|
def buildServer = false
|
|
78
|
-
def buildWorker = false
|
|
79
77
|
|
|
80
78
|
if (!baseValid) {
|
|
81
|
-
buildWeb = true; buildServer = true;
|
|
79
|
+
buildWeb = true; buildServer = true;
|
|
82
80
|
} else if (changedFiles.isEmpty()) {
|
|
83
81
|
echo '没有文件变更,全部跳过'
|
|
84
82
|
} else {
|
|
@@ -92,27 +90,24 @@ pipeline {
|
|
|
92
90
|
// config/ui/** → web(前端 CRUD 代码由 config/ui 生成)
|
|
93
91
|
// config/prisma/** → server + web(后端模型由 prisma 生成;前端 enums 通过 yarn sync:code 与后端同步)
|
|
94
92
|
// server/** → server
|
|
95
|
-
// temporal/worker/**→ worker
|
|
96
93
|
buildWeb = matches(nonDoc, 'web/') || matches(nonDoc, 'config/ui/') || matches(nonDoc, 'config/prisma/')
|
|
97
94
|
buildServer = matches(nonDoc, 'server/') || matches(nonDoc, 'config/prisma/')
|
|
98
|
-
buildWorker = matches(nonDoc, 'temporal/worker/')
|
|
99
95
|
// 注:本项目根目录没有共享的 package.json / tsconfig.json,
|
|
100
|
-
// 各模块依赖独立在 web/ server/
|
|
96
|
+
// 各模块依赖独立在 web/ server/ 下,无需"全量兜底"逻辑。
|
|
101
97
|
}
|
|
102
98
|
}
|
|
103
99
|
|
|
104
100
|
// 用 env 暴露给后续 stage(when 表达式只能读 env / params)
|
|
105
101
|
env.BUILD_WEB = buildWeb.toString()
|
|
106
102
|
env.BUILD_SERVER = buildServer.toString()
|
|
107
|
-
env.BUILD_WORKER = buildWorker.toString()
|
|
108
103
|
|
|
109
|
-
echo "buildWeb=${buildWeb}, buildServer=${buildServer}
|
|
104
|
+
echo "buildWeb=${buildWeb}, buildServer=${buildServer}"
|
|
110
105
|
}
|
|
111
106
|
}
|
|
112
107
|
}
|
|
113
108
|
|
|
114
109
|
stage('代码生成') {
|
|
115
|
-
// 仅当需要构建 web 或 server
|
|
110
|
+
// 仅当需要构建 web 或 server 时执行å
|
|
116
111
|
when {
|
|
117
112
|
anyOf {
|
|
118
113
|
environment name: 'BUILD_WEB', value: 'true'
|
|
@@ -184,26 +179,6 @@ pipeline {
|
|
|
184
179
|
}
|
|
185
180
|
}
|
|
186
181
|
}
|
|
187
|
-
|
|
188
|
-
stage('构建 Worker') {
|
|
189
|
-
when { environment name: 'BUILD_WORKER', value: 'true' }
|
|
190
|
-
steps {
|
|
191
|
-
script {
|
|
192
|
-
def imageName = "${env.IMAGE_NAME_PREFIX}/${env.WORKER_IMAGE_SHORT}"
|
|
193
|
-
def imageFull = "${env.CODING_DOCKER_REG_HOST}/${imageName}:${env.IMAGE_VERSION}"
|
|
194
|
-
|
|
195
|
-
docker.withRegistry(
|
|
196
|
-
"${CCI_CURRENT_WEB_PROTOCOL}://${env.CODING_DOCKER_REG_HOST}",
|
|
197
|
-
"${env.CODING_ARTIFACTS_CREDENTIALS_ID}"
|
|
198
|
-
) {
|
|
199
|
-
// worker 的构建上下文是 temporal/worker/
|
|
200
|
-
docker.build("${imageName}:${env.IMAGE_VERSION}", "-f temporal/worker/Dockerfile temporal/worker").push()
|
|
201
|
-
sh "docker image rm ${imageFull}"
|
|
202
|
-
}
|
|
203
|
-
env.WORKER_IMAGE_FULL = imageFull
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
182
|
}
|
|
208
183
|
}
|
|
209
184
|
|
|
@@ -231,11 +206,8 @@ pipeline {
|
|
|
231
206
|
if (env.BUILD_SERVER == 'true' && env.SERVER_IMAGE_FULL) {
|
|
232
207
|
triggerOne('server', env.SERVER_IMAGE_FULL)
|
|
233
208
|
}
|
|
234
|
-
if (env.BUILD_WORKER == 'true' && env.WORKER_IMAGE_FULL) {
|
|
235
|
-
triggerOne('worker', env.WORKER_IMAGE_FULL)
|
|
236
|
-
}
|
|
237
209
|
|
|
238
|
-
if (env.BUILD_WEB != 'true' && env.BUILD_SERVER != 'true'
|
|
210
|
+
if (env.BUILD_WEB != 'true' && env.BUILD_SERVER != 'true') {
|
|
239
211
|
echo '本次构建无模块更新,跳过 Spinnaker 触发'
|
|
240
212
|
} else {
|
|
241
213
|
echo '部署已经触发,可以在 Spinnaker 查看状态: https://api-spinnaker.devops.intlgame.com'
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
enum ApprovalRequestStatus {
|
|
2
|
+
PENDING
|
|
3
|
+
BLOCKED
|
|
4
|
+
APPROVED
|
|
5
|
+
REJECTED
|
|
6
|
+
TIMED_OUT
|
|
7
|
+
CANCELLED
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
enum ApprovalDecisionType {
|
|
11
|
+
APPROVE
|
|
12
|
+
REJECT
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
enum ApprovalRuleMode {
|
|
16
|
+
ANY
|
|
17
|
+
ALL
|
|
18
|
+
COUNT
|
|
19
|
+
PERCENTAGE
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
enum SubjectOutboxStatus {
|
|
23
|
+
PENDING
|
|
24
|
+
PROCESSING
|
|
25
|
+
PROCESSED
|
|
26
|
+
FAILED
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/// @IgnoreNestCode
|
|
30
|
+
/// @IgnoreReactCode
|
|
31
|
+
/// @IgnoreAutoField
|
|
32
|
+
model UserGroup {
|
|
33
|
+
id BigInt @id @default(autoincrement())
|
|
34
|
+
code String @unique @default(nanoid()) @db.VarChar(21)
|
|
35
|
+
name String @db.VarChar(128)
|
|
36
|
+
description String? @db.VarChar(512)
|
|
37
|
+
revision Int @default(1)
|
|
38
|
+
isActive Boolean @default(true) @map("is_active")
|
|
39
|
+
creator String @default("") @db.VarChar(128)
|
|
40
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
41
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
42
|
+
|
|
43
|
+
users UserGroupUser[]
|
|
44
|
+
children UserGroupChild[] @relation("ParentGroup")
|
|
45
|
+
parents UserGroupChild[] @relation("ChildGroup")
|
|
46
|
+
|
|
47
|
+
@@map("t_user_group")
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/// @IgnoreNestCode
|
|
51
|
+
/// @IgnoreReactCode
|
|
52
|
+
/// @IgnoreAutoField
|
|
53
|
+
model UserGroupUser {
|
|
54
|
+
groupId BigInt @map("group_id")
|
|
55
|
+
userId String @map("user_id") @db.VarChar(128)
|
|
56
|
+
creator String @default("") @db.VarChar(128)
|
|
57
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
58
|
+
|
|
59
|
+
group UserGroup @relation(fields: [groupId], references: [id], onDelete: Restrict)
|
|
60
|
+
user User @relation(fields: [userId], references: [userid], onDelete: Restrict)
|
|
61
|
+
|
|
62
|
+
@@id([groupId, userId])
|
|
63
|
+
@@index([userId], map: "idx_ugu_user_id")
|
|
64
|
+
@@map("t_user_group_user")
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/// @IgnoreNestCode
|
|
68
|
+
/// @IgnoreReactCode
|
|
69
|
+
/// @IgnoreAutoField
|
|
70
|
+
model UserGroupChild {
|
|
71
|
+
parentGroupId BigInt @map("parent_group_id")
|
|
72
|
+
childGroupId BigInt @map("child_group_id")
|
|
73
|
+
creator String @default("") @db.VarChar(128)
|
|
74
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
75
|
+
|
|
76
|
+
parentGroup UserGroup @relation("ParentGroup", fields: [parentGroupId], references: [id], onDelete: Restrict)
|
|
77
|
+
childGroup UserGroup @relation("ChildGroup", fields: [childGroupId], references: [id], onDelete: Restrict)
|
|
78
|
+
|
|
79
|
+
@@id([parentGroupId, childGroupId])
|
|
80
|
+
@@index([childGroupId], map: "idx_ugc_child_group_id")
|
|
81
|
+
@@map("t_user_group_child")
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/// @IgnoreNestCode
|
|
85
|
+
/// @IgnoreReactCode
|
|
86
|
+
/// @IgnoreAutoField
|
|
87
|
+
model ApprovalRequest {
|
|
88
|
+
id BigInt @id @default(autoincrement())
|
|
89
|
+
workflowInstanceId BigInt @map("workflow_instance_id")
|
|
90
|
+
nodeId String @map("node_id") @db.VarChar(64)
|
|
91
|
+
workflowVersionId BigInt @map("workflow_version_id")
|
|
92
|
+
configHash String @map("config_hash") @db.VarChar(64)
|
|
93
|
+
configSnapshot Json @map("config_snapshot")
|
|
94
|
+
approvalRule Json @map("approval_rule")
|
|
95
|
+
rejectionRule Json @map("rejection_rule")
|
|
96
|
+
status ApprovalRequestStatus @default(PENDING)
|
|
97
|
+
blockedReason String? @map("blocked_reason") @db.Text
|
|
98
|
+
startedAt DateTime @default(now()) @map("started_at")
|
|
99
|
+
expiresAt DateTime? @map("expires_at")
|
|
100
|
+
completedAt DateTime? @map("completed_at")
|
|
101
|
+
creator String @default("") @db.VarChar(128)
|
|
102
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
103
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
104
|
+
|
|
105
|
+
subjects ApprovalRequestSubject[]
|
|
106
|
+
candidates ApprovalCandidate[]
|
|
107
|
+
decisions ApprovalDecision[]
|
|
108
|
+
signalOutboxes ApprovalSignalOutbox[]
|
|
109
|
+
|
|
110
|
+
@@unique([workflowInstanceId, nodeId], map: "uk_ar_workflow_instance_node")
|
|
111
|
+
@@index([workflowVersionId], map: "idx_ar_workflow_version_id")
|
|
112
|
+
@@index([status, expiresAt], map: "idx_ar_status_expires_at")
|
|
113
|
+
@@map("t_approval_request")
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/// @IgnoreNestCode
|
|
117
|
+
/// @IgnoreReactCode
|
|
118
|
+
/// @IgnoreAutoField
|
|
119
|
+
model ApprovalRequestSubject {
|
|
120
|
+
requestId BigInt @map("request_id")
|
|
121
|
+
provider String @db.VarChar(64)
|
|
122
|
+
ref String @db.VarChar(128)
|
|
123
|
+
resourceRevision Int? @map("resource_revision")
|
|
124
|
+
metadata Json?
|
|
125
|
+
|
|
126
|
+
request ApprovalRequest @relation(fields: [requestId], references: [id], onDelete: Restrict)
|
|
127
|
+
|
|
128
|
+
@@id([requestId, provider, ref])
|
|
129
|
+
@@index([provider, ref], map: "idx_ars_provider_ref")
|
|
130
|
+
@@map("t_approval_request_subject")
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/// @IgnoreNestCode
|
|
134
|
+
/// @IgnoreReactCode
|
|
135
|
+
/// @IgnoreAutoField
|
|
136
|
+
model ApprovalCandidate {
|
|
137
|
+
id BigInt @id @default(autoincrement())
|
|
138
|
+
requestId BigInt @map("request_id")
|
|
139
|
+
principalType String @map("principal_type") @db.VarChar(64)
|
|
140
|
+
principalRef String @map("principal_ref") @db.VarChar(128)
|
|
141
|
+
displayName String @map("display_name") @db.VarChar(256)
|
|
142
|
+
sourceRefs Json @map("source_refs")
|
|
143
|
+
eligibilityRevision Int @default(1) @map("eligibility_revision")
|
|
144
|
+
activeFrom DateTime @default(now()) @map("active_from")
|
|
145
|
+
invalidatedAt DateTime? @map("invalidated_at")
|
|
146
|
+
invalidationReason String? @map("invalidation_reason") @db.VarChar(256)
|
|
147
|
+
|
|
148
|
+
request ApprovalRequest @relation(fields: [requestId], references: [id], onDelete: Restrict)
|
|
149
|
+
decisions ApprovalDecision[]
|
|
150
|
+
|
|
151
|
+
@@unique([requestId, principalType, principalRef, eligibilityRevision], map: "uk_ac_request_principal_revision")
|
|
152
|
+
@@index([requestId, invalidatedAt], map: "idx_ac_request_invalidated_at")
|
|
153
|
+
@@map("t_approval_candidate")
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/// @IgnoreNestCode
|
|
157
|
+
/// @IgnoreReactCode
|
|
158
|
+
/// @IgnoreAutoField
|
|
159
|
+
model ApprovalDecision {
|
|
160
|
+
id BigInt @id @default(autoincrement())
|
|
161
|
+
requestId BigInt @map("request_id")
|
|
162
|
+
candidateId BigInt @map("candidate_id")
|
|
163
|
+
decision ApprovalDecisionType
|
|
164
|
+
comment String? @db.Text
|
|
165
|
+
payload Json?
|
|
166
|
+
creator String @default("") @db.VarChar(128)
|
|
167
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
168
|
+
|
|
169
|
+
request ApprovalRequest @relation(fields: [requestId], references: [id], onDelete: Restrict)
|
|
170
|
+
candidate ApprovalCandidate @relation(fields: [candidateId], references: [id], onDelete: Restrict)
|
|
171
|
+
|
|
172
|
+
@@unique([requestId, candidateId], map: "uk_ad_request_candidate")
|
|
173
|
+
@@index([candidateId], map: "idx_ad_candidate_id")
|
|
174
|
+
@@map("t_approval_decision")
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/// @IgnoreNestCode
|
|
178
|
+
/// @IgnoreReactCode
|
|
179
|
+
/// @IgnoreAutoField
|
|
180
|
+
model ApprovalSignalOutbox {
|
|
181
|
+
id BigInt @id @default(autoincrement())
|
|
182
|
+
requestId BigInt @map("request_id")
|
|
183
|
+
idempotencyKey String @unique @map("idempotency_key") @db.VarChar(128)
|
|
184
|
+
payload Json
|
|
185
|
+
status SubjectOutboxStatus @default(PENDING)
|
|
186
|
+
retryCount Int @default(0) @map("retry_count")
|
|
187
|
+
nextAttemptAt DateTime @default(now()) @map("next_attempt_at")
|
|
188
|
+
lockedAt DateTime? @map("locked_at")
|
|
189
|
+
lockedBy String? @map("locked_by") @db.VarChar(128)
|
|
190
|
+
processedAt DateTime? @map("processed_at")
|
|
191
|
+
lastError String? @map("last_error") @db.Text
|
|
192
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
193
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
194
|
+
|
|
195
|
+
request ApprovalRequest @relation(fields: [requestId], references: [id], onDelete: Restrict)
|
|
196
|
+
|
|
197
|
+
@@index([status, nextAttemptAt], map: "idx_aso_status_next_attempt_at")
|
|
198
|
+
@@map("t_approval_signal_outbox")
|
|
199
|
+
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
/// @IgnoreAutoField
|
|
1
2
|
model Game {
|
|
3
|
+
id BigInt @id @default(autoincrement())
|
|
2
4
|
unified_editionid String @map("unified_editionid") @db.VarChar(128)
|
|
3
5
|
name String @map("name") @db.VarChar(64)
|
|
6
|
+
creator String? @map("creator") @db.VarChar(128)
|
|
7
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
8
|
+
updatedAt DateTime @updatedAt @default(now()) @map("updated_at")
|
|
4
9
|
|
|
5
10
|
@@unique([unified_editionid])
|
|
6
11
|
@@map("t_admin_game")
|
|
@@ -25,6 +30,10 @@ model User {
|
|
|
25
30
|
createdAt DateTime @default(now()) @map("created_at")
|
|
26
31
|
updatedAt DateTime @updatedAt @map("updated_at")
|
|
27
32
|
|
|
33
|
+
/// @DtoReadOnly
|
|
34
|
+
/// @DtoEntityHidden
|
|
35
|
+
groupMemberships UserGroupUser[]
|
|
36
|
+
|
|
28
37
|
@@unique([userid])
|
|
29
38
|
@@unique([apiKey])
|
|
30
39
|
@@map("t_admin_user_role")
|
|
@@ -23,6 +23,42 @@ enum WorkflowNodeCategory {
|
|
|
23
23
|
SUB_WORKFLOW
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
enum WorkflowNodeInstancePolicy {
|
|
27
|
+
REQUIRED
|
|
28
|
+
OPTIONAL
|
|
29
|
+
INLINE_ONLY
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
enum IntegrationConnectionType {
|
|
33
|
+
HTTP
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
enum IntegrationAuthType {
|
|
37
|
+
NONE
|
|
38
|
+
BASIC
|
|
39
|
+
BEARER
|
|
40
|
+
API_KEY
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
enum ExternalInteractionStatus {
|
|
44
|
+
PENDING
|
|
45
|
+
RESOLVED
|
|
46
|
+
CANCELLED
|
|
47
|
+
EXPIRED
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
enum ExternalInteractionEventStatus {
|
|
51
|
+
ACCEPTED
|
|
52
|
+
REJECTED
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
enum ExternalInteractionOutboxStatus {
|
|
56
|
+
PENDING
|
|
57
|
+
PROCESSING
|
|
58
|
+
PROCESSED
|
|
59
|
+
FAILED
|
|
60
|
+
}
|
|
61
|
+
|
|
26
62
|
/// @IgnoreNestCode
|
|
27
63
|
/// @IgnoreReactCode
|
|
28
64
|
/// @IgnoreAutoField
|
|
@@ -40,6 +76,7 @@ model Workflow {
|
|
|
40
76
|
|
|
41
77
|
versions WorkflowVersion[]
|
|
42
78
|
instances WorkflowInstance[]
|
|
79
|
+
approvalChannelsAsDispatch ApprovalChannel[] @relation("ApprovalChannelDispatch")
|
|
43
80
|
|
|
44
81
|
@@map("t_workflow")
|
|
45
82
|
}
|
|
@@ -57,7 +94,8 @@ model WorkflowVersion {
|
|
|
57
94
|
creator String @default("") @db.VarChar(128) @map("creator")
|
|
58
95
|
createdAt DateTime @default(now()) @map("created_at")
|
|
59
96
|
|
|
60
|
-
workflow
|
|
97
|
+
workflow Workflow @relation(fields: [workflowId], references: [id], onDelete: Cascade)
|
|
98
|
+
externalInteractions ExternalInteraction[]
|
|
61
99
|
|
|
62
100
|
@@unique([workflowId, version], map: "uk_workflow_version")
|
|
63
101
|
@@index([workflowId], map: "idx_wv_workflow_id")
|
|
@@ -83,8 +121,9 @@ model WorkflowInstance {
|
|
|
83
121
|
createdAt DateTime @default(now()) @map("created_at")
|
|
84
122
|
updatedAt DateTime @updatedAt @map("updated_at")
|
|
85
123
|
|
|
86
|
-
workflow
|
|
87
|
-
nodeExecutions
|
|
124
|
+
workflow Workflow @relation(fields: [workflowId], references: [id], onDelete: Cascade)
|
|
125
|
+
nodeExecutions WorkflowNodeExecution[]
|
|
126
|
+
externalInteractions ExternalInteraction[]
|
|
88
127
|
|
|
89
128
|
@@unique([workflowId, sourceOutboxId], map: "uk_wi_workflow_outbox") // 一个 outbox 事件对一个 workflow 至多一条 instance(NULL 不参与唯一性,正常 execute / cron / webhook 不受影响)
|
|
90
129
|
@@index([workflowId], map: "idx_wi_workflow_id")
|
|
@@ -92,6 +131,87 @@ model WorkflowInstance {
|
|
|
92
131
|
@@map("t_workflow_instance")
|
|
93
132
|
}
|
|
94
133
|
|
|
134
|
+
/// A durable session connecting an external callback to one waiting Workflow node.
|
|
135
|
+
/// @IgnoreNestCode
|
|
136
|
+
/// @IgnoreReactCode
|
|
137
|
+
/// @IgnoreAutoField
|
|
138
|
+
model ExternalInteraction {
|
|
139
|
+
id BigInt @id @default(autoincrement())
|
|
140
|
+
tokenHash String @unique @map("token_hash") @db.Char(64)
|
|
141
|
+
tenantNamespace String @map("tenant_namespace") @db.VarChar(64)
|
|
142
|
+
handlerType String @map("handler_type") @db.VarChar(64)
|
|
143
|
+
handlerConfig Json @map("handler_config")
|
|
144
|
+
workflowInstanceId BigInt @map("workflow_instance_id")
|
|
145
|
+
workflowVersionId BigInt @map("workflow_version_id")
|
|
146
|
+
temporalRunId String @map("temporal_run_id") @db.VarChar(128)
|
|
147
|
+
nodeId String @map("node_id") @db.VarChar(64)
|
|
148
|
+
status ExternalInteractionStatus @default(PENDING)
|
|
149
|
+
expiresAt DateTime? @map("expires_at")
|
|
150
|
+
resolution Json?
|
|
151
|
+
resolvedAt DateTime? @map("resolved_at")
|
|
152
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
153
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
154
|
+
|
|
155
|
+
workflowInstance WorkflowInstance @relation(fields: [workflowInstanceId], references: [id], onDelete: Restrict)
|
|
156
|
+
workflowVersion WorkflowVersion @relation(fields: [workflowVersionId], references: [id], onDelete: Restrict)
|
|
157
|
+
events ExternalInteractionEvent[]
|
|
158
|
+
signalOutboxes ExternalInteractionSignalOutbox[]
|
|
159
|
+
|
|
160
|
+
@@unique([workflowInstanceId, nodeId], map: "uk_ei_workflow_instance_node")
|
|
161
|
+
@@index([status, expiresAt], map: "idx_ei_status_expires_at")
|
|
162
|
+
@@map("t_external_interaction")
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/// An idempotent callback event submitted to an external interaction.
|
|
166
|
+
/// @IgnoreNestCode
|
|
167
|
+
/// @IgnoreReactCode
|
|
168
|
+
/// @IgnoreAutoField
|
|
169
|
+
model ExternalInteractionEvent {
|
|
170
|
+
id BigInt @id @default(autoincrement())
|
|
171
|
+
interactionId BigInt @map("interaction_id")
|
|
172
|
+
eventId String @map("event_id") @db.VarChar(128)
|
|
173
|
+
outcome String @db.VarChar(128)
|
|
174
|
+
operatorId String? @map("operator_id") @db.VarChar(128)
|
|
175
|
+
data Json?
|
|
176
|
+
processingStatus ExternalInteractionEventStatus @map("processing_status")
|
|
177
|
+
response Json
|
|
178
|
+
errorCode String? @map("error_code") @db.VarChar(128)
|
|
179
|
+
errorMessage String? @map("error_message") @db.Text
|
|
180
|
+
receivedAt DateTime @default(now()) @map("received_at")
|
|
181
|
+
|
|
182
|
+
interaction ExternalInteraction @relation(fields: [interactionId], references: [id], onDelete: Restrict)
|
|
183
|
+
|
|
184
|
+
@@unique([interactionId, eventId], map: "uk_eie_interaction_event")
|
|
185
|
+
@@index([interactionId, receivedAt], map: "idx_eie_interaction_received")
|
|
186
|
+
@@map("t_external_interaction_event")
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/// Durable Temporal signal delivery for a resolved external interaction.
|
|
190
|
+
/// @IgnoreNestCode
|
|
191
|
+
/// @IgnoreReactCode
|
|
192
|
+
/// @IgnoreAutoField
|
|
193
|
+
model ExternalInteractionSignalOutbox {
|
|
194
|
+
id BigInt @id @default(autoincrement())
|
|
195
|
+
interactionId BigInt @map("interaction_id")
|
|
196
|
+
idempotencyKey String @unique @map("idempotency_key") @db.VarChar(128)
|
|
197
|
+
signalName String @map("signal_name") @db.VarChar(128)
|
|
198
|
+
payload Json
|
|
199
|
+
status ExternalInteractionOutboxStatus @default(PENDING)
|
|
200
|
+
retryCount Int @default(0) @map("retry_count")
|
|
201
|
+
nextAttemptAt DateTime @default(now()) @map("next_attempt_at")
|
|
202
|
+
lockedAt DateTime? @map("locked_at")
|
|
203
|
+
lockedBy String? @map("locked_by") @db.VarChar(128)
|
|
204
|
+
processedAt DateTime? @map("processed_at")
|
|
205
|
+
lastError String? @map("last_error") @db.Text
|
|
206
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
207
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
208
|
+
|
|
209
|
+
interaction ExternalInteraction @relation(fields: [interactionId], references: [id], onDelete: Restrict)
|
|
210
|
+
|
|
211
|
+
@@index([status, nextAttemptAt], map: "idx_eiso_status_next_attempt_at")
|
|
212
|
+
@@map("t_external_interaction_signal_outbox")
|
|
213
|
+
}
|
|
214
|
+
|
|
95
215
|
// 跟踪 workflow 执行过程中每个节点的执行状态
|
|
96
216
|
/// @IgnoreNestCode
|
|
97
217
|
/// @IgnoreReactCode
|
|
@@ -121,15 +241,19 @@ model WorkflowNodeExecution {
|
|
|
121
241
|
/// @IgnoreReactCode
|
|
122
242
|
/// @IgnoreAutoField
|
|
123
243
|
model WorkflowNodeType {
|
|
124
|
-
id
|
|
125
|
-
type
|
|
126
|
-
category
|
|
127
|
-
label
|
|
128
|
-
icon
|
|
129
|
-
description
|
|
130
|
-
configSchema
|
|
131
|
-
inputSchema
|
|
132
|
-
outputSchema
|
|
244
|
+
id BigInt @id @default(autoincrement())
|
|
245
|
+
type String @unique @db.VarChar(64)
|
|
246
|
+
category WorkflowNodeCategory
|
|
247
|
+
label String @db.VarChar(128)
|
|
248
|
+
icon String @db.VarChar(64)
|
|
249
|
+
description String? @db.VarChar(512)
|
|
250
|
+
configSchema Json @map("config_schema")
|
|
251
|
+
inputSchema Json @map("input_schema")
|
|
252
|
+
outputSchema Json @map("output_schema")
|
|
253
|
+
runtimeKey String @default("") @db.VarChar(64) @map("runtime_key")
|
|
254
|
+
uiSchema Json @default("{}") @map("ui_schema")
|
|
255
|
+
schemaVersion Int @default(1) @map("schema_version")
|
|
256
|
+
instancePolicy WorkflowNodeInstancePolicy @default(INLINE_ONLY) @map("instance_policy")
|
|
133
257
|
// 节点出口句柄列表(前端 ReactFlow Handle id):
|
|
134
258
|
// null = 动态(如 switch,从 config.cases 推出)
|
|
135
259
|
// [] = 单出口无具名 handle(如 ACTION 类)
|
|
@@ -146,20 +270,66 @@ model WorkflowNodeType {
|
|
|
146
270
|
}
|
|
147
271
|
|
|
148
272
|
/// @IgnoreReactCode
|
|
273
|
+
/// @IgnoreAutoField
|
|
149
274
|
model WorkflowNodeInstance {
|
|
275
|
+
id BigInt @id @default(autoincrement())
|
|
150
276
|
code String @unique @default(nanoid()) @db.VarChar(21) @map("code")
|
|
151
277
|
nodeTypeId BigInt @map("node_type_id") // 关联的 NodeType ID
|
|
152
278
|
name String @db.VarChar(128) // 实例名称
|
|
153
279
|
description String? @db.VarChar(512) // 描述
|
|
154
|
-
config Json
|
|
280
|
+
config Json // 当前可编辑模板配置;不可变快照由 WorkflowVersion.dsl 保存
|
|
155
281
|
isEnabled Boolean @default(true) @map("is_enabled") // 是否启用
|
|
282
|
+
creator String? @map("creator") @db.VarChar(128)
|
|
283
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
284
|
+
updatedAt DateTime @updatedAt @default(now()) @map("updated_at")
|
|
156
285
|
|
|
157
|
-
nodeType
|
|
286
|
+
nodeType WorkflowNodeType @relation(fields: [nodeTypeId], references: [id])
|
|
158
287
|
|
|
159
288
|
@@index([nodeTypeId], map: "idx_wni_node_type_id")
|
|
160
289
|
@@map("t_workflow_node_instance")
|
|
161
290
|
}
|
|
162
291
|
|
|
292
|
+
/// Reusable runtime connection. Sensitive values are AES-GCM encrypted and are
|
|
293
|
+
/// never copied into Node Templates or WorkflowVersion DSL snapshots.
|
|
294
|
+
/// @IgnoreNestCode
|
|
295
|
+
/// @IgnoreReactCode
|
|
296
|
+
model IntegrationConnection {
|
|
297
|
+
code String @unique @default(nanoid()) @db.VarChar(64)
|
|
298
|
+
name String @db.VarChar(128)
|
|
299
|
+
description String? @db.VarChar(512)
|
|
300
|
+
type IntegrationConnectionType @default(HTTP)
|
|
301
|
+
baseUrl String @db.VarChar(1024) @map("base_url")
|
|
302
|
+
authType IntegrationAuthType @default(NONE) @map("auth_type")
|
|
303
|
+
publicConfig Json @map("public_config")
|
|
304
|
+
encryptedSecrets String? @db.Text @map("encrypted_secrets")
|
|
305
|
+
isEnabled Boolean @default(true) @map("is_enabled")
|
|
306
|
+
revision Int @default(1)
|
|
307
|
+
|
|
308
|
+
@@map("t_integration_connection")
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/// Reusable dispatch bridge between Human Approval and provider-specific workflows.
|
|
312
|
+
/// @IgnoreNestCode
|
|
313
|
+
/// @IgnoreReactCode
|
|
314
|
+
/// @IgnoreAutoField
|
|
315
|
+
model ApprovalChannel {
|
|
316
|
+
id BigInt @id @default(autoincrement())
|
|
317
|
+
code String @unique @db.VarChar(64)
|
|
318
|
+
name String @db.VarChar(128)
|
|
319
|
+
description String? @db.VarChar(512)
|
|
320
|
+
dispatchWorkflowId BigInt @map("dispatch_workflow_id")
|
|
321
|
+
isEnabled Boolean @default(true) @map("is_enabled")
|
|
322
|
+
revision Int @default(1)
|
|
323
|
+
creator String @default("") @db.VarChar(128)
|
|
324
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
325
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
326
|
+
|
|
327
|
+
dispatchWorkflow Workflow @relation("ApprovalChannelDispatch", fields: [dispatchWorkflowId], references: [id], onDelete: Restrict)
|
|
328
|
+
|
|
329
|
+
@@index([dispatchWorkflowId], map: "idx_ac_dispatch_workflow_id")
|
|
330
|
+
@@map("t_approval_channel")
|
|
331
|
+
}
|
|
332
|
+
|
|
163
333
|
// Outbox Pattern:业务表触发器将事件写入此表,outbox-poller 定时扫描并触发 workflow
|
|
164
334
|
/// @IgnoreAutoField
|
|
165
335
|
model WorkflowEventOutbox {
|
|
@@ -179,12 +349,19 @@ model WorkflowEventOutbox {
|
|
|
179
349
|
}
|
|
180
350
|
|
|
181
351
|
/// @IgnoreReactCode
|
|
352
|
+
/// @IgnoreAutoField
|
|
182
353
|
model TemporalTenantConfig {
|
|
354
|
+
id BigInt @id @default(autoincrement())
|
|
183
355
|
adminUrl String @db.VarChar(256) @map("admin_url") // shared temporal admin API URL,e.g. http://localhost:8081
|
|
184
356
|
adminToken String @db.VarChar(128) @map("admin_token") // X-Admin-Token
|
|
185
357
|
namespace String @db.VarChar(64) @map("namespace") // 租户 namespace,需与 TEMPORAL_NAMESPACE 一致
|
|
186
358
|
dbUrl String @db.Text @map("db_url") // shared worker 视角的本项目 DB URL
|
|
187
359
|
displayName String @db.VarChar(128) @map("display_name") // 租户展示名
|
|
360
|
+
runtimeBaseUrl String? @db.VarChar(512) @map("runtime_base_url") // shared worker 回调本项目 Runtime API 的地址
|
|
361
|
+
runtimeToken String? @db.VarChar(256) @map("runtime_token") // X-Workflow-Runtime-Token
|
|
362
|
+
creator String? @map("creator") @db.VarChar(128)
|
|
363
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
364
|
+
updatedAt DateTime @updatedAt @default(now()) @map("updated_at")
|
|
188
365
|
|
|
189
366
|
@@map("t_temporal_tenant_config")
|
|
190
367
|
}
|
|
@@ -49,12 +49,13 @@ coverage
|
|
|
49
49
|
nginx-external-page/
|
|
50
50
|
settings.local.json
|
|
51
51
|
|
|
52
|
-
.agent
|
|
53
|
-
.claude-internal
|
|
54
|
-
.claude
|
|
55
|
-
.codebuddy
|
|
52
|
+
.agent
|
|
53
|
+
.claude-internal
|
|
54
|
+
.claude
|
|
55
|
+
.codebuddy
|
|
56
56
|
docs/
|
|
57
57
|
.frontend-slides/
|
|
58
58
|
.agent
|
|
59
59
|
agent-eval/runs/
|
|
60
|
-
agent-eval/baseline/
|
|
60
|
+
agent-eval/baseline/
|
|
61
|
+
tmp/
|
|
@@ -135,8 +135,16 @@ resolve 命令(在 `server/` 下执行,注意用本地 `dotenv-cli` 以避
|
|
|
135
135
|
|
|
136
136
|
```bash
|
|
137
137
|
$ cd server
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
# 首次生成
|
|
139
|
+
mkdir -p prisma/migrations/0_init
|
|
140
|
+
npx prisma migrate diff \
|
|
141
|
+
--from-empty \
|
|
142
|
+
--to-schema-datamodel prisma/schema.prisma \
|
|
143
|
+
--script > prisma/migrations/0_init/migration.sql
|
|
144
|
+
|
|
145
|
+
npx dotenv -e .env.local -e .env -- bash -c 'psql "${DATABASE_URL%%\?*}" -c "DELETE FROM _prisma_migrations WHERE migration_name='\''0_init'\'';"'
|
|
146
|
+
./node_modules/.bin/dotenv -e .env.local -e .env -- npx prisma migrate resolve --applied 0_init
|
|
147
|
+
./node_modules/.bin/dotenv -e .env.local -e .env -- npx prisma migrate status # 验证:应显示 up to date、无 pending
|
|
140
148
|
```
|
|
141
149
|
|
|
142
150
|
### 迁移冲突约定
|
|
@@ -197,7 +205,6 @@ docker compose up -d --build
|
|
|
197
205
|
| `config/ui/**` | ✅ | | |
|
|
198
206
|
| `config/prisma/**` | ✅ | ✅ | |
|
|
199
207
|
| `server/**` | | ✅ | |
|
|
200
|
-
| `temporal/worker/**` | | | ✅ |
|
|
201
208
|
|
|
202
209
|
纯文档变更(`docs/`、`*.md`、`.gitignore`、`Jenkinsfile` 自身、`.claude/`、`sync-to-template.*`)跳过所有构建。
|
|
203
210
|
|
package/dist/lib/application/files/gadmin2-game-angle-demo/server/migrate-between-pg-schemas.js
CHANGED
|
@@ -47,8 +47,9 @@ if (process.env.DATABASE_URL) {
|
|
|
47
47
|
sourcePgConfig = {
|
|
48
48
|
host: url.hostname,
|
|
49
49
|
port: Number(url.port),
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
// WHATWG URL 的 username/password getter 返回 percent-encoded 形式,需 decode 还原字面量,否则含 ^ 等特殊字符的密码会认证失败
|
|
51
|
+
user: decodeURIComponent(url.username),
|
|
52
|
+
password: decodeURIComponent(url.password),
|
|
52
53
|
database: url.pathname.slice(1),
|
|
53
54
|
};
|
|
54
55
|
if (!process.env.PG_SCHEMA) {
|
|
@@ -84,8 +85,9 @@ if (hasTargetDatabaseConfig) {
|
|
|
84
85
|
targetPgConfig = {
|
|
85
86
|
host: url.hostname,
|
|
86
87
|
port: Number(url.port),
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
// WHATWG URL 的 username/password getter 返回 percent-encoded 形式,需 decode 还原字面量,否则含 ^ 等特殊字符的密码会认证失败
|
|
89
|
+
user: decodeURIComponent(url.username),
|
|
90
|
+
password: decodeURIComponent(url.password),
|
|
89
91
|
database: url.pathname.slice(1),
|
|
90
92
|
};
|
|
91
93
|
if (!process.env.PG_SCHEMA_TARGET) {
|