@webiny/api-headless-cms 0.0.0-unstable.8c4d9f045a → 0.0.0-unstable.8feaff8c32

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 (475) hide show
  1. package/constants.d.ts +1 -0
  2. package/constants.js +8 -0
  3. package/constants.js.map +1 -0
  4. package/context.d.ts +5 -2
  5. package/context.js +96 -30
  6. package/context.js.map +1 -1
  7. package/crud/contentEntry/afterDelete.d.ts +2 -2
  8. package/crud/contentEntry/afterDelete.js +2 -7
  9. package/crud/contentEntry/afterDelete.js.map +1 -1
  10. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  11. package/crud/contentEntry/beforeCreate.js +2 -5
  12. package/crud/contentEntry/beforeCreate.js.map +1 -1
  13. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  14. package/crud/contentEntry/beforeUpdate.js +2 -5
  15. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  16. package/crud/contentEntry/entryDataValidation.js +4 -47
  17. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  18. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  19. package/crud/contentEntry/markLockedFields.js +25 -39
  20. package/crud/contentEntry/markLockedFields.js.map +1 -1
  21. package/crud/contentEntry/referenceFieldsMapping.js +48 -77
  22. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  23. package/crud/contentEntry/searchableFields.d.ts +9 -0
  24. package/crud/contentEntry/searchableFields.js +72 -0
  25. package/crud/contentEntry/searchableFields.js.map +1 -0
  26. package/crud/contentEntry.crud.d.ts +12 -7
  27. package/crud/contentEntry.crud.js +1213 -1033
  28. package/crud/contentEntry.crud.js.map +1 -1
  29. package/crud/contentModel/afterCreate.d.ts +3 -3
  30. package/crud/contentModel/afterCreate.js +5 -7
  31. package/crud/contentModel/afterCreate.js.map +1 -1
  32. package/crud/contentModel/afterCreateFrom.d.ts +3 -3
  33. package/crud/contentModel/afterCreateFrom.js +5 -7
  34. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  35. package/crud/contentModel/afterDelete.d.ts +3 -3
  36. package/crud/contentModel/afterDelete.js +5 -7
  37. package/crud/contentModel/afterDelete.js.map +1 -1
  38. package/crud/contentModel/afterUpdate.d.ts +3 -3
  39. package/crud/contentModel/afterUpdate.js +5 -7
  40. package/crud/contentModel/afterUpdate.js.map +1 -1
  41. package/crud/contentModel/beforeCreate.d.ts +5 -6
  42. package/crud/contentModel/beforeCreate.js +53 -119
  43. package/crud/contentModel/beforeCreate.js.map +1 -1
  44. package/crud/contentModel/beforeDelete.d.ts +3 -3
  45. package/crud/contentModel/beforeDelete.js +7 -21
  46. package/crud/contentModel/beforeDelete.js.map +1 -1
  47. package/crud/contentModel/beforeUpdate.d.ts +4 -6
  48. package/crud/contentModel/beforeUpdate.js +38 -15
  49. package/crud/contentModel/beforeUpdate.js.map +1 -1
  50. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  51. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  52. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  53. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  54. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  55. package/crud/contentModel/createFieldStorageId.js +4 -3
  56. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  57. package/crud/contentModel/defaultFields.d.ts +5 -0
  58. package/crud/contentModel/defaultFields.js +58 -0
  59. package/crud/contentModel/defaultFields.js.map +1 -0
  60. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  61. package/crud/contentModel/fields/descriptionField.js +42 -0
  62. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  63. package/crud/contentModel/fields/imageField.d.ts +2 -0
  64. package/crud/contentModel/fields/imageField.js +46 -0
  65. package/crud/contentModel/fields/imageField.js.map +1 -0
  66. package/crud/contentModel/fields/titleField.d.ts +2 -0
  67. package/crud/contentModel/fields/titleField.js +58 -0
  68. package/crud/contentModel/fields/titleField.js.map +1 -0
  69. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  70. package/crud/contentModel/validate/endingAllowed.js +26 -0
  71. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  72. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  73. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  74. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  75. package/crud/contentModel/validate/modelId.d.ts +11 -0
  76. package/crud/contentModel/validate/modelId.js +36 -0
  77. package/crud/contentModel/validate/modelId.js.map +1 -0
  78. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  79. package/crud/contentModel/validate/pluralApiName.js +24 -0
  80. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  81. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  82. package/crud/contentModel/validate/singularApiName.js +24 -0
  83. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  84. package/crud/contentModel/validateLayout.js +0 -8
  85. package/crud/contentModel/validateLayout.js.map +1 -1
  86. package/crud/contentModel/validateModel.d.ts +4 -4
  87. package/crud/contentModel/validateModel.js +7 -12
  88. package/crud/contentModel/validateModel.js.map +1 -1
  89. package/crud/contentModel/validateModelFields.d.ts +4 -4
  90. package/crud/contentModel/validateModelFields.js +134 -155
  91. package/crud/contentModel/validateModelFields.js.map +1 -1
  92. package/crud/contentModel/validation.d.ts +591 -0
  93. package/crud/contentModel/validation.js +145 -0
  94. package/crud/contentModel/validation.js.map +1 -0
  95. package/crud/contentModel.crud.d.ts +2 -0
  96. package/crud/contentModel.crud.js +426 -381
  97. package/crud/contentModel.crud.js.map +1 -1
  98. package/crud/contentModelGroup/beforeCreate.d.ts +2 -2
  99. package/crud/contentModelGroup/beforeCreate.js +3 -15
  100. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  101. package/crud/contentModelGroup/beforeDelete.d.ts +2 -2
  102. package/crud/contentModelGroup/beforeDelete.js +3 -11
  103. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  104. package/crud/contentModelGroup/beforeUpdate.d.ts +2 -2
  105. package/crud/contentModelGroup/beforeUpdate.js +2 -7
  106. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  107. package/crud/contentModelGroup/validation.d.ts +30 -0
  108. package/crud/contentModelGroup/validation.js +34 -0
  109. package/crud/contentModelGroup/validation.js.map +1 -0
  110. package/crud/contentModelGroup.crud.d.ts +2 -0
  111. package/crud/contentModelGroup.crud.js +252 -231
  112. package/crud/contentModelGroup.crud.js.map +1 -1
  113. package/crud/settings.crud.d.ts +3 -1
  114. package/crud/settings.crud.js +10 -36
  115. package/crud/settings.crud.js.map +1 -1
  116. package/crud/system.crud.js +55 -138
  117. package/crud/system.crud.js.map +1 -1
  118. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +1 -14
  119. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  120. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  121. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  122. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  123. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +17 -72
  124. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  125. package/fieldConverters/index.d.ts +2 -1
  126. package/fieldConverters/index.js +2 -5
  127. package/fieldConverters/index.js.map +1 -1
  128. package/graphql/buildSchemaPlugins.d.ts +8 -3
  129. package/graphql/buildSchemaPlugins.js +7 -11
  130. package/graphql/buildSchemaPlugins.js.map +1 -1
  131. package/graphql/checkEndpointAccess.d.ts +2 -0
  132. package/graphql/checkEndpointAccess.js +18 -0
  133. package/graphql/checkEndpointAccess.js.map +1 -0
  134. package/graphql/createExecutableSchema.d.ts +6 -0
  135. package/graphql/createExecutableSchema.js +29 -0
  136. package/graphql/createExecutableSchema.js.map +1 -0
  137. package/graphql/createRequestBody.d.ts +2 -0
  138. package/graphql/createRequestBody.js +14 -0
  139. package/graphql/createRequestBody.js.map +1 -0
  140. package/graphql/formatErrorPayload.d.ts +1 -0
  141. package/graphql/formatErrorPayload.js +25 -0
  142. package/graphql/formatErrorPayload.js.map +1 -0
  143. package/graphql/generateSchema.d.ts +8 -0
  144. package/graphql/generateSchema.js +31 -0
  145. package/graphql/generateSchema.js.map +1 -0
  146. package/graphql/getSchema.d.ts +17 -0
  147. package/graphql/getSchema.js +102 -0
  148. package/graphql/getSchema.js.map +1 -0
  149. package/graphql/graphQLHandlerFactory.js +7 -130
  150. package/graphql/graphQLHandlerFactory.js.map +1 -1
  151. package/graphql/handleRequest.d.ts +11 -0
  152. package/graphql/handleRequest.js +81 -0
  153. package/graphql/handleRequest.js.map +1 -0
  154. package/graphql/index.d.ts +1 -3
  155. package/graphql/index.js +2 -46
  156. package/graphql/index.js.map +1 -1
  157. package/graphql/schema/baseContentSchema.d.ts +6 -2
  158. package/graphql/schema/baseContentSchema.js +15 -29
  159. package/graphql/schema/baseContentSchema.js.map +1 -1
  160. package/graphql/schema/baseSchema.d.ts +3 -0
  161. package/graphql/schema/baseSchema.js +84 -0
  162. package/graphql/schema/baseSchema.js.map +1 -0
  163. package/graphql/schema/contentEntries.d.ts +6 -2
  164. package/graphql/schema/contentEntries.js +127 -111
  165. package/graphql/schema/contentEntries.js.map +1 -1
  166. package/graphql/schema/contentModelGroups.d.ts +6 -2
  167. package/graphql/schema/contentModelGroups.js +16 -29
  168. package/graphql/schema/contentModelGroups.js.map +1 -1
  169. package/graphql/schema/contentModels.d.ts +6 -2
  170. package/graphql/schema/contentModels.js +77 -22
  171. package/graphql/schema/contentModels.js.map +1 -1
  172. package/graphql/schema/createFieldResolvers.d.ts +2 -2
  173. package/graphql/schema/createFieldResolvers.js +25 -44
  174. package/graphql/schema/createFieldResolvers.js.map +1 -1
  175. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  176. package/graphql/schema/createFieldTypePluginRecords.js +13 -0
  177. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  178. package/graphql/schema/createManageResolvers.d.ts +1 -1
  179. package/graphql/schema/createManageResolvers.js +47 -57
  180. package/graphql/schema/createManageResolvers.js.map +1 -1
  181. package/graphql/schema/createManageSDL.d.ts +3 -0
  182. package/graphql/schema/createManageSDL.js +99 -83
  183. package/graphql/schema/createManageSDL.js.map +1 -1
  184. package/graphql/schema/createPreviewResolvers.js +6 -24
  185. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  186. package/graphql/schema/createReadResolvers.js +11 -24
  187. package/graphql/schema/createReadResolvers.js.map +1 -1
  188. package/graphql/schema/createReadSDL.d.ts +3 -0
  189. package/graphql/schema/createReadSDL.js +48 -46
  190. package/graphql/schema/createReadSDL.js.map +1 -1
  191. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  192. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
  193. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  194. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  195. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  196. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  197. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  198. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  199. package/graphql/schema/resolvers/manage/resolveDelete.js +13 -9
  200. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  201. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  202. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +20 -0
  203. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  204. package/graphql/schema/resolvers/manage/resolveGet.js +5 -25
  205. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  206. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  207. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  208. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  209. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  210. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  211. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +18 -0
  212. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  213. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  214. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  215. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  216. package/graphql/schema/resolvers/manage/resolveMove.js +30 -0
  217. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  218. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  219. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  220. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  221. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  222. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  223. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  224. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  225. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  226. package/graphql/schema/resolvers/preview/resolveGet.js +3 -15
  227. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  228. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  229. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  230. package/graphql/schema/resolvers/read/resolveGet.js +3 -15
  231. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  232. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  233. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  234. package/graphql/schema/schemaPlugins.d.ts +8 -3
  235. package/graphql/schema/schemaPlugins.js +58 -69
  236. package/graphql/schema/schemaPlugins.js.map +1 -1
  237. package/graphql/system.d.ts +2 -5
  238. package/graphql/system.js +56 -98
  239. package/graphql/system.js.map +1 -1
  240. package/graphqlFields/boolean.js +0 -12
  241. package/graphqlFields/boolean.js.map +1 -1
  242. package/graphqlFields/datetime.js +0 -17
  243. package/graphqlFields/datetime.js.map +1 -1
  244. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  245. package/graphqlFields/dynamicZone/dynamicZoneField.js +243 -0
  246. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  247. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  248. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  249. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  250. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  251. package/graphqlFields/dynamicZone/index.js +19 -0
  252. package/graphqlFields/dynamicZone/index.js.map +1 -0
  253. package/graphqlFields/file.js +0 -8
  254. package/graphqlFields/file.js.map +1 -1
  255. package/graphqlFields/helpers.js +0 -10
  256. package/graphqlFields/helpers.js.map +1 -1
  257. package/graphqlFields/index.d.ts +1 -1
  258. package/graphqlFields/index.js +2 -12
  259. package/graphqlFields/index.js.map +1 -1
  260. package/graphqlFields/longText.js +0 -10
  261. package/graphqlFields/longText.js.map +1 -1
  262. package/graphqlFields/number.js +5 -12
  263. package/graphqlFields/number.js.map +1 -1
  264. package/graphqlFields/object.js +132 -99
  265. package/graphqlFields/object.js.map +1 -1
  266. package/graphqlFields/ref.js +90 -114
  267. package/graphqlFields/ref.js.map +1 -1
  268. package/graphqlFields/richText.js +0 -9
  269. package/graphqlFields/richText.js.map +1 -1
  270. package/graphqlFields/text.js +2 -11
  271. package/graphqlFields/text.js.map +1 -1
  272. package/index.d.ts +5 -3
  273. package/index.js +27 -27
  274. package/index.js.map +1 -1
  275. package/modelManager/DefaultCmsModelManager.d.ts +7 -7
  276. package/modelManager/DefaultCmsModelManager.js +1 -17
  277. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  278. package/modelManager/index.js +0 -4
  279. package/modelManager/index.js.map +1 -1
  280. package/package.json +36 -42
  281. package/parameters/context.js +0 -4
  282. package/parameters/context.js.map +1 -1
  283. package/parameters/header.js +4 -15
  284. package/parameters/header.js.map +1 -1
  285. package/parameters/index.js +0 -8
  286. package/parameters/index.js.map +1 -1
  287. package/parameters/manual.js +7 -15
  288. package/parameters/manual.js.map +1 -1
  289. package/parameters/path.js +1 -12
  290. package/parameters/path.js.map +1 -1
  291. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  292. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  293. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  294. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  295. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  296. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  297. package/plugins/CmsGroupPlugin.js +1 -9
  298. package/plugins/CmsGroupPlugin.js.map +1 -1
  299. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  300. package/plugins/CmsModelFieldConverterPlugin.js +1 -6
  301. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  302. package/plugins/CmsModelPlugin.d.ts +27 -5
  303. package/plugins/CmsModelPlugin.js +46 -51
  304. package/plugins/CmsModelPlugin.js.map +1 -1
  305. package/plugins/CmsParametersPlugin.js +4 -7
  306. package/plugins/CmsParametersPlugin.js.map +1 -1
  307. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  308. package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
  309. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  310. package/plugins/StorageTransformPlugin.d.ts +11 -11
  311. package/plugins/StorageTransformPlugin.js +1 -10
  312. package/plugins/StorageTransformPlugin.js.map +1 -1
  313. package/plugins/index.d.ts +3 -0
  314. package/plugins/index.js +33 -10
  315. package/plugins/index.js.map +1 -1
  316. package/storage/default.js +0 -3
  317. package/storage/default.js.map +1 -1
  318. package/storage/object.js +7 -27
  319. package/storage/object.js.map +1 -1
  320. package/types.d.ts +712 -251
  321. package/types.js +78 -76
  322. package/types.js.map +1 -1
  323. package/utils/converters/Converter.js +1 -14
  324. package/utils/converters/Converter.js.map +1 -1
  325. package/utils/converters/ConverterCollection.d.ts +7 -0
  326. package/utils/converters/ConverterCollection.js +36 -32
  327. package/utils/converters/ConverterCollection.js.map +1 -1
  328. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  329. package/utils/converters/valueKeyStorageConverter.js +32 -51
  330. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  331. package/utils/createTypeFromFields.d.ts +16 -0
  332. package/utils/createTypeFromFields.js +66 -0
  333. package/utils/createTypeFromFields.js.map +1 -0
  334. package/utils/createTypeName.d.ts +0 -2
  335. package/utils/createTypeName.js +5 -20
  336. package/utils/createTypeName.js.map +1 -1
  337. package/utils/entryStorage.js +25 -42
  338. package/utils/entryStorage.js.map +1 -1
  339. package/utils/filterAsync.js +0 -5
  340. package/utils/filterAsync.js.map +1 -1
  341. package/utils/getBaseFieldType.d.ts +2 -0
  342. package/utils/getBaseFieldType.js +10 -0
  343. package/utils/getBaseFieldType.js.map +1 -0
  344. package/utils/getEntryDescription.d.ts +2 -0
  345. package/utils/getEntryDescription.js +17 -0
  346. package/utils/getEntryDescription.js.map +1 -0
  347. package/utils/getEntryImage.d.ts +2 -0
  348. package/utils/getEntryImage.js +17 -0
  349. package/utils/getEntryImage.js.map +1 -0
  350. package/utils/getEntryTitle.d.ts +1 -1
  351. package/utils/getEntryTitle.js +0 -9
  352. package/utils/getEntryTitle.js.map +1 -1
  353. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  354. package/utils/getSchemaFromFieldPlugins.js +23 -19
  355. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  356. package/utils/incrementEntryIdVersion.d.ts +5 -0
  357. package/utils/incrementEntryIdVersion.js +29 -0
  358. package/utils/incrementEntryIdVersion.js.map +1 -0
  359. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  360. package/utils/permissions/EntriesPermissions.js +9 -0
  361. package/utils/permissions/EntriesPermissions.js.map +1 -0
  362. package/utils/permissions/ModelGroupsPermissions.d.ts +11 -0
  363. package/utils/permissions/ModelGroupsPermissions.js +48 -0
  364. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  365. package/utils/permissions/ModelsPermissions.d.ts +20 -0
  366. package/utils/permissions/ModelsPermissions.js +91 -0
  367. package/utils/permissions/ModelsPermissions.js.map +1 -0
  368. package/utils/permissions/SettingsPermissions.d.ts +4 -0
  369. package/utils/permissions/SettingsPermissions.js +9 -0
  370. package/utils/permissions/SettingsPermissions.js.map +1 -0
  371. package/utils/renderFields.d.ts +4 -2
  372. package/utils/renderFields.js +12 -11
  373. package/utils/renderFields.js.map +1 -1
  374. package/utils/renderGetFilterFields.d.ts +2 -2
  375. package/utils/renderGetFilterFields.js +9 -30
  376. package/utils/renderGetFilterFields.js.map +1 -1
  377. package/utils/renderInputFields.d.ts +4 -2
  378. package/utils/renderInputFields.js +19 -14
  379. package/utils/renderInputFields.js.map +1 -1
  380. package/utils/renderListFilterFields.d.ts +3 -1
  381. package/utils/renderListFilterFields.js +24 -28
  382. package/utils/renderListFilterFields.js.map +1 -1
  383. package/utils/renderSortEnum.d.ts +9 -5
  384. package/utils/renderSortEnum.js +26 -12
  385. package/utils/renderSortEnum.js.map +1 -1
  386. package/utils/toSlug.js +1 -5
  387. package/utils/toSlug.js.map +1 -1
  388. package/validators/dateGte.js +0 -7
  389. package/validators/dateGte.js.map +1 -1
  390. package/validators/dateLte.js +0 -7
  391. package/validators/dateLte.js.map +1 -1
  392. package/validators/dynamicZone.d.ts +2 -0
  393. package/validators/dynamicZone.js +20 -0
  394. package/validators/dynamicZone.js.map +1 -0
  395. package/validators/gte.js +0 -8
  396. package/validators/gte.js.map +1 -1
  397. package/validators/in.js +0 -8
  398. package/validators/in.js.map +1 -1
  399. package/validators/index.js +2 -16
  400. package/validators/index.js.map +1 -1
  401. package/validators/lte.js +0 -8
  402. package/validators/lte.js.map +1 -1
  403. package/validators/maxLength.js +0 -8
  404. package/validators/maxLength.js.map +1 -1
  405. package/validators/minLength.js +0 -8
  406. package/validators/minLength.js.map +1 -1
  407. package/validators/pattern.js +0 -9
  408. package/validators/pattern.js.map +1 -1
  409. package/validators/patternPlugins/email.js +0 -2
  410. package/validators/patternPlugins/email.js.map +1 -1
  411. package/validators/patternPlugins/index.js +0 -8
  412. package/validators/patternPlugins/index.js.map +1 -1
  413. package/validators/patternPlugins/lowerCase.js +0 -2
  414. package/validators/patternPlugins/lowerCase.js.map +1 -1
  415. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  416. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  417. package/validators/patternPlugins/upperCase.js +0 -2
  418. package/validators/patternPlugins/upperCase.js.map +1 -1
  419. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  420. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  421. package/validators/patternPlugins/url.js +0 -2
  422. package/validators/patternPlugins/url.js.map +1 -1
  423. package/validators/required.js +0 -5
  424. package/validators/required.js.map +1 -1
  425. package/validators/timeGte.js +0 -8
  426. package/validators/timeGte.js.map +1 -1
  427. package/validators/timeLte.js +0 -8
  428. package/validators/timeLte.js.map +1 -1
  429. package/validators/unique.js +1 -8
  430. package/validators/unique.js.map +1 -1
  431. package/crud/contentModel/createFieldModels.d.ts +0 -2
  432. package/crud/contentModel/createFieldModels.js +0 -26
  433. package/crud/contentModel/createFieldModels.js.map +0 -1
  434. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  435. package/crud/contentModel/fieldIdValidation.js +0 -25
  436. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  437. package/crud/contentModel/idValidation.d.ts +0 -1
  438. package/crud/contentModel/idValidation.js +0 -22
  439. package/crud/contentModel/idValidation.js.map +0 -1
  440. package/crud/contentModel/models.d.ts +0 -4
  441. package/crud/contentModel/models.js +0 -180
  442. package/crud/contentModel/models.js.map +0 -1
  443. package/crud/contentModel/systemFields.d.ts +0 -1
  444. package/crud/contentModel/systemFields.js +0 -8
  445. package/crud/contentModel/systemFields.js.map +0 -1
  446. package/crud/index.d.ts +0 -6
  447. package/crud/index.js +0 -89
  448. package/crud/index.js.map +0 -1
  449. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  450. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  451. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  452. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  453. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  454. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  455. package/upgrades/5.33.0/index.d.ts +0 -3
  456. package/upgrades/5.33.0/index.js +0 -186
  457. package/upgrades/5.33.0/index.js.map +0 -1
  458. package/upgrades/index.d.ts +0 -1
  459. package/upgrades/index.js +0 -12
  460. package/upgrades/index.js.map +0 -1
  461. package/utils/access.d.ts +0 -8
  462. package/utils/access.js +0 -90
  463. package/utils/access.js.map +0 -1
  464. package/utils/filterModelFields.d.ts +0 -16
  465. package/utils/filterModelFields.js +0 -81
  466. package/utils/filterModelFields.js.map +0 -1
  467. package/utils/ownership.d.ts +0 -8
  468. package/utils/ownership.js +0 -41
  469. package/utils/ownership.js.map +0 -1
  470. package/utils/permissions.d.ts +0 -7
  471. package/utils/permissions.js +0 -110
  472. package/utils/permissions.js.map +0 -1
  473. package/utils/pluralizedTypeName.d.ts +0 -1
  474. package/utils/pluralizedTypeName.js +0 -26
  475. package/utils/pluralizedTypeName.js.map +0 -1
@@ -1,81 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.filterModelsDeletedFields = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
-
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
-
16
- /**
17
- * We are leaving this file because isDeleted might come back later
18
- */
19
- // @ts-nocheck
20
-
21
- /**
22
- * Filters deleted fields from the list of fields.
23
- *
24
- * Used to recursively delete fields - object field.
25
- */
26
- const filterDeletedFields = params => {
27
- return params.fields.reduce((output, field) => {
28
- var _field$settings;
29
-
30
- if (!!field.isDeleted) {
31
- return output;
32
- } else if ((_field$settings = field.settings) !== null && _field$settings !== void 0 && _field$settings.fields) {
33
- const fields = filterDeletedFields({
34
- fields: field.settings.fields
35
- });
36
- output.push(_objectSpread(_objectSpread({}, field), {}, {
37
- settings: _objectSpread(_objectSpread({}, field.settings), {}, {
38
- fields
39
- })
40
- }));
41
- return output;
42
- }
43
-
44
- output.push(field);
45
- return output;
46
- }, []);
47
- };
48
- /**
49
- * Filters deleted fields from given model.
50
- */
51
-
52
-
53
- const filterModelDeletedFields = ({
54
- model
55
- }) => {
56
- const fields = filterDeletedFields(model);
57
- return _objectSpread(_objectSpread({}, model), {}, {
58
- fields
59
- });
60
- };
61
- /**
62
- * Filters deleted fields from all given models.
63
- */
64
-
65
-
66
- const filterModelsDeletedFields = ({
67
- models,
68
- type
69
- }) => {
70
- if (type === "manage") {
71
- return models;
72
- }
73
-
74
- return models.map(model => {
75
- return filterModelDeletedFields({
76
- model
77
- });
78
- });
79
- };
80
-
81
- exports.filterModelsDeletedFields = filterModelsDeletedFields;
@@ -1 +0,0 @@
1
- {"version":3,"names":["filterDeletedFields","params","fields","reduce","output","field","isDeleted","settings","push","filterModelDeletedFields","model","filterModelsDeletedFields","models","type","map"],"sources":["filterModelFields.ts"],"sourcesContent":["/**\n * We are leaving this file because isDeleted might come back later\n */\n// @ts-nocheck\nimport { ApiEndpoint, CmsModel, CmsModelField } from \"~/types\";\n\n/**\n * Filters deleted fields from the list of fields.\n *\n * Used to recursively delete fields - object field.\n */\ninterface FilterModelFieldsCallableParams {\n fields: CmsModelField[];\n}\ninterface FilterModelFieldsCallable {\n (params: FilterModelFieldsCallableParams): CmsModelField[];\n}\n\nconst filterDeletedFields: FilterModelFieldsCallable = params => {\n return params.fields.reduce<CmsModelField[]>((output, field) => {\n if (!!field.isDeleted) {\n return output;\n } else if (field.settings?.fields) {\n const fields = filterDeletedFields({\n fields: field.settings.fields\n });\n\n output.push({\n ...field,\n settings: {\n ...field.settings,\n fields\n }\n });\n return output;\n }\n\n output.push(field);\n\n return output;\n }, []);\n};\n\n/**\n * Filters deleted fields from given model.\n */\ninterface FilterModelDeletedFieldsCallableParams {\n model: CmsModel;\n}\ninterface FilterModelDeletedFieldsCallable {\n (params: FilterModelDeletedFieldsCallableParams): CmsModel;\n}\nconst filterModelDeletedFields: FilterModelDeletedFieldsCallable = ({ model }) => {\n const fields = filterDeletedFields(model);\n return {\n ...model,\n fields\n };\n};\n\n/**\n * Filters deleted fields from all given models.\n */\ninterface FilterModelsDeletedFieldsCallableParams {\n models: CmsModel[];\n type: ApiEndpoint;\n}\ninterface FilterModelsDeletedFieldsCallable {\n (params: FilterModelsDeletedFieldsCallableParams): CmsModel[];\n}\nexport const filterModelsDeletedFields: FilterModelsDeletedFieldsCallable = ({ models, type }) => {\n if (type === \"manage\") {\n return models;\n }\n return models.map(model => {\n return filterModelDeletedFields({\n model\n });\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AAQA,MAAMA,mBAA8C,GAAGC,MAAM,IAAI;EAC7D,OAAOA,MAAM,CAACC,MAAP,CAAcC,MAAd,CAAsC,CAACC,MAAD,EAASC,KAAT,KAAmB;IAAA;;IAC5D,IAAI,CAAC,CAACA,KAAK,CAACC,SAAZ,EAAuB;MACnB,OAAOF,MAAP;IACH,CAFD,MAEO,uBAAIC,KAAK,CAACE,QAAV,4CAAI,gBAAgBL,MAApB,EAA4B;MAC/B,MAAMA,MAAM,GAAGF,mBAAmB,CAAC;QAC/BE,MAAM,EAAEG,KAAK,CAACE,QAAN,CAAeL;MADQ,CAAD,CAAlC;MAIAE,MAAM,CAACI,IAAP,iCACOH,KADP;QAEIE,QAAQ,kCACDF,KAAK,CAACE,QADL;UAEJL;QAFI;MAFZ;MAOA,OAAOE,MAAP;IACH;;IAEDA,MAAM,CAACI,IAAP,CAAYH,KAAZ;IAEA,OAAOD,MAAP;EACH,CArBM,EAqBJ,EArBI,CAAP;AAsBH,CAvBD;AAyBA;AACA;AACA;;;AAOA,MAAMK,wBAA0D,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAe;EAC9E,MAAMR,MAAM,GAAGF,mBAAmB,CAACU,KAAD,CAAlC;EACA,uCACOA,KADP;IAEIR;EAFJ;AAIH,CAND;AAQA;AACA;AACA;;;AAQO,MAAMS,yBAA4D,GAAG,CAAC;EAAEC,MAAF;EAAUC;AAAV,CAAD,KAAsB;EAC9F,IAAIA,IAAI,KAAK,QAAb,EAAuB;IACnB,OAAOD,MAAP;EACH;;EACD,OAAOA,MAAM,CAACE,GAAP,CAAWJ,KAAK,IAAI;IACvB,OAAOD,wBAAwB,CAAC;MAC5BC;IAD4B,CAAD,CAA/B;EAGH,CAJM,CAAP;AAKH,CATM"}
@@ -1,8 +0,0 @@
1
- import { BaseCmsSecurityPermission, CmsContext, CreatedBy } from "../types";
2
- interface OwnableRecord {
3
- createdBy?: CreatedBy;
4
- ownedBy?: CreatedBy;
5
- }
6
- export declare const checkOwnership: (context: CmsContext, permission: BaseCmsSecurityPermission, record: OwnableRecord) => void;
7
- export declare const validateOwnership: (context: CmsContext, permission: BaseCmsSecurityPermission, record: OwnableRecord) => boolean;
8
- export {};
@@ -1,41 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.validateOwnership = exports.checkOwnership = void 0;
7
-
8
- var _apiSecurity = require("@webiny/api-security");
9
-
10
- const checkOwnership = (context, permission, record) => {
11
- var _record$ownedBy, _record$createdBy;
12
-
13
- if (!permission.own) {
14
- return;
15
- }
16
-
17
- const identity = context.security.getIdentity();
18
- const owner = identity && ((_record$ownedBy = record.ownedBy) === null || _record$ownedBy === void 0 ? void 0 : _record$ownedBy.id) === identity.id;
19
- const creator = identity && ((_record$createdBy = record.createdBy) === null || _record$createdBy === void 0 ? void 0 : _record$createdBy.id) === identity.id;
20
-
21
- if (!owner && !creator) {
22
- throw new _apiSecurity.NotAuthorizedError({
23
- data: {
24
- reason: `You are not the owner of the record.`
25
- }
26
- });
27
- }
28
- };
29
-
30
- exports.checkOwnership = checkOwnership;
31
-
32
- const validateOwnership = (context, permission, record) => {
33
- try {
34
- checkOwnership(context, permission, record);
35
- return true;
36
- } catch {
37
- return false;
38
- }
39
- };
40
-
41
- exports.validateOwnership = validateOwnership;
@@ -1 +0,0 @@
1
- {"version":3,"names":["checkOwnership","context","permission","record","own","identity","security","getIdentity","owner","ownedBy","id","creator","createdBy","NotAuthorizedError","data","reason","validateOwnership"],"sources":["ownership.ts"],"sourcesContent":["import { BaseCmsSecurityPermission, CmsContext, CreatedBy } from \"~/types\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\n\ninterface OwnableRecord {\n createdBy?: CreatedBy;\n ownedBy?: CreatedBy;\n}\n\nexport const checkOwnership = (\n context: CmsContext,\n permission: BaseCmsSecurityPermission,\n record: OwnableRecord\n): void => {\n if (!permission.own) {\n return;\n }\n\n const identity = context.security.getIdentity();\n const owner = identity && record.ownedBy?.id === identity.id;\n const creator = identity && record.createdBy?.id === identity.id;\n\n if (!owner && !creator) {\n throw new NotAuthorizedError({\n data: {\n reason: `You are not the owner of the record.`\n }\n });\n }\n};\n\nexport const validateOwnership = (\n context: CmsContext,\n permission: BaseCmsSecurityPermission,\n record: OwnableRecord\n): boolean => {\n try {\n checkOwnership(context, permission, record);\n return true;\n } catch {\n return false;\n }\n};\n"],"mappings":";;;;;;;AACA;;AAOO,MAAMA,cAAc,GAAG,CAC1BC,OAD0B,EAE1BC,UAF0B,EAG1BC,MAH0B,KAInB;EAAA;;EACP,IAAI,CAACD,UAAU,CAACE,GAAhB,EAAqB;IACjB;EACH;;EAED,MAAMC,QAAQ,GAAGJ,OAAO,CAACK,QAAR,CAAiBC,WAAjB,EAAjB;EACA,MAAMC,KAAK,GAAGH,QAAQ,IAAI,oBAAAF,MAAM,CAACM,OAAP,oEAAgBC,EAAhB,MAAuBL,QAAQ,CAACK,EAA1D;EACA,MAAMC,OAAO,GAAGN,QAAQ,IAAI,sBAAAF,MAAM,CAACS,SAAP,wEAAkBF,EAAlB,MAAyBL,QAAQ,CAACK,EAA9D;;EAEA,IAAI,CAACF,KAAD,IAAU,CAACG,OAAf,EAAwB;IACpB,MAAM,IAAIE,+BAAJ,CAAuB;MACzBC,IAAI,EAAE;QACFC,MAAM,EAAG;MADP;IADmB,CAAvB,CAAN;EAKH;AACJ,CApBM;;;;AAsBA,MAAMC,iBAAiB,GAAG,CAC7Bf,OAD6B,EAE7BC,UAF6B,EAG7BC,MAH6B,KAInB;EACV,IAAI;IACAH,cAAc,CAACC,OAAD,EAAUC,UAAV,EAAsBC,MAAtB,CAAd;IACA,OAAO,IAAP;EACH,CAHD,CAGE,MAAM;IACJ,OAAO,KAAP;EACH;AACJ,CAXM"}
@@ -1,7 +0,0 @@
1
- import { BaseCmsSecurityPermission, CmsContext, CmsEntryPermission } from "../types";
2
- export declare const hasRwd: (permission: BaseCmsSecurityPermission, rwd: string) => boolean;
3
- export declare const hasPw: (permission: CmsEntryPermission, pw: string) => boolean;
4
- export declare const checkPermissions: <TPermission extends BaseCmsSecurityPermission = BaseCmsSecurityPermission>(context: CmsContext, name: string, check?: {
5
- rwd?: string;
6
- pw?: string;
7
- }) => Promise<TPermission>;
@@ -1,110 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.hasRwd = exports.hasPw = exports.checkPermissions = void 0;
7
-
8
- var _apiSecurity = require("@webiny/api-security");
9
-
10
- const hasRwd = (permission, rwd) => {
11
- if (typeof permission.rwd !== "string") {
12
- return true;
13
- }
14
-
15
- return permission.rwd.includes(rwd);
16
- };
17
-
18
- exports.hasRwd = hasRwd;
19
-
20
- const hasPw = (permission, pw) => {
21
- const isCustom = Object.keys(permission).length > 1; // "name" key is always present
22
-
23
- if (!isCustom) {
24
- // Means it's a "full-access" permission.
25
- return true;
26
- }
27
-
28
- if (typeof permission.pw !== "string") {
29
- return false;
30
- }
31
-
32
- return permission.pw.includes(pw);
33
- };
34
-
35
- exports.hasPw = hasPw;
36
- const PW = {
37
- r: "request review",
38
- c: "request change",
39
- p: "publish",
40
- u: "unpublish"
41
- };
42
- const RWD = {
43
- r: "read",
44
- w: "write",
45
- d: "delete"
46
- };
47
-
48
- const checkPermissions = async (context, name, check) => {
49
- // Check if user is allowed to edit content in current language
50
- const contentPermission = await context.security.getPermission("content.i18n");
51
-
52
- if (!contentPermission) {
53
- throw new _apiSecurity.NotAuthorizedError({
54
- data: {
55
- reason: "Missing access to content in any locale."
56
- }
57
- });
58
- } // We need to check this manually as CMS locale comes from the URL and not the default i18n app.
59
-
60
-
61
- const code = context.cms.getLocale().code;
62
- const locales = contentPermission.locales; // IMPORTANT: If we have a `contentPermission`, and `locales` key is NOT SET - it means the user has access to all locales.
63
- // However, if the the `locales` IS SET - check that it contains the required locale.
64
-
65
- if (Array.isArray(locales) && !locales.includes(code)) {
66
- throw new _apiSecurity.NotAuthorizedError({
67
- data: {
68
- reason: `Not allowed to access content in "${code}."`
69
- }
70
- });
71
- }
72
-
73
- const permission = await context.security.getPermission(name);
74
-
75
- if (!permission) {
76
- throw new _apiSecurity.NotAuthorizedError({
77
- data: {
78
- reason: `Missing permission "${name}".`
79
- }
80
- });
81
- }
82
-
83
- if (!check) {
84
- return permission;
85
- }
86
-
87
- if (check.rwd && !hasRwd(permission, check.rwd)) {
88
- throw new _apiSecurity.NotAuthorizedError({
89
- data: {
90
- reason: `Not allowed to perform "${RWD[check.rwd]}" on "${name}".`
91
- }
92
- });
93
- } // r = request review
94
- // c = request change
95
- // p = publish
96
- // u = unpublish
97
-
98
-
99
- if (check.pw && !hasPw(permission, check.pw)) {
100
- throw new _apiSecurity.NotAuthorizedError({
101
- data: {
102
- reason: `Not allowed to perform "${PW[check.pw]}" on "${name}".`
103
- }
104
- });
105
- }
106
-
107
- return permission;
108
- };
109
-
110
- exports.checkPermissions = checkPermissions;
@@ -1 +0,0 @@
1
- {"version":3,"names":["hasRwd","permission","rwd","includes","hasPw","pw","isCustom","Object","keys","length","PW","r","c","p","u","RWD","w","d","checkPermissions","context","name","check","contentPermission","security","getPermission","NotAuthorizedError","data","reason","code","cms","getLocale","locales","Array","isArray"],"sources":["permissions.ts"],"sourcesContent":["import { BaseCmsSecurityPermission, CmsContext, CmsEntryPermission } from \"~/types\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\n\nexport const hasRwd = (permission: BaseCmsSecurityPermission, rwd: string): boolean => {\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(rwd);\n};\n\nexport const hasPw = (permission: CmsEntryPermission, pw: string): boolean => {\n const isCustom = Object.keys(permission).length > 1; // \"name\" key is always present\n\n if (!isCustom) {\n // Means it's a \"full-access\" permission.\n return true;\n }\n\n if (typeof permission.pw !== \"string\") {\n return false;\n }\n\n return permission.pw.includes(pw);\n};\n\nconst PW: Record<string, string> = {\n r: \"request review\",\n c: \"request change\",\n p: \"publish\",\n u: \"unpublish\"\n};\n\nconst RWD: Record<string, string> = {\n r: \"read\",\n w: \"write\",\n d: \"delete\"\n};\n\nexport const checkPermissions = async <\n TPermission extends BaseCmsSecurityPermission = BaseCmsSecurityPermission\n>(\n context: CmsContext,\n name: string,\n check?: { rwd?: string; pw?: string }\n): Promise<TPermission> => {\n // Check if user is allowed to edit content in current language\n const contentPermission = await context.security.getPermission(\"content.i18n\");\n\n if (!contentPermission) {\n throw new NotAuthorizedError({\n data: {\n reason: \"Missing access to content in any locale.\"\n }\n });\n }\n\n // We need to check this manually as CMS locale comes from the URL and not the default i18n app.\n const code = context.cms.getLocale().code;\n\n const locales: string[] = contentPermission.locales;\n\n // IMPORTANT: If we have a `contentPermission`, and `locales` key is NOT SET - it means the user has access to all locales.\n // However, if the the `locales` IS SET - check that it contains the required locale.\n if (Array.isArray(locales) && !locales.includes(code)) {\n throw new NotAuthorizedError({\n data: {\n reason: `Not allowed to access content in \"${code}.\"`\n }\n });\n }\n\n const permission = await context.security.getPermission<TPermission>(name);\n\n if (!permission) {\n throw new NotAuthorizedError({\n data: {\n reason: `Missing permission \"${name}\".`\n }\n });\n }\n\n if (!check) {\n return permission;\n }\n\n if (check.rwd && !hasRwd(permission, check.rwd)) {\n throw new NotAuthorizedError({\n data: {\n reason: `Not allowed to perform \"${RWD[check.rwd]}\" on \"${name}\".`\n }\n });\n }\n\n // r = request review\n // c = request change\n // p = publish\n // u = unpublish\n if (check.pw && !hasPw(permission, check.pw)) {\n throw new NotAuthorizedError({\n data: {\n reason: `Not allowed to perform \"${PW[check.pw]}\" on \"${name}\".`\n }\n });\n }\n\n return permission;\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const pluralizedTypeName: (typeName: string) => string;
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.pluralizedTypeName = void 0;
9
-
10
- var _pluralize = _interopRequireDefault(require("pluralize"));
11
-
12
- // This will make it so if the content model name is a single capitalized letter
13
- // Ex. A, pluralizedTypeName will capitalize the name to As, instead of AS
14
- const pluralizedTypeName = typeName => {
15
- let pluralizedTypeName;
16
-
17
- if (typeName.length === 1) {
18
- pluralizedTypeName = `${typeName}s`;
19
- } else {
20
- pluralizedTypeName = (0, _pluralize.default)(typeName);
21
- }
22
-
23
- return pluralizedTypeName;
24
- };
25
-
26
- exports.pluralizedTypeName = pluralizedTypeName;
@@ -1 +0,0 @@
1
- {"version":3,"names":["pluralizedTypeName","typeName","length","pluralize"],"sources":["pluralizedTypeName.ts"],"sourcesContent":["import pluralize from \"pluralize\";\n\n// This will make it so if the content model name is a single capitalized letter\n// Ex. A, pluralizedTypeName will capitalize the name to As, instead of AS\nexport const pluralizedTypeName = (typeName: string): string => {\n let pluralizedTypeName;\n if (typeName.length === 1) {\n pluralizedTypeName = `${typeName}s`;\n } else {\n pluralizedTypeName = pluralize(typeName);\n }\n return pluralizedTypeName;\n};\n"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACO,MAAMA,kBAAkB,GAAIC,QAAD,IAA8B;EAC5D,IAAID,kBAAJ;;EACA,IAAIC,QAAQ,CAACC,MAAT,KAAoB,CAAxB,EAA2B;IACvBF,kBAAkB,GAAI,GAAEC,QAAS,GAAjC;EACH,CAFD,MAEO;IACHD,kBAAkB,GAAG,IAAAG,kBAAA,EAAUF,QAAV,CAArB;EACH;;EACD,OAAOD,kBAAP;AACH,CARM"}