@webiny/api-workflows 6.6.0-alpha.0 → 6.6.0-alpha.1

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.
Files changed (48) hide show
  1. package/WorkflowsFeature.js +55 -2
  2. package/WorkflowsFeature.js.map +1 -1
  3. package/domain/workflow/abstractions.d.ts +13 -3
  4. package/domain/workflow/abstractions.js +2 -2
  5. package/domain/workflow/abstractions.js.map +1 -1
  6. package/domain/workflowState/abstractions.d.ts +13 -3
  7. package/domain/workflowState/abstractions.js +2 -2
  8. package/domain/workflowState/abstractions.js.map +1 -1
  9. package/features/WorkflowModelProviders.d.ts +34 -0
  10. package/features/WorkflowModelProviders.js +40 -0
  11. package/features/WorkflowModelProviders.js.map +1 -0
  12. package/features/workflow/CreateWorkflow/CreateWorkflowRepository.d.ts +3 -3
  13. package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js +6 -5
  14. package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js.map +1 -1
  15. package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.d.ts +3 -3
  16. package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js +6 -5
  17. package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js.map +1 -1
  18. package/features/workflow/GetWorkflow/GetWorkflowRepository.d.ts +3 -3
  19. package/features/workflow/GetWorkflow/GetWorkflowRepository.js +6 -5
  20. package/features/workflow/GetWorkflow/GetWorkflowRepository.js.map +1 -1
  21. package/features/workflow/ListWorkflows/ListWorkflowsRepository.d.ts +3 -3
  22. package/features/workflow/ListWorkflows/ListWorkflowsRepository.js +7 -6
  23. package/features/workflow/ListWorkflows/ListWorkflowsRepository.js.map +1 -1
  24. package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.d.ts +3 -3
  25. package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js +6 -5
  26. package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js.map +1 -1
  27. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.d.ts +3 -3
  28. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js +6 -5
  29. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js.map +1 -1
  30. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.d.ts +3 -3
  31. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js +6 -5
  32. package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js.map +1 -1
  33. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.d.ts +3 -3
  34. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js +6 -5
  35. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js.map +1 -1
  36. package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.d.ts +3 -3
  37. package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js +6 -5
  38. package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js.map +1 -1
  39. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.d.ts +3 -3
  40. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js +7 -6
  41. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js.map +1 -1
  42. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.d.ts +3 -3
  43. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js +7 -6
  44. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js.map +1 -1
  45. package/package.json +13 -16
  46. package/WorkflowsInitializer.d.ts +0 -19
  47. package/WorkflowsInitializer.js +0 -97
  48. package/WorkflowsInitializer.js.map +0 -1
@@ -1,97 +0,0 @@
1
- import { RequestContainer, RequestContextInitializer } from "@webiny/event-handler-core";
2
- import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
3
- import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
4
- import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
5
- import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
6
- import { WORKFLOW_MODEL_ID } from "./domain/workflow/workflowModel.js";
7
- import { WORKFLOW_STATE_MODEL_ID } from "./domain/workflowState/stateModel.js";
8
- import { WorkflowModel } from "./domain/workflow/abstractions.js";
9
- import { WorkflowStateModel } from "./domain/workflowState/abstractions.js";
10
- import { WorkflowMapper } from "./domain/workflow/WorkflowMapper.js";
11
- import { WorkflowStateMapper } from "./domain/workflowState/WorkflowStateMapper.js";
12
- import { GetWorkflowFeature } from "./features/workflow/GetWorkflow/feature.js";
13
- import { ListWorkflowsFeature } from "./features/workflow/ListWorkflows/feature.js";
14
- import { CreateWorkflowFeature } from "./features/workflow/CreateWorkflow/feature.js";
15
- import { DeleteWorkflowFeature } from "./features/workflow/DeleteWorkflow/feature.js";
16
- import { UpdateWorkflowFeature } from "./features/workflow/UpdateWorkflow/feature.js";
17
- import { StoreWorkflowFeature } from "./features/workflow/StoreWorkflow/feature.js";
18
- import { GetWorkflowStateFeature } from "./features/workflowState/GetWorkflowState/feature.js";
19
- import { GetTargetWorkflowStateFeature } from "./features/workflowState/GetTargetWorkflowState/feature.js";
20
- import { ListOwnWorkflowStatesFeature } from "./features/workflowState/ListOwnWorkflowStates/feature.js";
21
- import { ListWorkflowStatesFeature } from "./features/workflowState/ListWorkflowStates/feature.js";
22
- import { ListRequestedWorkflowStatesFeature } from "./features/workflowState/ListRequestedWorkflowStates/feature.js";
23
- import { CreateWorkflowStateFeature } from "./features/workflowState/CreateWorkflowState/feature.js";
24
- import { UpdateWorkflowStateFeature } from "./features/workflowState/UpdateWorkflowState/feature.js";
25
- import { CancelWorkflowStateFeature } from "./features/workflowState/CancelWorkflowState/feature.js";
26
- import { DeleteWorkflowStateFeature } from "./features/workflowState/DeleteWorkflowState/feature.js";
27
- import { DeleteTargetWorkflowStateFeature } from "./features/workflowState/DeleteTargetWorkflowState/feature.js";
28
- import { StartWorkflowStateStepFeature } from "./features/workflowState/StartWorkflowStateStep/feature.js";
29
- import { ApproveWorkflowStateStepFeature } from "./features/workflowState/ApproveWorkflowStateStep/feature.js";
30
- import { RejectWorkflowStateStepFeature } from "./features/workflowState/RejectWorkflowStateStep/feature.js";
31
- import { TakeOverWorkflowStateStepFeature } from "./features/workflowState/TakeOverWorkflowStateStep/feature.js";
32
- import { GetUserTeamsFeature } from "./features/internal/GetUserTeams/feature.js";
33
- import { ListNotificationTypesFeature } from "./features/notifications/ListNotificationTypes/index.js";
34
- import { NotificationTransportFeature } from "./features/notifications/NotificationTransport/index.js";
35
- class WorkflowsInitializerImpl {
36
- constructor(container, tenantCtx, identityCtx, wcp){
37
- this.container = container;
38
- this.tenantCtx = tenantCtx;
39
- this.identityCtx = identityCtx;
40
- this.wcp = wcp;
41
- this.initialized = false;
42
- }
43
- async init(_ctx) {
44
- if (!this.initialized) {
45
- this.initialized = true;
46
- if (this.tenantCtx.getTenant() && this.wcp.canUseWorkflows()) await this.registerWorkflowFeatures();
47
- }
48
- }
49
- async registerWorkflowFeatures() {
50
- const getModel = this.container.resolve(GetModelUseCase);
51
- await this.identityCtx.withoutAuthorization(async ()=>{
52
- const [workflowModel, workflowStateModel] = await Promise.all([
53
- getModel.execute(WORKFLOW_MODEL_ID),
54
- getModel.execute(WORKFLOW_STATE_MODEL_ID)
55
- ]);
56
- this.container.registerInstance(WorkflowModel, workflowModel.value);
57
- this.container.registerInstance(WorkflowStateModel, workflowStateModel.value);
58
- });
59
- this.container.register(WorkflowMapper);
60
- this.container.register(WorkflowStateMapper);
61
- ListNotificationTypesFeature.register(this.container);
62
- NotificationTransportFeature.register(this.container);
63
- GetWorkflowFeature.register(this.container);
64
- ListWorkflowsFeature.register(this.container);
65
- CreateWorkflowFeature.register(this.container);
66
- DeleteWorkflowFeature.register(this.container);
67
- UpdateWorkflowFeature.register(this.container);
68
- StoreWorkflowFeature.register(this.container);
69
- GetUserTeamsFeature.register(this.container);
70
- GetWorkflowStateFeature.register(this.container);
71
- GetTargetWorkflowStateFeature.register(this.container);
72
- ListOwnWorkflowStatesFeature.register(this.container);
73
- ListWorkflowStatesFeature.register(this.container);
74
- ListRequestedWorkflowStatesFeature.register(this.container);
75
- CreateWorkflowStateFeature.register(this.container);
76
- UpdateWorkflowStateFeature.register(this.container);
77
- CancelWorkflowStateFeature.register(this.container);
78
- DeleteWorkflowStateFeature.register(this.container);
79
- DeleteTargetWorkflowStateFeature.register(this.container);
80
- StartWorkflowStateStepFeature.register(this.container);
81
- ApproveWorkflowStateStepFeature.register(this.container);
82
- RejectWorkflowStateStepFeature.register(this.container);
83
- TakeOverWorkflowStateStepFeature.register(this.container);
84
- }
85
- }
86
- const WorkflowsInitializer = RequestContextInitializer.createImplementation({
87
- implementation: WorkflowsInitializerImpl,
88
- dependencies: [
89
- RequestContainer,
90
- TenantContext,
91
- IdentityContext,
92
- WcpContext
93
- ]
94
- });
95
- export { WorkflowsInitializer };
96
-
97
- //# sourceMappingURL=WorkflowsInitializer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkflowsInitializer.js","sources":["../src/WorkflowsInitializer.ts"],"sourcesContent":["import type { Container } from \"@webiny/di\";\nimport { RequestContextInitializer } from \"@webiny/event-handler-core\";\nimport type { IRequestContextInitializer } from \"@webiny/event-handler-core\";\nimport { RequestContainer } from \"@webiny/event-handler-core\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/index.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { WORKFLOW_MODEL_ID } from \"./domain/workflow/workflowModel.js\";\nimport { WORKFLOW_STATE_MODEL_ID } from \"./domain/workflowState/stateModel.js\";\nimport { WorkflowModel } from \"./domain/workflow/abstractions.js\";\nimport { WorkflowStateModel } from \"./domain/workflowState/abstractions.js\";\nimport { WorkflowMapper } from \"~/domain/workflow/WorkflowMapper.js\";\nimport { WorkflowStateMapper } from \"~/domain/workflowState/WorkflowStateMapper.js\";\nimport { GetWorkflowFeature } from \"~/features/workflow/GetWorkflow/feature.js\";\nimport { ListWorkflowsFeature } from \"~/features/workflow/ListWorkflows/feature.js\";\nimport { CreateWorkflowFeature } from \"~/features/workflow/CreateWorkflow/feature.js\";\nimport { DeleteWorkflowFeature } from \"~/features/workflow/DeleteWorkflow/feature.js\";\nimport { UpdateWorkflowFeature } from \"~/features/workflow/UpdateWorkflow/feature.js\";\nimport { StoreWorkflowFeature } from \"~/features/workflow/StoreWorkflow/feature.js\";\nimport { GetWorkflowStateFeature } from \"~/features/workflowState/GetWorkflowState/feature.js\";\nimport { GetTargetWorkflowStateFeature } from \"~/features/workflowState/GetTargetWorkflowState/feature.js\";\nimport { ListOwnWorkflowStatesFeature } from \"~/features/workflowState/ListOwnWorkflowStates/feature.js\";\nimport { ListWorkflowStatesFeature } from \"~/features/workflowState/ListWorkflowStates/feature.js\";\nimport { ListRequestedWorkflowStatesFeature } from \"~/features/workflowState/ListRequestedWorkflowStates/feature.js\";\nimport { CreateWorkflowStateFeature } from \"~/features/workflowState/CreateWorkflowState/feature.js\";\nimport { UpdateWorkflowStateFeature } from \"~/features/workflowState/UpdateWorkflowState/feature.js\";\nimport { CancelWorkflowStateFeature } from \"~/features/workflowState/CancelWorkflowState/feature.js\";\nimport { DeleteWorkflowStateFeature } from \"~/features/workflowState/DeleteWorkflowState/feature.js\";\nimport { DeleteTargetWorkflowStateFeature } from \"~/features/workflowState/DeleteTargetWorkflowState/feature.js\";\nimport { StartWorkflowStateStepFeature } from \"~/features/workflowState/StartWorkflowStateStep/feature.js\";\nimport { ApproveWorkflowStateStepFeature } from \"~/features/workflowState/ApproveWorkflowStateStep/feature.js\";\nimport { RejectWorkflowStateStepFeature } from \"~/features/workflowState/RejectWorkflowStateStep/feature.js\";\nimport { TakeOverWorkflowStateStepFeature } from \"~/features/workflowState/TakeOverWorkflowStateStep/feature.js\";\nimport { GetUserTeamsFeature } from \"~/features/internal/GetUserTeams/feature.js\";\nimport { ListNotificationTypesFeature } from \"~/features/notifications/ListNotificationTypes/index.js\";\nimport { NotificationTransportFeature } from \"./features/notifications/NotificationTransport/index.js\";\n\n// A request initializer — it contributes no schema content (the static schema is registered via\n// WorkflowsSchemaFactory). It runs after context enhancers and before resolvers, making it the\n// right hook for the async CMS model fetch and lazy feature registrations resolvers depend on.\nclass WorkflowsInitializerImpl implements IRequestContextInitializer {\n private initialized = false;\n\n constructor(\n private container: Container,\n private tenantCtx: TenantContext.Interface,\n private identityCtx: IdentityContext.Interface,\n private wcp: WcpContext.Interface\n ) {}\n\n async init(_ctx: Record<string, any>): Promise<void> {\n if (!this.initialized) {\n this.initialized = true;\n\n if (this.tenantCtx.getTenant() && this.wcp.canUseWorkflows()) {\n await this.registerWorkflowFeatures();\n }\n }\n }\n\n private async registerWorkflowFeatures(): Promise<void> {\n // Fetch and register CMS models — resolved lazily here because CmsContext is only\n // registered after HeadlessCmsInitializerImpl.enhance() runs (before this runs).\n const getModel = this.container.resolve(GetModelUseCase);\n await this.identityCtx.withoutAuthorization(async () => {\n const [workflowModel, workflowStateModel] = await Promise.all([\n getModel.execute(WORKFLOW_MODEL_ID),\n getModel.execute(WORKFLOW_STATE_MODEL_ID)\n ]);\n\n this.container.registerInstance(WorkflowModel, workflowModel.value);\n this.container.registerInstance(WorkflowStateModel, workflowStateModel.value);\n });\n\n // Register mappers\n this.container.register(WorkflowMapper);\n this.container.register(WorkflowStateMapper);\n\n // Register notification features\n ListNotificationTypesFeature.register(this.container);\n NotificationTransportFeature.register(this.container);\n\n // Register workflow features\n GetWorkflowFeature.register(this.container);\n ListWorkflowsFeature.register(this.container);\n CreateWorkflowFeature.register(this.container);\n DeleteWorkflowFeature.register(this.container);\n UpdateWorkflowFeature.register(this.container);\n StoreWorkflowFeature.register(this.container);\n\n // Register internal features\n GetUserTeamsFeature.register(this.container);\n\n // Register workflow state features\n GetWorkflowStateFeature.register(this.container);\n GetTargetWorkflowStateFeature.register(this.container);\n ListOwnWorkflowStatesFeature.register(this.container);\n ListWorkflowStatesFeature.register(this.container);\n ListRequestedWorkflowStatesFeature.register(this.container);\n CreateWorkflowStateFeature.register(this.container);\n UpdateWorkflowStateFeature.register(this.container);\n CancelWorkflowStateFeature.register(this.container);\n DeleteWorkflowStateFeature.register(this.container);\n DeleteTargetWorkflowStateFeature.register(this.container);\n StartWorkflowStateStepFeature.register(this.container);\n ApproveWorkflowStateStepFeature.register(this.container);\n RejectWorkflowStateStepFeature.register(this.container);\n TakeOverWorkflowStateStepFeature.register(this.container);\n }\n}\n\nexport const WorkflowsInitializer = RequestContextInitializer.createImplementation({\n implementation: WorkflowsInitializerImpl,\n dependencies: [RequestContainer, TenantContext, IdentityContext, WcpContext]\n});\n"],"names":["WorkflowsInitializerImpl","container","tenantCtx","identityCtx","wcp","_ctx","getModel","GetModelUseCase","workflowModel","workflowStateModel","Promise","WORKFLOW_MODEL_ID","WORKFLOW_STATE_MODEL_ID","WorkflowModel","WorkflowStateModel","WorkflowMapper","WorkflowStateMapper","ListNotificationTypesFeature","NotificationTransportFeature","GetWorkflowFeature","ListWorkflowsFeature","CreateWorkflowFeature","DeleteWorkflowFeature","UpdateWorkflowFeature","StoreWorkflowFeature","GetUserTeamsFeature","GetWorkflowStateFeature","GetTargetWorkflowStateFeature","ListOwnWorkflowStatesFeature","ListWorkflowStatesFeature","ListRequestedWorkflowStatesFeature","CreateWorkflowStateFeature","UpdateWorkflowStateFeature","CancelWorkflowStateFeature","DeleteWorkflowStateFeature","DeleteTargetWorkflowStateFeature","StartWorkflowStateStepFeature","ApproveWorkflowStateStepFeature","RejectWorkflowStateStepFeature","TakeOverWorkflowStateStepFeature","WorkflowsInitializer","RequestContextInitializer","RequestContainer","TenantContext","IdentityContext","WcpContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAMA;IAGF,YACYC,SAAoB,EACpBC,SAAkC,EAClCC,WAAsC,EACtCC,GAAyB,CACnC;aAJUH,SAAS,GAATA;aACAC,SAAS,GAATA;aACAC,WAAW,GAAXA;aACAC,GAAG,GAAHA;aANJ,WAAW,GAAG;IAOnB;IAEH,MAAM,KAAKC,IAAyB,EAAiB;QACjD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,WAAW,GAAG;YAEnB,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,IACtD,MAAM,IAAI,CAAC,wBAAwB;QAE3C;IACJ;IAEA,MAAc,2BAA0C;QAGpD,MAAMC,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAACC;QACxC,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC;YACxC,MAAM,CAACC,eAAeC,mBAAmB,GAAG,MAAMC,QAAQ,GAAG,CAAC;gBAC1DJ,SAAS,OAAO,CAACK;gBACjBL,SAAS,OAAO,CAACM;aACpB;YAED,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAACC,eAAeL,cAAc,KAAK;YAClE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAACM,oBAAoBL,mBAAmB,KAAK;QAChF;QAGA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACM;QACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAACC;QAGxBC,6BAA6B,QAAQ,CAAC,IAAI,CAAC,SAAS;QACpDC,6BAA6B,QAAQ,CAAC,IAAI,CAAC,SAAS;QAGpDC,mBAAmB,QAAQ,CAAC,IAAI,CAAC,SAAS;QAC1CC,qBAAqB,QAAQ,CAAC,IAAI,CAAC,SAAS;QAC5CC,sBAAsB,QAAQ,CAAC,IAAI,CAAC,SAAS;QAC7CC,sBAAsB,QAAQ,CAAC,IAAI,CAAC,SAAS;QAC7CC,sBAAsB,QAAQ,CAAC,IAAI,CAAC,SAAS;QAC7CC,qBAAqB,QAAQ,CAAC,IAAI,CAAC,SAAS;QAG5CC,oBAAoB,QAAQ,CAAC,IAAI,CAAC,SAAS;QAG3CC,wBAAwB,QAAQ,CAAC,IAAI,CAAC,SAAS;QAC/CC,8BAA8B,QAAQ,CAAC,IAAI,CAAC,SAAS;QACrDC,6BAA6B,QAAQ,CAAC,IAAI,CAAC,SAAS;QACpDC,0BAA0B,QAAQ,CAAC,IAAI,CAAC,SAAS;QACjDC,mCAAmC,QAAQ,CAAC,IAAI,CAAC,SAAS;QAC1DC,2BAA2B,QAAQ,CAAC,IAAI,CAAC,SAAS;QAClDC,2BAA2B,QAAQ,CAAC,IAAI,CAAC,SAAS;QAClDC,2BAA2B,QAAQ,CAAC,IAAI,CAAC,SAAS;QAClDC,2BAA2B,QAAQ,CAAC,IAAI,CAAC,SAAS;QAClDC,iCAAiC,QAAQ,CAAC,IAAI,CAAC,SAAS;QACxDC,8BAA8B,QAAQ,CAAC,IAAI,CAAC,SAAS;QACrDC,gCAAgC,QAAQ,CAAC,IAAI,CAAC,SAAS;QACvDC,+BAA+B,QAAQ,CAAC,IAAI,CAAC,SAAS;QACtDC,iCAAiC,QAAQ,CAAC,IAAI,CAAC,SAAS;IAC5D;AACJ;AAEO,MAAMC,uBAAuBC,0BAA0B,oBAAoB,CAAC;IAC/E,gBAAgBzC;IAChB,cAAc;QAAC0C;QAAkBC;QAAeC;QAAiBC;KAAW;AAChF"}