@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
package/HeadlessCMS.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { Fragment, memo } from "react";
|
|
2
2
|
import { plugins } from "@webiny/plugins";
|
|
3
|
-
import { Provider } from "@webiny/app-admin";
|
|
3
|
+
import { Provider, RegisterFeature } from "@webiny/app-admin";
|
|
4
4
|
import { ApolloCacheObjectIdPlugin } from "@webiny/app";
|
|
5
5
|
import { CmsProvider } from "./admin/contexts/Cms/index.js";
|
|
6
6
|
import apiInformation from "./admin/plugins/apiInformation/index.js";
|
|
@@ -10,6 +10,7 @@ import { LexicalEditorCmsPlugin } from "./admin/components/LexicalCmsEditor/Lexi
|
|
|
10
10
|
import { SingletonContentEntryModule } from "./admin/views/contentEntries/SingletonContentEntryModule.js";
|
|
11
11
|
import { RoutesConfig } from "./admin/RoutesConfig.js";
|
|
12
12
|
import { CmsSecurityPermission } from "./admin/plugins/permissionRenderer/index.js";
|
|
13
|
+
import { CmsPermissionsFeature } from "./features/permissions/feature.js";
|
|
13
14
|
const createHeadlessCMSProvider = createApolloClient => Component => {
|
|
14
15
|
return function HeadlessCMSProvider({
|
|
15
16
|
children
|
|
@@ -38,7 +39,9 @@ const HeadlessCMSExtension = ({
|
|
|
38
39
|
}
|
|
39
40
|
return undefined;
|
|
40
41
|
}));
|
|
41
|
-
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(
|
|
42
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(RegisterFeature, {
|
|
43
|
+
feature: CmsPermissionsFeature
|
|
44
|
+
}), /*#__PURE__*/React.createElement(RoutesConfig, null), /*#__PURE__*/React.createElement(ContentEntriesModule, null), /*#__PURE__*/React.createElement(SingletonContentEntryModule, null), /*#__PURE__*/React.createElement(Provider, {
|
|
42
45
|
hoc: createHeadlessCMSProvider(createApolloClient)
|
|
43
46
|
}), /*#__PURE__*/React.createElement(LexicalEditorCmsPlugin, null), /*#__PURE__*/React.createElement(CmsSecurityPermission, null));
|
|
44
47
|
};
|
package/HeadlessCMS.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Fragment","memo","plugins","Provider","ApolloCacheObjectIdPlugin","CmsProvider","apiInformation","ContentEntriesModule","allPlugins","LexicalEditorCmsPlugin","SingletonContentEntryModule","RoutesConfig","CmsSecurityPermission","createHeadlessCMSProvider","createApolloClient","Component","HeadlessCMSProvider","children","createElement","attachTypeName","HeadlessCMSExtension","register","obj","__typename","includes","id","undefined","hoc","HeadlessCMS"],"sources":["HeadlessCMS.tsx"],"sourcesContent":["import React, { Fragment, memo } from \"react\";\nimport type { ApolloClient } from \"apollo-client\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Provider } from \"@webiny/app-admin\";\nimport { ApolloCacheObjectIdPlugin } from \"@webiny/app\";\nimport { CmsProvider } from \"~/admin/contexts/Cms/index.js\";\nimport apiInformation from \"~/admin/plugins/apiInformation/index.js\";\nimport { ContentEntriesModule } from \"~/admin/views/contentEntries/ContentEntriesModule.js\";\nimport allPlugins from \"~/allPlugins.js\";\nimport { LexicalEditorCmsPlugin } from \"~/admin/components/LexicalCmsEditor/LexicalEditorCmsPlugin.js\";\nimport { SingletonContentEntryModule } from \"~/admin/views/contentEntries/SingletonContentEntryModule.js\";\nimport { RoutesConfig } from \"./admin/RoutesConfig.js\";\nimport { CmsSecurityPermission } from \"~/admin/plugins/permissionRenderer/index.js\";\n\ninterface HeadlessCMSProvider {\n children: React.ReactNode;\n}\n\nconst createHeadlessCMSProvider =\n (createApolloClient: CreateApolloClient) =>\n (Component: React.ComponentType<React.PropsWithChildren>) => {\n return function HeadlessCMSProvider({ children }: HeadlessCMSProvider) {\n return (\n <CmsProvider createApolloClient={createApolloClient}>\n <Component>{children}</Component>\n </CmsProvider>\n );\n };\n };\n\ninterface CreateApolloClientParams {\n uri: string;\n}\n\ninterface CreateApolloClient {\n (params: CreateApolloClientParams): ApolloClient<any>;\n}\n\nexport interface HeadlessCMSProps {\n createApolloClient: CreateApolloClient;\n}\n\n/**\n * If there is a problem with some state being reset, it's probably because of this plugin.\n * Check that __typename from the API and the __typename in the state are the same.\n * If not, add it into the attachTypeName array.\n */\nconst attachTypeName = [\"CmsContentEntry\", \"RefField\"];\n\nconst HeadlessCMSExtension = ({ createApolloClient }: HeadlessCMSProps) => {\n plugins.register(apiInformation);\n plugins.register(allPlugins);\n\n plugins.register(\n new ApolloCacheObjectIdPlugin(obj => {\n if (obj.__typename === \"CmsContentModelField\") {\n return null;\n } else if (obj.__typename && attachTypeName.includes(obj.__typename)) {\n return `${obj.__typename}_${obj.id}`;\n }\n\n return undefined;\n })\n );\n\n return (\n <Fragment>\n <RoutesConfig />\n <ContentEntriesModule />\n <SingletonContentEntryModule />\n <Provider hoc={createHeadlessCMSProvider(createApolloClient)} />\n <LexicalEditorCmsPlugin />\n <CmsSecurityPermission />\n </Fragment>\n );\n};\n\nexport const HeadlessCMS = memo(HeadlessCMSExtension);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,IAAI,QAAQ,OAAO;AAE7C,SAASC,OAAO,QAAQ,iBAAiB;AACzC,SAASC,QAAQ,QAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"names":["React","Fragment","memo","plugins","Provider","RegisterFeature","ApolloCacheObjectIdPlugin","CmsProvider","apiInformation","ContentEntriesModule","allPlugins","LexicalEditorCmsPlugin","SingletonContentEntryModule","RoutesConfig","CmsSecurityPermission","CmsPermissionsFeature","createHeadlessCMSProvider","createApolloClient","Component","HeadlessCMSProvider","children","createElement","attachTypeName","HeadlessCMSExtension","register","obj","__typename","includes","id","undefined","feature","hoc","HeadlessCMS"],"sources":["HeadlessCMS.tsx"],"sourcesContent":["import React, { Fragment, memo } from \"react\";\nimport type { ApolloClient } from \"apollo-client\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Provider, RegisterFeature } from \"@webiny/app-admin\";\nimport { ApolloCacheObjectIdPlugin } from \"@webiny/app\";\nimport { CmsProvider } from \"~/admin/contexts/Cms/index.js\";\nimport apiInformation from \"~/admin/plugins/apiInformation/index.js\";\nimport { ContentEntriesModule } from \"~/admin/views/contentEntries/ContentEntriesModule.js\";\nimport allPlugins from \"~/allPlugins.js\";\nimport { LexicalEditorCmsPlugin } from \"~/admin/components/LexicalCmsEditor/LexicalEditorCmsPlugin.js\";\nimport { SingletonContentEntryModule } from \"~/admin/views/contentEntries/SingletonContentEntryModule.js\";\nimport { RoutesConfig } from \"./admin/RoutesConfig.js\";\nimport { CmsSecurityPermission } from \"~/admin/plugins/permissionRenderer/index.js\";\nimport { CmsPermissionsFeature } from \"~/features/permissions/feature.js\";\n\ninterface HeadlessCMSProvider {\n children: React.ReactNode;\n}\n\nconst createHeadlessCMSProvider =\n (createApolloClient: CreateApolloClient) =>\n (Component: React.ComponentType<React.PropsWithChildren>) => {\n return function HeadlessCMSProvider({ children }: HeadlessCMSProvider) {\n return (\n <CmsProvider createApolloClient={createApolloClient}>\n <Component>{children}</Component>\n </CmsProvider>\n );\n };\n };\n\ninterface CreateApolloClientParams {\n uri: string;\n}\n\ninterface CreateApolloClient {\n (params: CreateApolloClientParams): ApolloClient<any>;\n}\n\nexport interface HeadlessCMSProps {\n createApolloClient: CreateApolloClient;\n}\n\n/**\n * If there is a problem with some state being reset, it's probably because of this plugin.\n * Check that __typename from the API and the __typename in the state are the same.\n * If not, add it into the attachTypeName array.\n */\nconst attachTypeName = [\"CmsContentEntry\", \"RefField\"];\n\nconst HeadlessCMSExtension = ({ createApolloClient }: HeadlessCMSProps) => {\n plugins.register(apiInformation);\n plugins.register(allPlugins);\n\n plugins.register(\n new ApolloCacheObjectIdPlugin(obj => {\n if (obj.__typename === \"CmsContentModelField\") {\n return null;\n } else if (obj.__typename && attachTypeName.includes(obj.__typename)) {\n return `${obj.__typename}_${obj.id}`;\n }\n\n return undefined;\n })\n );\n\n return (\n <Fragment>\n <RegisterFeature feature={CmsPermissionsFeature} />\n <RoutesConfig />\n <ContentEntriesModule />\n <SingletonContentEntryModule />\n <Provider hoc={createHeadlessCMSProvider(createApolloClient)} />\n <LexicalEditorCmsPlugin />\n <CmsSecurityPermission />\n </Fragment>\n );\n};\n\nexport const HeadlessCMS = memo(HeadlessCMSExtension);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,IAAI,QAAQ,OAAO;AAE7C,SAASC,OAAO,QAAQ,iBAAiB;AACzC,SAASC,QAAQ,EAAEC,eAAe,QAAQ,mBAAmB;AAC7D,SAASC,yBAAyB,QAAQ,aAAa;AACvD,SAASC,WAAW;AACpB,OAAOC,cAAc;AACrB,SAASC,oBAAoB;AAC7B,OAAOC,UAAU;AACjB,SAASC,sBAAsB;AAC/B,SAASC,2BAA2B;AACpC,SAASC,YAAY;AACrB,SAASC,qBAAqB;AAC9B,SAASC,qBAAqB;AAM9B,MAAMC,yBAAyB,GAC1BC,kBAAsC,IACtCC,SAAuD,IAAK;EACzD,OAAO,SAASC,mBAAmBA,CAAC;IAAEC;EAA8B,CAAC,EAAE;IACnE,oBACIpB,KAAA,CAAAqB,aAAA,CAACd,WAAW;MAACU,kBAAkB,EAAEA;IAAmB,gBAChDjB,KAAA,CAAAqB,aAAA,CAACH,SAAS,QAAEE,QAAoB,CACvB,CAAC;EAEtB,CAAC;AACL,CAAC;AAcL;AACA;AACA;AACA;AACA;AACA,MAAME,cAAc,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC;AAEtD,MAAMC,oBAAoB,GAAGA,CAAC;EAAEN;AAAqC,CAAC,KAAK;EACvEd,OAAO,CAACqB,QAAQ,CAAChB,cAAc,CAAC;EAChCL,OAAO,CAACqB,QAAQ,CAACd,UAAU,CAAC;EAE5BP,OAAO,CAACqB,QAAQ,CACZ,IAAIlB,yBAAyB,CAACmB,GAAG,IAAI;IACjC,IAAIA,GAAG,CAACC,UAAU,KAAK,sBAAsB,EAAE;MAC3C,OAAO,IAAI;IACf,CAAC,MAAM,IAAID,GAAG,CAACC,UAAU,IAAIJ,cAAc,CAACK,QAAQ,CAACF,GAAG,CAACC,UAAU,CAAC,EAAE;MAClE,OAAO,GAAGD,GAAG,CAACC,UAAU,IAAID,GAAG,CAACG,EAAE,EAAE;IACxC;IAEA,OAAOC,SAAS;EACpB,CAAC,CACL,CAAC;EAED,oBACI7B,KAAA,CAAAqB,aAAA,CAACpB,QAAQ,qBACLD,KAAA,CAAAqB,aAAA,CAAChB,eAAe;IAACyB,OAAO,EAAEf;EAAsB,CAAE,CAAC,eACnDf,KAAA,CAAAqB,aAAA,CAACR,YAAY,MAAE,CAAC,eAChBb,KAAA,CAAAqB,aAAA,CAACZ,oBAAoB,MAAE,CAAC,eACxBT,KAAA,CAAAqB,aAAA,CAACT,2BAA2B,MAAE,CAAC,eAC/BZ,KAAA,CAAAqB,aAAA,CAACjB,QAAQ;IAAC2B,GAAG,EAAEf,yBAAyB,CAACC,kBAAkB;EAAE,CAAE,CAAC,eAChEjB,KAAA,CAAAqB,aAAA,CAACV,sBAAsB,MAAE,CAAC,eAC1BX,KAAA,CAAAqB,aAAA,CAACP,qBAAqB,MAAE,CAClB,CAAC;AAEnB,CAAC;AAED,OAAO,MAAMkB,WAAW,gBAAG9B,IAAI,CAACqB,oBAAoB,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { Helmet } from "react-helmet";
|
|
2
3
|
import { Buttons, makeDecoratable } from "@webiny/app-admin";
|
|
3
4
|
import { useContentEntryEditorConfig } from "../../../config/contentEntries/index.js";
|
|
4
|
-
import { ContentFormOptionsMenu } from "./ContentFormOptionsMenu/index.js";
|
|
5
|
-
import { RevisionSelector } from "./RevisionSelector/index.js";
|
|
6
|
-
import { Helmet } from "react-helmet";
|
|
7
5
|
import { useContentEntry } from "../../../views/contentEntries/hooks/index.js";
|
|
8
|
-
import { IsModelPublishable } from "../../../../exports/admin/cms.js";
|
|
9
6
|
export const Header = makeDecoratable("ContentEntryFormHeader", () => {
|
|
10
7
|
const {
|
|
11
8
|
buttonActions
|
|
@@ -18,11 +15,11 @@ export const Header = makeDecoratable("ContentEntryFormHeader", () => {
|
|
|
18
15
|
id: "headerToolbarGrid"
|
|
19
16
|
}, entry.meta?.title ? /*#__PURE__*/React.createElement(Helmet, {
|
|
20
17
|
title: entry.meta.title
|
|
21
|
-
}) : null, /*#__PURE__*/React.createElement(
|
|
18
|
+
}) : null, /*#__PURE__*/React.createElement("div", {
|
|
22
19
|
className: "flex items-center gap-sm"
|
|
23
20
|
}, /*#__PURE__*/React.createElement(Buttons, {
|
|
24
21
|
actions: buttonActions
|
|
25
|
-
})
|
|
22
|
+
})));
|
|
26
23
|
});
|
|
27
24
|
|
|
28
25
|
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Buttons","makeDecoratable","useContentEntryEditorConfig","
|
|
1
|
+
{"version":3,"names":["React","Helmet","Buttons","makeDecoratable","useContentEntryEditorConfig","useContentEntry","Header","buttonActions","entry","createElement","className","id","meta","title","actions"],"sources":["Header.tsx"],"sourcesContent":["import React from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { Buttons, makeDecoratable } from \"@webiny/app-admin\";\nimport { useContentEntryEditorConfig } from \"~/admin/config/contentEntries/index.js\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/index.js\";\n\nexport const Header = makeDecoratable(\"ContentEntryFormHeader\", () => {\n const { buttonActions } = useContentEntryEditorConfig();\n const { entry } = useContentEntry();\n\n return (\n <div\n className={\n \"flex items-center justify-between gap-sm border-b-sm border-neutral-dimmed pb-md mb-md\"\n }\n id=\"headerToolbarGrid\"\n >\n {entry.meta?.title ? <Helmet title={entry.meta.title} /> : null}\n <div className={\"flex items-center gap-sm\"}>\n <Buttons actions={buttonActions} />\n </div>\n </div>\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,cAAc;AACrC,SAASC,OAAO,EAAEC,eAAe,QAAQ,mBAAmB;AAC5D,SAASC,2BAA2B;AACpC,SAASC,eAAe;AAExB,OAAO,MAAMC,MAAM,GAAGH,eAAe,CAAC,wBAAwB,EAAE,MAAM;EAClE,MAAM;IAAEI;EAAc,CAAC,GAAGH,2BAA2B,CAAC,CAAC;EACvD,MAAM;IAAEI;EAAM,CAAC,GAAGH,eAAe,CAAC,CAAC;EAEnC,oBACIL,KAAA,CAAAS,aAAA;IACIC,SAAS,EACL,wFACH;IACDC,EAAE,EAAC;EAAmB,GAErBH,KAAK,CAACI,IAAI,EAAEC,KAAK,gBAAGb,KAAA,CAAAS,aAAA,CAACR,MAAM;IAACY,KAAK,EAAEL,KAAK,CAACI,IAAI,CAACC;EAAM,CAAE,CAAC,GAAG,IAAI,eAC/Db,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAE;EAA2B,gBACvCV,KAAA,CAAAS,aAAA,CAACP,OAAO;IAACY,OAAO,EAAEP;EAAc,CAAE,CACjC,CACJ,CAAC;AAEd,CAAC,CAAC","ignoreList":[]}
|
|
@@ -32,7 +32,7 @@ export const RevisionSelector = () => {
|
|
|
32
32
|
const allRevisions = revisions.length ? revisions : defaultRevisions;
|
|
33
33
|
return /*#__PURE__*/React.createElement(DropdownMenu, {
|
|
34
34
|
trigger: /*#__PURE__*/React.createElement(Button, {
|
|
35
|
-
variant: "
|
|
35
|
+
variant: "ghost",
|
|
36
36
|
disabled: loading,
|
|
37
37
|
icon: /*#__PURE__*/React.createElement(DownButton, null),
|
|
38
38
|
iconPosition: "end",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","get","useRoute","useRouter","Button","DropdownMenu","Text","ReactComponent","DownButton","useContentEntry","statuses","statusLabels","Routes","defaultRevisions","id","meta","version","status","RevisionSelector","goToRoute","route","ContentEntries","List","entry","revisions","loading","currentRevision","allRevisions","length","createElement","trigger","variant","disabled","icon","iconPosition","text","Fragment","map","revision","Item","key","onClick","params","as","size"],"sources":["RevisionSelector.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get.js\";\nimport { useRoute, useRouter } from \"@webiny/app-admin\";\nimport { Button, DropdownMenu, Text } from \"@webiny/admin-ui\";\nimport { ReactComponent as DownButton } from \"@webiny/icons/keyboard_arrow_down.svg\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry.js\";\nimport { statuses as statusLabels } from \"~/admin/constants.js\";\nimport type { CmsContentEntryRevision } from \"~/types.js\";\nimport { Routes } from \"~/routes.js\";\n\ninterface CmsEntryRevision extends Pick<CmsContentEntryRevision, \"id\"> {\n meta: Pick<CmsContentEntryRevision[\"meta\"], \"version\" | \"status\">;\n}\n\nconst defaultRevisions: CmsEntryRevision[] = [\n {\n id: \"new\",\n meta: {\n version: 1,\n status: \"draft\"\n }\n }\n];\n\nexport const RevisionSelector = () => {\n const { goToRoute } = useRouter();\n const { route } = useRoute(Routes.ContentEntries.List);\n\n const { entry, revisions, loading } = useContentEntry();\n\n const currentRevision = {\n version: get(entry, \"meta.version\", 1) as number,\n status: get(entry, \"meta.status\", \"draft\") as CmsContentEntryRevision[\"meta\"][\"status\"]\n };\n\n const allRevisions = revisions.length ? revisions : defaultRevisions;\n\n return (\n <DropdownMenu\n trigger={\n <Button\n variant={\"
|
|
1
|
+
{"version":3,"names":["React","get","useRoute","useRouter","Button","DropdownMenu","Text","ReactComponent","DownButton","useContentEntry","statuses","statusLabels","Routes","defaultRevisions","id","meta","version","status","RevisionSelector","goToRoute","route","ContentEntries","List","entry","revisions","loading","currentRevision","allRevisions","length","createElement","trigger","variant","disabled","icon","iconPosition","text","Fragment","map","revision","Item","key","onClick","params","as","size"],"sources":["RevisionSelector.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get.js\";\nimport { useRoute, useRouter } from \"@webiny/app-admin\";\nimport { Button, DropdownMenu, Text } from \"@webiny/admin-ui\";\nimport { ReactComponent as DownButton } from \"@webiny/icons/keyboard_arrow_down.svg\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry.js\";\nimport { statuses as statusLabels } from \"~/admin/constants.js\";\nimport type { CmsContentEntryRevision } from \"~/types.js\";\nimport { Routes } from \"~/routes.js\";\n\ninterface CmsEntryRevision extends Pick<CmsContentEntryRevision, \"id\"> {\n meta: Pick<CmsContentEntryRevision[\"meta\"], \"version\" | \"status\">;\n}\n\nconst defaultRevisions: CmsEntryRevision[] = [\n {\n id: \"new\",\n meta: {\n version: 1,\n status: \"draft\"\n }\n }\n];\n\nexport const RevisionSelector = () => {\n const { goToRoute } = useRouter();\n const { route } = useRoute(Routes.ContentEntries.List);\n\n const { entry, revisions, loading } = useContentEntry();\n\n const currentRevision = {\n version: get(entry, \"meta.version\", 1) as number,\n status: get(entry, \"meta.status\", \"draft\") as CmsContentEntryRevision[\"meta\"][\"status\"]\n };\n\n const allRevisions = revisions.length ? revisions : defaultRevisions;\n\n return (\n <DropdownMenu\n trigger={\n <Button\n variant={\"ghost\"}\n disabled={loading}\n icon={<DownButton />}\n iconPosition={\"end\"}\n text={\n <>\n v{currentRevision.version} ({statusLabels[currentRevision.status]})\n </>\n }\n />\n }\n >\n {allRevisions.map(revision => (\n <DropdownMenu.Item\n key={revision.id}\n onClick={() => {\n goToRoute(Routes.ContentEntries.List, {\n ...route.params,\n id: revision.id\n });\n }}\n text={\n <>\n <Text as={\"div\"}>v{revision.meta.version}</Text>\n <Text size={\"sm\"}>({statusLabels[revision.meta.status]})</Text>\n </>\n }\n />\n ))}\n </DropdownMenu>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,MAAM,eAAe;AAC/B,SAASC,QAAQ,EAAEC,SAAS,QAAQ,mBAAmB;AACvD,SAASC,MAAM,EAAEC,YAAY,EAAEC,IAAI,QAAQ,kBAAkB;AAC7D,SAASC,cAAc,IAAIC,UAAU,QAAQ,uCAAuC;AACpF,SAASC,eAAe;AACxB,SAASC,QAAQ,IAAIC,YAAY;AAEjC,SAASC,MAAM;AAMf,MAAMC,gBAAoC,GAAG,CACzC;EACIC,EAAE,EAAE,KAAK;EACTC,IAAI,EAAE;IACFC,OAAO,EAAE,CAAC;IACVC,MAAM,EAAE;EACZ;AACJ,CAAC,CACJ;AAED,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAClC,MAAM;IAAEC;EAAU,CAAC,GAAGhB,SAAS,CAAC,CAAC;EACjC,MAAM;IAAEiB;EAAM,CAAC,GAAGlB,QAAQ,CAACU,MAAM,CAACS,cAAc,CAACC,IAAI,CAAC;EAEtD,MAAM;IAAEC,KAAK;IAAEC,SAAS;IAAEC;EAAQ,CAAC,GAAGhB,eAAe,CAAC,CAAC;EAEvD,MAAMiB,eAAe,GAAG;IACpBV,OAAO,EAAEf,GAAG,CAACsB,KAAK,EAAE,cAAc,EAAE,CAAC,CAAW;IAChDN,MAAM,EAAEhB,GAAG,CAACsB,KAAK,EAAE,aAAa,EAAE,OAAO;EAC7C,CAAC;EAED,MAAMI,YAAY,GAAGH,SAAS,CAACI,MAAM,GAAGJ,SAAS,GAAGX,gBAAgB;EAEpE,oBACIb,KAAA,CAAA6B,aAAA,CAACxB,YAAY;IACTyB,OAAO,eACH9B,KAAA,CAAA6B,aAAA,CAACzB,MAAM;MACH2B,OAAO,EAAE,OAAQ;MACjBC,QAAQ,EAAEP,OAAQ;MAClBQ,IAAI,eAAEjC,KAAA,CAAA6B,aAAA,CAACrB,UAAU,MAAE,CAAE;MACrB0B,YAAY,EAAE,KAAM;MACpBC,IAAI,eACAnC,KAAA,CAAA6B,aAAA,CAAA7B,KAAA,CAAAoC,QAAA,QAAE,GACG,EAACV,eAAe,CAACV,OAAO,EAAC,IAAE,EAACL,YAAY,CAACe,eAAe,CAACT,MAAM,CAAC,EAAC,GACpE;IACL,CACJ;EACJ,GAEAU,YAAY,CAACU,GAAG,CAACC,QAAQ,iBACtBtC,KAAA,CAAA6B,aAAA,CAACxB,YAAY,CAACkC,IAAI;IACdC,GAAG,EAAEF,QAAQ,CAACxB,EAAG;IACjB2B,OAAO,EAAEA,CAAA,KAAM;MACXtB,SAAS,CAACP,MAAM,CAACS,cAAc,CAACC,IAAI,EAAE;QAClC,GAAGF,KAAK,CAACsB,MAAM;QACf5B,EAAE,EAAEwB,QAAQ,CAACxB;MACjB,CAAC,CAAC;IACN,CAAE;IACFqB,IAAI,eACAnC,KAAA,CAAA6B,aAAA,CAAA7B,KAAA,CAAAoC,QAAA,qBACIpC,KAAA,CAAA6B,aAAA,CAACvB,IAAI;MAACqC,EAAE,EAAE;IAAM,GAAC,GAAC,EAACL,QAAQ,CAACvB,IAAI,CAACC,OAAc,CAAC,eAChDhB,KAAA,CAAA6B,aAAA,CAACvB,IAAI;MAACsC,IAAI,EAAE;IAAK,GAAC,GAAC,EAACjC,YAAY,CAAC2B,QAAQ,CAACvB,IAAI,CAACE,MAAM,CAAC,EAAC,GAAO,CAChE;EACL,CACJ,CACJ,CACS,CAAC;AAEvB,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import React, { useMemo } from "react";
|
|
2
2
|
import { config as appConfig } from "@webiny/app/config.js";
|
|
3
|
+
import { useFeature } from "@webiny/app";
|
|
4
|
+
import { EventPublisherFeature } from "@webiny/app/features/eventPublisher/index.js";
|
|
5
|
+
import { EntryAfterCreateEvent } from "../../../features/contentEntry/events/EntryAfterCreateEvent.js";
|
|
6
|
+
import { EntryAfterUpdateEvent } from "../../../features/contentEntry/events/EntryAfterUpdateEvent.js";
|
|
7
|
+
import { EntryAfterDeleteEvent } from "../../../features/contentEntry/events/EntryAfterDeleteEvent.js";
|
|
3
8
|
import { createBulkActionMutation, createCreateFromMutation, createCreateMutation, createDeleteMutation, createPublishMutation, createReadQuery, createReadSingletonQuery, createRevisionsQuery, createUnpublishMutation, createUpdateMutation, createUpdateSingletonMutation } from "@webiny/app-headless-cms-common";
|
|
4
9
|
import { getFetchPolicy } from "../../../utils/getFetchPolicy.js";
|
|
5
10
|
const defaultErrorMessage = "The system wasn't able to save the current entry. Please contact your support team to help you resolve this issue.";
|
|
@@ -32,6 +37,9 @@ export const CmsProvider = props => {
|
|
|
32
37
|
uri: `${apiUrl}/cms/manage`
|
|
33
38
|
});
|
|
34
39
|
}, []);
|
|
40
|
+
const {
|
|
41
|
+
eventPublisher
|
|
42
|
+
} = useFeature(EventPublisherFeature);
|
|
35
43
|
const value = {
|
|
36
44
|
createApolloClient: props.createApolloClient,
|
|
37
45
|
apolloClient,
|
|
@@ -172,8 +180,15 @@ export const CmsProvider = props => {
|
|
|
172
180
|
error
|
|
173
181
|
};
|
|
174
182
|
}
|
|
183
|
+
const createdEntry = data;
|
|
184
|
+
await eventPublisher.publish(new EntryAfterCreateEvent({
|
|
185
|
+
entry: createdEntry,
|
|
186
|
+
model
|
|
187
|
+
})).catch(e => {
|
|
188
|
+
console.error("[CmsProvider] Failed to publish EntryAfterCreateEvent", e);
|
|
189
|
+
});
|
|
175
190
|
return {
|
|
176
|
-
entry:
|
|
191
|
+
entry: createdEntry
|
|
177
192
|
};
|
|
178
193
|
},
|
|
179
194
|
createEntryRevisionFrom: async ({
|
|
@@ -257,8 +272,15 @@ export const CmsProvider = props => {
|
|
|
257
272
|
error
|
|
258
273
|
};
|
|
259
274
|
}
|
|
275
|
+
const updatedEntry = data;
|
|
276
|
+
await eventPublisher.publish(new EntryAfterUpdateEvent({
|
|
277
|
+
entry: updatedEntry,
|
|
278
|
+
model
|
|
279
|
+
})).catch(e => {
|
|
280
|
+
console.error("[CmsProvider] Failed to publish EntryAfterUpdateEvent", e);
|
|
281
|
+
});
|
|
260
282
|
return {
|
|
261
|
-
entry:
|
|
283
|
+
entry: updatedEntry
|
|
262
284
|
};
|
|
263
285
|
},
|
|
264
286
|
updateSingletonEntry: async ({
|
|
@@ -413,6 +435,14 @@ export const CmsProvider = props => {
|
|
|
413
435
|
error
|
|
414
436
|
};
|
|
415
437
|
}
|
|
438
|
+
const entryId = id.split("#")[0];
|
|
439
|
+
await eventPublisher.publish(new EntryAfterDeleteEvent({
|
|
440
|
+
model,
|
|
441
|
+
id,
|
|
442
|
+
entryId
|
|
443
|
+
})).catch(e => {
|
|
444
|
+
console.error("[CmsProvider] Failed to publish EntryAfterDeleteEvent", e);
|
|
445
|
+
});
|
|
416
446
|
return true;
|
|
417
447
|
},
|
|
418
448
|
bulkAction: async ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","config","appConfig","createBulkActionMutation","createCreateFromMutation","createCreateMutation","createDeleteMutation","createPublishMutation","createReadQuery","createReadSingletonQuery","createRevisionsQuery","createUnpublishMutation","createUpdateMutation","createUpdateSingletonMutation","getFetchPolicy","defaultErrorMessage","catchErrorOnExecute","cb","options","ex","data","content","error","message","code","stack","CmsContext","createContext","undefined","CmsProvider","props","apiUrl","getKey","process","env","REACT_APP_API_URL","apolloClient","createApolloClient","uri","value","getEntry","model","id","query","isRevisionId","includes","response","variables","revision","entryId","fetchPolicy","entry","listEntryRevisions","revisions","getSingletonEntry","createEntry","mutation","mutate","createEntryRevisionFrom","input","updateEntryRevision","updateSingletonEntry","publishEntryRevision","unpublishEntryRevision","deleteEntry","permanently","bulkAction","action","where","search","responseData","createElement","Provider","Object","assign"],"sources":["index.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type ApolloClient from \"apollo-client\";\nimport { config as appConfig } from \"@webiny/app/config.js\";\nimport type {\n CmsContentEntry,\n CmsContentEntryRevision,\n CmsErrorResponse,\n CmsModel\n} from \"~/types.js\";\nimport type {\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables,\n CmsEntryBulkActionMutationResponse,\n CmsEntryBulkActionMutationVariables,\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables,\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables,\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables,\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables,\n CmsEntryGetSingletonQueryResponse,\n CmsEntryPublishMutationResponse,\n CmsEntryPublishMutationVariables,\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables,\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables,\n CmsEntryUpdateSingletonMutationResponse,\n CmsEntryUpdateSingletonMutationVariables\n} from \"@webiny/app-headless-cms-common\";\nimport {\n createBulkActionMutation,\n createCreateFromMutation,\n createCreateMutation,\n createDeleteMutation,\n createPublishMutation,\n createReadQuery,\n createReadSingletonQuery,\n createRevisionsQuery,\n createUnpublishMutation,\n createUpdateMutation,\n createUpdateSingletonMutation\n} from \"@webiny/app-headless-cms-common\";\nimport { getFetchPolicy } from \"~/utils/getFetchPolicy.js\";\n\nexport interface EntryError {\n message: string;\n code?: string;\n data?: any;\n}\n\nexport interface OperationSuccess {\n entry: CmsContentEntry;\n error?: never;\n}\n\nexport interface OperationError {\n entry?: never;\n error: EntryError;\n}\n\nexport interface BulkActionOperationSuccess {\n id: string;\n error?: never;\n}\n\ninterface ListEntryRevisionsOperationSuccess {\n revisions: CmsContentEntryRevision[];\n error?: never;\n}\n\nexport type PartialCmsContentEntryWithId = Partial<CmsContentEntry> & { id: string };\nexport type GetEntryResponse = OperationSuccess | OperationError;\nexport type ListEntryRevisionsResponse = ListEntryRevisionsOperationSuccess | OperationError;\nexport type CreateEntryResponse = OperationSuccess | OperationError;\nexport type CreateEntryRevisionFromResponse = OperationSuccess | OperationError;\nexport type UpdateEntryRevisionResponse = OperationSuccess | OperationError;\nexport type DeleteEntryResponse = boolean | OperationError;\nexport type PublishEntryRevisionResponse = OperationSuccess | OperationError;\nexport type UnpublishEntryRevisionResponse = OperationSuccess | OperationError;\nexport type BulkActionResponse = BulkActionOperationSuccess | OperationError;\n\nexport interface CreateEntryParams {\n model: CmsModel;\n entry: Partial<CmsContentEntry>;\n options?: {\n skipValidators?: string[];\n };\n}\n\nexport interface CreateEntryRevisionFromParams {\n model: CmsModel;\n id: string;\n input?: Record<string, any>;\n options?: {\n skipValidators?: string[];\n };\n}\n\nexport interface UpdateEntryRevisionParams {\n model: CmsModel;\n entry: PartialCmsContentEntryWithId;\n options?: {\n skipValidators?: string[];\n };\n}\n\nexport interface UpdateSingletonEntryParams {\n model: CmsModel;\n entry: PartialCmsContentEntryWithId;\n options?: {\n skipValidators?: string[];\n };\n}\n\nexport interface PublishEntryRevisionParams {\n model: CmsModel;\n id: string;\n}\n\nexport interface DeleteEntryParams {\n model: CmsModel;\n id: string;\n}\n\nexport interface UnpublishEntryRevisionParams {\n model: CmsModel;\n id: string;\n}\n\nexport interface GetEntryParams {\n model: CmsModel;\n id: string;\n}\n\nexport interface ListEntryRevisionParams {\n model: CmsModel;\n id: string;\n}\n\nexport interface GetSingletonEntryParams {\n model: CmsModel;\n}\n\nexport interface BulkActionParams {\n model: CmsModel;\n action: string;\n where?: Record<string, any>;\n search?: string;\n data?: Record<string, any>;\n}\n\ninterface ICatchErrorOnExecuteOptions {\n message?: string;\n}\n\nconst defaultErrorMessage =\n \"The system wasn't able to save the current entry. Please contact your support team to help you resolve this issue.\";\n\nconst catchErrorOnExecute = async <T = any,>(\n cb: () => Promise<T>,\n options?: ICatchErrorOnExecuteOptions\n) => {\n try {\n return await cb();\n } catch (ex) {\n return {\n data: {\n content: {\n data: null,\n error: {\n message: options?.message || defaultErrorMessage,\n code: ex.code,\n stack: ex.stack,\n data: {\n ...ex.data\n }\n }\n }\n }\n };\n }\n};\n\nexport interface CmsContext {\n createApolloClient: CmsProviderProps[\"createApolloClient\"];\n apolloClient: ApolloClient<any>;\n getEntry: (params: GetEntryParams) => Promise<GetEntryResponse>;\n listEntryRevisions: (params: ListEntryRevisionParams) => Promise<ListEntryRevisionsResponse>;\n getSingletonEntry: (params: GetSingletonEntryParams) => Promise<GetEntryResponse>;\n createEntry: (params: CreateEntryParams) => Promise<CreateEntryResponse>;\n createEntryRevisionFrom: (\n params: CreateEntryRevisionFromParams\n ) => Promise<CreateEntryRevisionFromResponse>;\n updateSingletonEntry: (\n params: UpdateSingletonEntryParams\n ) => Promise<UpdateEntryRevisionResponse>;\n updateEntryRevision: (\n params: UpdateEntryRevisionParams\n ) => Promise<UpdateEntryRevisionResponse>;\n publishEntryRevision: (\n params: PublishEntryRevisionParams\n ) => Promise<PublishEntryRevisionResponse>;\n unpublishEntryRevision: (\n params: UnpublishEntryRevisionParams\n ) => Promise<UnpublishEntryRevisionResponse>;\n deleteEntry: (params: DeleteEntryParams) => Promise<DeleteEntryResponse>;\n bulkAction: (params: BulkActionParams) => Promise<BulkActionResponse>;\n}\n\nexport const CmsContext = React.createContext<CmsContext | undefined>(undefined);\n\nexport interface CmsProviderProps {\n createApolloClient: (params: { uri: string }) => ApolloClient<any>;\n children: React.ReactNode;\n}\n\nexport const CmsProvider = (props: CmsProviderProps) => {\n const apiUrl = appConfig.getKey(\"API_URL\", process.env.REACT_APP_API_URL);\n const apolloClient = useMemo(() => {\n return props.createApolloClient({ uri: `${apiUrl}/cms/manage` });\n }, []);\n\n const value: CmsContext = {\n createApolloClient: props.createApolloClient,\n apolloClient,\n getEntry: async ({ model, id }) => {\n const query = createReadQuery(model);\n const isRevisionId = id.includes(\"#\");\n\n const response = await value.apolloClient.query<\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables\n >({\n query,\n variables: isRevisionId ? { revision: id } : { entryId: id },\n fetchPolicy: getFetchPolicy(model)\n });\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on getEntry query.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n listEntryRevisions: async ({ model, id }) => {\n const query = createRevisionsQuery(model);\n\n const response = await value.apolloClient.query<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >({\n query,\n variables: { id },\n fetchPolicy: \"network-only\"\n });\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on getRevisions query.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.revisions;\n\n if (error) {\n return { error };\n }\n\n return {\n revisions: data as CmsContentEntryRevision[]\n };\n },\n getSingletonEntry: async ({ model }) => {\n const query = createReadSingletonQuery(model);\n\n const response = await value.apolloClient.query<CmsEntryGetSingletonQueryResponse>({\n query,\n fetchPolicy: getFetchPolicy(model)\n });\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on getSingletonEntry query.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n createEntry: async ({ model, entry, options }) => {\n const mutation = createCreateMutation(model);\n const response = await catchErrorOnExecute(\n () => {\n return value.apolloClient.mutate<\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables\n >({\n mutation,\n variables: {\n data: entry,\n options\n },\n fetchPolicy: getFetchPolicy(model)\n });\n },\n {\n message:\n \"The system wasn't able to create a new entry. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on Create Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n createEntryRevisionFrom: async ({ model, id, input, options }) => {\n const mutation = createCreateFromMutation(model);\n const response = await catchErrorOnExecute(\n async () => {\n return value.apolloClient.mutate<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >({\n mutation,\n variables: {\n revision: id,\n data: input,\n options\n },\n fetchPolicy: getFetchPolicy(model)\n });\n },\n {\n message:\n \"The system wasn't able to create a new revision of the entry. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on Create Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n updateEntryRevision: async ({ model, entry, options }) => {\n const mutation = createUpdateMutation(model);\n const { id, ...input } = entry;\n const response = await catchErrorOnExecute(() => {\n return value.apolloClient.mutate<\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables\n >({\n mutation,\n variables: {\n revision: id,\n data: input,\n options\n },\n fetchPolicy: getFetchPolicy(model)\n });\n });\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on Update Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n updateSingletonEntry: async ({ model, entry, options }) => {\n const mutation = createUpdateSingletonMutation(model);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { id, ...input } = entry;\n const response = await catchErrorOnExecute(() => {\n return value.apolloClient.mutate<\n CmsEntryUpdateSingletonMutationResponse,\n CmsEntryUpdateSingletonMutationVariables\n >({\n mutation,\n variables: {\n data: input,\n options\n },\n fetchPolicy: getFetchPolicy(model)\n });\n });\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on updateSingletonEntry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n publishEntryRevision: async ({ model, id }) => {\n const mutation = createPublishMutation(model);\n const response = await catchErrorOnExecute(\n () => {\n return value.apolloClient.mutate<\n CmsEntryPublishMutationResponse,\n CmsEntryPublishMutationVariables\n >({\n mutation,\n variables: {\n revision: id\n }\n });\n },\n {\n message:\n \"The system wasn't able to publish the current entry. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n const error: CmsErrorResponse = {\n message: \"Missing response data on Publish Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n };\n return { error };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n unpublishEntryRevision: async ({ model, id }) => {\n const mutation = createUnpublishMutation(model);\n\n const response = await catchErrorOnExecute(\n () => {\n return value.apolloClient.mutate<\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n >({\n mutation,\n variables: {\n revision: id\n }\n });\n },\n {\n message:\n \"The system wasn't able to unpublish the current entry. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on Unpublish Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n const { data, error } = response.data.content;\n if (error) {\n return {\n error\n };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n deleteEntry: async ({ model, id }) => {\n const mutation = createDeleteMutation(model);\n const response = await catchErrorOnExecute(\n () => {\n return value.apolloClient.mutate<\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables\n >({\n mutation,\n variables: {\n revision: id,\n permanently: false\n }\n });\n },\n {\n message:\n \"The system wasn't able to delete the current entry. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n const error: CmsErrorResponse = {\n message: \"Missing response data on Delete Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n };\n return { error };\n }\n\n const { error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return true;\n },\n bulkAction: async ({ model, action, where, search, data }) => {\n const mutation = createBulkActionMutation(model);\n const response = await catchErrorOnExecute(\n () => {\n return value.apolloClient.mutate<\n CmsEntryBulkActionMutationResponse,\n CmsEntryBulkActionMutationVariables\n >({\n mutation,\n variables: {\n action,\n where,\n search,\n data\n }\n });\n },\n {\n message:\n \"The system wasn't able to perform the bulk action. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on Bulk Action mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n const { data: responseData, error } = response.data.content;\n\n if (error) {\n return {\n error\n };\n }\n\n if (!responseData) {\n return {\n error: {\n message: \"Missing response data on Bulk Action mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n return responseData;\n }\n };\n\n return <CmsContext.Provider value={value} {...props} />;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,MAAM,IAAIC,SAAS,QAAQ,uBAAuB;AA8B3D,SACIC,wBAAwB,EACxBC,wBAAwB,EACxBC,oBAAoB,EACpBC,oBAAoB,EACpBC,qBAAqB,EACrBC,eAAe,EACfC,wBAAwB,EACxBC,oBAAoB,EACpBC,uBAAuB,EACvBC,oBAAoB,EACpBC,6BAA6B,QAC1B,iCAAiC;AACxC,SAASC,cAAc;AAiHvB,MAAMC,mBAAmB,GACrB,oHAAoH;AAExH,MAAMC,mBAAmB,GAAG,MAAAA,CACxBC,EAAoB,EACpBC,OAAqC,KACpC;EACD,IAAI;IACA,OAAO,MAAMD,EAAE,CAAC,CAAC;EACrB,CAAC,CAAC,OAAOE,EAAE,EAAE;IACT,OAAO;MACHC,IAAI,EAAE;QACFC,OAAO,EAAE;UACLD,IAAI,EAAE,IAAI;UACVE,KAAK,EAAE;YACHC,OAAO,EAAEL,OAAO,EAAEK,OAAO,IAAIR,mBAAmB;YAChDS,IAAI,EAAEL,EAAE,CAACK,IAAI;YACbC,KAAK,EAAEN,EAAE,CAACM,KAAK;YACfL,IAAI,EAAE;cACF,GAAGD,EAAE,CAACC;YACV;UACJ;QACJ;MACJ;IACJ,CAAC;EACL;AACJ,CAAC;AA4BD,OAAO,MAAMM,UAAU,gBAAG3B,KAAK,CAAC4B,aAAa,CAAyBC,SAAS,CAAC;AAOhF,OAAO,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EACpD,MAAMC,MAAM,GAAG7B,SAAS,CAAC8B,MAAM,CAAC,SAAS,EAAEC,OAAO,CAACC,GAAG,CAACC,iBAAiB,CAAC;EACzE,MAAMC,YAAY,GAAGpC,OAAO,CAAC,MAAM;IAC/B,OAAO8B,KAAK,CAACO,kBAAkB,CAAC;MAAEC,GAAG,EAAE,GAAGP,MAAM;IAAc,CAAC,CAAC;EACpE,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,KAAiB,GAAG;IACtBF,kBAAkB,EAAEP,KAAK,CAACO,kBAAkB;IAC5CD,YAAY;IACZI,QAAQ,EAAE,MAAAA,CAAO;MAAEC,KAAK;MAAEC;IAAG,CAAC,KAAK;MAC/B,MAAMC,KAAK,GAAGnC,eAAe,CAACiC,KAAK,CAAC;MACpC,MAAMG,YAAY,GAAGF,EAAE,CAACG,QAAQ,CAAC,GAAG,CAAC;MAErC,MAAMC,QAAQ,GAAG,MAAMP,KAAK,CAACH,YAAY,CAACO,KAAK,CAG7C;QACEA,KAAK;QACLI,SAAS,EAAEH,YAAY,GAAG;UAAEI,QAAQ,EAAEN;QAAG,CAAC,GAAG;UAAEO,OAAO,EAAEP;QAAG,CAAC;QAC5DQ,WAAW,EAAEpC,cAAc,CAAC2B,KAAK;MACrC,CAAC,CAAC;MAEF,IAAI,CAACK,QAAQ,CAAC1B,IAAI,EAAE;QAChB,OAAO;UACHE,KAAK,EAAE;YACHC,OAAO,EAAE,0CAA0C;YACnDC,IAAI,EAAE,uBAAuB;YAC7BJ,IAAI,EAAE,CAAC;UACX;QACJ,CAAC;MACL;MAEA,MAAM;QAAEA,IAAI;QAAEE;MAAM,CAAC,GAAGwB,QAAQ,CAAC1B,IAAI,CAACC,OAAO;MAE7C,IAAIC,KAAK,EAAE;QACP,OAAO;UAAEA;QAAM,CAAC;MACpB;MAEA,OAAO;QACH6B,KAAK,EAAE/B;MACX,CAAC;IACL,CAAC;IACDgC,kBAAkB,EAAE,MAAAA,CAAO;MAAEX,KAAK;MAAEC;IAAG,CAAC,KAAK;MACzC,MAAMC,KAAK,GAAGjC,oBAAoB,CAAC+B,KAAK,CAAC;MAEzC,MAAMK,QAAQ,GAAG,MAAMP,KAAK,CAACH,YAAY,CAACO,KAAK,CAG7C;QACEA,KAAK;QACLI,SAAS,EAAE;UAAEL;QAAG,CAAC;QACjBQ,WAAW,EAAE;MACjB,CAAC,CAAC;MAEF,IAAI,CAACJ,QAAQ,CAAC1B,IAAI,EAAE;QAChB,OAAO;UACHE,KAAK,EAAE;YACHC,OAAO,EAAE,8CAA8C;YACvDC,IAAI,EAAE,uBAAuB;YAC7BJ,IAAI,EAAE,CAAC;UACX;QACJ,CAAC;MACL;MAEA,MAAM;QAAEA,IAAI;QAAEE;MAAM,CAAC,GAAGwB,QAAQ,CAAC1B,IAAI,CAACiC,SAAS;MAE/C,IAAI/B,KAAK,EAAE;QACP,OAAO;UAAEA;QAAM,CAAC;MACpB;MAEA,OAAO;QACH+B,SAAS,EAAEjC;MACf,CAAC;IACL,CAAC;IACDkC,iBAAiB,EAAE,MAAAA,CAAO;MAAEb;IAAM,CAAC,KAAK;MACpC,MAAME,KAAK,GAAGlC,wBAAwB,CAACgC,KAAK,CAAC;MAE7C,MAAMK,QAAQ,GAAG,MAAMP,KAAK,CAACH,YAAY,CAACO,KAAK,CAAoC;QAC/EA,KAAK;QACLO,WAAW,EAAEpC,cAAc,CAAC2B,KAAK;MACrC,CAAC,CAAC;MAEF,IAAI,CAACK,QAAQ,CAAC1B,IAAI,EAAE;QAChB,OAAO;UACHE,KAAK,EAAE;YACHC,OAAO,EAAE,mDAAmD;YAC5DC,IAAI,EAAE,uBAAuB;YAC7BJ,IAAI,EAAE,CAAC;UACX;QACJ,CAAC;MACL;MAEA,MAAM;QAAEA,IAAI;QAAEE;MAAM,CAAC,GAAGwB,QAAQ,CAAC1B,IAAI,CAACC,OAAO;MAE7C,IAAIC,KAAK,EAAE;QACP,OAAO;UAAEA;QAAM,CAAC;MACpB;MAEA,OAAO;QACH6B,KAAK,EAAE/B;MACX,CAAC;IACL,CAAC;IACDmC,WAAW,EAAE,MAAAA,CAAO;MAAEd,KAAK;MAAEU,KAAK;MAAEjC;IAAQ,CAAC,KAAK;MAC9C,MAAMsC,QAAQ,GAAGnD,oBAAoB,CAACoC,KAAK,CAAC;MAC5C,MAAMK,QAAQ,GAAG,MAAM9B,mBAAmB,CACtC,MAAM;QACF,OAAOuB,KAAK,CAACH,YAAY,CAACqB,MAAM,CAG9B;UACED,QAAQ;UACRT,SAAS,EAAE;YACP3B,IAAI,EAAE+B,KAAK;YACXjC;UACJ,CAAC;UACDgC,WAAW,EAAEpC,cAAc,CAAC2B,KAAK;QACrC,CAAC,CAAC;MACN,CAAC,EACD;QACIlB,OAAO,EACH;MACR,CACJ,CAAC;MAED,IAAI,CAACuB,QAAQ,CAAC1B,IAAI,EAAE;QAChB,OAAO;UACHE,KAAK,EAAE;YACHC,OAAO,EAAE,iDAAiD;YAC1DC,IAAI,EAAE,uBAAuB;YAC7BJ,IAAI,EAAE,CAAC;UACX;QACJ,CAAC;MACL;MAEA,MAAM;QAAEA,IAAI;QAAEE;MAAM,CAAC,GAAGwB,QAAQ,CAAC1B,IAAI,CAACC,OAAO;MAE7C,IAAIC,KAAK,EAAE;QACP,OAAO;UAAEA;QAAM,CAAC;MACpB;MAEA,OAAO;QACH6B,KAAK,EAAE/B;MACX,CAAC;IACL,CAAC;IACDsC,uBAAuB,EAAE,MAAAA,CAAO;MAAEjB,KAAK;MAAEC,EAAE;MAAEiB,KAAK;MAAEzC;IAAQ,CAAC,KAAK;MAC9D,MAAMsC,QAAQ,GAAGpD,wBAAwB,CAACqC,KAAK,CAAC;MAChD,MAAMK,QAAQ,GAAG,MAAM9B,mBAAmB,CACtC,YAAY;QACR,OAAOuB,KAAK,CAACH,YAAY,CAACqB,MAAM,CAG9B;UACED,QAAQ;UACRT,SAAS,EAAE;YACPC,QAAQ,EAAEN,EAAE;YACZtB,IAAI,EAAEuC,KAAK;YACXzC;UACJ,CAAC;UACDgC,WAAW,EAAEpC,cAAc,CAAC2B,KAAK;QACrC,CAAC,CAAC;MACN,CAAC,EACD;QACIlB,OAAO,EACH;MACR,CACJ,CAAC;MAED,IAAI,CAACuB,QAAQ,CAAC1B,IAAI,EAAE;QAChB,OAAO;UACHE,KAAK,EAAE;YACHC,OAAO,EAAE,iDAAiD;YAC1DC,IAAI,EAAE,uBAAuB;YAC7BJ,IAAI,EAAE,CAAC;UACX;QACJ,CAAC;MACL;MAEA,MAAM;QAAEA,IAAI;QAAEE;MAAM,CAAC,GAAGwB,QAAQ,CAAC1B,IAAI,CAACC,OAAO;MAE7C,IAAIC,KAAK,EAAE;QACP,OAAO;UAAEA;QAAM,CAAC;MACpB;MAEA,OAAO;QACH6B,KAAK,EAAE/B;MACX,CAAC;IACL,CAAC;IACDwC,mBAAmB,EAAE,MAAAA,CAAO;MAAEnB,KAAK;MAAEU,KAAK;MAAEjC;IAAQ,CAAC,KAAK;MACtD,MAAMsC,QAAQ,GAAG5C,oBAAoB,CAAC6B,KAAK,CAAC;MAC5C,MAAM;QAAEC,EAAE;QAAE,GAAGiB;MAAM,CAAC,GAAGR,KAAK;MAC9B,MAAML,QAAQ,GAAG,MAAM9B,mBAAmB,CAAC,MAAM;QAC7C,OAAOuB,KAAK,CAACH,YAAY,CAACqB,MAAM,CAG9B;UACED,QAAQ;UACRT,SAAS,EAAE;YACPC,QAAQ,EAAEN,EAAE;YACZtB,IAAI,EAAEuC,KAAK;YACXzC;UACJ,CAAC;UACDgC,WAAW,EAAEpC,cAAc,CAAC2B,KAAK;QACrC,CAAC,CAAC;MACN,CAAC,CAAC;MAEF,IAAI,CAACK,QAAQ,CAAC1B,IAAI,EAAE;QAChB,OAAO;UACHE,KAAK,EAAE;YACHC,OAAO,EAAE,iDAAiD;YAC1DC,IAAI,EAAE,uBAAuB;YAC7BJ,IAAI,EAAE,CAAC;UACX;QACJ,CAAC;MACL;MAEA,MAAM;QAAEA,IAAI;QAAEE;MAAM,CAAC,GAAGwB,QAAQ,CAAC1B,IAAI,CAACC,OAAO;MAE7C,IAAIC,KAAK,EAAE;QACP,OAAO;UAAEA;QAAM,CAAC;MACpB;MAEA,OAAO;QACH6B,KAAK,EAAE/B;MACX,CAAC;IACL,CAAC;IACDyC,oBAAoB,EAAE,MAAAA,CAAO;MAAEpB,KAAK;MAAEU,KAAK;MAAEjC;IAAQ,CAAC,KAAK;MACvD,MAAMsC,QAAQ,GAAG3C,6BAA6B,CAAC4B,KAAK,CAAC;MACrD;MACA,MAAM;QAAEC,EAAE;QAAE,GAAGiB;MAAM,CAAC,GAAGR,KAAK;MAC9B,MAAML,QAAQ,GAAG,MAAM9B,mBAAmB,CAAC,MAAM;QAC7C,OAAOuB,KAAK,CAACH,YAAY,CAACqB,MAAM,CAG9B;UACED,QAAQ;UACRT,SAAS,EAAE;YACP3B,IAAI,EAAEuC,KAAK;YACXzC;UACJ,CAAC;UACDgC,WAAW,EAAEpC,cAAc,CAAC2B,KAAK;QACrC,CAAC,CAAC;MACN,CAAC,CAAC;MAEF,IAAI,CAACK,QAAQ,CAAC1B,IAAI,EAAE;QAChB,OAAO;UACHE,KAAK,EAAE;YACHC,OAAO,EAAE,yDAAyD;YAClEC,IAAI,EAAE,uBAAuB;YAC7BJ,IAAI,EAAE,CAAC;UACX;QACJ,CAAC;MACL;MAEA,MAAM;QAAEA,IAAI;QAAEE;MAAM,CAAC,GAAGwB,QAAQ,CAAC1B,IAAI,CAACC,OAAO;MAE7C,IAAIC,KAAK,EAAE;QACP,OAAO;UAAEA;QAAM,CAAC;MACpB;MAEA,OAAO;QACH6B,KAAK,EAAE/B;MACX,CAAC;IACL,CAAC;IACD0C,oBAAoB,EAAE,MAAAA,CAAO;MAAErB,KAAK;MAAEC;IAAG,CAAC,KAAK;MAC3C,MAAMc,QAAQ,GAAGjD,qBAAqB,CAACkC,KAAK,CAAC;MAC7C,MAAMK,QAAQ,GAAG,MAAM9B,mBAAmB,CACtC,MAAM;QACF,OAAOuB,KAAK,CAACH,YAAY,CAACqB,MAAM,CAG9B;UACED,QAAQ;UACRT,SAAS,EAAE;YACPC,QAAQ,EAAEN;UACd;QACJ,CAAC,CAAC;MACN,CAAC,EACD;QACInB,OAAO,EACH;MACR,CACJ,CAAC;MAED,IAAI,CAACuB,QAAQ,CAAC1B,IAAI,EAAE;QAChB,MAAME,KAAuB,GAAG;UAC5BC,OAAO,EAAE,kDAAkD;UAC3DC,IAAI,EAAE,uBAAuB;UAC7BJ,IAAI,EAAE,CAAC;QACX,CAAC;QACD,OAAO;UAAEE;QAAM,CAAC;MACpB;MAEA,MAAM;QAAEF,IAAI;QAAEE;MAAM,CAAC,GAAGwB,QAAQ,CAAC1B,IAAI,CAACC,OAAO;MAE7C,IAAIC,KAAK,EAAE;QACP,OAAO;UAAEA;QAAM,CAAC;MACpB;MAEA,OAAO;QACH6B,KAAK,EAAE/B;MACX,CAAC;IACL,CAAC;IACD2C,sBAAsB,EAAE,MAAAA,CAAO;MAAEtB,KAAK;MAAEC;IAAG,CAAC,KAAK;MAC7C,MAAMc,QAAQ,GAAG7C,uBAAuB,CAAC8B,KAAK,CAAC;MAE/C,MAAMK,QAAQ,GAAG,MAAM9B,mBAAmB,CACtC,MAAM;QACF,OAAOuB,KAAK,CAACH,YAAY,CAACqB,MAAM,CAG9B;UACED,QAAQ;UACRT,SAAS,EAAE;YACPC,QAAQ,EAAEN;UACd;QACJ,CAAC,CAAC;MACN,CAAC,EACD;QACInB,OAAO,EACH;MACR,CACJ,CAAC;MAED,IAAI,CAACuB,QAAQ,CAAC1B,IAAI,EAAE;QAChB,OAAO;UACHE,KAAK,EAAE;YACHC,OAAO,EAAE,oDAAoD;YAC7DC,IAAI,EAAE,uBAAuB;YAC7BJ,IAAI,EAAE,CAAC;UACX;QACJ,CAAC;MACL;MACA,MAAM;QAAEA,IAAI;QAAEE;MAAM,CAAC,GAAGwB,QAAQ,CAAC1B,IAAI,CAACC,OAAO;MAC7C,IAAIC,KAAK,EAAE;QACP,OAAO;UACHA;QACJ,CAAC;MACL;MAEA,OAAO;QACH6B,KAAK,EAAE/B;MACX,CAAC;IACL,CAAC;IACD4C,WAAW,EAAE,MAAAA,CAAO;MAAEvB,KAAK;MAAEC;IAAG,CAAC,KAAK;MAClC,MAAMc,QAAQ,GAAGlD,oBAAoB,CAACmC,KAAK,CAAC;MAC5C,MAAMK,QAAQ,GAAG,MAAM9B,mBAAmB,CACtC,MAAM;QACF,OAAOuB,KAAK,CAACH,YAAY,CAACqB,MAAM,CAG9B;UACED,QAAQ;UACRT,SAAS,EAAE;YACPC,QAAQ,EAAEN,EAAE;YACZuB,WAAW,EAAE;UACjB;QACJ,CAAC,CAAC;MACN,CAAC,EACD;QACI1C,OAAO,EACH;MACR,CACJ,CAAC;MAED,IAAI,CAACuB,QAAQ,CAAC1B,IAAI,EAAE;QAChB,MAAME,KAAuB,GAAG;UAC5BC,OAAO,EAAE,iDAAiD;UAC1DC,IAAI,EAAE,uBAAuB;UAC7BJ,IAAI,EAAE,CAAC;QACX,CAAC;QACD,OAAO;UAAEE;QAAM,CAAC;MACpB;MAEA,MAAM;QAAEA;MAAM,CAAC,GAAGwB,QAAQ,CAAC1B,IAAI,CAACC,OAAO;MAEvC,IAAIC,KAAK,EAAE;QACP,OAAO;UAAEA;QAAM,CAAC;MACpB;MAEA,OAAO,IAAI;IACf,CAAC;IACD4C,UAAU,EAAE,MAAAA,CAAO;MAAEzB,KAAK;MAAE0B,MAAM;MAAEC,KAAK;MAAEC,MAAM;MAAEjD;IAAK,CAAC,KAAK;MAC1D,MAAMoC,QAAQ,GAAGrD,wBAAwB,CAACsC,KAAK,CAAC;MAChD,MAAMK,QAAQ,GAAG,MAAM9B,mBAAmB,CACtC,MAAM;QACF,OAAOuB,KAAK,CAACH,YAAY,CAACqB,MAAM,CAG9B;UACED,QAAQ;UACRT,SAAS,EAAE;YACPoB,MAAM;YACNC,KAAK;YACLC,MAAM;YACNjD;UACJ;QACJ,CAAC,CAAC;MACN,CAAC,EACD;QACIG,OAAO,EACH;MACR,CACJ,CAAC;MAED,IAAI,CAACuB,QAAQ,CAAC1B,IAAI,EAAE;QAChB,OAAO;UACHE,KAAK,EAAE;YACHC,OAAO,EAAE,gDAAgD;YACzDC,IAAI,EAAE,uBAAuB;YAC7BJ,IAAI,EAAE,CAAC;UACX;QACJ,CAAC;MACL;MACA,MAAM;QAAEA,IAAI,EAAEkD,YAAY;QAAEhD;MAAM,CAAC,GAAGwB,QAAQ,CAAC1B,IAAI,CAACC,OAAO;MAE3D,IAAIC,KAAK,EAAE;QACP,OAAO;UACHA;QACJ,CAAC;MACL;MAEA,IAAI,CAACgD,YAAY,EAAE;QACf,OAAO;UACHhD,KAAK,EAAE;YACHC,OAAO,EAAE,gDAAgD;YACzDC,IAAI,EAAE,uBAAuB;YAC7BJ,IAAI,EAAE,CAAC;UACX;QACJ,CAAC;MACL;MAEA,OAAOkD,YAAY;IACvB;EACJ,CAAC;EAED,oBAAOvE,KAAA,CAAAwE,aAAA,CAAC7C,UAAU,CAAC8C,QAAQ,EAAAC,MAAA,CAAAC,MAAA;IAACnC,KAAK,EAAEA;EAAM,GAAKT,KAAK,CAAG,CAAC;AAC3D,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useMemo","config","appConfig","useFeature","EventPublisherFeature","EntryAfterCreateEvent","EntryAfterUpdateEvent","EntryAfterDeleteEvent","createBulkActionMutation","createCreateFromMutation","createCreateMutation","createDeleteMutation","createPublishMutation","createReadQuery","createReadSingletonQuery","createRevisionsQuery","createUnpublishMutation","createUpdateMutation","createUpdateSingletonMutation","getFetchPolicy","defaultErrorMessage","catchErrorOnExecute","cb","options","ex","data","content","error","message","code","stack","CmsContext","createContext","undefined","CmsProvider","props","apiUrl","getKey","process","env","REACT_APP_API_URL","apolloClient","createApolloClient","uri","eventPublisher","value","getEntry","model","id","query","isRevisionId","includes","response","variables","revision","entryId","fetchPolicy","entry","listEntryRevisions","revisions","getSingletonEntry","createEntry","mutation","mutate","createdEntry","publish","catch","e","console","createEntryRevisionFrom","input","updateEntryRevision","updatedEntry","updateSingletonEntry","publishEntryRevision","unpublishEntryRevision","deleteEntry","permanently","split","bulkAction","action","where","search","responseData","createElement","Provider","Object","assign"],"sources":["index.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type ApolloClient from \"apollo-client\";\nimport { config as appConfig } from \"@webiny/app/config.js\";\nimport { useFeature } from \"@webiny/app\";\nimport { EventPublisherFeature } from \"@webiny/app/features/eventPublisher/index.js\";\nimport { EntryAfterCreateEvent } from \"~/features/contentEntry/events/EntryAfterCreateEvent.js\";\nimport { EntryAfterUpdateEvent } from \"~/features/contentEntry/events/EntryAfterUpdateEvent.js\";\nimport { EntryAfterDeleteEvent } from \"~/features/contentEntry/events/EntryAfterDeleteEvent.js\";\nimport type {\n CmsContentEntry,\n CmsContentEntryRevision,\n CmsErrorResponse,\n CmsModel\n} from \"~/types.js\";\nimport type {\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables,\n CmsEntryBulkActionMutationResponse,\n CmsEntryBulkActionMutationVariables,\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables,\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables,\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables,\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables,\n CmsEntryGetSingletonQueryResponse,\n CmsEntryPublishMutationResponse,\n CmsEntryPublishMutationVariables,\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables,\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables,\n CmsEntryUpdateSingletonMutationResponse,\n CmsEntryUpdateSingletonMutationVariables\n} from \"@webiny/app-headless-cms-common\";\nimport {\n createBulkActionMutation,\n createCreateFromMutation,\n createCreateMutation,\n createDeleteMutation,\n createPublishMutation,\n createReadQuery,\n createReadSingletonQuery,\n createRevisionsQuery,\n createUnpublishMutation,\n createUpdateMutation,\n createUpdateSingletonMutation\n} from \"@webiny/app-headless-cms-common\";\nimport { getFetchPolicy } from \"~/utils/getFetchPolicy.js\";\n\nexport interface EntryError {\n message: string;\n code?: string;\n data?: any;\n}\n\nexport interface OperationSuccess {\n entry: CmsContentEntry;\n error?: never;\n}\n\nexport interface OperationError {\n entry?: never;\n error: EntryError;\n}\n\nexport interface BulkActionOperationSuccess {\n id: string;\n error?: never;\n}\n\ninterface ListEntryRevisionsOperationSuccess {\n revisions: CmsContentEntryRevision[];\n error?: never;\n}\n\nexport type PartialCmsContentEntryWithId = Partial<CmsContentEntry> & { id: string };\nexport type GetEntryResponse = OperationSuccess | OperationError;\nexport type ListEntryRevisionsResponse = ListEntryRevisionsOperationSuccess | OperationError;\nexport type CreateEntryResponse = OperationSuccess | OperationError;\nexport type CreateEntryRevisionFromResponse = OperationSuccess | OperationError;\nexport type UpdateEntryRevisionResponse = OperationSuccess | OperationError;\nexport type DeleteEntryResponse = boolean | OperationError;\nexport type PublishEntryRevisionResponse = OperationSuccess | OperationError;\nexport type UnpublishEntryRevisionResponse = OperationSuccess | OperationError;\nexport type BulkActionResponse = BulkActionOperationSuccess | OperationError;\n\nexport interface CreateEntryParams {\n model: CmsModel;\n entry: Partial<CmsContentEntry>;\n options?: {\n skipValidators?: string[];\n };\n}\n\nexport interface CreateEntryRevisionFromParams {\n model: CmsModel;\n id: string;\n input?: Record<string, any>;\n options?: {\n skipValidators?: string[];\n };\n}\n\nexport interface UpdateEntryRevisionParams {\n model: CmsModel;\n entry: PartialCmsContentEntryWithId;\n options?: {\n skipValidators?: string[];\n };\n}\n\nexport interface UpdateSingletonEntryParams {\n model: CmsModel;\n entry: PartialCmsContentEntryWithId;\n options?: {\n skipValidators?: string[];\n };\n}\n\nexport interface PublishEntryRevisionParams {\n model: CmsModel;\n id: string;\n}\n\nexport interface DeleteEntryParams {\n model: CmsModel;\n id: string;\n}\n\nexport interface UnpublishEntryRevisionParams {\n model: CmsModel;\n id: string;\n}\n\nexport interface GetEntryParams {\n model: CmsModel;\n id: string;\n}\n\nexport interface ListEntryRevisionParams {\n model: CmsModel;\n id: string;\n}\n\nexport interface GetSingletonEntryParams {\n model: CmsModel;\n}\n\nexport interface BulkActionParams {\n model: CmsModel;\n action: string;\n where?: Record<string, any>;\n search?: string;\n data?: Record<string, any>;\n}\n\ninterface ICatchErrorOnExecuteOptions {\n message?: string;\n}\n\nconst defaultErrorMessage =\n \"The system wasn't able to save the current entry. Please contact your support team to help you resolve this issue.\";\n\nconst catchErrorOnExecute = async <T = any,>(\n cb: () => Promise<T>,\n options?: ICatchErrorOnExecuteOptions\n) => {\n try {\n return await cb();\n } catch (ex) {\n return {\n data: {\n content: {\n data: null,\n error: {\n message: options?.message || defaultErrorMessage,\n code: ex.code,\n stack: ex.stack,\n data: {\n ...ex.data\n }\n }\n }\n }\n };\n }\n};\n\nexport interface CmsContext {\n createApolloClient: CmsProviderProps[\"createApolloClient\"];\n apolloClient: ApolloClient<any>;\n getEntry: (params: GetEntryParams) => Promise<GetEntryResponse>;\n listEntryRevisions: (params: ListEntryRevisionParams) => Promise<ListEntryRevisionsResponse>;\n getSingletonEntry: (params: GetSingletonEntryParams) => Promise<GetEntryResponse>;\n createEntry: (params: CreateEntryParams) => Promise<CreateEntryResponse>;\n createEntryRevisionFrom: (\n params: CreateEntryRevisionFromParams\n ) => Promise<CreateEntryRevisionFromResponse>;\n updateSingletonEntry: (\n params: UpdateSingletonEntryParams\n ) => Promise<UpdateEntryRevisionResponse>;\n updateEntryRevision: (\n params: UpdateEntryRevisionParams\n ) => Promise<UpdateEntryRevisionResponse>;\n publishEntryRevision: (\n params: PublishEntryRevisionParams\n ) => Promise<PublishEntryRevisionResponse>;\n unpublishEntryRevision: (\n params: UnpublishEntryRevisionParams\n ) => Promise<UnpublishEntryRevisionResponse>;\n deleteEntry: (params: DeleteEntryParams) => Promise<DeleteEntryResponse>;\n bulkAction: (params: BulkActionParams) => Promise<BulkActionResponse>;\n}\n\nexport const CmsContext = React.createContext<CmsContext | undefined>(undefined);\n\nexport interface CmsProviderProps {\n createApolloClient: (params: { uri: string }) => ApolloClient<any>;\n children: React.ReactNode;\n}\n\nexport const CmsProvider = (props: CmsProviderProps) => {\n const apiUrl = appConfig.getKey(\"API_URL\", process.env.REACT_APP_API_URL);\n const apolloClient = useMemo(() => {\n return props.createApolloClient({ uri: `${apiUrl}/cms/manage` });\n }, []);\n const { eventPublisher } = useFeature(EventPublisherFeature);\n\n const value: CmsContext = {\n createApolloClient: props.createApolloClient,\n apolloClient,\n getEntry: async ({ model, id }) => {\n const query = createReadQuery(model);\n const isRevisionId = id.includes(\"#\");\n\n const response = await value.apolloClient.query<\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables\n >({\n query,\n variables: isRevisionId ? { revision: id } : { entryId: id },\n fetchPolicy: getFetchPolicy(model)\n });\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on getEntry query.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n listEntryRevisions: async ({ model, id }) => {\n const query = createRevisionsQuery(model);\n\n const response = await value.apolloClient.query<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >({\n query,\n variables: { id },\n fetchPolicy: \"network-only\"\n });\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on getRevisions query.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.revisions;\n\n if (error) {\n return { error };\n }\n\n return {\n revisions: data as CmsContentEntryRevision[]\n };\n },\n getSingletonEntry: async ({ model }) => {\n const query = createReadSingletonQuery(model);\n\n const response = await value.apolloClient.query<CmsEntryGetSingletonQueryResponse>({\n query,\n fetchPolicy: getFetchPolicy(model)\n });\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on getSingletonEntry query.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n createEntry: async ({ model, entry, options }) => {\n const mutation = createCreateMutation(model);\n const response = await catchErrorOnExecute(\n () => {\n return value.apolloClient.mutate<\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables\n >({\n mutation,\n variables: {\n data: entry,\n options\n },\n fetchPolicy: getFetchPolicy(model)\n });\n },\n {\n message:\n \"The system wasn't able to create a new entry. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on Create Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n const createdEntry = data as CmsContentEntry;\n\n await eventPublisher\n .publish(new EntryAfterCreateEvent({ entry: createdEntry, model }))\n .catch(e => {\n console.error(\"[CmsProvider] Failed to publish EntryAfterCreateEvent\", e);\n });\n\n return {\n entry: createdEntry\n };\n },\n createEntryRevisionFrom: async ({ model, id, input, options }) => {\n const mutation = createCreateFromMutation(model);\n const response = await catchErrorOnExecute(\n async () => {\n return value.apolloClient.mutate<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >({\n mutation,\n variables: {\n revision: id,\n data: input,\n options\n },\n fetchPolicy: getFetchPolicy(model)\n });\n },\n {\n message:\n \"The system wasn't able to create a new revision of the entry. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on Create Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n updateEntryRevision: async ({ model, entry, options }) => {\n const mutation = createUpdateMutation(model);\n const { id, ...input } = entry;\n const response = await catchErrorOnExecute(() => {\n return value.apolloClient.mutate<\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables\n >({\n mutation,\n variables: {\n revision: id,\n data: input,\n options\n },\n fetchPolicy: getFetchPolicy(model)\n });\n });\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on Update Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n const updatedEntry = data as CmsContentEntry;\n\n await eventPublisher\n .publish(new EntryAfterUpdateEvent({ entry: updatedEntry, model }))\n .catch(e => {\n console.error(\"[CmsProvider] Failed to publish EntryAfterUpdateEvent\", e);\n });\n\n return {\n entry: updatedEntry\n };\n },\n updateSingletonEntry: async ({ model, entry, options }) => {\n const mutation = createUpdateSingletonMutation(model);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { id, ...input } = entry;\n const response = await catchErrorOnExecute(() => {\n return value.apolloClient.mutate<\n CmsEntryUpdateSingletonMutationResponse,\n CmsEntryUpdateSingletonMutationVariables\n >({\n mutation,\n variables: {\n data: input,\n options\n },\n fetchPolicy: getFetchPolicy(model)\n });\n });\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on updateSingletonEntry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n publishEntryRevision: async ({ model, id }) => {\n const mutation = createPublishMutation(model);\n const response = await catchErrorOnExecute(\n () => {\n return value.apolloClient.mutate<\n CmsEntryPublishMutationResponse,\n CmsEntryPublishMutationVariables\n >({\n mutation,\n variables: {\n revision: id\n }\n });\n },\n {\n message:\n \"The system wasn't able to publish the current entry. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n const error: CmsErrorResponse = {\n message: \"Missing response data on Publish Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n };\n return { error };\n }\n\n const { data, error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n unpublishEntryRevision: async ({ model, id }) => {\n const mutation = createUnpublishMutation(model);\n\n const response = await catchErrorOnExecute(\n () => {\n return value.apolloClient.mutate<\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n >({\n mutation,\n variables: {\n revision: id\n }\n });\n },\n {\n message:\n \"The system wasn't able to unpublish the current entry. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on Unpublish Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n const { data, error } = response.data.content;\n if (error) {\n return {\n error\n };\n }\n\n return {\n entry: data as CmsContentEntry\n };\n },\n deleteEntry: async ({ model, id }) => {\n const mutation = createDeleteMutation(model);\n const response = await catchErrorOnExecute(\n () => {\n return value.apolloClient.mutate<\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables\n >({\n mutation,\n variables: {\n revision: id,\n permanently: false\n }\n });\n },\n {\n message:\n \"The system wasn't able to delete the current entry. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n const error: CmsErrorResponse = {\n message: \"Missing response data on Delete Entry mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n };\n return { error };\n }\n\n const { error } = response.data.content;\n\n if (error) {\n return { error };\n }\n\n const entryId = id.split(\"#\")[0];\n await eventPublisher\n .publish(new EntryAfterDeleteEvent({ model, id, entryId }))\n .catch(e => {\n console.error(\"[CmsProvider] Failed to publish EntryAfterDeleteEvent\", e);\n });\n\n return true;\n },\n bulkAction: async ({ model, action, where, search, data }) => {\n const mutation = createBulkActionMutation(model);\n const response = await catchErrorOnExecute(\n () => {\n return value.apolloClient.mutate<\n CmsEntryBulkActionMutationResponse,\n CmsEntryBulkActionMutationVariables\n >({\n mutation,\n variables: {\n action,\n where,\n search,\n data\n }\n });\n },\n {\n message:\n \"The system wasn't able to perform the bulk action. Please contact your support team to help you resolve this issue.\"\n }\n );\n\n if (!response.data) {\n return {\n error: {\n message: \"Missing response data on Bulk Action mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n const { data: responseData, error } = response.data.content;\n\n if (error) {\n return {\n error\n };\n }\n\n if (!responseData) {\n return {\n error: {\n message: \"Missing response data on Bulk Action mutation.\",\n code: \"MISSING_RESPONSE_DATA\",\n data: {}\n }\n };\n }\n\n return responseData;\n }\n };\n\n return <CmsContext.Provider value={value} {...props} />;\n};\n"],"mappings":"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","ignoreList":[]}
|