@webiny/api-headless-cms 0.0.0-unstable.1e66d121db → 0.0.0-unstable.611c5af35e

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 (274) hide show
  1. package/context.js +0 -15
  2. package/context.js.map +1 -1
  3. package/crud/contentEntry/afterDelete.js +0 -5
  4. package/crud/contentEntry/afterDelete.js.map +1 -1
  5. package/crud/contentEntry/beforeCreate.js +0 -3
  6. package/crud/contentEntry/beforeCreate.js.map +1 -1
  7. package/crud/contentEntry/beforeUpdate.js +0 -3
  8. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  9. package/crud/contentEntry/entryDataValidation.js +1 -40
  10. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  11. package/crud/contentEntry/markLockedFields.js +2 -25
  12. package/crud/contentEntry/markLockedFields.js.map +1 -1
  13. package/crud/contentEntry/referenceFieldsMapping.js +5 -59
  14. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  15. package/crud/contentEntry.crud.js +27 -145
  16. package/crud/contentEntry.crud.js.map +1 -1
  17. package/crud/contentModel/afterCreate.js +0 -2
  18. package/crud/contentModel/afterCreate.js.map +1 -1
  19. package/crud/contentModel/afterCreateFrom.js +0 -2
  20. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  21. package/crud/contentModel/afterDelete.js +0 -2
  22. package/crud/contentModel/afterDelete.js.map +1 -1
  23. package/crud/contentModel/afterUpdate.js +0 -2
  24. package/crud/contentModel/afterUpdate.js.map +1 -1
  25. package/crud/contentModel/beforeCreate.js +4 -32
  26. package/crud/contentModel/beforeCreate.js.map +1 -1
  27. package/crud/contentModel/beforeDelete.js +0 -10
  28. package/crud/contentModel/beforeDelete.js.map +1 -1
  29. package/crud/contentModel/beforeUpdate.js +0 -5
  30. package/crud/contentModel/beforeUpdate.js.map +1 -1
  31. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  32. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  33. package/crud/contentModel/createFieldModels.js +0 -6
  34. package/crud/contentModel/createFieldModels.js.map +1 -1
  35. package/crud/contentModel/createFieldStorageId.js +0 -2
  36. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  37. package/crud/contentModel/fieldIdValidation.js +0 -5
  38. package/crud/contentModel/fieldIdValidation.js.map +1 -1
  39. package/crud/contentModel/idValidation.js +0 -5
  40. package/crud/contentModel/idValidation.js.map +1 -1
  41. package/crud/contentModel/models.js +1 -8
  42. package/crud/contentModel/models.js.map +1 -1
  43. package/crud/contentModel/systemFields.js.map +1 -1
  44. package/crud/contentModel/validateLayout.js +0 -8
  45. package/crud/contentModel/validateLayout.js.map +1 -1
  46. package/crud/contentModel/validateModel.js +0 -8
  47. package/crud/contentModel/validateModel.js.map +1 -1
  48. package/crud/contentModel/validateModelFields.js +8 -60
  49. package/crud/contentModel/validateModelFields.js.map +1 -1
  50. package/crud/contentModel.crud.js +25 -95
  51. package/crud/contentModel.crud.js.map +1 -1
  52. package/crud/contentModelGroup/beforeCreate.js +0 -12
  53. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  54. package/crud/contentModelGroup/beforeDelete.js +0 -8
  55. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  56. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  57. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  58. package/crud/contentModelGroup.crud.js +10 -47
  59. package/crud/contentModelGroup.crud.js.map +1 -1
  60. package/crud/index.js +0 -16
  61. package/crud/index.js.map +1 -1
  62. package/crud/settings.crud.js +0 -12
  63. package/crud/settings.crud.js.map +1 -1
  64. package/crud/system.crud.js +2 -37
  65. package/crud/system.crud.js.map +1 -1
  66. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  67. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  68. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
  69. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  70. package/fieldConverters/index.js +0 -4
  71. package/fieldConverters/index.js.map +1 -1
  72. package/graphql/buildSchemaPlugins.js +5 -9
  73. package/graphql/buildSchemaPlugins.js.map +1 -1
  74. package/graphql/graphQLHandlerFactory.js +3 -28
  75. package/graphql/graphQLHandlerFactory.js.map +1 -1
  76. package/graphql/index.js +1 -8
  77. package/graphql/index.js.map +1 -1
  78. package/graphql/schema/baseContentSchema.js +3 -11
  79. package/graphql/schema/baseContentSchema.js.map +1 -1
  80. package/graphql/schema/contentEntries.js +2 -42
  81. package/graphql/schema/contentEntries.js.map +1 -1
  82. package/graphql/schema/contentModelGroups.js +2 -19
  83. package/graphql/schema/contentModelGroups.js.map +1 -1
  84. package/graphql/schema/contentModels.js +20 -17
  85. package/graphql/schema/contentModels.js.map +1 -1
  86. package/graphql/schema/createFieldResolvers.js +3 -21
  87. package/graphql/schema/createFieldResolvers.js.map +1 -1
  88. package/graphql/schema/createManageResolvers.js +0 -26
  89. package/graphql/schema/createManageResolvers.js.map +1 -1
  90. package/graphql/schema/createManageSDL.js +1 -14
  91. package/graphql/schema/createManageSDL.js.map +1 -1
  92. package/graphql/schema/createPreviewResolvers.js +0 -10
  93. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  94. package/graphql/schema/createReadResolvers.js +0 -10
  95. package/graphql/schema/createReadResolvers.js.map +1 -1
  96. package/graphql/schema/createReadSDL.js +0 -10
  97. package/graphql/schema/createReadSDL.js.map +1 -1
  98. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -2
  99. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  100. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  101. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  102. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  103. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  104. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  105. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  106. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  107. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  108. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  109. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  110. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  111. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  112. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  113. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  114. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  115. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  116. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  117. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  118. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  119. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  120. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  121. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  122. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  123. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  124. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  125. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  126. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  127. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  128. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  129. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  130. package/graphql/schema/schemaPlugins.js +5 -19
  131. package/graphql/schema/schemaPlugins.js.map +1 -1
  132. package/graphql/system.js +1 -14
  133. package/graphql/system.js.map +1 -1
  134. package/graphqlFields/boolean.js +0 -12
  135. package/graphqlFields/boolean.js.map +1 -1
  136. package/graphqlFields/datetime.js +0 -17
  137. package/graphqlFields/datetime.js.map +1 -1
  138. package/graphqlFields/file.js +0 -8
  139. package/graphqlFields/file.js.map +1 -1
  140. package/graphqlFields/helpers.js +0 -10
  141. package/graphqlFields/helpers.js.map +1 -1
  142. package/graphqlFields/index.js +0 -11
  143. package/graphqlFields/index.js.map +1 -1
  144. package/graphqlFields/longText.js +0 -10
  145. package/graphqlFields/longText.js.map +1 -1
  146. package/graphqlFields/number.js +0 -12
  147. package/graphqlFields/number.js.map +1 -1
  148. package/graphqlFields/object.js +6 -36
  149. package/graphqlFields/object.js.map +1 -1
  150. package/graphqlFields/ref.js +17 -51
  151. package/graphqlFields/ref.js.map +1 -1
  152. package/graphqlFields/richText.js +0 -9
  153. package/graphqlFields/richText.js.map +1 -1
  154. package/graphqlFields/text.js +0 -11
  155. package/graphqlFields/text.js.map +1 -1
  156. package/index.js +0 -19
  157. package/index.js.map +1 -1
  158. package/modelManager/DefaultCmsModelManager.js +0 -16
  159. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  160. package/modelManager/index.js +0 -4
  161. package/modelManager/index.js.map +1 -1
  162. package/package.json +24 -25
  163. package/parameters/context.js +0 -4
  164. package/parameters/context.js.map +1 -1
  165. package/parameters/header.js +0 -11
  166. package/parameters/header.js.map +1 -1
  167. package/parameters/index.js +0 -8
  168. package/parameters/index.js.map +1 -1
  169. package/parameters/manual.js +1 -8
  170. package/parameters/manual.js.map +1 -1
  171. package/parameters/path.js +0 -11
  172. package/parameters/path.js.map +1 -1
  173. package/plugins/CmsGroupPlugin.js +0 -8
  174. package/plugins/CmsGroupPlugin.js.map +1 -1
  175. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  176. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  177. package/plugins/CmsModelPlugin.js +2 -38
  178. package/plugins/CmsModelPlugin.js.map +1 -1
  179. package/plugins/CmsParametersPlugin.js +0 -7
  180. package/plugins/CmsParametersPlugin.js.map +1 -1
  181. package/plugins/StorageTransformPlugin.js +0 -9
  182. package/plugins/StorageTransformPlugin.js.map +1 -1
  183. package/plugins/index.js +0 -10
  184. package/plugins/index.js.map +1 -1
  185. package/storage/default.js +0 -3
  186. package/storage/default.js.map +1 -1
  187. package/storage/object.js +0 -18
  188. package/storage/object.js.map +1 -1
  189. package/types.d.ts +14 -3
  190. package/types.js +0 -62
  191. package/types.js.map +1 -1
  192. package/upgrades/5.33.0/index.js +3 -26
  193. package/upgrades/5.33.0/index.js.map +1 -1
  194. package/upgrades/index.js +0 -3
  195. package/upgrades/index.js.map +1 -1
  196. package/utils/access.js +11 -25
  197. package/utils/access.js.map +1 -1
  198. package/utils/converters/Converter.js +0 -13
  199. package/utils/converters/Converter.js.map +1 -1
  200. package/utils/converters/ConverterCollection.d.ts +7 -0
  201. package/utils/converters/ConverterCollection.js +27 -24
  202. package/utils/converters/ConverterCollection.js.map +1 -1
  203. package/utils/converters/valueKeyStorageConverter.js +0 -26
  204. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  205. package/utils/createTypeName.js +0 -8
  206. package/utils/createTypeName.js.map +1 -1
  207. package/utils/entryStorage.js +10 -26
  208. package/utils/entryStorage.js.map +1 -1
  209. package/utils/filterAsync.js +0 -5
  210. package/utils/filterAsync.js.map +1 -1
  211. package/utils/filterModelFields.js +3 -9
  212. package/utils/filterModelFields.js.map +1 -1
  213. package/utils/getEntryTitle.js +0 -9
  214. package/utils/getEntryTitle.js.map +1 -1
  215. package/utils/getSchemaFromFieldPlugins.js +2 -6
  216. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  217. package/utils/ownership.js +0 -8
  218. package/utils/ownership.js.map +1 -1
  219. package/utils/permissions.js +8 -23
  220. package/utils/permissions.js.map +1 -1
  221. package/utils/pluralizedTypeName.js +0 -6
  222. package/utils/pluralizedTypeName.js.map +1 -1
  223. package/utils/renderFields.js +0 -8
  224. package/utils/renderFields.js.map +1 -1
  225. package/utils/renderGetFilterFields.js +0 -11
  226. package/utils/renderGetFilterFields.js.map +1 -1
  227. package/utils/renderInputFields.js +0 -8
  228. package/utils/renderInputFields.js.map +1 -1
  229. package/utils/renderListFilterFields.js +1 -9
  230. package/utils/renderListFilterFields.js.map +1 -1
  231. package/utils/renderSortEnum.js +0 -7
  232. package/utils/renderSortEnum.js.map +1 -1
  233. package/utils/toSlug.js +0 -4
  234. package/utils/toSlug.js.map +1 -1
  235. package/validators/dateGte.js +0 -7
  236. package/validators/dateGte.js.map +1 -1
  237. package/validators/dateLte.js +0 -7
  238. package/validators/dateLte.js.map +1 -1
  239. package/validators/gte.js +0 -8
  240. package/validators/gte.js.map +1 -1
  241. package/validators/in.js +0 -8
  242. package/validators/in.js.map +1 -1
  243. package/validators/index.js +0 -15
  244. package/validators/index.js.map +1 -1
  245. package/validators/lte.js +0 -8
  246. package/validators/lte.js.map +1 -1
  247. package/validators/maxLength.js +0 -8
  248. package/validators/maxLength.js.map +1 -1
  249. package/validators/minLength.js +0 -8
  250. package/validators/minLength.js.map +1 -1
  251. package/validators/pattern.js +0 -9
  252. package/validators/pattern.js.map +1 -1
  253. package/validators/patternPlugins/email.js +0 -2
  254. package/validators/patternPlugins/email.js.map +1 -1
  255. package/validators/patternPlugins/index.js +0 -8
  256. package/validators/patternPlugins/index.js.map +1 -1
  257. package/validators/patternPlugins/lowerCase.js +0 -2
  258. package/validators/patternPlugins/lowerCase.js.map +1 -1
  259. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  260. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  261. package/validators/patternPlugins/upperCase.js +0 -2
  262. package/validators/patternPlugins/upperCase.js.map +1 -1
  263. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  264. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  265. package/validators/patternPlugins/url.js +0 -2
  266. package/validators/patternPlugins/url.js.map +1 -1
  267. package/validators/required.js +0 -5
  268. package/validators/required.js.map +1 -1
  269. package/validators/timeGte.js +0 -8
  270. package/validators/timeGte.js.map +1 -1
  271. package/validators/timeLte.js +0 -8
  272. package/validators/timeLte.js.map +1 -1
  273. package/validators/unique.js +0 -7
  274. package/validators/unique.js.map +1 -1
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.assignBeforeGroupCreate = void 0;
9
-
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
-
12
9
  var _toSlug = require("../../utils/toSlug");
13
-
14
10
  var _CmsGroupPlugin = require("../../plugins/CmsGroupPlugin");
15
-
16
11
  var _utils = require("@webiny/utils");
17
-
18
12
  const assignBeforeGroupCreate = params => {
19
13
  const {
20
14
  onGroupBeforeCreate,
@@ -25,7 +19,6 @@ const assignBeforeGroupCreate = params => {
25
19
  const {
26
20
  group
27
21
  } = params;
28
-
29
22
  if (group.slug && group.slug.trim()) {
30
23
  const groups = await storageOperations.groups.list({
31
24
  where: {
@@ -34,7 +27,6 @@ const assignBeforeGroupCreate = params => {
34
27
  slug: group.slug
35
28
  }
36
29
  });
37
-
38
30
  if (groups.length > 0) {
39
31
  throw new _error.default(`Cms Group with the slug "${group.slug}" already exists.`, "SLUG_ALREADY_EXISTS");
40
32
  }
@@ -47,20 +39,16 @@ const assignBeforeGroupCreate = params => {
47
39
  slug
48
40
  }
49
41
  });
50
-
51
42
  if (groups.length === 0) {
52
43
  group.slug = slug;
53
44
  } else {
54
45
  group.slug = `${slug}-${(0, _utils.generateAlphaNumericId)(8)}`;
55
46
  }
56
47
  }
57
-
58
48
  const groupPlugin = plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type).find(item => item.contentModelGroup.slug === group.slug);
59
-
60
49
  if (groupPlugin) {
61
50
  throw new Error(`Cannot create "${group.slug}" content model group because one is already registered via a plugin.`);
62
51
  }
63
52
  });
64
53
  };
65
-
66
54
  exports.assignBeforeGroupCreate = assignBeforeGroupCreate;
@@ -1 +1 @@
1
- {"version":3,"names":["assignBeforeGroupCreate","params","onGroupBeforeCreate","plugins","storageOperations","subscribe","group","slug","trim","groups","list","where","tenant","locale","length","WebinyError","toSlug","name","generateAlphaNumericId","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","Error"],"sources":["beforeCreate.ts"],"sourcesContent":["import { OnGroupBeforeCreateTopicParams, HeadlessCmsStorageOperations } from \"~/types\";\nimport { Topic } from \"@webiny/pubsub/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { toSlug } from \"~/utils/toSlug\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { generateAlphaNumericId } from \"@webiny/utils\";\n\ninterface AssignBeforeGroupCreateParams {\n onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupCreate = (params: AssignBeforeGroupCreateParams) => {\n const { onGroupBeforeCreate, plugins, storageOperations } = params;\n\n onGroupBeforeCreate.subscribe(async params => {\n const { group } = params;\n\n if (group.slug && group.slug.trim()) {\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug: group.slug\n }\n });\n if (groups.length > 0) {\n throw new WebinyError(\n `Cms Group with the slug \"${group.slug}\" already exists.`,\n \"SLUG_ALREADY_EXISTS\"\n );\n }\n } else {\n const slug = toSlug(group.name);\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug\n }\n });\n\n if (groups.length === 0) {\n group.slug = slug;\n } else {\n group.slug = `${slug}-${generateAlphaNumericId(8)}`;\n }\n }\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(\n `Cannot create \"${group.slug}\" content model group because one is already registered via a plugin.`\n );\n }\n });\n};\n"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAOO,MAAMA,uBAAuB,GAAIC,MAAD,IAA2C;EAC9E,MAAM;IAAEC,mBAAF;IAAuBC,OAAvB;IAAgCC;EAAhC,IAAsDH,MAA5D;EAEAC,mBAAmB,CAACG,SAApB,CAA8B,MAAMJ,MAAN,IAAgB;IAC1C,MAAM;MAAEK;IAAF,IAAYL,MAAlB;;IAEA,IAAIK,KAAK,CAACC,IAAN,IAAcD,KAAK,CAACC,IAAN,CAAWC,IAAX,EAAlB,EAAqC;MACjC,MAAMC,MAAM,GAAG,MAAML,iBAAiB,CAACK,MAAlB,CAAyBC,IAAzB,CAA8B;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEN,KAAK,CAACM,MADX;UAEHC,MAAM,EAAEP,KAAK,CAACO,MAFX;UAGHN,IAAI,EAAED,KAAK,CAACC;QAHT;MADwC,CAA9B,CAArB;;MAOA,IAAIE,MAAM,CAACK,MAAP,GAAgB,CAApB,EAAuB;QACnB,MAAM,IAAIC,cAAJ,CACD,4BAA2BT,KAAK,CAACC,IAAK,mBADrC,EAEF,qBAFE,CAAN;MAIH;IACJ,CAdD,MAcO;MACH,MAAMA,IAAI,GAAG,IAAAS,cAAA,EAAOV,KAAK,CAACW,IAAb,CAAb;MACA,MAAMR,MAAM,GAAG,MAAML,iBAAiB,CAACK,MAAlB,CAAyBC,IAAzB,CAA8B;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEN,KAAK,CAACM,MADX;UAEHC,MAAM,EAAEP,KAAK,CAACO,MAFX;UAGHN;QAHG;MADwC,CAA9B,CAArB;;MAQA,IAAIE,MAAM,CAACK,MAAP,KAAkB,CAAtB,EAAyB;QACrBR,KAAK,CAACC,IAAN,GAAaA,IAAb;MACH,CAFD,MAEO;QACHD,KAAK,CAACC,IAAN,GAAc,GAAEA,IAAK,IAAG,IAAAW,6BAAA,EAAuB,CAAvB,CAA0B,EAAlD;MACH;IACJ;;IAED,MAAMC,WAAW,GAAGhB,OAAO,CACtBiB,MADe,CACQC,8BAAA,CAAeC,IADvB,EAEfC,IAFe,CAEVC,IAAI,IAAIA,IAAI,CAACC,iBAAL,CAAuBlB,IAAvB,KAAgCD,KAAK,CAACC,IAFpC,CAApB;;IAIA,IAAIY,WAAJ,EAAiB;MACb,MAAM,IAAIO,KAAJ,CACD,kBAAiBpB,KAAK,CAACC,IAAK,uEAD3B,CAAN;IAGH;EACJ,CA3CD;AA4CH,CA/CM"}
1
+ {"version":3,"names":["assignBeforeGroupCreate","params","onGroupBeforeCreate","plugins","storageOperations","subscribe","group","slug","trim","groups","list","where","tenant","locale","length","WebinyError","toSlug","name","generateAlphaNumericId","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","Error"],"sources":["beforeCreate.ts"],"sourcesContent":["import { OnGroupBeforeCreateTopicParams, HeadlessCmsStorageOperations } from \"~/types\";\nimport { Topic } from \"@webiny/pubsub/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { toSlug } from \"~/utils/toSlug\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { generateAlphaNumericId } from \"@webiny/utils\";\n\ninterface AssignBeforeGroupCreateParams {\n onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupCreate = (params: AssignBeforeGroupCreateParams) => {\n const { onGroupBeforeCreate, plugins, storageOperations } = params;\n\n onGroupBeforeCreate.subscribe(async params => {\n const { group } = params;\n\n if (group.slug && group.slug.trim()) {\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug: group.slug\n }\n });\n if (groups.length > 0) {\n throw new WebinyError(\n `Cms Group with the slug \"${group.slug}\" already exists.`,\n \"SLUG_ALREADY_EXISTS\"\n );\n }\n } else {\n const slug = toSlug(group.name);\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug\n }\n });\n\n if (groups.length === 0) {\n group.slug = slug;\n } else {\n group.slug = `${slug}-${generateAlphaNumericId(8)}`;\n }\n }\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(\n `Cannot create \"${group.slug}\" content model group because one is already registered via a plugin.`\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAGA;AACA;AACA;AACA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC,OAAO;IAAEC;EAAkB,CAAC,GAAGH,MAAM;EAElEC,mBAAmB,CAACG,SAAS,CAAC,MAAMJ,MAAM,IAAI;IAC1C,MAAM;MAAEK;IAAM,CAAC,GAAGL,MAAM;IAExB,IAAIK,KAAK,CAACC,IAAI,IAAID,KAAK,CAACC,IAAI,CAACC,IAAI,EAAE,EAAE;MACjC,MAAMC,MAAM,GAAG,MAAML,iBAAiB,CAACK,MAAM,CAACC,IAAI,CAAC;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEN,KAAK,CAACM,MAAM;UACpBC,MAAM,EAAEP,KAAK,CAACO,MAAM;UACpBN,IAAI,EAAED,KAAK,CAACC;QAChB;MACJ,CAAC,CAAC;MACF,IAAIE,MAAM,CAACK,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,IAAIC,cAAW,CAChB,4BAA2BT,KAAK,CAACC,IAAK,mBAAkB,EACzD,qBAAqB,CACxB;MACL;IACJ,CAAC,MAAM;MACH,MAAMA,IAAI,GAAG,IAAAS,cAAM,EAACV,KAAK,CAACW,IAAI,CAAC;MAC/B,MAAMR,MAAM,GAAG,MAAML,iBAAiB,CAACK,MAAM,CAACC,IAAI,CAAC;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEN,KAAK,CAACM,MAAM;UACpBC,MAAM,EAAEP,KAAK,CAACO,MAAM;UACpBN;QACJ;MACJ,CAAC,CAAC;MAEF,IAAIE,MAAM,CAACK,MAAM,KAAK,CAAC,EAAE;QACrBR,KAAK,CAACC,IAAI,GAAGA,IAAI;MACrB,CAAC,MAAM;QACHD,KAAK,CAACC,IAAI,GAAI,GAAEA,IAAK,IAAG,IAAAW,6BAAsB,EAAC,CAAC,CAAE,EAAC;MACvD;IACJ;IAEA,MAAMC,WAAW,GAAGhB,OAAO,CACtBiB,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAAClB,IAAI,KAAKD,KAAK,CAACC,IAAI,CAAC;IAE7D,IAAIY,WAAW,EAAE;MACb,MAAM,IAAIO,KAAK,CACV,kBAAiBpB,KAAK,CAACC,IAAK,uEAAsE,CACtG;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.assignBeforeGroupDelete = void 0;
9
-
10
8
  var _CmsGroupPlugin = require("../../plugins/CmsGroupPlugin");
11
-
12
9
  var _error = _interopRequireDefault(require("@webiny/error"));
13
-
14
10
  const assignBeforeGroupDelete = params => {
15
11
  const {
16
12
  onGroupBeforeDelete,
@@ -22,11 +18,9 @@ const assignBeforeGroupDelete = params => {
22
18
  group
23
19
  } = params;
24
20
  const groupPlugin = plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type).find(item => item.contentModelGroup.slug === group.slug);
25
-
26
21
  if (groupPlugin) {
27
22
  throw new Error(`Cms Groups defined via plugins cannot be deleted.`);
28
23
  }
29
-
30
24
  const models = await storageOperations.models.list({
31
25
  where: {
32
26
  tenant: group.tenant,
@@ -36,7 +30,6 @@ const assignBeforeGroupDelete = params => {
36
30
  const items = models.filter(model => {
37
31
  return model.group.id === group.id;
38
32
  });
39
-
40
33
  if (items.length > 0) {
41
34
  throw new _error.default("Cannot delete this group because there are models that belong to it.", "BEFORE_DELETE_ERROR", {
42
35
  group
@@ -44,5 +37,4 @@ const assignBeforeGroupDelete = params => {
44
37
  }
45
38
  });
46
39
  };
47
-
48
40
  exports.assignBeforeGroupDelete = assignBeforeGroupDelete;
@@ -1 +1 @@
1
- {"version":3,"names":["assignBeforeGroupDelete","params","onGroupBeforeDelete","plugins","storageOperations","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error","models","list","where","tenant","locale","items","filter","model","id","length","WebinyError"],"sources":["beforeDelete.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnGroupBeforeDeleteTopicParams, HeadlessCmsStorageOperations } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface AssignBeforeGroupDeleteParams {\n onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupDelete = (params: AssignBeforeGroupDeleteParams) => {\n const { onGroupBeforeDelete, plugins, storageOperations } = params;\n\n onGroupBeforeDelete.subscribe(async params => {\n const { group } = params;\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(`Cms Groups defined via plugins cannot be deleted.`);\n }\n\n const models = await storageOperations.models.list({\n where: {\n tenant: group.tenant,\n locale: group.locale\n }\n });\n const items = models.filter(model => {\n return model.group.id === group.id;\n });\n if (items.length > 0) {\n throw new WebinyError(\n \"Cannot delete this group because there are models that belong to it.\",\n \"BEFORE_DELETE_ERROR\",\n {\n group\n }\n );\n }\n });\n};\n"],"mappings":";;;;;;;;;AAGA;;AACA;;AAOO,MAAMA,uBAAuB,GAAIC,MAAD,IAA2C;EAC9E,MAAM;IAAEC,mBAAF;IAAuBC,OAAvB;IAAgCC;EAAhC,IAAsDH,MAA5D;EAEAC,mBAAmB,CAACG,SAApB,CAA8B,MAAMJ,MAAN,IAAgB;IAC1C,MAAM;MAAEK;IAAF,IAAYL,MAAlB;IAEA,MAAMM,WAAW,GAAGJ,OAAO,CACtBK,MADe,CACQC,8BAAA,CAAeC,IADvB,EAEfC,IAFe,CAEVC,IAAI,IAAIA,IAAI,CAACC,iBAAL,CAAuBC,IAAvB,KAAgCR,KAAK,CAACQ,IAFpC,CAApB;;IAIA,IAAIP,WAAJ,EAAiB;MACb,MAAM,IAAIQ,KAAJ,CAAW,mDAAX,CAAN;IACH;;IAED,MAAMC,MAAM,GAAG,MAAMZ,iBAAiB,CAACY,MAAlB,CAAyBC,IAAzB,CAA8B;MAC/CC,KAAK,EAAE;QACHC,MAAM,EAAEb,KAAK,CAACa,MADX;QAEHC,MAAM,EAAEd,KAAK,CAACc;MAFX;IADwC,CAA9B,CAArB;IAMA,MAAMC,KAAK,GAAGL,MAAM,CAACM,MAAP,CAAcC,KAAK,IAAI;MACjC,OAAOA,KAAK,CAACjB,KAAN,CAAYkB,EAAZ,KAAmBlB,KAAK,CAACkB,EAAhC;IACH,CAFa,CAAd;;IAGA,IAAIH,KAAK,CAACI,MAAN,GAAe,CAAnB,EAAsB;MAClB,MAAM,IAAIC,cAAJ,CACF,sEADE,EAEF,qBAFE,EAGF;QACIpB;MADJ,CAHE,CAAN;IAOH;EACJ,CA7BD;AA8BH,CAjCM"}
1
+ {"version":3,"names":["assignBeforeGroupDelete","params","onGroupBeforeDelete","plugins","storageOperations","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error","models","list","where","tenant","locale","items","filter","model","id","length","WebinyError"],"sources":["beforeDelete.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnGroupBeforeDeleteTopicParams, HeadlessCmsStorageOperations } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface AssignBeforeGroupDeleteParams {\n onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupDelete = (params: AssignBeforeGroupDeleteParams) => {\n const { onGroupBeforeDelete, plugins, storageOperations } = params;\n\n onGroupBeforeDelete.subscribe(async params => {\n const { group } = params;\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(`Cms Groups defined via plugins cannot be deleted.`);\n }\n\n const models = await storageOperations.models.list({\n where: {\n tenant: group.tenant,\n locale: group.locale\n }\n });\n const items = models.filter(model => {\n return model.group.id === group.id;\n });\n if (items.length > 0) {\n throw new WebinyError(\n \"Cannot delete this group because there are models that belong to it.\",\n \"BEFORE_DELETE_ERROR\",\n {\n group\n }\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAGA;AACA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC,OAAO;IAAEC;EAAkB,CAAC,GAAGH,MAAM;EAElEC,mBAAmB,CAACG,SAAS,CAAC,MAAMJ,MAAM,IAAI;IAC1C,MAAM;MAAEK;IAAM,CAAC,GAAGL,MAAM;IAExB,MAAMM,WAAW,GAAGJ,OAAO,CACtBK,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAACC,IAAI,KAAKR,KAAK,CAACQ,IAAI,CAAC;IAE7D,IAAIP,WAAW,EAAE;MACb,MAAM,IAAIQ,KAAK,CAAE,mDAAkD,CAAC;IACxE;IAEA,MAAMC,MAAM,GAAG,MAAMZ,iBAAiB,CAACY,MAAM,CAACC,IAAI,CAAC;MAC/CC,KAAK,EAAE;QACHC,MAAM,EAAEb,KAAK,CAACa,MAAM;QACpBC,MAAM,EAAEd,KAAK,CAACc;MAClB;IACJ,CAAC,CAAC;IACF,MAAMC,KAAK,GAAGL,MAAM,CAACM,MAAM,CAACC,KAAK,IAAI;MACjC,OAAOA,KAAK,CAACjB,KAAK,CAACkB,EAAE,KAAKlB,KAAK,CAACkB,EAAE;IACtC,CAAC,CAAC;IACF,IAAIH,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;MAClB,MAAM,IAAIC,cAAW,CACjB,sEAAsE,EACtE,qBAAqB,EACrB;QACIpB;MACJ,CAAC,CACJ;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.assignBeforeGroupUpdate = void 0;
7
-
8
7
  var _CmsGroupPlugin = require("../../plugins/CmsGroupPlugin");
9
-
10
8
  const assignBeforeGroupUpdate = params => {
11
9
  const {
12
10
  onGroupBeforeUpdate,
@@ -16,13 +14,10 @@ const assignBeforeGroupUpdate = params => {
16
14
  group
17
15
  }) => {
18
16
  const groupPlugin = plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type).find(item => item.contentModelGroup.slug === group.slug);
19
-
20
17
  if (!groupPlugin) {
21
18
  return;
22
19
  }
23
-
24
20
  throw new Error(`Cms Groups defined via plugins cannot be updated.`);
25
21
  });
26
22
  };
27
-
28
23
  exports.assignBeforeGroupUpdate = assignBeforeGroupUpdate;
@@ -1 +1 @@
1
- {"version":3,"names":["assignBeforeGroupUpdate","params","onGroupBeforeUpdate","plugins","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error"],"sources":["beforeUpdate.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnGroupBeforeUpdateTopicParams } from \"~/types\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\ninterface AssignBeforeGroupUpdateParams {\n onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;\n plugins: PluginsContainer;\n}\nexport const assignBeforeGroupUpdate = (params: AssignBeforeGroupUpdateParams) => {\n const { onGroupBeforeUpdate, plugins } = params;\n\n onGroupBeforeUpdate.subscribe(({ group }) => {\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n if (!groupPlugin) {\n return;\n }\n throw new Error(`Cms Groups defined via plugins cannot be updated.`);\n });\n};\n"],"mappings":";;;;;;;AAEA;;AAOO,MAAMA,uBAAuB,GAAIC,MAAD,IAA2C;EAC9E,MAAM;IAAEC,mBAAF;IAAuBC;EAAvB,IAAmCF,MAAzC;EAEAC,mBAAmB,CAACE,SAApB,CAA8B,CAAC;IAAEC;EAAF,CAAD,KAAe;IACzC,MAAMC,WAAW,GAAGH,OAAO,CACtBI,MADe,CACQC,8BAAA,CAAeC,IADvB,EAEfC,IAFe,CAEVC,IAAI,IAAIA,IAAI,CAACC,iBAAL,CAAuBC,IAAvB,KAAgCR,KAAK,CAACQ,IAFpC,CAApB;;IAGA,IAAI,CAACP,WAAL,EAAkB;MACd;IACH;;IACD,MAAM,IAAIQ,KAAJ,CAAW,mDAAX,CAAN;EACH,CARD;AASH,CAZM"}
1
+ {"version":3,"names":["assignBeforeGroupUpdate","params","onGroupBeforeUpdate","plugins","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error"],"sources":["beforeUpdate.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnGroupBeforeUpdateTopicParams } from \"~/types\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\ninterface AssignBeforeGroupUpdateParams {\n onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;\n plugins: PluginsContainer;\n}\nexport const assignBeforeGroupUpdate = (params: AssignBeforeGroupUpdateParams) => {\n const { onGroupBeforeUpdate, plugins } = params;\n\n onGroupBeforeUpdate.subscribe(({ group }) => {\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n if (!groupPlugin) {\n return;\n }\n throw new Error(`Cms Groups defined via plugins cannot be updated.`);\n });\n};\n"],"mappings":";;;;;;AAEA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC;EAAQ,CAAC,GAAGF,MAAM;EAE/CC,mBAAmB,CAACE,SAAS,CAAC,CAAC;IAAEC;EAAM,CAAC,KAAK;IACzC,MAAMC,WAAW,GAAGH,OAAO,CACtBI,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAACC,IAAI,KAAKR,KAAK,CAACQ,IAAI,CAAC;IAC7D,IAAI,CAACP,WAAW,EAAE;MACd;IACJ;IACA,MAAM,IAAIQ,KAAK,CAAE,mDAAkD,CAAC;EACxE,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -1,44 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createModelGroupsCrud = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _fields = require("@commodo/fields");
13
-
14
10
  var _validation = require("@webiny/validation");
15
-
16
11
  var _mdbid = _interopRequireDefault(require("mdbid"));
17
-
18
12
  var _handlerGraphql = require("@webiny/handler-graphql");
19
-
20
13
  var _error = _interopRequireDefault(require("@webiny/error"));
21
-
22
14
  var _CmsGroupPlugin = require("../plugins/CmsGroupPlugin");
23
-
24
15
  var _pubsub = require("@webiny/pubsub");
25
-
26
16
  var _beforeUpdate = require("./contentModelGroup/beforeUpdate");
27
-
28
17
  var _beforeCreate = require("./contentModelGroup/beforeCreate");
29
-
30
18
  var _beforeDelete = require("./contentModelGroup/beforeDelete");
31
-
32
19
  var _dataloader = _interopRequireDefault(require("dataloader"));
33
-
34
20
  var _permissions = require("../utils/permissions");
35
-
36
21
  var _ownership = require("../utils/ownership");
37
-
38
22
  var _access = require("../utils/access");
39
-
40
23
  var _toSlug = require("../utils/toSlug");
41
-
42
24
  /**
43
25
  * Package @commodo/fields does not have types.
44
26
  */
@@ -48,6 +30,7 @@ var _toSlug = require("../utils/toSlug");
48
30
  * Package mdbid does not have types.
49
31
  */
50
32
  // @ts-ignore
33
+
51
34
  const CreateContentModelGroupModel = (0, _fields.withFields)({
52
35
  name: (0, _fields.string)({
53
36
  validation: _validation.validation.create("required,maxLength:100")
@@ -73,7 +56,6 @@ const UpdateContentModelGroupModel = (0, _fields.withFields)({
73
56
  validation: _validation.validation.create("maxLength:255")
74
57
  })
75
58
  })();
76
-
77
59
  const createModelGroupsCrud = params => {
78
60
  const {
79
61
  getTenant,
@@ -101,13 +83,11 @@ const createModelGroupsCrud = params => {
101
83
  return [groups.concat(pluginsGroups)];
102
84
  })
103
85
  };
104
-
105
86
  const clearGroupsCache = () => {
106
87
  for (const loader of Object.values(dataLoaders)) {
107
88
  loader.clearAll();
108
89
  }
109
90
  };
110
-
111
91
  const getGroupsAsPlugins = () => {
112
92
  const tenant = getTenant().id;
113
93
  const locale = getLocale().code;
@@ -115,19 +95,16 @@ const createModelGroupsCrud = params => {
115
95
  /**
116
96
  * We need to filter out groups that are not for this tenant or locale.
117
97
  * If it does not have tenant or locale define, it is for every locale and tenant
118
- */
119
- .filter(plugin => {
98
+ */.filter(plugin => {
120
99
  const {
121
100
  tenant: t,
122
101
  locale: l
123
102
  } = plugin.contentModelGroup;
124
-
125
103
  if (t && t !== tenant) {
126
104
  return false;
127
105
  } else if (l && l !== locale) {
128
106
  return false;
129
107
  }
130
-
131
108
  return true;
132
109
  }).map(plugin => {
133
110
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, plugin.contentModelGroup), {}, {
@@ -137,29 +114,23 @@ const createModelGroupsCrud = params => {
137
114
  });
138
115
  });
139
116
  };
140
-
141
117
  const checkPermissions = check => {
142
118
  return (0, _permissions.checkPermissions)(context, "cms.contentModelGroup", {
143
119
  rwd: check
144
120
  });
145
121
  };
146
-
147
122
  const groupsGet = async id => {
148
123
  const groups = await dataLoaders.listGroups.load("listGroups");
149
124
  const group = groups.find(g => g.id === id);
150
-
151
125
  if (!group) {
152
126
  throw new _handlerGraphql.NotFoundError(`Cms Group "${id}" was not found!`);
153
127
  }
154
-
155
128
  return group;
156
129
  };
157
-
158
130
  const groupsList = async params => {
159
131
  const {
160
132
  where
161
133
  } = params || {};
162
-
163
134
  try {
164
135
  return await dataLoaders.listGroups.load("listGroups");
165
136
  } catch (ex) {
@@ -167,21 +138,21 @@ const createModelGroupsCrud = params => {
167
138
  where
168
139
  }));
169
140
  }
170
- }; // create
171
-
141
+ };
172
142
 
143
+ // create
173
144
  const onGroupBeforeCreate = (0, _pubsub.createTopic)("cms.onGroupBeforeCreate");
174
- const onGroupAfterCreate = (0, _pubsub.createTopic)("cms.onGroupAfterCreate"); // update
175
-
145
+ const onGroupAfterCreate = (0, _pubsub.createTopic)("cms.onGroupAfterCreate");
146
+ // update
176
147
  const onGroupBeforeUpdate = (0, _pubsub.createTopic)("cms.onGroupBeforeUpdate");
177
- const onGroupAfterUpdate = (0, _pubsub.createTopic)("cms.onGroupAfterUpdate"); // delete
178
-
148
+ const onGroupAfterUpdate = (0, _pubsub.createTopic)("cms.onGroupAfterUpdate");
149
+ // delete
179
150
  const onGroupBeforeDelete = (0, _pubsub.createTopic)("cms.onGroupBeforeDelete");
180
151
  const onGroupAfterDelete = (0, _pubsub.createTopic)("cms.onGroupAfterDelete");
152
+
181
153
  /**
182
154
  * We need to assign some default behaviors.
183
155
  */
184
-
185
156
  (0, _beforeCreate.assignBeforeGroupCreate)({
186
157
  onGroupBeforeCreate,
187
158
  plugins: context.plugins,
@@ -206,7 +177,6 @@ const createModelGroupsCrud = params => {
206
177
  onAfterGroupUpdate: onGroupAfterUpdate,
207
178
  onBeforeGroupDelete: onGroupBeforeDelete,
208
179
  onAfterGroupDelete: onGroupAfterDelete,
209
-
210
180
  /**
211
181
  * Released in 5.34.0
212
182
  */
@@ -243,7 +213,6 @@ const createModelGroupsCrud = params => {
243
213
  if (!(0, _ownership.validateOwnership)(context, permission, group)) {
244
214
  return false;
245
215
  }
246
-
247
216
  return (0, _access.validateGroupAccess)(context, permission, group);
248
217
  });
249
218
  },
@@ -270,7 +239,6 @@ const createModelGroupsCrud = params => {
270
239
  },
271
240
  webinyVersion: context.WEBINY_VERSION
272
241
  });
273
-
274
242
  try {
275
243
  await onGroupBeforeCreate.publish({
276
244
  group
@@ -299,20 +267,18 @@ const createModelGroupsCrud = params => {
299
267
  const updatedDataJson = await input.toJSON({
300
268
  onlyDirty: true
301
269
  });
270
+
302
271
  /**
303
272
  * No need to continue if no values were changed
304
273
  */
305
-
306
274
  if (Object.keys(updatedDataJson).length === 0) {
307
275
  return original;
308
276
  }
309
-
310
277
  const group = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), updatedDataJson), {}, {
311
278
  locale: getLocale().code,
312
279
  tenant: getTenant().id,
313
280
  savedOn: new Date().toISOString()
314
281
  });
315
-
316
282
  try {
317
283
  await onGroupBeforeUpdate.publish({
318
284
  original,
@@ -340,7 +306,6 @@ const createModelGroupsCrud = params => {
340
306
  const permission = await checkPermissions("d");
341
307
  const group = await groupsGet(id);
342
308
  (0, _ownership.checkOwnership)(context, permission, group);
343
-
344
309
  try {
345
310
  await onGroupBeforeDelete.publish({
346
311
  group
@@ -357,10 +322,8 @@ const createModelGroupsCrud = params => {
357
322
  id
358
323
  }));
359
324
  }
360
-
361
325
  return true;
362
326
  }
363
327
  };
364
328
  };
365
-
366
329
  exports.createModelGroupsCrud = createModelGroupsCrud;
@@ -1 +1 @@
1
- {"version":3,"names":["CreateContentModelGroupModel","withFields","name","string","validation","create","slug","description","icon","UpdateContentModelGroupModel","createModelGroupsCrud","params","getTenant","getIdentity","getLocale","storageOperations","context","dataLoaders","listGroups","DataLoader","tenant","id","locale","code","pluginsGroups","getGroupsAsPlugins","map","group","groups","list","where","concat","clearGroupsCache","loader","Object","values","clearAll","plugins","byType","CmsGroupPlugin","type","filter","plugin","t","l","contentModelGroup","webinyVersion","WEBINY_VERSION","checkPermissions","check","baseCheckPermissions","rwd","groupsGet","load","find","g","NotFoundError","groupsList","ex","WebinyError","message","data","onGroupBeforeCreate","createTopic","onGroupAfterCreate","onGroupBeforeUpdate","onGroupAfterUpdate","onGroupBeforeDelete","onGroupAfterDelete","assignBeforeGroupCreate","assignBeforeGroupUpdate","assignBeforeGroupDelete","onBeforeGroupCreate","onAfterGroupCreate","onBeforeGroupUpdate","onAfterGroupUpdate","onBeforeGroupDelete","onAfterGroupDelete","getGroup","permission","checkOwnership","validateGroupAccess","response","validateOwnership","createGroup","inputData","createdData","populate","toSlug","validate","input","toJSON","identity","mdbid","createdOn","Date","toISOString","savedOn","createdBy","displayName","publish","result","updateGroup","original","updatedDataJson","onlyDirty","keys","length","updatedGroup","update","error","deleteGroup","delete"],"sources":["contentModelGroup.crud.ts"],"sourcesContent":["/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { withFields, string } from \"@commodo/fields\";\nimport { validation } from \"@webiny/validation\";\n/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\nimport {\n CmsGroupContext,\n CmsGroupListParams,\n CmsGroupPermission,\n CmsGroup,\n CmsContext,\n HeadlessCmsStorageOperations,\n CmsGroupCreateInput,\n OnGroupBeforeCreateTopicParams,\n OnGroupAfterCreateTopicParams,\n OnGroupBeforeUpdateTopicParams,\n OnGroupAfterUpdateTopicParams,\n OnGroupBeforeDeleteTopicParams,\n OnGroupAfterDeleteTopicParams\n} from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport WebinyError from \"@webiny/error\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { assignBeforeGroupUpdate } from \"./contentModelGroup/beforeUpdate\";\nimport { assignBeforeGroupCreate } from \"./contentModelGroup/beforeCreate\";\nimport { assignBeforeGroupDelete } from \"./contentModelGroup/beforeDelete\";\nimport DataLoader from \"dataloader\";\nimport { checkPermissions as baseCheckPermissions } from \"~/utils/permissions\";\nimport { checkOwnership, validateOwnership } from \"~/utils/ownership\";\nimport { validateGroupAccess } from \"~/utils/access\";\nimport { toSlug } from \"~/utils/toSlug\";\n\nconst CreateContentModelGroupModel = withFields({\n name: string({ validation: validation.create(\"required,maxLength:100\") }),\n slug: string({ validation: validation.create(\"maxLength:100\") }),\n description: string({ validation: validation.create(\"maxLength:255\") }),\n icon: string({ validation: validation.create(\"required,maxLength:255\") })\n})();\n\nconst UpdateContentModelGroupModel = withFields({\n name: string({ validation: validation.create(\"maxLength:100\") }),\n description: string({ validation: validation.create(\"maxLength:255\") }),\n icon: string({ validation: validation.create(\"maxLength:255\") })\n})();\n\nexport interface CreateModelGroupsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\nexport const createModelGroupsCrud = (params: CreateModelGroupsCrudParams): CmsGroupContext => {\n const { getTenant, getIdentity, getLocale, storageOperations, context } = params;\n\n const dataLoaders = {\n listGroups: new DataLoader(async () => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n const pluginsGroups = getGroupsAsPlugins().map(group => {\n return {\n ...group,\n tenant: group.tenant || tenant,\n locale: group.locale || locale\n };\n });\n\n const groups = await storageOperations.groups.list({\n where: {\n tenant: getTenant().id,\n locale: getLocale().code\n }\n });\n\n return [groups.concat(pluginsGroups)];\n })\n };\n\n const clearGroupsCache = (): void => {\n for (const loader of Object.values(dataLoaders)) {\n loader.clearAll();\n }\n };\n\n const getGroupsAsPlugins = (): CmsGroup[] => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n return (\n context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n /**\n * We need to filter out groups that are not for this tenant or locale.\n * If it does not have tenant or locale define, it is for every locale and tenant\n */\n .filter(plugin => {\n const { tenant: t, locale: l } = plugin.contentModelGroup;\n if (t && t !== tenant) {\n return false;\n } else if (l && l !== locale) {\n return false;\n }\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModelGroup,\n tenant,\n locale,\n webinyVersion: context.WEBINY_VERSION\n };\n })\n );\n };\n\n const checkPermissions = (check: string): Promise<CmsGroupPermission> => {\n return baseCheckPermissions(context, \"cms.contentModelGroup\", { rwd: check });\n };\n\n const groupsGet = async (id: string) => {\n const groups = await dataLoaders.listGroups.load(\"listGroups\");\n\n const group = groups.find(g => g.id === id);\n\n if (!group) {\n throw new NotFoundError(`Cms Group \"${id}\" was not found!`);\n }\n return group;\n };\n\n const groupsList = async (params: CmsGroupListParams) => {\n const { where } = params || {};\n\n try {\n return await dataLoaders.listGroups.load(\"listGroups\");\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"LIST_ERROR\", {\n ...(ex.data || {}),\n where\n });\n }\n };\n\n // create\n const onGroupBeforeCreate =\n createTopic<OnGroupBeforeCreateTopicParams>(\"cms.onGroupBeforeCreate\");\n const onGroupAfterCreate = createTopic<OnGroupAfterCreateTopicParams>(\"cms.onGroupAfterCreate\");\n // update\n const onGroupBeforeUpdate =\n createTopic<OnGroupBeforeUpdateTopicParams>(\"cms.onGroupBeforeUpdate\");\n const onGroupAfterUpdate = createTopic<OnGroupAfterUpdateTopicParams>(\"cms.onGroupAfterUpdate\");\n // delete\n const onGroupBeforeDelete =\n createTopic<OnGroupBeforeDeleteTopicParams>(\"cms.onGroupBeforeDelete\");\n const onGroupAfterDelete = createTopic<OnGroupAfterDeleteTopicParams>(\"cms.onGroupAfterDelete\");\n\n /**\n * We need to assign some default behaviors.\n */\n assignBeforeGroupCreate({\n onGroupBeforeCreate,\n plugins: context.plugins,\n storageOperations\n });\n assignBeforeGroupUpdate({\n onGroupBeforeUpdate,\n plugins: context.plugins\n });\n assignBeforeGroupDelete({\n onGroupBeforeDelete,\n plugins: context.plugins,\n storageOperations\n });\n\n return {\n /**\n * Deprecated - will be removed in 5.36.0\n */\n onBeforeGroupCreate: onGroupBeforeCreate,\n onAfterGroupCreate: onGroupAfterCreate,\n onBeforeGroupUpdate: onGroupBeforeUpdate,\n onAfterGroupUpdate: onGroupAfterUpdate,\n onBeforeGroupDelete: onGroupBeforeDelete,\n onAfterGroupDelete: onGroupAfterDelete,\n /**\n * Released in 5.34.0\n */\n onGroupBeforeCreate,\n onGroupAfterCreate,\n onGroupBeforeUpdate,\n onGroupAfterUpdate,\n onGroupBeforeDelete,\n onGroupAfterDelete,\n clearGroupsCache,\n getGroup: async id => {\n const permission = await checkPermissions(\"r\");\n\n const group = await groupsGet(id);\n checkOwnership(context, permission, group);\n validateGroupAccess(context, permission, group);\n\n return group;\n },\n listGroups: async params => {\n const { where } = params || {};\n\n const { tenant, locale } = where || {};\n const permission = await checkPermissions(\"r\");\n\n const response = await groupsList({\n ...(params || {}),\n where: {\n ...(where || {}),\n tenant: tenant || getTenant().id,\n locale: locale || getLocale().code\n }\n });\n\n return response.filter(group => {\n if (!validateOwnership(context, permission, group)) {\n return false;\n }\n return validateGroupAccess(context, permission, group);\n });\n },\n createGroup: async inputData => {\n await checkPermissions(\"w\");\n\n const createdData = new CreateContentModelGroupModel().populate({\n ...inputData,\n slug: inputData.slug ? toSlug(inputData.slug) : \"\",\n description: inputData.description || \"\"\n });\n await createdData.validate();\n const input: CmsGroupCreateInput & { slug: string; description: string } =\n await createdData.toJSON();\n\n const identity = getIdentity();\n\n const id = mdbid();\n const group: CmsGroup = {\n ...input,\n id,\n tenant: getTenant().id,\n locale: getLocale().code,\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n webinyVersion: context.WEBINY_VERSION\n };\n try {\n await onGroupBeforeCreate.publish({\n group\n });\n\n const result = await storageOperations.groups.create({\n group\n });\n\n clearGroupsCache();\n\n await onGroupAfterCreate.publish({\n group: result\n });\n\n return group;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not save data model group.\",\n ex.code || \"ERROR_ON_CREATE\",\n {\n ...(ex.data || {}),\n group,\n input\n }\n );\n }\n },\n updateGroup: async (id, inputData) => {\n const permission = await checkPermissions(\"w\");\n\n const original = await groupsGet(id);\n\n checkOwnership(context, permission, original);\n\n const input = new UpdateContentModelGroupModel().populate(inputData);\n await input.validate();\n\n const updatedDataJson: Partial<CmsGroup> = await input.toJSON({\n onlyDirty: true\n });\n\n /**\n * No need to continue if no values were changed\n */\n if (Object.keys(updatedDataJson).length === 0) {\n return original;\n }\n\n const group: CmsGroup = {\n ...original,\n ...updatedDataJson,\n locale: getLocale().code,\n tenant: getTenant().id,\n savedOn: new Date().toISOString()\n };\n\n try {\n await onGroupBeforeUpdate.publish({\n original,\n group\n });\n\n const updatedGroup = await storageOperations.groups.update({\n group\n });\n clearGroupsCache();\n\n await onGroupAfterUpdate.publish({\n original,\n group: updatedGroup\n });\n\n return updatedGroup;\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"UPDATE_ERROR\", {\n error: ex,\n original,\n group,\n input\n });\n }\n },\n deleteGroup: async id => {\n const permission = await checkPermissions(\"d\");\n\n const group = await groupsGet(id);\n\n checkOwnership(context, permission, group);\n\n try {\n await onGroupBeforeDelete.publish({\n group\n });\n\n await storageOperations.groups.delete({ group });\n clearGroupsCache();\n\n await onGroupAfterDelete.publish({\n group\n });\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"DELETE_ERROR\", {\n ...(ex.data || {}),\n id\n });\n }\n\n return true;\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["CreateContentModelGroupModel","withFields","name","string","validation","create","slug","description","icon","UpdateContentModelGroupModel","createModelGroupsCrud","params","getTenant","getIdentity","getLocale","storageOperations","context","dataLoaders","listGroups","DataLoader","tenant","id","locale","code","pluginsGroups","getGroupsAsPlugins","map","group","groups","list","where","concat","clearGroupsCache","loader","Object","values","clearAll","plugins","byType","CmsGroupPlugin","type","filter","plugin","t","l","contentModelGroup","webinyVersion","WEBINY_VERSION","checkPermissions","check","baseCheckPermissions","rwd","groupsGet","load","find","g","NotFoundError","groupsList","ex","WebinyError","message","data","onGroupBeforeCreate","createTopic","onGroupAfterCreate","onGroupBeforeUpdate","onGroupAfterUpdate","onGroupBeforeDelete","onGroupAfterDelete","assignBeforeGroupCreate","assignBeforeGroupUpdate","assignBeforeGroupDelete","onBeforeGroupCreate","onAfterGroupCreate","onBeforeGroupUpdate","onAfterGroupUpdate","onBeforeGroupDelete","onAfterGroupDelete","getGroup","permission","checkOwnership","validateGroupAccess","response","validateOwnership","createGroup","inputData","createdData","populate","toSlug","validate","input","toJSON","identity","mdbid","createdOn","Date","toISOString","savedOn","createdBy","displayName","publish","result","updateGroup","original","updatedDataJson","onlyDirty","keys","length","updatedGroup","update","error","deleteGroup","delete"],"sources":["contentModelGroup.crud.ts"],"sourcesContent":["/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { withFields, string } from \"@commodo/fields\";\nimport { validation } from \"@webiny/validation\";\n/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\nimport {\n CmsGroupContext,\n CmsGroupListParams,\n CmsGroupPermission,\n CmsGroup,\n CmsContext,\n HeadlessCmsStorageOperations,\n CmsGroupCreateInput,\n OnGroupBeforeCreateTopicParams,\n OnGroupAfterCreateTopicParams,\n OnGroupBeforeUpdateTopicParams,\n OnGroupAfterUpdateTopicParams,\n OnGroupBeforeDeleteTopicParams,\n OnGroupAfterDeleteTopicParams\n} from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport WebinyError from \"@webiny/error\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { assignBeforeGroupUpdate } from \"./contentModelGroup/beforeUpdate\";\nimport { assignBeforeGroupCreate } from \"./contentModelGroup/beforeCreate\";\nimport { assignBeforeGroupDelete } from \"./contentModelGroup/beforeDelete\";\nimport DataLoader from \"dataloader\";\nimport { checkPermissions as baseCheckPermissions } from \"~/utils/permissions\";\nimport { checkOwnership, validateOwnership } from \"~/utils/ownership\";\nimport { validateGroupAccess } from \"~/utils/access\";\nimport { toSlug } from \"~/utils/toSlug\";\n\nconst CreateContentModelGroupModel = withFields({\n name: string({ validation: validation.create(\"required,maxLength:100\") }),\n slug: string({ validation: validation.create(\"maxLength:100\") }),\n description: string({ validation: validation.create(\"maxLength:255\") }),\n icon: string({ validation: validation.create(\"required,maxLength:255\") })\n})();\n\nconst UpdateContentModelGroupModel = withFields({\n name: string({ validation: validation.create(\"maxLength:100\") }),\n description: string({ validation: validation.create(\"maxLength:255\") }),\n icon: string({ validation: validation.create(\"maxLength:255\") })\n})();\n\nexport interface CreateModelGroupsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\nexport const createModelGroupsCrud = (params: CreateModelGroupsCrudParams): CmsGroupContext => {\n const { getTenant, getIdentity, getLocale, storageOperations, context } = params;\n\n const dataLoaders = {\n listGroups: new DataLoader(async () => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n const pluginsGroups = getGroupsAsPlugins().map(group => {\n return {\n ...group,\n tenant: group.tenant || tenant,\n locale: group.locale || locale\n };\n });\n\n const groups = await storageOperations.groups.list({\n where: {\n tenant: getTenant().id,\n locale: getLocale().code\n }\n });\n\n return [groups.concat(pluginsGroups)];\n })\n };\n\n const clearGroupsCache = (): void => {\n for (const loader of Object.values(dataLoaders)) {\n loader.clearAll();\n }\n };\n\n const getGroupsAsPlugins = (): CmsGroup[] => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n\n return (\n context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n /**\n * We need to filter out groups that are not for this tenant or locale.\n * If it does not have tenant or locale define, it is for every locale and tenant\n */\n .filter(plugin => {\n const { tenant: t, locale: l } = plugin.contentModelGroup;\n if (t && t !== tenant) {\n return false;\n } else if (l && l !== locale) {\n return false;\n }\n return true;\n })\n .map(plugin => {\n return {\n ...plugin.contentModelGroup,\n tenant,\n locale,\n webinyVersion: context.WEBINY_VERSION\n };\n })\n );\n };\n\n const checkPermissions = (check: string): Promise<CmsGroupPermission> => {\n return baseCheckPermissions(context, \"cms.contentModelGroup\", { rwd: check });\n };\n\n const groupsGet = async (id: string) => {\n const groups = await dataLoaders.listGroups.load(\"listGroups\");\n\n const group = groups.find(g => g.id === id);\n\n if (!group) {\n throw new NotFoundError(`Cms Group \"${id}\" was not found!`);\n }\n return group;\n };\n\n const groupsList = async (params: CmsGroupListParams) => {\n const { where } = params || {};\n\n try {\n return await dataLoaders.listGroups.load(\"listGroups\");\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"LIST_ERROR\", {\n ...(ex.data || {}),\n where\n });\n }\n };\n\n // create\n const onGroupBeforeCreate =\n createTopic<OnGroupBeforeCreateTopicParams>(\"cms.onGroupBeforeCreate\");\n const onGroupAfterCreate = createTopic<OnGroupAfterCreateTopicParams>(\"cms.onGroupAfterCreate\");\n // update\n const onGroupBeforeUpdate =\n createTopic<OnGroupBeforeUpdateTopicParams>(\"cms.onGroupBeforeUpdate\");\n const onGroupAfterUpdate = createTopic<OnGroupAfterUpdateTopicParams>(\"cms.onGroupAfterUpdate\");\n // delete\n const onGroupBeforeDelete =\n createTopic<OnGroupBeforeDeleteTopicParams>(\"cms.onGroupBeforeDelete\");\n const onGroupAfterDelete = createTopic<OnGroupAfterDeleteTopicParams>(\"cms.onGroupAfterDelete\");\n\n /**\n * We need to assign some default behaviors.\n */\n assignBeforeGroupCreate({\n onGroupBeforeCreate,\n plugins: context.plugins,\n storageOperations\n });\n assignBeforeGroupUpdate({\n onGroupBeforeUpdate,\n plugins: context.plugins\n });\n assignBeforeGroupDelete({\n onGroupBeforeDelete,\n plugins: context.plugins,\n storageOperations\n });\n\n return {\n /**\n * Deprecated - will be removed in 5.36.0\n */\n onBeforeGroupCreate: onGroupBeforeCreate,\n onAfterGroupCreate: onGroupAfterCreate,\n onBeforeGroupUpdate: onGroupBeforeUpdate,\n onAfterGroupUpdate: onGroupAfterUpdate,\n onBeforeGroupDelete: onGroupBeforeDelete,\n onAfterGroupDelete: onGroupAfterDelete,\n /**\n * Released in 5.34.0\n */\n onGroupBeforeCreate,\n onGroupAfterCreate,\n onGroupBeforeUpdate,\n onGroupAfterUpdate,\n onGroupBeforeDelete,\n onGroupAfterDelete,\n clearGroupsCache,\n getGroup: async id => {\n const permission = await checkPermissions(\"r\");\n\n const group = await groupsGet(id);\n checkOwnership(context, permission, group);\n validateGroupAccess(context, permission, group);\n\n return group;\n },\n listGroups: async params => {\n const { where } = params || {};\n\n const { tenant, locale } = where || {};\n const permission = await checkPermissions(\"r\");\n\n const response = await groupsList({\n ...(params || {}),\n where: {\n ...(where || {}),\n tenant: tenant || getTenant().id,\n locale: locale || getLocale().code\n }\n });\n\n return response.filter(group => {\n if (!validateOwnership(context, permission, group)) {\n return false;\n }\n return validateGroupAccess(context, permission, group);\n });\n },\n createGroup: async inputData => {\n await checkPermissions(\"w\");\n\n const createdData = new CreateContentModelGroupModel().populate({\n ...inputData,\n slug: inputData.slug ? toSlug(inputData.slug) : \"\",\n description: inputData.description || \"\"\n });\n await createdData.validate();\n const input: CmsGroupCreateInput & { slug: string; description: string } =\n await createdData.toJSON();\n\n const identity = getIdentity();\n\n const id = mdbid();\n const group: CmsGroup = {\n ...input,\n id,\n tenant: getTenant().id,\n locale: getLocale().code,\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n webinyVersion: context.WEBINY_VERSION\n };\n try {\n await onGroupBeforeCreate.publish({\n group\n });\n\n const result = await storageOperations.groups.create({\n group\n });\n\n clearGroupsCache();\n\n await onGroupAfterCreate.publish({\n group: result\n });\n\n return group;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not save data model group.\",\n ex.code || \"ERROR_ON_CREATE\",\n {\n ...(ex.data || {}),\n group,\n input\n }\n );\n }\n },\n updateGroup: async (id, inputData) => {\n const permission = await checkPermissions(\"w\");\n\n const original = await groupsGet(id);\n\n checkOwnership(context, permission, original);\n\n const input = new UpdateContentModelGroupModel().populate(inputData);\n await input.validate();\n\n const updatedDataJson: Partial<CmsGroup> = await input.toJSON({\n onlyDirty: true\n });\n\n /**\n * No need to continue if no values were changed\n */\n if (Object.keys(updatedDataJson).length === 0) {\n return original;\n }\n\n const group: CmsGroup = {\n ...original,\n ...updatedDataJson,\n locale: getLocale().code,\n tenant: getTenant().id,\n savedOn: new Date().toISOString()\n };\n\n try {\n await onGroupBeforeUpdate.publish({\n original,\n group\n });\n\n const updatedGroup = await storageOperations.groups.update({\n group\n });\n clearGroupsCache();\n\n await onGroupAfterUpdate.publish({\n original,\n group: updatedGroup\n });\n\n return updatedGroup;\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"UPDATE_ERROR\", {\n error: ex,\n original,\n group,\n input\n });\n }\n },\n deleteGroup: async id => {\n const permission = await checkPermissions(\"d\");\n\n const group = await groupsGet(id);\n\n checkOwnership(context, permission, group);\n\n try {\n await onGroupBeforeDelete.publish({\n group\n });\n\n await storageOperations.groups.delete({ group });\n clearGroupsCache();\n\n await onGroupAfterDelete.publish({\n group\n });\n } catch (ex) {\n throw new WebinyError(ex.message, ex.code || \"DELETE_ERROR\", {\n ...(ex.data || {}),\n id\n });\n }\n\n return true;\n }\n };\n};\n"],"mappings":"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"}
package/crud/index.js CHANGED
@@ -1,26 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createCrud = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _api = require("@webiny/api");
13
-
14
10
  var _contentModelGroup = require("./contentModelGroup.crud");
15
-
16
11
  var _contentModel = require("./contentModel.crud");
17
-
18
12
  var _contentEntry = require("./contentEntry.crud");
19
-
20
13
  var _system = require("./system.crud");
21
-
22
14
  var _settings = require("./settings.crud");
23
-
24
15
  const createCrud = params => {
25
16
  const {
26
17
  storageOperations
@@ -29,19 +20,15 @@ const createCrud = params => {
29
20
  const getLocale = () => {
30
21
  return context.cms.getLocale();
31
22
  };
32
-
33
23
  const getIdentity = () => {
34
24
  return context.security.getIdentity();
35
25
  };
36
-
37
26
  const getTenant = () => {
38
27
  return context.tenancy.getCurrentTenant();
39
28
  };
40
-
41
29
  if (storageOperations.beforeInit) {
42
30
  await storageOperations.beforeInit(context);
43
31
  }
44
-
45
32
  context.cms = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, context.cms), {}, {
46
33
  storageOperations
47
34
  }, (0, _system.createSystemCrud)({
@@ -73,13 +60,10 @@ const createCrud = params => {
73
60
  getTenant,
74
61
  storageOperations
75
62
  }));
76
-
77
63
  if (!storageOperations.init) {
78
64
  return;
79
65
  }
80
-
81
66
  await storageOperations.init(context);
82
67
  });
83
68
  };
84
-
85
69
  exports.createCrud = createCrud;
package/crud/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["createCrud","params","storageOperations","ContextPlugin","context","getLocale","cms","getIdentity","security","getTenant","tenancy","getCurrentTenant","beforeInit","createSystemCrud","createSettingsCrud","createModelGroupsCrud","createModelsCrud","createContentEntryCrud","init"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { CmsContext, HeadlessCmsStorageOperations } from \"~/types\";\nimport { createModelGroupsCrud } from \"./contentModelGroup.crud\";\nimport { createModelsCrud } from \"./contentModel.crud\";\nimport { createContentEntryCrud } from \"./contentEntry.crud\";\nimport { createSystemCrud } from \"./system.crud\";\nimport { createSettingsCrud } from \"./settings.crud\";\n\nexport interface CrudParams {\n storageOperations: HeadlessCmsStorageOperations;\n}\n\nexport const createCrud = (params: CrudParams) => {\n const { storageOperations } = params;\n return new ContextPlugin<CmsContext>(async context => {\n const getLocale = () => {\n return context.cms.getLocale();\n };\n\n const getIdentity = () => {\n return context.security.getIdentity();\n };\n\n const getTenant = () => {\n return context.tenancy.getCurrentTenant();\n };\n\n if (storageOperations.beforeInit) {\n await storageOperations.beforeInit(context);\n }\n\n context.cms = {\n ...context.cms,\n storageOperations,\n ...createSystemCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createSettingsCrud({\n context,\n getTenant,\n getLocale,\n storageOperations\n }),\n ...createModelGroupsCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createModelsCrud({\n context,\n getLocale,\n getTenant,\n getIdentity,\n storageOperations\n }),\n ...createContentEntryCrud({\n context,\n getIdentity,\n getTenant,\n storageOperations\n })\n };\n\n if (!storageOperations.init) {\n return;\n }\n await storageOperations.init(context);\n });\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAMO,MAAMA,UAAU,GAAIC,MAAD,IAAwB;EAC9C,MAAM;IAAEC;EAAF,IAAwBD,MAA9B;EACA,OAAO,IAAIE,kBAAJ,CAA8B,MAAMC,OAAN,IAAiB;IAClD,MAAMC,SAAS,GAAG,MAAM;MACpB,OAAOD,OAAO,CAACE,GAAR,CAAYD,SAAZ,EAAP;IACH,CAFD;;IAIA,MAAME,WAAW,GAAG,MAAM;MACtB,OAAOH,OAAO,CAACI,QAAR,CAAiBD,WAAjB,EAAP;IACH,CAFD;;IAIA,MAAME,SAAS,GAAG,MAAM;MACpB,OAAOL,OAAO,CAACM,OAAR,CAAgBC,gBAAhB,EAAP;IACH,CAFD;;IAIA,IAAIT,iBAAiB,CAACU,UAAtB,EAAkC;MAC9B,MAAMV,iBAAiB,CAACU,UAAlB,CAA6BR,OAA7B,CAAN;IACH;;IAEDA,OAAO,CAACE,GAAR,+KACOF,OAAO,CAACE,GADf;MAEIJ;IAFJ,GAGO,IAAAW,wBAAA,EAAiB;MAChBT,OADgB;MAEhBK,SAFgB;MAGhBJ,SAHgB;MAIhBE,WAJgB;MAKhBL;IALgB,CAAjB,CAHP,GAUO,IAAAY,4BAAA,EAAmB;MAClBV,OADkB;MAElBK,SAFkB;MAGlBJ,SAHkB;MAIlBH;IAJkB,CAAnB,CAVP,GAgBO,IAAAa,wCAAA,EAAsB;MACrBX,OADqB;MAErBK,SAFqB;MAGrBJ,SAHqB;MAIrBE,WAJqB;MAKrBL;IALqB,CAAtB,CAhBP,GAuBO,IAAAc,8BAAA,EAAiB;MAChBZ,OADgB;MAEhBC,SAFgB;MAGhBI,SAHgB;MAIhBF,WAJgB;MAKhBL;IALgB,CAAjB,CAvBP,GA8BO,IAAAe,oCAAA,EAAuB;MACtBb,OADsB;MAEtBG,WAFsB;MAGtBE,SAHsB;MAItBP;IAJsB,CAAvB,CA9BP;;IAsCA,IAAI,CAACA,iBAAiB,CAACgB,IAAvB,EAA6B;MACzB;IACH;;IACD,MAAMhB,iBAAiB,CAACgB,IAAlB,CAAuBd,OAAvB,CAAN;EACH,CA3DM,CAAP;AA4DH,CA9DM"}
1
+ {"version":3,"names":["createCrud","params","storageOperations","ContextPlugin","context","getLocale","cms","getIdentity","security","getTenant","tenancy","getCurrentTenant","beforeInit","createSystemCrud","createSettingsCrud","createModelGroupsCrud","createModelsCrud","createContentEntryCrud","init"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { CmsContext, HeadlessCmsStorageOperations } from \"~/types\";\nimport { createModelGroupsCrud } from \"./contentModelGroup.crud\";\nimport { createModelsCrud } from \"./contentModel.crud\";\nimport { createContentEntryCrud } from \"./contentEntry.crud\";\nimport { createSystemCrud } from \"./system.crud\";\nimport { createSettingsCrud } from \"./settings.crud\";\n\nexport interface CrudParams {\n storageOperations: HeadlessCmsStorageOperations;\n}\n\nexport const createCrud = (params: CrudParams) => {\n const { storageOperations } = params;\n return new ContextPlugin<CmsContext>(async context => {\n const getLocale = () => {\n return context.cms.getLocale();\n };\n\n const getIdentity = () => {\n return context.security.getIdentity();\n };\n\n const getTenant = () => {\n return context.tenancy.getCurrentTenant();\n };\n\n if (storageOperations.beforeInit) {\n await storageOperations.beforeInit(context);\n }\n\n context.cms = {\n ...context.cms,\n storageOperations,\n ...createSystemCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createSettingsCrud({\n context,\n getTenant,\n getLocale,\n storageOperations\n }),\n ...createModelGroupsCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createModelsCrud({\n context,\n getLocale,\n getTenant,\n getIdentity,\n storageOperations\n }),\n ...createContentEntryCrud({\n context,\n getIdentity,\n getTenant,\n storageOperations\n })\n };\n\n if (!storageOperations.init) {\n return;\n }\n await storageOperations.init(context);\n });\n};\n"],"mappings":";;;;;;;;AAAA;AAEA;AACA;AACA;AACA;AACA;AAMO,MAAMA,UAAU,GAAIC,MAAkB,IAAK;EAC9C,MAAM;IAAEC;EAAkB,CAAC,GAAGD,MAAM;EACpC,OAAO,IAAIE,kBAAa,CAAa,MAAMC,OAAO,IAAI;IAClD,MAAMC,SAAS,GAAG,MAAM;MACpB,OAAOD,OAAO,CAACE,GAAG,CAACD,SAAS,EAAE;IAClC,CAAC;IAED,MAAME,WAAW,GAAG,MAAM;MACtB,OAAOH,OAAO,CAACI,QAAQ,CAACD,WAAW,EAAE;IACzC,CAAC;IAED,MAAME,SAAS,GAAG,MAAM;MACpB,OAAOL,OAAO,CAACM,OAAO,CAACC,gBAAgB,EAAE;IAC7C,CAAC;IAED,IAAIT,iBAAiB,CAACU,UAAU,EAAE;MAC9B,MAAMV,iBAAiB,CAACU,UAAU,CAACR,OAAO,CAAC;IAC/C;IAEAA,OAAO,CAACE,GAAG,+KACJF,OAAO,CAACE,GAAG;MACdJ;IAAiB,GACd,IAAAW,wBAAgB,EAAC;MAChBT,OAAO;MACPK,SAAS;MACTJ,SAAS;MACTE,WAAW;MACXL;IACJ,CAAC,CAAC,GACC,IAAAY,4BAAkB,EAAC;MAClBV,OAAO;MACPK,SAAS;MACTJ,SAAS;MACTH;IACJ,CAAC,CAAC,GACC,IAAAa,wCAAqB,EAAC;MACrBX,OAAO;MACPK,SAAS;MACTJ,SAAS;MACTE,WAAW;MACXL;IACJ,CAAC,CAAC,GACC,IAAAc,8BAAgB,EAAC;MAChBZ,OAAO;MACPC,SAAS;MACTI,SAAS;MACTF,WAAW;MACXL;IACJ,CAAC,CAAC,GACC,IAAAe,oCAAsB,EAAC;MACtBb,OAAO;MACPG,WAAW;MACXE,SAAS;MACTP;IACJ,CAAC,CAAC,CACL;IAED,IAAI,CAACA,iBAAiB,CAACgB,IAAI,EAAE;MACzB;IACJ;IACA,MAAMhB,iBAAiB,CAACgB,IAAI,CAACd,OAAO,CAAC;EACzC,CAAC,CAAC;AACN,CAAC;AAAC"}