@webiny/api-headless-cms 0.0.0-unstable.5e7233243f → 0.0.0-unstable.6e5425ee89

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 (290) hide show
  1. package/context.js +3 -22
  2. package/context.js.map +1 -1
  3. package/crud/contentEntry/afterDelete.d.ts +2 -2
  4. package/crud/contentEntry/afterDelete.js +2 -7
  5. package/crud/contentEntry/afterDelete.js.map +1 -1
  6. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  7. package/crud/contentEntry/beforeCreate.js +2 -5
  8. package/crud/contentEntry/beforeCreate.js.map +1 -1
  9. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  10. package/crud/contentEntry/beforeUpdate.js +2 -5
  11. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  12. package/crud/contentEntry/entryDataValidation.js +4 -47
  13. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  14. package/crud/contentEntry/markLockedFields.js +8 -35
  15. package/crud/contentEntry/markLockedFields.js.map +1 -1
  16. package/crud/contentEntry/referenceFieldsMapping.js +8 -68
  17. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  18. package/crud/contentEntry.crud.d.ts +0 -2
  19. package/crud/contentEntry.crud.js +201 -361
  20. package/crud/contentEntry.crud.js.map +1 -1
  21. package/crud/contentModel/afterCreate.d.ts +3 -3
  22. package/crud/contentModel/afterCreate.js +5 -7
  23. package/crud/contentModel/afterCreate.js.map +1 -1
  24. package/crud/contentModel/afterCreateFrom.d.ts +3 -3
  25. package/crud/contentModel/afterCreateFrom.js +5 -7
  26. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  27. package/crud/contentModel/afterDelete.d.ts +3 -3
  28. package/crud/contentModel/afterDelete.js +5 -7
  29. package/crud/contentModel/afterDelete.js.map +1 -1
  30. package/crud/contentModel/afterUpdate.d.ts +3 -3
  31. package/crud/contentModel/afterUpdate.js +5 -7
  32. package/crud/contentModel/afterUpdate.js.map +1 -1
  33. package/crud/contentModel/beforeCreate.d.ts +4 -4
  34. package/crud/contentModel/beforeCreate.js +14 -42
  35. package/crud/contentModel/beforeCreate.js.map +1 -1
  36. package/crud/contentModel/beforeDelete.d.ts +3 -3
  37. package/crud/contentModel/beforeDelete.js +6 -16
  38. package/crud/contentModel/beforeDelete.js.map +1 -1
  39. package/crud/contentModel/beforeUpdate.d.ts +3 -3
  40. package/crud/contentModel/beforeUpdate.js +5 -10
  41. package/crud/contentModel/beforeUpdate.js.map +1 -1
  42. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  43. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  44. package/crud/contentModel/createFieldModels.js +0 -6
  45. package/crud/contentModel/createFieldModels.js.map +1 -1
  46. package/crud/contentModel/createFieldStorageId.js +0 -2
  47. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  48. package/crud/contentModel/fieldIdValidation.js +0 -5
  49. package/crud/contentModel/fieldIdValidation.js.map +1 -1
  50. package/crud/contentModel/idValidation.js +0 -5
  51. package/crud/contentModel/idValidation.js.map +1 -1
  52. package/crud/contentModel/models.js +1 -8
  53. package/crud/contentModel/models.js.map +1 -1
  54. package/crud/contentModel/systemFields.js.map +1 -1
  55. package/crud/contentModel/validateLayout.js +0 -8
  56. package/crud/contentModel/validateLayout.js.map +1 -1
  57. package/crud/contentModel/validateModel.js +1 -9
  58. package/crud/contentModel/validateModel.js.map +1 -1
  59. package/crud/contentModel/validateModelFields.js +11 -67
  60. package/crud/contentModel/validateModelFields.js.map +1 -1
  61. package/crud/contentModel.crud.js +84 -145
  62. package/crud/contentModel.crud.js.map +1 -1
  63. package/crud/contentModelGroup/beforeCreate.d.ts +2 -2
  64. package/crud/contentModelGroup/beforeCreate.js +3 -15
  65. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  66. package/crud/contentModelGroup/beforeDelete.d.ts +2 -2
  67. package/crud/contentModelGroup/beforeDelete.js +3 -11
  68. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  69. package/crud/contentModelGroup/beforeUpdate.d.ts +2 -2
  70. package/crud/contentModelGroup/beforeUpdate.js +2 -7
  71. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  72. package/crud/contentModelGroup.crud.js +59 -76
  73. package/crud/contentModelGroup.crud.js.map +1 -1
  74. package/crud/index.js +3 -23
  75. package/crud/index.js.map +1 -1
  76. package/crud/settings.crud.js +3 -20
  77. package/crud/settings.crud.js.map +1 -1
  78. package/crud/system.crud.js +61 -84
  79. package/crud/system.crud.js.map +1 -1
  80. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +1 -14
  81. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  82. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +16 -71
  83. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  84. package/fieldConverters/index.js +0 -4
  85. package/fieldConverters/index.js.map +1 -1
  86. package/graphql/buildSchemaPlugins.js +5 -9
  87. package/graphql/buildSchemaPlugins.js.map +1 -1
  88. package/graphql/graphQLHandlerFactory.js +4 -29
  89. package/graphql/graphQLHandlerFactory.js.map +1 -1
  90. package/graphql/index.js +1 -8
  91. package/graphql/index.js.map +1 -1
  92. package/graphql/schema/baseContentSchema.js +6 -18
  93. package/graphql/schema/baseContentSchema.js.map +1 -1
  94. package/graphql/schema/contentEntries.js +3 -43
  95. package/graphql/schema/contentEntries.js.map +1 -1
  96. package/graphql/schema/contentModelGroups.js +2 -19
  97. package/graphql/schema/contentModelGroups.js.map +1 -1
  98. package/graphql/schema/contentModels.js +20 -17
  99. package/graphql/schema/contentModels.js.map +1 -1
  100. package/graphql/schema/createFieldResolvers.js +7 -31
  101. package/graphql/schema/createFieldResolvers.js.map +1 -1
  102. package/graphql/schema/createManageResolvers.js +4 -44
  103. package/graphql/schema/createManageResolvers.js.map +1 -1
  104. package/graphql/schema/createManageSDL.js +4 -21
  105. package/graphql/schema/createManageSDL.js.map +1 -1
  106. package/graphql/schema/createPreviewResolvers.js +3 -17
  107. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  108. package/graphql/schema/createReadResolvers.js +3 -17
  109. package/graphql/schema/createReadResolvers.js.map +1 -1
  110. package/graphql/schema/createReadSDL.js +0 -10
  111. package/graphql/schema/createReadSDL.js.map +1 -1
  112. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -2
  113. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  114. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  115. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  116. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  117. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  118. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  119. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  120. package/graphql/schema/resolvers/manage/resolveGet.js +5 -25
  121. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  122. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  123. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  124. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  125. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  126. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  127. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  128. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  129. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  130. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  131. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  132. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  133. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  134. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  135. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  136. package/graphql/schema/resolvers/preview/resolveGet.js +3 -15
  137. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  138. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  139. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  140. package/graphql/schema/resolvers/read/resolveGet.js +3 -15
  141. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  142. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  143. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  144. package/graphql/schema/schemaPlugins.js +5 -19
  145. package/graphql/schema/schemaPlugins.js.map +1 -1
  146. package/graphql/system.js +1 -14
  147. package/graphql/system.js.map +1 -1
  148. package/graphqlFields/boolean.js +0 -12
  149. package/graphqlFields/boolean.js.map +1 -1
  150. package/graphqlFields/datetime.js +0 -17
  151. package/graphqlFields/datetime.js.map +1 -1
  152. package/graphqlFields/file.js +0 -8
  153. package/graphqlFields/file.js.map +1 -1
  154. package/graphqlFields/helpers.js +0 -10
  155. package/graphqlFields/helpers.js.map +1 -1
  156. package/graphqlFields/index.js +0 -11
  157. package/graphqlFields/index.js.map +1 -1
  158. package/graphqlFields/longText.js +0 -10
  159. package/graphqlFields/longText.js.map +1 -1
  160. package/graphqlFields/number.js +0 -12
  161. package/graphqlFields/number.js.map +1 -1
  162. package/graphqlFields/object.js +7 -37
  163. package/graphqlFields/object.js.map +1 -1
  164. package/graphqlFields/ref.js +21 -59
  165. package/graphqlFields/ref.js.map +1 -1
  166. package/graphqlFields/richText.js +0 -9
  167. package/graphqlFields/richText.js.map +1 -1
  168. package/graphqlFields/text.js +0 -11
  169. package/graphqlFields/text.js.map +1 -1
  170. package/index.js +0 -19
  171. package/index.js.map +1 -1
  172. package/modelManager/DefaultCmsModelManager.d.ts +7 -7
  173. package/modelManager/DefaultCmsModelManager.js +1 -17
  174. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  175. package/modelManager/index.js +0 -4
  176. package/modelManager/index.js.map +1 -1
  177. package/package.json +27 -28
  178. package/parameters/context.js +0 -4
  179. package/parameters/context.js.map +1 -1
  180. package/parameters/header.js +1 -12
  181. package/parameters/header.js.map +1 -1
  182. package/parameters/index.js +0 -8
  183. package/parameters/index.js.map +1 -1
  184. package/parameters/manual.js +7 -15
  185. package/parameters/manual.js.map +1 -1
  186. package/parameters/path.js +1 -12
  187. package/parameters/path.js.map +1 -1
  188. package/plugins/CmsGroupPlugin.js +1 -9
  189. package/plugins/CmsGroupPlugin.js.map +1 -1
  190. package/plugins/CmsModelFieldConverterPlugin.js +1 -6
  191. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  192. package/plugins/CmsModelPlugin.d.ts +6 -2
  193. package/plugins/CmsModelPlugin.js +18 -49
  194. package/plugins/CmsModelPlugin.js.map +1 -1
  195. package/plugins/CmsParametersPlugin.js +1 -8
  196. package/plugins/CmsParametersPlugin.js.map +1 -1
  197. package/plugins/StorageTransformPlugin.js +1 -10
  198. package/plugins/StorageTransformPlugin.js.map +1 -1
  199. package/plugins/index.js +0 -10
  200. package/plugins/index.js.map +1 -1
  201. package/storage/default.js +0 -3
  202. package/storage/default.js.map +1 -1
  203. package/storage/object.js +3 -25
  204. package/storage/object.js.map +1 -1
  205. package/types.d.ts +267 -126
  206. package/types.js +0 -64
  207. package/types.js.map +1 -1
  208. package/upgrades/5.33.0/index.js +8 -35
  209. package/upgrades/5.33.0/index.js.map +1 -1
  210. package/upgrades/index.js +0 -3
  211. package/upgrades/index.js.map +1 -1
  212. package/utils/access.js +11 -25
  213. package/utils/access.js.map +1 -1
  214. package/utils/converters/Converter.js +1 -14
  215. package/utils/converters/Converter.js.map +1 -1
  216. package/utils/converters/ConverterCollection.d.ts +7 -0
  217. package/utils/converters/ConverterCollection.js +31 -30
  218. package/utils/converters/ConverterCollection.js.map +1 -1
  219. package/utils/converters/valueKeyStorageConverter.js +3 -33
  220. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  221. package/utils/createTypeName.js +1 -9
  222. package/utils/createTypeName.js.map +1 -1
  223. package/utils/entryStorage.js +13 -33
  224. package/utils/entryStorage.js.map +1 -1
  225. package/utils/filterAsync.js +0 -5
  226. package/utils/filterAsync.js.map +1 -1
  227. package/utils/filterModelFields.js +8 -18
  228. package/utils/filterModelFields.js.map +1 -1
  229. package/utils/getEntryTitle.js +0 -9
  230. package/utils/getEntryTitle.js.map +1 -1
  231. package/utils/getSchemaFromFieldPlugins.js +2 -6
  232. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  233. package/utils/ownership.js +0 -8
  234. package/utils/ownership.js.map +1 -1
  235. package/utils/permissions.js +7 -26
  236. package/utils/permissions.js.map +1 -1
  237. package/utils/pluralizedTypeName.js +1 -7
  238. package/utils/pluralizedTypeName.js.map +1 -1
  239. package/utils/renderFields.js +0 -8
  240. package/utils/renderFields.js.map +1 -1
  241. package/utils/renderGetFilterFields.js +0 -11
  242. package/utils/renderGetFilterFields.js.map +1 -1
  243. package/utils/renderInputFields.js +0 -8
  244. package/utils/renderInputFields.js.map +1 -1
  245. package/utils/renderListFilterFields.js +7 -8
  246. package/utils/renderListFilterFields.js.map +1 -1
  247. package/utils/renderSortEnum.js +0 -7
  248. package/utils/renderSortEnum.js.map +1 -1
  249. package/utils/toSlug.js +1 -5
  250. package/utils/toSlug.js.map +1 -1
  251. package/validators/dateGte.js +0 -7
  252. package/validators/dateGte.js.map +1 -1
  253. package/validators/dateLte.js +0 -7
  254. package/validators/dateLte.js.map +1 -1
  255. package/validators/gte.js +0 -8
  256. package/validators/gte.js.map +1 -1
  257. package/validators/in.js +0 -8
  258. package/validators/in.js.map +1 -1
  259. package/validators/index.js +0 -15
  260. package/validators/index.js.map +1 -1
  261. package/validators/lte.js +0 -8
  262. package/validators/lte.js.map +1 -1
  263. package/validators/maxLength.js +0 -8
  264. package/validators/maxLength.js.map +1 -1
  265. package/validators/minLength.js +0 -8
  266. package/validators/minLength.js.map +1 -1
  267. package/validators/pattern.js +0 -9
  268. package/validators/pattern.js.map +1 -1
  269. package/validators/patternPlugins/email.js +0 -2
  270. package/validators/patternPlugins/email.js.map +1 -1
  271. package/validators/patternPlugins/index.js +0 -8
  272. package/validators/patternPlugins/index.js.map +1 -1
  273. package/validators/patternPlugins/lowerCase.js +0 -2
  274. package/validators/patternPlugins/lowerCase.js.map +1 -1
  275. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  276. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  277. package/validators/patternPlugins/upperCase.js +0 -2
  278. package/validators/patternPlugins/upperCase.js.map +1 -1
  279. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  280. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  281. package/validators/patternPlugins/url.js +0 -2
  282. package/validators/patternPlugins/url.js.map +1 -1
  283. package/validators/required.js +0 -5
  284. package/validators/required.js.map +1 -1
  285. package/validators/timeGte.js +0 -8
  286. package/validators/timeGte.js.map +1 -1
  287. package/validators/timeLte.js +0 -8
  288. package/validators/timeLte.js.map +1 -1
  289. package/validators/unique.js +1 -8
  290. package/validators/unique.js.map +1 -1
@@ -1,47 +1,35 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createModelGroupsCrud = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
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");
24
+ /**
25
+ * Package @commodo/fields does not have types.
26
+ */
27
+ // @ts-ignore
41
28
 
42
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
43
-
44
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
+ /**
30
+ * Package mdbid does not have types.
31
+ */
32
+ // @ts-ignore
45
33
 
46
34
  const CreateContentModelGroupModel = (0, _fields.withFields)({
47
35
  name: (0, _fields.string)({
@@ -68,7 +56,6 @@ const UpdateContentModelGroupModel = (0, _fields.withFields)({
68
56
  validation: _validation.validation.create("maxLength:255")
69
57
  })
70
58
  })();
71
-
72
59
  const createModelGroupsCrud = params => {
73
60
  const {
74
61
  getTenant,
@@ -82,7 +69,7 @@ const createModelGroupsCrud = params => {
82
69
  const tenant = getTenant().id;
83
70
  const locale = getLocale().code;
84
71
  const pluginsGroups = getGroupsAsPlugins().map(group => {
85
- return _objectSpread(_objectSpread({}, group), {}, {
72
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, group), {}, {
86
73
  tenant: group.tenant || tenant,
87
74
  locale: group.locale || locale
88
75
  });
@@ -96,13 +83,11 @@ const createModelGroupsCrud = params => {
96
83
  return [groups.concat(pluginsGroups)];
97
84
  })
98
85
  };
99
-
100
86
  const clearGroupsCache = () => {
101
87
  for (const loader of Object.values(dataLoaders)) {
102
88
  loader.clearAll();
103
89
  }
104
90
  };
105
-
106
91
  const getGroupsAsPlugins = () => {
107
92
  const tenant = getTenant().id;
108
93
  const locale = getLocale().code;
@@ -110,91 +95,97 @@ const createModelGroupsCrud = params => {
110
95
  /**
111
96
  * We need to filter out groups that are not for this tenant or locale.
112
97
  * If it does not have tenant or locale define, it is for every locale and tenant
113
- */
114
- .filter(plugin => {
98
+ */.filter(plugin => {
115
99
  const {
116
100
  tenant: t,
117
101
  locale: l
118
102
  } = plugin.contentModelGroup;
119
-
120
103
  if (t && t !== tenant) {
121
104
  return false;
122
105
  } else if (l && l !== locale) {
123
106
  return false;
124
107
  }
125
-
126
108
  return true;
127
109
  }).map(plugin => {
128
- return _objectSpread(_objectSpread({}, plugin.contentModelGroup), {}, {
110
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, plugin.contentModelGroup), {}, {
129
111
  tenant,
130
112
  locale,
131
113
  webinyVersion: context.WEBINY_VERSION
132
114
  });
133
115
  });
134
116
  };
135
-
136
117
  const checkPermissions = check => {
137
118
  return (0, _permissions.checkPermissions)(context, "cms.contentModelGroup", {
138
119
  rwd: check
139
120
  });
140
121
  };
141
-
142
122
  const groupsGet = async id => {
143
123
  const groups = await dataLoaders.listGroups.load("listGroups");
144
124
  const group = groups.find(g => g.id === id);
145
-
146
125
  if (!group) {
147
126
  throw new _handlerGraphql.NotFoundError(`Cms Group "${id}" was not found!`);
148
127
  }
149
-
150
128
  return group;
151
129
  };
152
-
153
130
  const groupsList = async params => {
154
131
  const {
155
132
  where
156
133
  } = params || {};
157
-
158
134
  try {
159
135
  return await dataLoaders.listGroups.load("listGroups");
160
136
  } catch (ex) {
161
- throw new _error.default(ex.message, ex.code || "LIST_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
137
+ throw new _error.default(ex.message, ex.code || "LIST_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
162
138
  where
163
139
  }));
164
140
  }
165
141
  };
166
142
 
167
- const onBeforeCreate = (0, _pubsub.createTopic)();
168
- const onAfterCreate = (0, _pubsub.createTopic)();
169
- const onBeforeUpdate = (0, _pubsub.createTopic)();
170
- const onAfterUpdate = (0, _pubsub.createTopic)();
171
- const onBeforeDelete = (0, _pubsub.createTopic)();
172
- const onAfterDelete = (0, _pubsub.createTopic)();
143
+ // create
144
+ const onGroupBeforeCreate = (0, _pubsub.createTopic)("cms.onGroupBeforeCreate");
145
+ const onGroupAfterCreate = (0, _pubsub.createTopic)("cms.onGroupAfterCreate");
146
+ // update
147
+ const onGroupBeforeUpdate = (0, _pubsub.createTopic)("cms.onGroupBeforeUpdate");
148
+ const onGroupAfterUpdate = (0, _pubsub.createTopic)("cms.onGroupAfterUpdate");
149
+ // delete
150
+ const onGroupBeforeDelete = (0, _pubsub.createTopic)("cms.onGroupBeforeDelete");
151
+ const onGroupAfterDelete = (0, _pubsub.createTopic)("cms.onGroupAfterDelete");
152
+
173
153
  /**
174
154
  * We need to assign some default behaviors.
175
155
  */
176
-
177
156
  (0, _beforeCreate.assignBeforeGroupCreate)({
178
- onBeforeCreate,
157
+ onGroupBeforeCreate,
179
158
  plugins: context.plugins,
180
159
  storageOperations
181
160
  });
182
161
  (0, _beforeUpdate.assignBeforeGroupUpdate)({
183
- onBeforeUpdate,
162
+ onGroupBeforeUpdate,
184
163
  plugins: context.plugins
185
164
  });
186
165
  (0, _beforeDelete.assignBeforeGroupDelete)({
187
- onBeforeDelete,
166
+ onGroupBeforeDelete,
188
167
  plugins: context.plugins,
189
168
  storageOperations
190
169
  });
191
170
  return {
192
- onBeforeGroupCreate: onBeforeCreate,
193
- onAfterGroupCreate: onAfterCreate,
194
- onBeforeGroupUpdate: onBeforeUpdate,
195
- onAfterGroupUpdate: onAfterUpdate,
196
- onBeforeGroupDelete: onBeforeDelete,
197
- onAfterGroupDelete: onAfterDelete,
171
+ /**
172
+ * Deprecated - will be removed in 5.36.0
173
+ */
174
+ onBeforeGroupCreate: onGroupBeforeCreate,
175
+ onAfterGroupCreate: onGroupAfterCreate,
176
+ onBeforeGroupUpdate: onGroupBeforeUpdate,
177
+ onAfterGroupUpdate: onGroupAfterUpdate,
178
+ onBeforeGroupDelete: onGroupBeforeDelete,
179
+ onAfterGroupDelete: onGroupAfterDelete,
180
+ /**
181
+ * Released in 5.34.0
182
+ */
183
+ onGroupBeforeCreate,
184
+ onGroupAfterCreate,
185
+ onGroupBeforeUpdate,
186
+ onGroupAfterUpdate,
187
+ onGroupBeforeDelete,
188
+ onGroupAfterDelete,
198
189
  clearGroupsCache,
199
190
  getGroup: async id => {
200
191
  const permission = await checkPermissions("r");
@@ -212,8 +203,8 @@ const createModelGroupsCrud = params => {
212
203
  locale
213
204
  } = where || {};
214
205
  const permission = await checkPermissions("r");
215
- const response = await groupsList(_objectSpread(_objectSpread({}, params || {}), {}, {
216
- where: _objectSpread(_objectSpread({}, where || {}), {}, {
206
+ const response = await groupsList((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params || {}), {}, {
207
+ where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, where || {}), {}, {
217
208
  tenant: tenant || getTenant().id,
218
209
  locale: locale || getLocale().code
219
210
  })
@@ -222,13 +213,12 @@ const createModelGroupsCrud = params => {
222
213
  if (!(0, _ownership.validateOwnership)(context, permission, group)) {
223
214
  return false;
224
215
  }
225
-
226
216
  return (0, _access.validateGroupAccess)(context, permission, group);
227
217
  });
228
218
  },
229
219
  createGroup: async inputData => {
230
220
  await checkPermissions("w");
231
- const createdData = new CreateContentModelGroupModel().populate(_objectSpread(_objectSpread({}, inputData), {}, {
221
+ const createdData = new CreateContentModelGroupModel().populate((0, _objectSpread2.default)((0, _objectSpread2.default)({}, inputData), {}, {
232
222
  slug: inputData.slug ? (0, _toSlug.toSlug)(inputData.slug) : "",
233
223
  description: inputData.description || ""
234
224
  }));
@@ -236,8 +226,7 @@ const createModelGroupsCrud = params => {
236
226
  const input = await createdData.toJSON();
237
227
  const identity = getIdentity();
238
228
  const id = (0, _mdbid.default)();
239
-
240
- const group = _objectSpread(_objectSpread({}, input), {}, {
229
+ const group = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, input), {}, {
241
230
  id,
242
231
  tenant: getTenant().id,
243
232
  locale: getLocale().code,
@@ -250,21 +239,20 @@ const createModelGroupsCrud = params => {
250
239
  },
251
240
  webinyVersion: context.WEBINY_VERSION
252
241
  });
253
-
254
242
  try {
255
- await onBeforeCreate.publish({
243
+ await onGroupBeforeCreate.publish({
256
244
  group
257
245
  });
258
246
  const result = await storageOperations.groups.create({
259
247
  group
260
248
  });
261
249
  clearGroupsCache();
262
- await onAfterCreate.publish({
250
+ await onGroupAfterCreate.publish({
263
251
  group: result
264
252
  });
265
253
  return group;
266
254
  } catch (ex) {
267
- throw new _error.default(ex.message || "Could not save data model group.", ex.code || "ERROR_ON_CREATE", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
255
+ throw new _error.default(ex.message || "Could not save data model group.", ex.code || "ERROR_ON_CREATE", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
268
256
  group,
269
257
  input
270
258
  }));
@@ -279,22 +267,20 @@ const createModelGroupsCrud = params => {
279
267
  const updatedDataJson = await input.toJSON({
280
268
  onlyDirty: true
281
269
  });
270
+
282
271
  /**
283
272
  * No need to continue if no values were changed
284
273
  */
285
-
286
274
  if (Object.keys(updatedDataJson).length === 0) {
287
275
  return original;
288
276
  }
289
-
290
- const group = _objectSpread(_objectSpread(_objectSpread({}, original), updatedDataJson), {}, {
277
+ const group = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), updatedDataJson), {}, {
291
278
  locale: getLocale().code,
292
279
  tenant: getTenant().id,
293
280
  savedOn: new Date().toISOString()
294
281
  });
295
-
296
282
  try {
297
- await onBeforeUpdate.publish({
283
+ await onGroupBeforeUpdate.publish({
298
284
  original,
299
285
  group
300
286
  });
@@ -302,7 +288,7 @@ const createModelGroupsCrud = params => {
302
288
  group
303
289
  });
304
290
  clearGroupsCache();
305
- await onAfterUpdate.publish({
291
+ await onGroupAfterUpdate.publish({
306
292
  original,
307
293
  group: updatedGroup
308
294
  });
@@ -320,27 +306,24 @@ const createModelGroupsCrud = params => {
320
306
  const permission = await checkPermissions("d");
321
307
  const group = await groupsGet(id);
322
308
  (0, _ownership.checkOwnership)(context, permission, group);
323
-
324
309
  try {
325
- await onBeforeDelete.publish({
310
+ await onGroupBeforeDelete.publish({
326
311
  group
327
312
  });
328
313
  await storageOperations.groups.delete({
329
314
  group
330
315
  });
331
316
  clearGroupsCache();
332
- await onAfterDelete.publish({
317
+ await onGroupAfterDelete.publish({
333
318
  group
334
319
  });
335
320
  } catch (ex) {
336
- throw new _error.default(ex.message, ex.code || "DELETE_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
321
+ throw new _error.default(ex.message, ex.code || "DELETE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
337
322
  id
338
323
  }));
339
324
  }
340
-
341
325
  return true;
342
326
  }
343
327
  };
344
328
  };
345
-
346
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","onBeforeCreate","createTopic","onAfterCreate","onBeforeUpdate","onAfterUpdate","onBeforeDelete","onAfterDelete","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 BeforeGroupCreateTopicParams,\n AfterGroupCreateTopicParams,\n BeforeGroupUpdateTopicParams,\n AfterGroupUpdateTopicParams,\n BeforeGroupDeleteTopicParams,\n AfterGroupDeleteTopicParams\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 const onBeforeCreate = createTopic<BeforeGroupCreateTopicParams>();\n const onAfterCreate = createTopic<AfterGroupCreateTopicParams>();\n const onBeforeUpdate = createTopic<BeforeGroupUpdateTopicParams>();\n const onAfterUpdate = createTopic<AfterGroupUpdateTopicParams>();\n const onBeforeDelete = createTopic<BeforeGroupDeleteTopicParams>();\n const onAfterDelete = createTopic<AfterGroupDeleteTopicParams>();\n\n /**\n * We need to assign some default behaviors.\n */\n assignBeforeGroupCreate({\n onBeforeCreate,\n plugins: context.plugins,\n storageOperations\n });\n assignBeforeGroupUpdate({\n onBeforeUpdate,\n plugins: context.plugins\n });\n assignBeforeGroupDelete({\n onBeforeDelete,\n plugins: context.plugins,\n storageOperations\n });\n\n return {\n onBeforeGroupCreate: onBeforeCreate,\n onAfterGroupCreate: onAfterCreate,\n onBeforeGroupUpdate: onBeforeUpdate,\n onAfterGroupUpdate: onAfterUpdate,\n onBeforeGroupDelete: onBeforeDelete,\n onAfterGroupDelete: onAfterDelete,\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 onBeforeCreate.publish({\n group\n });\n\n const result = await storageOperations.groups.create({\n group\n });\n\n clearGroupsCache();\n\n await onAfterCreate.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 onBeforeUpdate.publish({\n original,\n group\n });\n\n const updatedGroup = await storageOperations.groups.update({\n group\n });\n clearGroupsCache();\n\n await onAfterUpdate.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 onBeforeDelete.publish({\n group\n });\n\n await storageOperations.groups.delete({ group });\n clearGroupsCache();\n\n await onAfterDelete.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,30 +1,17 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createCrud = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
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
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
-
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
-
28
15
  const createCrud = params => {
29
16
  const {
30
17
  storageOperations
@@ -33,20 +20,16 @@ const createCrud = params => {
33
20
  const getLocale = () => {
34
21
  return context.cms.getLocale();
35
22
  };
36
-
37
23
  const getIdentity = () => {
38
24
  return context.security.getIdentity();
39
25
  };
40
-
41
26
  const getTenant = () => {
42
27
  return context.tenancy.getCurrentTenant();
43
28
  };
44
-
45
29
  if (storageOperations.beforeInit) {
46
30
  await storageOperations.beforeInit(context);
47
31
  }
48
-
49
- context.cms = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, context.cms), {}, {
32
+ context.cms = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, context.cms), {}, {
50
33
  storageOperations
51
34
  }, (0, _system.createSystemCrud)({
52
35
  context,
@@ -77,13 +60,10 @@ const createCrud = params => {
77
60
  getTenant,
78
61
  storageOperations
79
62
  }));
80
-
81
63
  if (!storageOperations.init) {
82
64
  return;
83
65
  }
84
-
85
66
  await storageOperations.init(context);
86
67
  });
87
68
  };
88
-
89
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,2FACOF,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"}
@@ -1,20 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createSettingsCrud = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
9
  var _permissions = require("../utils/permissions");
13
-
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
-
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
-
18
10
  const createSettingsCrud = params => {
19
11
  const {
20
12
  storageOperations,
@@ -22,11 +14,9 @@ const createSettingsCrud = params => {
22
14
  getTenant,
23
15
  getLocale
24
16
  } = params;
25
-
26
17
  const checkPermissions = () => {
27
18
  return (0, _permissions.checkPermissions)(context, "cms.settings");
28
19
  };
29
-
30
20
  return {
31
21
  getSettings: async () => {
32
22
  await checkPermissions();
@@ -40,20 +30,17 @@ const createSettingsCrud = params => {
40
30
  tenant: getTenant().id,
41
31
  locale: getLocale().code
42
32
  });
43
-
44
- const settings = _objectSpread(_objectSpread({}, original || {}), {}, {
33
+ const settings = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original || {}), {}, {
45
34
  contentModelLastChange: new Date(),
46
35
  tenant: getTenant().id,
47
36
  locale: getLocale().code
48
37
  });
49
-
50
38
  if (!original) {
51
39
  await storageOperations.settings.create({
52
40
  settings
53
41
  });
54
42
  return;
55
43
  }
56
-
57
44
  await storageOperations.settings.update({
58
45
  settings
59
46
  });
@@ -64,11 +51,9 @@ const createSettingsCrud = params => {
64
51
  tenant: getTenant().id,
65
52
  locale: getLocale().code
66
53
  });
67
-
68
54
  if (!(settings !== null && settings !== void 0 && settings.contentModelLastChange)) {
69
55
  return new Date();
70
56
  }
71
-
72
57
  return settings.contentModelLastChange;
73
58
  } catch (ex) {
74
59
  console.log({
@@ -79,10 +64,8 @@ const createSettingsCrud = params => {
79
64
  }
80
65
  });
81
66
  }
82
-
83
67
  return new Date();
84
68
  }
85
69
  };
86
70
  };
87
-
88
71
  exports.createSettingsCrud = createSettingsCrud;