@webiny/api-aco 0.0.0-unstable.3386f66516 → 0.0.0-unstable.496cf268ac

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +15 -0
  2. package/context/folders.js +22 -22
  3. package/context/folders.js.map +1 -1
  4. package/context/links.js +18 -14
  5. package/context/links.js.map +1 -1
  6. package/createAcoContext.d.ts +3 -0
  7. package/createAcoContext.js +63 -0
  8. package/createAcoContext.js.map +1 -0
  9. package/createAcoCrud.d.ts +2 -0
  10. package/createAcoCrud.js +17 -0
  11. package/createAcoCrud.js.map +1 -0
  12. package/createAcoFields.d.ts +2 -0
  13. package/createAcoFields.js +40 -0
  14. package/createAcoFields.js.map +1 -0
  15. package/createAcoGraphQL.d.ts +3 -0
  16. package/createAcoGraphQL.js +92 -0
  17. package/createAcoGraphQL.js.map +1 -0
  18. package/createAcoHooks.d.ts +2 -0
  19. package/createAcoHooks.js +11 -0
  20. package/createAcoHooks.js.map +1 -0
  21. package/createAcoModels.d.ts +2 -0
  22. package/createAcoModels.js +67 -0
  23. package/createAcoModels.js.map +1 -0
  24. package/createAcoStorageOperations.d.ts +10 -0
  25. package/createAcoStorageOperations.js +19 -0
  26. package/createAcoStorageOperations.js.map +1 -0
  27. package/folder/folder.crud.d.ts +3 -0
  28. package/folder/folder.crud.js +92 -0
  29. package/folder/folder.crud.js.map +1 -0
  30. package/folder/folder.gql.d.ts +3 -0
  31. package/folder/folder.gql.js +103 -0
  32. package/folder/folder.gql.js.map +1 -0
  33. package/folder/folder.model.d.ts +6 -0
  34. package/folder/folder.model.js +79 -0
  35. package/folder/folder.model.js.map +1 -0
  36. package/folder/folder.so.d.ts +3 -0
  37. package/folder/folder.so.js +151 -0
  38. package/folder/folder.so.js.map +1 -0
  39. package/folder/folder.types.d.ts +83 -0
  40. package/folder/folder.types.js +5 -0
  41. package/folder/folder.types.js.map +1 -0
  42. package/folder/onFolderBeforeDelete.hook.d.ts +2 -0
  43. package/folder/onFolderBeforeDelete.hook.js +53 -0
  44. package/folder/onFolderBeforeDelete.hook.js.map +1 -0
  45. package/index.d.ts +1 -10
  46. package/index.js +7 -68
  47. package/index.js.map +1 -1
  48. package/package.json +23 -22
  49. package/record/record.crud.d.ts +3 -0
  50. package/record/record.crud.js +92 -0
  51. package/record/record.crud.js.map +1 -0
  52. package/record/record.gql.d.ts +3 -0
  53. package/record/record.gql.js +117 -0
  54. package/record/record.gql.js.map +1 -0
  55. package/record/record.model.d.ts +6 -0
  56. package/record/record.model.js +63 -0
  57. package/record/record.model.js.map +1 -0
  58. package/record/record.so.d.ts +3 -0
  59. package/record/record.so.js +98 -0
  60. package/record/record.so.js.map +1 -0
  61. package/record/record.types.d.ts +91 -0
  62. package/record/record.types.js +5 -0
  63. package/record/record.types.js.map +1 -0
  64. package/subscriptions/index.d.ts +1 -2
  65. package/subscriptions/index.js +4 -12
  66. package/subscriptions/index.js.map +1 -1
  67. package/types.d.ts +24 -202
  68. package/types.js +8 -1
  69. package/types.js.map +1 -1
  70. package/utils/createListSort.d.ts +2 -0
  71. package/utils/createListSort.js +13 -0
  72. package/utils/createListSort.js.map +1 -0
  73. package/utils/createModelField.d.ts +6 -0
  74. package/utils/createModelField.js +39 -0
  75. package/utils/createModelField.js.map +1 -0
  76. package/utils/createOperationsWrapper.d.ts +9 -0
  77. package/utils/createOperationsWrapper.js +29 -0
  78. package/utils/createOperationsWrapper.js.map +1 -0
  79. package/utils/fieldResolver.d.ts +16 -0
  80. package/utils/fieldResolver.js +44 -0
  81. package/utils/fieldResolver.js.map +1 -0
  82. package/utils/getFieldValues.d.ts +2 -0
  83. package/utils/getFieldValues.js +19 -0
  84. package/utils/getFieldValues.js.map +1 -0
  85. package/utils/isInstallationPending.d.ts +4 -0
  86. package/utils/isInstallationPending.js +21 -0
  87. package/utils/isInstallationPending.js.map +1 -0
  88. package/utils/modelFactory.d.ts +17 -0
  89. package/utils/modelFactory.js +23 -0
  90. package/utils/modelFactory.js.map +1 -0
  91. package/utils/resolve.d.ts +2 -0
  92. package/utils/resolve.js +15 -0
  93. package/utils/resolve.js.map +1 -0
  94. package/subscriptions/aftePageCreate.d.ts +0 -3
  95. package/subscriptions/aftePageCreate.js +0 -45
  96. package/subscriptions/aftePageCreate.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ import { CreateAcoStorageOperationsParams } from "../createAcoStorageOperations";
2
+ import { CmsModel } from "@webiny/api-headless-cms/types";
3
+ interface CreateOperationsWrapperParams extends CreateAcoStorageOperationsParams {
4
+ modelName: string;
5
+ }
6
+ export declare const createOperationsWrapper: (params: CreateOperationsWrapperParams) => {
7
+ withModel: <TResult>(cb: (model: CmsModel) => Promise<TResult>) => Promise<TResult>;
8
+ };
9
+ export {};
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createOperationsWrapper = void 0;
8
+ var _error = _interopRequireDefault(require("@webiny/error"));
9
+ const createOperationsWrapper = params => {
10
+ const {
11
+ cms,
12
+ security,
13
+ modelName
14
+ } = params;
15
+ const withModel = async cb => {
16
+ security.disableAuthorization();
17
+ const model = await cms.getModel(modelName);
18
+ if (!model) {
19
+ throw new _error.default(`Could not find "${modelName}" model.`, "MODEL_NOT_FOUND_ERROR");
20
+ }
21
+ const result = await cb(model);
22
+ security.enableAuthorization();
23
+ return result;
24
+ };
25
+ return {
26
+ withModel
27
+ };
28
+ };
29
+ exports.createOperationsWrapper = createOperationsWrapper;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createOperationsWrapper","params","cms","security","modelName","withModel","cb","disableAuthorization","model","getModel","WebinyError","result","enableAuthorization"],"sources":["createOperationsWrapper.ts"],"sourcesContent":["import { CreateAcoStorageOperationsParams } from \"~/createAcoStorageOperations\";\nimport { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport WebinyError from \"@webiny/error\";\n\ninterface CreateOperationsWrapperParams extends CreateAcoStorageOperationsParams {\n modelName: string;\n}\n\nexport const createOperationsWrapper = (params: CreateOperationsWrapperParams) => {\n const { cms, security, modelName } = params;\n\n const withModel = async <TResult>(\n cb: (model: CmsModel) => Promise<TResult>\n ): Promise<TResult> => {\n security.disableAuthorization();\n const model = await cms.getModel(modelName);\n\n if (!model) {\n throw new WebinyError(`Could not find \"${modelName}\" model.`, \"MODEL_NOT_FOUND_ERROR\");\n }\n\n const result = await cb(model);\n\n security.enableAuthorization();\n\n return result;\n };\n\n return {\n withModel\n };\n};\n"],"mappings":";;;;;;;AAEA;AAMO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,GAAG;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAAGH,MAAM;EAE3C,MAAMI,SAAS,GAAG,MACdC,EAAyC,IACtB;IACnBH,QAAQ,CAACI,oBAAoB,EAAE;IAC/B,MAAMC,KAAK,GAAG,MAAMN,GAAG,CAACO,QAAQ,CAACL,SAAS,CAAC;IAE3C,IAAI,CAACI,KAAK,EAAE;MACR,MAAM,IAAIE,cAAW,CAAE,mBAAkBN,SAAU,UAAS,EAAE,uBAAuB,CAAC;IAC1F;IAEA,MAAMO,MAAM,GAAG,MAAML,EAAE,CAACE,KAAK,CAAC;IAE9BL,QAAQ,CAACS,mBAAmB,EAAE;IAE9B,OAAOD,MAAM;EACjB,CAAC;EAED,OAAO;IACHN;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -0,0 +1,16 @@
1
+ import { CmsContext, CmsEntry, CmsModel } from "@webiny/api-headless-cms/types";
2
+ import { AcoBaseFields } from "../types";
3
+ interface Transformer {
4
+ fieldId: keyof AcoBaseFields;
5
+ model: any;
6
+ field: any;
7
+ }
8
+ interface GetFieldValuesParams {
9
+ entry: CmsEntry;
10
+ fields: string[];
11
+ transformers?: Transformer[];
12
+ context: CmsContext;
13
+ }
14
+ export declare const getFieldValues: <T extends AcoBaseFields>(params: GetFieldValuesParams) => Promise<T>;
15
+ export declare const getTransformer: (model: CmsModel, fieldId: string) => Transformer;
16
+ export {};
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getTransformer = exports.getFieldValues = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _pick = _interopRequireDefault(require("lodash/pick"));
10
+ var _apiHeadlessCms = require("@webiny/api-headless-cms");
11
+ const getFieldValues = async params => {
12
+ const {
13
+ entry,
14
+ context,
15
+ transformers = [],
16
+ fields
17
+ } = params;
18
+ const values = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _pick.default)(entry, fields)), entry.values);
19
+ /**
20
+ * Transform field value for each transformers.
21
+ */
22
+ for (const transformer of transformers) {
23
+ const {
24
+ fieldId,
25
+ model,
26
+ field
27
+ } = transformer;
28
+ // Get transformed value (eg. data decompression)
29
+ values[fieldId] = await (0, _apiHeadlessCms.entryFieldFromStorageTransform)({
30
+ context,
31
+ model,
32
+ field,
33
+ value: values[fieldId]
34
+ });
35
+ }
36
+ return values;
37
+ };
38
+ exports.getFieldValues = getFieldValues;
39
+ const getTransformer = (model, fieldId) => ({
40
+ fieldId: fieldId,
41
+ model: model,
42
+ field: model.fields.find(field => field.fieldId === fieldId)
43
+ });
44
+ exports.getTransformer = getTransformer;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getFieldValues","params","entry","context","transformers","fields","values","pick","transformer","fieldId","model","field","entryFieldFromStorageTransform","value","getTransformer","find"],"sources":["fieldResolver.ts"],"sourcesContent":["import pick from \"lodash/pick\";\nimport { CmsContext, CmsEntry, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { entryFieldFromStorageTransform } from \"@webiny/api-headless-cms\";\nimport { AcoBaseFields } from \"~/types\";\n\ninterface Transformer {\n fieldId: keyof AcoBaseFields;\n model: any;\n field: any;\n}\n\ninterface GetFieldValuesParams {\n entry: CmsEntry;\n fields: string[];\n transformers?: Transformer[];\n context: CmsContext;\n}\n\nexport const getFieldValues = async <T extends AcoBaseFields>(\n params: GetFieldValuesParams\n): Promise<T> => {\n const { entry, context, transformers = [], fields } = params;\n const values = {\n ...pick(entry, fields),\n ...entry.values\n } as T;\n /**\n * Transform field value for each transformers.\n */\n for (const transformer of transformers) {\n const { fieldId, model, field } = transformer;\n // Get transformed value (eg. data decompression)\n values[fieldId] = await entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: values[fieldId]\n });\n }\n\n return values;\n};\n\nexport const getTransformer = (model: CmsModel, fieldId: string): Transformer => ({\n fieldId: fieldId as unknown as keyof AcoBaseFields,\n model: model,\n field: model.fields.find(field => field.fieldId === fieldId)\n});\n"],"mappings":";;;;;;;;AAAA;AAEA;AAgBO,MAAMA,cAAc,GAAG,MAC1BC,MAA4B,IACf;EACb,MAAM;IAAEC,KAAK;IAAEC,OAAO;IAAEC,YAAY,GAAG,EAAE;IAAEC;EAAO,CAAC,GAAGJ,MAAM;EAC5D,MAAMK,MAAM,+DACL,IAAAC,aAAI,EAACL,KAAK,EAAEG,MAAM,CAAC,GACnBH,KAAK,CAACI,MAAM,CACb;EACN;AACJ;AACA;EACI,KAAK,MAAME,WAAW,IAAIJ,YAAY,EAAE;IACpC,MAAM;MAAEK,OAAO;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAGH,WAAW;IAC7C;IACAF,MAAM,CAACG,OAAO,CAAC,GAAG,MAAM,IAAAG,8CAA8B,EAAC;MACnDT,OAAO;MACPO,KAAK;MACLC,KAAK;MACLE,KAAK,EAAEP,MAAM,CAACG,OAAO;IACzB,CAAC,CAAC;EACN;EAEA,OAAOH,MAAM;AACjB,CAAC;AAAC;AAEK,MAAMQ,cAAc,GAAG,CAACJ,KAAe,EAAED,OAAe,MAAmB;EAC9EA,OAAO,EAAEA,OAAyC;EAClDC,KAAK,EAAEA,KAAK;EACZC,KAAK,EAAED,KAAK,CAACL,MAAM,CAACU,IAAI,CAACJ,KAAK,IAAIA,KAAK,CAACF,OAAO,KAAKA,OAAO;AAC/D,CAAC,CAAC;AAAC"}
@@ -0,0 +1,2 @@
1
+ import { CmsEntry } from "@webiny/api-headless-cms/types";
2
+ export declare function getFieldValues(entry: CmsEntry, fields: string[], useEntryId?: boolean): any;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getFieldValues = getFieldValues;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _pick = _interopRequireDefault(require("lodash/pick"));
10
+ var _utils = require("@webiny/utils");
11
+ function getFieldValues(entry, fields, useEntryId) {
12
+ // We return the `id` without version in case of `useEntryId` flag is passed.
13
+ const {
14
+ id
15
+ } = (0, _utils.parseIdentifier)(entry.id);
16
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _pick.default)(entry, fields)), entry.values), useEntryId && {
17
+ id
18
+ });
19
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getFieldValues","entry","fields","useEntryId","id","parseIdentifier","pick","values"],"sources":["getFieldValues.ts"],"sourcesContent":["import pick from \"lodash/pick\";\n\nimport { CmsEntry } from \"@webiny/api-headless-cms/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\nexport function getFieldValues(entry: CmsEntry, fields: string[], useEntryId?: boolean): any {\n // We return the `id` without version in case of `useEntryId` flag is passed.\n const { id } = parseIdentifier(entry.id);\n return { ...pick(entry, fields), ...entry.values, ...(useEntryId && { id }) };\n}\n"],"mappings":";;;;;;;;AAAA;AAGA;AAEO,SAASA,cAAc,CAACC,KAAe,EAAEC,MAAgB,EAAEC,UAAoB,EAAO;EACzF;EACA,MAAM;IAAEC;EAAG,CAAC,GAAG,IAAAC,sBAAe,EAACJ,KAAK,CAACG,EAAE,CAAC;EACxC,+FAAY,IAAAE,aAAI,EAACL,KAAK,EAAEC,MAAM,CAAC,GAAKD,KAAK,CAACM,MAAM,GAAMJ,UAAU,IAAI;IAAEC;EAAG,CAAC;AAC9E"}
@@ -0,0 +1,4 @@
1
+ import { AcoContext } from "../types";
2
+ declare type CheckInstallationParams = Pick<AcoContext, "tenancy" | "i18n">;
3
+ export declare const isInstallationPending: ({ tenancy, i18n }: CheckInstallationParams) => boolean;
4
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isInstallationPending = void 0;
7
+ const isInstallationPending = ({
8
+ tenancy,
9
+ i18n
10
+ }) => {
11
+ /**
12
+ * In case of a fresh webiny project "tenant" and "locale" won't be there until
13
+ * installation is completed. So, we need to skip "ACO" creation till then.
14
+ */
15
+ const tenant = tenancy.getCurrentTenant();
16
+ if (!tenant) {
17
+ return true;
18
+ }
19
+ return !i18n.getContentLocale();
20
+ };
21
+ exports.isInstallationPending = isInstallationPending;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isInstallationPending","tenancy","i18n","tenant","getCurrentTenant","getContentLocale"],"sources":["isInstallationPending.ts"],"sourcesContent":["import { AcoContext } from \"~/types\";\n\ntype CheckInstallationParams = Pick<AcoContext, \"tenancy\" | \"i18n\">;\nexport const isInstallationPending = ({ tenancy, i18n }: CheckInstallationParams): boolean => {\n /**\n * In case of a fresh webiny project \"tenant\" and \"locale\" won't be there until\n * installation is completed. So, we need to skip \"ACO\" creation till then.\n */\n const tenant = tenancy.getCurrentTenant();\n if (!tenant) {\n return true;\n }\n\n return !i18n.getContentLocale();\n};\n"],"mappings":";;;;;;AAGO,MAAMA,qBAAqB,GAAG,CAAC;EAAEC,OAAO;EAAEC;AAA8B,CAAC,KAAc;EAC1F;AACJ;AACA;AACA;EACI,MAAMC,MAAM,GAAGF,OAAO,CAACG,gBAAgB,EAAE;EACzC,IAAI,CAACD,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,OAAO,CAACD,IAAI,CAACG,gBAAgB,EAAE;AACnC,CAAC;AAAC"}
@@ -0,0 +1,17 @@
1
+ import { CmsModelPlugin } from "@webiny/api-headless-cms";
2
+ import { CmsModel, CmsGroup } from "@webiny/api-headless-cms/types";
3
+ interface Params {
4
+ group: Pick<CmsGroup, "id" | "name">;
5
+ /**
6
+ * Locale and tenant do not need to be defined.
7
+ * In that case model is not bound to any locale or tenant.
8
+ * You can bind it to locale, tenant, both or none.
9
+ */
10
+ locale?: string;
11
+ tenant?: string;
12
+ modelDefinition: Omit<CmsModel, "locale" | "tenant" | "webinyVersion" | "group" | "singularApiName" | "pluralApiName"> & {
13
+ isPrivate: true;
14
+ };
15
+ }
16
+ export declare const modelFactory: (params: Params) => CmsModelPlugin;
17
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.modelFactory = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _apiHeadlessCms = require("@webiny/api-headless-cms");
10
+ const modelFactory = params => {
11
+ const {
12
+ group,
13
+ locale,
14
+ tenant,
15
+ modelDefinition
16
+ } = params;
17
+ return (0, _apiHeadlessCms.createCmsModel)((0, _objectSpread2.default)({
18
+ group,
19
+ locale,
20
+ tenant
21
+ }, modelDefinition));
22
+ };
23
+ exports.modelFactory = modelFactory;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["modelFactory","params","group","locale","tenant","modelDefinition","createCmsModel"],"sources":["modelFactory.ts"],"sourcesContent":["import { CmsModelPlugin, createCmsModel } from \"@webiny/api-headless-cms\";\nimport { CmsModel, CmsGroup } from \"@webiny/api-headless-cms/types\";\n\ninterface Params {\n group: Pick<CmsGroup, \"id\" | \"name\">;\n /**\n * Locale and tenant do not need to be defined.\n * In that case model is not bound to any locale or tenant.\n * You can bind it to locale, tenant, both or none.\n */\n locale?: string;\n tenant?: string;\n modelDefinition: Omit<\n CmsModel,\n \"locale\" | \"tenant\" | \"webinyVersion\" | \"group\" | \"singularApiName\" | \"pluralApiName\"\n > & { isPrivate: true };\n}\n\nexport const modelFactory = (params: Params): CmsModelPlugin => {\n const { group, locale, tenant, modelDefinition } = params;\n\n return createCmsModel({\n group,\n locale,\n tenant,\n ...modelDefinition\n });\n};\n"],"mappings":";;;;;;;;AAAA;AAkBO,MAAMA,YAAY,GAAIC,MAAc,IAAqB;EAC5D,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAgB,CAAC,GAAGJ,MAAM;EAEzD,OAAO,IAAAK,8BAAc;IACjBJ,KAAK;IACLC,MAAM;IACNC;EAAM,GACHC,eAAe,EACpB;AACN,CAAC;AAAC"}
@@ -0,0 +1,2 @@
1
+ import { Response, ErrorResponse } from "@webiny/handler-graphql";
2
+ export declare const resolve: (fn: () => Promise<any>) => Promise<Response<any> | ErrorResponse>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolve = void 0;
7
+ var _handlerGraphql = require("@webiny/handler-graphql");
8
+ const resolve = async fn => {
9
+ try {
10
+ return new _handlerGraphql.Response(await fn());
11
+ } catch (e) {
12
+ return new _handlerGraphql.ErrorResponse(e);
13
+ }
14
+ };
15
+ exports.resolve = resolve;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolve","fn","Response","e","ErrorResponse"],"sources":["resolve.ts"],"sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql\";\n\nexport const resolve = async (fn: () => Promise<any>) => {\n try {\n return new Response(await fn());\n } catch (e) {\n return new ErrorResponse(e);\n }\n};\n"],"mappings":";;;;;;AAAA;AAEO,MAAMA,OAAO,GAAG,MAAOC,EAAsB,IAAK;EACrD,IAAI;IACA,OAAO,IAAIC,wBAAQ,CAAC,MAAMD,EAAE,EAAE,CAAC;EACnC,CAAC,CAAC,OAAOE,CAAC,EAAE;IACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAAC"}
@@ -1,3 +0,0 @@
1
- import { ContextPlugin } from "@webiny/api";
2
- import { ACOContext } from "../types";
3
- export declare const afterPageCreate: () => ContextPlugin<ACOContext>;
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.afterPageCreate = void 0;
9
-
10
- var _api = require("@webiny/api");
11
-
12
- var _error = _interopRequireDefault(require("@webiny/error"));
13
-
14
- var _lodash = _interopRequireDefault(require("lodash.get"));
15
-
16
- const afterPageCreate = () => {
17
- return new _api.ContextPlugin(async context => {
18
- context.pageBuilder.onPageAfterCreate.subscribe(async ({
19
- page,
20
- meta
21
- }) => {
22
- try {
23
- const folderId = (0, _lodash.default)(meta, "location.folderId", "ROOT");
24
- await context.folders.createLink({
25
- id: page.pid,
26
- folderId
27
- });
28
- } catch (error) {
29
- /**
30
- * In case the link already exists for the current page, just return.
31
- */
32
- if (error.code === "LINK_EXISTS") {
33
- return;
34
- }
35
-
36
- throw _error.default.from(error, {
37
- message: "Error while creating page link.",
38
- code: "ACO_AFTER_PAGE_CREATE"
39
- });
40
- }
41
- });
42
- });
43
- };
44
-
45
- exports.afterPageCreate = afterPageCreate;
@@ -1 +0,0 @@
1
- {"version":3,"names":["afterPageCreate","ContextPlugin","context","pageBuilder","onPageAfterCreate","subscribe","page","meta","folderId","get","folders","createLink","id","pid","error","code","WebinyError","from","message"],"sources":["aftePageCreate.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport WebinyError from \"@webiny/error\";\nimport get from \"lodash.get\";\n\nimport { ACOContext } from \"~/types\";\n\nexport const afterPageCreate = () => {\n return new ContextPlugin<ACOContext>(async context => {\n context.pageBuilder.onPageAfterCreate.subscribe(async ({ page, meta }) => {\n try {\n const folderId = get(meta, \"location.folderId\", \"ROOT\");\n await context.folders.createLink({ id: page.pid, folderId });\n } catch (error) {\n /**\n * In case the link already exists for the current page, just return.\n */\n if (error.code === \"LINK_EXISTS\") {\n return;\n }\n\n throw WebinyError.from(error, {\n message: \"Error while creating page link.\",\n code: \"ACO_AFTER_PAGE_CREATE\"\n });\n }\n });\n });\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAIO,MAAMA,eAAe,GAAG,MAAM;EACjC,OAAO,IAAIC,kBAAJ,CAA8B,MAAMC,OAAN,IAAiB;IAClDA,OAAO,CAACC,WAAR,CAAoBC,iBAApB,CAAsCC,SAAtC,CAAgD,OAAO;MAAEC,IAAF;MAAQC;IAAR,CAAP,KAA0B;MACtE,IAAI;QACA,MAAMC,QAAQ,GAAG,IAAAC,eAAA,EAAIF,IAAJ,EAAU,mBAAV,EAA+B,MAA/B,CAAjB;QACA,MAAML,OAAO,CAACQ,OAAR,CAAgBC,UAAhB,CAA2B;UAAEC,EAAE,EAAEN,IAAI,CAACO,GAAX;UAAgBL;QAAhB,CAA3B,CAAN;MACH,CAHD,CAGE,OAAOM,KAAP,EAAc;QACZ;AAChB;AACA;QACgB,IAAIA,KAAK,CAACC,IAAN,KAAe,aAAnB,EAAkC;UAC9B;QACH;;QAED,MAAMC,cAAA,CAAYC,IAAZ,CAAiBH,KAAjB,EAAwB;UAC1BI,OAAO,EAAE,iCADiB;UAE1BH,IAAI,EAAE;QAFoB,CAAxB,CAAN;MAIH;IACJ,CAjBD;EAkBH,CAnBM,CAAP;AAoBH,CArBM"}