@webiny/api-workflows 6.4.5-beta.0 → 6.6.0-alpha.0
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/WorkflowsFeature.d.ts +5 -0
- package/WorkflowsFeature.js +17 -0
- package/WorkflowsFeature.js.map +1 -0
- package/WorkflowsInitializer.d.ts +19 -0
- package/WorkflowsInitializer.js +97 -0
- package/WorkflowsInitializer.js.map +1 -0
- package/WorkflowsSchemaFactory.d.ts +8 -0
- package/WorkflowsSchemaFactory.js +19 -0
- package/WorkflowsSchemaFactory.js.map +1 -0
- package/domain/workflowState/WorkflowState.d.ts +1 -0
- package/domain/workflowState/WorkflowState.js +3 -0
- package/domain/workflowState/WorkflowState.js.map +1 -1
- package/domain/workflowState/WorkflowStateMapper.js +4 -2
- package/domain/workflowState/WorkflowStateMapper.js.map +1 -1
- package/domain/workflowState/abstractions.d.ts +3 -0
- package/domain/workflowState/abstractions.js.map +1 -1
- package/domain/workflowState/stateModel.js +1 -0
- package/domain/workflowState/stateModel.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.d.ts +3 -1
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +10 -2
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.d.ts +9 -0
- package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.js +13 -0
- package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.d.ts +13 -0
- package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.js +5 -0
- package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/feature.js +2 -0
- package/features/workflowState/CreateWorkflowState/feature.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/index.d.ts +1 -0
- package/features/workflowState/CreateWorkflowState/index.js +1 -0
- package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.d.ts +9 -0
- package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.js +13 -0
- package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.d.ts +3 -1
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +38 -7
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.d.ts +8 -0
- package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.js +5 -0
- package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/feature.js +2 -0
- package/features/workflowState/ListWorkflowStates/feature.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/index.d.ts +1 -0
- package/features/workflowState/ListWorkflowStates/index.js +1 -0
- package/graphql/notifications.d.ts +2 -2
- package/graphql/notifications.js +44 -43
- package/graphql/notifications.js.map +1 -1
- package/graphql/validation/listWorkflowStates.d.ts +1 -1
- package/graphql/validation/listWorkflows.d.ts +1 -1
- package/graphql/workflowState.d.ts +2 -2
- package/graphql/workflowState.js +378 -306
- package/graphql/workflowState.js.map +1 -1
- package/graphql/workflows.d.ts +2 -2
- package/graphql/workflows.js +200 -178
- package/graphql/workflows.js.map +1 -1
- package/index.d.ts +1 -2
- package/index.js +1 -97
- package/package.json +17 -14
- package/index.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WorkflowStateContextProvider } from "./WorkflowStateContextProvider.js";
|
|
2
|
+
class DefaultWorkflowStateContextProviderImpl {
|
|
3
|
+
async provide() {
|
|
4
|
+
return {};
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
const DefaultContextProvider = WorkflowStateContextProvider.createImplementation({
|
|
8
|
+
implementation: DefaultWorkflowStateContextProviderImpl,
|
|
9
|
+
dependencies: []
|
|
10
|
+
});
|
|
11
|
+
export { DefaultContextProvider };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=DefaultWorkflowStateContextProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.js","sources":["../../../../src/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.ts"],"sourcesContent":["import {\n WorkflowStateContextProvider,\n type IWorkflowStateContextProvider\n} from \"./WorkflowStateContextProvider.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nclass DefaultWorkflowStateContextProviderImpl implements IWorkflowStateContextProvider {\n async provide(): Promise<GenericRecord> {\n return {};\n }\n}\n\nexport const DefaultContextProvider = WorkflowStateContextProvider.createImplementation({\n implementation: DefaultWorkflowStateContextProviderImpl,\n dependencies: []\n});\n"],"names":["DefaultWorkflowStateContextProviderImpl","DefaultContextProvider","WorkflowStateContextProvider"],"mappings":";AAMA,MAAMA;IACF,MAAM,UAAkC;QACpC,OAAO,CAAC;IACZ;AACJ;AAEO,MAAMC,yBAAyBC,6BAA6B,oBAAoB,CAAC;IACpF,gBAAgBF;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { GenericRecord } from "@webiny/api/types.js";
|
|
2
|
+
export interface IWorkflowStateContextProviderParams {
|
|
3
|
+
app: string;
|
|
4
|
+
targetRevisionId: string;
|
|
5
|
+
}
|
|
6
|
+
export interface IWorkflowStateContextProvider {
|
|
7
|
+
provide(params: IWorkflowStateContextProviderParams): Promise<GenericRecord>;
|
|
8
|
+
}
|
|
9
|
+
export declare const WorkflowStateContextProvider: import("@webiny/di").Abstraction<IWorkflowStateContextProvider>;
|
|
10
|
+
export declare namespace WorkflowStateContextProvider {
|
|
11
|
+
type Interface = IWorkflowStateContextProvider;
|
|
12
|
+
type Params = IWorkflowStateContextProviderParams;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.js","sources":["../../../../src/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface IWorkflowStateContextProviderParams {\n app: string;\n targetRevisionId: string;\n}\n\nexport interface IWorkflowStateContextProvider {\n provide(params: IWorkflowStateContextProviderParams): Promise<GenericRecord>;\n}\n\nexport const WorkflowStateContextProvider = createAbstraction<IWorkflowStateContextProvider>(\n \"WorkflowStateContextProvider\"\n);\n\nexport namespace WorkflowStateContextProvider {\n export type Interface = IWorkflowStateContextProvider;\n export type Params = IWorkflowStateContextProviderParams;\n}\n"],"names":["WorkflowStateContextProvider","createAbstraction"],"mappings":";AAYO,MAAMA,+BAA+BC,kBACxC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { CreateWorkflowStateUseCase } from "./CreateWorkflowStateUseCase.js";
|
|
3
3
|
import { CreateWorkflowStateRepository } from "./CreateWorkflowStateRepository.js";
|
|
4
|
+
import { DefaultContextProvider } from "./DefaultWorkflowStateContextProvider.js";
|
|
4
5
|
const CreateWorkflowStateFeature = createFeature({
|
|
5
6
|
name: "WorkflowState/CreateWorkflowState",
|
|
6
7
|
register (container) {
|
|
7
8
|
container.register(CreateWorkflowStateRepository).inSingletonScope();
|
|
9
|
+
container.register(DefaultContextProvider);
|
|
8
10
|
container.register(CreateWorkflowStateUseCase);
|
|
9
11
|
}
|
|
10
12
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflowState/CreateWorkflowState/feature.js","sources":["../../../../src/features/workflowState/CreateWorkflowState/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateWorkflowStateUseCase } from \"./CreateWorkflowStateUseCase.js\";\nimport { CreateWorkflowStateRepository } from \"./CreateWorkflowStateRepository.js\";\n\nexport const CreateWorkflowStateFeature = createFeature({\n name: \"WorkflowState/CreateWorkflowState\",\n register(container) {\n container.register(CreateWorkflowStateRepository).inSingletonScope();\n container.register(CreateWorkflowStateUseCase);\n }\n});\n"],"names":["CreateWorkflowStateFeature","createFeature","container","CreateWorkflowStateRepository","CreateWorkflowStateUseCase"],"mappings":"
|
|
1
|
+
{"version":3,"file":"features/workflowState/CreateWorkflowState/feature.js","sources":["../../../../src/features/workflowState/CreateWorkflowState/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateWorkflowStateUseCase } from \"./CreateWorkflowStateUseCase.js\";\nimport { CreateWorkflowStateRepository } from \"./CreateWorkflowStateRepository.js\";\nimport { DefaultContextProvider } from \"./DefaultWorkflowStateContextProvider.js\";\n\nexport const CreateWorkflowStateFeature = createFeature({\n name: \"WorkflowState/CreateWorkflowState\",\n register(container) {\n container.register(CreateWorkflowStateRepository).inSingletonScope();\n container.register(DefaultContextProvider);\n container.register(CreateWorkflowStateUseCase);\n }\n});\n"],"names":["CreateWorkflowStateFeature","createFeature","container","CreateWorkflowStateRepository","DefaultContextProvider","CreateWorkflowStateUseCase"],"mappings":";;;;AAKO,MAAMA,6BAA6BC,cAAc;IACpD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,+BAA+B,gBAAgB;QAClED,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;IACvB;AACJ"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { WorkflowStateFilter } from "./WorkflowStateFilter.js";
|
|
2
|
+
import type { WorkflowState } from "../../../domain/workflowState/WorkflowState.js";
|
|
3
|
+
declare class PassThroughWorkflowStateFilter implements WorkflowStateFilter.Interface {
|
|
4
|
+
filter(items: WorkflowState[]): Promise<WorkflowState[]>;
|
|
5
|
+
}
|
|
6
|
+
export declare const DefaultWorkflowStateFilter: typeof PassThroughWorkflowStateFilter & {
|
|
7
|
+
__abstraction: import("@webiny/di").Abstraction<import("./WorkflowStateFilter.js").IWorkflowStateFilter>;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WorkflowStateFilter } from "./WorkflowStateFilter.js";
|
|
2
|
+
class PassThroughWorkflowStateFilter {
|
|
3
|
+
async filter(items) {
|
|
4
|
+
return items;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
const DefaultWorkflowStateFilter = WorkflowStateFilter.createImplementation({
|
|
8
|
+
implementation: PassThroughWorkflowStateFilter,
|
|
9
|
+
dependencies: []
|
|
10
|
+
});
|
|
11
|
+
export { DefaultWorkflowStateFilter };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=DefaultWorkflowStateFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.js","sources":["../../../../src/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.ts"],"sourcesContent":["import { WorkflowStateFilter } from \"./WorkflowStateFilter.js\";\nimport type { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\n\nclass PassThroughWorkflowStateFilter implements WorkflowStateFilter.Interface {\n async filter(items: WorkflowState[]): Promise<WorkflowState[]> {\n return items;\n }\n}\n\nexport const DefaultWorkflowStateFilter = WorkflowStateFilter.createImplementation({\n implementation: PassThroughWorkflowStateFilter,\n dependencies: []\n});\n"],"names":["PassThroughWorkflowStateFilter","items","DefaultWorkflowStateFilter","WorkflowStateFilter"],"mappings":";AAGA,MAAMA;IACF,MAAM,OAAOC,KAAsB,EAA4B;QAC3D,OAAOA;IACX;AACJ;AAEO,MAAMC,6BAA6BC,oBAAoB,oBAAoB,CAAC;IAC/E,gBAAgBH;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
2
2
|
import { GetUserTeamsUseCase } from "../../../features/internal/GetUserTeams/index.js";
|
|
3
3
|
import { ListWorkflowStatesRepository, ListWorkflowStatesUseCase as UseCase } from "./abstractions.js";
|
|
4
|
+
import { WorkflowStateFilter } from "./WorkflowStateFilter.js";
|
|
4
5
|
declare class ListWorkflowStatesUseCaseImpl implements UseCase.Interface {
|
|
5
6
|
private identityContext;
|
|
6
7
|
private getUserTeams;
|
|
7
8
|
private repository;
|
|
8
|
-
|
|
9
|
+
private stateFilter;
|
|
10
|
+
constructor(identityContext: IdentityContext.Interface, getUserTeams: GetUserTeamsUseCase.Interface, repository: ListWorkflowStatesRepository.Interface, stateFilter: WorkflowStateFilter.Interface);
|
|
9
11
|
execute(params?: UseCase.Params): UseCase.Return;
|
|
10
12
|
}
|
|
11
13
|
export declare const ListWorkflowStatesUseCase: typeof ListWorkflowStatesUseCaseImpl & {
|
|
@@ -3,23 +3,53 @@ import { IdentityContext } from "@webiny/api-core/features/security/IdentityCont
|
|
|
3
3
|
import { GetUserTeamsUseCase } from "../../internal/GetUserTeams/index.js";
|
|
4
4
|
import { ListWorkflowStatesRepository, ListWorkflowStatesUseCase } from "./abstractions.js";
|
|
5
5
|
import { WorkflowState } from "../../../domain/workflowState/WorkflowState.js";
|
|
6
|
+
import { WorkflowStateFilter } from "./WorkflowStateFilter.js";
|
|
6
7
|
class ListWorkflowStatesUseCaseImpl {
|
|
7
|
-
constructor(identityContext, getUserTeams, repository){
|
|
8
|
+
constructor(identityContext, getUserTeams, repository, stateFilter){
|
|
8
9
|
this.identityContext = identityContext;
|
|
9
10
|
this.getUserTeams = getUserTeams;
|
|
10
11
|
this.repository = repository;
|
|
12
|
+
this.stateFilter = stateFilter;
|
|
11
13
|
}
|
|
12
14
|
async execute(params = {}) {
|
|
13
15
|
const identity = this.identityContext.getIdentity();
|
|
14
16
|
const teamsResult = await this.getUserTeams.execute(identity.id);
|
|
15
17
|
const teams = teamsResult.value;
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
const requestedLimit = params.limit || 50;
|
|
19
|
+
const accumulated = [];
|
|
20
|
+
let cursor = params.after || null;
|
|
21
|
+
let totalCount = 0;
|
|
22
|
+
let totalRemoved = 0;
|
|
23
|
+
let hasMoreItems = false;
|
|
24
|
+
while(accumulated.length < requestedLimit){
|
|
25
|
+
const recordsResult = await this.repository.execute({
|
|
26
|
+
...params,
|
|
27
|
+
limit: requestedLimit,
|
|
28
|
+
after: cursor || void 0
|
|
29
|
+
});
|
|
30
|
+
if (recordsResult.isFail()) return Result.fail(recordsResult.error);
|
|
31
|
+
const { items: records, meta } = recordsResult.value;
|
|
32
|
+
totalCount = meta.totalCount;
|
|
33
|
+
const items = records.map((record)=>new WorkflowState(record, teams, identity));
|
|
34
|
+
const filtered = await this.stateFilter.filter(items);
|
|
35
|
+
totalRemoved += items.length - filtered.length;
|
|
36
|
+
accumulated.push(...filtered);
|
|
37
|
+
if (!meta.hasMoreItems) {
|
|
38
|
+
hasMoreItems = accumulated.length > requestedLimit;
|
|
39
|
+
cursor = null;
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
cursor = meta.cursor;
|
|
43
|
+
hasMoreItems = true;
|
|
44
|
+
}
|
|
45
|
+
const items = accumulated.slice(0, requestedLimit);
|
|
20
46
|
return Result.ok({
|
|
21
47
|
items,
|
|
22
|
-
meta
|
|
48
|
+
meta: {
|
|
49
|
+
totalCount: Math.max(0, totalCount - totalRemoved),
|
|
50
|
+
hasMoreItems,
|
|
51
|
+
cursor
|
|
52
|
+
}
|
|
23
53
|
});
|
|
24
54
|
}
|
|
25
55
|
}
|
|
@@ -28,7 +58,8 @@ const ListWorkflowStatesUseCase_ListWorkflowStatesUseCase = ListWorkflowStatesUs
|
|
|
28
58
|
dependencies: [
|
|
29
59
|
IdentityContext,
|
|
30
60
|
GetUserTeamsUseCase,
|
|
31
|
-
ListWorkflowStatesRepository
|
|
61
|
+
ListWorkflowStatesRepository,
|
|
62
|
+
WorkflowStateFilter
|
|
32
63
|
]
|
|
33
64
|
});
|
|
34
65
|
export { ListWorkflowStatesUseCase_ListWorkflowStatesUseCase as ListWorkflowStatesUseCase };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js","sources":["../../../../src/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { GetUserTeamsUseCase } from \"~/features/internal/GetUserTeams/index.js\";\nimport {\n ListWorkflowStatesRepository,\n ListWorkflowStatesUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\n\nclass ListWorkflowStatesUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private getUserTeams: GetUserTeamsUseCase.Interface,\n private repository: ListWorkflowStatesRepository.Interface\n ) {}\n\n async execute(params: UseCase.Params = {}): UseCase.Return {\n const identity = this.identityContext.getIdentity();\n\n const teamsResult = await this.getUserTeams.execute(identity.id);\n const teams = teamsResult.value;\n\n const recordsResult = await this.repository.execute(params);\n\n
|
|
1
|
+
{"version":3,"file":"features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js","sources":["../../../../src/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { GetUserTeamsUseCase } from \"~/features/internal/GetUserTeams/index.js\";\nimport {\n ListWorkflowStatesRepository,\n ListWorkflowStatesUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowStateFilter } from \"./WorkflowStateFilter.js\";\n\nclass ListWorkflowStatesUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private getUserTeams: GetUserTeamsUseCase.Interface,\n private repository: ListWorkflowStatesRepository.Interface,\n private stateFilter: WorkflowStateFilter.Interface\n ) {}\n\n async execute(params: UseCase.Params = {}): UseCase.Return {\n const identity = this.identityContext.getIdentity();\n\n const teamsResult = await this.getUserTeams.execute(identity.id);\n const teams = teamsResult.value;\n\n const requestedLimit = params.limit || 50;\n const accumulated: WorkflowState[] = [];\n let cursor: string | null = params.after || null;\n let totalCount = 0;\n let totalRemoved = 0;\n let hasMoreItems = false;\n\n while (accumulated.length < requestedLimit) {\n const recordsResult = await this.repository.execute({\n ...params,\n limit: requestedLimit,\n after: cursor || undefined\n });\n\n if (recordsResult.isFail()) {\n return Result.fail(recordsResult.error);\n }\n\n const { items: records, meta } = recordsResult.value;\n totalCount = meta.totalCount;\n\n const items = records.map(record => new WorkflowState(record, teams, identity));\n const filtered = await this.stateFilter.filter(items);\n\n totalRemoved += items.length - filtered.length;\n accumulated.push(...filtered);\n\n if (!meta.hasMoreItems) {\n hasMoreItems = accumulated.length > requestedLimit;\n cursor = null;\n break;\n }\n\n cursor = meta.cursor;\n hasMoreItems = true;\n }\n\n const items = accumulated.slice(0, requestedLimit);\n\n return Result.ok({\n items,\n meta: {\n totalCount: Math.max(0, totalCount - totalRemoved),\n hasMoreItems,\n cursor\n }\n });\n }\n}\n\nexport const ListWorkflowStatesUseCase = UseCase.createImplementation({\n implementation: ListWorkflowStatesUseCaseImpl,\n dependencies: [\n IdentityContext,\n GetUserTeamsUseCase,\n ListWorkflowStatesRepository,\n WorkflowStateFilter\n ]\n});\n"],"names":["ListWorkflowStatesUseCaseImpl","identityContext","getUserTeams","repository","stateFilter","params","identity","teamsResult","teams","requestedLimit","accumulated","cursor","totalCount","totalRemoved","hasMoreItems","recordsResult","undefined","Result","records","meta","items","record","WorkflowState","filtered","Math","ListWorkflowStatesUseCase","UseCase","IdentityContext","GetUserTeamsUseCase","ListWorkflowStatesRepository","WorkflowStateFilter"],"mappings":";;;;;;AAUA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,YAA2C,EAC3CC,UAAkD,EAClDC,WAA0C,CACpD;aAJUH,eAAe,GAAfA;aACAC,YAAY,GAAZA;aACAC,UAAU,GAAVA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,QAAQC,SAAyB,CAAC,CAAC,EAAkB;QACvD,MAAMC,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;QAEjD,MAAMC,cAAc,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAACD,SAAS,EAAE;QAC/D,MAAME,QAAQD,YAAY,KAAK;QAE/B,MAAME,iBAAiBJ,OAAO,KAAK,IAAI;QACvC,MAAMK,cAA+B,EAAE;QACvC,IAAIC,SAAwBN,OAAO,KAAK,IAAI;QAC5C,IAAIO,aAAa;QACjB,IAAIC,eAAe;QACnB,IAAIC,eAAe;QAEnB,MAAOJ,YAAY,MAAM,GAAGD,eAAgB;YACxC,MAAMM,gBAAgB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAChD,GAAGV,MAAM;gBACT,OAAOI;gBACP,OAAOE,UAAUK;YACrB;YAEA,IAAID,cAAc,MAAM,IACpB,OAAOE,OAAO,IAAI,CAACF,cAAc,KAAK;YAG1C,MAAM,EAAE,OAAOG,OAAO,EAAEC,IAAI,EAAE,GAAGJ,cAAc,KAAK;YACpDH,aAAaO,KAAK,UAAU;YAE5B,MAAMC,QAAQF,QAAQ,GAAG,CAACG,CAAAA,SAAU,IAAIC,cAAcD,QAAQb,OAAOF;YACrE,MAAMiB,WAAW,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAACH;YAE/CP,gBAAgBO,MAAM,MAAM,GAAGG,SAAS,MAAM;YAC9Cb,YAAY,IAAI,IAAIa;YAEpB,IAAI,CAACJ,KAAK,YAAY,EAAE;gBACpBL,eAAeJ,YAAY,MAAM,GAAGD;gBACpCE,SAAS;gBACT;YACJ;YAEAA,SAASQ,KAAK,MAAM;YACpBL,eAAe;QACnB;QAEA,MAAMM,QAAQV,YAAY,KAAK,CAAC,GAAGD;QAEnC,OAAOQ,OAAO,EAAE,CAAC;YACbG;YACA,MAAM;gBACF,YAAYI,KAAK,GAAG,CAAC,GAAGZ,aAAaC;gBACrCC;gBACAH;YACJ;QACJ;IACJ;AACJ;AAEO,MAAMc,sDAA4BC,0BAAAA,oBAA4B,CAAC;IAClE,gBAAgB1B;IAChB,cAAc;QACV2B;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WorkflowState } from "../../../domain/workflowState/WorkflowState.js";
|
|
2
|
+
export interface IWorkflowStateFilter {
|
|
3
|
+
filter(items: WorkflowState[]): Promise<WorkflowState[]>;
|
|
4
|
+
}
|
|
5
|
+
export declare const WorkflowStateFilter: import("@webiny/di").Abstraction<IWorkflowStateFilter>;
|
|
6
|
+
export declare namespace WorkflowStateFilter {
|
|
7
|
+
type Interface = IWorkflowStateFilter;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/workflowState/ListWorkflowStates/WorkflowStateFilter.js","sources":["../../../../src/features/workflowState/ListWorkflowStates/WorkflowStateFilter.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\n\nexport interface IWorkflowStateFilter {\n filter(items: WorkflowState[]): Promise<WorkflowState[]>;\n}\n\nexport const WorkflowStateFilter = createAbstraction<IWorkflowStateFilter>(\"WorkflowStateFilter\");\n\nexport namespace WorkflowStateFilter {\n export type Interface = IWorkflowStateFilter;\n}\n"],"names":["WorkflowStateFilter","createAbstraction"],"mappings":";AAOO,MAAMA,sBAAsBC,kBAAwC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { ListWorkflowStatesUseCase } from "./ListWorkflowStatesUseCase.js";
|
|
3
3
|
import { ListWorkflowStatesRepository } from "./ListWorkflowStatesRepository.js";
|
|
4
|
+
import { DefaultWorkflowStateFilter } from "./DefaultWorkflowStateFilter.js";
|
|
4
5
|
const ListWorkflowStatesFeature = createFeature({
|
|
5
6
|
name: "WorkflowState/ListWorkflowStates",
|
|
6
7
|
register (container) {
|
|
7
8
|
container.register(ListWorkflowStatesRepository).inSingletonScope();
|
|
9
|
+
container.register(DefaultWorkflowStateFilter);
|
|
8
10
|
container.register(ListWorkflowStatesUseCase);
|
|
9
11
|
}
|
|
10
12
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflowState/ListWorkflowStates/feature.js","sources":["../../../../src/features/workflowState/ListWorkflowStates/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWorkflowStatesUseCase } from \"./ListWorkflowStatesUseCase.js\";\nimport { ListWorkflowStatesRepository } from \"./ListWorkflowStatesRepository.js\";\n\nexport const ListWorkflowStatesFeature = createFeature({\n name: \"WorkflowState/ListWorkflowStates\",\n register(container) {\n container.register(ListWorkflowStatesRepository).inSingletonScope();\n container.register(ListWorkflowStatesUseCase);\n }\n});\n"],"names":["ListWorkflowStatesFeature","createFeature","container","ListWorkflowStatesRepository","ListWorkflowStatesUseCase"],"mappings":"
|
|
1
|
+
{"version":3,"file":"features/workflowState/ListWorkflowStates/feature.js","sources":["../../../../src/features/workflowState/ListWorkflowStates/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWorkflowStatesUseCase } from \"./ListWorkflowStatesUseCase.js\";\nimport { ListWorkflowStatesRepository } from \"./ListWorkflowStatesRepository.js\";\nimport { DefaultWorkflowStateFilter } from \"./DefaultWorkflowStateFilter.js\";\n\nexport const ListWorkflowStatesFeature = createFeature({\n name: \"WorkflowState/ListWorkflowStates\",\n register(container) {\n container.register(ListWorkflowStatesRepository).inSingletonScope();\n container.register(DefaultWorkflowStateFilter);\n container.register(ListWorkflowStatesUseCase);\n }\n});\n"],"names":["ListWorkflowStatesFeature","createFeature","container","ListWorkflowStatesRepository","DefaultWorkflowStateFilter","ListWorkflowStatesUseCase"],"mappings":";;;;AAKO,MAAMA,4BAA4BC,cAAc;IACnD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,8BAA8B,gBAAgB;QACjED,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;IACvB;AACJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const
|
|
1
|
+
import type { IGraphQLSchemaBuilder } from "@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js";
|
|
2
|
+
export declare const addNotificationsSchema: (builder: IGraphQLSchemaBuilder) => void;
|
package/graphql/notifications.js
CHANGED
|
@@ -1,48 +1,49 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveList } from "@webiny/api-graphql";
|
|
2
2
|
import { ListNotificationTypesUseCase } from "../features/notifications/ListNotificationTypes/index.js";
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
3
|
+
const addNotificationsSchema = (builder)=>{
|
|
4
|
+
builder.addTypeDefs(`
|
|
5
|
+
type WorkflowNotificationTypeError {
|
|
6
|
+
message: String!
|
|
7
|
+
code: String
|
|
8
|
+
data: JSON
|
|
9
|
+
stack: String
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
type WorkflowNotificationType {
|
|
13
|
+
id: String!
|
|
14
|
+
title: String!
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
type ListWorkflowNotificationTypesResponse {
|
|
18
|
+
data: [WorkflowNotificationType!]
|
|
19
|
+
error: WorkflowNotificationTypeError
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
extend type WorkflowsQuery {
|
|
23
|
+
listWorkflowNotificationTypes: ListWorkflowNotificationTypesResponse!
|
|
24
|
+
}
|
|
25
|
+
`);
|
|
26
|
+
builder.addResolver({
|
|
27
|
+
path: "WorkflowsQuery.listWorkflowNotificationTypes",
|
|
28
|
+
dependencies: [
|
|
29
|
+
ListNotificationTypesUseCase
|
|
30
|
+
],
|
|
31
|
+
resolver (listNotificationTypes) {
|
|
32
|
+
return ()=>resolveList(async ()=>{
|
|
33
|
+
const results = await listNotificationTypes.execute();
|
|
34
|
+
if (results.isFail()) throw results.error;
|
|
35
|
+
return {
|
|
36
|
+
items: results.value,
|
|
37
|
+
meta: {
|
|
38
|
+
totalCount: results.value.length,
|
|
39
|
+
cursor: null,
|
|
40
|
+
hasMoreItems: false
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
|
-
|
|
46
|
+
};
|
|
47
|
+
export { addNotificationsSchema };
|
|
47
48
|
|
|
48
49
|
//# sourceMappingURL=notifications.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql/notifications.js","sources":["../../src/graphql/notifications.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"graphql/notifications.js","sources":["../../src/graphql/notifications.ts"],"sourcesContent":["import { resolveList } from \"@webiny/api-graphql\";\nimport type { IGraphQLSchemaBuilder } from \"@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js\";\nimport { ListNotificationTypesUseCase } from \"~/features/notifications/ListNotificationTypes/index.js\";\n\nexport const addNotificationsSchema = (builder: IGraphQLSchemaBuilder): void => {\n builder.addTypeDefs(`\n type WorkflowNotificationTypeError {\n message: String!\n code: String\n data: JSON\n stack: String\n }\n\n type WorkflowNotificationType {\n id: String!\n title: String!\n }\n\n type ListWorkflowNotificationTypesResponse {\n data: [WorkflowNotificationType!]\n error: WorkflowNotificationTypeError\n }\n\n extend type WorkflowsQuery {\n listWorkflowNotificationTypes: ListWorkflowNotificationTypesResponse!\n }\n `);\n\n builder.addResolver({\n path: \"WorkflowsQuery.listWorkflowNotificationTypes\",\n dependencies: [ListNotificationTypesUseCase],\n resolver(listNotificationTypes) {\n return () =>\n resolveList(async () => {\n const results = await listNotificationTypes.execute();\n\n if (results.isFail()) {\n throw results.error;\n }\n return {\n items: results.value,\n meta: {\n totalCount: results.value.length,\n cursor: null,\n hasMoreItems: false\n }\n };\n });\n }\n });\n};\n"],"names":["addNotificationsSchema","builder","ListNotificationTypesUseCase","listNotificationTypes","resolveList","results"],"mappings":";;AAIO,MAAMA,yBAAyB,CAACC;IACnCA,QAAQ,WAAW,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;IAqBrB,CAAC;IAEDA,QAAQ,WAAW,CAAC;QAChB,MAAM;QACN,cAAc;YAACC;SAA6B;QAC5C,UAASC,qBAAqB;YAC1B,OAAO,IACHC,YAAY;oBACR,MAAMC,UAAU,MAAMF,sBAAsB,OAAO;oBAEnD,IAAIE,QAAQ,MAAM,IACd,MAAMA,QAAQ,KAAK;oBAEvB,OAAO;wBACH,OAAOA,QAAQ,KAAK;wBACpB,MAAM;4BACF,YAAYA,QAAQ,KAAK,CAAC,MAAM;4BAChC,QAAQ;4BACR,cAAc;wBAClB;oBACJ;gBACJ;QACR;IACJ;AACJ"}
|
|
@@ -21,6 +21,6 @@ export declare const listWorkflowStatesValidation: zod.ZodOptional<zod.ZodObject
|
|
|
21
21
|
isActive: zod.ZodOptional<zod.ZodBoolean>;
|
|
22
22
|
}, zod.core.$strip>>;
|
|
23
23
|
limit: zod.ZodOptional<zod.ZodNumber>;
|
|
24
|
-
sort: zod.ZodOptional<zod.ZodArray<zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${string}
|
|
24
|
+
sort: zod.ZodOptional<zod.ZodArray<zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${string}_ASC` | `${string}_DESC`, string>>>>;
|
|
25
25
|
after: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, zod.ZodTransform<string | undefined, string | null | undefined>>;
|
|
26
26
|
}, zod.core.$strip>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
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.ZodPipe<zod.ZodString, zod.ZodTransform<`${string}
|
|
4
|
+
sort: zod.ZodOptional<zod.ZodArray<zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${string}_ASC` | `${string}_DESC`, string>>>>;
|
|
5
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>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const
|
|
1
|
+
import type { IGraphQLSchemaBuilder } from "@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js";
|
|
2
|
+
export declare const addWorkflowStateSchema: (builder: IGraphQLSchemaBuilder) => void;
|