@webiny/api-workflows 0.0.0-unstable.ac6ebf63c6 → 0.0.0-unstable.c27f4d8a31
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/domain/workflowState/errors.js +1 -1
- package/domain/workflowState/errors.js.map +1 -1
- package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js +1 -2
- package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js.map +1 -1
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js +1 -2
- package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js.map +1 -1
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js +1 -2
- package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js.map +1 -1
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js +1 -2
- package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/abstractions.d.ts +18 -3
- package/features/workflowState/ListWorkflowStates/abstractions.js.map +1 -1
- package/graphql/validation/approveWorkflowState.d.ts +1 -7
- package/graphql/validation/cancelWorkflowState.d.ts +1 -5
- package/graphql/validation/createWorkflowState.d.ts +1 -9
- package/graphql/validation/deleteWorkflow.d.ts +1 -7
- package/graphql/validation/getTargetWorkflowState.d.ts +1 -7
- package/graphql/validation/getWorkflow.d.ts +1 -7
- package/graphql/validation/getWorkflowState.d.ts +1 -5
- package/graphql/validation/listWorkflowStates.d.ts +14 -96
- package/graphql/validation/listWorkflows.d.ts +6 -36
- package/graphql/validation/rejectWorkflowState.d.ts +1 -7
- package/graphql/validation/startWorkflowState.d.ts +1 -5
- package/graphql/validation/step.d.ts +8 -36
- package/graphql/validation/storeWorkflow.d.ts +14 -86
- package/graphql/validation/takeOverWorkflowStateStep.d.ts +1 -5
- package/graphql/validation/workflow.d.ts +13 -60
- package/graphql/workflowState.js +36 -7
- package/graphql/workflowState.js.map +1 -1
- package/index.js +6 -4
- package/index.js.map +1 -1
- package/package.json +16 -16
- package/types.d.ts +11 -4
- package/types.js +1 -5
- package/types.js.map +1 -1
|
@@ -62,7 +62,7 @@ export class WorkflowStateStepCannotReviewError extends BaseError {
|
|
|
62
62
|
code = "Workflows/State/Step/CannotReview";
|
|
63
63
|
constructor(step) {
|
|
64
64
|
super({
|
|
65
|
-
message: "You do not have permissions to review this
|
|
65
|
+
message: "You do not have permissions to review this content review step.",
|
|
66
66
|
data: {
|
|
67
67
|
step
|
|
68
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseError","WorkflowStateNotFoundError","code","constructor","data","message","WorkflowStateNotAuthorizedError","WorkflowStatePersistenceError","error","WorkflowStateValidationError","ActiveStateExistsError","MultipleWorkflowsFoundError","WorkflowStateNoPendingStepError","WorkflowStateStepCannotReviewError","step","WorkflowStateStepCannotTakeOverError","WorkflowStateStepNotStepOwnerError","WorkflowStateInReviewError","state","WorkflowStateRejectedError","WorkflowStateNotInReview","WorkflowStateNoCurrentStepError","steps"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\nimport type { IWorkflowStateRecord, IWorkflowStateRecordStep } from \"./abstractions.js\";\n\nexport class WorkflowStateNotFoundError extends BaseError<{\n id?: string;\n app?: string;\n targetRevisionId?: string;\n}> {\n override readonly code = \"Workflows/State/NotFound\" as const;\n\n constructor(data: { id?: string; app?: string; targetRevisionId?: string }) {\n super({\n message: \"Workflow state not found.\",\n data\n });\n }\n}\n\nexport class WorkflowStateNotAuthorizedError extends BaseError {\n override readonly code = \"Workflows/State/NotAuthorized\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class WorkflowStatePersistenceError extends BaseError {\n override readonly code = \"Workflows/State/Persistence\" as const;\n\n constructor(error: Error) {\n super({ message: error.message });\n }\n}\n\nexport class WorkflowStateValidationError extends BaseError {\n override readonly code = \"Workflows/State/Validation\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class ActiveStateExistsError extends BaseError<{ app: string; targetRevisionId: string }> {\n override readonly code = \"Workflows/State/ActiveExists\" as const;\n\n constructor(data: { app: string; targetRevisionId: string }) {\n super({\n message: \"An active workflow state already exists for this target\",\n data\n });\n }\n}\n\nexport class MultipleWorkflowsFoundError extends BaseError {\n override readonly code = \"Workflows/State/MultipleFound\" as const;\n\n constructor(data: any) {\n super({\n message: \"Multiple workflows found when only one was expected\",\n data\n });\n }\n}\n\nexport class WorkflowStateNoPendingStepError extends BaseError {\n override readonly code = \"Workflows/State/NoPendingStep\" as const;\n\n constructor() {\n super({\n message: \"No pending step found in workflow state\"\n });\n }\n}\n\nexport class WorkflowStateStepCannotReviewError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/CannotReview\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You do not have permissions to review this
|
|
1
|
+
{"version":3,"names":["BaseError","WorkflowStateNotFoundError","code","constructor","data","message","WorkflowStateNotAuthorizedError","WorkflowStatePersistenceError","error","WorkflowStateValidationError","ActiveStateExistsError","MultipleWorkflowsFoundError","WorkflowStateNoPendingStepError","WorkflowStateStepCannotReviewError","step","WorkflowStateStepCannotTakeOverError","WorkflowStateStepNotStepOwnerError","WorkflowStateInReviewError","state","WorkflowStateRejectedError","WorkflowStateNotInReview","WorkflowStateNoCurrentStepError","steps"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\nimport type { IWorkflowStateRecord, IWorkflowStateRecordStep } from \"./abstractions.js\";\n\nexport class WorkflowStateNotFoundError extends BaseError<{\n id?: string;\n app?: string;\n targetRevisionId?: string;\n}> {\n override readonly code = \"Workflows/State/NotFound\" as const;\n\n constructor(data: { id?: string; app?: string; targetRevisionId?: string }) {\n super({\n message: \"Workflow state not found.\",\n data\n });\n }\n}\n\nexport class WorkflowStateNotAuthorizedError extends BaseError {\n override readonly code = \"Workflows/State/NotAuthorized\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class WorkflowStatePersistenceError extends BaseError {\n override readonly code = \"Workflows/State/Persistence\" as const;\n\n constructor(error: Error) {\n super({ message: error.message });\n }\n}\n\nexport class WorkflowStateValidationError extends BaseError {\n override readonly code = \"Workflows/State/Validation\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class ActiveStateExistsError extends BaseError<{ app: string; targetRevisionId: string }> {\n override readonly code = \"Workflows/State/ActiveExists\" as const;\n\n constructor(data: { app: string; targetRevisionId: string }) {\n super({\n message: \"An active workflow state already exists for this target\",\n data\n });\n }\n}\n\nexport class MultipleWorkflowsFoundError extends BaseError {\n override readonly code = \"Workflows/State/MultipleFound\" as const;\n\n constructor(data: any) {\n super({\n message: \"Multiple workflows found when only one was expected\",\n data\n });\n }\n}\n\nexport class WorkflowStateNoPendingStepError extends BaseError {\n override readonly code = \"Workflows/State/NoPendingStep\" as const;\n\n constructor() {\n super({\n message: \"No pending step found in workflow state\"\n });\n }\n}\n\nexport class WorkflowStateStepCannotReviewError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/CannotReview\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You do not have permissions to review this content review step.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateStepCannotTakeOverError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/CannotTakeOver\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You do not have permissions to take over this workflow state step.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateStepNotStepOwnerError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/NotStepOwner\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You must be the owner of this workflow state step to perform this action.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateInReviewError extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/InReview\" as const;\n\n constructor(state: IWorkflowStateRecord) {\n super({\n message: \"The workflow state is already in review and cannot proceed.\",\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateRejectedError extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/Rejected\" as const;\n\n constructor(state: IWorkflowStateRecord) {\n super({\n message: \"Cannot perform this action on a workflow state that has been rejected.\",\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateNotInReview extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/NotInReview\" as const;\n\n constructor(message: string, state: IWorkflowStateRecord) {\n super({\n message,\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateNoCurrentStepError extends BaseError<{\n steps: IWorkflowStateRecordStep[];\n}> {\n override readonly code = \"Workflows/State/NoCurrentStep\" as const;\n\n constructor(steps: IWorkflowStateRecordStep[]) {\n super({\n message: \"Cannot determine the current step of the workflow state.\",\n data: { steps }\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,6 @@ import { Result } from "@webiny/feature/api";
|
|
|
2
2
|
import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
|
|
3
3
|
import { ListNotificationTypesRepository, ListNotificationTypesUseCase as UseCase } from "./abstractions.js";
|
|
4
4
|
import { WORKFLOWS_PERMISSION } from "../../../constants.js";
|
|
5
|
-
import { WorkflowsSecurityPermissionAccessLevel } from "../../../types.js";
|
|
6
5
|
import { NotificationAuthorizedError } from "../../../domain/notifications/errors.js";
|
|
7
6
|
class ListNotificationTypesUseCaseImpl {
|
|
8
7
|
constructor(identityContext, repository) {
|
|
@@ -25,7 +24,7 @@ class ListNotificationTypesUseCaseImpl {
|
|
|
25
24
|
for (const permission of permissions) {
|
|
26
25
|
if (permission.name === "*") {
|
|
27
26
|
return Result.ok();
|
|
28
|
-
} else if (permission.editor
|
|
27
|
+
} else if (permission.editor) {
|
|
29
28
|
return Result.ok();
|
|
30
29
|
}
|
|
31
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","IdentityContext","ListNotificationTypesRepository","ListNotificationTypesUseCase","UseCase","WORKFLOWS_PERMISSION","
|
|
1
|
+
{"version":3,"names":["Result","IdentityContext","ListNotificationTypesRepository","ListNotificationTypesUseCase","UseCase","WORKFLOWS_PERMISSION","NotificationAuthorizedError","ListNotificationTypesUseCaseImpl","constructor","identityContext","repository","execute","hasAccess","ensureAccess","isFail","fail","error","result","ok","value","permissions","getPermissions","permission","name","editor","createImplementation","implementation","dependencies"],"sources":["ListNotificationTypesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport {\n ListNotificationTypesRepository,\n ListNotificationTypesUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { NotificationAuthorizedError } from \"~/domain/notifications/errors.js\";\n\nclass ListNotificationTypesUseCaseImpl implements UseCase.Interface {\n public constructor(\n private identityContext: IdentityContext.Interface,\n private repository: ListNotificationTypesRepository.Interface\n ) {}\n\n public async execute(): UseCase.Return {\n const hasAccess = await this.ensureAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const result = await this.repository.execute();\n if (result.isFail()) {\n return result;\n }\n\n return Result.ok(result.value);\n }\n\n private async ensureAccess(): Promise<Result<void, NotificationAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new NotificationAuthorizedError(\"You cannot list notifications.\"));\n }\n}\n\nexport const ListNotificationTypesUseCase = UseCase.createImplementation({\n implementation: ListNotificationTypesUseCaseImpl,\n dependencies: [IdentityContext, ListNotificationTypesRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SACIC,+BAA+B,EAC/BC,4BAA4B,IAAIC,OAAO;AAE3C,SAASC,oBAAoB;AAE7B,SAASC,2BAA2B;AAEpC,MAAMC,gCAAgC,CAA8B;EACzDC,WAAWA,CACNC,eAA0C,EAC1CC,UAAqD,EAC/D;IAAA,KAFUD,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,UAAqD,GAArDA,UAAqD;EAC9D;EAEH,MAAaC,OAAOA,CAAA,EAAmB;IACnC,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,YAAY,CAAC,CAAC;IAC3C,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOd,MAAM,CAACe,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACP,UAAU,CAACC,OAAO,CAAC,CAAC;IAC9C,IAAIM,MAAM,CAACH,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOG,MAAM;IACjB;IAEA,OAAOjB,MAAM,CAACkB,EAAE,CAACD,MAAM,CAACE,KAAK,CAAC;EAClC;EAEA,MAAcN,YAAYA,CAAA,EAAuD;IAC7E,MAAMO,WAAW,GACb,MAAM,IAAI,CAACX,eAAe,CAACY,cAAc,CACrChB,oBACJ,CAAC;IAEL,KAAK,MAAMiB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACC,IAAI,KAAK,GAAG,EAAE;QACzB,OAAOvB,MAAM,CAACkB,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAII,UAAU,CAACE,MAAM,EAAE;QAC1B,OAAOxB,MAAM,CAACkB,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAOlB,MAAM,CAACe,IAAI,CAAC,IAAIT,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;EACzF;AACJ;AAEA,OAAO,MAAMH,4BAA4B,GAAGC,OAAO,CAACqB,oBAAoB,CAAC;EACrEC,cAAc,EAAEnB,gCAAgC;EAChDoB,YAAY,EAAE,CAAC1B,eAAe,EAAEC,+BAA+B;AACnE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -5,7 +5,6 @@ import { CreateWorkflowRepository, CreateWorkflowUseCase as UseCase } from "./ab
|
|
|
5
5
|
import { WorkflowAfterCreateEvent, WorkflowBeforeCreateEvent } from "./events.js";
|
|
6
6
|
import { WorkflowNotAuthorizedError } from "../../../domain/workflow/errors.js";
|
|
7
7
|
import { WORKFLOWS_PERMISSION } from "../../../constants.js";
|
|
8
|
-
import { WorkflowsSecurityPermissionAccessLevel } from "../../../types.js";
|
|
9
8
|
class CreateWorkflowUseCaseImpl {
|
|
10
9
|
constructor(identityContext, eventPublisher, repository) {
|
|
11
10
|
this.identityContext = identityContext;
|
|
@@ -42,7 +41,7 @@ class CreateWorkflowUseCaseImpl {
|
|
|
42
41
|
for (const permission of permissions) {
|
|
43
42
|
if (permission.name === "*") {
|
|
44
43
|
return Result.ok();
|
|
45
|
-
} else if (permission.editor
|
|
44
|
+
} else if (permission.editor) {
|
|
46
45
|
return Result.ok();
|
|
47
46
|
}
|
|
48
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","IdentityContext","EventPublisher","CreateWorkflowRepository","CreateWorkflowUseCase","UseCase","WorkflowAfterCreateEvent","WorkflowBeforeCreateEvent","WorkflowNotAuthorizedError","WORKFLOWS_PERMISSION","
|
|
1
|
+
{"version":3,"names":["Result","IdentityContext","EventPublisher","CreateWorkflowRepository","CreateWorkflowUseCase","UseCase","WorkflowAfterCreateEvent","WorkflowBeforeCreateEvent","WorkflowNotAuthorizedError","WORKFLOWS_PERMISSION","CreateWorkflowUseCaseImpl","constructor","identityContext","eventPublisher","repository","execute","input","hasAccess","ensureManageAccess","isFail","fail","error","workflow","id","app","name","steps","publish","result","value","ok","permissions","getPermissions","permission","editor","createImplementation","implementation","dependencies"],"sources":["CreateWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport { CreateWorkflowRepository, CreateWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterCreateEvent, WorkflowBeforeCreateEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\n\nclass CreateWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: CreateWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflow = {\n id: input.id,\n app: input.app,\n name: input.name,\n steps: input.steps\n };\n\n await this.eventPublisher.publish(\n new WorkflowBeforeCreateEvent({\n workflow,\n input\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterCreateEvent({\n workflow: result.value,\n input\n })\n );\n\n return Result.ok(result.value);\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const CreateWorkflowUseCase = UseCase.createImplementation({\n implementation: CreateWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, CreateWorkflowRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,wBAAwB,EAAEC,qBAAqB,IAAIC,OAAO;AACnE,SAASC,wBAAwB,EAAEC,yBAAyB;AAC5D,SAASC,0BAA0B;AACnC,SAASC,oBAAoB;AAG7B,MAAMC,yBAAyB,CAA8B;EACzDC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA8C,EACxD;IAAA,KAHUF,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,KAAoB,EAAkB;IAChD,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACjD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOnB,MAAM,CAACoB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,QAAQ,GAAG;MACbC,EAAE,EAAEP,KAAK,CAACO,EAAE;MACZC,GAAG,EAAER,KAAK,CAACQ,GAAG;MACdC,IAAI,EAAET,KAAK,CAACS,IAAI;MAChBC,KAAK,EAAEV,KAAK,CAACU;IACjB,CAAC;IAED,MAAM,IAAI,CAACb,cAAc,CAACc,OAAO,CAC7B,IAAIpB,yBAAyB,CAAC;MAC1Be,QAAQ;MACRN;IACJ,CAAC,CACL,CAAC;IAED,MAAMY,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC;IACnD,IAAIY,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;IAEA,MAAM,IAAI,CAACf,cAAc,CAACc,OAAO,CAC7B,IAAIrB,wBAAwB,CAAC;MACzBgB,QAAQ,EAAEM,MAAM,CAACC,KAAK;MACtBb;IACJ,CAAC,CACL,CAAC;IAED,OAAOhB,MAAM,CAAC8B,EAAE,CAACF,MAAM,CAACC,KAAK,CAAC;EAClC;EAEA,MAAcX,kBAAkBA,CAAA,EAAsD;IAClF,MAAMa,WAAW,GACb,MAAM,IAAI,CAACnB,eAAe,CAACoB,cAAc,CACrCvB,oBACJ,CAAC;IAEL,KAAK,MAAMwB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACR,IAAI,KAAK,GAAG,EAAE;QACzB,OAAOzB,MAAM,CAAC8B,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAIG,UAAU,CAACC,MAAM,EAAE;QAC1B,OAAOlC,MAAM,CAAC8B,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAO9B,MAAM,CAACoB,IAAI,CAAC,IAAIZ,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;EACtF;AACJ;AAEA,OAAO,MAAMJ,qBAAqB,GAAGC,OAAO,CAAC8B,oBAAoB,CAAC;EAC9DC,cAAc,EAAE1B,yBAAyB;EACzC2B,YAAY,EAAE,CAACpC,eAAe,EAAEC,cAAc,EAAEC,wBAAwB;AAC5E,CAAC,CAAC","ignoreList":[]}
|
|
@@ -6,7 +6,6 @@ import { DeleteWorkflowRepository, DeleteWorkflowUseCase as UseCase } from "./ab
|
|
|
6
6
|
import { WorkflowAfterDeleteEvent, WorkflowBeforeDeleteEvent } from "./events.js";
|
|
7
7
|
import { WorkflowNotAuthorizedError, WorkflowNotFoundError } from "../../../domain/workflow/errors.js";
|
|
8
8
|
import { WORKFLOWS_PERMISSION } from "../../../constants.js";
|
|
9
|
-
import { WorkflowsSecurityPermissionAccessLevel } from "../../../types.js";
|
|
10
9
|
class DeleteWorkflowUseCaseImpl {
|
|
11
10
|
constructor(identityContext, eventPublisher, getWorkflow, repository) {
|
|
12
11
|
this.identityContext = identityContext;
|
|
@@ -44,7 +43,7 @@ class DeleteWorkflowUseCaseImpl {
|
|
|
44
43
|
for (const permission of permissions) {
|
|
45
44
|
if (permission.name === "*") {
|
|
46
45
|
return Result.ok();
|
|
47
|
-
} else if (permission.editor
|
|
46
|
+
} else if (permission.editor) {
|
|
48
47
|
return Result.ok();
|
|
49
48
|
}
|
|
50
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","IdentityContext","EventPublisher","GetWorkflowUseCase","DeleteWorkflowRepository","DeleteWorkflowUseCase","UseCase","WorkflowAfterDeleteEvent","WorkflowBeforeDeleteEvent","WorkflowNotAuthorizedError","WorkflowNotFoundError","WORKFLOWS_PERMISSION","
|
|
1
|
+
{"version":3,"names":["Result","IdentityContext","EventPublisher","GetWorkflowUseCase","DeleteWorkflowRepository","DeleteWorkflowUseCase","UseCase","WorkflowAfterDeleteEvent","WorkflowBeforeDeleteEvent","WorkflowNotAuthorizedError","WorkflowNotFoundError","WORKFLOWS_PERMISSION","DeleteWorkflowUseCaseImpl","constructor","identityContext","eventPublisher","getWorkflow","repository","execute","input","hasAccess","ensureManageAccess","isFail","fail","error","workflowResult","id","app","workflow","value","publish","result","ok","permissions","getPermissions","permission","name","editor","createImplementation","implementation","dependencies"],"sources":["DeleteWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport { GetWorkflowUseCase } from \"../GetWorkflow/index.js\";\nimport { DeleteWorkflowRepository, DeleteWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterDeleteEvent, WorkflowBeforeDeleteEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError, WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\n\nclass DeleteWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private repository: DeleteWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Params): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflowResult = await this.getWorkflow.execute(input);\n if (workflowResult.isFail()) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: input.id,\n app: input.app\n })\n );\n }\n\n const workflow = workflowResult.value;\n\n await this.eventPublisher.publish(\n new WorkflowBeforeDeleteEvent({\n workflow\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterDeleteEvent({\n workflow\n })\n );\n\n return Result.ok();\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const DeleteWorkflowUseCase = UseCase.createImplementation({\n implementation: DeleteWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, GetWorkflowUseCase, DeleteWorkflowRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,kBAAkB;AAC3B,SAASC,wBAAwB,EAAEC,qBAAqB,IAAIC,OAAO;AACnE,SAASC,wBAAwB,EAAEC,yBAAyB;AAC5D,SAASC,0BAA0B,EAAEC,qBAAqB;AAC1D,SAASC,oBAAoB;AAG7B,MAAMC,yBAAyB,CAA8B;EACzDC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,WAAyC,EACzCC,UAA8C,EACxD;IAAA,KAJUH,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,KAAqB,EAAkB;IACjD,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACjD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOtB,MAAM,CAACuB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,cAAc,GAAG,MAAM,IAAI,CAACT,WAAW,CAACE,OAAO,CAACC,KAAK,CAAC;IAC5D,IAAIM,cAAc,CAACH,MAAM,CAAC,CAAC,EAAE;MACzB,OAAOtB,MAAM,CAACuB,IAAI,CACd,IAAIb,qBAAqB,CAAC;QACtBgB,EAAE,EAAEP,KAAK,CAACO,EAAE;QACZC,GAAG,EAAER,KAAK,CAACQ;MACf,CAAC,CACL,CAAC;IACL;IAEA,MAAMC,QAAQ,GAAGH,cAAc,CAACI,KAAK;IAErC,MAAM,IAAI,CAACd,cAAc,CAACe,OAAO,CAC7B,IAAItB,yBAAyB,CAAC;MAC1BoB;IACJ,CAAC,CACL,CAAC;IAED,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC;IACnD,IAAIY,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;IAEA,MAAM,IAAI,CAAChB,cAAc,CAACe,OAAO,CAC7B,IAAIvB,wBAAwB,CAAC;MACzBqB;IACJ,CAAC,CACL,CAAC;IAED,OAAO5B,MAAM,CAACgC,EAAE,CAAC,CAAC;EACtB;EAEA,MAAcX,kBAAkBA,CAAA,EAAsD;IAClF,MAAMY,WAAW,GACb,MAAM,IAAI,CAACnB,eAAe,CAACoB,cAAc,CACrCvB,oBACJ,CAAC;IAEL,KAAK,MAAMwB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACC,IAAI,KAAK,GAAG,EAAE;QACzB,OAAOpC,MAAM,CAACgC,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAIG,UAAU,CAACE,MAAM,EAAE;QAC1B,OAAOrC,MAAM,CAACgC,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAOhC,MAAM,CAACuB,IAAI,CAAC,IAAId,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;EACtF;AACJ;AAEA,OAAO,MAAMJ,qBAAqB,GAAGC,OAAO,CAACgC,oBAAoB,CAAC;EAC9DC,cAAc,EAAE3B,yBAAyB;EACzC4B,YAAY,EAAE,CAACvC,eAAe,EAAEC,cAAc,EAAEC,kBAAkB,EAAEC,wBAAwB;AAChG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -5,7 +5,6 @@ import { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from "./ab
|
|
|
5
5
|
import { WorkflowAfterUpdateEvent, WorkflowBeforeUpdateEvent } from "./events.js";
|
|
6
6
|
import { WorkflowNotAuthorizedError } from "../../../domain/workflow/errors.js";
|
|
7
7
|
import { WORKFLOWS_PERMISSION } from "../../../constants.js";
|
|
8
|
-
import { WorkflowsSecurityPermissionAccessLevel } from "../../../types.js";
|
|
9
8
|
class UpdateWorkflowUseCaseImpl {
|
|
10
9
|
constructor(identityContext, eventPublisher, repository) {
|
|
11
10
|
this.identityContext = identityContext;
|
|
@@ -44,7 +43,7 @@ class UpdateWorkflowUseCaseImpl {
|
|
|
44
43
|
for (const permission of permissions) {
|
|
45
44
|
if (permission.name === "*") {
|
|
46
45
|
return Result.ok();
|
|
47
|
-
} else if (permission.editor
|
|
46
|
+
} else if (permission.editor) {
|
|
48
47
|
return Result.ok();
|
|
49
48
|
}
|
|
50
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Result","IdentityContext","EventPublisher","UpdateWorkflowRepository","UpdateWorkflowUseCase","UseCase","WorkflowAfterUpdateEvent","WorkflowBeforeUpdateEvent","WorkflowNotAuthorizedError","WORKFLOWS_PERMISSION","
|
|
1
|
+
{"version":3,"names":["Result","IdentityContext","EventPublisher","UpdateWorkflowRepository","UpdateWorkflowUseCase","UseCase","WorkflowAfterUpdateEvent","WorkflowBeforeUpdateEvent","WorkflowNotAuthorizedError","WORKFLOWS_PERMISSION","UpdateWorkflowUseCaseImpl","constructor","identityContext","eventPublisher","repository","execute","input","original","hasAccess","ensureManageAccess","isFail","fail","error","workflow","id","app","name","steps","publish","result","value","ok","permissions","getPermissions","permission","editor","createImplementation","implementation","dependencies"],"sources":["UpdateWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterUpdateEvent, WorkflowBeforeUpdateEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\n\nclass UpdateWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: UpdateWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input, original: UseCase.Input): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflow = {\n id: input.id,\n app: input.app,\n name: input.name,\n steps: input.steps\n };\n\n await this.eventPublisher.publish(\n new WorkflowBeforeUpdateEvent({\n workflow,\n original,\n input\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterUpdateEvent({\n workflow: result.value,\n original,\n input\n })\n );\n\n return Result.ok(result.value);\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const UpdateWorkflowUseCase = UseCase.createImplementation({\n implementation: UpdateWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, UpdateWorkflowRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,wBAAwB,EAAEC,qBAAqB,IAAIC,OAAO;AACnE,SAASC,wBAAwB,EAAEC,yBAAyB;AAC5D,SAASC,0BAA0B;AACnC,SAASC,oBAAoB;AAG7B,MAAMC,yBAAyB,CAA8B;EACzDC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA8C,EACxD;IAAA,KAHUF,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,KAAoB,EAAEC,QAAuB,EAAkB;IACzE,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACjD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOpB,MAAM,CAACqB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,QAAQ,GAAG;MACbC,EAAE,EAAER,KAAK,CAACQ,EAAE;MACZC,GAAG,EAAET,KAAK,CAACS,GAAG;MACdC,IAAI,EAAEV,KAAK,CAACU,IAAI;MAChBC,KAAK,EAAEX,KAAK,CAACW;IACjB,CAAC;IAED,MAAM,IAAI,CAACd,cAAc,CAACe,OAAO,CAC7B,IAAIrB,yBAAyB,CAAC;MAC1BgB,QAAQ;MACRN,QAAQ;MACRD;IACJ,CAAC,CACL,CAAC;IAED,MAAMa,MAAM,GAAG,MAAM,IAAI,CAACf,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC;IACnD,IAAIa,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;IAEA,MAAM,IAAI,CAAChB,cAAc,CAACe,OAAO,CAC7B,IAAItB,wBAAwB,CAAC;MACzBiB,QAAQ,EAAEM,MAAM,CAACC,KAAK;MACtBb,QAAQ;MACRD;IACJ,CAAC,CACL,CAAC;IAED,OAAOhB,MAAM,CAAC+B,EAAE,CAACF,MAAM,CAACC,KAAK,CAAC;EAClC;EAEA,MAAcX,kBAAkBA,CAAA,EAAsD;IAClF,MAAMa,WAAW,GACb,MAAM,IAAI,CAACpB,eAAe,CAACqB,cAAc,CACrCxB,oBACJ,CAAC;IAEL,KAAK,MAAMyB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACR,IAAI,KAAK,GAAG,EAAE;QACzB,OAAO1B,MAAM,CAAC+B,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAIG,UAAU,CAACC,MAAM,EAAE;QAC1B,OAAOnC,MAAM,CAAC+B,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAO/B,MAAM,CAACqB,IAAI,CAAC,IAAIb,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;EACtF;AACJ;AAEA,OAAO,MAAMJ,qBAAqB,GAAGC,OAAO,CAAC+B,oBAAoB,CAAC;EAC9DC,cAAc,EAAE3B,yBAAyB;EACzC4B,YAAY,EAAE,CAACrC,eAAe,EAAEC,cAAc,EAAEC,wBAAwB;AAC5E,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
import type { Result } from "@webiny/feature/api";
|
|
2
|
-
import type { CmsEntryListSort, CmsEntryListWhere } from "@webiny/api-headless-cms/types";
|
|
3
|
-
import type
|
|
2
|
+
import type { CmsEntryListSort, CmsEntryListWhere } from "@webiny/api-headless-cms/types/index.js";
|
|
3
|
+
import { type IWorkflowStateRecord, WorkflowStateRecordState } from "../../../domain/workflowState/abstractions.js";
|
|
4
4
|
import type { WorkflowStatePersistenceError } from "../../../domain/workflowState/errors.js";
|
|
5
5
|
import type { WorkflowState } from "../../../domain/workflowState/WorkflowState.js";
|
|
6
6
|
import type { IMeta } from "../../../types.js";
|
|
7
|
+
export interface IListWorkflowStatesParamsWhere extends CmsEntryListWhere {
|
|
8
|
+
app?: string;
|
|
9
|
+
app_in?: string[];
|
|
10
|
+
targetRevisionId?: string;
|
|
11
|
+
targetRevisionId_in?: string[];
|
|
12
|
+
state?: WorkflowStateRecordState;
|
|
13
|
+
state_in?: WorkflowStateRecordState[];
|
|
14
|
+
workflowId?: string;
|
|
15
|
+
workflowId_in?: string[];
|
|
16
|
+
targetId?: string;
|
|
17
|
+
targetId_in?: string[];
|
|
18
|
+
savedBy?: string;
|
|
19
|
+
createdBy?: string;
|
|
20
|
+
isActive?: boolean;
|
|
21
|
+
}
|
|
7
22
|
export interface IListWorkflowStatesParams {
|
|
8
|
-
where?:
|
|
23
|
+
where?: IListWorkflowStatesParamsWhere;
|
|
9
24
|
sort?: CmsEntryListSort;
|
|
10
25
|
limit?: number;
|
|
11
26
|
after?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","ListWorkflowStatesUseCase","ListWorkflowStatesRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { CmsEntryListSort, CmsEntryListWhere } from \"@webiny/api-headless-cms/types\";\nimport type
|
|
1
|
+
{"version":3,"names":["createAbstraction","ListWorkflowStatesUseCase","ListWorkflowStatesRepository"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { CmsEntryListSort, CmsEntryListWhere } from \"@webiny/api-headless-cms/types/index.js\";\nimport {\n type IWorkflowStateRecord,\n WorkflowStateRecordState\n} from \"~/domain/workflowState/abstractions.js\";\nimport type { WorkflowStatePersistenceError } from \"~/domain/workflowState/errors.js\";\nimport type { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport type { IMeta } from \"~/types.js\";\n\nexport interface IListWorkflowStatesParamsWhere extends CmsEntryListWhere {\n app?: string;\n app_in?: string[];\n targetRevisionId?: string;\n targetRevisionId_in?: string[];\n state?: WorkflowStateRecordState;\n state_in?: WorkflowStateRecordState[];\n workflowId?: string;\n workflowId_in?: string[];\n targetId?: string;\n targetId_in?: string[];\n savedBy?: string;\n createdBy?: string;\n isActive?: boolean;\n}\n\nexport interface IListWorkflowStatesParams {\n where?: IListWorkflowStatesParamsWhere;\n sort?: CmsEntryListSort;\n limit?: number;\n after?: string;\n}\n\nexport interface IListWorkflowStatesResponse {\n items: WorkflowState[];\n meta: IMeta;\n}\n\nexport interface IListWorkflowStatesRecordResponse {\n items: IWorkflowStateRecord[];\n meta: IMeta;\n}\n\n/**\n * ListWorkflowStates use case interface\n */\nexport interface IListWorkflowStatesUseCase {\n execute(\n params?: IListWorkflowStatesParams\n ): Promise<Result<IListWorkflowStatesResponse, UseCaseError>>;\n}\n\nexport interface IListWorkflowStatesUseCaseErrors {\n persistence: WorkflowStatePersistenceError;\n}\n\ntype UseCaseError = IListWorkflowStatesUseCaseErrors[keyof IListWorkflowStatesUseCaseErrors];\n\nexport const ListWorkflowStatesUseCase = createAbstraction<IListWorkflowStatesUseCase>(\n \"ListWorkflowStatesUseCase\"\n);\n\nexport namespace ListWorkflowStatesUseCase {\n export type Interface = IListWorkflowStatesUseCase;\n export type Params = IListWorkflowStatesParams;\n export type Response = IListWorkflowStatesResponse;\n export type Return = Promise<Result<IListWorkflowStatesResponse, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n/**\n * ListWorkflowStates repository interface\n */\nexport interface IListWorkflowStatesRepository {\n execute(\n params?: IListWorkflowStatesParams\n ): Promise<Result<IListWorkflowStatesRecordResponse, RepositoryError>>;\n}\n\nexport interface IListWorkflowStatesRepositoryErrors {\n persistence: WorkflowStatePersistenceError;\n}\n\ntype RepositoryError =\n IListWorkflowStatesRepositoryErrors[keyof IListWorkflowStatesRepositoryErrors];\n\nexport const ListWorkflowStatesRepository = createAbstraction<IListWorkflowStatesRepository>(\n \"ListWorkflowStatesRepository\"\n);\n\nexport namespace ListWorkflowStatesRepository {\n export type Interface = IListWorkflowStatesRepository;\n export type Params = IListWorkflowStatesParams;\n export type Return = Promise<Result<IListWorkflowStatesRecordResponse, RepositoryError>>;\n export type Error = RepositoryError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AA4CvD;AACA;AACA;;AAaA,OAAO,MAAMC,yBAAyB,GAAGD,iBAAiB,CACtD,2BACJ,CAAC;;AAUD;AACA;AACA;;AAcA,OAAO,MAAME,4BAA4B,GAAGF,iBAAiB,CACzD,8BACJ,CAAC","ignoreList":[]}
|
|
@@ -2,10 +2,4 @@ import zod from "zod";
|
|
|
2
2
|
export declare const approveWorkflowStateValidation: zod.ZodObject<{
|
|
3
3
|
id: zod.ZodString;
|
|
4
4
|
comment: zod.ZodOptional<zod.ZodString>;
|
|
5
|
-
},
|
|
6
|
-
id: string;
|
|
7
|
-
comment?: string | undefined;
|
|
8
|
-
}, {
|
|
9
|
-
id: string;
|
|
10
|
-
comment?: string | undefined;
|
|
11
|
-
}>;
|
|
5
|
+
}, zod.core.$strip>;
|
|
@@ -3,12 +3,4 @@ export declare const createWorkflowStateValidation: zod.ZodObject<{
|
|
|
3
3
|
app: zod.ZodString;
|
|
4
4
|
targetRevisionId: zod.ZodString;
|
|
5
5
|
title: zod.ZodString;
|
|
6
|
-
},
|
|
7
|
-
app: string;
|
|
8
|
-
title: string;
|
|
9
|
-
targetRevisionId: string;
|
|
10
|
-
}, {
|
|
11
|
-
app: string;
|
|
12
|
-
title: string;
|
|
13
|
-
targetRevisionId: string;
|
|
14
|
-
}>;
|
|
6
|
+
}, zod.core.$strip>;
|
|
@@ -2,10 +2,4 @@ import zod from "zod";
|
|
|
2
2
|
export declare const getTargetWorkflowStateValidation: zod.ZodObject<{
|
|
3
3
|
app: zod.ZodString;
|
|
4
4
|
targetRevisionId: zod.ZodString;
|
|
5
|
-
},
|
|
6
|
-
app: string;
|
|
7
|
-
targetRevisionId: string;
|
|
8
|
-
}, {
|
|
9
|
-
app: string;
|
|
10
|
-
targetRevisionId: string;
|
|
11
|
-
}>;
|
|
5
|
+
}, zod.core.$strip>;
|
|
@@ -3,106 +3,24 @@ import { WorkflowStateRecordState } from "../../domain/workflowState/abstraction
|
|
|
3
3
|
export declare const listWorkflowStatesValidation: zod.ZodOptional<zod.ZodObject<{
|
|
4
4
|
where: zod.ZodOptional<zod.ZodObject<{
|
|
5
5
|
app: zod.ZodOptional<zod.ZodString>;
|
|
6
|
-
app_in: zod.ZodOptional<zod.ZodArray<zod.ZodString
|
|
6
|
+
app_in: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
7
7
|
workflowId: zod.ZodOptional<zod.ZodString>;
|
|
8
|
-
workflowId_in: zod.ZodOptional<zod.ZodArray<zod.ZodString
|
|
8
|
+
workflowId_in: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
9
9
|
targetId: zod.ZodOptional<zod.ZodString>;
|
|
10
|
-
targetId_in: zod.ZodOptional<zod.ZodArray<zod.ZodString
|
|
10
|
+
targetId_in: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
11
11
|
targetRevisionId: zod.ZodOptional<zod.ZodString>;
|
|
12
|
-
targetRevisionId_in: zod.ZodOptional<zod.ZodArray<zod.ZodString
|
|
13
|
-
state: zod.ZodOptional<zod.
|
|
14
|
-
state_in: zod.ZodOptional<zod.ZodArray<zod.
|
|
15
|
-
createdOn_gte: zod.
|
|
16
|
-
createdOn_lte: zod.
|
|
17
|
-
savedOn_gte: zod.
|
|
18
|
-
savedOn_lte: zod.
|
|
12
|
+
targetRevisionId_in: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
13
|
+
state: zod.ZodOptional<zod.ZodEnum<typeof WorkflowStateRecordState>>;
|
|
14
|
+
state_in: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<typeof WorkflowStateRecordState>>>;
|
|
15
|
+
createdOn_gte: zod.ZodPipe<zod.ZodTransform<Date | undefined, unknown>, zod.ZodOptional<zod.ZodDate>>;
|
|
16
|
+
createdOn_lte: zod.ZodPipe<zod.ZodTransform<Date | undefined, unknown>, zod.ZodOptional<zod.ZodDate>>;
|
|
17
|
+
savedOn_gte: zod.ZodPipe<zod.ZodTransform<Date | undefined, unknown>, zod.ZodOptional<zod.ZodDate>>;
|
|
18
|
+
savedOn_lte: zod.ZodPipe<zod.ZodTransform<Date | undefined, unknown>, zod.ZodOptional<zod.ZodDate>>;
|
|
19
19
|
createdBy: zod.ZodOptional<zod.ZodString>;
|
|
20
20
|
savedBy: zod.ZodOptional<zod.ZodString>;
|
|
21
21
|
isActive: zod.ZodOptional<zod.ZodBoolean>;
|
|
22
|
-
},
|
|
23
|
-
app?: string | undefined;
|
|
24
|
-
savedBy?: string | undefined;
|
|
25
|
-
createdBy?: string | undefined;
|
|
26
|
-
workflowId?: string | undefined;
|
|
27
|
-
targetId?: string | undefined;
|
|
28
|
-
targetRevisionId?: string | undefined;
|
|
29
|
-
isActive?: boolean | undefined;
|
|
30
|
-
state?: WorkflowStateRecordState | undefined;
|
|
31
|
-
app_in?: string[] | undefined;
|
|
32
|
-
workflowId_in?: string[] | undefined;
|
|
33
|
-
targetId_in?: string[] | undefined;
|
|
34
|
-
targetRevisionId_in?: string[] | undefined;
|
|
35
|
-
state_in?: WorkflowStateRecordState[] | undefined;
|
|
36
|
-
createdOn_gte?: Date | undefined;
|
|
37
|
-
createdOn_lte?: Date | undefined;
|
|
38
|
-
savedOn_gte?: Date | undefined;
|
|
39
|
-
savedOn_lte?: Date | undefined;
|
|
40
|
-
}, {
|
|
41
|
-
app?: string | undefined;
|
|
42
|
-
savedBy?: string | undefined;
|
|
43
|
-
createdBy?: string | undefined;
|
|
44
|
-
workflowId?: string | undefined;
|
|
45
|
-
targetId?: string | undefined;
|
|
46
|
-
targetRevisionId?: string | undefined;
|
|
47
|
-
isActive?: boolean | undefined;
|
|
48
|
-
state?: WorkflowStateRecordState | undefined;
|
|
49
|
-
app_in?: string[] | undefined;
|
|
50
|
-
workflowId_in?: string[] | undefined;
|
|
51
|
-
targetId_in?: string[] | undefined;
|
|
52
|
-
targetRevisionId_in?: string[] | undefined;
|
|
53
|
-
state_in?: WorkflowStateRecordState[] | undefined;
|
|
54
|
-
createdOn_gte?: unknown;
|
|
55
|
-
createdOn_lte?: unknown;
|
|
56
|
-
savedOn_gte?: unknown;
|
|
57
|
-
savedOn_lte?: unknown;
|
|
58
|
-
}>>;
|
|
22
|
+
}, zod.core.$strip>>;
|
|
59
23
|
limit: zod.ZodOptional<zod.ZodNumber>;
|
|
60
|
-
sort: zod.ZodOptional<zod.ZodArray<zod.
|
|
61
|
-
after: zod.
|
|
62
|
-
},
|
|
63
|
-
limit?: number | undefined;
|
|
64
|
-
sort?: (`${string}_DESC` | `${string}_ASC`)[] | undefined;
|
|
65
|
-
after?: string | undefined;
|
|
66
|
-
where?: {
|
|
67
|
-
app?: string | undefined;
|
|
68
|
-
savedBy?: string | undefined;
|
|
69
|
-
createdBy?: string | undefined;
|
|
70
|
-
workflowId?: string | undefined;
|
|
71
|
-
targetId?: string | undefined;
|
|
72
|
-
targetRevisionId?: string | undefined;
|
|
73
|
-
isActive?: boolean | undefined;
|
|
74
|
-
state?: WorkflowStateRecordState | undefined;
|
|
75
|
-
app_in?: string[] | undefined;
|
|
76
|
-
workflowId_in?: string[] | undefined;
|
|
77
|
-
targetId_in?: string[] | undefined;
|
|
78
|
-
targetRevisionId_in?: string[] | undefined;
|
|
79
|
-
state_in?: WorkflowStateRecordState[] | undefined;
|
|
80
|
-
createdOn_gte?: Date | undefined;
|
|
81
|
-
createdOn_lte?: Date | undefined;
|
|
82
|
-
savedOn_gte?: Date | undefined;
|
|
83
|
-
savedOn_lte?: Date | undefined;
|
|
84
|
-
} | undefined;
|
|
85
|
-
}, {
|
|
86
|
-
limit?: number | undefined;
|
|
87
|
-
sort?: string[] | undefined;
|
|
88
|
-
after?: string | null | undefined;
|
|
89
|
-
where?: {
|
|
90
|
-
app?: string | undefined;
|
|
91
|
-
savedBy?: string | undefined;
|
|
92
|
-
createdBy?: string | undefined;
|
|
93
|
-
workflowId?: string | undefined;
|
|
94
|
-
targetId?: string | undefined;
|
|
95
|
-
targetRevisionId?: string | undefined;
|
|
96
|
-
isActive?: boolean | undefined;
|
|
97
|
-
state?: WorkflowStateRecordState | undefined;
|
|
98
|
-
app_in?: string[] | undefined;
|
|
99
|
-
workflowId_in?: string[] | undefined;
|
|
100
|
-
targetId_in?: string[] | undefined;
|
|
101
|
-
targetRevisionId_in?: string[] | undefined;
|
|
102
|
-
state_in?: WorkflowStateRecordState[] | undefined;
|
|
103
|
-
createdOn_gte?: unknown;
|
|
104
|
-
createdOn_lte?: unknown;
|
|
105
|
-
savedOn_gte?: unknown;
|
|
106
|
-
savedOn_lte?: unknown;
|
|
107
|
-
} | undefined;
|
|
108
|
-
}>>;
|
|
24
|
+
sort: zod.ZodOptional<zod.ZodArray<zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${string}_DESC` | `${string}_ASC`, string>>>>;
|
|
25
|
+
after: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, zod.ZodTransform<string | undefined, string | null | undefined>>;
|
|
26
|
+
}, zod.core.$strip>>;
|
|
@@ -1,42 +1,12 @@
|
|
|
1
1
|
import zod from "zod";
|
|
2
2
|
export declare const listWorkflowsValidation: zod.ZodObject<{
|
|
3
3
|
limit: zod.ZodOptional<zod.ZodNumber>;
|
|
4
|
-
sort: zod.ZodOptional<zod.ZodArray<zod.
|
|
5
|
-
after: zod.
|
|
4
|
+
sort: zod.ZodOptional<zod.ZodArray<zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${string}_DESC` | `${string}_ASC`, string>>>>;
|
|
5
|
+
after: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, zod.ZodTransform<string | undefined, string | null | undefined>>;
|
|
6
6
|
where: zod.ZodOptional<zod.ZodObject<{
|
|
7
7
|
id: zod.ZodOptional<zod.ZodString>;
|
|
8
|
-
id_in: zod.ZodOptional<zod.ZodArray<zod.ZodString
|
|
8
|
+
id_in: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
9
9
|
app: zod.ZodOptional<zod.ZodString>;
|
|
10
|
-
app_in: zod.ZodOptional<zod.ZodArray<zod.ZodString
|
|
11
|
-
},
|
|
12
|
-
|
|
13
|
-
id?: string | undefined;
|
|
14
|
-
id_in?: string[] | undefined;
|
|
15
|
-
app_in?: string[] | undefined;
|
|
16
|
-
}, {
|
|
17
|
-
app?: string | undefined;
|
|
18
|
-
id?: string | undefined;
|
|
19
|
-
id_in?: string[] | undefined;
|
|
20
|
-
app_in?: string[] | undefined;
|
|
21
|
-
}>>;
|
|
22
|
-
}, "strip", zod.ZodTypeAny, {
|
|
23
|
-
limit?: number | undefined;
|
|
24
|
-
sort?: (`${string}_DESC` | `${string}_ASC`)[] | undefined;
|
|
25
|
-
after?: string | undefined;
|
|
26
|
-
where?: {
|
|
27
|
-
app?: string | undefined;
|
|
28
|
-
id?: string | undefined;
|
|
29
|
-
id_in?: string[] | undefined;
|
|
30
|
-
app_in?: string[] | undefined;
|
|
31
|
-
} | undefined;
|
|
32
|
-
}, {
|
|
33
|
-
limit?: number | undefined;
|
|
34
|
-
sort?: string[] | undefined;
|
|
35
|
-
after?: string | null | undefined;
|
|
36
|
-
where?: {
|
|
37
|
-
app?: string | undefined;
|
|
38
|
-
id?: string | undefined;
|
|
39
|
-
id_in?: string[] | undefined;
|
|
40
|
-
app_in?: string[] | undefined;
|
|
41
|
-
} | undefined;
|
|
42
|
-
}>;
|
|
10
|
+
app_in: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
11
|
+
}, zod.core.$strip>>;
|
|
12
|
+
}, zod.core.$strip>;
|
|
@@ -2,10 +2,4 @@ import zod from "zod";
|
|
|
2
2
|
export declare const rejectWorkflowStateValidation: zod.ZodObject<{
|
|
3
3
|
id: zod.ZodString;
|
|
4
4
|
comment: zod.ZodString;
|
|
5
|
-
},
|
|
6
|
-
id: string;
|
|
7
|
-
comment: string;
|
|
8
|
-
}, {
|
|
9
|
-
id: string;
|
|
10
|
-
comment: string;
|
|
11
|
-
}>;
|
|
5
|
+
}, zod.core.$strip>;
|