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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/context.js +0 -25
  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.d.ts +1 -1
  12. package/crud/contentEntry/markLockedFields.js +15 -28
  13. package/crud/contentEntry/markLockedFields.js.map +1 -1
  14. package/crud/contentEntry/referenceFieldsMapping.js +5 -61
  15. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  16. package/crud/contentEntry/searchableFields.js +1 -12
  17. package/crud/contentEntry/searchableFields.js.map +1 -1
  18. package/crud/contentEntry.crud.d.ts +2 -1
  19. package/crud/contentEntry.crud.js +59 -166
  20. package/crud/contentEntry.crud.js.map +1 -1
  21. package/crud/contentModel/afterCreate.js +0 -2
  22. package/crud/contentModel/afterCreate.js.map +1 -1
  23. package/crud/contentModel/afterCreateFrom.js +0 -2
  24. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  25. package/crud/contentModel/afterDelete.js +0 -2
  26. package/crud/contentModel/afterDelete.js.map +1 -1
  27. package/crud/contentModel/afterUpdate.js +0 -2
  28. package/crud/contentModel/afterUpdate.js.map +1 -1
  29. package/crud/contentModel/beforeCreate.js +7 -32
  30. package/crud/contentModel/beforeCreate.js.map +1 -1
  31. package/crud/contentModel/beforeDelete.js +0 -10
  32. package/crud/contentModel/beforeDelete.js.map +1 -1
  33. package/crud/contentModel/beforeUpdate.js +4 -5
  34. package/crud/contentModel/beforeUpdate.js.map +1 -1
  35. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  36. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  37. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  38. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  39. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  40. package/crud/contentModel/createFieldStorageId.js +0 -3
  41. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  42. package/crud/contentModel/defaultFields.d.ts +5 -0
  43. package/crud/contentModel/defaultFields.js +58 -0
  44. package/crud/contentModel/defaultFields.js.map +1 -0
  45. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  46. package/crud/contentModel/fields/descriptionField.js +42 -0
  47. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  48. package/crud/contentModel/fields/imageField.d.ts +2 -0
  49. package/crud/contentModel/fields/imageField.js +46 -0
  50. package/crud/contentModel/fields/imageField.js.map +1 -0
  51. package/crud/contentModel/fields/titleField.d.ts +2 -0
  52. package/crud/contentModel/fields/titleField.js +58 -0
  53. package/crud/contentModel/fields/titleField.js.map +1 -0
  54. package/crud/contentModel/validateLayout.js +0 -8
  55. package/crud/contentModel/validateLayout.js.map +1 -1
  56. package/crud/contentModel/validateModel.d.ts +1 -0
  57. package/crud/contentModel/validateModel.js +0 -8
  58. package/crud/contentModel/validateModel.js.map +1 -1
  59. package/crud/contentModel/validateModelFields.d.ts +2 -1
  60. package/crud/contentModel/validateModelFields.js +35 -128
  61. package/crud/contentModel/validateModelFields.js.map +1 -1
  62. package/crud/contentModel/validation.d.ts +85 -43
  63. package/crud/contentModel/validation.js +57 -21
  64. package/crud/contentModel/validation.js.map +1 -1
  65. package/crud/contentModel.crud.js +46 -110
  66. package/crud/contentModel.crud.js.map +1 -1
  67. package/crud/contentModelGroup/beforeCreate.js +0 -12
  68. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  69. package/crud/contentModelGroup/beforeDelete.js +0 -8
  70. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  71. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  72. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  73. package/crud/contentModelGroup/validation.js +0 -9
  74. package/crud/contentModelGroup/validation.js.map +1 -1
  75. package/crud/contentModelGroup.crud.js +5 -47
  76. package/crud/contentModelGroup.crud.js.map +1 -1
  77. package/crud/settings.crud.js +0 -12
  78. package/crud/settings.crud.js.map +1 -1
  79. package/crud/system.crud.js +1 -96
  80. package/crud/system.crud.js.map +1 -1
  81. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  82. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  83. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +0 -36
  84. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  85. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
  86. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  87. package/fieldConverters/index.js +0 -5
  88. package/fieldConverters/index.js.map +1 -1
  89. package/graphql/buildSchemaPlugins.js +4 -9
  90. package/graphql/buildSchemaPlugins.js.map +1 -1
  91. package/graphql/createExecutableSchema.js +2 -6
  92. package/graphql/createExecutableSchema.js.map +1 -1
  93. package/graphql/generateSchema.js +0 -7
  94. package/graphql/generateSchema.js.map +1 -1
  95. package/graphql/graphQLHandlerFactory.js +16 -39
  96. package/graphql/graphQLHandlerFactory.js.map +1 -1
  97. package/graphql/index.js +0 -5
  98. package/graphql/index.js.map +1 -1
  99. package/graphql/schema/baseContentSchema.js +5 -17
  100. package/graphql/schema/baseContentSchema.js.map +1 -1
  101. package/graphql/schema/baseSchema.js +1 -8
  102. package/graphql/schema/baseSchema.js.map +1 -1
  103. package/graphql/schema/contentEntries.js +107 -102
  104. package/graphql/schema/contentEntries.js.map +1 -1
  105. package/graphql/schema/contentModelGroups.js +3 -20
  106. package/graphql/schema/contentModelGroups.js.map +1 -1
  107. package/graphql/schema/contentModels.js +22 -25
  108. package/graphql/schema/contentModels.js.map +1 -1
  109. package/graphql/schema/createFieldResolvers.js +5 -28
  110. package/graphql/schema/createFieldResolvers.js.map +1 -1
  111. package/graphql/schema/createManageResolvers.d.ts +1 -1
  112. package/graphql/schema/createManageResolvers.js +33 -43
  113. package/graphql/schema/createManageResolvers.js.map +1 -1
  114. package/graphql/schema/createManageSDL.d.ts +1 -0
  115. package/graphql/schema/createManageSDL.js +57 -63
  116. package/graphql/schema/createManageSDL.js.map +1 -1
  117. package/graphql/schema/createPreviewResolvers.js +3 -17
  118. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  119. package/graphql/schema/createReadResolvers.js +4 -18
  120. package/graphql/schema/createReadResolvers.js.map +1 -1
  121. package/graphql/schema/createReadSDL.d.ts +1 -0
  122. package/graphql/schema/createReadSDL.js +24 -32
  123. package/graphql/schema/createReadSDL.js.map +1 -1
  124. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  125. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
  126. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  127. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  128. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  129. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  130. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  131. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  132. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  133. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  134. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  135. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  136. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  137. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  138. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  139. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  140. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  141. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  142. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  143. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  144. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  145. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  146. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  147. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  148. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  149. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  150. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  151. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  152. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  153. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  154. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  155. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  156. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  157. package/graphql/schema/schemaPlugins.js +16 -26
  158. package/graphql/schema/schemaPlugins.js.map +1 -1
  159. package/graphql/system.js +1 -30
  160. package/graphql/system.js.map +1 -1
  161. package/graphqlFields/boolean.js +0 -12
  162. package/graphqlFields/boolean.js.map +1 -1
  163. package/graphqlFields/datetime.js +0 -17
  164. package/graphqlFields/datetime.js.map +1 -1
  165. package/graphqlFields/dynamicZone/dynamicZoneField.js +15 -33
  166. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  167. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +2 -18
  168. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
  169. package/graphqlFields/dynamicZone/index.js +0 -2
  170. package/graphqlFields/dynamicZone/index.js.map +1 -1
  171. package/graphqlFields/file.js +0 -8
  172. package/graphqlFields/file.js.map +1 -1
  173. package/graphqlFields/helpers.js +0 -10
  174. package/graphqlFields/helpers.js.map +1 -1
  175. package/graphqlFields/index.js +0 -12
  176. package/graphqlFields/index.js.map +1 -1
  177. package/graphqlFields/longText.js +0 -10
  178. package/graphqlFields/longText.js.map +1 -1
  179. package/graphqlFields/number.js +0 -12
  180. package/graphqlFields/number.js.map +1 -1
  181. package/graphqlFields/object.js +7 -37
  182. package/graphqlFields/object.js.map +1 -1
  183. package/graphqlFields/ref.js +59 -65
  184. package/graphqlFields/ref.js.map +1 -1
  185. package/graphqlFields/richText.js +0 -9
  186. package/graphqlFields/richText.js.map +1 -1
  187. package/graphqlFields/text.js +0 -11
  188. package/graphqlFields/text.js.map +1 -1
  189. package/index.d.ts +1 -1
  190. package/index.js +1 -21
  191. package/index.js.map +1 -1
  192. package/modelManager/DefaultCmsModelManager.js +0 -16
  193. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  194. package/modelManager/index.js +0 -4
  195. package/modelManager/index.js.map +1 -1
  196. package/package.json +24 -25
  197. package/parameters/context.js +0 -4
  198. package/parameters/context.js.map +1 -1
  199. package/parameters/header.js +0 -11
  200. package/parameters/header.js.map +1 -1
  201. package/parameters/index.js +0 -8
  202. package/parameters/index.js.map +1 -1
  203. package/parameters/manual.js +1 -8
  204. package/parameters/manual.js.map +1 -1
  205. package/parameters/path.js +0 -11
  206. package/parameters/path.js.map +1 -1
  207. package/plugins/CmsGraphQLSchemaPlugin.js +0 -5
  208. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -1
  209. package/plugins/CmsGraphQLSchemaSorterPlugin.js +0 -10
  210. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  211. package/plugins/CmsGroupPlugin.js +0 -8
  212. package/plugins/CmsGroupPlugin.js.map +1 -1
  213. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  214. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  215. package/plugins/CmsModelPlugin.d.ts +11 -1
  216. package/plugins/CmsModelPlugin.js +15 -40
  217. package/plugins/CmsModelPlugin.js.map +1 -1
  218. package/plugins/CmsParametersPlugin.js +0 -7
  219. package/plugins/CmsParametersPlugin.js.map +1 -1
  220. package/plugins/StorageTransformPlugin.js +0 -9
  221. package/plugins/StorageTransformPlugin.js.map +1 -1
  222. package/plugins/index.js +0 -14
  223. package/plugins/index.js.map +1 -1
  224. package/storage/default.js +0 -3
  225. package/storage/default.js.map +1 -1
  226. package/storage/object.js +0 -19
  227. package/storage/object.js.map +1 -1
  228. package/types.d.ts +77 -22
  229. package/types.js +1 -80
  230. package/types.js.map +1 -1
  231. package/utils/access.js +11 -25
  232. package/utils/access.js.map +1 -1
  233. package/utils/converters/Converter.js +0 -13
  234. package/utils/converters/Converter.js.map +1 -1
  235. package/utils/converters/ConverterCollection.js +9 -33
  236. package/utils/converters/ConverterCollection.js.map +1 -1
  237. package/utils/converters/valueKeyStorageConverter.js +2 -27
  238. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  239. package/utils/createTypeFromFields.d.ts +1 -0
  240. package/utils/createTypeFromFields.js +11 -19
  241. package/utils/createTypeFromFields.js.map +1 -1
  242. package/utils/createTypeName.js +0 -9
  243. package/utils/createTypeName.js.map +1 -1
  244. package/utils/entryStorage.js +10 -26
  245. package/utils/entryStorage.js.map +1 -1
  246. package/utils/filterAsync.js +0 -5
  247. package/utils/filterAsync.js.map +1 -1
  248. package/utils/getBaseFieldType.js +0 -2
  249. package/utils/getBaseFieldType.js.map +1 -1
  250. package/utils/getEntryDescription.d.ts +2 -0
  251. package/utils/getEntryDescription.js +17 -0
  252. package/utils/getEntryDescription.js.map +1 -0
  253. package/utils/getEntryImage.d.ts +2 -0
  254. package/utils/getEntryImage.js +17 -0
  255. package/utils/getEntryImage.js.map +1 -0
  256. package/utils/getEntryTitle.js +0 -9
  257. package/utils/getEntryTitle.js.map +1 -1
  258. package/utils/getSchemaFromFieldPlugins.js +2 -11
  259. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  260. package/utils/ownership.d.ts +3 -3
  261. package/utils/ownership.js +0 -8
  262. package/utils/ownership.js.map +1 -1
  263. package/utils/permissions.js +8 -23
  264. package/utils/permissions.js.map +1 -1
  265. package/utils/removeNullValues.d.ts +1 -0
  266. package/utils/removeNullValues.js +17 -0
  267. package/utils/removeNullValues.js.map +1 -0
  268. package/utils/removeUndefinedValues.d.ts +1 -0
  269. package/utils/removeUndefinedValues.js +17 -0
  270. package/utils/removeUndefinedValues.js.map +1 -0
  271. package/utils/renderFields.d.ts +2 -1
  272. package/utils/renderFields.js +8 -10
  273. package/utils/renderFields.js.map +1 -1
  274. package/utils/renderGetFilterFields.js +0 -13
  275. package/utils/renderGetFilterFields.js.map +1 -1
  276. package/utils/renderInputFields.d.ts +2 -1
  277. package/utils/renderInputFields.js +4 -9
  278. package/utils/renderInputFields.js.map +1 -1
  279. package/utils/renderListFilterFields.js +1 -10
  280. package/utils/renderListFilterFields.js.map +1 -1
  281. package/utils/renderSortEnum.js +0 -9
  282. package/utils/renderSortEnum.js.map +1 -1
  283. package/utils/toSlug.js +0 -4
  284. package/utils/toSlug.js.map +1 -1
  285. package/validators/dateGte.js +0 -7
  286. package/validators/dateGte.js.map +1 -1
  287. package/validators/dateLte.js +0 -7
  288. package/validators/dateLte.js.map +1 -1
  289. package/validators/dynamicZone.js +0 -4
  290. package/validators/dynamicZone.js.map +1 -1
  291. package/validators/gte.js +0 -8
  292. package/validators/gte.js.map +1 -1
  293. package/validators/in.js +0 -8
  294. package/validators/in.js.map +1 -1
  295. package/validators/index.js +0 -16
  296. package/validators/index.js.map +1 -1
  297. package/validators/lte.js +0 -8
  298. package/validators/lte.js.map +1 -1
  299. package/validators/maxLength.js +0 -8
  300. package/validators/maxLength.js.map +1 -1
  301. package/validators/minLength.js +0 -8
  302. package/validators/minLength.js.map +1 -1
  303. package/validators/pattern.js +0 -9
  304. package/validators/pattern.js.map +1 -1
  305. package/validators/patternPlugins/email.js +0 -2
  306. package/validators/patternPlugins/email.js.map +1 -1
  307. package/validators/patternPlugins/index.js +0 -8
  308. package/validators/patternPlugins/index.js.map +1 -1
  309. package/validators/patternPlugins/lowerCase.js +0 -2
  310. package/validators/patternPlugins/lowerCase.js.map +1 -1
  311. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  312. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  313. package/validators/patternPlugins/upperCase.js +0 -2
  314. package/validators/patternPlugins/upperCase.js.map +1 -1
  315. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  316. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  317. package/validators/patternPlugins/url.js +0 -2
  318. package/validators/patternPlugins/url.js.map +1 -1
  319. package/validators/required.js +0 -5
  320. package/validators/required.js.map +1 -1
  321. package/validators/timeGte.js +0 -8
  322. package/validators/timeGte.js.map +1 -1
  323. package/validators/timeLte.js +0 -8
  324. package/validators/timeLte.js.map +1 -1
  325. package/validators/unique.js +0 -7
  326. package/validators/unique.js.map +1 -1
@@ -1,59 +1,41 @@
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.createContentEntryCrud = exports.STATUS_UNPUBLISHED = exports.STATUS_PUBLISHED = exports.STATUS_DRAFT = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _mdbid = _interopRequireDefault(require("mdbid"));
13
-
14
10
  var _handlerGraphql = require("@webiny/handler-graphql");
15
-
16
11
  var _entryDataValidation = require("./contentEntry/entryDataValidation");
17
-
18
12
  var _error = _interopRequireDefault(require("@webiny/error"));
19
-
20
13
  var _pubsub = require("@webiny/pubsub");
21
-
22
14
  var _beforeCreate = require("./contentEntry/beforeCreate");
23
-
24
15
  var _beforeUpdate = require("./contentEntry/beforeUpdate");
25
-
26
16
  var _utils = require("@webiny/utils");
27
-
28
17
  var _afterDelete = require("./contentEntry/afterDelete");
29
-
30
18
  var _referenceFieldsMapping = require("./contentEntry/referenceFieldsMapping");
31
-
32
19
  var _merge = _interopRequireDefault(require("lodash/merge"));
33
-
34
20
  var _permissions = require("../utils/permissions");
35
-
36
21
  var _access = require("../utils/access");
37
-
38
22
  var _ownership = require("../utils/ownership");
39
-
40
23
  var _entryStorage = require("../utils/entryStorage");
41
-
42
24
  var _valueKeyStorageConverter = require("../utils/converters/valueKeyStorageConverter");
43
-
44
25
  var _searchableFields = require("./contentEntry/searchableFields");
45
-
26
+ var _removeUndefinedValues = require("../utils/removeUndefinedValues");
27
+ var _removeNullValues = require("../utils/removeNullValues");
46
28
  /**
47
29
  * Package mdbid does not have types.
48
30
  */
49
31
  // @ts-ignore
32
+
50
33
  const STATUS_DRAFT = "draft";
51
34
  exports.STATUS_DRAFT = STATUS_DRAFT;
52
35
  const STATUS_PUBLISHED = "published";
53
36
  exports.STATUS_PUBLISHED = STATUS_PUBLISHED;
54
37
  const STATUS_UNPUBLISHED = "unpublished";
55
38
  exports.STATUS_UNPUBLISHED = STATUS_UNPUBLISHED;
56
-
57
39
  /**
58
40
  * Used for some fields to convert their values.
59
41
  */
@@ -61,45 +43,35 @@ const convertDefaultValue = (field, value) => {
61
43
  switch (field.type) {
62
44
  case "boolean":
63
45
  return Boolean(value);
64
-
65
46
  case "number":
66
47
  return Number(value);
67
-
68
48
  default:
69
49
  return value;
70
50
  }
71
51
  };
72
-
73
52
  const getDefaultValue = field => {
74
53
  const {
75
54
  settings,
76
55
  multipleValues
77
56
  } = field;
78
-
79
57
  if (settings && settings.defaultValue !== undefined) {
80
58
  return convertDefaultValue(field, settings.defaultValue);
81
59
  }
82
-
83
60
  const {
84
61
  predefinedValues
85
62
  } = field;
86
-
87
63
  if (!predefinedValues || !predefinedValues.enabled || Array.isArray(predefinedValues.values) === false) {
88
64
  return undefined;
89
65
  }
90
-
91
66
  if (!multipleValues) {
92
67
  const selectedValue = predefinedValues.values.find(value => {
93
68
  return !!value.selected;
94
69
  });
95
-
96
70
  if (selectedValue) {
97
71
  return convertDefaultValue(field, selectedValue.value);
98
72
  }
99
-
100
73
  return undefined;
101
74
  }
102
-
103
75
  return predefinedValues.values.filter(({
104
76
  selected
105
77
  }) => !!selected).map(({
@@ -111,8 +83,6 @@ const getDefaultValue = field => {
111
83
  /**
112
84
  * Cleans and adds default values to create input data.
113
85
  */
114
-
115
-
116
86
  const mapAndCleanCreateInputData = (model, input) => {
117
87
  return model.fields.reduce((acc, field) => {
118
88
  /**
@@ -124,12 +94,10 @@ const mapAndCleanCreateInputData = (model, input) => {
124
94
  field
125
95
  });
126
96
  }
127
-
128
97
  const value = input[field.fieldId];
129
98
  /**
130
99
  * We set the default value on create input if value is not defined.
131
100
  */
132
-
133
101
  acc[field.fieldId] = value === undefined ? getDefaultValue(field) : value;
134
102
  return acc;
135
103
  }, {});
@@ -137,8 +105,6 @@ const mapAndCleanCreateInputData = (model, input) => {
137
105
  /**
138
106
  * Cleans the update input entry data.
139
107
  */
140
-
141
-
142
108
  const mapAndCleanUpdatedInputData = (model, input) => {
143
109
  return model.fields.reduce((acc, field) => {
144
110
  /**
@@ -153,14 +119,10 @@ const mapAndCleanUpdatedInputData = (model, input) => {
153
119
  /**
154
120
  * We cannot set default value here because user might want to update only certain field values.
155
121
  */
156
-
157
-
158
122
  const value = input[field.fieldId];
159
-
160
123
  if (value === undefined) {
161
124
  return acc;
162
125
  }
163
-
164
126
  acc[field.fieldId] = value;
165
127
  return acc;
166
128
  }, {});
@@ -169,24 +131,21 @@ const mapAndCleanUpdatedInputData = (model, input) => {
169
131
  * This method takes original entry meta and new input.
170
132
  * When new meta is merged onto the existing one, everything that has undefined or null value is removed.
171
133
  */
172
-
173
-
174
134
  const createEntryMeta = (input, original) => {
175
135
  const meta = (0, _merge.default)(original || {}, input || {});
176
-
177
- for (const key in meta) {
178
- if (meta[key] !== undefined || meta[key] !== null) {
179
- continue;
136
+ return (0, _removeUndefinedValues.removeUndefinedValues)((0, _removeNullValues.removeNullValues)(meta));
137
+ };
138
+ const createEntryId = input => {
139
+ let entryId = (0, _mdbid.default)();
140
+ if (input.id) {
141
+ if (input.id.match(/^([a-zA-Z0-9])([a-zA-Z0-9\-]+)([a-zA-Z0-9])$/) === null) {
142
+ throw new _error.default("The provided ID is not valid. It must be a string which can be A-Z, a-z, 0-9, - and it cannot start or end with a -.", "INVALID_ID", {
143
+ id: input.id
144
+ });
180
145
  }
181
-
182
- delete meta[key];
146
+ entryId = input.id;
183
147
  }
184
-
185
- return meta;
186
- };
187
-
188
- const createEntryId = version => {
189
- const entryId = (0, _mdbid.default)();
148
+ const version = 1;
190
149
  return {
191
150
  entryId,
192
151
  version,
@@ -196,19 +155,16 @@ const createEntryId = version => {
196
155
  })
197
156
  };
198
157
  };
199
-
200
158
  const increaseEntryIdVersion = id => {
201
159
  const {
202
160
  id: entryId,
203
161
  version
204
162
  } = (0, _utils.parseIdentifier)(id);
205
-
206
163
  if (!version) {
207
164
  throw new _error.default("Cannot increase version on the ID without the version part.", "WRONG_ID", {
208
165
  id
209
166
  });
210
167
  }
211
-
212
168
  return {
213
169
  entryId,
214
170
  version: version + 1,
@@ -218,13 +174,10 @@ const increaseEntryIdVersion = id => {
218
174
  })
219
175
  };
220
176
  };
221
-
222
177
  const allowedEntryStatus = ["draft", "published", "unpublished"];
223
-
224
178
  const transformEntryStatus = status => {
225
179
  return allowedEntryStatus.includes(status) ? status : "draft";
226
180
  };
227
-
228
181
  const createContentEntryCrud = params => {
229
182
  const {
230
183
  storageOperations,
@@ -235,67 +188,84 @@ const createContentEntryCrud = params => {
235
188
  const {
236
189
  plugins
237
190
  } = context;
191
+ const getCreatedBy = () => {
192
+ const identity = getIdentity();
193
+ return {
194
+ id: identity.id,
195
+ displayName: identity.displayName,
196
+ type: identity.type
197
+ };
198
+ };
199
+
238
200
  /**
239
201
  * Create
240
202
  */
241
-
242
203
  const onEntryBeforeCreate = (0, _pubsub.createTopic)("cms.onEntryBeforeCreate");
243
204
  const onEntryAfterCreate = (0, _pubsub.createTopic)("cms.onEntryAfterCreate");
244
205
  const onEntryCreateError = (0, _pubsub.createTopic)("cms.onEntryCreateError");
206
+
245
207
  /**
246
208
  * Create new revision
247
209
  */
248
-
249
210
  const onEntryBeforeCreateRevision = (0, _pubsub.createTopic)("cms.onEntryBeforeCreateRevision");
250
211
  const onEntryRevisionAfterCreate = (0, _pubsub.createTopic)("cms.onEntryRevisionAfterCreate");
251
212
  const onEntryCreateRevisionError = (0, _pubsub.createTopic)("cms.onEntryCreateRevisionError");
213
+
252
214
  /**
253
215
  * Update
254
216
  */
255
-
256
217
  const onEntryBeforeUpdate = (0, _pubsub.createTopic)("cms.onEntryBeforeUpdate");
257
218
  const onEntryAfterUpdate = (0, _pubsub.createTopic)("cms.onEntryAfterUpdate");
258
219
  const onEntryUpdateError = (0, _pubsub.createTopic)("cms.onEntryUpdateError");
220
+
259
221
  /**
260
222
  * Publish
261
223
  */
262
-
263
224
  const onEntryBeforePublish = (0, _pubsub.createTopic)("cms.onEntryBeforePublish");
264
225
  const onEntryAfterPublish = (0, _pubsub.createTopic)("cms.onEntryAfterPublish");
265
226
  const onEntryPublishError = (0, _pubsub.createTopic)("cms.onEntryPublishError");
227
+
266
228
  /**
267
229
  * Republish
268
230
  */
269
-
270
231
  const onEntryBeforeRepublish = (0, _pubsub.createTopic)("cms.onEntryBeforeRepublish");
271
232
  const onEntryAfterRepublish = (0, _pubsub.createTopic)("cms.onEntryAfterRepublish");
272
233
  const onEntryRepublishError = (0, _pubsub.createTopic)("cms.onEntryRepublishError");
234
+
273
235
  /**
274
236
  * Unpublish
275
237
  */
276
-
277
238
  const onEntryBeforeUnpublish = (0, _pubsub.createTopic)("cms.onEntryBeforeUnpublish");
278
239
  const onEntryAfterUnpublish = (0, _pubsub.createTopic)("cms.onEntryAfterUnpublish");
279
240
  const onEntryUnpublishError = (0, _pubsub.createTopic)("cms.onEntryUnpublishError");
241
+
280
242
  /**
281
243
  * Delete
282
244
  */
283
-
284
245
  const onEntryBeforeDelete = (0, _pubsub.createTopic)("cms.onEntryBeforeDelete");
285
246
  const onEntryAfterDelete = (0, _pubsub.createTopic)("cms.onEntryAfterDelete");
286
- const onEntryDeleteError = (0, _pubsub.createTopic)("cms.onEntryDeleteError"); // delete revision
247
+ const onEntryDeleteError = (0, _pubsub.createTopic)("cms.onEntryDeleteError");
287
248
 
249
+ /**
250
+ * Delete revision
251
+ */
288
252
  const onEntryRevisionBeforeDelete = (0, _pubsub.createTopic)("cms.onEntryRevisionBeforeDelete");
289
253
  const onEntryRevisionAfterDelete = (0, _pubsub.createTopic)("cms.onEntryRevisionAfterDelete");
290
- const onEntryRevisionDeleteError = (0, _pubsub.createTopic)("cms.onEntryRevisionDeleteError"); // get
254
+ const onEntryRevisionDeleteError = (0, _pubsub.createTopic)("cms.onEntryRevisionDeleteError");
291
255
 
292
- const onEntryBeforeGet = (0, _pubsub.createTopic)("cms.onEntryBeforeGet"); // list
256
+ /**
257
+ * Get entry
258
+ */
259
+ const onEntryBeforeGet = (0, _pubsub.createTopic)("cms.onEntryBeforeGet");
293
260
 
261
+ /**
262
+ * List entries
263
+ */
294
264
  const onEntryBeforeList = (0, _pubsub.createTopic)("cms.onEntryBeforeList");
265
+
295
266
  /**
296
267
  * We need to assign some default behaviors.
297
268
  */
298
-
299
269
  (0, _beforeCreate.assignBeforeEntryCreate)({
300
270
  context,
301
271
  onEntryBeforeCreate
@@ -308,21 +278,18 @@ const createContentEntryCrud = params => {
308
278
  context,
309
279
  onEntryAfterDelete
310
280
  });
311
-
312
281
  const checkEntryPermissions = check => {
313
282
  return (0, _permissions.checkPermissions)(context, "cms.contentEntry", check);
314
283
  };
284
+
315
285
  /**
316
286
  * A helper to delete the entire entry.
317
287
  */
318
-
319
-
320
288
  const deleteEntry = async params => {
321
289
  const {
322
290
  model,
323
291
  entry
324
292
  } = params;
325
-
326
293
  try {
327
294
  await onEntryBeforeDelete.publish({
328
295
  entry,
@@ -349,8 +316,6 @@ const createContentEntryCrud = params => {
349
316
  /**
350
317
  * A helper to get entries by revision IDs
351
318
  */
352
-
353
-
354
319
  const getEntriesByIds = async (initialModel, ids) => {
355
320
  const permission = await checkEntryPermissions({
356
321
  rwd: "r"
@@ -365,7 +330,6 @@ const createContentEntryCrud = params => {
365
330
  });
366
331
  return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
367
332
  };
368
-
369
333
  return {
370
334
  /**
371
335
  * Deprecated - will be removed in 5.35.0
@@ -386,7 +350,6 @@ const createContentEntryCrud = params => {
386
350
  onAfterEntryUnpublish: onEntryAfterUnpublish,
387
351
  onBeforeEntryGet: onEntryBeforeGet,
388
352
  onBeforeEntryList: onEntryBeforeList,
389
-
390
353
  /**
391
354
  * Released in 5.34.0
392
355
  *
@@ -395,49 +358,42 @@ const createContentEntryCrud = params => {
395
358
  onEntryBeforeCreate,
396
359
  onEntryAfterCreate,
397
360
  onEntryCreateError,
398
-
399
361
  /**
400
362
  * Create revision
401
363
  */
402
364
  onEntryRevisionBeforeCreate: onEntryBeforeCreateRevision,
403
365
  onEntryRevisionAfterCreate,
404
366
  onEntryRevisionCreateError: onEntryCreateRevisionError,
405
-
406
367
  /**
407
368
  * Update
408
369
  */
409
370
  onEntryBeforeUpdate,
410
371
  onEntryAfterUpdate,
411
372
  onEntryUpdateError,
412
-
413
373
  /**
414
374
  * Delete whole entry
415
375
  */
416
376
  onEntryBeforeDelete,
417
377
  onEntryAfterDelete,
418
378
  onEntryDeleteError,
419
-
420
379
  /**
421
380
  * Delete entry revision
422
381
  */
423
382
  onEntryRevisionBeforeDelete,
424
383
  onEntryRevisionAfterDelete,
425
384
  onEntryRevisionDeleteError,
426
-
427
385
  /**
428
386
  * Publish
429
387
  */
430
388
  onEntryBeforePublish,
431
389
  onEntryAfterPublish,
432
390
  onEntryPublishError,
433
-
434
391
  /**
435
392
  * Republish
436
393
  */
437
394
  onEntryBeforeRepublish,
438
395
  onEntryAfterRepublish,
439
396
  onEntryRepublishError,
440
-
441
397
  /**
442
398
  * Unpublish
443
399
  */
@@ -446,12 +402,10 @@ const createContentEntryCrud = params => {
446
402
  onEntryUnpublishError,
447
403
  onEntryBeforeGet,
448
404
  onEntryBeforeList,
449
-
450
405
  /**
451
406
  * Get entries by exact revision IDs from the database.
452
407
  */
453
408
  getEntriesByIds: getEntriesByIds,
454
-
455
409
  /**
456
410
  * Get a single entry by revision ID from the database.
457
411
  */
@@ -468,14 +422,11 @@ const createContentEntryCrud = params => {
468
422
  model
469
423
  });
470
424
  const [entry] = await getEntriesByIds(model, [id]);
471
-
472
425
  if (!entry) {
473
426
  throw new _handlerGraphql.NotFoundError(`Entry by ID "${id}" not found.`);
474
427
  }
475
-
476
428
  return entry;
477
429
  },
478
-
479
430
  /**
480
431
  * Get published revisions by entry IDs.
481
432
  */
@@ -493,7 +444,6 @@ const createContentEntryCrud = params => {
493
444
  });
494
445
  return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
495
446
  },
496
-
497
447
  /**
498
448
  * Get the latest revisions by entry IDs.
499
449
  */
@@ -511,7 +461,6 @@ const createContentEntryCrud = params => {
511
461
  });
512
462
  return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
513
463
  },
514
-
515
464
  async getEntryRevisions(initialModel, entryId) {
516
465
  const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
517
466
  model: initialModel,
@@ -521,7 +470,6 @@ const createContentEntryCrud = params => {
521
470
  id: entryId
522
471
  });
523
472
  },
524
-
525
473
  /**
526
474
  * TODO determine if this method is required at all.
527
475
  *
@@ -548,14 +496,11 @@ const createContentEntryCrud = params => {
548
496
  sort,
549
497
  limit: 1
550
498
  });
551
-
552
499
  if (items.length === 0) {
553
500
  throw new _handlerGraphql.NotFoundError(`Entry not found!`);
554
501
  }
555
-
556
502
  return items[0];
557
503
  },
558
-
559
504
  /**
560
505
  * @description Should not be used directly. Internal use only!
561
506
  *
@@ -578,15 +523,12 @@ const createContentEntryCrud = params => {
578
523
  /**
579
524
  * We always assign tenant and locale because we do not allow one model to have content through multiple tenants.
580
525
  */
581
-
582
526
  const where = (0, _objectSpread2.default)({}, initialWhere);
583
527
  /**
584
528
  * Possibly only get records which are owned by current user.
585
529
  * Or if searching for the owner set that value - in the case that user can see other entries than their own.
586
530
  */
587
-
588
531
  const ownedBy = permission.own ? getIdentity().id : where.ownedBy;
589
-
590
532
  if (ownedBy !== undefined) {
591
533
  where.ownedBy = ownedBy;
592
534
  }
@@ -594,8 +536,6 @@ const createContentEntryCrud = params => {
594
536
  * Where must contain either latest or published keys.
595
537
  * We cannot list entries without one of those
596
538
  */
597
-
598
-
599
539
  if (where.latest && where.published) {
600
540
  throw new _error.default("Cannot list entries that are both published and latest.", "LIST_ENTRIES_ERROR", {
601
541
  where
@@ -605,13 +545,11 @@ const createContentEntryCrud = params => {
605
545
  where
606
546
  });
607
547
  }
608
-
609
548
  const fields = (0, _searchableFields.getSearchableFields)({
610
549
  fields: model.fields,
611
550
  plugins: context.plugins,
612
551
  input: params.fields || []
613
552
  });
614
-
615
553
  try {
616
554
  await onEntryBeforeList.publish({
617
555
  where,
@@ -630,7 +568,6 @@ const createContentEntryCrud = params => {
630
568
  const meta = {
631
569
  hasMoreItems,
632
570
  totalCount,
633
-
634
571
  /**
635
572
  * Cursor should be null if there are no more items to load.
636
573
  * Just make sure of that, disregarding what is returned from the storageOperations.entries.list method.
@@ -651,7 +588,6 @@ const createContentEntryCrud = params => {
651
588
  });
652
589
  }
653
590
  },
654
-
655
591
  async listLatestEntries(model, params) {
656
592
  const where = (params === null || params === void 0 ? void 0 : params.where) || {};
657
593
  return this.listEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({
@@ -662,7 +598,6 @@ const createContentEntryCrud = params => {
662
598
  })
663
599
  }));
664
600
  },
665
-
666
601
  async listPublishedEntries(model, params) {
667
602
  const where = (params === null || params === void 0 ? void 0 : params.where) || {};
668
603
  return this.listEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({
@@ -673,7 +608,6 @@ const createContentEntryCrud = params => {
673
608
  })
674
609
  }));
675
610
  },
676
-
677
611
  async createEntry(initialModel, inputData) {
678
612
  await checkEntryPermissions({
679
613
  rwd: "w"
@@ -683,10 +617,10 @@ const createContentEntryCrud = params => {
683
617
  model: initialModel,
684
618
  plugins
685
619
  });
620
+
686
621
  /**
687
622
  * Make sure we only work with fields that are defined in the model.
688
623
  */
689
-
690
624
  const initialInput = mapAndCleanCreateInputData(model, inputData);
691
625
  await (0, _entryDataValidation.validateModelEntryData)({
692
626
  context,
@@ -699,18 +633,17 @@ const createContentEntryCrud = params => {
699
633
  input: initialInput,
700
634
  validateEntries: true
701
635
  });
702
- const identity = context.security.getIdentity();
703
636
  const locale = this.getLocale();
704
- const owner = {
705
- id: identity.id,
706
- displayName: identity.displayName,
707
- type: identity.type
708
- };
637
+ const owner = getCreatedBy();
709
638
  const {
710
639
  id,
711
640
  entryId,
712
641
  version
713
- } = createEntryId(1);
642
+ } = createEntryId(inputData);
643
+ /**
644
+ * There is a possibility that user sends an ID in the input, so we will use that one.
645
+ * There is no check if the ID is unique or not, that is up to the user.
646
+ */
714
647
  const entry = {
715
648
  webinyVersion: context.WEBINY_VERSION,
716
649
  tenant: getTenant().id,
@@ -722,13 +655,13 @@ const createContentEntryCrud = params => {
722
655
  savedOn: new Date().toISOString(),
723
656
  createdBy: owner,
724
657
  ownedBy: owner,
658
+ modifiedBy: null,
725
659
  version,
726
660
  locked: false,
727
661
  status: STATUS_DRAFT,
728
662
  values: input
729
663
  };
730
664
  let storageEntry = null;
731
-
732
665
  try {
733
666
  await onEntryBeforeCreate.publish({
734
667
  entry,
@@ -762,7 +695,6 @@ const createContentEntryCrud = params => {
762
695
  });
763
696
  }
764
697
  },
765
-
766
698
  async createEntryRevisionFrom(initialModel, sourceId, inputData) {
767
699
  const permission = await checkEntryPermissions({
768
700
  rwd: "w"
@@ -772,15 +704,15 @@ const createContentEntryCrud = params => {
772
704
  model: initialModel,
773
705
  plugins
774
706
  });
707
+
775
708
  /**
776
709
  * Make sure we only work with fields that are defined in the model.
777
710
  */
778
-
779
711
  const input = mapAndCleanUpdatedInputData(model, inputData);
712
+
780
713
  /**
781
714
  * Entries are identified by a common parent ID + Revision number.
782
715
  */
783
-
784
716
  const {
785
717
  id: uniqueId
786
718
  } = (0, _utils.parseIdentifier)(sourceId);
@@ -790,15 +722,13 @@ const createContentEntryCrud = params => {
790
722
  const latestStorageEntry = await storageOperations.entries.getLatestRevisionByEntryId(model, {
791
723
  id: uniqueId
792
724
  });
793
-
794
725
  if (!originalStorageEntry) {
795
726
  throw new _handlerGraphql.NotFoundError(`Entry "${sourceId}" of model "${model.modelId}" was not found.`);
796
727
  }
728
+
797
729
  /**
798
730
  * We need to convert data from DB to its original form before using it further.
799
731
  */
800
-
801
-
802
732
  const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
803
733
  const initialValues = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originalEntry.values), input);
804
734
  await (0, _entryDataValidation.validateModelEntryData)({
@@ -814,7 +744,7 @@ const createContentEntryCrud = params => {
814
744
  validateEntries: false
815
745
  });
816
746
  (0, _ownership.checkOwnership)(context, permission, originalEntry);
817
- const identity = context.security.getIdentity();
747
+ const identity = getIdentity();
818
748
  const latestId = latestStorageEntry ? latestStorageEntry.id : sourceId;
819
749
  const {
820
750
  id,
@@ -830,13 +760,13 @@ const createContentEntryCrud = params => {
830
760
  displayName: identity.displayName,
831
761
  type: identity.type
832
762
  },
763
+ modifiedBy: null,
833
764
  locked: false,
834
765
  publishedOn: undefined,
835
766
  status: STATUS_DRAFT,
836
767
  values
837
768
  });
838
769
  let storageEntry = null;
839
-
840
770
  try {
841
771
  await onEntryBeforeCreateRevision.publish({
842
772
  input,
@@ -874,7 +804,6 @@ const createContentEntryCrud = params => {
874
804
  });
875
805
  }
876
806
  },
877
-
878
807
  async updateEntry(initialModel, id, inputData, metaInput) {
879
808
  const permission = await checkEntryPermissions({
880
809
  rwd: "w"
@@ -884,27 +813,24 @@ const createContentEntryCrud = params => {
884
813
  model: initialModel,
885
814
  plugins
886
815
  });
816
+
887
817
  /**
888
818
  * Make sure we only work with fields that are defined in the model.
889
819
  */
890
-
891
820
  const input = mapAndCleanUpdatedInputData(model, inputData);
821
+
892
822
  /**
893
823
  * The entry we are going to update.
894
824
  */
895
-
896
825
  const originalStorageEntry = await storageOperations.entries.getRevisionById(model, {
897
826
  id
898
827
  });
899
-
900
828
  if (!originalStorageEntry) {
901
829
  throw new _handlerGraphql.NotFoundError(`Entry "${id}" of model "${model.modelId}" was not found.`);
902
830
  }
903
-
904
831
  if (originalStorageEntry.locked) {
905
832
  throw new _error.default(`Cannot update entry because it's locked.`, "CONTENT_ENTRY_UPDATE_ERROR");
906
833
  }
907
-
908
834
  const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
909
835
  await (0, _entryDataValidation.validateModelEntryData)({
910
836
  context,
@@ -923,20 +849,18 @@ const createContentEntryCrud = params => {
923
849
  /**
924
850
  * If users wants to remove a key from meta values, they need to send meta key with the null value.
925
851
  */
926
-
927
852
  const meta = createEntryMeta(metaInput, originalEntry.meta);
928
853
  /**
929
854
  * We always send the full entry to the hooks and storage operations update.
930
855
  */
931
-
932
856
  const entry = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originalEntry), {}, {
933
857
  savedOn: new Date().toISOString(),
858
+ modifiedBy: getCreatedBy(),
934
859
  values,
935
860
  meta,
936
861
  status: transformEntryStatus(originalEntry.status)
937
862
  });
938
863
  let storageEntry = null;
939
-
940
864
  try {
941
865
  await onEntryBeforeUpdate.publish({
942
866
  entry,
@@ -973,7 +897,6 @@ const createContentEntryCrud = params => {
973
897
  });
974
898
  }
975
899
  },
976
-
977
900
  /**
978
901
  * Method used internally. Not documented and should not be used in users systems.
979
902
  * @internal
@@ -990,27 +913,22 @@ const createContentEntryCrud = params => {
990
913
  /**
991
914
  * Fetch the entry from the storage.
992
915
  */
993
-
994
916
  const originalStorageEntry = await storageOperations.entries.getRevisionById(model, {
995
917
  id
996
918
  });
997
-
998
919
  if (!originalStorageEntry) {
999
920
  throw new _handlerGraphql.NotFoundError(`Entry "${id}" was not found!`);
1000
921
  }
1001
-
1002
922
  const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
1003
923
  /**
1004
924
  * We can only process published entries.
1005
925
  */
1006
-
1007
926
  if (originalEntry.status !== "published") {
1008
927
  throw new _error.default("Entry with given ID is not published!", "NOT_PUBLISHED_ERROR", {
1009
928
  id,
1010
929
  original: originalEntry
1011
930
  });
1012
931
  }
1013
-
1014
932
  const values = await (0, _referenceFieldsMapping.referenceFieldsMapping)({
1015
933
  context,
1016
934
  model,
@@ -1026,7 +944,6 @@ const createContentEntryCrud = params => {
1026
944
  /**
1027
945
  * First we need to update existing entry.
1028
946
  */
1029
-
1030
947
  try {
1031
948
  await storageOperations.entries.update(model, {
1032
949
  entry,
@@ -1040,8 +957,6 @@ const createContentEntryCrud = params => {
1040
957
  /**
1041
958
  * Then we move onto publishing it again.
1042
959
  */
1043
-
1044
-
1045
960
  try {
1046
961
  await onEntryBeforeRepublish.publish({
1047
962
  entry,
@@ -1068,7 +983,6 @@ const createContentEntryCrud = params => {
1068
983
  });
1069
984
  }
1070
985
  },
1071
-
1072
986
  async deleteEntryRevision(initialModel, revisionId) {
1073
987
  const permission = await checkEntryPermissions({
1074
988
  rwd: "d"
@@ -1092,11 +1006,9 @@ const createContentEntryCrud = params => {
1092
1006
  entryId,
1093
1007
  version: version
1094
1008
  });
1095
-
1096
1009
  if (!storageEntryToDelete) {
1097
1010
  throw new _handlerGraphql.NotFoundError(`Entry "${revisionId}" was not found!`);
1098
1011
  }
1099
-
1100
1012
  (0, _ownership.checkOwnership)(context, permission, storageEntryToDelete);
1101
1013
  const latestEntryRevisionId = latestStorageEntry ? latestStorageEntry.id : null;
1102
1014
  const entryToDelete = await (0, _entryStorage.entryFromStorageTransform)(context, model, storageEntryToDelete);
@@ -1104,7 +1016,6 @@ const createContentEntryCrud = params => {
1104
1016
  * If targeted record is the latest entry record and there is no previous one, we need to run full delete with hooks.
1105
1017
  * At this point deleteRevision hooks are not fired.
1106
1018
  */
1107
-
1108
1019
  if (entryToDelete.id === latestEntryRevisionId && !previousStorageEntry) {
1109
1020
  return await deleteEntry({
1110
1021
  model,
@@ -1114,16 +1025,12 @@ const createContentEntryCrud = params => {
1114
1025
  /**
1115
1026
  * If targeted record is latest entry revision, set the previous one as the new latest
1116
1027
  */
1117
-
1118
-
1119
1028
  let entryToSetAsLatest = null;
1120
1029
  let storageEntryToSetAsLatest = null;
1121
-
1122
1030
  if (entryToDelete.id === latestEntryRevisionId && previousStorageEntry) {
1123
1031
  entryToSetAsLatest = await (0, _entryStorage.entryFromStorageTransform)(context, model, previousStorageEntry);
1124
1032
  storageEntryToSetAsLatest = previousStorageEntry;
1125
1033
  }
1126
-
1127
1034
  try {
1128
1035
  await onEntryRevisionBeforeDelete.publish({
1129
1036
  entry: entryToDelete,
@@ -1154,7 +1061,6 @@ const createContentEntryCrud = params => {
1154
1061
  });
1155
1062
  }
1156
1063
  },
1157
-
1158
1064
  async deleteEntry(initialModel, entryId) {
1159
1065
  const permission = await checkEntryPermissions({
1160
1066
  rwd: "d"
@@ -1167,11 +1073,9 @@ const createContentEntryCrud = params => {
1167
1073
  const storageEntry = await storageOperations.entries.getLatestRevisionByEntryId(model, {
1168
1074
  id: entryId
1169
1075
  });
1170
-
1171
1076
  if (!storageEntry) {
1172
1077
  throw new _handlerGraphql.NotFoundError(`Entry "${entryId}" was not found!`);
1173
1078
  }
1174
-
1175
1079
  (0, _ownership.checkOwnership)(context, permission, storageEntry);
1176
1080
  const entry = await (0, _entryStorage.entryFromStorageTransform)(context, model, storageEntry);
1177
1081
  return await deleteEntry({
@@ -1179,7 +1083,6 @@ const createContentEntryCrud = params => {
1179
1083
  entry
1180
1084
  });
1181
1085
  },
1182
-
1183
1086
  async publishEntry(initialModel, id) {
1184
1087
  const permission = await checkEntryPermissions({
1185
1088
  pw: "p"
@@ -1192,11 +1095,9 @@ const createContentEntryCrud = params => {
1192
1095
  const originalStorageEntry = await storageOperations.entries.getRevisionById(model, {
1193
1096
  id
1194
1097
  });
1195
-
1196
1098
  if (!originalStorageEntry) {
1197
1099
  throw new _handlerGraphql.NotFoundError(`Entry "${id}" in the model "${model.modelId}" was not found.`);
1198
1100
  }
1199
-
1200
1101
  (0, _ownership.checkOwnership)(context, permission, originalStorageEntry);
1201
1102
  const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
1202
1103
  const currentDate = new Date().toISOString();
@@ -1207,7 +1108,6 @@ const createContentEntryCrud = params => {
1207
1108
  publishedOn: currentDate
1208
1109
  });
1209
1110
  let storageEntry = null;
1210
-
1211
1111
  try {
1212
1112
  await onEntryBeforePublish.publish({
1213
1113
  entry,
@@ -1239,7 +1139,6 @@ const createContentEntryCrud = params => {
1239
1139
  });
1240
1140
  }
1241
1141
  },
1242
-
1243
1142
  async unpublishEntry(initialModel, id) {
1244
1143
  const permission = await checkEntryPermissions({
1245
1144
  pw: "u"
@@ -1254,24 +1153,20 @@ const createContentEntryCrud = params => {
1254
1153
  const originalStorageEntry = await storageOperations.entries.getPublishedRevisionByEntryId(model, {
1255
1154
  id: entryId
1256
1155
  });
1257
-
1258
1156
  if (!originalStorageEntry) {
1259
1157
  throw new _handlerGraphql.NotFoundError(`Entry "${id}" of model "${model.modelId}" was not found.`);
1260
1158
  }
1261
-
1262
1159
  if (originalStorageEntry.id !== id) {
1263
1160
  throw new _error.default(`Entry is not published.`, "UNPUBLISH_ERROR", {
1264
1161
  entry: originalStorageEntry
1265
1162
  });
1266
1163
  }
1267
-
1268
1164
  (0, _ownership.checkOwnership)(context, permission, originalStorageEntry);
1269
1165
  const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
1270
1166
  const entry = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originalEntry), {}, {
1271
1167
  status: STATUS_UNPUBLISHED
1272
1168
  });
1273
1169
  let storageEntry = null;
1274
-
1275
1170
  try {
1276
1171
  await onEntryBeforeUnpublish.publish({
1277
1172
  entry,
@@ -1302,8 +1197,6 @@ const createContentEntryCrud = params => {
1302
1197
  });
1303
1198
  }
1304
1199
  }
1305
-
1306
1200
  };
1307
1201
  };
1308
-
1309
1202
  exports.createContentEntryCrud = createContentEntryCrud;