@webiny/api-headless-cms 5.23.1 → 5.25.0-beta.0

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 (255) hide show
  1. package/content/contextSetup.js.map +1 -0
  2. package/content/graphQLHandlerFactory.js +12 -2
  3. package/content/graphQLHandlerFactory.js.map +1 -0
  4. package/content/parameterPlugins.js.map +1 -0
  5. package/content/plugins/CmsGroupPlugin.js.map +1 -0
  6. package/content/plugins/CmsModelPlugin.js.map +1 -0
  7. package/content/plugins/CmsParametersPlugin.d.ts +1 -1
  8. package/content/plugins/CmsParametersPlugin.js.map +1 -0
  9. package/content/plugins/buildSchemaPlugins.js.map +1 -0
  10. package/content/plugins/crud/contentEntry/afterDelete.d.ts +3 -2
  11. package/content/plugins/crud/contentEntry/afterDelete.js +2 -1
  12. package/content/plugins/crud/contentEntry/afterDelete.js.map +1 -0
  13. package/content/plugins/crud/contentEntry/beforeCreate.d.ts +3 -2
  14. package/content/plugins/crud/contentEntry/beforeCreate.js.map +1 -0
  15. package/content/plugins/crud/contentEntry/beforeUpdate.d.ts +3 -2
  16. package/content/plugins/crud/contentEntry/beforeUpdate.js.map +1 -0
  17. package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +2 -2
  18. package/content/plugins/crud/contentEntry/entryDataValidation.js +2 -3
  19. package/content/plugins/crud/contentEntry/entryDataValidation.js.map +1 -0
  20. package/content/plugins/crud/contentEntry/markLockedFields.d.ts +2 -1
  21. package/content/plugins/crud/contentEntry/markLockedFields.js +1 -1
  22. package/content/plugins/crud/contentEntry/markLockedFields.js.map +1 -0
  23. package/content/plugins/crud/contentEntry/referenceFieldsMapping.js +7 -3
  24. package/content/plugins/crud/contentEntry/referenceFieldsMapping.js.map +1 -0
  25. package/content/plugins/crud/contentEntry.crud.d.ts +2 -2
  26. package/content/plugins/crud/contentEntry.crud.js +24 -13
  27. package/content/plugins/crud/contentEntry.crud.js.map +1 -0
  28. package/content/plugins/crud/contentModel/afterCreate.d.ts +3 -2
  29. package/content/plugins/crud/contentModel/afterCreate.js.map +1 -0
  30. package/content/plugins/crud/contentModel/afterDelete.d.ts +3 -2
  31. package/content/plugins/crud/contentModel/afterDelete.js.map +1 -0
  32. package/content/plugins/crud/contentModel/afterUpdate.d.ts +3 -2
  33. package/content/plugins/crud/contentModel/afterUpdate.js.map +1 -0
  34. package/content/plugins/crud/contentModel/beforeCreate.d.ts +5 -4
  35. package/content/plugins/crud/contentModel/beforeCreate.js +1 -1
  36. package/content/plugins/crud/contentModel/beforeCreate.js.map +1 -0
  37. package/content/plugins/crud/contentModel/beforeDelete.d.ts +3 -2
  38. package/content/plugins/crud/contentModel/beforeDelete.js.map +1 -0
  39. package/content/plugins/crud/contentModel/beforeUpdate.d.ts +3 -2
  40. package/content/plugins/crud/contentModel/beforeUpdate.js +77 -0
  41. package/content/plugins/crud/contentModel/beforeUpdate.js.map +1 -0
  42. package/content/plugins/crud/contentModel/contentModelManagerFactory.d.ts +2 -2
  43. package/content/plugins/crud/contentModel/contentModelManagerFactory.js.map +1 -0
  44. package/content/plugins/crud/contentModel/createFieldModels.js.map +1 -0
  45. package/content/plugins/crud/contentModel/idValidation.js.map +1 -0
  46. package/content/plugins/crud/contentModel/models.js +9 -0
  47. package/content/plugins/crud/contentModel/models.js.map +1 -0
  48. package/content/plugins/crud/contentModel/validateLayout.js.map +1 -0
  49. package/content/plugins/crud/contentModel.crud.d.ts +2 -2
  50. package/content/plugins/crud/contentModel.crud.js +2 -2
  51. package/content/plugins/crud/contentModel.crud.js.map +1 -0
  52. package/content/plugins/crud/contentModelGroup/beforeCreate.d.ts +3 -2
  53. package/content/plugins/crud/contentModelGroup/beforeCreate.js.map +1 -0
  54. package/content/plugins/crud/contentModelGroup/beforeDelete.d.ts +3 -2
  55. package/content/plugins/crud/contentModelGroup/beforeDelete.js.map +1 -0
  56. package/content/plugins/crud/contentModelGroup/beforeUpdate.d.ts +3 -2
  57. package/content/plugins/crud/contentModelGroup/beforeUpdate.js.map +1 -0
  58. package/content/plugins/crud/contentModelGroup.crud.d.ts +2 -2
  59. package/content/plugins/crud/contentModelGroup.crud.js.map +1 -0
  60. package/content/plugins/crud/index.d.ts +2 -2
  61. package/content/plugins/crud/index.js.map +1 -0
  62. package/content/plugins/graphqlFields/boolean.js +2 -6
  63. package/content/plugins/graphqlFields/boolean.js.map +1 -0
  64. package/content/plugins/graphqlFields/datetime.js +5 -3
  65. package/content/plugins/graphqlFields/datetime.js.map +1 -0
  66. package/content/plugins/graphqlFields/file.js +2 -6
  67. package/content/plugins/graphqlFields/file.js.map +1 -0
  68. package/content/plugins/graphqlFields/helpers.d.ts +6 -0
  69. package/content/plugins/graphqlFields/helpers.js +49 -0
  70. package/content/plugins/graphqlFields/helpers.js.map +1 -0
  71. package/content/plugins/graphqlFields/index.js.map +1 -0
  72. package/content/plugins/graphqlFields/longText.js +2 -6
  73. package/content/plugins/graphqlFields/longText.js.map +1 -0
  74. package/content/plugins/graphqlFields/number.js +2 -6
  75. package/content/plugins/graphqlFields/number.js.map +1 -0
  76. package/content/plugins/graphqlFields/object.js +20 -18
  77. package/content/plugins/graphqlFields/object.js.map +1 -0
  78. package/content/plugins/graphqlFields/ref.js +51 -18
  79. package/content/plugins/graphqlFields/ref.js.map +1 -0
  80. package/content/plugins/graphqlFields/richText.js +2 -6
  81. package/content/plugins/graphqlFields/richText.js.map +1 -0
  82. package/content/plugins/graphqlFields/text.js +2 -6
  83. package/content/plugins/graphqlFields/text.js.map +1 -0
  84. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +1 -1
  85. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +1 -0
  86. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js.map +1 -0
  87. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +1 -1
  88. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +1 -0
  89. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js.map +1 -0
  90. package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +3 -3
  91. package/content/plugins/modelManager/DefaultCmsModelManager.js.map +1 -0
  92. package/content/plugins/modelManager/index.js.map +1 -0
  93. package/content/plugins/schema/baseSchema.js +1 -0
  94. package/content/plugins/schema/baseSchema.js.map +1 -0
  95. package/content/plugins/schema/contentEntries.js +12 -5
  96. package/content/plugins/schema/contentEntries.js.map +1 -0
  97. package/content/plugins/schema/contentModelGroups.js +1 -2
  98. package/content/plugins/schema/contentModelGroups.js.map +1 -0
  99. package/content/plugins/schema/contentModels.js +2 -3
  100. package/content/plugins/schema/contentModels.js.map +1 -0
  101. package/content/plugins/schema/createFieldResolvers.d.ts +8 -7
  102. package/content/plugins/schema/createFieldResolvers.js +25 -12
  103. package/content/plugins/schema/createFieldResolvers.js.map +1 -0
  104. package/content/plugins/schema/createManageResolvers.d.ts +7 -6
  105. package/content/plugins/schema/createManageResolvers.js.map +1 -0
  106. package/content/plugins/schema/createManageSDL.d.ts +5 -4
  107. package/content/plugins/schema/createManageSDL.js.map +1 -0
  108. package/content/plugins/schema/createPreviewResolvers.d.ts +8 -6
  109. package/content/plugins/schema/createPreviewResolvers.js.map +1 -0
  110. package/content/plugins/schema/createReadResolvers.d.ts +8 -6
  111. package/content/plugins/schema/createReadResolvers.js.map +1 -0
  112. package/content/plugins/schema/createReadSDL.d.ts +7 -6
  113. package/content/plugins/schema/createReadSDL.js.map +1 -0
  114. package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +1 -1
  115. package/content/plugins/schema/resolvers/commonFieldResolvers.js.map +1 -0
  116. package/content/plugins/schema/resolvers/manage/resolveCreate.d.ts +5 -4
  117. package/content/plugins/schema/resolvers/manage/resolveCreate.js +2 -4
  118. package/content/plugins/schema/resolvers/manage/resolveCreate.js.map +1 -0
  119. package/content/plugins/schema/resolvers/manage/resolveCreateFrom.d.ts +5 -4
  120. package/content/plugins/schema/resolvers/manage/resolveCreateFrom.js +2 -4
  121. package/content/plugins/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
  122. package/content/plugins/schema/resolvers/manage/resolveDelete.d.ts +6 -1
  123. package/content/plugins/schema/resolvers/manage/resolveDelete.js +4 -8
  124. package/content/plugins/schema/resolvers/manage/resolveDelete.js.map +1 -0
  125. package/content/plugins/schema/resolvers/manage/resolveGet.d.ts +6 -1
  126. package/content/plugins/schema/resolvers/manage/resolveGet.js.map +1 -0
  127. package/content/plugins/schema/resolvers/manage/resolveGetByIds.d.ts +6 -1
  128. package/content/plugins/schema/resolvers/manage/resolveGetByIds.js +2 -4
  129. package/content/plugins/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
  130. package/content/plugins/schema/resolvers/manage/resolveGetRevisions.d.ts +6 -1
  131. package/content/plugins/schema/resolvers/manage/resolveGetRevisions.js +2 -4
  132. package/content/plugins/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
  133. package/content/plugins/schema/resolvers/manage/resolveList.d.ts +4 -2
  134. package/content/plugins/schema/resolvers/manage/resolveList.js +2 -4
  135. package/content/plugins/schema/resolvers/manage/resolveList.js.map +1 -0
  136. package/content/plugins/schema/resolvers/manage/resolvePublish.d.ts +6 -1
  137. package/content/plugins/schema/resolvers/manage/resolvePublish.js.map +1 -0
  138. package/content/plugins/schema/resolvers/manage/resolveRepublish.d.ts +6 -1
  139. package/content/plugins/schema/resolvers/manage/resolveRepublish.js.map +1 -0
  140. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.d.ts +3 -2
  141. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js +2 -4
  142. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js.map +1 -0
  143. package/content/plugins/schema/resolvers/manage/resolveRequestReview.d.ts +3 -2
  144. package/content/plugins/schema/resolvers/manage/resolveRequestReview.js +2 -4
  145. package/content/plugins/schema/resolvers/manage/resolveRequestReview.js.map +1 -0
  146. package/content/plugins/schema/resolvers/manage/resolveUnpublish.d.ts +6 -1
  147. package/content/plugins/schema/resolvers/manage/resolveUnpublish.js.map +1 -0
  148. package/content/plugins/schema/resolvers/manage/resolveUpdate.d.ts +5 -4
  149. package/content/plugins/schema/resolvers/manage/resolveUpdate.js +2 -4
  150. package/content/plugins/schema/resolvers/manage/resolveUpdate.js.map +1 -0
  151. package/content/plugins/schema/resolvers/preview/resolveGet.d.ts +4 -2
  152. package/content/plugins/schema/resolvers/preview/resolveGet.js.map +1 -0
  153. package/content/plugins/schema/resolvers/preview/resolveList.d.ts +4 -2
  154. package/content/plugins/schema/resolvers/preview/resolveList.js +2 -4
  155. package/content/plugins/schema/resolvers/preview/resolveList.js.map +1 -0
  156. package/content/plugins/schema/resolvers/read/resolveGet.d.ts +4 -2
  157. package/content/plugins/schema/resolvers/read/resolveGet.js.map +1 -0
  158. package/content/plugins/schema/resolvers/read/resolveList.d.ts +4 -2
  159. package/content/plugins/schema/resolvers/read/resolveList.js +2 -4
  160. package/content/plugins/schema/resolvers/read/resolveList.js.map +1 -0
  161. package/content/plugins/schema/schemaPlugins.js.map +1 -0
  162. package/content/plugins/storage/StorageTransformPlugin.d.ts +2 -2
  163. package/content/plugins/storage/StorageTransformPlugin.js.map +1 -0
  164. package/content/plugins/storage/default.js.map +1 -0
  165. package/content/plugins/storage/object.js +15 -10
  166. package/content/plugins/storage/object.js.map +1 -0
  167. package/content/plugins/utils/createTypeName.d.ts +3 -3
  168. package/content/plugins/utils/createTypeName.js.map +1 -0
  169. package/content/plugins/utils/entryStorage.d.ts +2 -2
  170. package/content/plugins/utils/entryStorage.js +0 -4
  171. package/content/plugins/utils/entryStorage.js.map +1 -0
  172. package/content/plugins/utils/getEntryTitle.d.ts +1 -1
  173. package/content/plugins/utils/getEntryTitle.js +1 -1
  174. package/content/plugins/utils/getEntryTitle.js.map +1 -0
  175. package/content/plugins/utils/getSchemaFromFieldPlugins.d.ts +7 -6
  176. package/content/plugins/utils/getSchemaFromFieldPlugins.js +12 -7
  177. package/content/plugins/utils/getSchemaFromFieldPlugins.js.map +1 -0
  178. package/content/plugins/utils/pluralizedTypeName.d.ts +1 -1
  179. package/content/plugins/utils/pluralizedTypeName.js.map +1 -0
  180. package/content/plugins/utils/renderFields.d.ts +11 -12
  181. package/content/plugins/utils/renderFields.js +1 -1
  182. package/content/plugins/utils/renderFields.js.map +1 -0
  183. package/content/plugins/utils/renderGetFilterFields.d.ts +5 -4
  184. package/content/plugins/utils/renderGetFilterFields.js +28 -13
  185. package/content/plugins/utils/renderGetFilterFields.js.map +1 -0
  186. package/content/plugins/utils/renderInputFields.d.ts +10 -10
  187. package/content/plugins/utils/renderInputFields.js.map +1 -0
  188. package/content/plugins/utils/renderListFilterFields.d.ts +7 -6
  189. package/content/plugins/utils/renderListFilterFields.js +24 -12
  190. package/content/plugins/utils/renderListFilterFields.js.map +1 -0
  191. package/content/plugins/utils/renderSortEnum.js +5 -5
  192. package/content/plugins/utils/renderSortEnum.js.map +1 -0
  193. package/content/plugins/validators/dateGte.js +1 -1
  194. package/content/plugins/validators/dateGte.js.map +1 -0
  195. package/content/plugins/validators/dateLte.js +1 -1
  196. package/content/plugins/validators/dateLte.js.map +1 -0
  197. package/content/plugins/validators/gte.js +3 -1
  198. package/content/plugins/validators/gte.js.map +1 -0
  199. package/content/plugins/validators/in.js +3 -1
  200. package/content/plugins/validators/in.js.map +1 -0
  201. package/content/plugins/validators/index.js.map +1 -0
  202. package/content/plugins/validators/lte.js +3 -1
  203. package/content/plugins/validators/lte.js.map +1 -0
  204. package/content/plugins/validators/maxLength.js +3 -1
  205. package/content/plugins/validators/maxLength.js.map +1 -0
  206. package/content/plugins/validators/minLength.js +3 -1
  207. package/content/plugins/validators/minLength.js.map +1 -0
  208. package/content/plugins/validators/pattern.js +2 -2
  209. package/content/plugins/validators/pattern.js.map +1 -0
  210. package/content/plugins/validators/patternPlugins/email.js.map +1 -0
  211. package/content/plugins/validators/patternPlugins/index.js.map +1 -0
  212. package/content/plugins/validators/patternPlugins/lowerCase.js.map +1 -0
  213. package/content/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  214. package/content/plugins/validators/patternPlugins/upperCase.js.map +1 -0
  215. package/content/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  216. package/content/plugins/validators/patternPlugins/url.js.map +1 -0
  217. package/content/plugins/validators/required.js.map +1 -0
  218. package/content/plugins/validators/timeGte.js +3 -1
  219. package/content/plugins/validators/timeGte.js.map +1 -0
  220. package/content/plugins/validators/timeLte.js +3 -1
  221. package/content/plugins/validators/timeLte.js.map +1 -0
  222. package/content/plugins/validators/unique.js +1 -0
  223. package/content/plugins/validators/unique.js.map +1 -0
  224. package/index.d.ts +3 -3
  225. package/index.js.map +1 -0
  226. package/migrateCMSPermissions.d.ts +2 -2
  227. package/migrateCMSPermissions.js +4 -0
  228. package/migrateCMSPermissions.js.map +1 -0
  229. package/package.json +27 -26
  230. package/plugins/context.js +8 -3
  231. package/plugins/context.js.map +1 -0
  232. package/plugins/crud/index.d.ts +2 -2
  233. package/plugins/crud/index.js.map +1 -0
  234. package/plugins/crud/settings.crud.d.ts +2 -2
  235. package/plugins/crud/settings.crud.js.map +1 -0
  236. package/plugins/crud/system.crud.d.ts +3 -2
  237. package/plugins/crud/system.crud.js +2 -2
  238. package/plugins/crud/system.crud.js.map +1 -0
  239. package/plugins/graphql/system.d.ts +5 -4
  240. package/plugins/graphql/system.js +5 -3
  241. package/plugins/graphql/system.js.map +1 -0
  242. package/plugins/graphql.js +7 -0
  243. package/plugins/graphql.js.map +1 -0
  244. package/plugins/upgrades/index.js.map +1 -0
  245. package/plugins/upgrades/v5.5.0/helpers.js.map +1 -0
  246. package/plugins/upgrades/v5.5.0/index.js +5 -0
  247. package/plugins/upgrades/v5.5.0/index.js.map +1 -0
  248. package/transformers.js.map +1 -0
  249. package/types.d.ts +70 -40
  250. package/types.js +6 -0
  251. package/types.js.map +1 -0
  252. package/utils.d.ts +14 -16
  253. package/utils.js.map +1 -0
  254. package/content/plugins/graphqlFields/requiredField.d.ts +0 -2
  255. package/content/plugins/graphqlFields/requiredField.js +0 -24
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.renderSortEnum = void 0;
9
7
 
10
- var _get = _interopRequireDefault(require("lodash/get"));
11
-
12
8
  const renderSortEnum = ({
13
9
  model,
14
10
  fieldTypePlugins
@@ -16,7 +12,11 @@ const renderSortEnum = ({
16
12
  const sorters = [`id_ASC`, `id_DESC`, "savedOn_ASC", "savedOn_DESC", "createdOn_ASC", "createdOn_DESC"];
17
13
 
18
14
  for (const field of model.fields) {
19
- const isSortable = (0, _get.default)(fieldTypePlugins, `${field.type}.isSortable`);
15
+ if (!fieldTypePlugins[field.type]) {
16
+ continue;
17
+ }
18
+
19
+ const isSortable = fieldTypePlugins[field.type].isSortable;
20
20
 
21
21
  if (!isSortable) {
22
22
  continue;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["renderSortEnum.ts"],"names":["renderSortEnum","model","fieldTypePlugins","sorters","field","fields","type","isSortable","push","fieldId","join"],"mappings":";;;;;;;AAMO,MAAMA,cAA8B,GAAG,CAAC;AAAEC,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyC;AACnF,QAAMC,OAAO,GAAG,CACX,QADW,EAEX,SAFW,EAGZ,aAHY,EAIZ,cAJY,EAKZ,eALY,EAMZ,gBANY,CAAhB;;AASA,OAAK,MAAMC,KAAX,IAAoBH,KAAK,CAACI,MAA1B,EAAkC;AAC9B,QAAI,CAACH,gBAAgB,CAACE,KAAK,CAACE,IAAP,CAArB,EAAmC;AAC/B;AACH;;AACD,UAAMC,UAAU,GAAGL,gBAAgB,CAACE,KAAK,CAACE,IAAP,CAAhB,CAA6BC,UAAhD;;AACA,QAAI,CAACA,UAAL,EAAiB;AACb;AACH;;AACDJ,IAAAA,OAAO,CAACK,IAAR,CAAc,GAAEJ,KAAK,CAACK,OAAQ,MAA9B;AACAN,IAAAA,OAAO,CAACK,IAAR,CAAc,GAAEJ,KAAK,CAACK,OAAQ,OAA9B;AACH;;AAED,SAAON,OAAO,CAACO,IAAR,CAAa,IAAb,CAAP;AACH,CAvBM","sourcesContent":["import { CmsFieldTypePlugins, CmsModel } from \"~/types\";\n\ninterface RenderSortEnum {\n (params: { model: CmsModel; fieldTypePlugins: CmsFieldTypePlugins }): string;\n}\n\nexport const renderSortEnum: RenderSortEnum = ({ model, fieldTypePlugins }): string => {\n const sorters = [\n `id_ASC`,\n `id_DESC`,\n \"savedOn_ASC\",\n \"savedOn_DESC\",\n \"createdOn_ASC\",\n \"createdOn_DESC\"\n ];\n\n for (const field of model.fields) {\n if (!fieldTypePlugins[field.type]) {\n continue;\n }\n const isSortable = fieldTypePlugins[field.type].isSortable;\n if (!isSortable) {\n continue;\n }\n sorters.push(`${field.fieldId}_ASC`);\n sorters.push(`${field.fieldId}_DESC`);\n }\n\n return sorters.join(\"\\n\");\n};\n"]}
@@ -20,7 +20,7 @@ var _default = () => ({
20
20
  const {
21
21
  value: gteValue,
22
22
  type
23
- } = validator.settings;
23
+ } = validator.settings || {};
24
24
 
25
25
  if (typeof gteValue === "undefined") {
26
26
  return true;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["dateGte.ts"],"names":["type","name","validator","validate","value","gteValue","settings","validation","then","v","catch"],"mappings":";;;;;;;AAAA;;eAGe,OAAqC;AAChDA,EAAAA,IAAI,EAAE,2BAD0C;AAEhDC,EAAAA,IAAI,EAAE,oCAF0C;AAGhDC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,SADC;;AAEP,UAAME,QAAN,CAAe;AAAEC,MAAAA,KAAF;AAASF,MAAAA;AAAT,KAAf,EAAqC;AACjC,YAAM;AAAEE,QAAAA,KAAK,EAAEC,QAAT;AAAmBL,QAAAA;AAAnB,UAA4BE,SAAS,CAACI,QAAV,IAAsB,EAAxD;;AACA,UAAI,OAAOD,QAAP,KAAoB,WAAxB,EAAqC;AACjC,eAAO,IAAP;AACH,OAFD,MAEO,IAAIL,IAAI,KAAK,MAAb,EAAqB;AACxB,eAAOO,uBACFJ,QADE,CACOC,KADP,EACe,WAAUC,QAAS,EADlC,EAEFG,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AACD,aAAOH,uBACFJ,QADE,CACOC,KADP,EACe,WAAUC,QAAS,EADlC,EAEFG,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AAhBM;AAHqC,CAArC,C","sourcesContent":["import { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\n\nexport default (): CmsModelFieldValidatorPlugin => ({\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-date-gte\",\n validator: {\n name: \"dateGte\",\n async validate({ value, validator }) {\n const { value: gteValue, type } = validator.settings || {};\n if (typeof gteValue === \"undefined\") {\n return true;\n } else if (type === \"time\") {\n return validation\n .validate(value, `timeGte:${gteValue}`)\n .then(v => v === true)\n .catch(() => false);\n }\n return validation\n .validate(value, `dateGte:${gteValue}`)\n .then(v => v === true)\n .catch(() => false);\n }\n }\n});\n"]}
@@ -20,7 +20,7 @@ var _default = () => ({
20
20
  const {
21
21
  value: lteValue,
22
22
  type
23
- } = validator.settings;
23
+ } = validator.settings || {};
24
24
 
25
25
  if (typeof lteValue === "undefined") {
26
26
  return true;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["dateLte.ts"],"names":["type","name","validator","validate","value","lteValue","settings","validation","then","v","catch"],"mappings":";;;;;;;AAAA;;eAGe,OAAqC;AAChDA,EAAAA,IAAI,EAAE,2BAD0C;AAEhDC,EAAAA,IAAI,EAAE,oCAF0C;AAGhDC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,SADC;;AAEP,UAAME,QAAN,CAAe;AAAEC,MAAAA,KAAF;AAASF,MAAAA;AAAT,KAAf,EAAqC;AACjC,YAAM;AAAEE,QAAAA,KAAK,EAAEC,QAAT;AAAmBL,QAAAA;AAAnB,UAA4BE,SAAS,CAACI,QAAV,IAAsB,EAAxD;;AACA,UAAI,OAAOD,QAAP,KAAoB,WAAxB,EAAqC;AACjC,eAAO,IAAP;AACH,OAFD,MAEO,IAAIL,IAAI,KAAK,MAAb,EAAqB;AACxB,eAAOO,uBACFJ,QADE,CACOC,KADP,EACe,WAAUC,QAAS,EADlC,EAEFG,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AACD,aAAOH,uBACFJ,QADE,CACOC,KADP,EACe,WAAUC,QAAS,EADlC,EAEFG,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AAhBM;AAHqC,CAArC,C","sourcesContent":["import { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\n\nexport default (): CmsModelFieldValidatorPlugin => ({\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-date-lte\",\n validator: {\n name: \"dateLte\",\n async validate({ value, validator }) {\n const { value: lteValue, type } = validator.settings || {};\n if (typeof lteValue === \"undefined\") {\n return true;\n } else if (type === \"time\") {\n return validation\n .validate(value, `timeLte:${lteValue}`)\n .then(v => v === true)\n .catch(() => false);\n }\n return validation\n .validate(value, `dateLte:${lteValue}`)\n .then(v => v === true)\n .catch(() => false);\n }\n }\n});\n"]}
@@ -17,7 +17,9 @@ const plugin = {
17
17
  value,
18
18
  validator
19
19
  }) {
20
- const gteValue = validator.settings.value;
20
+ var _validator$settings;
21
+
22
+ const gteValue = (_validator$settings = validator.settings) === null || _validator$settings === void 0 ? void 0 : _validator$settings.value;
21
23
 
22
24
  if (typeof gteValue !== "undefined") {
23
25
  return _validation.validation.validate(value, `gte:${gteValue}`).then(v => v === true).catch(() => false);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["gte.ts"],"names":["plugin","type","name","validator","validate","value","gteValue","settings","validation","then","v","catch","Promise","resolve"],"mappings":";;;;;;;AAAA;;AAGA,MAAMA,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,+BAFmC;AAGzCC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,KADC;;AAEPE,IAAAA,QAAQ,CAAC;AAAEC,MAAAA,KAAF;AAASF,MAAAA;AAAT,KAAD,EAAuB;AAAA;;AAC3B,YAAMG,QAAQ,0BAAGH,SAAS,CAACI,QAAb,wDAAG,oBAAoBF,KAArC;;AACA,UAAI,OAAOC,QAAP,KAAoB,WAAxB,EAAqC;AACjC,eAAOE,uBACFJ,QADE,CACOC,KADP,EACe,OAAMC,QAAS,EAD9B,EAEFG,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AACD,aAAOC,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP;AACH;;AAXM;AAH8B,CAA7C;eAkBeb,M","sourcesContent":["import { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldValidatorPlugin = {\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-gte\",\n validator: {\n name: \"gte\",\n validate({ value, validator }) {\n const gteValue = validator.settings?.value;\n if (typeof gteValue !== \"undefined\") {\n return validation\n .validate(value, `gte:${gteValue}`)\n .then(v => v === true)\n .catch(() => false);\n }\n return Promise.resolve(true);\n }\n }\n};\n\nexport default plugin;\n"]}
@@ -17,7 +17,9 @@ const plugin = {
17
17
  value,
18
18
  validator
19
19
  }) {
20
- const values = validator.settings.values;
20
+ var _validator$settings;
21
+
22
+ const values = (_validator$settings = validator.settings) === null || _validator$settings === void 0 ? void 0 : _validator$settings.values;
21
23
 
22
24
  if (Array.isArray(values)) {
23
25
  return _validation.validation.validate(value, `in:${values.join(":")}`).then(v => v === true).catch(() => false);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["in.ts"],"names":["plugin","type","name","validator","validate","value","values","settings","Array","isArray","validation","join","then","v","catch","Promise","resolve"],"mappings":";;;;;;;AAAA;;AAGA,MAAMA,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,8BAFmC;AAGzCC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,IADC;;AAEPE,IAAAA,QAAQ,CAAC;AAAEC,MAAAA,KAAF;AAASF,MAAAA;AAAT,KAAD,EAAuB;AAAA;;AAC3B,YAAMG,MAAM,0BAAGH,SAAS,CAACI,QAAb,wDAAG,oBAAoBD,MAAnC;;AACA,UAAIE,KAAK,CAACC,OAAN,CAAcH,MAAd,CAAJ,EAA2B;AACvB,eAAOI,uBACFN,QADE,CACOC,KADP,EACe,MAAKC,MAAM,CAACK,IAAP,CAAY,GAAZ,CAAiB,EADrC,EAEFC,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AAED,aAAOC,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP;AACH;;AAZM;AAH8B,CAA7C;eAmBehB,M","sourcesContent":["import { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldValidatorPlugin = {\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-in\",\n validator: {\n name: \"in\",\n validate({ value, validator }) {\n const values = validator.settings?.values;\n if (Array.isArray(values)) {\n return validation\n .validate(value, `in:${values.join(\":\")}`)\n .then(v => v === true)\n .catch(() => false);\n }\n\n return Promise.resolve(true);\n }\n }\n};\n\nexport default plugin;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["gte","inValidator","lte","pattern","required","minLength","maxLength","patternPlugins"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe,MAAM,CACjBA,YADiB,EAEjBC,WAFiB,EAGjBC,YAHiB,EAIjBC,gBAJiB,EAKjBC,iBALiB,EAMjBC,kBANiB,EAOjBC,kBAPiB,EAQjBC,uBARiB,EASjB,uBATiB,EAUjB,uBAViB,EAWjB,uBAXiB,EAYjB,uBAZiB,EAajB,sBAbiB,C","sourcesContent":["import gte from \"./gte\";\nimport inValidator from \"./in\";\nimport lte from \"./lte\";\nimport maxLength from \"./maxLength\";\nimport minLength from \"./minLength\";\nimport pattern from \"./pattern\";\nimport required from \"./required\";\nimport patternPlugins from \"./patternPlugins\";\nimport dateLte from \"./dateLte\";\nimport dateGte from \"./dateGte\";\nimport timeLte from \"./timeLte\";\nimport timeGte from \"./timeGte\";\nimport unique from \"./unique\";\n\nexport default () => [\n gte,\n inValidator,\n lte,\n pattern,\n required,\n minLength,\n maxLength,\n patternPlugins,\n dateLte(),\n dateGte(),\n timeLte(),\n timeGte(),\n unique()\n];\n"]}
@@ -17,7 +17,9 @@ const plugin = {
17
17
  value,
18
18
  validator
19
19
  }) {
20
- const lteValue = validator.settings.value;
20
+ var _validator$settings;
21
+
22
+ const lteValue = (_validator$settings = validator.settings) === null || _validator$settings === void 0 ? void 0 : _validator$settings.value;
21
23
 
22
24
  if (typeof lteValue !== "undefined") {
23
25
  return _validation.validation.validate(value, `lte:${lteValue}`).then(v => v === true).catch(() => false);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["lte.ts"],"names":["plugin","type","name","validator","validate","value","lteValue","settings","validation","then","v","catch","Promise","resolve"],"mappings":";;;;;;;AAAA;;AAGA,MAAMA,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,+BAFmC;AAGzCC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,KADC;;AAEPE,IAAAA,QAAQ,CAAC;AAAEC,MAAAA,KAAF;AAASF,MAAAA;AAAT,KAAD,EAAuB;AAAA;;AAC3B,YAAMG,QAAQ,0BAAGH,SAAS,CAACI,QAAb,wDAAG,oBAAoBF,KAArC;;AACA,UAAI,OAAOC,QAAP,KAAoB,WAAxB,EAAqC;AACjC,eAAOE,uBACFJ,QADE,CACOC,KADP,EACe,OAAMC,QAAS,EAD9B,EAEFG,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AACD,aAAOC,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP;AACH;;AAXM;AAH8B,CAA7C;eAkBeb,M","sourcesContent":["import { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldValidatorPlugin = {\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-lte\",\n validator: {\n name: \"lte\",\n validate({ value, validator }) {\n const lteValue = validator.settings?.value;\n if (typeof lteValue !== \"undefined\") {\n return validation\n .validate(value, `lte:${lteValue}`)\n .then(v => v === true)\n .catch(() => false);\n }\n return Promise.resolve(true);\n }\n }\n};\n\nexport default plugin;\n"]}
@@ -17,7 +17,9 @@ const plugin = {
17
17
  value,
18
18
  validator
19
19
  }) {
20
- const maxLengthValue = validator.settings.value;
20
+ var _validator$settings;
21
+
22
+ const maxLengthValue = (_validator$settings = validator.settings) === null || _validator$settings === void 0 ? void 0 : _validator$settings.value;
21
23
 
22
24
  if (typeof maxLengthValue !== "undefined") {
23
25
  return _validation.validation.validate(value, `maxLength:${maxLengthValue}`).then(v => v === true).catch(() => false);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["maxLength.ts"],"names":["plugin","type","name","validator","validate","value","maxLengthValue","settings","validation","then","v","catch","Promise","resolve"],"mappings":";;;;;;;AAAA;;AAGA,MAAMA,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,sCAFmC;AAGzCC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,WADC;;AAEPE,IAAAA,QAAQ,CAAC;AAAEC,MAAAA,KAAF;AAASF,MAAAA;AAAT,KAAD,EAAuB;AAAA;;AAC3B,YAAMG,cAAc,0BAAGH,SAAS,CAACI,QAAb,wDAAG,oBAAoBF,KAA3C;;AACA,UAAI,OAAOC,cAAP,KAA0B,WAA9B,EAA2C;AACvC,eAAOE,uBACFJ,QADE,CACOC,KADP,EACe,aAAYC,cAAe,EAD1C,EAEFG,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AAED,aAAOC,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP;AACH;;AAZM;AAH8B,CAA7C;eAmBeb,M","sourcesContent":["import { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldValidatorPlugin = {\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-max-length\",\n validator: {\n name: \"maxLength\",\n validate({ value, validator }) {\n const maxLengthValue = validator.settings?.value;\n if (typeof maxLengthValue !== \"undefined\") {\n return validation\n .validate(value, `maxLength:${maxLengthValue}`)\n .then(v => v === true)\n .catch(() => false);\n }\n\n return Promise.resolve(true);\n }\n }\n};\n\nexport default plugin;\n"]}
@@ -17,7 +17,9 @@ const plugin = {
17
17
  value,
18
18
  validator
19
19
  }) {
20
- const minLengthValue = validator.settings.value;
20
+ var _validator$settings;
21
+
22
+ const minLengthValue = (_validator$settings = validator.settings) === null || _validator$settings === void 0 ? void 0 : _validator$settings.value;
21
23
 
22
24
  if (typeof minLengthValue !== "undefined") {
23
25
  return _validation.validation.validate(value, `minLength:${minLengthValue}`).then(v => v === true).catch(() => false);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["minLength.ts"],"names":["plugin","type","name","validator","validate","value","minLengthValue","settings","validation","then","v","catch","Promise","resolve"],"mappings":";;;;;;;AAAA;;AAGA,MAAMA,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,sCAFmC;AAGzCC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,WADC;;AAEPE,IAAAA,QAAQ,CAAC;AAAEC,MAAAA,KAAF;AAASF,MAAAA;AAAT,KAAD,EAAuB;AAAA;;AAC3B,YAAMG,cAAc,0BAAGH,SAAS,CAACI,QAAb,wDAAG,oBAAoBF,KAA3C;;AACA,UAAI,OAAOC,cAAP,KAA0B,WAA9B,EAA2C;AACvC,eAAOE,uBACFJ,QADE,CACOC,KADP,EACe,aAAYC,cAAe,EAD1C,EAEFG,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AAED,aAAOC,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP;AACH;;AAZM;AAH8B,CAA7C;eAmBeb,M","sourcesContent":["import { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldValidatorPlugin = {\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-min-length\",\n validator: {\n name: \"minLength\",\n validate({ value, validator }) {\n const minLengthValue = validator.settings?.value;\n if (typeof minLengthValue !== \"undefined\") {\n return validation\n .validate(value, `minLength:${minLengthValue}`)\n .then(v => v === true)\n .catch(() => false);\n }\n\n return Promise.resolve(true);\n }\n }\n};\n\nexport default plugin;\n"]}
@@ -24,10 +24,10 @@ const plugin = {
24
24
  } = validator;
25
25
  let pattern;
26
26
 
27
- if (settings.preset === "custom") {
27
+ if ((settings === null || settings === void 0 ? void 0 : settings.preset) === "custom") {
28
28
  pattern = settings;
29
29
  } else {
30
- const patternPlugin = context.plugins.byType("cms-model-field-validator-pattern").find(item => item.pattern.name === settings.preset);
30
+ const patternPlugin = context.plugins.byType("cms-model-field-validator-pattern").find(item => item.pattern.name === (settings === null || settings === void 0 ? void 0 : settings.preset));
31
31
 
32
32
  if (patternPlugin) {
33
33
  pattern = patternPlugin.pattern;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["pattern.ts"],"names":["plugin","type","name","validator","validate","value","context","settings","pattern","preset","patternPlugin","plugins","byType","find","item","RegExp","regex","flags","test"],"mappings":";;;;;;AAEA,MAAMA,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,mCAFmC;AAGzCC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,SADC;;AAEP,UAAME,QAAN,CAAe;AAAEC,MAAAA,KAAF;AAASF,MAAAA,SAAT;AAAoBG,MAAAA;AAApB,KAAf,EAA8C;AAC1C,UAAI,CAACD,KAAL,EAAY;AACR,eAAO,IAAP;AACH;;AAED,YAAM;AAAEE,QAAAA;AAAF,UAAeJ,SAArB;AAEA,UAAIK,OAAJ;;AACA,UAAI,CAAAD,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEE,MAAV,MAAqB,QAAzB,EAAmC;AAC/BD,QAAAA,OAAO,GAAGD,QAAV;AACH,OAFD,MAEO;AACH,cAAMG,aAAa,GAAGJ,OAAO,CAACK,OAAR,CACjBC,MADiB,CAEd,mCAFc,EAIjBC,IAJiB,CAIZC,IAAI,IAAIA,IAAI,CAACN,OAAL,CAAaN,IAAb,MAAsBK,QAAtB,aAAsBA,QAAtB,uBAAsBA,QAAQ,CAAEE,MAAhC,CAJI,CAAtB;;AAMA,YAAIC,aAAJ,EAAmB;AACfF,UAAAA,OAAO,GAAGE,aAAa,CAACF,OAAxB;AACH;AACJ;;AAED,UAAI,CAACA,OAAL,EAAc;AACV,eAAO,IAAP;AACH;;AAED,aAAO,IAAIO,MAAJ,CAAWP,OAAO,CAACQ,KAAnB,EAA0BR,OAAO,CAACS,KAAlC,EAAyCC,IAAzC,CAA8Cb,KAA9C,CAAP;AACH;;AA7BM;AAH8B,CAA7C;eAoCeL,M","sourcesContent":["import { CmsModelFieldPatternValidatorPlugin, CmsModelFieldValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldValidatorPlugin = {\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-pattern\",\n validator: {\n name: \"pattern\",\n async validate({ value, validator, context }) {\n if (!value) {\n return true;\n }\n\n const { settings } = validator;\n\n let pattern;\n if (settings?.preset === \"custom\") {\n pattern = settings;\n } else {\n const patternPlugin = context.plugins\n .byType<CmsModelFieldPatternValidatorPlugin>(\n \"cms-model-field-validator-pattern\"\n )\n .find(item => item.pattern.name === settings?.preset);\n\n if (patternPlugin) {\n pattern = patternPlugin.pattern;\n }\n }\n\n if (!pattern) {\n return true;\n }\n\n return new RegExp(pattern.regex, pattern.flags).test(value);\n }\n }\n};\n\nexport default plugin;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["email.ts"],"names":["plugin","type","name","pattern","regex","flags"],"mappings":";;;;;;AAEA,MAAMA,MAA2C,GAAG;AAChDC,EAAAA,IAAI,EAAE,mCAD0C;AAEhDC,EAAAA,IAAI,EAAE,yCAF0C;AAGhDC,EAAAA,OAAO,EAAE;AACLD,IAAAA,IAAI,EAAE,OADD;AAELE,IAAAA,KAAK,EAAG,oCAFH;AAGLC,IAAAA,KAAK,EAAE;AAHF;AAHuC,CAApD;eAUeL,M","sourcesContent":["import { CmsModelFieldPatternValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldPatternValidatorPlugin = {\n type: \"cms-model-field-validator-pattern\",\n name: \"cms-model-field-validator-pattern-email\",\n pattern: {\n name: \"email\",\n regex: `^\\\\w[\\\\w.-]*@([\\\\w-]+\\\\.)+[\\\\w-]+$`,\n flags: \"i\"\n }\n};\n\nexport default plugin;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["email","url","lowerCase","upperCase","lowerCaseSpace","upperCaseSpace"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe,CAACA,cAAD,EAAQC,YAAR,EAAaC,kBAAb,EAAwBC,kBAAxB,EAAmCC,uBAAnC,EAAmDC,uBAAnD,C","sourcesContent":["import email from \"./email\";\nimport url from \"./url\";\nimport lowerCase from \"./lowerCase\";\nimport upperCase from \"./upperCase\";\nimport lowerCaseSpace from \"./lowerCaseSpace\";\nimport upperCaseSpace from \"./upperCaseSpace\";\n\nexport default [email, url, lowerCase, upperCase, lowerCaseSpace, upperCaseSpace];\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["lowerCase.ts"],"names":["plugin","type","name","pattern","regex","flags"],"mappings":";;;;;;AAEA,MAAMA,MAA2C,GAAG;AAChDC,EAAAA,IAAI,EAAE,mCAD0C;AAEhDC,EAAAA,IAAI,EAAE,8CAF0C;AAGhDC,EAAAA,OAAO,EAAE;AACLD,IAAAA,IAAI,EAAE,WADD;AAELE,IAAAA,KAAK,EAAG,YAFH;AAGLC,IAAAA,KAAK,EAAE;AAHF;AAHuC,CAApD;eAUeL,M","sourcesContent":["import { CmsModelFieldPatternValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldPatternValidatorPlugin = {\n type: \"cms-model-field-validator-pattern\",\n name: \"cms-model-field-validator-pattern-lower-case\",\n pattern: {\n name: \"lowerCase\",\n regex: `^([a-z]*)$`,\n flags: \"\"\n }\n};\n\nexport default plugin;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["lowerCaseSpace.ts"],"names":["plugin","type","name","pattern","regex","flags"],"mappings":";;;;;;AAEA,MAAMA,MAA2C,GAAG;AAChDC,EAAAA,IAAI,EAAE,mCAD0C;AAEhDC,EAAAA,IAAI,EAAE,oDAF0C;AAGhDC,EAAAA,OAAO,EAAE;AACLD,IAAAA,IAAI,EAAE,gBADD;AAELE,IAAAA,KAAK,EAAG,eAFH;AAGLC,IAAAA,KAAK,EAAE;AAHF;AAHuC,CAApD;eAUeL,M","sourcesContent":["import { CmsModelFieldPatternValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldPatternValidatorPlugin = {\n type: \"cms-model-field-validator-pattern\",\n name: \"cms-model-field-validator-pattern-lower-case-space\",\n pattern: {\n name: \"lowerCaseSpace\",\n regex: `^([a-z\\\\s]+)$`,\n flags: \"\"\n }\n};\n\nexport default plugin;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["upperCase.ts"],"names":["plugin","type","name","pattern","regex","flags"],"mappings":";;;;;;AAEA,MAAMA,MAA2C,GAAG;AAChDC,EAAAA,IAAI,EAAE,mCAD0C;AAEhDC,EAAAA,IAAI,EAAE,8CAF0C;AAGhDC,EAAAA,OAAO,EAAE;AACLD,IAAAA,IAAI,EAAE,WADD;AAELE,IAAAA,KAAK,EAAG,YAFH;AAGLC,IAAAA,KAAK,EAAE;AAHF;AAHuC,CAApD;eAUeL,M","sourcesContent":["import { CmsModelFieldPatternValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldPatternValidatorPlugin = {\n type: \"cms-model-field-validator-pattern\",\n name: \"cms-model-field-validator-pattern-upper-case\",\n pattern: {\n name: \"upperCase\",\n regex: `^([A-Z]*)$`,\n flags: \"\"\n }\n};\n\nexport default plugin;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["upperCaseSpace.ts"],"names":["plugin","type","name","pattern","regex","flags"],"mappings":";;;;;;AAEA,MAAMA,MAA2C,GAAG;AAChDC,EAAAA,IAAI,EAAE,mCAD0C;AAEhDC,EAAAA,IAAI,EAAE,oDAF0C;AAGhDC,EAAAA,OAAO,EAAE;AACLD,IAAAA,IAAI,EAAE,gBADD;AAELE,IAAAA,KAAK,EAAG,eAFH;AAGLC,IAAAA,KAAK,EAAE;AAHF;AAHuC,CAApD;eAUeL,M","sourcesContent":["import { CmsModelFieldPatternValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldPatternValidatorPlugin = {\n type: \"cms-model-field-validator-pattern\",\n name: \"cms-model-field-validator-pattern-upper-case-space\",\n pattern: {\n name: \"upperCaseSpace\",\n regex: `^([A-Z\\\\s]+)$`,\n flags: \"\"\n }\n};\n\nexport default plugin;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["url.ts"],"names":["plugin","type","name","pattern","regex","flags"],"mappings":";;;;;;AAEA,MAAMA,MAA2C,GAAG;AAChDC,EAAAA,IAAI,EAAE,mCAD0C;AAEhDC,EAAAA,IAAI,EAAE,uCAF0C;AAGhDC,EAAAA,OAAO,EAAE;AACLD,IAAAA,IAAI,EAAE,KADD;AAELE,IAAAA,KAAK,EAAE,+FAFF;AAGLC,IAAAA,KAAK,EAAE;AAHF;AAHuC,CAApD;eAUeL,M","sourcesContent":["import { CmsModelFieldPatternValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldPatternValidatorPlugin = {\n type: \"cms-model-field-validator-pattern\",\n name: \"cms-model-field-validator-pattern-url\",\n pattern: {\n name: \"url\",\n regex: \"^(ftp|http|https):\\\\/\\\\/(\\\\w+:{0,1}\\\\w*@)?(\\\\S+)(:[0-9]+)?(\\\\/|\\\\/([\\\\w#!:.?+=&%@!\\\\-\\\\/]))?$\",\n flags: \"i\"\n }\n};\n\nexport default plugin;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["required.ts"],"names":["plugin","type","name","validator","validate","value","validation","then","v","catch"],"mappings":";;;;;;;AAAA;;AAGA,MAAMA,MAAoC,GAAG;AACzCC,EAAAA,IAAI,EAAE,2BADmC;AAEzCC,EAAAA,IAAI,EAAE,oCAFmC;AAGzCC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,UADC;;AAEPE,IAAAA,QAAQ,CAAC;AAAEC,MAAAA;AAAF,KAAD,EAAY;AAChB,aAAOC,uBACFF,QADE,CACOC,KADP,EACc,UADd,EAEFE,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AAPM;AAH8B,CAA7C;eAceT,M","sourcesContent":["import { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\n\nconst plugin: CmsModelFieldValidatorPlugin = {\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-required\",\n validator: {\n name: \"required\",\n validate({ value }) {\n return validation\n .validate(value, \"required\")\n .then(v => v === true)\n .catch(() => false);\n }\n }\n};\n\nexport default plugin;\n"]}
@@ -17,7 +17,9 @@ var _default = () => ({
17
17
  value,
18
18
  validator
19
19
  }) {
20
- const gteValue = validator.settings.value;
20
+ var _validator$settings;
21
+
22
+ const gteValue = (_validator$settings = validator.settings) === null || _validator$settings === void 0 ? void 0 : _validator$settings.value;
21
23
 
22
24
  if (typeof gteValue === "undefined") {
23
25
  return true;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["timeGte.ts"],"names":["type","name","validator","validate","value","gteValue","settings","validation","then","v","catch"],"mappings":";;;;;;;AAAA;;eAGe,OAAqC;AAChDA,EAAAA,IAAI,EAAE,2BAD0C;AAEhDC,EAAAA,IAAI,EAAE,oCAF0C;AAGhDC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,SADC;;AAEP,UAAME,QAAN,CAAe;AAAEC,MAAAA,KAAF;AAASF,MAAAA;AAAT,KAAf,EAAqC;AAAA;;AACjC,YAAMG,QAAQ,0BAAGH,SAAS,CAACI,QAAb,wDAAG,oBAAoBF,KAArC;;AACA,UAAI,OAAOC,QAAP,KAAoB,WAAxB,EAAqC;AACjC,eAAO,IAAP;AACH;;AACD,aAAOE,uBACFJ,QADE,CACOC,KADP,EACe,WAAUC,QAAS,EADlC,EAEFG,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AAXM;AAHqC,CAArC,C","sourcesContent":["import { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\n\nexport default (): CmsModelFieldValidatorPlugin => ({\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-time-gte\",\n validator: {\n name: \"timeGte\",\n async validate({ value, validator }) {\n const gteValue = validator.settings?.value;\n if (typeof gteValue === \"undefined\") {\n return true;\n }\n return validation\n .validate(value, `timeGte:${gteValue}`)\n .then(v => v === true)\n .catch(() => false);\n }\n }\n});\n"]}
@@ -17,7 +17,9 @@ var _default = () => ({
17
17
  value,
18
18
  validator
19
19
  }) {
20
- const lteValue = validator.settings.value;
20
+ var _validator$settings;
21
+
22
+ const lteValue = (_validator$settings = validator.settings) === null || _validator$settings === void 0 ? void 0 : _validator$settings.value;
21
23
 
22
24
  if (typeof lteValue === "undefined") {
23
25
  return true;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["timeLte.ts"],"names":["type","name","validator","validate","value","lteValue","settings","validation","then","v","catch"],"mappings":";;;;;;;AAAA;;eAGe,OAAqC;AAChDA,EAAAA,IAAI,EAAE,2BAD0C;AAEhDC,EAAAA,IAAI,EAAE,oCAF0C;AAGhDC,EAAAA,SAAS,EAAE;AACPD,IAAAA,IAAI,EAAE,SADC;;AAEP,UAAME,QAAN,CAAe;AAAEC,MAAAA,KAAF;AAASF,MAAAA;AAAT,KAAf,EAAqC;AAAA;;AACjC,YAAMG,QAAQ,0BAAGH,SAAS,CAACI,QAAb,wDAAG,oBAAoBF,KAArC;;AACA,UAAI,OAAOC,QAAP,KAAoB,WAAxB,EAAqC;AACjC,eAAO,IAAP;AACH;;AACD,aAAOE,uBACFJ,QADE,CACOC,KADP,EACe,WAAUC,QAAS,EADlC,EAEFG,IAFE,CAEGC,CAAC,IAAIA,CAAC,KAAK,IAFd,EAGFC,KAHE,CAGI,MAAM,KAHV,CAAP;AAIH;;AAXM;AAHqC,CAArC,C","sourcesContent":["import { validation } from \"@webiny/validation\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\n\nexport default (): CmsModelFieldValidatorPlugin => ({\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-time-lte\",\n validator: {\n name: \"timeLte\",\n async validate({ value, validator }) {\n const lteValue = validator.settings?.value;\n if (typeof lteValue === \"undefined\") {\n return true;\n }\n return validation\n .validate(value, `timeLte:${lteValue}`)\n .then(v => v === true)\n .catch(() => false);\n }\n }\n});\n"]}
@@ -42,6 +42,7 @@ var _default = () => {
42
42
  const [items] = await manager.listLatest({
43
43
  where: {
44
44
  entryId_not: entry ? entry.entryId : undefined,
45
+ tenant: model.tenant,
45
46
  [field.fieldId]: value
46
47
  },
47
48
  limit: 1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["unique.ts"],"names":["type","name","validator","validate","field","value","initialValue","context","model","entry","manager","cms","getModelManager","trim","items","listLatest","where","entryId_not","entryId","undefined","tenant","fieldId","limit","length","ex","WebinyError"],"mappings":";;;;;;;;;AAAA;;AAGA;AACA;AACA;AACA;eACe,MAAoC;AAC/C,SAAO;AACHA,IAAAA,IAAI,EAAE,2BADH;AAEHC,IAAAA,IAAI,EAAE,kCAFH;AAGHC,IAAAA,SAAS,EAAE;AACPD,MAAAA,IAAI,EAAE,QADC;AAEPE,MAAAA,QAAQ,EAAE,OAAO;AAAEC,QAAAA,KAAF;AAASC,QAAAA,KAAK,EAAEC,YAAhB;AAA8BC,QAAAA,OAA9B;AAAuCC,QAAAA,KAAvC;AAA8CC,QAAAA;AAA9C,OAAP,KAAiE;AACvE,cAAMC,OAAO,GAAG,MAAMH,OAAO,CAACI,GAAR,CAAYC,eAAZ,CAA4BJ,KAA5B,CAAtB;AACA;AAChB;AACA;AACA;;AACgB,cAAMH,KAAK,GAAG,CAACC,YAAY,IAAI,EAAjB,EAAqBO,IAArB,EAAd;;AACA,YAAI,CAACR,KAAL,EAAY;AACR,iBAAO,IAAP;AACH;;AACD,YAAI;AACA,gBAAM,CAACS,KAAD,IAAU,MAAMJ,OAAO,CAACK,UAAR,CAAmB;AACrCC,YAAAA,KAAK,EAAE;AACHC,cAAAA,WAAW,EAAER,KAAK,GAAGA,KAAK,CAACS,OAAT,GAAmBC,SADlC;AAEHC,cAAAA,MAAM,EAAEZ,KAAK,CAACY,MAFX;AAGH,eAAChB,KAAK,CAACiB,OAAP,GAAiBhB;AAHd,aAD8B;AAMrCiB,YAAAA,KAAK,EAAE;AAN8B,WAAnB,CAAtB;AAQA,iBAAOR,KAAK,CAACS,MAAN,KAAiB,CAAxB;AACH,SAVD,CAUE,OAAOC,EAAP,EAAW;AACT,gBAAM,IAAIC,cAAJ,CACF,oDADE,EAEF,oBAFE,EAGF;AACIrB,YAAAA,KADJ;AAEIC,YAAAA,KAFJ;AAGIG,YAAAA;AAHJ,WAHE,CAAN;AASH;AACJ;AAjCM;AAHR,GAAP;AAuCH,C","sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsModelFieldValidatorPlugin } from \"~/types\";\n\n/**\n * Validation if the field value is unique.\n * Be aware of using this in DynamoDB only environment as all records will be loaded to check for the unique value.\n */\nexport default (): CmsModelFieldValidatorPlugin => {\n return {\n type: \"cms-model-field-validator\",\n name: \"cms-model-field-validator-unique\",\n validator: {\n name: \"unique\",\n validate: async ({ field, value: initialValue, context, model, entry }) => {\n const manager = await context.cms.getModelManager(model);\n /**\n * If there is no value passed, we are assuming that user does not want any value to be validated.\n * If user needs something to passed into a unique field, they must add \"required\" validator.\n */\n const value = (initialValue || \"\").trim();\n if (!value) {\n return true;\n }\n try {\n const [items] = await manager.listLatest({\n where: {\n entryId_not: entry ? entry.entryId : undefined,\n tenant: model.tenant,\n [field.fieldId]: value\n },\n limit: 1\n });\n return items.length === 0;\n } catch (ex) {\n throw new WebinyError(\n \"Error while checking if the field value is unique.\",\n \"UNIQUE_CHECK_ERROR\",\n {\n field,\n value,\n model\n }\n );\n }\n }\n }\n };\n};\n"]}
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Params as CreateAdminCrudsParams } from "./plugins/crud";
2
- import { Params as CreateContentCrudsParams } from "./content/plugins/crud";
1
+ import { CreateAdminCrudsParams } from "./plugins/crud";
2
+ import { CreateContentCrudsParams } from "./content/plugins/crud";
3
3
  import { CreateGraphQLHandlerOptions } from "./content/graphQLHandlerFactory";
4
4
  import { StorageTransformPlugin } from "./content/plugins/storage/StorageTransformPlugin";
5
5
  import { CreateParametersPluginsParams } from "./content/parameterPlugins";
@@ -13,5 +13,5 @@ export interface ContentContextParams extends CreateContentCrudsParams, CreatePa
13
13
  }
14
14
  export declare const createContentHeadlessCmsContext: (params: ContentContextParams) => (import("./types").ModelManagerPlugin | import("./types").CmsModelFieldToGraphQLPlugin[] | StorageTransformPlugin<any, any> | import("@webiny/handler").ContextPlugin<import("./types").CmsContext> | CmsParametersPlugin[] | (import("./types").CmsModelFieldValidatorPlugin | import("./types").CmsModelFieldPatternValidatorPlugin[])[])[];
15
15
  export declare type ContentGraphQLParams = CreateGraphQLHandlerOptions;
16
- export declare const createContentHeadlessCmsGraphQL: (params?: ContentGraphQLParams) => import("@webiny/plugins/types").PluginCollection;
16
+ export declare const createContentHeadlessCmsGraphQL: (params?: CreateGraphQLHandlerOptions | undefined) => import("@webiny/plugins/types").PluginCollection;
17
17
  export { StorageTransformPlugin, CmsParametersPlugin, CmsGroupPlugin, CmsModelPlugin };
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["createAdminHeadlessCmsContext","params","createAdminHeadlessCmsGraphQL","createContentHeadlessCmsContext","createContentHeadlessCmsGraphQL"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AAIO,MAAMA,6BAA6B,GAAIC,MAAD,IAAgC;AACzE,SAAO,CAAC,uBAAD,EAAY,4BAAiBA,MAAjB,CAAZ,EAAsC,wBAAtC,CAAP;AACH,CAFM;;;;AAIA,MAAMC,6BAA6B,GAAG,MAAM;AAC/C,SAAO,mCAAP;AACH,CAFM;;;;AAOA,MAAMC,+BAA+B,GAAIF,MAAD,IAAkC;AAC7E,SAAO,CACH,+CAAwBA,MAAxB,CADG,EAEH,4BAFG,EAGH,4BAHG,EAIH,+BAAmBA,MAAnB,CAJG,EAKH,6BALG,EAMH,0BANG,EAOH,uBAPG,EAQH,sBARG,CASH;AACA;AAVG,GAAP;AAYH,CAbM;;;;AAeA,MAAMG,+BAA+B,GAAIH,MAAD,IAAmC;AAC9E,SAAO,kDAAsBA,MAAtB,CAAP;AACH,CAFM","sourcesContent":["import { createGraphQLPlugin } from \"~/plugins/graphql\";\nimport { createAdminCruds, CreateAdminCrudsParams } from \"~/plugins/crud\";\nimport context from \"~/plugins/context\";\nimport upgrades from \"~/plugins/upgrades\";\nimport contextSetup from \"~/content/contextSetup\";\nimport modelManager from \"~/content/plugins/modelManager\";\nimport { createContentCruds, CreateContentCrudsParams } from \"~/content/plugins/crud\";\nimport fieldTypePlugins from \"~/content/plugins/graphqlFields\";\nimport validatorsPlugins from \"~/content/plugins/validators\";\nimport defaultStoragePlugin from \"~/content/plugins/storage/default\";\nimport objectStoragePlugin from \"~/content/plugins/storage/object\";\nimport {\n CreateGraphQLHandlerOptions,\n graphQLHandlerFactory\n} from \"~/content/graphQLHandlerFactory\";\nimport { StorageTransformPlugin } from \"~/content/plugins/storage/StorageTransformPlugin\";\nimport { createParametersPlugins, CreateParametersPluginsParams } from \"~/content/parameterPlugins\";\nimport { CmsParametersPlugin } from \"~/content/plugins/CmsParametersPlugin\";\nimport { CmsGroupPlugin } from \"~/content/plugins/CmsGroupPlugin\";\nimport { CmsModelPlugin } from \"~/content/plugins/CmsModelPlugin\";\n\nexport type AdminContextParams = CreateAdminCrudsParams;\n\nexport const createAdminHeadlessCmsContext = (params: AdminContextParams) => {\n return [context(), createAdminCruds(params), upgrades()];\n};\n\nexport const createAdminHeadlessCmsGraphQL = () => {\n return createGraphQLPlugin();\n};\n\nexport interface ContentContextParams\n extends CreateContentCrudsParams,\n CreateParametersPluginsParams {}\nexport const createContentHeadlessCmsContext = (params: ContentContextParams) => {\n return [\n createParametersPlugins(params),\n contextSetup(),\n modelManager(),\n createContentCruds(params),\n fieldTypePlugins(),\n validatorsPlugins(),\n defaultStoragePlugin(),\n objectStoragePlugin()\n // new InternalAuthenticationPlugin(\"read-api-key\"),\n // new InternalAuthorizationPlugin(\"read-api-key\")\n ];\n};\nexport type ContentGraphQLParams = CreateGraphQLHandlerOptions;\nexport const createContentHeadlessCmsGraphQL = (params?: ContentGraphQLParams) => {\n return graphQLHandlerFactory(params);\n};\n\nexport { StorageTransformPlugin, CmsParametersPlugin, CmsGroupPlugin, CmsModelPlugin };\n"]}
@@ -5,13 +5,13 @@ declare type Group = {
5
5
  declare type Model = {
6
6
  [code: string]: string[];
7
7
  };
8
- declare type CMSPermission = {
8
+ interface CMSPermission {
9
9
  name: string;
10
10
  rwd?: string;
11
11
  pw?: string;
12
12
  own?: boolean;
13
13
  groups?: Group;
14
14
  models?: Model;
15
- };
15
+ }
16
16
  export declare const migrateCMSPermissions: (permissions: CMSPermission[], getModel: (modelId: string) => Promise<CmsModel>) => Promise<CMSPermission[]>;
17
17
  export {};
@@ -11,6 +11,10 @@ var _mergeWith = _interopRequireDefault(require("lodash/mergeWith"));
11
11
 
12
12
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
13
13
 
14
+ /**
15
+ * Not used anymore so ignore.
16
+ */
17
+ // @ts-nocheck
14
18
  var AccessTypes;
15
19
 
16
20
  (function (AccessTypes) {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["migrateCMSPermissions.ts"],"names":["AccessTypes","migrateCMSPermissions","permissions","getModel","fullAccess","find","permission","name","FULL","newPermissions","DEFAULT_PERMISSIONS","CONTENT_MODEL_GROUP","rwd","own","CONTENT_MODEL","CONTENT_ENTRY","forEach","entity","existingPermission","setAccessScopeToOwn","groups","moveGroups","models","moveModels","contentModels","contentModelGroups","locales","Object","keys","i","length","code","j","modelId","group","includes","id","push","values","mergeCustomizer","objValue","srcValue","Array","isArray","concat","filter","removeDuplicate","item","index","arr","findIndex","el"],"mappings":"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","sourcesContent":["/**\n * Not used anymore so ignore.\n */\n// @ts-nocheck\nimport mergeWith from \"lodash/mergeWith\";\nimport isEmpty from \"lodash/isEmpty\";\nimport { CmsModel } from \"./types\";\n\ntype Group = {\n [code: string]: string[];\n};\ntype Model = {\n [code: string]: string[];\n};\ninterface CMSPermission {\n name: string;\n rwd?: string;\n pw?: string;\n own?: boolean;\n groups?: Group;\n models?: Model;\n}\n\nenum AccessTypes {\n FULL = \"cms.*\",\n CONTENT_MODEL_GROUP = \"cms.contentModelGroup\",\n CONTENT_MODEL = \"cms.contentModel\",\n CONTENT_ENTRY = \"cms.contentEntry\"\n}\n\nexport const migrateCMSPermissions = async (\n permissions: CMSPermission[],\n getModel: (modelId: string) => Promise<CmsModel>\n): Promise<CMSPermission[]> => {\n // First we've to know whether is a \"full\" access or \"custom\" access.\n const fullAccess = permissions.find(permission => permission.name === AccessTypes.FULL);\n\n if (fullAccess) {\n return permissions;\n }\n\n // We'll construct the new newPermissions one by one.\n const newPermissions = {};\n\n const DEFAULT_PERMISSIONS = {\n [AccessTypes.CONTENT_MODEL_GROUP]: {\n name: AccessTypes.CONTENT_MODEL_GROUP,\n rwd: \"r\",\n own: false\n },\n [AccessTypes.CONTENT_MODEL]: {\n name: AccessTypes.CONTENT_MODEL,\n rwd: \"r\",\n own: false\n },\n [AccessTypes.CONTENT_ENTRY]: {\n name: AccessTypes.CONTENT_ENTRY,\n rwd: \"r\",\n own: false\n }\n };\n\n // Create new permissions.\n [AccessTypes.CONTENT_MODEL_GROUP, AccessTypes.CONTENT_MODEL, AccessTypes.CONTENT_ENTRY].forEach(\n entity => {\n // Check for \"entity\" permission existence.\n const existingPermission = permissions.find(permission => permission.name === entity);\n if (existingPermission) {\n newPermissions[entity] = existingPermission;\n } else {\n newPermissions[entity] = DEFAULT_PERMISSIONS[entity];\n }\n\n // Handle specific cases.\n if (entity === AccessTypes.CONTENT_MODEL_GROUP) {\n // Just to be on the safer side.\n if (newPermissions[entity].own) {\n setAccessScopeToOwn(newPermissions, entity);\n }\n }\n // Handle specific cases.\n if (entity === AccessTypes.CONTENT_MODEL) {\n // Just to be on the safer side.\n if (newPermissions[entity].own) {\n setAccessScopeToOwn(newPermissions, entity);\n }\n // If parent has the \"own\" access scope.\n if (newPermissions[AccessTypes.CONTENT_MODEL_GROUP].own) {\n setAccessScopeToOwn(newPermissions, entity);\n }\n // Transfer groups data to content model groups permission\n if (newPermissions[entity].groups) {\n moveGroups(newPermissions, entity);\n }\n }\n // Handle specific cases.\n if (entity === AccessTypes.CONTENT_ENTRY) {\n // Just to be on the safer side.\n if (newPermissions[entity].own) {\n setAccessScopeToOwn(newPermissions, entity);\n }\n // If parent has the \"own\" access scope.\n if (newPermissions[AccessTypes.CONTENT_MODEL].own) {\n setAccessScopeToOwn(newPermissions, entity);\n }\n // Transfer groups data to content model groups permission\n if (newPermissions[entity].groups) {\n moveGroups(newPermissions, entity);\n }\n // Transfer models data to content model groups permission\n if (newPermissions[entity].models) {\n moveModels(newPermissions, entity);\n }\n }\n }\n );\n\n /*\n * Sync \"models\" and \"groups\".\n * If there is a model from \"cms.contentModel\" permission's models property;\n * whose content group is missing from \"cms.contentModelGroup\" permission's groups property;\n * we add that into \"cms.contentModelGroup\" permission.\n *\n * Why?\n * Because, now the user must need to have at least READ permission on \"cms.contentModelGroup\" to access a model defined by \"cms.contentModel\".\n * */\n const contentModels = newPermissions[AccessTypes.CONTENT_MODEL].models;\n\n if (!isEmpty(contentModels)) {\n const contentModelGroups = newPermissions[AccessTypes.CONTENT_MODEL_GROUP].groups || {};\n\n const locales = Object.keys(contentModels);\n for (let i = 0; i < locales.length; i++) {\n const code = locales[i];\n for (let j = 0; j < contentModels[code].length; j++) {\n const modelId = contentModels[code][j];\n // Check if we've access to it's contentModelGroup.\n const { group } = await getModel(modelId);\n\n if (isEmpty(contentModelGroups[code])) {\n contentModelGroups[code] = [];\n }\n if (!contentModelGroups[code].includes(group.id)) {\n contentModelGroups[code].push(group.id);\n }\n }\n }\n\n // Update \"groups\" value in permission.\n newPermissions[AccessTypes.CONTENT_MODEL_GROUP].groups = contentModelGroups;\n }\n\n return Object.values(newPermissions);\n};\n\nconst mergeCustomizer = (objValue, srcValue) => {\n if (Array.isArray(objValue) === false) {\n return [];\n }\n return objValue.concat(srcValue).filter(removeDuplicate);\n};\n\nconst removeDuplicate = (item, index, arr) => arr.findIndex(el => el === item) === index;\n\nconst moveGroups = (permissions, entity) => {\n if (!isEmpty(permissions[AccessTypes.CONTENT_MODEL_GROUP][\"groups\"])) {\n permissions[AccessTypes.CONTENT_MODEL_GROUP][\"groups\"] = mergeWith(\n permissions[AccessTypes.CONTENT_MODEL_GROUP][\"groups\"],\n permissions[entity].groups,\n mergeCustomizer\n );\n } else {\n permissions[AccessTypes.CONTENT_MODEL_GROUP][\"groups\"] = permissions[entity].groups;\n }\n // Remove \"groups\" from content model permission\n delete permissions[entity].groups;\n};\n\nconst moveModels = (permissions, entity) => {\n if (!isEmpty(permissions[AccessTypes.CONTENT_MODEL][\"models\"])) {\n permissions[AccessTypes.CONTENT_MODEL][\"models\"] = mergeWith(\n permissions[AccessTypes.CONTENT_MODEL][\"models\"],\n permissions[entity].models,\n mergeCustomizer\n );\n } else {\n permissions[AccessTypes.CONTENT_MODEL][\"models\"] = permissions[entity].models;\n }\n // Remove \"models\" from content model permission\n delete permissions[entity].models;\n};\n\nconst setAccessScopeToOwn = (permissions, entity) => {\n permissions[entity].own = true;\n // Set primary action.\n permissions[entity].rwd = \"rwd\";\n\n // Remove \"groups\" from content model permission\n delete permissions[entity].groups;\n\n // Remove \"models\" from content model permission\n delete permissions[entity].models;\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms",
3
- "version": "5.23.1",
3
+ "version": "5.25.0-beta.0",
4
4
  "main": "index.js",
5
5
  "keywords": [
6
6
  "cms:base"
@@ -18,30 +18,31 @@
18
18
  ],
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
- "@babel/runtime": "7.16.7",
21
+ "@babel/runtime": "7.17.2",
22
22
  "@commodo/fields": "1.1.2-beta.20",
23
23
  "@graphql-tools/schema": "7.1.5",
24
- "@webiny/api-file-manager": "5.23.1",
25
- "@webiny/api-i18n": "5.23.1",
26
- "@webiny/api-i18n-content": "5.23.1",
27
- "@webiny/api-i18n-ddb": "5.23.1",
28
- "@webiny/api-security": "5.23.1",
29
- "@webiny/api-tenancy": "5.23.1",
30
- "@webiny/api-upgrade": "5.23.1",
31
- "@webiny/error": "5.23.1",
32
- "@webiny/handler": "5.23.1",
33
- "@webiny/handler-aws": "5.23.1",
34
- "@webiny/handler-db": "5.23.1",
35
- "@webiny/handler-graphql": "5.23.1",
36
- "@webiny/handler-http": "5.23.1",
37
- "@webiny/plugins": "5.23.1",
38
- "@webiny/pubsub": "5.23.1",
39
- "@webiny/utils": "5.23.1",
40
- "@webiny/validation": "5.23.1",
41
- "boolean": "3.1.4",
24
+ "@webiny/api-file-manager": "5.25.0-beta.0",
25
+ "@webiny/api-i18n": "5.25.0-beta.0",
26
+ "@webiny/api-i18n-content": "5.25.0-beta.0",
27
+ "@webiny/api-i18n-ddb": "5.25.0-beta.0",
28
+ "@webiny/api-security": "5.25.0-beta.0",
29
+ "@webiny/api-tenancy": "5.25.0-beta.0",
30
+ "@webiny/api-upgrade": "5.25.0-beta.0",
31
+ "@webiny/error": "5.25.0-beta.0",
32
+ "@webiny/handler": "5.25.0-beta.0",
33
+ "@webiny/handler-aws": "5.25.0-beta.0",
34
+ "@webiny/handler-db": "5.25.0-beta.0",
35
+ "@webiny/handler-graphql": "5.25.0-beta.0",
36
+ "@webiny/handler-http": "5.25.0-beta.0",
37
+ "@webiny/plugins": "5.25.0-beta.0",
38
+ "@webiny/pubsub": "5.25.0-beta.0",
39
+ "@webiny/utils": "5.25.0-beta.0",
40
+ "@webiny/validation": "5.25.0-beta.0",
41
+ "boolean": "3.2.0",
42
42
  "commodo-fields-object": "1.0.6",
43
43
  "dataloader": "2.0.0",
44
44
  "dot-prop": "6.0.1",
45
+ "graphql-tag": "2.12.6",
45
46
  "lodash": "4.17.21",
46
47
  "p-map": "4.0.0",
47
48
  "p-reduce": "2.1.0",
@@ -54,10 +55,10 @@
54
55
  "@babel/core": "^7.16.0",
55
56
  "@babel/preset-env": "^7.16.4",
56
57
  "@babel/preset-flow": "^7.16.0",
57
- "@webiny/api-security-so-ddb": "^5.23.1",
58
- "@webiny/api-tenancy-so-ddb": "^5.23.1",
59
- "@webiny/cli": "^5.23.1",
60
- "@webiny/project-utils": "^5.23.1",
58
+ "@webiny/api-security-so-ddb": "^5.25.0-beta.0",
59
+ "@webiny/api-tenancy-so-ddb": "^5.25.0-beta.0",
60
+ "@webiny/cli": "^5.25.0-beta.0",
61
+ "@webiny/project-utils": "^5.25.0-beta.0",
61
62
  "apollo-graphql": "^0.9.5",
62
63
  "get-yarn-workspaces": "^1.0.2",
63
64
  "graphql": "^15.7.2",
@@ -67,7 +68,7 @@
67
68
  "rimraf": "^3.0.2",
68
69
  "sinon": "^9.0.2",
69
70
  "ttypescript": "^1.5.12",
70
- "typescript": "^4.1.3"
71
+ "typescript": "4.5.5"
71
72
  },
72
73
  "publishConfig": {
73
74
  "access": "public",
@@ -77,5 +78,5 @@
77
78
  "build": "yarn webiny run build",
78
79
  "watch": "yarn webiny run watch"
79
80
  },
80
- "gitHead": "a726d09d2647d13e5a4f376cef23463564ef7ca0"
81
+ "gitHead": "2d3e7833575e88fde77d84e5490e746933a5ec28"
81
82
  }
@@ -22,9 +22,14 @@ var _default = () => {
22
22
  locale: locale ? locale.code : "en-US",
23
23
 
24
24
  getLocale() {
25
- return locale || {
26
- code: "en-US"
27
- };
25
+ if (!locale) {
26
+ return {
27
+ code: "en-US",
28
+ default: true
29
+ };
30
+ }
31
+
32
+ return locale;
28
33
  }
29
34
 
30
35
  });
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["context.ts"],"names":["ContextPlugin","context","locale","i18nContent","getCurrentLocale","cms","code","getLocale","default"],"mappings":";;;;;;;;;;;AAAA;;;;;;eAGe,MAAM;AACjB,SAAO,IAAIA,sBAAJ,CAA8BC,OAAO,IAAI;AAC5C,UAAMC,MAAM,GAAGD,OAAO,CAACE,WAAR,CAAoBC,gBAApB,EAAf;AAEAH,IAAAA,OAAO,CAACI,GAAR,mCACQJ,OAAO,CAACI,GAAR,IAAgB,EADxB;AAEIH,MAAAA,MAAM,EAAEA,MAAM,GAAGA,MAAM,CAACI,IAAV,GAAiB,OAFnC;;AAGIC,MAAAA,SAAS,GAAG;AACR,YAAI,CAACL,MAAL,EAAa;AACT,iBAAO;AACHI,YAAAA,IAAI,EAAE,OADH;AAEHE,YAAAA,OAAO,EAAE;AAFN,WAAP;AAIH;;AACD,eAAON,MAAP;AACH;;AAXL;AAaH,GAhBM,CAAP;AAiBH,C","sourcesContent":["import { ContextPlugin } from \"@webiny/handler\";\nimport { CmsContext } from \"~/types\";\n\nexport default () => {\n return new ContextPlugin<CmsContext>(context => {\n const locale = context.i18nContent.getCurrentLocale();\n\n context.cms = {\n ...(context.cms || ({} as any)),\n locale: locale ? locale.code : \"en-US\",\n getLocale() {\n if (!locale) {\n return {\n code: \"en-US\",\n default: true\n };\n }\n return locale;\n }\n };\n });\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { CmsContext, HeadlessCmsStorageOperations } from "../../types";
2
2
  import { ContextPlugin } from "@webiny/handler";
3
- export interface Params {
3
+ export interface CreateAdminCrudsParams {
4
4
  storageOperations: HeadlessCmsStorageOperations;
5
5
  }
6
- export declare const createAdminCruds: (params: Params) => ContextPlugin<CmsContext>;
6
+ export declare const createAdminCruds: (params: CreateAdminCrudsParams) => ContextPlugin<CmsContext>;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["debug","process","env","DEBUG","createAdminCruds","params","storageOperations","ContextPlugin","context","cms","console","log","getLocale","getIdentity","security","getTenant","tenancy","getCurrentTenant","plugins","length","register","init"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,KAAK,GAAGC,OAAO,CAACC,GAAR,CAAYC,KAAZ,KAAsB,MAApC;;AAMO,MAAMC,gBAAgB,GAAIC,MAAD,IAAoC;AAChE,QAAM;AAAEC,IAAAA;AAAF,MAAwBD,MAA9B;AACA,SAAO,IAAIE,sBAAJ,CAA8B,MAAMC,OAAN,IAAiB;AAClD;AACR;AACA;AACA;AACQ,QAAI,CAACA,OAAO,CAACC,GAAb,EAAkB;AACdT,MAAAA,KAAK,IACDU,OAAO,CAACC,GAAR,CACK,iGADL,CADJ;AAIA;AACH;;AACD,UAAMC,SAAS,GAAG,MAAM;AACpB,aAAOJ,OAAO,CAACC,GAAR,CAAYG,SAAZ,EAAP;AACH,KAFD;;AAIA,UAAMC,WAAW,GAAG,MAAM;AACtB,aAAOL,OAAO,CAACM,QAAR,CAAiBD,WAAjB,EAAP;AACH,KAFD;;AAIA,UAAME,SAAS,GAAG,MAAM;AACpB,aAAOP,OAAO,CAACQ,OAAR,CAAgBC,gBAAhB,EAAP;AACH,KAFD;;AAIA,QAAIX,iBAAiB,CAACY,OAAlB,IAA6BZ,iBAAiB,CAACY,OAAlB,CAA0BC,MAA1B,GAAmC,CAApE,EAAuE;AACnEX,MAAAA,OAAO,CAACU,OAAR,CAAgBE,QAAhB,CAAyBd,iBAAiB,CAACY,OAA3C;AACH;;AAEDV,IAAAA,OAAO,CAACC,GAAR,2FACOD,OAAO,CAACC,GADf;AAEIH,MAAAA;AAFJ,OAGO,8BAAiB;AAChBE,MAAAA,OADgB;AAEhBO,MAAAA,SAFgB;AAGhBF,MAAAA,WAHgB;AAIhBP,MAAAA;AAJgB,KAAjB,CAHP,GASO,kCAAmB;AAClBE,MAAAA,OADkB;AAElBO,MAAAA,SAFkB;AAGlBH,MAAAA,SAHkB;AAIlBN,MAAAA;AAJkB,KAAnB,CATP,GAeO,8CAAsB;AACrBE,MAAAA,OADqB;AAErBO,MAAAA,SAFqB;AAGrBH,MAAAA,SAHqB;AAIrBC,MAAAA,WAJqB;AAKrBP,MAAAA;AALqB,KAAtB,CAfP,GAsBO,oCAAiB;AAChBE,MAAAA,OADgB;AAEhBO,MAAAA,SAFgB;AAGhBH,MAAAA,SAHgB;AAIhBC,MAAAA,WAJgB;AAKhBP,MAAAA;AALgB,KAAjB,CAtBP,GA6BO,0CAAuB;AACtBE,MAAAA,OADsB;AAEtBK,MAAAA,WAFsB;AAGtBP,MAAAA;AAHsB,KAAvB,CA7BP;;AAoCA,QAAI,CAACA,iBAAiB,CAACe,IAAvB,EAA6B;AACzB;AACH;;AACD,UAAMf,iBAAiB,CAACe,IAAlB,CAAuBb,OAAO,CAACC,GAA/B,CAAN;AACH,GApEM,CAAP;AAqEH,CAvEM","sourcesContent":["import { createSettingsCrud } from \"./settings.crud\";\nimport { createSystemCrud } from \"./system.crud\";\nimport { CmsContext, HeadlessCmsStorageOperations } from \"~/types\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport { createModelGroupsCrud } from \"~/content/plugins/crud/contentModelGroup.crud\";\nimport { createModelsCrud } from \"~/content/plugins/crud/contentModel.crud\";\nimport { createContentEntryCrud } from \"~/content/plugins/crud/contentEntry.crud\";\n\nconst debug = process.env.DEBUG === \"true\";\n\nexport interface CreateAdminCrudsParams {\n storageOperations: HeadlessCmsStorageOperations;\n}\n\nexport const createAdminCruds = (params: CreateAdminCrudsParams) => {\n const { storageOperations } = params;\n return new ContextPlugin<CmsContext>(async context => {\n /**\n * This should never happen in the actual project.\n * It is to make sure that we load setup context before the CRUD init in our internal code.\n */\n if (!context.cms) {\n debug &&\n console.log(\n `Missing initial \"cms\" on the context. Make sure that you set it up before creating Admin CRUDs.`\n );\n return;\n }\n const getLocale = () => {\n return context.cms.getLocale();\n };\n\n const getIdentity = () => {\n return context.security.getIdentity();\n };\n\n const getTenant = () => {\n return context.tenancy.getCurrentTenant();\n };\n\n if (storageOperations.plugins && storageOperations.plugins.length > 0) {\n context.plugins.register(storageOperations.plugins);\n }\n\n context.cms = {\n ...context.cms,\n storageOperations,\n ...createSystemCrud({\n context,\n getTenant,\n getIdentity,\n storageOperations\n }),\n ...createSettingsCrud({\n context,\n getTenant,\n getLocale,\n storageOperations\n }),\n ...createModelGroupsCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createModelsCrud({\n context,\n getTenant,\n getLocale,\n getIdentity,\n storageOperations\n }),\n ...createContentEntryCrud({\n context,\n getIdentity,\n storageOperations\n })\n };\n\n if (!storageOperations.init) {\n return;\n }\n await storageOperations.init(context.cms);\n });\n};\n"]}
@@ -1,10 +1,10 @@
1
1
  import { CmsContext, HeadlessCmsStorageOperations, CmsSettingsContext } from "../../types";
2
2
  import { Tenant } from "@webiny/api-tenancy/types";
3
3
  import { I18NLocale } from "@webiny/api-i18n/types";
4
- export interface Params {
4
+ export interface CreateSettingsCrudParams {
5
5
  getTenant: () => Tenant;
6
6
  getLocale: () => I18NLocale;
7
7
  storageOperations: HeadlessCmsStorageOperations;
8
8
  context: CmsContext;
9
9
  }
10
- export declare const createSettingsCrud: (params: Params) => CmsSettingsContext;
10
+ export declare const createSettingsCrud: (params: CreateSettingsCrudParams) => CmsSettingsContext;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["settings.crud.ts"],"names":["createSettingsCrud","params","storageOperations","context","getTenant","getLocale","checkPermissions","utils","getSettings","settings","get","tenant","id","locale","code","updateModelLastChange","original","contentModelLastChange","Date","create","update","getModelLastChange","ex","console","log","error","message","data"],"mappings":";;;;;;;;;;;AAAA;;;;;;;;;;AAiBO,MAAMA,kBAAkB,GAAIC,MAAD,IAA0D;AACxF,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA,OAArB;AAA8BC,IAAAA,SAA9B;AAAyCC,IAAAA;AAAzC,MAAuDJ,MAA7D;;AAEA,QAAMK,gBAAgB,GAAG,MAAsC;AAC3D,WAAOC,KAAK,CAACD,gBAAN,CAAuBH,OAAvB,EAAgC,cAAhC,CAAP;AACH,GAFD;;AAIA,SAAO;AACHK,IAAAA,WAAW,EAAE,YAAyC;AAClD,YAAMF,gBAAgB,EAAtB;AACA,aAAO,MAAMJ,iBAAiB,CAACO,QAAlB,CAA2BC,GAA3B,CAA+B;AACxCC,QAAAA,MAAM,EAAEP,SAAS,GAAGQ,EADoB;AAExCC,QAAAA,MAAM,EAAER,SAAS,GAAGS;AAFoB,OAA/B,CAAb;AAIH,KAPE;AAQHC,IAAAA,qBAAqB,EAAE,YAA2B;AAC9C,YAAMC,QAAQ,GAAG,MAAMd,iBAAiB,CAACO,QAAlB,CAA2BC,GAA3B,CAA+B;AAClDC,QAAAA,MAAM,EAAEP,SAAS,GAAGQ,EAD8B;AAElDC,QAAAA,MAAM,EAAER,SAAS,GAAGS;AAF8B,OAA/B,CAAvB;;AAKA,YAAML,QAAqB,mCACnBO,QAAQ,IAAI,EADO;AAEvBC,QAAAA,sBAAsB,EAAE,IAAIC,IAAJ,EAFD;AAGvBP,QAAAA,MAAM,EAAEP,SAAS,GAAGQ,EAHG;AAIvBC,QAAAA,MAAM,EAAER,SAAS,GAAGS;AAJG,QAA3B;;AAOA,UAAI,CAACE,QAAL,EAAe;AACX,cAAMd,iBAAiB,CAACO,QAAlB,CAA2BU,MAA3B,CAAkC;AAAEV,UAAAA;AAAF,SAAlC,CAAN;AACA;AACH;;AAED,YAAMP,iBAAiB,CAACO,QAAlB,CAA2BW,MAA3B,CAAkC;AACpCJ,QAAAA,QADoC;AAEpCP,QAAAA;AAFoC,OAAlC,CAAN;AAIH,KA9BE;AA+BHY,IAAAA,kBAAkB,EAAE,YAA2B;AAC3C,UAAI;AACA,cAAMZ,QAAQ,GAAG,MAAMP,iBAAiB,CAACO,QAAlB,CAA2BC,GAA3B,CAA+B;AAClDC,UAAAA,MAAM,EAAEP,SAAS,GAAGQ,EAD8B;AAElDC,UAAAA,MAAM,EAAER,SAAS,GAAGS;AAF8B,SAA/B,CAAvB;;AAIA,YAAI,CAACL,QAAD,IAAa,CAACA,QAAQ,CAACQ,sBAA3B,EAAmD;AAC/C,iBAAO,IAAIC,IAAJ,EAAP;AACH;;AACD,eAAOT,QAAQ,CAACQ,sBAAhB;AACH,OATD,CASE,OAAOK,EAAP,EAAW;AACTC,QAAAA,OAAO,CAACC,GAAR,CAAY;AACRC,UAAAA,KAAK,EAAE;AACHC,YAAAA,OAAO,EAAEJ,EAAE,CAACI,OADT;AAEHZ,YAAAA,IAAI,EAAEQ,EAAE,CAACR,IAAH,IAAW,2CAFd;AAGHa,YAAAA,IAAI,EAAEL;AAHH;AADC,SAAZ;AAOH;;AACD,aAAO,IAAIJ,IAAJ,EAAP;AACH;AAnDE,GAAP;AAqDH,CA5DM","sourcesContent":["import * as utils from \"~/utils\";\nimport {\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\";\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 utils.checkPermissions(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 original,\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 || !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"]}
@@ -1,10 +1,11 @@
1
1
  import { CmsContext, CmsSystemContext, HeadlessCmsStorageOperations } from "../../types";
2
2
  import { Tenant } from "@webiny/api-tenancy/types";
3
3
  import { SecurityIdentity } from "@webiny/api-security/types";
4
- export interface Params {
4
+ interface CreateSystemCrudParams {
5
5
  getTenant: () => Tenant;
6
6
  storageOperations: HeadlessCmsStorageOperations;
7
7
  context: CmsContext;
8
8
  getIdentity: () => SecurityIdentity;
9
9
  }
10
- export declare const createSystemCrud: (params: Params) => CmsSystemContext;
10
+ export declare const createSystemCrud: (params: CreateSystemCrudParams) => CmsSystemContext;
11
+ export {};
@@ -52,7 +52,7 @@ const createSystemCrud = params => {
52
52
  const system = await storageOperations.system.get({
53
53
  tenant: getTenant().id
54
54
  });
55
- return system ? system.version : null;
55
+ return system ? system.version || null : null;
56
56
  };
57
57
 
58
58
  const setVersion = async version => {
@@ -170,7 +170,7 @@ const createSystemCrud = params => {
170
170
 
171
171
  const upgradePlugins = context.plugins.byType("api-upgrade").filter(pl => pl.app === "headless-cms");
172
172
  const installedAppVersion = await this.getSystemVersion();
173
- let plugin;
173
+ let plugin = undefined;
174
174
 
175
175
  try {
176
176
  plugin = (0, _apiUpgrade.getApplicablePlugin)({