@webiny/app-headless-cms 6.1.0 → 6.2.0-beta.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/HeadlessCMS.js +5 -2
- package/HeadlessCMS.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/Header.js +3 -6
- package/admin/components/ContentEntryForm/Header/Header.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.js +1 -1
- package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.js.map +1 -1
- package/admin/contexts/Cms/index.js +32 -2
- package/admin/contexts/Cms/index.js.map +1 -1
- package/admin/hooks/usePermission.js +132 -125
- package/admin/hooks/usePermission.js.map +1 -1
- package/admin/plugins/apiInformation/index.js +3 -3
- package/admin/plugins/apiInformation/index.js.map +1 -1
- package/admin/plugins/apiInformation/placeholder.manage.graphql.d.ts +1 -0
- package/admin/plugins/apiInformation/placeholder.manage.graphql.js +22 -0
- package/admin/plugins/apiInformation/placeholder.manage.graphql.js.map +1 -0
- package/admin/plugins/apiInformation/placeholder.preview.graphql.d.ts +1 -0
- package/admin/plugins/apiInformation/placeholder.preview.graphql.js +19 -0
- package/admin/plugins/apiInformation/placeholder.preview.graphql.js.map +1 -0
- package/admin/plugins/apiInformation/placeholder.read.graphql.d.ts +1 -0
- package/admin/plugins/apiInformation/placeholder.read.graphql.js +20 -0
- package/admin/plugins/apiInformation/placeholder.read.graphql.js.map +1 -0
- package/admin/views/contentEntries/ContentEntriesContext.js +5 -15
- package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesModule.js +20 -14
- package/admin/views/contentEntries/ContentEntriesModule.js.map +1 -1
- package/admin/views/contentModels/ContentModelsDataList.js +103 -88
- package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
- package/domain/permissionsSchema.d.ts +31 -0
- package/domain/permissionsSchema.js +34 -0
- package/domain/permissionsSchema.js.map +1 -0
- package/exports/admin/cms.d.ts +3 -0
- package/exports/admin/cms.js +4 -0
- package/exports/admin/cms.js.map +1 -1
- package/features/ListCache.d.ts +29 -0
- package/features/ListCache.js +43 -0
- package/features/ListCache.js.map +1 -0
- package/features/contentEntry/events/EntryAfterCreateEvent.d.ts +10 -0
- package/features/contentEntry/events/EntryAfterCreateEvent.js +10 -0
- package/features/contentEntry/events/EntryAfterCreateEvent.js.map +1 -0
- package/features/contentEntry/events/EntryAfterDeleteEvent.d.ts +11 -0
- package/features/contentEntry/events/EntryAfterDeleteEvent.js +10 -0
- package/features/contentEntry/events/EntryAfterDeleteEvent.js.map +1 -0
- package/features/contentEntry/events/EntryAfterUpdateEvent.d.ts +10 -0
- package/features/contentEntry/events/EntryAfterUpdateEvent.js +10 -0
- package/features/contentEntry/events/EntryAfterUpdateEvent.js.map +1 -0
- package/features/contentEntry/events/abstractions.d.ts +19 -0
- package/features/contentEntry/events/abstractions.js +6 -0
- package/features/contentEntry/events/abstractions.js.map +1 -0
- package/features/contentEntry/events/index.d.ts +7 -0
- package/features/contentEntry/events/index.js +6 -0
- package/features/contentEntry/events/index.js.map +1 -0
- package/features/graphQLClient/CmsGraphQLClient.d.ts +13 -0
- package/features/graphQLClient/CmsGraphQLClient.js +21 -0
- package/features/graphQLClient/CmsGraphQLClient.js.map +1 -0
- package/features/graphQLClient/abstractions.d.ts +17 -0
- package/features/graphQLClient/abstractions.js +4 -0
- package/features/graphQLClient/abstractions.js.map +1 -0
- package/features/graphQLClient/feature.d.ts +3 -0
- package/features/graphQLClient/feature.js +16 -0
- package/features/graphQLClient/feature.js.map +1 -0
- package/features/graphQLClient/index.d.ts +1 -0
- package/features/graphQLClient/index.js +3 -0
- package/features/graphQLClient/index.js.map +1 -0
- package/features/modelGroup/abstractions.d.ts +6 -0
- package/features/modelGroup/abstractions.js +4 -0
- package/features/modelGroup/abstractions.js.map +1 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupGateway.d.ts +23 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupGateway.js +59 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupGateway.js.map +1 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupRepository.d.ts +13 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupRepository.js +19 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupRepository.js.map +1 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupUseCase.d.ts +10 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupUseCase.js +15 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupUseCase.js.map +1 -0
- package/features/modelGroup/createModelGroup/abstractions.d.ts +29 -0
- package/features/modelGroup/createModelGroup/abstractions.js +15 -0
- package/features/modelGroup/createModelGroup/abstractions.js.map +1 -0
- package/features/modelGroup/createModelGroup/feature.d.ts +3 -0
- package/features/modelGroup/createModelGroup/feature.js +20 -0
- package/features/modelGroup/createModelGroup/feature.js.map +1 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupGateway.d.ts +21 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupGateway.js +41 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupGateway.js.map +1 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupRepository.d.ts +12 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupRepository.js +18 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupRepository.js.map +1 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupUseCase.d.ts +10 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupUseCase.js +15 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupUseCase.js.map +1 -0
- package/features/modelGroup/deleteModelGroup/abstractions.d.ts +21 -0
- package/features/modelGroup/deleteModelGroup/abstractions.js +15 -0
- package/features/modelGroup/deleteModelGroup/abstractions.js.map +1 -0
- package/features/modelGroup/deleteModelGroup/feature.d.ts +3 -0
- package/features/modelGroup/deleteModelGroup/feature.js +20 -0
- package/features/modelGroup/deleteModelGroup/feature.js.map +1 -0
- package/features/modelGroup/feature.d.ts +1 -0
- package/features/modelGroup/feature.js +21 -0
- package/features/modelGroup/feature.js.map +1 -0
- package/features/modelGroup/getModelGroup/GetModelGroupGateway.d.ts +22 -0
- package/features/modelGroup/getModelGroup/GetModelGroupGateway.js +55 -0
- package/features/modelGroup/getModelGroup/GetModelGroupGateway.js.map +1 -0
- package/features/modelGroup/getModelGroup/GetModelGroupRepository.d.ts +12 -0
- package/features/modelGroup/getModelGroup/GetModelGroupRepository.js +19 -0
- package/features/modelGroup/getModelGroup/GetModelGroupRepository.js.map +1 -0
- package/features/modelGroup/getModelGroup/GetModelGroupUseCase.d.ts +10 -0
- package/features/modelGroup/getModelGroup/GetModelGroupUseCase.js +15 -0
- package/features/modelGroup/getModelGroup/GetModelGroupUseCase.js.map +1 -0
- package/features/modelGroup/getModelGroup/abstractions.d.ts +22 -0
- package/features/modelGroup/getModelGroup/abstractions.js +15 -0
- package/features/modelGroup/getModelGroup/abstractions.js.map +1 -0
- package/features/modelGroup/getModelGroup/feature.d.ts +3 -0
- package/features/modelGroup/getModelGroup/feature.js +20 -0
- package/features/modelGroup/getModelGroup/feature.js.map +1 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsGateway.d.ts +19 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsGateway.js +56 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsGateway.js.map +1 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsRepository.d.ts +12 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsRepository.js +23 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsRepository.js.map +1 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsUseCase.d.ts +10 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsUseCase.js +15 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsUseCase.js.map +1 -0
- package/features/modelGroup/listModelGroups/abstractions.d.ts +39 -0
- package/features/modelGroup/listModelGroups/abstractions.js +15 -0
- package/features/modelGroup/listModelGroups/abstractions.js.map +1 -0
- package/features/modelGroup/listModelGroups/feature.d.ts +3 -0
- package/features/modelGroup/listModelGroups/feature.js +20 -0
- package/features/modelGroup/listModelGroups/feature.js.map +1 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupGateway.d.ts +24 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupGateway.js +56 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupGateway.js.map +1 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupRepository.d.ts +13 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupRepository.js +31 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupRepository.js.map +1 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupUseCase.d.ts +10 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupUseCase.js +15 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupUseCase.js.map +1 -0
- package/features/modelGroup/updateModelGroup/abstractions.d.ts +30 -0
- package/features/modelGroup/updateModelGroup/abstractions.js +15 -0
- package/features/modelGroup/updateModelGroup/abstractions.js.map +1 -0
- package/features/modelGroup/updateModelGroup/feature.d.ts +3 -0
- package/features/modelGroup/updateModelGroup/feature.js +20 -0
- package/features/modelGroup/updateModelGroup/feature.js.map +1 -0
- package/features/permissions/abstractions.d.ts +17 -0
- package/features/permissions/abstractions.js +5 -0
- package/features/permissions/abstractions.js.map +1 -0
- package/features/permissions/feature.d.ts +14 -0
- package/features/permissions/feature.js +6 -0
- package/features/permissions/feature.js.map +1 -0
- package/package.json +29 -30
- package/presentation/modelGroup/hooks/index.d.ts +5 -0
- package/presentation/modelGroup/hooks/index.js +7 -0
- package/presentation/modelGroup/hooks/index.js.map +1 -0
- package/presentation/modelGroup/hooks/useCreateModelGroup.d.ts +4 -0
- package/presentation/modelGroup/hooks/useCreateModelGroup.js +12 -0
- package/presentation/modelGroup/hooks/useCreateModelGroup.js.map +1 -0
- package/presentation/modelGroup/hooks/useDeleteModelGroup.d.ts +3 -0
- package/presentation/modelGroup/hooks/useDeleteModelGroup.js +12 -0
- package/presentation/modelGroup/hooks/useDeleteModelGroup.js.map +1 -0
- package/presentation/modelGroup/hooks/useGetModelGroup.d.ts +3 -0
- package/presentation/modelGroup/hooks/useGetModelGroup.js +12 -0
- package/presentation/modelGroup/hooks/useGetModelGroup.js.map +1 -0
- package/presentation/modelGroup/hooks/useListModelGroups.d.ts +3 -0
- package/presentation/modelGroup/hooks/useListModelGroups.js +16 -0
- package/presentation/modelGroup/hooks/useListModelGroups.js.map +1 -0
- package/presentation/modelGroup/hooks/useUpdateModelGroup.d.ts +4 -0
- package/presentation/modelGroup/hooks/useUpdateModelGroup.js +12 -0
- package/presentation/modelGroup/hooks/useUpdateModelGroup.js.map +1 -0
- package/admin/plugins/apiInformation/placeholder.manage.graphql +0 -18
- package/admin/plugins/apiInformation/placeholder.preview.graphql +0 -15
- package/admin/plugins/apiInformation/placeholder.read.graphql +0 -16
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import gql from "graphql-tag";
|
|
2
|
+
import { CmsGraphQLClient } from "../../graphQLClient/abstractions.js";
|
|
3
|
+
import { ListModelGroupsGateway as GatewayAbstraction } from "./abstractions.js";
|
|
4
|
+
const LIST_CONTENT_MODEL_GROUPS = gql`
|
|
5
|
+
query CmsListContentModelGroups {
|
|
6
|
+
listContentModelGroups {
|
|
7
|
+
data {
|
|
8
|
+
id
|
|
9
|
+
name
|
|
10
|
+
slug
|
|
11
|
+
description
|
|
12
|
+
icon
|
|
13
|
+
createdOn
|
|
14
|
+
plugin
|
|
15
|
+
createdBy {
|
|
16
|
+
id
|
|
17
|
+
displayName
|
|
18
|
+
type
|
|
19
|
+
}
|
|
20
|
+
contentModels {
|
|
21
|
+
modelId
|
|
22
|
+
name
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
error {
|
|
26
|
+
message
|
|
27
|
+
code
|
|
28
|
+
data
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
`;
|
|
33
|
+
class ListModelGroupsGatewayImpl {
|
|
34
|
+
constructor(client) {
|
|
35
|
+
this.client = client;
|
|
36
|
+
}
|
|
37
|
+
async execute() {
|
|
38
|
+
const response = await this.client.execute({
|
|
39
|
+
query: LIST_CONTENT_MODEL_GROUPS
|
|
40
|
+
});
|
|
41
|
+
const {
|
|
42
|
+
data,
|
|
43
|
+
error
|
|
44
|
+
} = response.listContentModelGroups;
|
|
45
|
+
if (!data) {
|
|
46
|
+
throw new Error(error?.message || "Could not fetch model groups");
|
|
47
|
+
}
|
|
48
|
+
return data;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export const ListModelGroupsGateway = GatewayAbstraction.createImplementation({
|
|
52
|
+
implementation: ListModelGroupsGatewayImpl,
|
|
53
|
+
dependencies: [CmsGraphQLClient]
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=ListModelGroupsGateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["gql","CmsGraphQLClient","ListModelGroupsGateway","GatewayAbstraction","LIST_CONTENT_MODEL_GROUPS","ListModelGroupsGatewayImpl","constructor","client","execute","response","query","data","error","listContentModelGroups","Error","message","createImplementation","implementation","dependencies"],"sources":["ListModelGroupsGateway.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { CmsGraphQLClient } from \"~/features/graphQLClient/abstractions.js\";\nimport type { CmsErrorResponse } from \"~/types.js\";\nimport type { ModelGroupDto } from \"./abstractions.js\";\nimport { ListModelGroupsGateway as GatewayAbstraction } from \"./abstractions.js\";\n\nexport interface ListModelGroupsResponse {\n listContentModelGroups: {\n data: ModelGroupDto[] | null;\n error: CmsErrorResponse | null;\n };\n}\n\nconst LIST_CONTENT_MODEL_GROUPS = gql`\n query CmsListContentModelGroups {\n listContentModelGroups {\n data {\n id\n name\n slug\n description\n icon\n createdOn\n plugin\n createdBy {\n id\n displayName\n type\n }\n contentModels {\n modelId\n name\n }\n }\n error {\n message\n code\n data\n }\n }\n }\n`;\n\nclass ListModelGroupsGatewayImpl implements GatewayAbstraction.Interface {\n constructor(private client: CmsGraphQLClient.Interface) {}\n\n async execute() {\n const response = await this.client.execute<ListModelGroupsResponse>({\n query: LIST_CONTENT_MODEL_GROUPS\n });\n\n const { data, error } = response.listContentModelGroups;\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch model groups\");\n }\n\n return data;\n }\n}\n\nexport const ListModelGroupsGateway = GatewayAbstraction.createImplementation({\n implementation: ListModelGroupsGatewayImpl,\n dependencies: [CmsGraphQLClient]\n});\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,aAAa;AAC7B,SAASC,gBAAgB;AAGzB,SAASC,sBAAsB,IAAIC,kBAAkB;AASrD,MAAMC,yBAAyB,GAAGJ,GAAG;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMK,0BAA0B,CAAyC;EACrEC,WAAWA,CAASC,MAAkC,EAAE;IAAA,KAApCA,MAAkC,GAAlCA,MAAkC;EAAG;EAEzD,MAAMC,OAAOA,CAAA,EAAG;IACZ,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACF,MAAM,CAACC,OAAO,CAA0B;MAChEE,KAAK,EAAEN;IACX,CAAC,CAAC;IAEF,MAAM;MAAEO,IAAI;MAAEC;IAAM,CAAC,GAAGH,QAAQ,CAACI,sBAAsB;IAEvD,IAAI,CAACF,IAAI,EAAE;MACP,MAAM,IAAIG,KAAK,CAACF,KAAK,EAAEG,OAAO,IAAI,8BAA8B,CAAC;IACrE;IAEA,OAAOJ,IAAI;EACf;AACJ;AAEA,OAAO,MAAMT,sBAAsB,GAAGC,kBAAkB,CAACa,oBAAoB,CAAC;EAC1EC,cAAc,EAAEZ,0BAA0B;EAC1Ca,YAAY,EAAE,CAACjB,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ListModelGroupsRepository as RepositoryAbstraction, ListModelGroupsGateway } from "./abstractions.js";
|
|
2
|
+
import { ModelGroupsCache } from "../../../features/modelGroup/abstractions.js";
|
|
3
|
+
declare class ListModelGroupsRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
4
|
+
private cache;
|
|
5
|
+
private gateway;
|
|
6
|
+
constructor(cache: ModelGroupsCache.Interface, gateway: ListModelGroupsGateway.Interface);
|
|
7
|
+
execute(): Promise<import("./abstractions.js").ModelGroupDto[]>;
|
|
8
|
+
}
|
|
9
|
+
export declare const ListModelGroupsRepository: typeof ListModelGroupsRepositoryImpl & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListModelGroupsRepository>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ListModelGroupsRepository as RepositoryAbstraction, ListModelGroupsGateway } from "./abstractions.js";
|
|
2
|
+
import { ModelGroupsCache } from "../abstractions.js";
|
|
3
|
+
class ListModelGroupsRepositoryImpl {
|
|
4
|
+
constructor(cache, gateway) {
|
|
5
|
+
this.cache = cache;
|
|
6
|
+
this.gateway = gateway;
|
|
7
|
+
}
|
|
8
|
+
async execute() {
|
|
9
|
+
if (this.cache.hasItems()) {
|
|
10
|
+
return this.cache.getItems();
|
|
11
|
+
}
|
|
12
|
+
const items = await this.gateway.execute();
|
|
13
|
+
this.cache.clear();
|
|
14
|
+
this.cache.addItems(items);
|
|
15
|
+
return this.cache.getItems();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export const ListModelGroupsRepository = RepositoryAbstraction.createImplementation({
|
|
19
|
+
implementation: ListModelGroupsRepositoryImpl,
|
|
20
|
+
dependencies: [ModelGroupsCache, ListModelGroupsGateway]
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=ListModelGroupsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ListModelGroupsRepository","RepositoryAbstraction","ListModelGroupsGateway","ModelGroupsCache","ListModelGroupsRepositoryImpl","constructor","cache","gateway","execute","hasItems","getItems","items","clear","addItems","createImplementation","implementation","dependencies"],"sources":["ListModelGroupsRepository.ts"],"sourcesContent":["import {\n ListModelGroupsRepository as RepositoryAbstraction,\n ListModelGroupsGateway\n} from \"./abstractions.js\";\nimport { ModelGroupsCache } from \"~/features/modelGroup/abstractions.js\";\n\nclass ListModelGroupsRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private cache: ModelGroupsCache.Interface,\n private gateway: ListModelGroupsGateway.Interface\n ) {}\n\n async execute() {\n if (this.cache.hasItems()) {\n return this.cache.getItems();\n }\n\n const items = await this.gateway.execute();\n\n this.cache.clear();\n this.cache.addItems(items);\n\n return this.cache.getItems();\n }\n}\n\nexport const ListModelGroupsRepository = RepositoryAbstraction.createImplementation({\n implementation: ListModelGroupsRepositoryImpl,\n dependencies: [ModelGroupsCache, ListModelGroupsGateway]\n});\n"],"mappings":"AAAA,SACIA,yBAAyB,IAAIC,qBAAqB,EAClDC,sBAAsB;AAE1B,SAASC,gBAAgB;AAEzB,MAAMC,6BAA6B,CAA4C;EAC3EC,WAAWA,CACCC,KAAiC,EACjCC,OAAyC,EACnD;IAAA,KAFUD,KAAiC,GAAjCA,KAAiC;IAAA,KACjCC,OAAyC,GAAzCA,OAAyC;EAClD;EAEH,MAAMC,OAAOA,CAAA,EAAG;IACZ,IAAI,IAAI,CAACF,KAAK,CAACG,QAAQ,CAAC,CAAC,EAAE;MACvB,OAAO,IAAI,CAACH,KAAK,CAACI,QAAQ,CAAC,CAAC;IAChC;IAEA,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACJ,OAAO,CAACC,OAAO,CAAC,CAAC;IAE1C,IAAI,CAACF,KAAK,CAACM,KAAK,CAAC,CAAC;IAClB,IAAI,CAACN,KAAK,CAACO,QAAQ,CAACF,KAAK,CAAC;IAE1B,OAAO,IAAI,CAACL,KAAK,CAACI,QAAQ,CAAC,CAAC;EAChC;AACJ;AAEA,OAAO,MAAMV,yBAAyB,GAAGC,qBAAqB,CAACa,oBAAoB,CAAC;EAChFC,cAAc,EAAEX,6BAA6B;EAC7CY,YAAY,EAAE,CAACb,gBAAgB,EAAED,sBAAsB;AAC3D,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ListModelGroupsUseCase as UseCaseAbstraction, ListModelGroupsRepository } from "./abstractions.js";
|
|
2
|
+
declare class ListModelGroupsUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
3
|
+
private repository;
|
|
4
|
+
constructor(repository: ListModelGroupsRepository.Interface);
|
|
5
|
+
execute(): Promise<import("./abstractions.js").ModelGroupDto[]>;
|
|
6
|
+
}
|
|
7
|
+
export declare const ListModelGroupsUseCase: typeof ListModelGroupsUseCaseImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IListModelGroupsUseCase>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ListModelGroupsUseCase as UseCaseAbstraction, ListModelGroupsRepository } from "./abstractions.js";
|
|
2
|
+
class ListModelGroupsUseCaseImpl {
|
|
3
|
+
constructor(repository) {
|
|
4
|
+
this.repository = repository;
|
|
5
|
+
}
|
|
6
|
+
async execute() {
|
|
7
|
+
return this.repository.execute();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const ListModelGroupsUseCase = UseCaseAbstraction.createImplementation({
|
|
11
|
+
implementation: ListModelGroupsUseCaseImpl,
|
|
12
|
+
dependencies: [ListModelGroupsRepository]
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=ListModelGroupsUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ListModelGroupsUseCase","UseCaseAbstraction","ListModelGroupsRepository","ListModelGroupsUseCaseImpl","constructor","repository","execute","createImplementation","implementation","dependencies"],"sources":["ListModelGroupsUseCase.ts"],"sourcesContent":["import {\n ListModelGroupsUseCase as UseCaseAbstraction,\n ListModelGroupsRepository\n} from \"./abstractions.js\";\n\nclass ListModelGroupsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: ListModelGroupsRepository.Interface) {}\n\n async execute() {\n return this.repository.execute();\n }\n}\n\nexport const ListModelGroupsUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListModelGroupsUseCaseImpl,\n dependencies: [ListModelGroupsRepository]\n});\n"],"mappings":"AAAA,SACIA,sBAAsB,IAAIC,kBAAkB,EAC5CC,yBAAyB;AAG7B,MAAMC,0BAA0B,CAAyC;EACrEC,WAAWA,CAASC,UAA+C,EAAE;IAAA,KAAjDA,UAA+C,GAA/CA,UAA+C;EAAG;EAEtE,MAAMC,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACD,UAAU,CAACC,OAAO,CAAC,CAAC;EACpC;AACJ;AAEA,OAAO,MAAMN,sBAAsB,GAAGC,kBAAkB,CAACM,oBAAoB,CAAC;EAC1EC,cAAc,EAAEL,0BAA0B;EAC1CM,YAAY,EAAE,CAACP,yBAAyB;AAC5C,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface IListModelGroupsUseCase {
|
|
2
|
+
execute: () => Promise<ModelGroupDto[]>;
|
|
3
|
+
}
|
|
4
|
+
export declare const ListModelGroupsUseCase: import("@webiny/di").Abstraction<IListModelGroupsUseCase>;
|
|
5
|
+
export declare namespace ListModelGroupsUseCase {
|
|
6
|
+
type Interface = IListModelGroupsUseCase;
|
|
7
|
+
}
|
|
8
|
+
export interface IListModelGroupsRepository {
|
|
9
|
+
execute: () => Promise<ModelGroupDto[]>;
|
|
10
|
+
}
|
|
11
|
+
export declare const ListModelGroupsRepository: import("@webiny/di").Abstraction<IListModelGroupsRepository>;
|
|
12
|
+
export declare namespace ListModelGroupsRepository {
|
|
13
|
+
type Interface = IListModelGroupsRepository;
|
|
14
|
+
}
|
|
15
|
+
export interface ModelGroupDto {
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
slug: string;
|
|
19
|
+
description: string;
|
|
20
|
+
icon: string;
|
|
21
|
+
createdOn: string;
|
|
22
|
+
plugin: boolean;
|
|
23
|
+
createdBy: {
|
|
24
|
+
id: string;
|
|
25
|
+
displayName: string;
|
|
26
|
+
type: string;
|
|
27
|
+
};
|
|
28
|
+
contentModels: {
|
|
29
|
+
modelId: string;
|
|
30
|
+
name: string;
|
|
31
|
+
}[];
|
|
32
|
+
}
|
|
33
|
+
export interface IListModelGroupsGateway {
|
|
34
|
+
execute: () => Promise<ModelGroupDto[]>;
|
|
35
|
+
}
|
|
36
|
+
export declare const ListModelGroupsGateway: import("@webiny/di").Abstraction<IListModelGroupsGateway>;
|
|
37
|
+
export declare namespace ListModelGroupsGateway {
|
|
38
|
+
type Interface = IListModelGroupsGateway;
|
|
39
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/admin";
|
|
2
|
+
|
|
3
|
+
// Use Case
|
|
4
|
+
|
|
5
|
+
export const ListModelGroupsUseCase = createAbstraction("ListModelGroupsUseCase");
|
|
6
|
+
|
|
7
|
+
// Repository
|
|
8
|
+
|
|
9
|
+
export const ListModelGroupsRepository = createAbstraction("ListModelGroupsRepository");
|
|
10
|
+
|
|
11
|
+
// Gateway
|
|
12
|
+
|
|
13
|
+
export const ListModelGroupsGateway = createAbstraction("ListModelGroupsGateway");
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","ListModelGroupsUseCase","ListModelGroupsRepository","ListModelGroupsGateway"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\n\n// Use Case\n\nexport interface IListModelGroupsUseCase {\n execute: () => Promise<ModelGroupDto[]>;\n}\n\nexport const ListModelGroupsUseCase =\n createAbstraction<IListModelGroupsUseCase>(\"ListModelGroupsUseCase\");\n\nexport namespace ListModelGroupsUseCase {\n export type Interface = IListModelGroupsUseCase;\n}\n\n// Repository\n\nexport interface IListModelGroupsRepository {\n execute: () => Promise<ModelGroupDto[]>;\n}\n\nexport const ListModelGroupsRepository = createAbstraction<IListModelGroupsRepository>(\n \"ListModelGroupsRepository\"\n);\n\nexport namespace ListModelGroupsRepository {\n export type Interface = IListModelGroupsRepository;\n}\n\n// Gateway\n\nexport interface ModelGroupDto {\n id: string;\n name: string;\n slug: string;\n description: string;\n icon: string;\n createdOn: string;\n plugin: boolean;\n createdBy: {\n id: string;\n displayName: string;\n type: string;\n };\n contentModels: { modelId: string; name: string }[];\n}\n\nexport interface IListModelGroupsGateway {\n execute: () => Promise<ModelGroupDto[]>;\n}\n\nexport const ListModelGroupsGateway =\n createAbstraction<IListModelGroupsGateway>(\"ListModelGroupsGateway\");\n\nexport namespace ListModelGroupsGateway {\n export type Interface = IListModelGroupsGateway;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,uBAAuB;;AAEzD;;AAMA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAMxE;;AAMA,OAAO,MAAME,yBAAyB,GAAGF,iBAAiB,CACtD,2BACJ,CAAC;;AAMD;;AAsBA,OAAO,MAAMG,sBAAsB,GAC/BH,iBAAiB,CAA0B,wBAAwB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/admin";
|
|
2
|
+
import { ListModelGroupsUseCase as UseCase } from "./abstractions.js";
|
|
3
|
+
import { ListModelGroupsUseCase } from "./ListModelGroupsUseCase.js";
|
|
4
|
+
import { ListModelGroupsRepository } from "./ListModelGroupsRepository.js";
|
|
5
|
+
import { ListModelGroupsGateway } from "./ListModelGroupsGateway.js";
|
|
6
|
+
export const ListModelGroupsFeature = createFeature({
|
|
7
|
+
name: "ListModelGroups",
|
|
8
|
+
register(container) {
|
|
9
|
+
container.register(ListModelGroupsUseCase);
|
|
10
|
+
container.register(ListModelGroupsRepository).inSingletonScope();
|
|
11
|
+
container.register(ListModelGroupsGateway);
|
|
12
|
+
},
|
|
13
|
+
resolve(container) {
|
|
14
|
+
return {
|
|
15
|
+
useCase: container.resolve(UseCase)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","ListModelGroupsUseCase","UseCase","ListModelGroupsRepository","ListModelGroupsGateway","ListModelGroupsFeature","name","register","container","inSingletonScope","resolve","useCase"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { ListModelGroupsUseCase as UseCase } from \"./abstractions.js\";\nimport { ListModelGroupsUseCase } from \"./ListModelGroupsUseCase.js\";\nimport { ListModelGroupsRepository } from \"./ListModelGroupsRepository.js\";\nimport { ListModelGroupsGateway } from \"./ListModelGroupsGateway.js\";\n\nexport const ListModelGroupsFeature = createFeature({\n name: \"ListModelGroups\",\n register(container) {\n container.register(ListModelGroupsUseCase);\n container.register(ListModelGroupsRepository).inSingletonScope();\n container.register(ListModelGroupsGateway);\n },\n resolve(container) {\n return {\n useCase: container.resolve(UseCase)\n };\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,sBAAsB,IAAIC,OAAO;AAC1C,SAASD,sBAAsB;AAC/B,SAASE,yBAAyB;AAClC,SAASC,sBAAsB;AAE/B,OAAO,MAAMC,sBAAsB,GAAGL,aAAa,CAAC;EAChDM,IAAI,EAAE,iBAAiB;EACvBC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACN,sBAAsB,CAAC;IAC1CO,SAAS,CAACD,QAAQ,CAACJ,yBAAyB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IAChED,SAAS,CAACD,QAAQ,CAACH,sBAAsB,CAAC;EAC9C,CAAC;EACDM,OAAOA,CAACF,SAAS,EAAE;IACf,OAAO;MACHG,OAAO,EAAEH,SAAS,CAACE,OAAO,CAACR,OAAO;IACtC,CAAC;EACL;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CmsGraphQLClient } from "../../../features/graphQLClient/abstractions.js";
|
|
2
|
+
import type { CmsErrorResponse } from "../../../types.js";
|
|
3
|
+
import type { ModelGroupDto } from "../listModelGroups/abstractions.js";
|
|
4
|
+
import type { UpdateModelGroupParams } from "./abstractions.js";
|
|
5
|
+
import { UpdateModelGroupGateway as GatewayAbstraction } from "./abstractions.js";
|
|
6
|
+
export interface UpdateModelGroupResponse {
|
|
7
|
+
contentModelGroup: {
|
|
8
|
+
data: ModelGroupDto | null;
|
|
9
|
+
error: CmsErrorResponse | null;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export interface UpdateModelGroupVariables {
|
|
13
|
+
id: string;
|
|
14
|
+
data: Omit<UpdateModelGroupParams, "id">;
|
|
15
|
+
}
|
|
16
|
+
declare class UpdateModelGroupGatewayImpl implements GatewayAbstraction.Interface {
|
|
17
|
+
private client;
|
|
18
|
+
constructor(client: CmsGraphQLClient.Interface);
|
|
19
|
+
execute(id: string, data: Omit<UpdateModelGroupParams, "id">): Promise<ModelGroupDto>;
|
|
20
|
+
}
|
|
21
|
+
export declare const UpdateModelGroupGateway: typeof UpdateModelGroupGatewayImpl & {
|
|
22
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateModelGroupGateway>;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import gql from "graphql-tag";
|
|
2
|
+
import { CmsGraphQLClient } from "../../graphQLClient/abstractions.js";
|
|
3
|
+
import { UpdateModelGroupGateway as GatewayAbstraction } from "./abstractions.js";
|
|
4
|
+
const UPDATE_CONTENT_MODEL_GROUP = gql`
|
|
5
|
+
mutation CmsUpdateContentModelGroup($id: ID!, $data: CmsContentModelGroupInput!) {
|
|
6
|
+
contentModelGroup: updateContentModelGroup(id: $id, data: $data) {
|
|
7
|
+
data {
|
|
8
|
+
id
|
|
9
|
+
name
|
|
10
|
+
slug
|
|
11
|
+
description
|
|
12
|
+
icon
|
|
13
|
+
createdOn
|
|
14
|
+
plugin
|
|
15
|
+
createdBy {
|
|
16
|
+
id
|
|
17
|
+
displayName
|
|
18
|
+
type
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
error {
|
|
22
|
+
message
|
|
23
|
+
code
|
|
24
|
+
data
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
29
|
+
class UpdateModelGroupGatewayImpl {
|
|
30
|
+
constructor(client) {
|
|
31
|
+
this.client = client;
|
|
32
|
+
}
|
|
33
|
+
async execute(id, data) {
|
|
34
|
+
const response = await this.client.execute({
|
|
35
|
+
query: UPDATE_CONTENT_MODEL_GROUP,
|
|
36
|
+
variables: {
|
|
37
|
+
id,
|
|
38
|
+
data
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const {
|
|
42
|
+
data: result,
|
|
43
|
+
error
|
|
44
|
+
} = response.contentModelGroup;
|
|
45
|
+
if (!result) {
|
|
46
|
+
throw new Error(error?.message || "Could not update model group");
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export const UpdateModelGroupGateway = GatewayAbstraction.createImplementation({
|
|
52
|
+
implementation: UpdateModelGroupGatewayImpl,
|
|
53
|
+
dependencies: [CmsGraphQLClient]
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=UpdateModelGroupGateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["gql","CmsGraphQLClient","UpdateModelGroupGateway","GatewayAbstraction","UPDATE_CONTENT_MODEL_GROUP","UpdateModelGroupGatewayImpl","constructor","client","execute","id","data","response","query","variables","result","error","contentModelGroup","Error","message","createImplementation","implementation","dependencies"],"sources":["UpdateModelGroupGateway.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { CmsGraphQLClient } from \"~/features/graphQLClient/abstractions.js\";\nimport type { CmsErrorResponse } from \"~/types.js\";\nimport type { ModelGroupDto } from \"../listModelGroups/abstractions.js\";\nimport type { UpdateModelGroupParams } from \"./abstractions.js\";\nimport { UpdateModelGroupGateway as GatewayAbstraction } from \"./abstractions.js\";\n\nexport interface UpdateModelGroupResponse {\n contentModelGroup: {\n data: ModelGroupDto | null;\n error: CmsErrorResponse | null;\n };\n}\n\nexport interface UpdateModelGroupVariables {\n id: string;\n data: Omit<UpdateModelGroupParams, \"id\">;\n}\n\nconst UPDATE_CONTENT_MODEL_GROUP = gql`\n mutation CmsUpdateContentModelGroup($id: ID!, $data: CmsContentModelGroupInput!) {\n contentModelGroup: updateContentModelGroup(id: $id, data: $data) {\n data {\n id\n name\n slug\n description\n icon\n createdOn\n plugin\n createdBy {\n id\n displayName\n type\n }\n }\n error {\n message\n code\n data\n }\n }\n }\n`;\n\nclass UpdateModelGroupGatewayImpl implements GatewayAbstraction.Interface {\n constructor(private client: CmsGraphQLClient.Interface) {}\n\n async execute(id: string, data: Omit<UpdateModelGroupParams, \"id\">) {\n const response = await this.client.execute<\n UpdateModelGroupResponse,\n UpdateModelGroupVariables\n >({\n query: UPDATE_CONTENT_MODEL_GROUP,\n variables: { id, data }\n });\n\n const { data: result, error } = response.contentModelGroup;\n\n if (!result) {\n throw new Error(error?.message || \"Could not update model group\");\n }\n\n return result;\n }\n}\n\nexport const UpdateModelGroupGateway = GatewayAbstraction.createImplementation({\n implementation: UpdateModelGroupGatewayImpl,\n dependencies: [CmsGraphQLClient]\n});\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,aAAa;AAC7B,SAASC,gBAAgB;AAIzB,SAASC,uBAAuB,IAAIC,kBAAkB;AActD,MAAMC,0BAA0B,GAAGJ,GAAG;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMK,2BAA2B,CAAyC;EACtEC,WAAWA,CAASC,MAAkC,EAAE;IAAA,KAApCA,MAAkC,GAAlCA,MAAkC;EAAG;EAEzD,MAAMC,OAAOA,CAACC,EAAU,EAAEC,IAAwC,EAAE;IAChE,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,MAAM,CAACC,OAAO,CAGxC;MACEI,KAAK,EAAER,0BAA0B;MACjCS,SAAS,EAAE;QAAEJ,EAAE;QAAEC;MAAK;IAC1B,CAAC,CAAC;IAEF,MAAM;MAAEA,IAAI,EAAEI,MAAM;MAAEC;IAAM,CAAC,GAAGJ,QAAQ,CAACK,iBAAiB;IAE1D,IAAI,CAACF,MAAM,EAAE;MACT,MAAM,IAAIG,KAAK,CAACF,KAAK,EAAEG,OAAO,IAAI,8BAA8B,CAAC;IACrE;IAEA,OAAOJ,MAAM;EACjB;AACJ;AAEA,OAAO,MAAMZ,uBAAuB,GAAGC,kBAAkB,CAACgB,oBAAoB,CAAC;EAC3EC,cAAc,EAAEf,2BAA2B;EAC3CgB,YAAY,EAAE,CAACpB,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { UpdateModelGroupParams } from "./abstractions.js";
|
|
2
|
+
import { UpdateModelGroupRepository as RepositoryAbstraction, UpdateModelGroupGateway } from "./abstractions.js";
|
|
3
|
+
import { ModelGroupsCache } from "../../../features/modelGroup/abstractions.js";
|
|
4
|
+
declare class UpdateModelGroupRepositoryImpl implements RepositoryAbstraction.Interface {
|
|
5
|
+
private cache;
|
|
6
|
+
private gateway;
|
|
7
|
+
constructor(cache: ModelGroupsCache.Interface, gateway: UpdateModelGroupGateway.Interface);
|
|
8
|
+
execute(params: UpdateModelGroupParams): Promise<import("../listModelGroups/abstractions.js").ModelGroupDto>;
|
|
9
|
+
}
|
|
10
|
+
export declare const UpdateModelGroupRepository: typeof UpdateModelGroupRepositoryImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateModelGroupRepository>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { UpdateModelGroupRepository as RepositoryAbstraction, UpdateModelGroupGateway } from "./abstractions.js";
|
|
2
|
+
import { ModelGroupsCache } from "../abstractions.js";
|
|
3
|
+
class UpdateModelGroupRepositoryImpl {
|
|
4
|
+
constructor(cache, gateway) {
|
|
5
|
+
this.cache = cache;
|
|
6
|
+
this.gateway = gateway;
|
|
7
|
+
}
|
|
8
|
+
async execute(params) {
|
|
9
|
+
const {
|
|
10
|
+
id,
|
|
11
|
+
...data
|
|
12
|
+
} = params;
|
|
13
|
+
const result = await this.gateway.execute(id, data);
|
|
14
|
+
this.cache.updateItems(group => {
|
|
15
|
+
if (group.id === id) {
|
|
16
|
+
return {
|
|
17
|
+
...group,
|
|
18
|
+
...result
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return group;
|
|
22
|
+
});
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export const UpdateModelGroupRepository = RepositoryAbstraction.createImplementation({
|
|
27
|
+
implementation: UpdateModelGroupRepositoryImpl,
|
|
28
|
+
dependencies: [ModelGroupsCache, UpdateModelGroupGateway]
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=UpdateModelGroupRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["UpdateModelGroupRepository","RepositoryAbstraction","UpdateModelGroupGateway","ModelGroupsCache","UpdateModelGroupRepositoryImpl","constructor","cache","gateway","execute","params","id","data","result","updateItems","group","createImplementation","implementation","dependencies"],"sources":["UpdateModelGroupRepository.ts"],"sourcesContent":["import type { UpdateModelGroupParams } from \"./abstractions.js\";\nimport {\n UpdateModelGroupRepository as RepositoryAbstraction,\n UpdateModelGroupGateway\n} from \"./abstractions.js\";\nimport { ModelGroupsCache } from \"~/features/modelGroup/abstractions.js\";\n\nclass UpdateModelGroupRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(\n private cache: ModelGroupsCache.Interface,\n private gateway: UpdateModelGroupGateway.Interface\n ) {}\n\n async execute(params: UpdateModelGroupParams) {\n const { id, ...data } = params;\n const result = await this.gateway.execute(id, data);\n\n this.cache.updateItems(group => {\n if (group.id === id) {\n return { ...group, ...result };\n }\n return group;\n });\n\n return result;\n }\n}\n\nexport const UpdateModelGroupRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateModelGroupRepositoryImpl,\n dependencies: [ModelGroupsCache, UpdateModelGroupGateway]\n});\n"],"mappings":"AACA,SACIA,0BAA0B,IAAIC,qBAAqB,EACnDC,uBAAuB;AAE3B,SAASC,gBAAgB;AAEzB,MAAMC,8BAA8B,CAA4C;EAC5EC,WAAWA,CACCC,KAAiC,EACjCC,OAA0C,EACpD;IAAA,KAFUD,KAAiC,GAAjCA,KAAiC;IAAA,KACjCC,OAA0C,GAA1CA,OAA0C;EACnD;EAEH,MAAMC,OAAOA,CAACC,MAA8B,EAAE;IAC1C,MAAM;MAAEC,EAAE;MAAE,GAAGC;IAAK,CAAC,GAAGF,MAAM;IAC9B,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACL,OAAO,CAACC,OAAO,CAACE,EAAE,EAAEC,IAAI,CAAC;IAEnD,IAAI,CAACL,KAAK,CAACO,WAAW,CAACC,KAAK,IAAI;MAC5B,IAAIA,KAAK,CAACJ,EAAE,KAAKA,EAAE,EAAE;QACjB,OAAO;UAAE,GAAGI,KAAK;UAAE,GAAGF;QAAO,CAAC;MAClC;MACA,OAAOE,KAAK;IAChB,CAAC,CAAC;IAEF,OAAOF,MAAM;EACjB;AACJ;AAEA,OAAO,MAAMZ,0BAA0B,GAAGC,qBAAqB,CAACc,oBAAoB,CAAC;EACjFC,cAAc,EAAEZ,8BAA8B;EAC9Ca,YAAY,EAAE,CAACd,gBAAgB,EAAED,uBAAuB;AAC5D,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UpdateModelGroupUseCase as UseCaseAbstraction, UpdateModelGroupRepository } from "./abstractions.js";
|
|
2
|
+
declare class UpdateModelGroupUseCaseImpl implements UseCaseAbstraction.Interface {
|
|
3
|
+
private repository;
|
|
4
|
+
constructor(repository: UpdateModelGroupRepository.Interface);
|
|
5
|
+
execute(params: UseCaseAbstraction.Params): Promise<import("../listModelGroups/abstractions.js").ModelGroupDto>;
|
|
6
|
+
}
|
|
7
|
+
export declare const UpdateModelGroupUseCase: typeof UpdateModelGroupUseCaseImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IUpdateModelGroupUseCase>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { UpdateModelGroupUseCase as UseCaseAbstraction, UpdateModelGroupRepository } from "./abstractions.js";
|
|
2
|
+
class UpdateModelGroupUseCaseImpl {
|
|
3
|
+
constructor(repository) {
|
|
4
|
+
this.repository = repository;
|
|
5
|
+
}
|
|
6
|
+
async execute(params) {
|
|
7
|
+
return this.repository.execute(params);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const UpdateModelGroupUseCase = UseCaseAbstraction.createImplementation({
|
|
11
|
+
implementation: UpdateModelGroupUseCaseImpl,
|
|
12
|
+
dependencies: [UpdateModelGroupRepository]
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=UpdateModelGroupUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["UpdateModelGroupUseCase","UseCaseAbstraction","UpdateModelGroupRepository","UpdateModelGroupUseCaseImpl","constructor","repository","execute","params","createImplementation","implementation","dependencies"],"sources":["UpdateModelGroupUseCase.ts"],"sourcesContent":["import {\n UpdateModelGroupUseCase as UseCaseAbstraction,\n UpdateModelGroupRepository\n} from \"./abstractions.js\";\n\nclass UpdateModelGroupUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: UpdateModelGroupRepository.Interface) {}\n\n async execute(params: UseCaseAbstraction.Params) {\n return this.repository.execute(params);\n }\n}\n\nexport const UpdateModelGroupUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateModelGroupUseCaseImpl,\n dependencies: [UpdateModelGroupRepository]\n});\n"],"mappings":"AAAA,SACIA,uBAAuB,IAAIC,kBAAkB,EAC7CC,0BAA0B;AAG9B,MAAMC,2BAA2B,CAAyC;EACtEC,WAAWA,CAASC,UAAgD,EAAE;IAAA,KAAlDA,UAAgD,GAAhDA,UAAgD;EAAG;EAEvE,MAAMC,OAAOA,CAACC,MAAiC,EAAE;IAC7C,OAAO,IAAI,CAACF,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;EAC1C;AACJ;AAEA,OAAO,MAAMP,uBAAuB,GAAGC,kBAAkB,CAACO,oBAAoB,CAAC;EAC3EC,cAAc,EAAEN,2BAA2B;EAC3CO,YAAY,EAAE,CAACR,0BAA0B;AAC7C,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ModelGroupDto } from "../listModelGroups/abstractions.js";
|
|
2
|
+
export interface UpdateModelGroupParams {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
slug: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
icon: string;
|
|
8
|
+
}
|
|
9
|
+
export interface IUpdateModelGroupUseCase {
|
|
10
|
+
execute: (params: UpdateModelGroupParams) => Promise<ModelGroupDto>;
|
|
11
|
+
}
|
|
12
|
+
export declare const UpdateModelGroupUseCase: import("@webiny/di").Abstraction<IUpdateModelGroupUseCase>;
|
|
13
|
+
export declare namespace UpdateModelGroupUseCase {
|
|
14
|
+
type Interface = IUpdateModelGroupUseCase;
|
|
15
|
+
type Params = UpdateModelGroupParams;
|
|
16
|
+
}
|
|
17
|
+
export interface IUpdateModelGroupRepository {
|
|
18
|
+
execute: (params: UpdateModelGroupParams) => Promise<ModelGroupDto>;
|
|
19
|
+
}
|
|
20
|
+
export declare const UpdateModelGroupRepository: import("@webiny/di").Abstraction<IUpdateModelGroupRepository>;
|
|
21
|
+
export declare namespace UpdateModelGroupRepository {
|
|
22
|
+
type Interface = IUpdateModelGroupRepository;
|
|
23
|
+
}
|
|
24
|
+
export interface IUpdateModelGroupGateway {
|
|
25
|
+
execute: (id: string, data: Omit<UpdateModelGroupParams, "id">) => Promise<ModelGroupDto>;
|
|
26
|
+
}
|
|
27
|
+
export declare const UpdateModelGroupGateway: import("@webiny/di").Abstraction<IUpdateModelGroupGateway>;
|
|
28
|
+
export declare namespace UpdateModelGroupGateway {
|
|
29
|
+
type Interface = IUpdateModelGroupGateway;
|
|
30
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/admin";
|
|
2
|
+
|
|
3
|
+
// Use Case
|
|
4
|
+
|
|
5
|
+
export const UpdateModelGroupUseCase = createAbstraction("UpdateModelGroupUseCase");
|
|
6
|
+
|
|
7
|
+
// Repository
|
|
8
|
+
|
|
9
|
+
export const UpdateModelGroupRepository = createAbstraction("UpdateModelGroupRepository");
|
|
10
|
+
|
|
11
|
+
// Gateway
|
|
12
|
+
|
|
13
|
+
export const UpdateModelGroupGateway = createAbstraction("UpdateModelGroupGateway");
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","UpdateModelGroupUseCase","UpdateModelGroupRepository","UpdateModelGroupGateway"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { ModelGroupDto } from \"../listModelGroups/abstractions.js\";\n\n// Use Case\n\nexport interface UpdateModelGroupParams {\n id: string;\n name: string;\n slug: string;\n description?: string;\n icon: string;\n}\n\nexport interface IUpdateModelGroupUseCase {\n execute: (params: UpdateModelGroupParams) => Promise<ModelGroupDto>;\n}\n\nexport const UpdateModelGroupUseCase =\n createAbstraction<IUpdateModelGroupUseCase>(\"UpdateModelGroupUseCase\");\n\nexport namespace UpdateModelGroupUseCase {\n export type Interface = IUpdateModelGroupUseCase;\n export type Params = UpdateModelGroupParams;\n}\n\n// Repository\n\nexport interface IUpdateModelGroupRepository {\n execute: (params: UpdateModelGroupParams) => Promise<ModelGroupDto>;\n}\n\nexport const UpdateModelGroupRepository = createAbstraction<IUpdateModelGroupRepository>(\n \"UpdateModelGroupRepository\"\n);\n\nexport namespace UpdateModelGroupRepository {\n export type Interface = IUpdateModelGroupRepository;\n}\n\n// Gateway\n\nexport interface IUpdateModelGroupGateway {\n execute: (id: string, data: Omit<UpdateModelGroupParams, \"id\">) => Promise<ModelGroupDto>;\n}\n\nexport const UpdateModelGroupGateway =\n createAbstraction<IUpdateModelGroupGateway>(\"UpdateModelGroupGateway\");\n\nexport namespace UpdateModelGroupGateway {\n export type Interface = IUpdateModelGroupGateway;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,uBAAuB;;AAGzD;;AAcA,OAAO,MAAMC,uBAAuB,GAChCD,iBAAiB,CAA2B,yBAAyB,CAAC;;AAO1E;;AAMA,OAAO,MAAME,0BAA0B,GAAGF,iBAAiB,CACvD,4BACJ,CAAC;;AAMD;;AAMA,OAAO,MAAMG,uBAAuB,GAChCH,iBAAiB,CAA2B,yBAAyB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/admin";
|
|
2
|
+
import { UpdateModelGroupUseCase as UseCase } from "./abstractions.js";
|
|
3
|
+
import { UpdateModelGroupUseCase } from "./UpdateModelGroupUseCase.js";
|
|
4
|
+
import { UpdateModelGroupRepository } from "./UpdateModelGroupRepository.js";
|
|
5
|
+
import { UpdateModelGroupGateway } from "./UpdateModelGroupGateway.js";
|
|
6
|
+
export const UpdateModelGroupFeature = createFeature({
|
|
7
|
+
name: "UpdateModelGroup",
|
|
8
|
+
register(container) {
|
|
9
|
+
container.register(UpdateModelGroupUseCase);
|
|
10
|
+
container.register(UpdateModelGroupRepository).inSingletonScope();
|
|
11
|
+
container.register(UpdateModelGroupGateway);
|
|
12
|
+
},
|
|
13
|
+
resolve(container) {
|
|
14
|
+
return {
|
|
15
|
+
useCase: container.resolve(UseCase)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","UpdateModelGroupUseCase","UseCase","UpdateModelGroupRepository","UpdateModelGroupGateway","UpdateModelGroupFeature","name","register","container","inSingletonScope","resolve","useCase"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { UpdateModelGroupUseCase as UseCase } from \"./abstractions.js\";\nimport { UpdateModelGroupUseCase } from \"./UpdateModelGroupUseCase.js\";\nimport { UpdateModelGroupRepository } from \"./UpdateModelGroupRepository.js\";\nimport { UpdateModelGroupGateway } from \"./UpdateModelGroupGateway.js\";\n\nexport const UpdateModelGroupFeature = createFeature({\n name: \"UpdateModelGroup\",\n register(container) {\n container.register(UpdateModelGroupUseCase);\n container.register(UpdateModelGroupRepository).inSingletonScope();\n container.register(UpdateModelGroupGateway);\n },\n resolve(container) {\n return {\n useCase: container.resolve(UseCase)\n };\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,uBAAuB,IAAIC,OAAO;AAC3C,SAASD,uBAAuB;AAChC,SAASE,0BAA0B;AACnC,SAASC,uBAAuB;AAEhC,OAAO,MAAMC,uBAAuB,GAAGL,aAAa,CAAC;EACjDM,IAAI,EAAE,kBAAkB;EACxBC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACN,uBAAuB,CAAC;IAC3CO,SAAS,CAACD,QAAQ,CAACJ,0BAA0B,CAAC,CAACM,gBAAgB,CAAC,CAAC;IACjED,SAAS,CAACD,QAAQ,CAACH,uBAAuB,CAAC;EAC/C,CAAC;EACDM,OAAOA,CAACF,SAAS,EAAE;IACf,OAAO;MACHG,OAAO,EAAEH,SAAS,CAACE,OAAO,CAACR,OAAO;IACtC,CAAC;EACL;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Permissions } from "@webiny/app-admin/exports/admin/security.js";
|
|
2
|
+
import { CMS_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
export declare const CmsPermissions: import("@webiny/di").Abstraction<{
|
|
4
|
+
canAccess: (entityId: "contentModelGroup" | "contentModel" | "contentEntry") => boolean;
|
|
5
|
+
canAction: (action: string, entityId: "contentModelGroup" | "contentModel" | "contentEntry") => boolean;
|
|
6
|
+
} & {
|
|
7
|
+
canRead: (entityId: "contentModelGroup" | "contentModel" | "contentEntry") => boolean;
|
|
8
|
+
canCreate: (entityId: "contentModelGroup" | "contentModel" | "contentEntry") => boolean;
|
|
9
|
+
canEdit: (entityId: "contentModelGroup" | "contentModel" | "contentEntry", item?: import("@webiny/app-admin/permissions").OwnableItem) => boolean;
|
|
10
|
+
canDelete: (entityId: "contentModelGroup" | "contentModel" | "contentEntry", item?: import("@webiny/app-admin/permissions").OwnableItem) => boolean;
|
|
11
|
+
} & {
|
|
12
|
+
canPublish: (entityId: "contentEntry") => boolean;
|
|
13
|
+
canUnpublish: (entityId: "contentEntry") => boolean;
|
|
14
|
+
}>;
|
|
15
|
+
export declare namespace CmsPermissions {
|
|
16
|
+
type Interface = Permissions<typeof CMS_PERMISSIONS_SCHEMA>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createPermissionsAbstraction } from "@webiny/app-admin/exports/admin/security.js";
|
|
2
|
+
import { CMS_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
export const CmsPermissions = createPermissionsAbstraction(CMS_PERMISSIONS_SCHEMA);
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPermissionsAbstraction","CMS_PERMISSIONS_SCHEMA","CmsPermissions"],"sources":["abstractions.ts"],"sourcesContent":["import { createPermissionsAbstraction } from \"@webiny/app-admin/exports/admin/security.js\";\nimport type { Permissions } from \"@webiny/app-admin/exports/admin/security.js\";\nimport { CMS_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\n\nexport const CmsPermissions = createPermissionsAbstraction(CMS_PERMISSIONS_SCHEMA);\n\nexport namespace CmsPermissions {\n export type Interface = Permissions<typeof CMS_PERMISSIONS_SCHEMA>;\n}\n"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,6CAA6C;AAE1F,SAASC,sBAAsB;AAE/B,OAAO,MAAMC,cAAc,GAAGF,4BAA4B,CAACC,sBAAsB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const CmsPermissionsFeature: import("@webiny/feature/admin").FeatureDefinition<{
|
|
2
|
+
permissions: {
|
|
3
|
+
canAccess: (entityId: "contentModelGroup" | "contentModel" | "contentEntry") => boolean;
|
|
4
|
+
canAction: (action: string, entityId: "contentModelGroup" | "contentModel" | "contentEntry") => boolean;
|
|
5
|
+
} & {
|
|
6
|
+
canRead: (entityId: "contentModelGroup" | "contentModel" | "contentEntry") => boolean;
|
|
7
|
+
canCreate: (entityId: "contentModelGroup" | "contentModel" | "contentEntry") => boolean;
|
|
8
|
+
canEdit: (entityId: "contentModelGroup" | "contentModel" | "contentEntry", item?: import("@webiny/app-admin/index.js").OwnableItem) => boolean;
|
|
9
|
+
canDelete: (entityId: "contentModelGroup" | "contentModel" | "contentEntry", item?: import("@webiny/app-admin/index.js").OwnableItem) => boolean;
|
|
10
|
+
} & {
|
|
11
|
+
canPublish: (entityId: "contentEntry") => boolean;
|
|
12
|
+
canUnpublish: (entityId: "contentEntry") => boolean;
|
|
13
|
+
};
|
|
14
|
+
}, []>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createPermissionsFeature } from "@webiny/app-admin/exports/admin/security.js";
|
|
2
|
+
import { CMS_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
import { CmsPermissions } from "./abstractions.js";
|
|
4
|
+
export const CmsPermissionsFeature = createPermissionsFeature(CMS_PERMISSIONS_SCHEMA, CmsPermissions);
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPermissionsFeature","CMS_PERMISSIONS_SCHEMA","CmsPermissions","CmsPermissionsFeature"],"sources":["feature.ts"],"sourcesContent":["import { createPermissionsFeature } from \"@webiny/app-admin/exports/admin/security.js\";\nimport { CMS_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\nimport { CmsPermissions } from \"./abstractions.js\";\n\nexport const CmsPermissionsFeature = createPermissionsFeature(\n CMS_PERMISSIONS_SCHEMA,\n CmsPermissions\n);\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,6CAA6C;AACtF,SAASC,sBAAsB;AAC/B,SAASC,cAAc;AAEvB,OAAO,MAAMC,qBAAqB,GAAGH,wBAAwB,CACzDC,sBAAsB,EACtBC,cACJ,CAAC","ignoreList":[]}
|