@webiny/api-aco 5.39.0-beta.0 → 5.39.0-beta.2

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 (89) hide show
  1. package/apps/AcoApp.js +6 -19
  2. package/apps/AcoApp.js.map +1 -1
  3. package/apps/AcoApps.js +4 -7
  4. package/apps/AcoApps.js.map +1 -1
  5. package/createAcoContext.js +13 -11
  6. package/createAcoContext.js.map +1 -1
  7. package/createAcoGraphQL.js +1 -0
  8. package/createAcoGraphQL.js.map +1 -1
  9. package/createAcoModels.js +1 -17
  10. package/createAcoModels.js.map +1 -1
  11. package/createAcoStorageOperations.d.ts +0 -1
  12. package/createAcoStorageOperations.js +6 -6
  13. package/createAcoStorageOperations.js.map +1 -1
  14. package/filter/filter.gql.js +4 -1
  15. package/filter/filter.gql.js.map +1 -1
  16. package/filter/filter.model.d.ts +1 -3
  17. package/filter/filter.model.js +4 -6
  18. package/filter/filter.model.js.map +1 -1
  19. package/filter/filter.so.js +29 -27
  20. package/filter/filter.so.js.map +1 -1
  21. package/filter/filter.types.d.ts +1 -1
  22. package/filter/filter.types.js.map +1 -1
  23. package/folder/folder.crud.js +6 -9
  24. package/folder/folder.crud.js.map +1 -1
  25. package/folder/folder.gql.js +4 -1
  26. package/folder/folder.gql.js.map +1 -1
  27. package/folder/folder.model.d.ts +1 -3
  28. package/folder/folder.model.js +4 -6
  29. package/folder/folder.model.js.map +1 -1
  30. package/folder/folder.so.js +31 -19
  31. package/folder/folder.so.js.map +1 -1
  32. package/folder/folder.types.d.ts +5 -2
  33. package/folder/folder.types.js.map +1 -1
  34. package/index.d.ts +1 -1
  35. package/index.js +1 -2
  36. package/index.js.map +1 -1
  37. package/package.json +25 -26
  38. package/plugins/AcoAppModifierPlugin.js +1 -4
  39. package/plugins/AcoAppModifierPlugin.js.map +1 -1
  40. package/plugins/AcoAppRegisterPlugin.js +1 -4
  41. package/plugins/AcoAppRegisterPlugin.js.map +1 -1
  42. package/record/graphql/createAppResolvers.js +5 -7
  43. package/record/graphql/createAppResolvers.js.map +1 -1
  44. package/record/graphql/createAppSchema.js +7 -4
  45. package/record/graphql/createAppSchema.js.map +1 -1
  46. package/record/record.model.d.ts +1 -3
  47. package/record/record.model.js +4 -6
  48. package/record/record.model.js.map +1 -1
  49. package/record/record.so.js +32 -22
  50. package/record/record.so.js.map +1 -1
  51. package/record/record.types.d.ts +2 -2
  52. package/record/record.types.js.map +1 -1
  53. package/types.d.ts +4 -1
  54. package/types.js.map +1 -1
  55. package/utils/FolderLevelPermissions.js +15 -23
  56. package/utils/FolderLevelPermissions.js.map +1 -1
  57. package/utils/decorators/CmsEntriesCrudDecorators.js +17 -71
  58. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  59. package/utils/decorators/createFolderType.d.ts +2 -0
  60. package/utils/decorators/createFolderType.js +18 -0
  61. package/utils/decorators/createFolderType.js.map +1 -0
  62. package/utils/decorators/filterEntriesByFolderFactory.d.ts +6 -0
  63. package/utils/decorators/filterEntriesByFolderFactory.js +37 -0
  64. package/utils/decorators/filterEntriesByFolderFactory.js.map +1 -0
  65. package/utils/decorators/isPageModel.d.ts +5 -0
  66. package/utils/decorators/isPageModel.js +20 -0
  67. package/utils/decorators/isPageModel.js.map +1 -0
  68. package/utils/decorators/where.d.ts +2 -1
  69. package/utils/decorators/where.js +30 -15
  70. package/utils/decorators/where.js.map +1 -1
  71. package/utils/modelFactory.d.ts +1 -3
  72. package/utils/modelFactory.js +4 -9
  73. package/utils/modelFactory.js.map +1 -1
  74. package/utils/pickEntryFieldValues.d.ts +3 -0
  75. package/utils/pickEntryFieldValues.js +31 -0
  76. package/utils/pickEntryFieldValues.js.map +1 -0
  77. package/utils/resolve.d.ts +1 -1
  78. package/fields/index.d.ts +0 -2
  79. package/fields/index.js +0 -14
  80. package/fields/index.js.map +0 -1
  81. package/fields/location.d.ts +0 -2
  82. package/fields/location.js +0 -46
  83. package/fields/location.js.map +0 -1
  84. package/utils/fieldResolver.d.ts +0 -16
  85. package/utils/fieldResolver.js +0 -46
  86. package/utils/fieldResolver.js.map +0 -1
  87. package/utils/getFieldValues.d.ts +0 -7
  88. package/utils/getFieldValues.js +0 -24
  89. package/utils/getFieldValues.js.map +0 -1
package/apps/AcoApp.js CHANGED
@@ -5,10 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.AcoApp = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
- var _structuredClone = _interopRequireDefault(require("@ungap/structured-clone"));
12
9
  var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
13
10
  var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
14
11
  var _record = require("../record/record.model");
@@ -28,9 +25,6 @@ class AcoApp {
28
25
  },
29
26
  update: async (id, data) => {
30
27
  await this.execOnAnyRequest("update");
31
- /**
32
- * Required to have as any atm as TS is breaking on the return type.
33
- */
34
28
  const result = await this.context.aco.search.update(this.getModel(), id, data);
35
29
  if (!this.onEntry) {
36
30
  return result;
@@ -76,25 +70,18 @@ class AcoApp {
76
70
  getModel() {
77
71
  const tenant = this.context.tenancy.getCurrentTenant().id;
78
72
  const locale = this.context.i18n.getContentLocale().code;
79
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.model), {}, {
73
+ return {
74
+ ...this.model,
80
75
  tenant,
81
76
  locale
82
- });
77
+ };
83
78
  }
84
79
  constructor(context, params) {
85
- var _this$model$fields$in;
86
- (0, _defineProperty2.default)(this, "name", void 0);
87
- (0, _defineProperty2.default)(this, "context", void 0);
88
- (0, _defineProperty2.default)(this, "model", void 0);
89
- (0, _defineProperty2.default)(this, "fields", void 0);
90
- (0, _defineProperty2.default)(this, "onEntry", void 0);
91
- (0, _defineProperty2.default)(this, "onEntryList", void 0);
92
- (0, _defineProperty2.default)(this, "onAnyRequest", void 0);
93
80
  this.context = context;
94
81
  this.name = params.name;
95
82
  this.onEntry = params.onEntry;
96
83
  this.onEntryList = params.onEntryList;
97
- this.model = (0, _structuredClone.default)(params.model);
84
+ this.model = structuredClone(params.model);
98
85
  /**
99
86
  * We can safely define the api name of the model as we control everything here.
100
87
  */
@@ -108,7 +95,7 @@ class AcoApp {
108
95
  throw new _error.default(`The "data" field does not exist in model "${this.model.modelId}".`, "MODEL_DATA_FIELD_ERROR", {
109
96
  modelId: this.model.modelId
110
97
  });
111
- } else if (!((_this$model$fields$in = this.model.fields[index].settings) !== null && _this$model$fields$in !== void 0 && _this$model$fields$in.fields)) {
98
+ } else if (!this.model.fields[index].settings?.fields) {
112
99
  this.model.fields[index].settings.fields = [];
113
100
  }
114
101
  this.fields = this.model.fields[index].settings.fields;
@@ -142,7 +129,7 @@ class AcoApp {
142
129
  id
143
130
  });
144
131
  }
145
- this.fields[index] = cb((0, _structuredClone.default)(this.fields[index]));
132
+ this.fields[index] = cb(structuredClone(this.fields[index]));
146
133
  }
147
134
  async execOnAnyRequest(action) {
148
135
  if (!this.onAnyRequest) {
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_structuredClone","_upperFirst","_camelCase","_record","createApiName","name","lodashUpperFirst","lodashCamelCase","AcoApp","search","create","data","execOnAnyRequest","result","context","aco","getModel","onEntry","update","id","move","folderId","get","list","params","onEntryList","entries","meta","items","delete","listTags","folder","tenant","tenancy","getCurrentTenant","locale","i18n","getContentLocale","code","_objectSpread2","default","model","constructor","_this$model$fields$in","_defineProperty2","structuredClone","modelId","toLowerCase","apiName","singularApiName","pluralApiName","index","fields","findIndex","f","fieldId","WebinyError","settings","push","getFields","addField","field","removeField","DEFAULT_FIELDS","includes","splice","modifyField","cb","action","onAnyRequest","exports"],"sources":["AcoApp.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport structuredClone from \"@ungap/structured-clone\";\nimport {\n AcoContext,\n AcoRequestAction,\n AcoSearchRecordCrudBase,\n CreateSearchRecordParams,\n IAcoApp,\n IAcoAppModifyFieldCallableCallback,\n IAcoAppOnAnyRequest,\n IAcoAppOnEntry,\n IAcoAppOnEntryList,\n IAcoAppParams,\n ListSearchRecordsParams,\n ListSearchRecordTagsParams,\n SearchRecord\n} from \"~/types\";\nimport { CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport lodashUpperFirst from \"lodash/upperFirst\";\nimport lodashCamelCase from \"lodash/camelCase\";\nimport { DEFAULT_FIELDS } from \"~/record/record.model\";\n\nconst createApiName = (name: string) => {\n return lodashUpperFirst(lodashCamelCase(name));\n};\n\nexport class AcoApp implements IAcoApp {\n public readonly name: string;\n public readonly context: AcoContext;\n public readonly model: CmsModel;\n private readonly fields: CmsModelField[];\n private readonly onEntry?: IAcoAppOnEntry;\n private readonly onEntryList?: IAcoAppOnEntryList;\n private readonly onAnyRequest?: IAcoAppOnAnyRequest;\n\n public get search(): AcoSearchRecordCrudBase {\n return {\n create: async <TData>(data: CreateSearchRecordParams<TData>) => {\n await this.execOnAnyRequest(\"create\");\n const result = await this.context.aco.search.create<TData>(this.getModel(), data);\n if (!this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n update: async <TData>(id: string, data: SearchRecord<TData>) => {\n await this.execOnAnyRequest(\"update\");\n /**\n * Required to have as any atm as TS is breaking on the return type.\n */\n const result = await this.context.aco.search.update<TData>(\n this.getModel(),\n id,\n data\n );\n if (!this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n move: async (id: string, folderId?: string) => {\n await this.execOnAnyRequest(\"move\");\n return this.context.aco.search.move(this.getModel(), id, folderId);\n },\n get: async <TData>(id: string) => {\n await this.execOnAnyRequest(\"fetch\");\n const result = await this.context.aco.search.get<TData>(this.getModel(), id);\n if (!result || !this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n list: async <TData>(params: ListSearchRecordsParams) => {\n await this.execOnAnyRequest(\"fetch\");\n const result = await this.context.aco.search.list<TData>(this.getModel(), params);\n const onEntryList = this.onEntryList;\n if (!onEntryList) {\n return result;\n }\n const [entries, meta] = result;\n const items = await onEntryList(entries);\n return [items, meta];\n },\n delete: async (id: string): Promise<Boolean> => {\n await this.execOnAnyRequest(\"delete\");\n return this.context.aco.search.delete(this.getModel(), id);\n },\n listTags: async (params: ListSearchRecordTagsParams) => {\n await this.execOnAnyRequest(\"fetch\");\n return this.context.aco.search.listTags(this.getModel(), params);\n }\n };\n }\n\n public get folder() {\n return this.context.aco.folder;\n }\n\n private getModel() {\n const tenant = this.context.tenancy.getCurrentTenant().id;\n const locale = this.context.i18n.getContentLocale()!.code;\n\n return { ...this.model, tenant, locale };\n }\n\n private constructor(context: AcoContext, params: IAcoAppParams) {\n this.context = context;\n this.name = params.name;\n this.onEntry = params.onEntry;\n this.onEntryList = params.onEntryList;\n this.model = structuredClone(params.model);\n /**\n * We can safely define the api name of the model as we control everything here.\n */\n this.model.name = `${this.model.name} ${this.name}`;\n this.model.modelId = `${this.model.modelId}-${this.name.toLowerCase()}`;\n const apiName = `AcoSearchRecord${createApiName(params.apiName)}`;\n this.model.singularApiName = apiName;\n this.model.pluralApiName = apiName;\n\n const index = this.model.fields.findIndex(f => f.fieldId === \"data\");\n if (index === -1) {\n throw new WebinyError(\n `The \"data\" field does not exist in model \"${this.model.modelId}\".`,\n \"MODEL_DATA_FIELD_ERROR\",\n {\n modelId: this.model.modelId\n }\n );\n } else if (!this.model.fields[index].settings?.fields) {\n this.model.fields[index].settings!.fields = [];\n }\n this.fields = this.model.fields[index].settings!.fields as CmsModelField[];\n this.fields.push(...params.fields);\n }\n\n public static create(context: AcoContext, params: IAcoAppParams) {\n return new AcoApp(context, params);\n }\n\n public getFields(): CmsModelField[] {\n return this.fields;\n }\n\n public addField(field: CmsModelField): void {\n this.fields.push(field);\n }\n\n public removeField(id: string): void {\n if (DEFAULT_FIELDS.includes(id)) {\n throw new WebinyError(\n `Cannot remove the default field from the ACO App.`,\n \"REMOVE_DEFAULT_FIELD_ERROR\",\n {\n fieldId: id\n }\n );\n }\n const index = this.fields.findIndex(field => field.id === id);\n if (index === -1) {\n return;\n }\n this.fields.splice(index, 1);\n }\n\n public modifyField(id: string, cb: IAcoAppModifyFieldCallableCallback): void {\n const index = this.fields.findIndex(field => field.id === id);\n if (index === -1) {\n throw new WebinyError(\n `There is no field \"${id}\" in app \"${this.name}\".`,\n \"FIELD_NOT_FOUND_ERROR\",\n {\n id\n }\n );\n }\n this.fields[index] = cb(structuredClone(this.fields[index]));\n }\n\n private async execOnAnyRequest(action: AcoRequestAction): Promise<void> {\n if (!this.onAnyRequest) {\n return;\n }\n await this.onAnyRequest(this.context, action);\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAiBA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,MAAMK,aAAa,GAAIC,IAAY,IAAK;EACpC,OAAO,IAAAC,mBAAgB,EAAC,IAAAC,kBAAe,EAACF,IAAI,CAAC,CAAC;AAClD,CAAC;AAEM,MAAMG,MAAM,CAAoB;EASnC,IAAWC,MAAMA,CAAA,EAA4B;IACzC,OAAO;MACHC,MAAM,EAAE,MAAcC,IAAqC,IAAK;QAC5D,MAAM,IAAI,CAACC,gBAAgB,CAAC,QAAQ,CAAC;QACrC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,OAAO,CAACC,GAAG,CAACN,MAAM,CAACC,MAAM,CAAQ,IAAI,CAACM,QAAQ,CAAC,CAAC,EAAEL,IAAI,CAAC;QACjF,IAAI,CAAC,IAAI,CAACM,OAAO,EAAE;UACf,OAAOJ,MAAM;QACjB;QACA,OAAO,IAAI,CAACI,OAAO,CAACJ,MAAM,CAAC;MAC/B,CAAC;MACDK,MAAM,EAAE,MAAAA,CAAcC,EAAU,EAAER,IAAyB,KAAK;QAC5D,MAAM,IAAI,CAACC,gBAAgB,CAAC,QAAQ,CAAC;QACrC;AAChB;AACA;QACgB,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,OAAO,CAACC,GAAG,CAACN,MAAM,CAACS,MAAM,CAC/C,IAAI,CAACF,QAAQ,CAAC,CAAC,EACfG,EAAE,EACFR,IACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAACM,OAAO,EAAE;UACf,OAAOJ,MAAM;QACjB;QACA,OAAO,IAAI,CAACI,OAAO,CAACJ,MAAM,CAAC;MAC/B,CAAC;MACDO,IAAI,EAAE,MAAAA,CAAOD,EAAU,EAAEE,QAAiB,KAAK;QAC3C,MAAM,IAAI,CAACT,gBAAgB,CAAC,MAAM,CAAC;QACnC,OAAO,IAAI,CAACE,OAAO,CAACC,GAAG,CAACN,MAAM,CAACW,IAAI,CAAC,IAAI,CAACJ,QAAQ,CAAC,CAAC,EAAEG,EAAE,EAAEE,QAAQ,CAAC;MACtE,CAAC;MACDC,GAAG,EAAE,MAAcH,EAAU,IAAK;QAC9B,MAAM,IAAI,CAACP,gBAAgB,CAAC,OAAO,CAAC;QACpC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,OAAO,CAACC,GAAG,CAACN,MAAM,CAACa,GAAG,CAAQ,IAAI,CAACN,QAAQ,CAAC,CAAC,EAAEG,EAAE,CAAC;QAC5E,IAAI,CAACN,MAAM,IAAI,CAAC,IAAI,CAACI,OAAO,EAAE;UAC1B,OAAOJ,MAAM;QACjB;QACA,OAAO,IAAI,CAACI,OAAO,CAACJ,MAAM,CAAC;MAC/B,CAAC;MACDU,IAAI,EAAE,MAAcC,MAA+B,IAAK;QACpD,MAAM,IAAI,CAACZ,gBAAgB,CAAC,OAAO,CAAC;QACpC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,OAAO,CAACC,GAAG,CAACN,MAAM,CAACc,IAAI,CAAQ,IAAI,CAACP,QAAQ,CAAC,CAAC,EAAEQ,MAAM,CAAC;QACjF,MAAMC,WAAW,GAAG,IAAI,CAACA,WAAW;QACpC,IAAI,CAACA,WAAW,EAAE;UACd,OAAOZ,MAAM;QACjB;QACA,MAAM,CAACa,OAAO,EAAEC,IAAI,CAAC,GAAGd,MAAM;QAC9B,MAAMe,KAAK,GAAG,MAAMH,WAAW,CAACC,OAAO,CAAC;QACxC,OAAO,CAACE,KAAK,EAAED,IAAI,CAAC;MACxB,CAAC;MACDE,MAAM,EAAE,MAAOV,EAAU,IAAuB;QAC5C,MAAM,IAAI,CAACP,gBAAgB,CAAC,QAAQ,CAAC;QACrC,OAAO,IAAI,CAACE,OAAO,CAACC,GAAG,CAACN,MAAM,CAACoB,MAAM,CAAC,IAAI,CAACb,QAAQ,CAAC,CAAC,EAAEG,EAAE,CAAC;MAC9D,CAAC;MACDW,QAAQ,EAAE,MAAON,MAAkC,IAAK;QACpD,MAAM,IAAI,CAACZ,gBAAgB,CAAC,OAAO,CAAC;QACpC,OAAO,IAAI,CAACE,OAAO,CAACC,GAAG,CAACN,MAAM,CAACqB,QAAQ,CAAC,IAAI,CAACd,QAAQ,CAAC,CAAC,EAAEQ,MAAM,CAAC;MACpE;IACJ,CAAC;EACL;EAEA,IAAWO,MAAMA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACjB,OAAO,CAACC,GAAG,CAACgB,MAAM;EAClC;EAEQf,QAAQA,CAAA,EAAG;IACf,MAAMgB,MAAM,GAAG,IAAI,CAAClB,OAAO,CAACmB,OAAO,CAACC,gBAAgB,CAAC,CAAC,CAACf,EAAE;IACzD,MAAMgB,MAAM,GAAG,IAAI,CAACrB,OAAO,CAACsB,IAAI,CAACC,gBAAgB,CAAC,CAAC,CAAEC,IAAI;IAEzD,WAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MAAY,IAAI,CAACC,KAAK;MAAET,MAAM;MAAEG;IAAM;EAC1C;EAEQO,WAAWA,CAAC5B,OAAmB,EAAEU,MAAqB,EAAE;IAAA,IAAAmB,qBAAA;IAAA,IAAAC,gBAAA,CAAAJ,OAAA;IAAA,IAAAI,gBAAA,CAAAJ,OAAA;IAAA,IAAAI,gBAAA,CAAAJ,OAAA;IAAA,IAAAI,gBAAA,CAAAJ,OAAA;IAAA,IAAAI,gBAAA,CAAAJ,OAAA;IAAA,IAAAI,gBAAA,CAAAJ,OAAA;IAAA,IAAAI,gBAAA,CAAAJ,OAAA;IAC5D,IAAI,CAAC1B,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACT,IAAI,GAAGmB,MAAM,CAACnB,IAAI;IACvB,IAAI,CAACY,OAAO,GAAGO,MAAM,CAACP,OAAO;IAC7B,IAAI,CAACQ,WAAW,GAAGD,MAAM,CAACC,WAAW;IACrC,IAAI,CAACgB,KAAK,GAAG,IAAAI,wBAAe,EAACrB,MAAM,CAACiB,KAAK,CAAC;IAC1C;AACR;AACA;IACQ,IAAI,CAACA,KAAK,CAACpC,IAAI,GAAI,GAAE,IAAI,CAACoC,KAAK,CAACpC,IAAK,IAAG,IAAI,CAACA,IAAK,EAAC;IACnD,IAAI,CAACoC,KAAK,CAACK,OAAO,GAAI,GAAE,IAAI,CAACL,KAAK,CAACK,OAAQ,IAAG,IAAI,CAACzC,IAAI,CAAC0C,WAAW,CAAC,CAAE,EAAC;IACvE,MAAMC,OAAO,GAAI,kBAAiB5C,aAAa,CAACoB,MAAM,CAACwB,OAAO,CAAE,EAAC;IACjE,IAAI,CAACP,KAAK,CAACQ,eAAe,GAAGD,OAAO;IACpC,IAAI,CAACP,KAAK,CAACS,aAAa,GAAGF,OAAO;IAElC,MAAMG,KAAK,GAAG,IAAI,CAACV,KAAK,CAACW,MAAM,CAACC,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,KAAK,MAAM,CAAC;IACpE,IAAIJ,KAAK,KAAK,CAAC,CAAC,EAAE;MACd,MAAM,IAAIK,cAAW,CAChB,6CAA4C,IAAI,CAACf,KAAK,CAACK,OAAQ,IAAG,EACnE,wBAAwB,EACxB;QACIA,OAAO,EAAE,IAAI,CAACL,KAAK,CAACK;MACxB,CACJ,CAAC;IACL,CAAC,MAAM,IAAI,GAAAH,qBAAA,GAAC,IAAI,CAACF,KAAK,CAACW,MAAM,CAACD,KAAK,CAAC,CAACM,QAAQ,cAAAd,qBAAA,eAAjCA,qBAAA,CAAmCS,MAAM,GAAE;MACnD,IAAI,CAACX,KAAK,CAACW,MAAM,CAACD,KAAK,CAAC,CAACM,QAAQ,CAAEL,MAAM,GAAG,EAAE;IAClD;IACA,IAAI,CAACA,MAAM,GAAG,IAAI,CAACX,KAAK,CAACW,MAAM,CAACD,KAAK,CAAC,CAACM,QAAQ,CAAEL,MAAyB;IAC1E,IAAI,CAACA,MAAM,CAACM,IAAI,CAAC,GAAGlC,MAAM,CAAC4B,MAAM,CAAC;EACtC;EAEA,OAAc1C,MAAMA,CAACI,OAAmB,EAAEU,MAAqB,EAAE;IAC7D,OAAO,IAAIhB,MAAM,CAACM,OAAO,EAAEU,MAAM,CAAC;EACtC;EAEOmC,SAASA,CAAA,EAAoB;IAChC,OAAO,IAAI,CAACP,MAAM;EACtB;EAEOQ,QAAQA,CAACC,KAAoB,EAAQ;IACxC,IAAI,CAACT,MAAM,CAACM,IAAI,CAACG,KAAK,CAAC;EAC3B;EAEOC,WAAWA,CAAC3C,EAAU,EAAQ;IACjC,IAAI4C,sBAAc,CAACC,QAAQ,CAAC7C,EAAE,CAAC,EAAE;MAC7B,MAAM,IAAIqC,cAAW,CAChB,mDAAkD,EACnD,4BAA4B,EAC5B;QACID,OAAO,EAAEpC;MACb,CACJ,CAAC;IACL;IACA,MAAMgC,KAAK,GAAG,IAAI,CAACC,MAAM,CAACC,SAAS,CAACQ,KAAK,IAAIA,KAAK,CAAC1C,EAAE,KAAKA,EAAE,CAAC;IAC7D,IAAIgC,KAAK,KAAK,CAAC,CAAC,EAAE;MACd;IACJ;IACA,IAAI,CAACC,MAAM,CAACa,MAAM,CAACd,KAAK,EAAE,CAAC,CAAC;EAChC;EAEOe,WAAWA,CAAC/C,EAAU,EAAEgD,EAAsC,EAAQ;IACzE,MAAMhB,KAAK,GAAG,IAAI,CAACC,MAAM,CAACC,SAAS,CAACQ,KAAK,IAAIA,KAAK,CAAC1C,EAAE,KAAKA,EAAE,CAAC;IAC7D,IAAIgC,KAAK,KAAK,CAAC,CAAC,EAAE;MACd,MAAM,IAAIK,cAAW,CAChB,sBAAqBrC,EAAG,aAAY,IAAI,CAACd,IAAK,IAAG,EAClD,uBAAuB,EACvB;QACIc;MACJ,CACJ,CAAC;IACL;IACA,IAAI,CAACiC,MAAM,CAACD,KAAK,CAAC,GAAGgB,EAAE,CAAC,IAAAtB,wBAAe,EAAC,IAAI,CAACO,MAAM,CAACD,KAAK,CAAC,CAAC,CAAC;EAChE;EAEA,MAAcvC,gBAAgBA,CAACwD,MAAwB,EAAiB;IACpE,IAAI,CAAC,IAAI,CAACC,YAAY,EAAE;MACpB;IACJ;IACA,MAAM,IAAI,CAACA,YAAY,CAAC,IAAI,CAACvD,OAAO,EAAEsD,MAAM,CAAC;EACjD;AACJ;AAACE,OAAA,CAAA9D,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_upperFirst","_camelCase","_record","createApiName","name","lodashUpperFirst","lodashCamelCase","AcoApp","search","create","data","execOnAnyRequest","result","context","aco","getModel","onEntry","update","id","move","folderId","get","list","params","onEntryList","entries","meta","items","delete","listTags","folder","tenant","tenancy","getCurrentTenant","locale","i18n","getContentLocale","code","model","constructor","structuredClone","modelId","toLowerCase","apiName","singularApiName","pluralApiName","index","fields","findIndex","f","fieldId","WebinyError","settings","push","getFields","addField","field","removeField","DEFAULT_FIELDS","includes","splice","modifyField","cb","action","onAnyRequest","exports"],"sources":["AcoApp.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n AcoContext,\n AcoRequestAction,\n AcoSearchRecordCrudBase,\n CreateSearchRecordParams,\n IAcoApp,\n IAcoAppModifyFieldCallableCallback,\n IAcoAppOnAnyRequest,\n IAcoAppOnEntry,\n IAcoAppOnEntryList,\n IAcoAppParams,\n ListSearchRecordsParams,\n ListSearchRecordTagsParams,\n SearchRecord\n} from \"~/types\";\nimport { CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport lodashUpperFirst from \"lodash/upperFirst\";\nimport lodashCamelCase from \"lodash/camelCase\";\nimport { DEFAULT_FIELDS } from \"~/record/record.model\";\n\nconst createApiName = (name: string) => {\n return lodashUpperFirst(lodashCamelCase(name));\n};\n\nexport class AcoApp implements IAcoApp {\n public readonly name: string;\n public readonly context: AcoContext;\n public readonly model: CmsModel;\n private readonly fields: CmsModelField[];\n private readonly onEntry?: IAcoAppOnEntry;\n private readonly onEntryList?: IAcoAppOnEntryList;\n private readonly onAnyRequest?: IAcoAppOnAnyRequest;\n\n public get search(): AcoSearchRecordCrudBase {\n return {\n create: async <TData>(data: CreateSearchRecordParams<TData>) => {\n await this.execOnAnyRequest(\"create\");\n const result = await this.context.aco.search.create<TData>(this.getModel(), data);\n if (!this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n update: async <TData>(id: string, data: SearchRecord<TData>) => {\n await this.execOnAnyRequest(\"update\");\n const result = await this.context.aco.search.update<TData>(\n this.getModel(),\n id,\n data\n );\n if (!this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n move: async (id: string, folderId?: string) => {\n await this.execOnAnyRequest(\"move\");\n return this.context.aco.search.move(this.getModel(), id, folderId);\n },\n get: async <TData>(id: string) => {\n await this.execOnAnyRequest(\"fetch\");\n const result = await this.context.aco.search.get<TData>(this.getModel(), id);\n if (!result || !this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n list: async <TData>(params: ListSearchRecordsParams) => {\n await this.execOnAnyRequest(\"fetch\");\n const result = await this.context.aco.search.list<TData>(this.getModel(), params);\n const onEntryList = this.onEntryList;\n if (!onEntryList) {\n return result;\n }\n const [entries, meta] = result;\n const items = await onEntryList(entries);\n return [items, meta];\n },\n delete: async (id: string): Promise<boolean> => {\n await this.execOnAnyRequest(\"delete\");\n return this.context.aco.search.delete(this.getModel(), id);\n },\n listTags: async (params: ListSearchRecordTagsParams) => {\n await this.execOnAnyRequest(\"fetch\");\n return this.context.aco.search.listTags(this.getModel(), params);\n }\n };\n }\n\n public get folder() {\n return this.context.aco.folder;\n }\n\n private getModel() {\n const tenant = this.context.tenancy.getCurrentTenant().id;\n const locale = this.context.i18n.getContentLocale()!.code;\n\n return { ...this.model, tenant, locale };\n }\n\n private constructor(context: AcoContext, params: IAcoAppParams) {\n this.context = context;\n this.name = params.name;\n this.onEntry = params.onEntry;\n this.onEntryList = params.onEntryList;\n this.model = structuredClone(params.model);\n /**\n * We can safely define the api name of the model as we control everything here.\n */\n this.model.name = `${this.model.name} ${this.name}`;\n this.model.modelId = `${this.model.modelId}-${this.name.toLowerCase()}`;\n const apiName = `AcoSearchRecord${createApiName(params.apiName)}`;\n this.model.singularApiName = apiName;\n this.model.pluralApiName = apiName;\n\n const index = this.model.fields.findIndex(f => f.fieldId === \"data\");\n if (index === -1) {\n throw new WebinyError(\n `The \"data\" field does not exist in model \"${this.model.modelId}\".`,\n \"MODEL_DATA_FIELD_ERROR\",\n {\n modelId: this.model.modelId\n }\n );\n } else if (!this.model.fields[index].settings?.fields) {\n this.model.fields[index].settings!.fields = [];\n }\n this.fields = this.model.fields[index].settings!.fields as CmsModelField[];\n this.fields.push(...params.fields);\n }\n\n public static create(context: AcoContext, params: IAcoAppParams) {\n return new AcoApp(context, params);\n }\n\n public getFields(): CmsModelField[] {\n return this.fields;\n }\n\n public addField(field: CmsModelField): void {\n this.fields.push(field);\n }\n\n public removeField(id: string): void {\n if (DEFAULT_FIELDS.includes(id)) {\n throw new WebinyError(\n `Cannot remove the default field from the ACO App.`,\n \"REMOVE_DEFAULT_FIELD_ERROR\",\n {\n fieldId: id\n }\n );\n }\n const index = this.fields.findIndex(field => field.id === id);\n if (index === -1) {\n return;\n }\n this.fields.splice(index, 1);\n }\n\n public modifyField(id: string, cb: IAcoAppModifyFieldCallableCallback): void {\n const index = this.fields.findIndex(field => field.id === id);\n if (index === -1) {\n throw new WebinyError(\n `There is no field \"${id}\" in app \"${this.name}\".`,\n \"FIELD_NOT_FOUND_ERROR\",\n {\n id\n }\n );\n }\n this.fields[index] = cb(structuredClone(this.fields[index]));\n }\n\n private async execOnAnyRequest(action: AcoRequestAction): Promise<void> {\n if (!this.onAnyRequest) {\n return;\n }\n await this.onAnyRequest(this.context, action);\n }\n}\n"],"mappings":"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"}
package/apps/AcoApps.js CHANGED
@@ -5,18 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.AcoApps = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
9
  var _AcoApp = require("./AcoApp");
12
10
  var _plugins = require("../plugins");
13
11
  var _apiHeadlessCms = require("@webiny/api-headless-cms");
14
12
  var _record = require("../record/record.gql");
15
13
  class AcoApps {
14
+ apps = new Map();
16
15
  constructor(context, options) {
17
- (0, _defineProperty2.default)(this, "apps", new Map());
18
- (0, _defineProperty2.default)(this, "context", void 0);
19
- (0, _defineProperty2.default)(this, "options", void 0);
20
16
  this.context = context;
21
17
  this.options = options;
22
18
  }
@@ -58,12 +54,13 @@ class AcoApps {
58
54
  * Also, we need to register the app model as the plugin one, so it can be used in the CMS.
59
55
  * We do not need to validate model or show it in the API.
60
56
  */
61
- this.context.plugins.register(new _apiHeadlessCms.CmsModelPlugin((0, _objectSpread2.default)((0, _objectSpread2.default)({}, app.model), {}, {
57
+ this.context.plugins.register(new _apiHeadlessCms.CmsModelPlugin({
58
+ ...app.model,
62
59
  singularApiName: undefined,
63
60
  pluralApiName: undefined,
64
61
  isPrivate: true,
65
62
  noValidate: true
66
- })));
63
+ }));
67
64
  this.apps.set(app.name, app);
68
65
  const searchRecordSchema = await (0, _record.createSchema)({
69
66
  context: this.context,
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_AcoApp","_plugins","_apiHeadlessCms","_record","AcoApps","constructor","context","options","_defineProperty2","default","Map","get","name","app","apps","WebinyError","Array","from","keys","list","values","register","exists","has","AcoApp","create","modifiers","plugins","byType","AcoAppModifierPlugin","type","modifier","canUse","modify","CmsModelPlugin","_objectSpread2","model","singularApiName","undefined","pluralApiName","isPrivate","noValidate","set","searchRecordSchema","createSchema","exports"],"sources":["AcoApps.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { AcoApp } from \"./AcoApp\";\nimport { AcoAppModifierPlugin } from \"~/plugins\";\nimport { AcoContext, IAcoApp, IAcoAppParams, IAcoApps, IAcoAppsOptions } from \"~/types\";\nimport { CmsModelPlugin } from \"@webiny/api-headless-cms\";\nimport { createSchema } from \"~/record/record.gql\";\n\nexport class AcoApps implements IAcoApps {\n private readonly apps: Map<string, IAcoApp> = new Map();\n private readonly context: AcoContext;\n private readonly options: IAcoAppsOptions;\n\n public constructor(context: AcoContext, options: IAcoAppsOptions) {\n this.context = context;\n this.options = options;\n }\n\n public get(name: string): IAcoApp {\n const app = this.apps.get(name);\n if (app) {\n return app;\n }\n throw new WebinyError(`App \"${name}\" is not registered.`, \"APP_NOT_REGISTERED\", {\n name,\n apps: Array.from(this.apps.keys())\n });\n }\n\n public list(): IAcoApp[] {\n return Array.from(this.apps.values());\n }\n\n public async register(options: IAcoAppParams): Promise<IAcoApp> {\n const exists = this.apps.has(options.name);\n if (exists) {\n throw new WebinyError(\n `An app with the name \"${options.name}\" is already registered.`,\n \"APP_EXISTS\",\n {\n name: options.name\n }\n );\n }\n /**\n * We need to create the app and run the modifiers on it.\n */\n const app = AcoApp.create(this.context, options);\n const modifiers = this.context.plugins.byType<AcoAppModifierPlugin>(\n AcoAppModifierPlugin.type\n );\n for (const modifier of modifiers) {\n if (modifier.canUse(app) === false) {\n continue;\n }\n await modifier.modify({\n context: this.context,\n app\n });\n }\n /**\n * Also, we need to register the app model as the plugin one, so it can be used in the CMS.\n * We do not need to validate model or show it in the API.\n */\n this.context.plugins.register(\n new CmsModelPlugin({\n ...app.model,\n singularApiName: undefined,\n pluralApiName: undefined,\n isPrivate: true,\n noValidate: true\n })\n );\n this.apps.set(app.name, app);\n\n const searchRecordSchema = await createSchema({\n context: this.context,\n app\n });\n this.context.plugins.register(searchRecordSchema);\n\n return app;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_AcoApp","_plugins","_apiHeadlessCms","_record","AcoApps","apps","Map","constructor","context","options","get","name","app","WebinyError","Array","from","keys","list","values","register","exists","has","AcoApp","create","modifiers","plugins","byType","AcoAppModifierPlugin","type","modifier","canUse","modify","CmsModelPlugin","model","singularApiName","undefined","pluralApiName","isPrivate","noValidate","set","searchRecordSchema","createSchema","exports"],"sources":["AcoApps.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { AcoApp } from \"./AcoApp\";\nimport { AcoAppModifierPlugin } from \"~/plugins\";\nimport { AcoContext, IAcoApp, IAcoAppParams, IAcoApps, IAcoAppsOptions } from \"~/types\";\nimport { CmsModelPlugin } from \"@webiny/api-headless-cms\";\nimport { createSchema } from \"~/record/record.gql\";\n\nexport class AcoApps implements IAcoApps {\n private readonly apps: Map<string, IAcoApp> = new Map();\n private readonly context: AcoContext;\n private readonly options: IAcoAppsOptions;\n\n public constructor(context: AcoContext, options: IAcoAppsOptions) {\n this.context = context;\n this.options = options;\n }\n\n public get(name: string): IAcoApp {\n const app = this.apps.get(name);\n if (app) {\n return app;\n }\n throw new WebinyError(`App \"${name}\" is not registered.`, \"APP_NOT_REGISTERED\", {\n name,\n apps: Array.from(this.apps.keys())\n });\n }\n\n public list(): IAcoApp[] {\n return Array.from(this.apps.values());\n }\n\n public async register(options: IAcoAppParams): Promise<IAcoApp> {\n const exists = this.apps.has(options.name);\n if (exists) {\n throw new WebinyError(\n `An app with the name \"${options.name}\" is already registered.`,\n \"APP_EXISTS\",\n {\n name: options.name\n }\n );\n }\n /**\n * We need to create the app and run the modifiers on it.\n */\n const app = AcoApp.create(this.context, options);\n const modifiers = this.context.plugins.byType<AcoAppModifierPlugin>(\n AcoAppModifierPlugin.type\n );\n for (const modifier of modifiers) {\n if (modifier.canUse(app) === false) {\n continue;\n }\n await modifier.modify({\n context: this.context,\n app\n });\n }\n /**\n * Also, we need to register the app model as the plugin one, so it can be used in the CMS.\n * We do not need to validate model or show it in the API.\n */\n this.context.plugins.register(\n new CmsModelPlugin({\n ...app.model,\n singularApiName: undefined,\n pluralApiName: undefined,\n isPrivate: true,\n noValidate: true\n })\n );\n this.apps.set(app.name, app);\n\n const searchRecordSchema = await createSchema({\n context: this.context,\n app\n });\n this.context.plugins.register(searchRecordSchema);\n\n return app;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEO,MAAMK,OAAO,CAAqB;EACpBC,IAAI,GAAyB,IAAIC,GAAG,CAAC,CAAC;EAIhDC,WAAWA,CAACC,OAAmB,EAAEC,OAAwB,EAAE;IAC9D,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEOC,GAAGA,CAACC,IAAY,EAAW;IAC9B,MAAMC,GAAG,GAAG,IAAI,CAACP,IAAI,CAACK,GAAG,CAACC,IAAI,CAAC;IAC/B,IAAIC,GAAG,EAAE;MACL,OAAOA,GAAG;IACd;IACA,MAAM,IAAIC,cAAW,CAAE,QAAOF,IAAK,sBAAqB,EAAE,oBAAoB,EAAE;MAC5EA,IAAI;MACJN,IAAI,EAAES,KAAK,CAACC,IAAI,CAAC,IAAI,CAACV,IAAI,CAACW,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;EACN;EAEOC,IAAIA,CAAA,EAAc;IACrB,OAAOH,KAAK,CAACC,IAAI,CAAC,IAAI,CAACV,IAAI,CAACa,MAAM,CAAC,CAAC,CAAC;EACzC;EAEA,MAAaC,QAAQA,CAACV,OAAsB,EAAoB;IAC5D,MAAMW,MAAM,GAAG,IAAI,CAACf,IAAI,CAACgB,GAAG,CAACZ,OAAO,CAACE,IAAI,CAAC;IAC1C,IAAIS,MAAM,EAAE;MACR,MAAM,IAAIP,cAAW,CAChB,yBAAwBJ,OAAO,CAACE,IAAK,0BAAyB,EAC/D,YAAY,EACZ;QACIA,IAAI,EAAEF,OAAO,CAACE;MAClB,CACJ,CAAC;IACL;IACA;AACR;AACA;IACQ,MAAMC,GAAG,GAAGU,cAAM,CAACC,MAAM,CAAC,IAAI,CAACf,OAAO,EAAEC,OAAO,CAAC;IAChD,MAAMe,SAAS,GAAG,IAAI,CAAChB,OAAO,CAACiB,OAAO,CAACC,MAAM,CACzCC,6BAAoB,CAACC,IACzB,CAAC;IACD,KAAK,MAAMC,QAAQ,IAAIL,SAAS,EAAE;MAC9B,IAAIK,QAAQ,CAACC,MAAM,CAAClB,GAAG,CAAC,KAAK,KAAK,EAAE;QAChC;MACJ;MACA,MAAMiB,QAAQ,CAACE,MAAM,CAAC;QAClBvB,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBI;MACJ,CAAC,CAAC;IACN;IACA;AACR;AACA;AACA;IACQ,IAAI,CAACJ,OAAO,CAACiB,OAAO,CAACN,QAAQ,CACzB,IAAIa,8BAAc,CAAC;MACf,GAAGpB,GAAG,CAACqB,KAAK;MACZC,eAAe,EAAEC,SAAS;MAC1BC,aAAa,EAAED,SAAS;MACxBE,SAAS,EAAE,IAAI;MACfC,UAAU,EAAE;IAChB,CAAC,CACL,CAAC;IACD,IAAI,CAACjC,IAAI,CAACkC,GAAG,CAAC3B,GAAG,CAACD,IAAI,EAAEC,GAAG,CAAC;IAE5B,MAAM4B,kBAAkB,GAAG,MAAM,IAAAC,oBAAY,EAAC;MAC1CjC,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBI;IACJ,CAAC,CAAC;IACF,IAAI,CAACJ,OAAO,CAACiB,OAAO,CAACN,QAAQ,CAACqB,kBAAkB,CAAC;IAEjD,OAAO5B,GAAG;EACd;AACJ;AAAC8B,OAAA,CAAAtC,OAAA,GAAAA,OAAA"}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.createAcoContext = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
8
  var _error = _interopRequireDefault(require("@webiny/error"));
10
9
  var _api = require("@webiny/api");
11
10
  var _createAcoHooks = require("./createAcoHooks");
@@ -20,7 +19,7 @@ var _FolderLevelPermissions = require("./utils/FolderLevelPermissions");
20
19
  var _CmsEntriesCrudDecorators = require("./utils/decorators/CmsEntriesCrudDecorators");
21
20
  var _folder2 = require("./folder/folder.model");
22
21
  var _createOperationsWrapper = require("./utils/createOperationsWrapper");
23
- var _getFieldValues = require("./utils/getFieldValues");
22
+ var _pickEntryFieldValues = require("./utils/pickEntryFieldValues");
24
23
  var _filter = require("./filter/filter.crud");
25
24
  const setupAcoContext = async (context, setupAcoContextParams) => {
26
25
  const {
@@ -97,7 +96,7 @@ const setupAcoContext = async (context, setupAcoContextParams) => {
97
96
  },
98
97
  sort: ["title_ASC"]
99
98
  });
100
- return results.items.map(entry => (0, _getFieldValues.getFolderFieldValues)(entry, _createAcoStorageOperations.baseFields));
99
+ return results.items.map(_pickEntryFieldValues.pickEntryFieldValues);
101
100
  });
102
101
  },
103
102
  canUseTeams: () => context.wcp.canUseTeams(),
@@ -128,9 +127,10 @@ const setupAcoContext = async (context, setupAcoContextParams) => {
128
127
  const apps = new _apps.AcoApps(context, params);
129
128
  const plugins = context.plugins.byType(_plugins.AcoAppRegisterPlugin.type);
130
129
  for (const plugin of plugins) {
131
- await apps.register((0, _objectSpread2.default)({
132
- model: defaultRecordModel
133
- }, plugin.app));
130
+ await apps.register({
131
+ model: defaultRecordModel,
132
+ ...plugin.app
133
+ });
134
134
  }
135
135
  const listAdminUsers = () => {
136
136
  return security.withoutAuthorization(async () => {
@@ -143,10 +143,11 @@ const setupAcoContext = async (context, setupAcoContextParams) => {
143
143
  });
144
144
  };
145
145
  context.aco = {
146
- folder: (0, _folder.createFolderCrudMethods)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
146
+ folder: (0, _folder.createFolderCrudMethods)({
147
+ ...params,
147
148
  listAdminUsers,
148
149
  listTeams
149
- })),
150
+ }),
150
151
  search: (0, _record.createSearchRecordCrudMethods)(params),
151
152
  folderLevelPermissions,
152
153
  filter: (0, _filter.createFilterCrudMethods)(params),
@@ -154,9 +155,10 @@ const setupAcoContext = async (context, setupAcoContextParams) => {
154
155
  getApp: name => apps.get(name),
155
156
  listApps: () => apps.list(),
156
157
  registerApp: async params => {
157
- return apps.register((0, _objectSpread2.default)({
158
- model: defaultRecordModel
159
- }, params));
158
+ return apps.register({
159
+ model: defaultRecordModel,
160
+ ...params
161
+ });
160
162
  }
161
163
  };
162
164
  if (context.wcp.canUseFolderLevelPermissions()) {
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_api","_createAcoHooks","_createAcoStorageOperations","_isInstallationPending","_folder","_record","_apps","_record2","_plugins","_FolderLevelPermissions","_CmsEntriesCrudDecorators","_folder2","_createOperationsWrapper","_getFieldValues","_filter","setupAcoContext","context","setupAcoContextParams","tenancy","security","i18n","getLocale","locale","getContentLocale","WebinyError","getTenant","getCurrentTenant","storageOperations","createAcoStorageOperations","cms","getCmsContext","folderLevelPermissions","FolderLevelPermissions","getIdentity","getIdentityTeam","withoutAuthorization","identity","adminUser","adminUsers","getUser","where","id","team","getTeam","listPermissions","listAllFolders","type","withModel","createOperationsWrapper","modelName","FOLDER_MODEL_ID","model","results","entries","list","limit","latest","sort","items","map","entry","getFolderFieldValues","baseFields","canUseTeams","wcp","canUseFolderLevelPermissions","useFolderLevelPermissions","isAuthorizationEnabled","params","defaultRecordModel","getModel","SEARCH_RECORD_MODEL_ID","apps","AcoApps","plugins","byType","AcoAppRegisterPlugin","plugin","register","_objectSpread2","default","app","listAdminUsers","listUsers","listTeams","aco","folder","createFolderCrudMethods","search","createSearchRecordCrudMethods","filter","createFilterCrudMethods","getApp","name","get","listApps","registerApp","CmsEntriesCrudDecorators","decorate","createAcoContext","ContextPlugin","isInstallationPending","benchmark","measure","createAcoHooks","exports"],"sources":["createAcoContext.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { createAcoHooks } from \"~/createAcoHooks\";\nimport { baseFields, createAcoStorageOperations } from \"~/createAcoStorageOperations\";\nimport { isInstallationPending } from \"~/utils/isInstallationPending\";\nimport { AcoContext, CreateAcoParams, IAcoAppRegisterParams } from \"~/types\";\nimport { createFolderCrudMethods } from \"~/folder/folder.crud\";\nimport { createSearchRecordCrudMethods } from \"~/record/record.crud\";\nimport { AcoApps } from \"./apps\";\nimport { SEARCH_RECORD_MODEL_ID } from \"~/record/record.model\";\nimport { AcoAppRegisterPlugin } from \"~/plugins\";\nimport { FolderLevelPermissions } from \"~/utils/FolderLevelPermissions\";\nimport { CmsEntriesCrudDecorators } from \"~/utils/decorators/CmsEntriesCrudDecorators\";\nimport { FOLDER_MODEL_ID } from \"~/folder/folder.model\";\nimport { createOperationsWrapper } from \"~/utils/createOperationsWrapper\";\nimport { getFolderFieldValues } from \"~/utils/getFieldValues\";\nimport { createFilterCrudMethods } from \"~/filter/filter.crud\";\n\ninterface CreateAcoContextParams {\n useFolderLevelPermissions?: boolean;\n}\n\nconst setupAcoContext = async (\n context: AcoContext,\n setupAcoContextParams: CreateAcoContextParams\n): Promise<void> => {\n const { tenancy, security, i18n } = context;\n\n const getLocale = (): I18NLocale => {\n const locale = i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale in api-aco/plugins/context.ts\",\n \"LOCALE_ERROR\"\n );\n }\n\n return locale;\n };\n\n const getTenant = (): Tenant => {\n return tenancy.getCurrentTenant();\n };\n\n const storageOperations = createAcoStorageOperations({\n /**\n * TODO: We need to figure out a way to pass \"cms\" from outside (e.g. apps/api/graphql)\n */\n cms: context.cms,\n /**\n * TODO: This is required for \"entryFieldFromStorageTransform\" which access plugins from context.\n */\n getCmsContext: () => context,\n security\n });\n\n const folderLevelPermissions = new FolderLevelPermissions({\n getIdentity: () => security.getIdentity(),\n getIdentityTeam: async () => {\n return security.withoutAuthorization(async () => {\n const identity = security.getIdentity();\n if (!identity) {\n return null;\n }\n\n const adminUser = await context.adminUsers.getUser({ where: { id: identity.id } });\n if (!adminUser) {\n return null;\n }\n\n if (!adminUser.team) {\n return null;\n }\n\n return context.security.getTeam({ where: { id: adminUser.team } });\n });\n },\n listPermissions: () => security.listPermissions(),\n listAllFolders: type => {\n // When retrieving a list of all folders, we want to do it in the\n // fastest way and that is by directly using CMS's storage operations.\n const { withModel } = createOperationsWrapper({\n modelName: FOLDER_MODEL_ID,\n cms: context.cms,\n getCmsContext: () => context,\n security\n });\n\n return withModel(async model => {\n const results = await context.cms.storageOperations.entries.list(model, {\n limit: 100_000,\n where: {\n type,\n\n // Folders always work with latest entries. We never publish them.\n latest: true\n },\n sort: [\"title_ASC\"]\n });\n\n return results.items.map(entry => getFolderFieldValues(entry, baseFields));\n });\n },\n canUseTeams: () => context.wcp.canUseTeams(),\n canUseFolderLevelPermissions: () => {\n if (setupAcoContextParams.useFolderLevelPermissions === false) {\n return false;\n }\n\n return context.wcp.canUseFolderLevelPermissions();\n },\n isAuthorizationEnabled: () => context.security.isAuthorizationEnabled()\n });\n\n const params: CreateAcoParams = {\n getLocale,\n getTenant,\n storageOperations,\n folderLevelPermissions\n };\n\n const defaultRecordModel = await context.security.withoutAuthorization(async () => {\n return context.cms.getModel(SEARCH_RECORD_MODEL_ID);\n });\n\n if (!defaultRecordModel) {\n throw new WebinyError(`There is no default record model in ${SEARCH_RECORD_MODEL_ID}`);\n }\n\n /**\n * First we need to create all the apps.\n */\n const apps = new AcoApps(context, params);\n const plugins = context.plugins.byType<AcoAppRegisterPlugin>(AcoAppRegisterPlugin.type);\n for (const plugin of plugins) {\n await apps.register({\n model: defaultRecordModel,\n ...plugin.app\n });\n }\n\n const listAdminUsers = () => {\n return security.withoutAuthorization(async () => {\n return context.adminUsers.listUsers();\n });\n };\n const listTeams = () => {\n return security.withoutAuthorization(async () => {\n return context.security.listTeams();\n });\n };\n\n context.aco = {\n folder: createFolderCrudMethods({\n ...params,\n listAdminUsers,\n listTeams\n }),\n search: createSearchRecordCrudMethods(params),\n folderLevelPermissions,\n filter: createFilterCrudMethods(params),\n apps,\n getApp: (name: string) => apps.get(name),\n listApps: () => apps.list(),\n registerApp: async (params: IAcoAppRegisterParams) => {\n return apps.register({\n model: defaultRecordModel,\n ...params\n });\n }\n };\n\n if (context.wcp.canUseFolderLevelPermissions()) {\n new CmsEntriesCrudDecorators({ context }).decorate();\n\n // PB decorators registered here: packages/api-page-builder-aco/src/index.ts\n // new PageBuilderCrudDecorators({ context }).decorate();\n }\n};\n\nexport const createAcoContext = (params: CreateAcoContextParams = {}) => {\n const plugin = new ContextPlugin<AcoContext>(async context => {\n /**\n * We can skip the ACO initialization if the installation is pending.\n */\n if (isInstallationPending(context)) {\n return;\n }\n await context.benchmark.measure(\"aco.context.setup\", async () => {\n await setupAcoContext(context, params);\n });\n\n await context.benchmark.measure(\"aco.context.hooks\", async () => {\n await createAcoHooks(context);\n });\n });\n\n plugin.name = \"aco.createContext\";\n\n return plugin;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_api","_createAcoHooks","_createAcoStorageOperations","_isInstallationPending","_folder","_record","_apps","_record2","_plugins","_FolderLevelPermissions","_CmsEntriesCrudDecorators","_folder2","_createOperationsWrapper","_pickEntryFieldValues","_filter","setupAcoContext","context","setupAcoContextParams","tenancy","security","i18n","getLocale","locale","getContentLocale","WebinyError","getTenant","getCurrentTenant","storageOperations","createAcoStorageOperations","cms","getCmsContext","folderLevelPermissions","FolderLevelPermissions","getIdentity","getIdentityTeam","withoutAuthorization","identity","adminUser","adminUsers","getUser","where","id","team","getTeam","listPermissions","listAllFolders","type","withModel","createOperationsWrapper","modelName","FOLDER_MODEL_ID","model","results","entries","list","limit","latest","sort","items","map","pickEntryFieldValues","canUseTeams","wcp","canUseFolderLevelPermissions","useFolderLevelPermissions","isAuthorizationEnabled","params","defaultRecordModel","getModel","SEARCH_RECORD_MODEL_ID","apps","AcoApps","plugins","byType","AcoAppRegisterPlugin","plugin","register","app","listAdminUsers","listUsers","listTeams","aco","folder","createFolderCrudMethods","search","createSearchRecordCrudMethods","filter","createFilterCrudMethods","getApp","name","get","listApps","registerApp","CmsEntriesCrudDecorators","decorate","createAcoContext","ContextPlugin","isInstallationPending","benchmark","measure","createAcoHooks","exports"],"sources":["createAcoContext.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { createAcoHooks } from \"~/createAcoHooks\";\nimport { createAcoStorageOperations } from \"~/createAcoStorageOperations\";\nimport { isInstallationPending } from \"~/utils/isInstallationPending\";\nimport { AcoContext, CreateAcoParams, Folder, IAcoAppRegisterParams } from \"~/types\";\nimport { createFolderCrudMethods } from \"~/folder/folder.crud\";\nimport { createSearchRecordCrudMethods } from \"~/record/record.crud\";\nimport { AcoApps } from \"./apps\";\nimport { SEARCH_RECORD_MODEL_ID } from \"~/record/record.model\";\nimport { AcoAppRegisterPlugin } from \"~/plugins\";\nimport { FolderLevelPermissions } from \"~/utils/FolderLevelPermissions\";\nimport { CmsEntriesCrudDecorators } from \"~/utils/decorators/CmsEntriesCrudDecorators\";\nimport { FOLDER_MODEL_ID } from \"~/folder/folder.model\";\nimport { createOperationsWrapper } from \"~/utils/createOperationsWrapper\";\nimport { pickEntryFieldValues } from \"~/utils/pickEntryFieldValues\";\nimport { createFilterCrudMethods } from \"~/filter/filter.crud\";\n\ninterface CreateAcoContextParams {\n useFolderLevelPermissions?: boolean;\n}\n\nconst setupAcoContext = async (\n context: AcoContext,\n setupAcoContextParams: CreateAcoContextParams\n): Promise<void> => {\n const { tenancy, security, i18n } = context;\n\n const getLocale = (): I18NLocale => {\n const locale = i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale in api-aco/plugins/context.ts\",\n \"LOCALE_ERROR\"\n );\n }\n\n return locale;\n };\n\n const getTenant = (): Tenant => {\n return tenancy.getCurrentTenant();\n };\n\n const storageOperations = createAcoStorageOperations({\n /**\n * TODO: We need to figure out a way to pass \"cms\" from outside (e.g. apps/api/graphql)\n */\n cms: context.cms,\n /**\n * TODO: This is required for \"entryFieldFromStorageTransform\" which access plugins from context.\n */\n getCmsContext: () => context,\n security\n });\n\n const folderLevelPermissions = new FolderLevelPermissions({\n getIdentity: () => security.getIdentity(),\n getIdentityTeam: async () => {\n return security.withoutAuthorization(async () => {\n const identity = security.getIdentity();\n if (!identity) {\n return null;\n }\n\n const adminUser = await context.adminUsers.getUser({ where: { id: identity.id } });\n if (!adminUser) {\n return null;\n }\n\n if (!adminUser.team) {\n return null;\n }\n\n return context.security.getTeam({ where: { id: adminUser.team } });\n });\n },\n listPermissions: () => security.listPermissions(),\n listAllFolders: type => {\n // When retrieving a list of all folders, we want to do it in the\n // fastest way and that is by directly using CMS's storage operations.\n const { withModel } = createOperationsWrapper({\n modelName: FOLDER_MODEL_ID,\n cms: context.cms,\n getCmsContext: () => context,\n security\n });\n\n return withModel(async model => {\n const results = await context.cms.storageOperations.entries.list(model, {\n limit: 100_000,\n where: {\n type,\n\n // Folders always work with latest entries. We never publish them.\n latest: true\n },\n sort: [\"title_ASC\"]\n });\n\n return results.items.map(pickEntryFieldValues<Folder>);\n });\n },\n canUseTeams: () => context.wcp.canUseTeams(),\n canUseFolderLevelPermissions: () => {\n if (setupAcoContextParams.useFolderLevelPermissions === false) {\n return false;\n }\n\n return context.wcp.canUseFolderLevelPermissions();\n },\n isAuthorizationEnabled: () => context.security.isAuthorizationEnabled()\n });\n\n const params: CreateAcoParams = {\n getLocale,\n getTenant,\n storageOperations,\n folderLevelPermissions\n };\n\n const defaultRecordModel = await context.security.withoutAuthorization(async () => {\n return context.cms.getModel(SEARCH_RECORD_MODEL_ID);\n });\n\n if (!defaultRecordModel) {\n throw new WebinyError(`There is no default record model in ${SEARCH_RECORD_MODEL_ID}`);\n }\n\n /**\n * First we need to create all the apps.\n */\n const apps = new AcoApps(context, params);\n const plugins = context.plugins.byType<AcoAppRegisterPlugin>(AcoAppRegisterPlugin.type);\n for (const plugin of plugins) {\n await apps.register({\n model: defaultRecordModel,\n ...plugin.app\n });\n }\n\n const listAdminUsers = () => {\n return security.withoutAuthorization(async () => {\n return context.adminUsers.listUsers();\n });\n };\n const listTeams = () => {\n return security.withoutAuthorization(async () => {\n return context.security.listTeams();\n });\n };\n\n context.aco = {\n folder: createFolderCrudMethods({\n ...params,\n listAdminUsers,\n listTeams\n }),\n search: createSearchRecordCrudMethods(params),\n folderLevelPermissions,\n filter: createFilterCrudMethods(params),\n apps,\n getApp: (name: string) => apps.get(name),\n listApps: () => apps.list(),\n registerApp: async (params: IAcoAppRegisterParams) => {\n return apps.register({\n model: defaultRecordModel,\n ...params\n });\n }\n };\n\n if (context.wcp.canUseFolderLevelPermissions()) {\n new CmsEntriesCrudDecorators({ context }).decorate();\n\n // PB decorators registered here: packages/api-page-builder-aco/src/index.ts\n // new PageBuilderCrudDecorators({ context }).decorate();\n }\n};\n\nexport const createAcoContext = (params: CreateAcoContextParams = {}) => {\n const plugin = new ContextPlugin<AcoContext>(async context => {\n /**\n * We can skip the ACO initialization if the installation is pending.\n */\n if (isInstallationPending(context)) {\n return;\n }\n await context.benchmark.measure(\"aco.context.setup\", async () => {\n await setupAcoContext(context, params);\n });\n\n await context.benchmark.measure(\"aco.context.hooks\", async () => {\n await createAcoHooks(context);\n });\n });\n\n plugin.name = \"aco.createContext\";\n\n return plugin;\n};\n"],"mappings":"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"}
@@ -59,6 +59,7 @@ const baseSchema = new _handlerGraphql.GraphQLSchemaPlugin({
59
59
  input AcoSort {
60
60
  id: AcoSortDirection
61
61
  createdOn: AcoSortDirection
62
+ modifiedOn: AcoSortDirection
62
63
  savedOn: AcoSortDirection
63
64
  title: AcoSortDirection
64
65
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_handlerGraphql","require","_filter","_folder","_app","emptyResolver","baseSchema","GraphQLSchemaPlugin","typeDefs","resolvers","Query","aco","search","Mutation","createAcoGraphQL","appGql","folderSchema","filterSchema","exports"],"sources":["createAcoGraphQL.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { filterSchema } from \"~/filter/filter.gql\";\nimport { folderSchema } from \"~/folder/folder.gql\";\nimport { appGql } from \"~/apps/app.gql\";\nimport { AcoContext } from \"~/types\";\n\nconst emptyResolver = () => ({});\n\nconst baseSchema = new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type AcoQuery {\n _empty: String\n }\n\n type AcoMutation {\n _empty: String\n }\n\n type SearchQuery {\n _empty: String\n }\n\n type SearchMutation {\n _empty: String\n }\n\n type AcoMeta {\n hasMoreItems: Boolean\n totalCount: Int\n cursor: String\n }\n\n type AcoUser {\n id: ID\n displayName: String\n type: String\n }\n\n type AcoError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type AcoBooleanResponse {\n data: Boolean\n error: AcoError\n }\n\n enum AcoSortDirection {\n ASC\n DESC\n }\n\n input AcoSort {\n id: AcoSortDirection\n createdOn: AcoSortDirection\n savedOn: AcoSortDirection\n title: AcoSortDirection\n }\n\n input AcoSearchRecordTagListWhereInput {\n tags_in: [String!]\n tags_startsWith: String\n tags_not_startsWith: String\n createdBy: ID\n AND: [AcoSearchRecordTagListWhereInput!]\n OR: [AcoSearchRecordTagListWhereInput!]\n }\n\n type AcoSearchRecordMoveResponse {\n data: Boolean\n error: AcoError\n }\n\n type TagItem {\n tag: String!\n count: Int!\n }\n\n type AcoSearchRecordTagListResponse {\n data: [TagItem!]\n error: AcoError\n meta: AcoMeta\n }\n\n type AcoSearchLocationType {\n folderId: ID!\n }\n input AcoSearchLocationInput {\n folderId: ID!\n }\n\n extend type Query {\n aco: AcoQuery\n search: SearchQuery\n }\n\n extend type Mutation {\n aco: AcoMutation\n search: SearchMutation\n }\n `,\n resolvers: {\n Query: {\n aco: emptyResolver,\n search: emptyResolver\n },\n Mutation: {\n aco: emptyResolver,\n search: emptyResolver\n }\n }\n});\n\nexport const createAcoGraphQL = (): GraphQLSchemaPlugin<AcoContext>[] => {\n return [baseSchema, appGql, folderSchema, filterSchema];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AAGA,MAAMI,aAAa,GAAGA,CAAA,MAAO,CAAC,CAAC,CAAC;AAEhC,MAAMC,UAAU,GAAG,IAAIC,mCAAmB,CAAC;EACvCC,QAAQ,EAAE,aAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,KAAK,EAAE;MACHC,GAAG,EAAEN,aAAa;MAClBO,MAAM,EAAEP;IACZ,CAAC;IACDQ,QAAQ,EAAE;MACNF,GAAG,EAAEN,aAAa;MAClBO,MAAM,EAAEP;IACZ;EACJ;AACJ,CAAC,CAAC;AAEK,MAAMS,gBAAgB,GAAGA,CAAA,KAAyC;EACrE,OAAO,CAACR,UAAU,EAAES,WAAM,EAAEC,oBAAY,EAAEC,oBAAY,CAAC;AAC3D,CAAC;AAACC,OAAA,CAAAJ,gBAAA,GAAAA,gBAAA"}
1
+ {"version":3,"names":["_handlerGraphql","require","_filter","_folder","_app","emptyResolver","baseSchema","GraphQLSchemaPlugin","typeDefs","resolvers","Query","aco","search","Mutation","createAcoGraphQL","appGql","folderSchema","filterSchema","exports"],"sources":["createAcoGraphQL.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { filterSchema } from \"~/filter/filter.gql\";\nimport { folderSchema } from \"~/folder/folder.gql\";\nimport { appGql } from \"~/apps/app.gql\";\nimport { AcoContext } from \"~/types\";\n\nconst emptyResolver = () => ({});\n\nconst baseSchema = new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type AcoQuery {\n _empty: String\n }\n\n type AcoMutation {\n _empty: String\n }\n\n type SearchQuery {\n _empty: String\n }\n\n type SearchMutation {\n _empty: String\n }\n\n type AcoMeta {\n hasMoreItems: Boolean\n totalCount: Int\n cursor: String\n }\n\n type AcoUser {\n id: ID\n displayName: String\n type: String\n }\n\n type AcoError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type AcoBooleanResponse {\n data: Boolean\n error: AcoError\n }\n\n enum AcoSortDirection {\n ASC\n DESC\n }\n\n input AcoSort {\n id: AcoSortDirection\n createdOn: AcoSortDirection\n modifiedOn: AcoSortDirection\n savedOn: AcoSortDirection\n title: AcoSortDirection\n }\n\n input AcoSearchRecordTagListWhereInput {\n tags_in: [String!]\n tags_startsWith: String\n tags_not_startsWith: String\n createdBy: ID\n AND: [AcoSearchRecordTagListWhereInput!]\n OR: [AcoSearchRecordTagListWhereInput!]\n }\n\n type AcoSearchRecordMoveResponse {\n data: Boolean\n error: AcoError\n }\n\n type TagItem {\n tag: String!\n count: Int!\n }\n\n type AcoSearchRecordTagListResponse {\n data: [TagItem!]\n error: AcoError\n meta: AcoMeta\n }\n\n type AcoSearchLocationType {\n folderId: ID!\n }\n input AcoSearchLocationInput {\n folderId: ID!\n }\n\n extend type Query {\n aco: AcoQuery\n search: SearchQuery\n }\n\n extend type Mutation {\n aco: AcoMutation\n search: SearchMutation\n }\n `,\n resolvers: {\n Query: {\n aco: emptyResolver,\n search: emptyResolver\n },\n Mutation: {\n aco: emptyResolver,\n search: emptyResolver\n }\n }\n});\n\nexport const createAcoGraphQL = (): GraphQLSchemaPlugin<AcoContext>[] => {\n return [baseSchema, appGql, folderSchema, filterSchema];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AAGA,MAAMI,aAAa,GAAGA,CAAA,MAAO,CAAC,CAAC,CAAC;AAEhC,MAAMC,UAAU,GAAG,IAAIC,mCAAmB,CAAC;EACvCC,QAAQ,EAAE,aAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,KAAK,EAAE;MACHC,GAAG,EAAEN,aAAa;MAClBO,MAAM,EAAEP;IACZ,CAAC;IACDQ,QAAQ,EAAE;MACNF,GAAG,EAAEN,aAAa;MAClBO,MAAM,EAAEP;IACZ;EACJ;AACJ,CAAC,CAAC;AAEK,MAAMS,gBAAgB,GAAGA,CAAA,KAAyC;EACrE,OAAO,CAACR,UAAU,EAAES,WAAM,EAAEC,oBAAY,EAAEC,oBAAY,CAAC;AAC3D,CAAC;AAACC,OAAA,CAAAJ,gBAAA,GAAAA,gBAAA"}
@@ -4,33 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createAcoModels = void 0;
7
- var _apiHeadlessCms = require("@webiny/api-headless-cms");
8
7
  var _filter = require("./filter/filter.model");
9
8
  var _folder = require("./folder/folder.model");
10
9
  var _record = require("./record/record.model");
11
10
  var _modelFactory = require("./utils/modelFactory");
12
11
  const createAcoModels = context => {
13
- const groupId = "contentModelGroup_aco";
14
-
15
- /**
16
- * Create a CmsGroup.
17
- */
18
- const cmsGroupPlugin = new _apiHeadlessCms.CmsGroupPlugin({
19
- id: groupId,
20
- slug: "aco",
21
- name: "ACO",
22
- description: "Group for Advanced Content Organisation and Search",
23
- icon: "fas/folder",
24
- isPrivate: true
25
- });
26
-
27
12
  /**
28
13
  * Create CmsModel plugins.
29
14
  */
30
15
  const modelDefinitions = [(0, _folder.createFolderModelDefinition)(), (0, _record.createSearchModelDefinition)(), (0, _filter.createFilterModelDefinition)()];
31
16
  const cmsModelPlugins = modelDefinitions.map(modelDefinition => {
32
17
  return (0, _modelFactory.modelFactory)({
33
- group: cmsGroupPlugin.contentModelGroup,
34
18
  modelDefinition
35
19
  });
36
20
  });
@@ -38,7 +22,7 @@ const createAcoModels = context => {
38
22
  /**
39
23
  * Register them so that they are accessible in cms context
40
24
  */
41
- context.plugins.register([cmsGroupPlugin, cmsModelPlugins]);
25
+ context.plugins.register([cmsModelPlugins]);
42
26
  };
43
27
  exports.createAcoModels = createAcoModels;
44
28
 
@@ -1 +1 @@
1
- {"version":3,"names":["_apiHeadlessCms","require","_filter","_folder","_record","_modelFactory","createAcoModels","context","groupId","cmsGroupPlugin","CmsGroupPlugin","id","slug","name","description","icon","isPrivate","modelDefinitions","createFolderModelDefinition","createSearchModelDefinition","createFilterModelDefinition","cmsModelPlugins","map","modelDefinition","modelFactory","group","contentModelGroup","plugins","register","exports"],"sources":["createAcoModels.ts"],"sourcesContent":["import { CmsGroupPlugin } from \"@webiny/api-headless-cms\";\nimport { CmsContext } from \"@webiny/api-headless-cms/types\";\nimport { createFilterModelDefinition } from \"~/filter/filter.model\";\nimport { createFolderModelDefinition } from \"~/folder/folder.model\";\nimport { createSearchModelDefinition } from \"~/record/record.model\";\nimport { modelFactory } from \"~/utils/modelFactory\";\n\nexport const createAcoModels = (context: CmsContext) => {\n const groupId = \"contentModelGroup_aco\";\n\n /**\n * Create a CmsGroup.\n */\n const cmsGroupPlugin = new CmsGroupPlugin({\n id: groupId,\n slug: \"aco\",\n name: \"ACO\",\n description: \"Group for Advanced Content Organisation and Search\",\n icon: \"fas/folder\",\n isPrivate: true\n });\n\n /**\n * Create CmsModel plugins.\n */\n const modelDefinitions = [\n createFolderModelDefinition(),\n createSearchModelDefinition(),\n createFilterModelDefinition()\n ];\n const cmsModelPlugins = modelDefinitions.map(modelDefinition => {\n return modelFactory({\n group: cmsGroupPlugin.contentModelGroup,\n modelDefinition\n });\n });\n\n /**\n * Register them so that they are accessible in cms context\n */\n context.plugins.register([cmsGroupPlugin, cmsModelPlugins]);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAEO,MAAMK,eAAe,GAAIC,OAAmB,IAAK;EACpD,MAAMC,OAAO,GAAG,uBAAuB;;EAEvC;AACJ;AACA;EACI,MAAMC,cAAc,GAAG,IAAIC,8BAAc,CAAC;IACtCC,EAAE,EAAEH,OAAO;IACXI,IAAI,EAAE,KAAK;IACXC,IAAI,EAAE,KAAK;IACXC,WAAW,EAAE,oDAAoD;IACjEC,IAAI,EAAE,YAAY;IAClBC,SAAS,EAAE;EACf,CAAC,CAAC;;EAEF;AACJ;AACA;EACI,MAAMC,gBAAgB,GAAG,CACrB,IAAAC,mCAA2B,EAAC,CAAC,EAC7B,IAAAC,mCAA2B,EAAC,CAAC,EAC7B,IAAAC,mCAA2B,EAAC,CAAC,CAChC;EACD,MAAMC,eAAe,GAAGJ,gBAAgB,CAACK,GAAG,CAACC,eAAe,IAAI;IAC5D,OAAO,IAAAC,0BAAY,EAAC;MAChBC,KAAK,EAAEhB,cAAc,CAACiB,iBAAiB;MACvCH;IACJ,CAAC,CAAC;EACN,CAAC,CAAC;;EAEF;AACJ;AACA;EACIhB,OAAO,CAACoB,OAAO,CAACC,QAAQ,CAAC,CAACnB,cAAc,EAAEY,eAAe,CAAC,CAAC;AAC/D,CAAC;AAACQ,OAAA,CAAAvB,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"names":["_filter","require","_folder","_record","_modelFactory","createAcoModels","context","modelDefinitions","createFolderModelDefinition","createSearchModelDefinition","createFilterModelDefinition","cmsModelPlugins","map","modelDefinition","modelFactory","plugins","register","exports"],"sources":["createAcoModels.ts"],"sourcesContent":["import { CmsContext } from \"@webiny/api-headless-cms/types\";\nimport { createFilterModelDefinition } from \"~/filter/filter.model\";\nimport { createFolderModelDefinition } from \"~/folder/folder.model\";\nimport { createSearchModelDefinition } from \"~/record/record.model\";\nimport { modelFactory } from \"~/utils/modelFactory\";\n\nexport const createAcoModels = (context: CmsContext) => {\n /**\n * Create CmsModel plugins.\n */\n const modelDefinitions = [\n createFolderModelDefinition(),\n createSearchModelDefinition(),\n createFilterModelDefinition()\n ];\n const cmsModelPlugins = modelDefinitions.map(modelDefinition => {\n return modelFactory({\n modelDefinition\n });\n });\n\n /**\n * Register them so that they are accessible in cms context\n */\n context.plugins.register([cmsModelPlugins]);\n};\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEO,MAAMI,eAAe,GAAIC,OAAmB,IAAK;EACpD;AACJ;AACA;EACI,MAAMC,gBAAgB,GAAG,CACrB,IAAAC,mCAA2B,EAAC,CAAC,EAC7B,IAAAC,mCAA2B,EAAC,CAAC,EAC7B,IAAAC,mCAA2B,EAAC,CAAC,CAChC;EACD,MAAMC,eAAe,GAAGJ,gBAAgB,CAACK,GAAG,CAACC,eAAe,IAAI;IAC5D,OAAO,IAAAC,0BAAY,EAAC;MAChBD;IACJ,CAAC,CAAC;EACN,CAAC,CAAC;;EAEF;AACJ;AACA;EACIP,OAAO,CAACS,OAAO,CAACC,QAAQ,CAAC,CAACL,eAAe,CAAC,CAAC;AAC/C,CAAC;AAACM,OAAA,CAAAZ,eAAA,GAAAA,eAAA"}
@@ -6,5 +6,4 @@ export interface CreateAcoStorageOperationsParams {
6
6
  security: Security;
7
7
  getCmsContext: () => CmsContext;
8
8
  }
9
- export declare const baseFields: string[];
10
9
  export declare const createAcoStorageOperations: (params: CreateAcoStorageOperationsParams) => AcoStorageOperations;
@@ -1,21 +1,21 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.createAcoStorageOperations = exports.baseFields = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
6
+ exports.createAcoStorageOperations = void 0;
9
7
  var _filter = require("./filter/filter.so");
10
8
  var _folder = require("./folder/folder.so");
11
9
  var _record = require("./record/record.so");
12
10
  var _createAcoModels = require("./createAcoModels");
13
- const baseFields = ["id", "entryId", "createdBy", "createdOn", "savedOn"];
14
- exports.baseFields = baseFields;
15
11
  const createAcoStorageOperations = params => {
16
12
  const context = params.getCmsContext();
17
13
  (0, _createAcoModels.createAcoModels)(context);
18
- return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _folder.createFolderOperations)(params)), (0, _record.createSearchRecordOperations)(params)), (0, _filter.createFilterOperations)(params));
14
+ return {
15
+ ...(0, _folder.createFolderOperations)(params),
16
+ ...(0, _record.createSearchRecordOperations)(params),
17
+ ...(0, _filter.createFilterOperations)(params)
18
+ };
19
19
  };
20
20
  exports.createAcoStorageOperations = createAcoStorageOperations;
21
21
 
@@ -1 +1 @@
1
- {"version":3,"names":["_filter","require","_folder","_record","_createAcoModels","baseFields","exports","createAcoStorageOperations","params","context","getCmsContext","createAcoModels","_objectSpread2","default","createFolderOperations","createSearchRecordOperations","createFilterOperations"],"sources":["createAcoStorageOperations.ts"],"sourcesContent":["import { CmsContext, HeadlessCms } from \"@webiny/api-headless-cms/types\";\nimport { Security } from \"@webiny/api-security/types\";\n\nimport { createFilterOperations } from \"~/filter/filter.so\";\nimport { createFolderOperations } from \"~/folder/folder.so\";\nimport { createSearchRecordOperations } from \"~/record/record.so\";\nimport { createAcoModels } from \"~/createAcoModels\";\n\nimport { AcoStorageOperations } from \"~/types\";\n\nexport interface CreateAcoStorageOperationsParams {\n cms: HeadlessCms;\n security: Security;\n getCmsContext: () => CmsContext;\n}\n\nexport const baseFields = [\"id\", \"entryId\", \"createdBy\", \"createdOn\", \"savedOn\"];\n\nexport const createAcoStorageOperations = (\n params: CreateAcoStorageOperationsParams\n): AcoStorageOperations => {\n const context = params.getCmsContext();\n\n createAcoModels(context);\n\n return {\n ...createFolderOperations(params),\n ...createSearchRecordOperations(params),\n ...createFilterOperations(params)\n };\n};\n"],"mappings":";;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAUO,MAAMI,UAAU,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC;AAACC,OAAA,CAAAD,UAAA,GAAAA,UAAA;AAE1E,MAAME,0BAA0B,GACnCC,MAAwC,IACjB;EACvB,MAAMC,OAAO,GAAGD,MAAM,CAACE,aAAa,CAAC,CAAC;EAEtC,IAAAC,gCAAe,EAACF,OAAO,CAAC;EAExB,WAAAG,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACO,IAAAC,8BAAsB,EAACN,MAAM,CAAC,GAC9B,IAAAO,oCAA4B,EAACP,MAAM,CAAC,GACpC,IAAAQ,8BAAsB,EAACR,MAAM,CAAC;AAEzC,CAAC;AAACF,OAAA,CAAAC,0BAAA,GAAAA,0BAAA"}
1
+ {"version":3,"names":["_filter","require","_folder","_record","_createAcoModels","createAcoStorageOperations","params","context","getCmsContext","createAcoModels","createFolderOperations","createSearchRecordOperations","createFilterOperations","exports"],"sources":["createAcoStorageOperations.ts"],"sourcesContent":["import { CmsContext, HeadlessCms } from \"@webiny/api-headless-cms/types\";\nimport { Security } from \"@webiny/api-security/types\";\n\nimport { createFilterOperations } from \"~/filter/filter.so\";\nimport { createFolderOperations } from \"~/folder/folder.so\";\nimport { createSearchRecordOperations } from \"~/record/record.so\";\nimport { createAcoModels } from \"~/createAcoModels\";\n\nimport { AcoStorageOperations } from \"~/types\";\n\nexport interface CreateAcoStorageOperationsParams {\n cms: HeadlessCms;\n security: Security;\n getCmsContext: () => CmsContext;\n}\n\nexport const createAcoStorageOperations = (\n params: CreateAcoStorageOperationsParams\n): AcoStorageOperations => {\n const context = params.getCmsContext();\n\n createAcoModels(context);\n\n return {\n ...createFolderOperations(params),\n ...createSearchRecordOperations(params),\n ...createFilterOperations(params)\n };\n};\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAUO,MAAMI,0BAA0B,GACnCC,MAAwC,IACjB;EACvB,MAAMC,OAAO,GAAGD,MAAM,CAACE,aAAa,CAAC,CAAC;EAEtC,IAAAC,gCAAe,EAACF,OAAO,CAAC;EAExB,OAAO;IACH,GAAG,IAAAG,8BAAsB,EAACJ,MAAM,CAAC;IACjC,GAAG,IAAAK,oCAA4B,EAACL,MAAM,CAAC;IACvC,GAAG,IAAAM,8BAAsB,EAACN,MAAM;EACpC,CAAC;AACL,CAAC;AAACO,OAAA,CAAAR,0BAAA,GAAAA,0BAAA"}
@@ -33,9 +33,12 @@ const filterSchema = new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
33
33
  namespace: String!
34
34
  operation: OperationEnum!
35
35
  groups: [Group]!
36
- savedOn: DateTime
37
36
  createdOn: DateTime
37
+ modifiedOn: DateTime
38
+ savedOn: DateTime
38
39
  createdBy: AcoUser
40
+ modifiedBy: AcoUser
41
+ savedBy: AcoUser
39
42
  }
40
43
 
41
44
  input GroupFilterInput {
@@ -1 +1 @@
1
- {"version":3,"names":["_responses","require","_GraphQLSchemaPlugin","_ensureAuthentication","_resolve","filterSchema","GraphQLSchemaPlugin","typeDefs","resolvers","AcoQuery","getFilter","_","id","context","resolve","ensureAuthentication","aco","filter","get","listFilters","args","entries","meta","list","ListResponse","e","ErrorResponse","AcoMutation","createFilter","data","create","updateFilter","update","deleteFilter","delete","exports"],"sources":["filter.gql.ts"],"sourcesContent":["import { ErrorResponse, ListResponse } from \"@webiny/handler-graphql/responses\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\n\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication\";\nimport { resolve } from \"~/utils/resolve\";\n\nimport { AcoContext } from \"~/types\";\n\nexport const filterSchema = new GraphQLSchemaPlugin<AcoContext>({\n typeDefs: /* GraphQL */ `\n enum OperationEnum {\n AND\n OR\n }\n\n type GroupFilter {\n field: String!\n condition: String!\n value: String!\n }\n\n type Group {\n operation: OperationEnum!\n filters: [GroupFilter]!\n }\n\n type Filter {\n id: ID!\n name: String!\n description: String\n namespace: String!\n operation: OperationEnum!\n groups: [Group]!\n savedOn: DateTime\n createdOn: DateTime\n createdBy: AcoUser\n }\n\n input GroupFilterInput {\n field: String!\n condition: String!\n value: String!\n }\n\n input GroupInput {\n operation: OperationEnum!\n filters: [GroupFilterInput]!\n }\n\n input FilterCreateInput {\n id: ID!\n name: String!\n description: String\n namespace: String!\n operation: OperationEnum!\n groups: [GroupInput]!\n }\n\n input FilterUpdateInput {\n name: String\n description: String\n namespace: String\n operation: OperationEnum\n groups: [GroupInput]\n }\n\n input FiltersListWhereInput {\n namespace: String\n }\n\n type FilterResponse {\n data: Filter\n error: AcoError\n }\n\n type FilterListResponse {\n data: [Filter]\n error: AcoError\n }\n\n extend type AcoQuery {\n getFilter(id: ID!): FilterResponse\n listFilters(\n where: FiltersListWhereInput!\n limit: Int\n after: String\n sort: AcoSort\n ): FilterListResponse\n }\n\n extend type AcoMutation {\n createFilter(data: FilterCreateInput!): FilterResponse\n updateFilter(id: ID!, data: FilterUpdateInput!): FilterResponse\n deleteFilter(id: ID!): AcoBooleanResponse\n }\n `,\n resolvers: {\n AcoQuery: {\n getFilter: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.get(id);\n });\n },\n listFilters: async (_, args: any, context) => {\n try {\n ensureAuthentication(context);\n const [entries, meta] = await context.aco.filter.list(args);\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n AcoMutation: {\n createFilter: async (_, { data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.create(data);\n });\n },\n updateFilter: async (_, { id, data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.update(id, data);\n });\n },\n deleteFilter: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.delete(id);\n });\n }\n }\n }\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_responses","require","_GraphQLSchemaPlugin","_ensureAuthentication","_resolve","filterSchema","GraphQLSchemaPlugin","typeDefs","resolvers","AcoQuery","getFilter","_","id","context","resolve","ensureAuthentication","aco","filter","get","listFilters","args","entries","meta","list","ListResponse","e","ErrorResponse","AcoMutation","createFilter","data","create","updateFilter","update","deleteFilter","delete","exports"],"sources":["filter.gql.ts"],"sourcesContent":["import { ErrorResponse, ListResponse } from \"@webiny/handler-graphql/responses\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\n\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication\";\nimport { resolve } from \"~/utils/resolve\";\n\nimport { AcoContext } from \"~/types\";\n\nexport const filterSchema = new GraphQLSchemaPlugin<AcoContext>({\n typeDefs: /* GraphQL */ `\n enum OperationEnum {\n AND\n OR\n }\n\n type GroupFilter {\n field: String!\n condition: String!\n value: String!\n }\n\n type Group {\n operation: OperationEnum!\n filters: [GroupFilter]!\n }\n\n type Filter {\n id: ID!\n name: String!\n description: String\n namespace: String!\n operation: OperationEnum!\n groups: [Group]!\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n createdBy: AcoUser\n modifiedBy: AcoUser\n savedBy: AcoUser\n }\n\n input GroupFilterInput {\n field: String!\n condition: String!\n value: String!\n }\n\n input GroupInput {\n operation: OperationEnum!\n filters: [GroupFilterInput]!\n }\n\n input FilterCreateInput {\n id: ID!\n name: String!\n description: String\n namespace: String!\n operation: OperationEnum!\n groups: [GroupInput]!\n }\n\n input FilterUpdateInput {\n name: String\n description: String\n namespace: String\n operation: OperationEnum\n groups: [GroupInput]\n }\n\n input FiltersListWhereInput {\n namespace: String\n }\n\n type FilterResponse {\n data: Filter\n error: AcoError\n }\n\n type FilterListResponse {\n data: [Filter]\n error: AcoError\n }\n\n extend type AcoQuery {\n getFilter(id: ID!): FilterResponse\n listFilters(\n where: FiltersListWhereInput!\n limit: Int\n after: String\n sort: AcoSort\n ): FilterListResponse\n }\n\n extend type AcoMutation {\n createFilter(data: FilterCreateInput!): FilterResponse\n updateFilter(id: ID!, data: FilterUpdateInput!): FilterResponse\n deleteFilter(id: ID!): AcoBooleanResponse\n }\n `,\n resolvers: {\n AcoQuery: {\n getFilter: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.get(id);\n });\n },\n listFilters: async (_, args: any, context) => {\n try {\n ensureAuthentication(context);\n const [entries, meta] = await context.aco.filter.list(args);\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n AcoMutation: {\n createFilter: async (_, { data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.create(data);\n });\n },\n updateFilter: async (_, { id, data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.update(id, data);\n });\n },\n deleteFilter: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.delete(id);\n });\n }\n }\n }\n});\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAIO,MAAMI,YAAY,GAAG,IAAIC,wCAAmB,CAAa;EAC5DC,QAAQ,EAAE,aAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,QAAQ,EAAE;MACNC,SAAS,EAAE,MAAAA,CAAOC,CAAC,EAAE;QAAEC;MAAG,CAAC,EAAEC,OAAO,KAAK;QACrC,OAAO,IAAAC,gBAAO,EAAC,MAAM;UACjB,IAAAC,0CAAoB,EAACF,OAAO,CAAC;UAC7B,OAAOA,OAAO,CAACG,GAAG,CAACC,MAAM,CAACC,GAAG,CAACN,EAAE,CAAC;QACrC,CAAC,CAAC;MACN,CAAC;MACDO,WAAW,EAAE,MAAAA,CAAOR,CAAC,EAAES,IAAS,EAAEP,OAAO,KAAK;QAC1C,IAAI;UACA,IAAAE,0CAAoB,EAACF,OAAO,CAAC;UAC7B,MAAM,CAACQ,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAMT,OAAO,CAACG,GAAG,CAACC,MAAM,CAACM,IAAI,CAACH,IAAI,CAAC;UAC3D,OAAO,IAAII,uBAAY,CAACH,OAAO,EAAEC,IAAI,CAAC;QAC1C,CAAC,CAAC,OAAOG,CAAC,EAAE;UACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;QAC/B;MACJ;IACJ,CAAC;IACDE,WAAW,EAAE;MACTC,YAAY,EAAE,MAAAA,CAAOjB,CAAC,EAAE;QAAEkB;MAAK,CAAC,EAAEhB,OAAO,KAAK;QAC1C,OAAO,IAAAC,gBAAO,EAAC,MAAM;UACjB,IAAAC,0CAAoB,EAACF,OAAO,CAAC;UAC7B,OAAOA,OAAO,CAACG,GAAG,CAACC,MAAM,CAACa,MAAM,CAACD,IAAI,CAAC;QAC1C,CAAC,CAAC;MACN,CAAC;MACDE,YAAY,EAAE,MAAAA,CAAOpB,CAAC,EAAE;QAAEC,EAAE;QAAEiB;MAAK,CAAC,EAAEhB,OAAO,KAAK;QAC9C,OAAO,IAAAC,gBAAO,EAAC,MAAM;UACjB,IAAAC,0CAAoB,EAACF,OAAO,CAAC;UAC7B,OAAOA,OAAO,CAACG,GAAG,CAACC,MAAM,CAACe,MAAM,CAACpB,EAAE,EAAEiB,IAAI,CAAC;QAC9C,CAAC,CAAC;MACN,CAAC;MACDI,YAAY,EAAE,MAAAA,CAAOtB,CAAC,EAAE;QAAEC;MAAG,CAAC,EAAEC,OAAO,KAAK;QACxC,OAAO,IAAAC,gBAAO,EAAC,MAAM;UACjB,IAAAC,0CAAoB,EAACF,OAAO,CAAC;UAC7B,OAAOA,OAAO,CAACG,GAAG,CAACC,MAAM,CAACiB,MAAM,CAACtB,EAAE,CAAC;QACxC,CAAC,CAAC;MACN;IACJ;EACJ;AACJ,CAAC,CAAC;AAACuB,OAAA,CAAA9B,YAAA,GAAAA,YAAA"}
@@ -1,4 +1,2 @@
1
- import { CmsPrivateModelFull } from "@webiny/api-headless-cms";
2
- export declare type FilterModelDefinition = Omit<CmsPrivateModelFull, "noValidate" | "group">;
3
1
  export declare const FILTER_MODEL_ID = "acoFilter";
4
- export declare const createFilterModelDefinition: () => FilterModelDefinition;
2
+ export declare const createFilterModelDefinition: () => import("@webiny/api-headless-cms").CmsPrivateModelFull;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createFilterModelDefinition = exports.FILTER_MODEL_ID = void 0;
7
7
  var _createModelField = require("../utils/createModelField");
8
+ var _apiHeadlessCms = require("@webiny/api-headless-cms");
8
9
  const name = () => (0, _createModelField.createModelField)({
9
10
  label: "Name",
10
11
  fieldId: "name",
@@ -112,15 +113,12 @@ const value = () => (0, _createModelField.createModelField)({
112
113
  const FILTER_MODEL_ID = "acoFilter";
113
114
  exports.FILTER_MODEL_ID = FILTER_MODEL_ID;
114
115
  const createFilterModelDefinition = () => {
115
- return {
116
+ return (0, _apiHeadlessCms.createPrivateModelDefinition)({
116
117
  name: "ACO - Filter",
117
118
  modelId: FILTER_MODEL_ID,
118
119
  titleFieldId: "name",
119
- layout: [["name"], ["description"], ["namespace"], ["operation"], ["groups"]],
120
- fields: [name(), description(), namespace(), operation(), groups([operation(), filters([field(), condition(), value()])])],
121
- description: "ACO - Filter content model",
122
- isPrivate: true
123
- };
120
+ fields: [name(), description(), namespace(), operation(), groups([operation(), filters([field(), condition(), value()])])]
121
+ });
124
122
  };
125
123
  exports.createFilterModelDefinition = createFilterModelDefinition;
126
124