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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/context.js +0 -15
  2. package/context.js.map +1 -1
  3. package/crud/contentEntry/afterDelete.js +0 -5
  4. package/crud/contentEntry/afterDelete.js.map +1 -1
  5. package/crud/contentEntry/beforeCreate.js +0 -3
  6. package/crud/contentEntry/beforeCreate.js.map +1 -1
  7. package/crud/contentEntry/beforeUpdate.js +0 -3
  8. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  9. package/crud/contentEntry/entryDataValidation.js +1 -40
  10. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  11. package/crud/contentEntry/markLockedFields.js +2 -25
  12. package/crud/contentEntry/markLockedFields.js.map +1 -1
  13. package/crud/contentEntry/referenceFieldsMapping.js +5 -59
  14. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  15. package/crud/contentEntry.crud.js +27 -145
  16. package/crud/contentEntry.crud.js.map +1 -1
  17. package/crud/contentModel/afterCreate.js +0 -2
  18. package/crud/contentModel/afterCreate.js.map +1 -1
  19. package/crud/contentModel/afterCreateFrom.js +0 -2
  20. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  21. package/crud/contentModel/afterDelete.js +0 -2
  22. package/crud/contentModel/afterDelete.js.map +1 -1
  23. package/crud/contentModel/afterUpdate.js +0 -2
  24. package/crud/contentModel/afterUpdate.js.map +1 -1
  25. package/crud/contentModel/beforeCreate.js +4 -32
  26. package/crud/contentModel/beforeCreate.js.map +1 -1
  27. package/crud/contentModel/beforeDelete.js +0 -10
  28. package/crud/contentModel/beforeDelete.js.map +1 -1
  29. package/crud/contentModel/beforeUpdate.js +0 -5
  30. package/crud/contentModel/beforeUpdate.js.map +1 -1
  31. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  32. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  33. package/crud/contentModel/createFieldModels.js +0 -6
  34. package/crud/contentModel/createFieldModels.js.map +1 -1
  35. package/crud/contentModel/createFieldStorageId.js +0 -2
  36. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  37. package/crud/contentModel/fieldIdValidation.js +0 -5
  38. package/crud/contentModel/fieldIdValidation.js.map +1 -1
  39. package/crud/contentModel/idValidation.js +0 -5
  40. package/crud/contentModel/idValidation.js.map +1 -1
  41. package/crud/contentModel/models.js +1 -8
  42. package/crud/contentModel/models.js.map +1 -1
  43. package/crud/contentModel/systemFields.js.map +1 -1
  44. package/crud/contentModel/validateLayout.js +0 -8
  45. package/crud/contentModel/validateLayout.js.map +1 -1
  46. package/crud/contentModel/validateModel.js +0 -8
  47. package/crud/contentModel/validateModel.js.map +1 -1
  48. package/crud/contentModel/validateModelFields.js +8 -60
  49. package/crud/contentModel/validateModelFields.js.map +1 -1
  50. package/crud/contentModel.crud.js +25 -95
  51. package/crud/contentModel.crud.js.map +1 -1
  52. package/crud/contentModelGroup/beforeCreate.js +0 -12
  53. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  54. package/crud/contentModelGroup/beforeDelete.js +0 -8
  55. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  56. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  57. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  58. package/crud/contentModelGroup.crud.js +10 -47
  59. package/crud/contentModelGroup.crud.js.map +1 -1
  60. package/crud/index.js +0 -16
  61. package/crud/index.js.map +1 -1
  62. package/crud/settings.crud.js +0 -12
  63. package/crud/settings.crud.js.map +1 -1
  64. package/crud/system.crud.js +2 -37
  65. package/crud/system.crud.js.map +1 -1
  66. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  67. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  68. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
  69. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  70. package/fieldConverters/index.js +0 -4
  71. package/fieldConverters/index.js.map +1 -1
  72. package/graphql/buildSchemaPlugins.js +5 -9
  73. package/graphql/buildSchemaPlugins.js.map +1 -1
  74. package/graphql/graphQLHandlerFactory.js +3 -28
  75. package/graphql/graphQLHandlerFactory.js.map +1 -1
  76. package/graphql/index.js +1 -8
  77. package/graphql/index.js.map +1 -1
  78. package/graphql/schema/baseContentSchema.js +3 -11
  79. package/graphql/schema/baseContentSchema.js.map +1 -1
  80. package/graphql/schema/contentEntries.js +2 -42
  81. package/graphql/schema/contentEntries.js.map +1 -1
  82. package/graphql/schema/contentModelGroups.js +2 -19
  83. package/graphql/schema/contentModelGroups.js.map +1 -1
  84. package/graphql/schema/contentModels.js +20 -17
  85. package/graphql/schema/contentModels.js.map +1 -1
  86. package/graphql/schema/createFieldResolvers.js +3 -21
  87. package/graphql/schema/createFieldResolvers.js.map +1 -1
  88. package/graphql/schema/createManageResolvers.js +0 -26
  89. package/graphql/schema/createManageResolvers.js.map +1 -1
  90. package/graphql/schema/createManageSDL.js +1 -14
  91. package/graphql/schema/createManageSDL.js.map +1 -1
  92. package/graphql/schema/createPreviewResolvers.js +0 -10
  93. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  94. package/graphql/schema/createReadResolvers.js +0 -10
  95. package/graphql/schema/createReadResolvers.js.map +1 -1
  96. package/graphql/schema/createReadSDL.js +0 -10
  97. package/graphql/schema/createReadSDL.js.map +1 -1
  98. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -2
  99. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  100. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  101. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  102. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  103. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  104. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  105. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  106. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  107. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  108. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  109. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  110. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  111. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  112. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  113. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  114. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  115. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  116. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  117. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  118. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  119. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  120. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  121. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  122. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  123. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  124. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  125. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  126. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  127. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  128. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  129. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  130. package/graphql/schema/schemaPlugins.js +5 -19
  131. package/graphql/schema/schemaPlugins.js.map +1 -1
  132. package/graphql/system.js +1 -14
  133. package/graphql/system.js.map +1 -1
  134. package/graphqlFields/boolean.js +0 -12
  135. package/graphqlFields/boolean.js.map +1 -1
  136. package/graphqlFields/datetime.js +0 -17
  137. package/graphqlFields/datetime.js.map +1 -1
  138. package/graphqlFields/file.js +0 -8
  139. package/graphqlFields/file.js.map +1 -1
  140. package/graphqlFields/helpers.js +0 -10
  141. package/graphqlFields/helpers.js.map +1 -1
  142. package/graphqlFields/index.js +0 -11
  143. package/graphqlFields/index.js.map +1 -1
  144. package/graphqlFields/longText.js +0 -10
  145. package/graphqlFields/longText.js.map +1 -1
  146. package/graphqlFields/number.js +0 -12
  147. package/graphqlFields/number.js.map +1 -1
  148. package/graphqlFields/object.js +6 -36
  149. package/graphqlFields/object.js.map +1 -1
  150. package/graphqlFields/ref.js +17 -51
  151. package/graphqlFields/ref.js.map +1 -1
  152. package/graphqlFields/richText.js +0 -9
  153. package/graphqlFields/richText.js.map +1 -1
  154. package/graphqlFields/text.js +0 -11
  155. package/graphqlFields/text.js.map +1 -1
  156. package/index.js +0 -19
  157. package/index.js.map +1 -1
  158. package/modelManager/DefaultCmsModelManager.js +0 -16
  159. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  160. package/modelManager/index.js +0 -4
  161. package/modelManager/index.js.map +1 -1
  162. package/package.json +24 -25
  163. package/parameters/context.js +0 -4
  164. package/parameters/context.js.map +1 -1
  165. package/parameters/header.js +0 -11
  166. package/parameters/header.js.map +1 -1
  167. package/parameters/index.js +0 -8
  168. package/parameters/index.js.map +1 -1
  169. package/parameters/manual.js +1 -8
  170. package/parameters/manual.js.map +1 -1
  171. package/parameters/path.js +0 -11
  172. package/parameters/path.js.map +1 -1
  173. package/plugins/CmsGroupPlugin.js +0 -8
  174. package/plugins/CmsGroupPlugin.js.map +1 -1
  175. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  176. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  177. package/plugins/CmsModelPlugin.js +2 -38
  178. package/plugins/CmsModelPlugin.js.map +1 -1
  179. package/plugins/CmsParametersPlugin.js +0 -7
  180. package/plugins/CmsParametersPlugin.js.map +1 -1
  181. package/plugins/StorageTransformPlugin.js +0 -9
  182. package/plugins/StorageTransformPlugin.js.map +1 -1
  183. package/plugins/index.js +0 -10
  184. package/plugins/index.js.map +1 -1
  185. package/storage/default.js +0 -3
  186. package/storage/default.js.map +1 -1
  187. package/storage/object.js +0 -18
  188. package/storage/object.js.map +1 -1
  189. package/types.d.ts +14 -3
  190. package/types.js +0 -62
  191. package/types.js.map +1 -1
  192. package/upgrades/5.33.0/index.js +3 -26
  193. package/upgrades/5.33.0/index.js.map +1 -1
  194. package/upgrades/index.js +0 -3
  195. package/upgrades/index.js.map +1 -1
  196. package/utils/access.js +11 -25
  197. package/utils/access.js.map +1 -1
  198. package/utils/converters/Converter.js +0 -13
  199. package/utils/converters/Converter.js.map +1 -1
  200. package/utils/converters/ConverterCollection.d.ts +7 -0
  201. package/utils/converters/ConverterCollection.js +27 -24
  202. package/utils/converters/ConverterCollection.js.map +1 -1
  203. package/utils/converters/valueKeyStorageConverter.js +0 -26
  204. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  205. package/utils/createTypeName.js +0 -8
  206. package/utils/createTypeName.js.map +1 -1
  207. package/utils/entryStorage.js +10 -26
  208. package/utils/entryStorage.js.map +1 -1
  209. package/utils/filterAsync.js +0 -5
  210. package/utils/filterAsync.js.map +1 -1
  211. package/utils/filterModelFields.js +3 -9
  212. package/utils/filterModelFields.js.map +1 -1
  213. package/utils/getEntryTitle.js +0 -9
  214. package/utils/getEntryTitle.js.map +1 -1
  215. package/utils/getSchemaFromFieldPlugins.js +2 -6
  216. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  217. package/utils/ownership.js +0 -8
  218. package/utils/ownership.js.map +1 -1
  219. package/utils/permissions.js +8 -23
  220. package/utils/permissions.js.map +1 -1
  221. package/utils/pluralizedTypeName.js +0 -6
  222. package/utils/pluralizedTypeName.js.map +1 -1
  223. package/utils/renderFields.js +0 -8
  224. package/utils/renderFields.js.map +1 -1
  225. package/utils/renderGetFilterFields.js +0 -11
  226. package/utils/renderGetFilterFields.js.map +1 -1
  227. package/utils/renderInputFields.js +0 -8
  228. package/utils/renderInputFields.js.map +1 -1
  229. package/utils/renderListFilterFields.js +1 -9
  230. package/utils/renderListFilterFields.js.map +1 -1
  231. package/utils/renderSortEnum.js +0 -7
  232. package/utils/renderSortEnum.js.map +1 -1
  233. package/utils/toSlug.js +0 -4
  234. package/utils/toSlug.js.map +1 -1
  235. package/validators/dateGte.js +0 -7
  236. package/validators/dateGte.js.map +1 -1
  237. package/validators/dateLte.js +0 -7
  238. package/validators/dateLte.js.map +1 -1
  239. package/validators/gte.js +0 -8
  240. package/validators/gte.js.map +1 -1
  241. package/validators/in.js +0 -8
  242. package/validators/in.js.map +1 -1
  243. package/validators/index.js +0 -15
  244. package/validators/index.js.map +1 -1
  245. package/validators/lte.js +0 -8
  246. package/validators/lte.js.map +1 -1
  247. package/validators/maxLength.js +0 -8
  248. package/validators/maxLength.js.map +1 -1
  249. package/validators/minLength.js +0 -8
  250. package/validators/minLength.js.map +1 -1
  251. package/validators/pattern.js +0 -9
  252. package/validators/pattern.js.map +1 -1
  253. package/validators/patternPlugins/email.js +0 -2
  254. package/validators/patternPlugins/email.js.map +1 -1
  255. package/validators/patternPlugins/index.js +0 -8
  256. package/validators/patternPlugins/index.js.map +1 -1
  257. package/validators/patternPlugins/lowerCase.js +0 -2
  258. package/validators/patternPlugins/lowerCase.js.map +1 -1
  259. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  260. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  261. package/validators/patternPlugins/upperCase.js +0 -2
  262. package/validators/patternPlugins/upperCase.js.map +1 -1
  263. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  264. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  265. package/validators/patternPlugins/url.js +0 -2
  266. package/validators/patternPlugins/url.js.map +1 -1
  267. package/validators/required.js +0 -5
  268. package/validators/required.js.map +1 -1
  269. package/validators/timeGte.js +0 -8
  270. package/validators/timeGte.js.map +1 -1
  271. package/validators/timeLte.js +0 -8
  272. package/validators/timeLte.js.map +1 -1
  273. package/validators/unique.js +0 -7
  274. package/validators/unique.js.map +1 -1
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createSettingsCrud = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _permissions = require("../utils/permissions");
13
-
14
10
  const createSettingsCrud = params => {
15
11
  const {
16
12
  storageOperations,
@@ -18,11 +14,9 @@ const createSettingsCrud = params => {
18
14
  getTenant,
19
15
  getLocale
20
16
  } = params;
21
-
22
17
  const checkPermissions = () => {
23
18
  return (0, _permissions.checkPermissions)(context, "cms.settings");
24
19
  };
25
-
26
20
  return {
27
21
  getSettings: async () => {
28
22
  await checkPermissions();
@@ -41,14 +35,12 @@ const createSettingsCrud = params => {
41
35
  tenant: getTenant().id,
42
36
  locale: getLocale().code
43
37
  });
44
-
45
38
  if (!original) {
46
39
  await storageOperations.settings.create({
47
40
  settings
48
41
  });
49
42
  return;
50
43
  }
51
-
52
44
  await storageOperations.settings.update({
53
45
  settings
54
46
  });
@@ -59,11 +51,9 @@ const createSettingsCrud = params => {
59
51
  tenant: getTenant().id,
60
52
  locale: getLocale().code
61
53
  });
62
-
63
54
  if (!(settings !== null && settings !== void 0 && settings.contentModelLastChange)) {
64
55
  return new Date();
65
56
  }
66
-
67
57
  return settings.contentModelLastChange;
68
58
  } catch (ex) {
69
59
  console.log({
@@ -74,10 +64,8 @@ const createSettingsCrud = params => {
74
64
  }
75
65
  });
76
66
  }
77
-
78
67
  return new Date();
79
68
  }
80
69
  };
81
70
  };
82
-
83
71
  exports.createSettingsCrud = createSettingsCrud;
@@ -1 +1 @@
1
- {"version":3,"names":["createSettingsCrud","params","storageOperations","context","getTenant","getLocale","checkPermissions","baseCheckPermissions","getSettings","settings","get","tenant","id","locale","code","updateModelLastChange","original","contentModelLastChange","Date","create","update","getModelLastChange","ex","console","log","error","message","data"],"sources":["settings.crud.ts"],"sourcesContent":["import {\n CmsContext,\n CmsSettingsPermission,\n CmsSettings,\n HeadlessCmsStorageOperations,\n CmsSettingsContext\n} from \"~/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { checkPermissions as baseCheckPermissions } from \"~/utils/permissions\";\n\nexport interface CreateSettingsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n}\nexport const createSettingsCrud = (params: CreateSettingsCrudParams): CmsSettingsContext => {\n const { storageOperations, context, getTenant, getLocale } = params;\n\n const checkPermissions = (): Promise<CmsSettingsPermission> => {\n return baseCheckPermissions(context, \"cms.settings\");\n };\n\n return {\n getSettings: async (): Promise<CmsSettings | null> => {\n await checkPermissions();\n return await storageOperations.settings.get({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n },\n updateModelLastChange: async (): Promise<void> => {\n const original = await storageOperations.settings.get({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n\n const settings: CmsSettings = {\n ...(original || {}),\n contentModelLastChange: new Date(),\n tenant: getTenant().id,\n locale: getLocale().code\n };\n\n if (!original) {\n await storageOperations.settings.create({ settings });\n return;\n }\n\n await storageOperations.settings.update({\n settings\n });\n },\n getModelLastChange: async (): Promise<Date> => {\n try {\n const settings = await storageOperations.settings.get({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n if (!settings?.contentModelLastChange) {\n return new Date();\n }\n return settings.contentModelLastChange;\n } catch (ex) {\n console.log({\n error: {\n message: ex.message,\n code: ex.code || \"COULD_NOT_FETCH_CONTENT_MODEL_LAST_CHANGE\",\n data: ex\n }\n });\n }\n return new Date();\n }\n };\n};\n"],"mappings":";;;;;;;;;;;AASA;;AAQO,MAAMA,kBAAkB,GAAIC,MAAD,IAA0D;EACxF,MAAM;IAAEC,iBAAF;IAAqBC,OAArB;IAA8BC,SAA9B;IAAyCC;EAAzC,IAAuDJ,MAA7D;;EAEA,MAAMK,gBAAgB,GAAG,MAAsC;IAC3D,OAAO,IAAAC,6BAAA,EAAqBJ,OAArB,EAA8B,cAA9B,CAAP;EACH,CAFD;;EAIA,OAAO;IACHK,WAAW,EAAE,YAAyC;MAClD,MAAMF,gBAAgB,EAAtB;MACA,OAAO,MAAMJ,iBAAiB,CAACO,QAAlB,CAA2BC,GAA3B,CAA+B;QACxCC,MAAM,EAAEP,SAAS,GAAGQ,EADoB;QAExCC,MAAM,EAAER,SAAS,GAAGS;MAFoB,CAA/B,CAAb;IAIH,CAPE;IAQHC,qBAAqB,EAAE,YAA2B;MAC9C,MAAMC,QAAQ,GAAG,MAAMd,iBAAiB,CAACO,QAAlB,CAA2BC,GAA3B,CAA+B;QAClDC,MAAM,EAAEP,SAAS,GAAGQ,EAD8B;QAElDC,MAAM,EAAER,SAAS,GAAGS;MAF8B,CAA/B,CAAvB;MAKA,MAAML,QAAqB,+DACnBO,QAAQ,IAAI,EADO;QAEvBC,sBAAsB,EAAE,IAAIC,IAAJ,EAFD;QAGvBP,MAAM,EAAEP,SAAS,GAAGQ,EAHG;QAIvBC,MAAM,EAAER,SAAS,GAAGS;MAJG,EAA3B;;MAOA,IAAI,CAACE,QAAL,EAAe;QACX,MAAMd,iBAAiB,CAACO,QAAlB,CAA2BU,MAA3B,CAAkC;UAAEV;QAAF,CAAlC,CAAN;QACA;MACH;;MAED,MAAMP,iBAAiB,CAACO,QAAlB,CAA2BW,MAA3B,CAAkC;QACpCX;MADoC,CAAlC,CAAN;IAGH,CA7BE;IA8BHY,kBAAkB,EAAE,YAA2B;MAC3C,IAAI;QACA,MAAMZ,QAAQ,GAAG,MAAMP,iBAAiB,CAACO,QAAlB,CAA2BC,GAA3B,CAA+B;UAClDC,MAAM,EAAEP,SAAS,GAAGQ,EAD8B;UAElDC,MAAM,EAAER,SAAS,GAAGS;QAF8B,CAA/B,CAAvB;;QAIA,IAAI,EAACL,QAAD,aAACA,QAAD,eAACA,QAAQ,CAAEQ,sBAAX,CAAJ,EAAuC;UACnC,OAAO,IAAIC,IAAJ,EAAP;QACH;;QACD,OAAOT,QAAQ,CAACQ,sBAAhB;MACH,CATD,CASE,OAAOK,EAAP,EAAW;QACTC,OAAO,CAACC,GAAR,CAAY;UACRC,KAAK,EAAE;YACHC,OAAO,EAAEJ,EAAE,CAACI,OADT;YAEHZ,IAAI,EAAEQ,EAAE,CAACR,IAAH,IAAW,2CAFd;YAGHa,IAAI,EAAEL;UAHH;QADC,CAAZ;MAOH;;MACD,OAAO,IAAIJ,IAAJ,EAAP;IACH;EAlDE,CAAP;AAoDH,CA3DM"}
1
+ {"version":3,"names":["createSettingsCrud","params","storageOperations","context","getTenant","getLocale","checkPermissions","baseCheckPermissions","getSettings","settings","get","tenant","id","locale","code","updateModelLastChange","original","contentModelLastChange","Date","create","update","getModelLastChange","ex","console","log","error","message","data"],"sources":["settings.crud.ts"],"sourcesContent":["import {\n CmsContext,\n CmsSettingsPermission,\n CmsSettings,\n HeadlessCmsStorageOperations,\n CmsSettingsContext\n} from \"~/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { checkPermissions as baseCheckPermissions } from \"~/utils/permissions\";\n\nexport interface CreateSettingsCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n}\nexport const createSettingsCrud = (params: CreateSettingsCrudParams): CmsSettingsContext => {\n const { storageOperations, context, getTenant, getLocale } = params;\n\n const checkPermissions = (): Promise<CmsSettingsPermission> => {\n return baseCheckPermissions(context, \"cms.settings\");\n };\n\n return {\n getSettings: async (): Promise<CmsSettings | null> => {\n await checkPermissions();\n return await storageOperations.settings.get({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n },\n updateModelLastChange: async (): Promise<void> => {\n const original = await storageOperations.settings.get({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n\n const settings: CmsSettings = {\n ...(original || {}),\n contentModelLastChange: new Date(),\n tenant: getTenant().id,\n locale: getLocale().code\n };\n\n if (!original) {\n await storageOperations.settings.create({ settings });\n return;\n }\n\n await storageOperations.settings.update({\n settings\n });\n },\n getModelLastChange: async (): Promise<Date> => {\n try {\n const settings = await storageOperations.settings.get({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n if (!settings?.contentModelLastChange) {\n return new Date();\n }\n return settings.contentModelLastChange;\n } catch (ex) {\n console.log({\n error: {\n message: ex.message,\n code: ex.code || \"COULD_NOT_FETCH_CONTENT_MODEL_LAST_CHANGE\",\n data: ex\n }\n });\n }\n return new Date();\n }\n };\n};\n"],"mappings":";;;;;;;;AASA;AAQO,MAAMA,kBAAkB,GAAIC,MAAgC,IAAyB;EACxF,MAAM;IAAEC,iBAAiB;IAAEC,OAAO;IAAEC,SAAS;IAAEC;EAAU,CAAC,GAAGJ,MAAM;EAEnE,MAAMK,gBAAgB,GAAG,MAAsC;IAC3D,OAAO,IAAAC,6BAAoB,EAACJ,OAAO,EAAE,cAAc,CAAC;EACxD,CAAC;EAED,OAAO;IACHK,WAAW,EAAE,YAAyC;MAClD,MAAMF,gBAAgB,EAAE;MACxB,OAAO,MAAMJ,iBAAiB,CAACO,QAAQ,CAACC,GAAG,CAAC;QACxCC,MAAM,EAAEP,SAAS,EAAE,CAACQ,EAAE;QACtBC,MAAM,EAAER,SAAS,EAAE,CAACS;MACxB,CAAC,CAAC;IACN,CAAC;IACDC,qBAAqB,EAAE,YAA2B;MAC9C,MAAMC,QAAQ,GAAG,MAAMd,iBAAiB,CAACO,QAAQ,CAACC,GAAG,CAAC;QAClDC,MAAM,EAAEP,SAAS,EAAE,CAACQ,EAAE;QACtBC,MAAM,EAAER,SAAS,EAAE,CAACS;MACxB,CAAC,CAAC;MAEF,MAAML,QAAqB,+DACnBO,QAAQ,IAAI,CAAC,CAAC;QAClBC,sBAAsB,EAAE,IAAIC,IAAI,EAAE;QAClCP,MAAM,EAAEP,SAAS,EAAE,CAACQ,EAAE;QACtBC,MAAM,EAAER,SAAS,EAAE,CAACS;MAAI,EAC3B;MAED,IAAI,CAACE,QAAQ,EAAE;QACX,MAAMd,iBAAiB,CAACO,QAAQ,CAACU,MAAM,CAAC;UAAEV;QAAS,CAAC,CAAC;QACrD;MACJ;MAEA,MAAMP,iBAAiB,CAACO,QAAQ,CAACW,MAAM,CAAC;QACpCX;MACJ,CAAC,CAAC;IACN,CAAC;IACDY,kBAAkB,EAAE,YAA2B;MAC3C,IAAI;QACA,MAAMZ,QAAQ,GAAG,MAAMP,iBAAiB,CAACO,QAAQ,CAACC,GAAG,CAAC;UAClDC,MAAM,EAAEP,SAAS,EAAE,CAACQ,EAAE;UACtBC,MAAM,EAAER,SAAS,EAAE,CAACS;QACxB,CAAC,CAAC;QACF,IAAI,EAACL,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEQ,sBAAsB,GAAE;UACnC,OAAO,IAAIC,IAAI,EAAE;QACrB;QACA,OAAOT,QAAQ,CAACQ,sBAAsB;MAC1C,CAAC,CAAC,OAAOK,EAAE,EAAE;QACTC,OAAO,CAACC,GAAG,CAAC;UACRC,KAAK,EAAE;YACHC,OAAO,EAAEJ,EAAE,CAACI,OAAO;YACnBZ,IAAI,EAAEQ,EAAE,CAACR,IAAI,IAAI,2CAA2C;YAC5Da,IAAI,EAAEL;UACV;QACJ,CAAC,CAAC;MACN;MACA,OAAO,IAAIJ,IAAI,EAAE;IACrB;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -1,31 +1,22 @@
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.createSystemCrud = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _crypto = _interopRequireDefault(require("crypto"));
13
-
14
10
  var _apiSecurity = require("@webiny/api-security");
15
-
16
11
  var _apiUpgrade = require("@webiny/api-upgrade");
17
-
18
12
  var _error = _interopRequireDefault(require("@webiny/error"));
19
-
20
13
  var _pubsub = require("@webiny/pubsub");
21
-
22
14
  const initialContentModelGroup = {
23
15
  name: "Ungrouped",
24
16
  slug: "ungrouped",
25
17
  description: "A generic content model group",
26
18
  icon: "fas/star"
27
19
  };
28
-
29
20
  const createSystemCrud = params => {
30
21
  const {
31
22
  getTenant,
@@ -37,22 +28,18 @@ const createSystemCrud = params => {
37
28
  const onSystemBeforeInstall = (0, _pubsub.createTopic)("cms.onSystemBeforeInstall");
38
29
  const onSystemAfterInstall = (0, _pubsub.createTopic)("cms.onSystemAfterInstall");
39
30
  const onSystemInstallError = (0, _pubsub.createTopic)("cms.onSystemInstallError");
40
-
41
31
  const createReadAPIKey = () => {
42
32
  return _crypto.default.randomBytes(Math.ceil(48 / 2)).toString("hex");
43
33
  };
44
-
45
34
  const getVersion = async () => {
46
35
  if (!getTenant()) {
47
36
  return null;
48
37
  }
49
-
50
38
  const system = await storageOperations.system.get({
51
39
  tenant: getTenant().id
52
40
  });
53
41
  return (system === null || system === void 0 ? void 0 : system.version) || null;
54
42
  };
55
-
56
43
  const setVersion = async version => {
57
44
  const original = await storageOperations.system.get({
58
45
  tenant: getTenant().id
@@ -61,26 +48,22 @@ const createSystemCrud = params => {
61
48
  version,
62
49
  tenant: getTenant().id
63
50
  });
64
-
65
51
  if (!original) {
66
52
  await storageOperations.system.create({
67
53
  system
68
54
  });
69
55
  return;
70
56
  }
71
-
72
57
  await storageOperations.system.update({
73
58
  system
74
59
  });
75
60
  };
76
-
77
61
  return {
78
62
  /**
79
63
  * Deprecated - will be removed in 5.36.0
80
64
  */
81
65
  onBeforeSystemInstall: onSystemBeforeInstall,
82
66
  onAfterSystemInstall: onSystemAfterInstall,
83
-
84
67
  /**
85
68
  * Released in 5.34.0
86
69
  */
@@ -93,11 +76,9 @@ const createSystemCrud = params => {
93
76
  const original = await storageOperations.system.get({
94
77
  tenant: getTenant().id
95
78
  });
96
-
97
79
  if (!original) {
98
80
  return null;
99
81
  }
100
-
101
82
  if (!original.readAPIKey) {
102
83
  const readAPIKey = createReadAPIKey();
103
84
  const system = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), {}, {
@@ -108,22 +89,17 @@ const createSystemCrud = params => {
108
89
  });
109
90
  return readAPIKey;
110
91
  }
111
-
112
92
  return original.readAPIKey;
113
93
  },
114
94
  installSystem: async () => {
115
95
  const identity = getIdentity();
116
-
117
96
  if (!identity) {
118
97
  throw new _apiSecurity.NotAuthorizedError();
119
98
  }
120
-
121
99
  const version = await getVersion();
122
-
123
100
  if (version) {
124
101
  return;
125
102
  }
126
-
127
103
  try {
128
104
  /**
129
105
  * First trigger before install event.
@@ -132,10 +108,10 @@ const createSystemCrud = params => {
132
108
  tenant: getTenant().id,
133
109
  locale: getLocale().code
134
110
  });
111
+
135
112
  /**
136
113
  * Add default content model group.
137
114
  */
138
-
139
115
  try {
140
116
  await context.cms.createGroup(initialContentModelGroup);
141
117
  } catch (ex) {
@@ -143,7 +119,6 @@ const createSystemCrud = params => {
143
119
  group: initialContentModelGroup
144
120
  });
145
121
  }
146
-
147
122
  const system = {
148
123
  version: context.WEBINY_VERSION,
149
124
  readAPIKey: createReadAPIKey(),
@@ -152,14 +127,12 @@ const createSystemCrud = params => {
152
127
  /**
153
128
  * We need to create the system data.
154
129
  */
155
-
156
130
  await storageOperations.system.create({
157
131
  system
158
132
  });
159
133
  /**
160
134
  * And trigger after install event.
161
135
  */
162
-
163
136
  await onSystemAfterInstall.publish({
164
137
  tenant: getTenant().id,
165
138
  locale: getLocale().code
@@ -173,18 +146,14 @@ const createSystemCrud = params => {
173
146
  throw new _error.default(ex.message, ex.code, ex.data);
174
147
  }
175
148
  },
176
-
177
149
  async upgradeSystem(version) {
178
150
  const identity = getIdentity();
179
-
180
151
  if (!identity) {
181
152
  throw new _apiSecurity.NotAuthorizedError();
182
153
  }
183
-
184
154
  const upgradePlugins = context.plugins.byType("api-upgrade").filter(pl => pl.app === "headless-cms");
185
155
  const installedAppVersion = await this.getSystemVersion();
186
156
  let plugin = undefined;
187
-
188
157
  try {
189
158
  plugin = (0, _apiUpgrade.getApplicablePlugin)({
190
159
  deployedVersion: context.WEBINY_VERSION,
@@ -202,20 +171,16 @@ const createSystemCrud = params => {
202
171
  throw ex;
203
172
  }
204
173
  }
205
-
206
174
  if (plugin) {
207
175
  await plugin.apply(context);
208
176
  }
177
+
209
178
  /**
210
179
  * Store new app version.
211
180
  */
212
-
213
-
214
181
  await setVersion(version);
215
182
  return true;
216
183
  }
217
-
218
184
  };
219
185
  };
220
-
221
186
  exports.createSystemCrud = createSystemCrud;
@@ -1 +1 @@
1
- {"version":3,"names":["initialContentModelGroup","name","slug","description","icon","createSystemCrud","params","getTenant","getLocale","storageOperations","context","getIdentity","onSystemBeforeInstall","createTopic","onSystemAfterInstall","onSystemInstallError","createReadAPIKey","crypto","randomBytes","Math","ceil","toString","getVersion","system","get","tenant","id","version","setVersion","original","create","update","onBeforeSystemInstall","onAfterSystemInstall","getSystemVersion","setSystemVersion","getReadAPIKey","readAPIKey","installSystem","identity","NotAuthorizedError","publish","locale","code","cms","createGroup","ex","WebinyError","message","group","WEBINY_VERSION","error","data","upgradeSystem","upgradePlugins","plugins","byType","filter","pl","app","installedAppVersion","plugin","undefined","getApplicablePlugin","deployedVersion","upgradeToVersion","ErrorCode","UPGRADE_NOT_AVAILABLE","apply"],"sources":["system.crud.ts"],"sourcesContent":["import crypto from \"crypto\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\nimport { ErrorCode, getApplicablePlugin } from \"@webiny/api-upgrade\";\nimport { UpgradePlugin } from \"@webiny/api-upgrade/types\";\nimport WebinyError from \"@webiny/error\";\nimport {\n OnSystemAfterInstallTopicParams,\n OnSystemBeforeInstallTopicParams,\n CmsContext,\n CmsSystem,\n CmsSystemContext,\n HeadlessCms,\n HeadlessCmsStorageOperations,\n OnSystemInstallErrorTopicParams\n} from \"~/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\n\nconst initialContentModelGroup = {\n name: \"Ungrouped\",\n slug: \"ungrouped\",\n description: \"A generic content model group\",\n icon: \"fas/star\"\n};\n\ninterface CreateSystemCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\nexport const createSystemCrud = (params: CreateSystemCrudParams): CmsSystemContext => {\n const { getTenant, getLocale, storageOperations, context, getIdentity } = params;\n\n const onSystemBeforeInstall = createTopic<OnSystemBeforeInstallTopicParams>(\n \"cms.onSystemBeforeInstall\"\n );\n const onSystemAfterInstall = createTopic<OnSystemAfterInstallTopicParams>(\n \"cms.onSystemAfterInstall\"\n );\n\n const onSystemInstallError = createTopic<OnSystemInstallErrorTopicParams>(\n \"cms.onSystemInstallError\"\n );\n\n const createReadAPIKey = () => {\n return crypto.randomBytes(Math.ceil(48 / 2)).toString(\"hex\");\n };\n\n const getVersion = async () => {\n if (!getTenant()) {\n return null;\n }\n\n const system = await storageOperations.system.get({\n tenant: getTenant().id\n });\n\n return system?.version || null;\n };\n\n const setVersion = async (version: string) => {\n const original = await storageOperations.system.get({\n tenant: getTenant().id\n });\n const system: CmsSystem = {\n ...(original || {}),\n version,\n tenant: getTenant().id\n };\n if (!original) {\n await storageOperations.system.create({\n system\n });\n return;\n }\n await storageOperations.system.update({\n system\n });\n };\n\n return {\n /**\n * Deprecated - will be removed in 5.36.0\n */\n onBeforeSystemInstall: onSystemBeforeInstall,\n onAfterSystemInstall: onSystemAfterInstall,\n /**\n * Released in 5.34.0\n */\n onSystemBeforeInstall,\n onSystemAfterInstall,\n onSystemInstallError,\n getSystemVersion: getVersion,\n setSystemVersion: setVersion,\n getReadAPIKey: async () => {\n const original = await storageOperations.system.get({\n tenant: getTenant().id\n });\n\n if (!original) {\n return null;\n }\n\n if (!original.readAPIKey) {\n const readAPIKey = createReadAPIKey();\n const system: CmsSystem = {\n ...original,\n readAPIKey\n };\n await storageOperations.system.update({\n system\n });\n return readAPIKey;\n }\n\n return original.readAPIKey;\n },\n installSystem: async (): Promise<void> => {\n const identity = getIdentity();\n if (!identity) {\n throw new NotAuthorizedError();\n }\n\n const version = await getVersion();\n if (version) {\n return;\n }\n try {\n /**\n * First trigger before install event.\n */\n await onSystemBeforeInstall.publish({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n\n /**\n * Add default content model group.\n */\n try {\n await context.cms.createGroup(initialContentModelGroup);\n } catch (ex) {\n throw new WebinyError(\n ex.message,\n \"CMS_INSTALLATION_CONTENT_MODEL_GROUP_ERROR\",\n {\n group: initialContentModelGroup\n }\n );\n }\n\n const system: CmsSystem = {\n version: context.WEBINY_VERSION,\n readAPIKey: createReadAPIKey(),\n tenant: getTenant().id\n };\n /**\n * We need to create the system data.\n */\n await storageOperations.system.create({\n system\n });\n /**\n * And trigger after install event.\n */\n await onSystemAfterInstall.publish({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n } catch (ex) {\n await onSystemInstallError.publish({\n error: ex,\n tenant: getTenant().id,\n locale: getLocale().code\n });\n throw new WebinyError(ex.message, ex.code, ex.data);\n }\n },\n async upgradeSystem(this: HeadlessCms, version) {\n const identity = getIdentity();\n if (!identity) {\n throw new NotAuthorizedError();\n }\n\n const upgradePlugins = context.plugins\n .byType<UpgradePlugin>(\"api-upgrade\")\n .filter(pl => pl.app === \"headless-cms\");\n\n const installedAppVersion = await this.getSystemVersion();\n\n let plugin: UpgradePlugin | undefined = undefined;\n try {\n plugin = getApplicablePlugin({\n deployedVersion: context.WEBINY_VERSION,\n installedAppVersion,\n upgradePlugins,\n upgradeToVersion: version\n });\n } catch (ex) {\n /**\n * We just let the error disappear if is UPGRADE_NOT_AVAILABLE code\n * and rethrow if is not.\n * This is because we want upgrade to pass if there is no plugin available.\n */\n if (ex.code !== ErrorCode.UPGRADE_NOT_AVAILABLE) {\n throw ex;\n }\n }\n\n if (plugin) {\n await plugin.apply(context);\n }\n\n /**\n * Store new app version.\n */\n await setVersion(version);\n\n return true;\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["initialContentModelGroup","name","slug","description","icon","createSystemCrud","params","getTenant","getLocale","storageOperations","context","getIdentity","onSystemBeforeInstall","createTopic","onSystemAfterInstall","onSystemInstallError","createReadAPIKey","crypto","randomBytes","Math","ceil","toString","getVersion","system","get","tenant","id","version","setVersion","original","create","update","onBeforeSystemInstall","onAfterSystemInstall","getSystemVersion","setSystemVersion","getReadAPIKey","readAPIKey","installSystem","identity","NotAuthorizedError","publish","locale","code","cms","createGroup","ex","WebinyError","message","group","WEBINY_VERSION","error","data","upgradeSystem","upgradePlugins","plugins","byType","filter","pl","app","installedAppVersion","plugin","undefined","getApplicablePlugin","deployedVersion","upgradeToVersion","ErrorCode","UPGRADE_NOT_AVAILABLE","apply"],"sources":["system.crud.ts"],"sourcesContent":["import crypto from \"crypto\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\nimport { ErrorCode, getApplicablePlugin } from \"@webiny/api-upgrade\";\nimport { UpgradePlugin } from \"@webiny/api-upgrade/types\";\nimport WebinyError from \"@webiny/error\";\nimport {\n OnSystemAfterInstallTopicParams,\n OnSystemBeforeInstallTopicParams,\n CmsContext,\n CmsSystem,\n CmsSystemContext,\n HeadlessCms,\n HeadlessCmsStorageOperations,\n OnSystemInstallErrorTopicParams\n} from \"~/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\n\nconst initialContentModelGroup = {\n name: \"Ungrouped\",\n slug: \"ungrouped\",\n description: \"A generic content model group\",\n icon: \"fas/star\"\n};\n\ninterface CreateSystemCrudParams {\n getTenant: () => Tenant;\n getLocale: () => I18NLocale;\n storageOperations: HeadlessCmsStorageOperations;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\nexport const createSystemCrud = (params: CreateSystemCrudParams): CmsSystemContext => {\n const { getTenant, getLocale, storageOperations, context, getIdentity } = params;\n\n const onSystemBeforeInstall = createTopic<OnSystemBeforeInstallTopicParams>(\n \"cms.onSystemBeforeInstall\"\n );\n const onSystemAfterInstall = createTopic<OnSystemAfterInstallTopicParams>(\n \"cms.onSystemAfterInstall\"\n );\n\n const onSystemInstallError = createTopic<OnSystemInstallErrorTopicParams>(\n \"cms.onSystemInstallError\"\n );\n\n const createReadAPIKey = () => {\n return crypto.randomBytes(Math.ceil(48 / 2)).toString(\"hex\");\n };\n\n const getVersion = async () => {\n if (!getTenant()) {\n return null;\n }\n\n const system = await storageOperations.system.get({\n tenant: getTenant().id\n });\n\n return system?.version || null;\n };\n\n const setVersion = async (version: string) => {\n const original = await storageOperations.system.get({\n tenant: getTenant().id\n });\n const system: CmsSystem = {\n ...(original || {}),\n version,\n tenant: getTenant().id\n };\n if (!original) {\n await storageOperations.system.create({\n system\n });\n return;\n }\n await storageOperations.system.update({\n system\n });\n };\n\n return {\n /**\n * Deprecated - will be removed in 5.36.0\n */\n onBeforeSystemInstall: onSystemBeforeInstall,\n onAfterSystemInstall: onSystemAfterInstall,\n /**\n * Released in 5.34.0\n */\n onSystemBeforeInstall,\n onSystemAfterInstall,\n onSystemInstallError,\n getSystemVersion: getVersion,\n setSystemVersion: setVersion,\n getReadAPIKey: async () => {\n const original = await storageOperations.system.get({\n tenant: getTenant().id\n });\n\n if (!original) {\n return null;\n }\n\n if (!original.readAPIKey) {\n const readAPIKey = createReadAPIKey();\n const system: CmsSystem = {\n ...original,\n readAPIKey\n };\n await storageOperations.system.update({\n system\n });\n return readAPIKey;\n }\n\n return original.readAPIKey;\n },\n installSystem: async (): Promise<void> => {\n const identity = getIdentity();\n if (!identity) {\n throw new NotAuthorizedError();\n }\n\n const version = await getVersion();\n if (version) {\n return;\n }\n try {\n /**\n * First trigger before install event.\n */\n await onSystemBeforeInstall.publish({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n\n /**\n * Add default content model group.\n */\n try {\n await context.cms.createGroup(initialContentModelGroup);\n } catch (ex) {\n throw new WebinyError(\n ex.message,\n \"CMS_INSTALLATION_CONTENT_MODEL_GROUP_ERROR\",\n {\n group: initialContentModelGroup\n }\n );\n }\n\n const system: CmsSystem = {\n version: context.WEBINY_VERSION,\n readAPIKey: createReadAPIKey(),\n tenant: getTenant().id\n };\n /**\n * We need to create the system data.\n */\n await storageOperations.system.create({\n system\n });\n /**\n * And trigger after install event.\n */\n await onSystemAfterInstall.publish({\n tenant: getTenant().id,\n locale: getLocale().code\n });\n } catch (ex) {\n await onSystemInstallError.publish({\n error: ex,\n tenant: getTenant().id,\n locale: getLocale().code\n });\n throw new WebinyError(ex.message, ex.code, ex.data);\n }\n },\n async upgradeSystem(this: HeadlessCms, version) {\n const identity = getIdentity();\n if (!identity) {\n throw new NotAuthorizedError();\n }\n\n const upgradePlugins = context.plugins\n .byType<UpgradePlugin>(\"api-upgrade\")\n .filter(pl => pl.app === \"headless-cms\");\n\n const installedAppVersion = await this.getSystemVersion();\n\n let plugin: UpgradePlugin | undefined = undefined;\n try {\n plugin = getApplicablePlugin({\n deployedVersion: context.WEBINY_VERSION,\n installedAppVersion,\n upgradePlugins,\n upgradeToVersion: version\n });\n } catch (ex) {\n /**\n * We just let the error disappear if is UPGRADE_NOT_AVAILABLE code\n * and rethrow if is not.\n * This is because we want upgrade to pass if there is no plugin available.\n */\n if (ex.code !== ErrorCode.UPGRADE_NOT_AVAILABLE) {\n throw ex;\n }\n }\n\n if (plugin) {\n await plugin.apply(context);\n }\n\n /**\n * Store new app version.\n */\n await setVersion(version);\n\n return true;\n }\n };\n};\n"],"mappings":"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"}
@@ -1,26 +1,20 @@
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.CmsModelDefaultFieldConverterPlugin = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _CmsModelFieldConverterPlugin = require("../plugins/CmsModelFieldConverterPlugin");
13
-
14
10
  class CmsModelDefaultFieldConverterPlugin extends _CmsModelFieldConverterPlugin.CmsModelFieldConverterPlugin {
15
11
  constructor(...args) {
16
12
  super(...args);
17
13
  (0, _defineProperty2.default)(this, "name", "cms.field.converter.default");
18
14
  }
19
-
20
15
  getFieldType() {
21
16
  return "*";
22
17
  }
23
-
24
18
  convertToStorage({
25
19
  field,
26
20
  value
@@ -34,13 +28,10 @@ class CmsModelDefaultFieldConverterPlugin extends _CmsModelFieldConverterPlugin.
34
28
  /**
35
29
  * A single and multiple values field conversion;
36
30
  */
37
-
38
-
39
31
  return {
40
32
  [field.storageId]: value
41
33
  };
42
34
  }
43
-
44
35
  convertFromStorage({
45
36
  field,
46
37
  value
@@ -54,13 +45,9 @@ class CmsModelDefaultFieldConverterPlugin extends _CmsModelFieldConverterPlugin.
54
45
  /**
55
46
  * A single and multiple values field conversion;
56
47
  */
57
-
58
-
59
48
  return {
60
49
  [field.fieldId]: value
61
50
  };
62
51
  }
63
-
64
52
  }
65
-
66
53
  exports.CmsModelDefaultFieldConverterPlugin = CmsModelDefaultFieldConverterPlugin;
@@ -1 +1 @@
1
- {"version":3,"names":["CmsModelDefaultFieldConverterPlugin","CmsModelFieldConverterPlugin","getFieldType","convertToStorage","field","value","undefined","storageId","convertFromStorage","fieldId"],"sources":["CmsModelDefaultFieldConverterPlugin.ts"],"sourcesContent":["import {\n CmsModelFieldConverterPlugin,\n ConvertParams\n} from \"~/plugins/CmsModelFieldConverterPlugin\";\n\nexport class CmsModelDefaultFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.default\";\n\n public override getFieldType(): string {\n return \"*\";\n }\n\n public override convertToStorage({ field, value }: ConvertParams): any {\n /**\n * Do not convert if no value was passed.\n */\n if (value === undefined) {\n return {};\n }\n /**\n * A single and multiple values field conversion;\n */\n return {\n [field.storageId]: value\n };\n }\n\n public override convertFromStorage({ field, value }: ConvertParams): any {\n /**\n * Do not convert if no value was passed.\n */\n if (value === undefined) {\n return {};\n }\n /**\n * A single and multiple values field conversion;\n */\n return {\n [field.fieldId]: value\n };\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAKO,MAAMA,mCAAN,SAAkDC,0DAAlD,CAA+E;EAAA;IAAA;IAAA,4CAC3D,6BAD2D;EAAA;;EAGlEC,YAAY,GAAW;IACnC,OAAO,GAAP;EACH;;EAEeC,gBAAgB,CAAC;IAAEC,KAAF;IAASC;EAAT,CAAD,EAAuC;IACnE;AACR;AACA;IACQ,IAAIA,KAAK,KAAKC,SAAd,EAAyB;MACrB,OAAO,EAAP;IACH;IACD;AACR;AACA;;;IACQ,OAAO;MACH,CAACF,KAAK,CAACG,SAAP,GAAmBF;IADhB,CAAP;EAGH;;EAEeG,kBAAkB,CAAC;IAAEJ,KAAF;IAASC;EAAT,CAAD,EAAuC;IACrE;AACR;AACA;IACQ,IAAIA,KAAK,KAAKC,SAAd,EAAyB;MACrB,OAAO,EAAP;IACH;IACD;AACR;AACA;;;IACQ,OAAO;MACH,CAACF,KAAK,CAACK,OAAP,GAAiBJ;IADd,CAAP;EAGH;;AAnCiF"}
1
+ {"version":3,"names":["CmsModelDefaultFieldConverterPlugin","CmsModelFieldConverterPlugin","getFieldType","convertToStorage","field","value","undefined","storageId","convertFromStorage","fieldId"],"sources":["CmsModelDefaultFieldConverterPlugin.ts"],"sourcesContent":["import {\n CmsModelFieldConverterPlugin,\n ConvertParams\n} from \"~/plugins/CmsModelFieldConverterPlugin\";\n\nexport class CmsModelDefaultFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.default\";\n\n public override getFieldType(): string {\n return \"*\";\n }\n\n public override convertToStorage({ field, value }: ConvertParams): any {\n /**\n * Do not convert if no value was passed.\n */\n if (value === undefined) {\n return {};\n }\n /**\n * A single and multiple values field conversion;\n */\n return {\n [field.storageId]: value\n };\n }\n\n public override convertFromStorage({ field, value }: ConvertParams): any {\n /**\n * Do not convert if no value was passed.\n */\n if (value === undefined) {\n return {};\n }\n /**\n * A single and multiple values field conversion;\n */\n return {\n [field.fieldId]: value\n };\n }\n}\n"],"mappings":";;;;;;;;AAAA;AAKO,MAAMA,mCAAmC,SAASC,0DAA4B,CAAC;EAAA;IAAA;IAAA,4CAC3D,6BAA6B;EAAA;EAEpCC,YAAY,GAAW;IACnC,OAAO,GAAG;EACd;EAEgBC,gBAAgB,CAAC;IAAEC,KAAK;IAAEC;EAAqB,CAAC,EAAO;IACnE;AACR;AACA;IACQ,IAAIA,KAAK,KAAKC,SAAS,EAAE;MACrB,OAAO,CAAC,CAAC;IACb;IACA;AACR;AACA;IACQ,OAAO;MACH,CAACF,KAAK,CAACG,SAAS,GAAGF;IACvB,CAAC;EACL;EAEgBG,kBAAkB,CAAC;IAAEJ,KAAK;IAAEC;EAAqB,CAAC,EAAO;IACrE;AACR;AACA;IACQ,IAAIA,KAAK,KAAKC,SAAS,EAAE;MACrB,OAAO,CAAC,CAAC;IACb;IACA;AACR;AACA;IACQ,OAAO;MACH,CAACF,KAAK,CAACK,OAAO,GAAGJ;IACrB,CAAC;EACL;AACJ;AAAC"}