@webiny/api-headless-cms 6.0.0-alpha.0 → 6.0.0-alpha.2

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 (563) hide show
  1. package/constants.d.ts +1 -1
  2. package/constants.js.map +1 -1
  3. package/context.d.ts +1 -1
  4. package/context.js.map +1 -1
  5. package/crud/AccessControl/AccessControl.d.ts +2 -2
  6. package/crud/AccessControl/AccessControl.js.map +1 -1
  7. package/crud/contentEntry/abstractions/IDeleteEntry.d.ts +1 -1
  8. package/crud/contentEntry/abstractions/IDeleteEntry.js.map +1 -1
  9. package/crud/contentEntry/abstractions/IDeleteEntryOperation.d.ts +1 -1
  10. package/crud/contentEntry/abstractions/IDeleteEntryOperation.js.map +1 -1
  11. package/crud/contentEntry/abstractions/IGetEntriesByIds.d.ts +1 -1
  12. package/crud/contentEntry/abstractions/IGetEntriesByIds.js.map +1 -1
  13. package/crud/contentEntry/abstractions/IGetEntry.d.ts +1 -1
  14. package/crud/contentEntry/abstractions/IGetEntry.js.map +1 -1
  15. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.d.ts +1 -1
  16. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.js.map +1 -1
  17. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.d.ts +1 -1
  18. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.js.map +1 -1
  19. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.d.ts +1 -1
  20. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.js.map +1 -1
  21. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.d.ts +1 -1
  22. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.js.map +1 -1
  23. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.d.ts +1 -1
  24. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.js.map +1 -1
  25. package/crud/contentEntry/abstractions/IGetRevisionById.d.ts +1 -1
  26. package/crud/contentEntry/abstractions/IGetRevisionById.js.map +1 -1
  27. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.d.ts +1 -1
  28. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.js.map +1 -1
  29. package/crud/contentEntry/abstractions/IListEntries.d.ts +1 -1
  30. package/crud/contentEntry/abstractions/IListEntries.js.map +1 -1
  31. package/crud/contentEntry/abstractions/IListEntriesOperation.d.ts +1 -1
  32. package/crud/contentEntry/abstractions/IListEntriesOperation.js.map +1 -1
  33. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.d.ts +1 -1
  34. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.js.map +1 -1
  35. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.d.ts +1 -1
  36. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.js.map +1 -1
  37. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.d.ts +1 -1
  38. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.js.map +1 -1
  39. package/crud/contentEntry/afterDelete.d.ts +2 -2
  40. package/crud/contentEntry/afterDelete.js.map +1 -1
  41. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  42. package/crud/contentEntry/beforeCreate.js.map +1 -1
  43. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  44. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  45. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +5 -5
  46. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  47. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +5 -5
  48. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
  49. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +4 -4
  50. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -1
  51. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +2 -2
  52. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -1
  53. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +4 -4
  54. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -1
  55. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +4 -4
  56. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -1
  57. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +1 -1
  58. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -1
  59. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  60. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  61. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  62. package/crud/contentEntry/markLockedFields.js.map +1 -1
  63. package/crud/contentEntry/referenceFieldsMapping.d.ts +1 -1
  64. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  65. package/crud/contentEntry/searchableFields.d.ts +2 -2
  66. package/crud/contentEntry/searchableFields.js.map +1 -1
  67. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.d.ts +3 -3
  68. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js.map +1 -1
  69. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.d.ts +2 -2
  70. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js.map +1 -1
  71. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.d.ts +3 -3
  72. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js.map +1 -1
  73. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.d.ts +3 -3
  74. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js.map +1 -1
  75. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.d.ts +3 -3
  76. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js.map +1 -1
  77. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.d.ts +2 -2
  78. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js.map +1 -1
  79. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.d.ts +3 -3
  80. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js.map +1 -1
  81. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.d.ts +1 -1
  82. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js.map +1 -1
  83. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.d.ts +2 -2
  84. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js.map +1 -1
  85. package/crud/contentEntry/useCases/DeleteEntry/index.d.ts +5 -5
  86. package/crud/contentEntry/useCases/DeleteEntry/index.js.map +1 -1
  87. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.d.ts +7 -5
  88. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js +6 -2
  89. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js.map +1 -1
  90. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.d.ts +2 -2
  91. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js.map +1 -1
  92. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.d.ts +3 -3
  93. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js.map +1 -1
  94. package/crud/contentEntry/useCases/GetEntriesByIds/index.d.ts +4 -2
  95. package/crud/contentEntry/useCases/GetEntriesByIds/index.js +1 -1
  96. package/crud/contentEntry/useCases/GetEntriesByIds/index.js.map +1 -1
  97. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.d.ts +7 -5
  98. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js +6 -2
  99. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js.map +1 -1
  100. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.d.ts +2 -2
  101. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js.map +1 -1
  102. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.d.ts +3 -3
  103. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js.map +1 -1
  104. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.d.ts +4 -2
  105. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js +1 -1
  106. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js.map +1 -1
  107. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.d.ts +7 -5
  108. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js +7 -2
  109. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js.map +1 -1
  110. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.d.ts +2 -2
  111. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js.map +1 -1
  112. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.d.ts +2 -2
  113. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js.map +1 -1
  114. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.d.ts +3 -1
  115. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js +1 -1
  116. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js.map +1 -1
  117. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.d.ts +7 -5
  118. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js +7 -2
  119. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js.map +1 -1
  120. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.d.ts +2 -2
  121. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js.map +1 -1
  122. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.d.ts +3 -1
  123. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js +1 -1
  124. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js.map +1 -1
  125. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.d.ts +7 -5
  126. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js +6 -2
  127. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js.map +1 -1
  128. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.d.ts +2 -2
  129. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js.map +1 -1
  130. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.d.ts +3 -3
  131. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js.map +1 -1
  132. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.d.ts +4 -2
  133. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js +1 -1
  134. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js.map +1 -1
  135. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.d.ts +7 -5
  136. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js +7 -2
  137. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js.map +1 -1
  138. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.d.ts +2 -2
  139. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js.map +1 -1
  140. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.d.ts +3 -1
  141. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js +1 -1
  142. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js.map +1 -1
  143. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.d.ts +7 -5
  144. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js +7 -2
  145. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js.map +1 -1
  146. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.d.ts +2 -2
  147. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js.map +1 -1
  148. package/crud/contentEntry/useCases/GetRevisionById/index.d.ts +3 -1
  149. package/crud/contentEntry/useCases/GetRevisionById/index.js +1 -1
  150. package/crud/contentEntry/useCases/GetRevisionById/index.js.map +1 -1
  151. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.d.ts +7 -5
  152. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js +6 -2
  153. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js.map +1 -1
  154. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.d.ts +2 -2
  155. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js.map +1 -1
  156. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.d.ts +4 -2
  157. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js +1 -1
  158. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js.map +1 -1
  159. package/crud/contentEntry/useCases/ListEntries/GetEntry.d.ts +2 -2
  160. package/crud/contentEntry/useCases/ListEntries/GetEntry.js.map +1 -1
  161. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.d.ts +4 -4
  162. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js.map +1 -1
  163. package/crud/contentEntry/useCases/ListEntries/ListEntries.d.ts +2 -2
  164. package/crud/contentEntry/useCases/ListEntries/ListEntries.js.map +1 -1
  165. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.d.ts +12 -5
  166. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js +9 -2
  167. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js.map +1 -1
  168. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.d.ts +2 -2
  169. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js.map +1 -1
  170. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.d.ts +2 -2
  171. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js.map +1 -1
  172. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.d.ts +2 -2
  173. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js.map +1 -1
  174. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.d.ts +2 -2
  175. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js.map +1 -1
  176. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.d.ts +3 -3
  177. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js.map +1 -1
  178. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.d.ts +2 -2
  179. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js.map +1 -1
  180. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.d.ts +2 -2
  181. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js.map +1 -1
  182. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.d.ts +2 -2
  183. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js.map +1 -1
  184. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.d.ts +4 -4
  185. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js.map +1 -1
  186. package/crud/contentEntry/useCases/ListEntries/index.d.ts +6 -4
  187. package/crud/contentEntry/useCases/ListEntries/index.js +1 -1
  188. package/crud/contentEntry/useCases/ListEntries/index.js.map +1 -1
  189. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.d.ts +3 -3
  190. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js.map +1 -1
  191. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.d.ts +7 -5
  192. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js +4 -2
  193. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js.map +1 -1
  194. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.d.ts +3 -3
  195. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js.map +1 -1
  196. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.d.ts +3 -3
  197. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js.map +1 -1
  198. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.d.ts +2 -2
  199. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js.map +1 -1
  200. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.d.ts +7 -5
  201. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js +1 -1
  202. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js.map +1 -1
  203. package/crud/contentEntry.crud.d.ts +5 -5
  204. package/crud/contentEntry.crud.js +16 -3
  205. package/crud/contentEntry.crud.js.map +1 -1
  206. package/crud/contentModel/beforeCreate.d.ts +2 -2
  207. package/crud/contentModel/beforeCreate.js.map +1 -1
  208. package/crud/contentModel/beforeDelete.d.ts +2 -2
  209. package/crud/contentModel/beforeDelete.js.map +1 -1
  210. package/crud/contentModel/beforeUpdate.d.ts +2 -2
  211. package/crud/contentModel/beforeUpdate.js.map +1 -1
  212. package/crud/contentModel/compatibility/modelApiName.d.ts +1 -1
  213. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  214. package/crud/contentModel/contentModelManagerFactory.d.ts +1 -1
  215. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  216. package/crud/contentModel/createFieldStorageId.d.ts +1 -1
  217. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  218. package/crud/contentModel/defaultFields.d.ts +1 -1
  219. package/crud/contentModel/defaultFields.js.map +1 -1
  220. package/crud/contentModel/ensureTypeTag.d.ts +1 -1
  221. package/crud/contentModel/ensureTypeTag.js.map +1 -1
  222. package/crud/contentModel/fields/descriptionField.d.ts +1 -1
  223. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  224. package/crud/contentModel/fields/getApplicableFieldById.d.ts +1 -1
  225. package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -1
  226. package/crud/contentModel/fields/imageField.d.ts +1 -1
  227. package/crud/contentModel/fields/imageField.js.map +1 -1
  228. package/crud/contentModel/fields/titleField.d.ts +1 -1
  229. package/crud/contentModel/fields/titleField.js.map +1 -1
  230. package/crud/contentModel/listModelsFromDatabase.d.ts +3 -3
  231. package/crud/contentModel/listModelsFromDatabase.js.map +1 -1
  232. package/crud/contentModel/validate/endingAllowed.d.ts +1 -1
  233. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  234. package/crud/contentModel/validate/modelId.d.ts +1 -1
  235. package/crud/contentModel/validate/modelId.js.map +1 -1
  236. package/crud/contentModel/validate/pluralApiName.d.ts +1 -1
  237. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  238. package/crud/contentModel/validate/singularApiName.d.ts +1 -1
  239. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  240. package/crud/contentModel/validateModel.d.ts +1 -1
  241. package/crud/contentModel/validateModel.js.map +1 -1
  242. package/crud/contentModel/validateModelFields.d.ts +1 -1
  243. package/crud/contentModel/validateModelFields.js.map +1 -1
  244. package/crud/contentModel/validation.d.ts +132 -132
  245. package/crud/contentModel.crud.d.ts +5 -5
  246. package/crud/contentModel.crud.js.map +1 -1
  247. package/crud/contentModelGroup/beforeCreate.d.ts +3 -3
  248. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  249. package/crud/contentModelGroup/beforeDelete.d.ts +3 -3
  250. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  251. package/crud/contentModelGroup/beforeUpdate.d.ts +3 -3
  252. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  253. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +1 -1
  254. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -1
  255. package/crud/contentModelGroup/validation.d.ts +2 -2
  256. package/crud/contentModelGroup.crud.d.ts +5 -5
  257. package/crud/contentModelGroup.crud.js.map +1 -1
  258. package/crud/system.crud.d.ts +4 -4
  259. package/crud/system.crud.js +10 -0
  260. package/crud/system.crud.js.map +1 -1
  261. package/export/crud/exporting.d.ts +2 -2
  262. package/export/crud/exporting.js.map +1 -1
  263. package/export/crud/importing.d.ts +2 -2
  264. package/export/crud/importing.js.map +1 -1
  265. package/export/crud/imports/importData.d.ts +2 -2
  266. package/export/crud/imports/importData.js.map +1 -1
  267. package/export/crud/imports/importGroups.d.ts +2 -2
  268. package/export/crud/imports/importGroups.js.map +1 -1
  269. package/export/crud/imports/importModels.d.ts +2 -2
  270. package/export/crud/imports/importModels.js.map +1 -1
  271. package/export/crud/imports/validateGroups.d.ts +2 -2
  272. package/export/crud/imports/validateGroups.js.map +1 -1
  273. package/export/crud/imports/validateInput.d.ts +2 -2
  274. package/export/crud/imports/validateInput.js.map +1 -1
  275. package/export/crud/imports/validateModels.d.ts +2 -2
  276. package/export/crud/imports/validateModels.js.map +1 -1
  277. package/export/crud/index.d.ts +1 -1
  278. package/export/crud/index.js.map +1 -1
  279. package/export/crud/sanitize.d.ts +2 -2
  280. package/export/crud/sanitize.js.map +1 -1
  281. package/export/graphql/index.d.ts +1 -1
  282. package/export/graphql/index.js.map +1 -1
  283. package/export/types.d.ts +1 -1
  284. package/export/types.js.map +1 -1
  285. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +3 -2
  286. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  287. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +3 -2
  288. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  289. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +3 -2
  290. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  291. package/graphql/buildSchemaPlugins.d.ts +2 -2
  292. package/graphql/buildSchemaPlugins.js.map +1 -1
  293. package/graphql/checkEndpointAccess.d.ts +1 -1
  294. package/graphql/checkEndpointAccess.js.map +1 -1
  295. package/graphql/createExecutableSchema.d.ts +1 -1
  296. package/graphql/createExecutableSchema.js.map +1 -1
  297. package/graphql/createRequestBody.d.ts +1 -1
  298. package/graphql/createRequestBody.js.map +1 -1
  299. package/graphql/generateSchema.d.ts +2 -2
  300. package/graphql/generateSchema.js.map +1 -1
  301. package/graphql/getSchema/generateCacheId.d.ts +3 -3
  302. package/graphql/getSchema/generateCacheId.js.map +1 -1
  303. package/graphql/getSchema/generateCacheKey.d.ts +1 -1
  304. package/graphql/getSchema/generateCacheKey.js.map +1 -1
  305. package/graphql/getSchema.d.ts +4 -4
  306. package/graphql/getSchema.js.map +1 -1
  307. package/graphql/graphQLHandlerFactory.d.ts +1 -1
  308. package/graphql/graphQLHandlerFactory.js.map +1 -1
  309. package/graphql/handleRequest.d.ts +2 -2
  310. package/graphql/handleRequest.js.map +1 -1
  311. package/graphql/index.d.ts +2 -2
  312. package/graphql/index.js.map +1 -1
  313. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +1 -1
  314. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
  315. package/graphql/schema/baseContentSchema.d.ts +2 -2
  316. package/graphql/schema/baseContentSchema.js.map +1 -1
  317. package/graphql/schema/baseSchema.js.map +1 -1
  318. package/graphql/schema/contentEntries.d.ts +2 -2
  319. package/graphql/schema/contentEntries.js.map +1 -1
  320. package/graphql/schema/contentModelGroups.d.ts +2 -2
  321. package/graphql/schema/contentModelGroups.js.map +1 -1
  322. package/graphql/schema/contentModels.d.ts +2 -2
  323. package/graphql/schema/contentModels.js.map +1 -1
  324. package/graphql/schema/createFieldResolvers.d.ts +2 -2
  325. package/graphql/schema/createFieldResolvers.js.map +1 -1
  326. package/graphql/schema/createFieldTypePluginRecords.d.ts +2 -2
  327. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -1
  328. package/graphql/schema/createManageSDL.d.ts +2 -2
  329. package/graphql/schema/createManageSDL.js.map +1 -1
  330. package/graphql/schema/createReadSDL.d.ts +2 -2
  331. package/graphql/schema/createReadSDL.js.map +1 -1
  332. package/graphql/schema/createSingularSDL.d.ts +1 -1
  333. package/graphql/schema/createSingularSDL.js.map +1 -1
  334. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.d.ts +1 -1
  335. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  336. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +1 -1
  337. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  338. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +1 -1
  339. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  340. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +1 -1
  341. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  342. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +1 -1
  343. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  344. package/graphql/schema/resolvers/manage/resolveGet.d.ts +1 -1
  345. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  346. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +1 -1
  347. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  348. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +1 -1
  349. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  350. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +1 -1
  351. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  352. package/graphql/schema/resolvers/manage/resolveList.d.ts +1 -1
  353. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  354. package/graphql/schema/resolvers/manage/resolveListDeleted.d.ts +1 -1
  355. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
  356. package/graphql/schema/resolvers/manage/resolveMove.d.ts +1 -1
  357. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  358. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +1 -1
  359. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  360. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +1 -1
  361. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  362. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.d.ts +1 -1
  363. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
  364. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +1 -1
  365. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  366. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +1 -1
  367. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  368. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +1 -1
  369. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  370. package/graphql/schema/resolvers/preview/resolveGet.d.ts +1 -1
  371. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  372. package/graphql/schema/resolvers/preview/resolveList.d.ts +1 -1
  373. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  374. package/graphql/schema/resolvers/read/resolveGet.d.ts +1 -1
  375. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  376. package/graphql/schema/resolvers/read/resolveList.d.ts +1 -1
  377. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  378. package/graphql/schema/resolvers/singular/resolveGet.d.ts +1 -1
  379. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
  380. package/graphql/schema/resolvers/singular/resolveUpdate.d.ts +1 -1
  381. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
  382. package/graphql/schema/schemaPlugins.d.ts +1 -1
  383. package/graphql/schema/schemaPlugins.js.map +1 -1
  384. package/graphql/system.d.ts +1 -1
  385. package/graphql/system.js.map +1 -1
  386. package/graphqlFields/boolean.d.ts +1 -1
  387. package/graphqlFields/boolean.js.map +1 -1
  388. package/graphqlFields/datetime.d.ts +1 -1
  389. package/graphqlFields/datetime.js.map +1 -1
  390. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  391. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  392. package/graphqlFields/file.d.ts +1 -1
  393. package/graphqlFields/file.js.map +1 -1
  394. package/graphqlFields/helpers.d.ts +1 -1
  395. package/graphqlFields/helpers.js.map +1 -1
  396. package/graphqlFields/index.d.ts +1 -1
  397. package/graphqlFields/index.js.map +1 -1
  398. package/graphqlFields/json.d.ts +1 -1
  399. package/graphqlFields/json.js.map +1 -1
  400. package/graphqlFields/longText.d.ts +1 -1
  401. package/graphqlFields/longText.js.map +1 -1
  402. package/graphqlFields/number.d.ts +1 -1
  403. package/graphqlFields/number.js.map +1 -1
  404. package/graphqlFields/object.d.ts +1 -1
  405. package/graphqlFields/object.js.map +1 -1
  406. package/graphqlFields/ref.d.ts +1 -1
  407. package/graphqlFields/ref.js.map +1 -1
  408. package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +1 -1
  409. package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -1
  410. package/graphqlFields/richText/richTextResolver.d.ts +2 -2
  411. package/graphqlFields/richText/richTextResolver.js.map +1 -1
  412. package/graphqlFields/richText.d.ts +1 -1
  413. package/graphqlFields/richText.js.map +1 -1
  414. package/graphqlFields/searchableJson.d.ts +1 -1
  415. package/graphqlFields/searchableJson.js +5 -0
  416. package/graphqlFields/searchableJson.js.map +1 -1
  417. package/graphqlFields/text.d.ts +1 -1
  418. package/graphqlFields/text.js.map +1 -1
  419. package/htmlRenderer/LexicalRenderer.d.ts +1 -1
  420. package/htmlRenderer/LexicalRenderer.js.map +1 -1
  421. package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -1
  422. package/index.d.ts +3 -3
  423. package/index.js.map +1 -1
  424. package/modelManager/SingletonModelManager.d.ts +1 -1
  425. package/modelManager/SingletonModelManager.js.map +1 -1
  426. package/modelManager/index.d.ts +1 -1
  427. package/modelManager/index.js.map +1 -1
  428. package/package.json +21 -21
  429. package/parameters/header.js.map +1 -1
  430. package/parameters/manual.d.ts +2 -1
  431. package/parameters/manual.js.map +1 -1
  432. package/parameters/path.js.map +1 -1
  433. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +3 -2
  434. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
  435. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +1 -1
  436. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  437. package/plugins/CmsGroupPlugin.d.ts +1 -1
  438. package/plugins/CmsGroupPlugin.js.map +1 -1
  439. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  440. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  441. package/plugins/CmsModelPlugin.d.ts +1 -1
  442. package/plugins/CmsModelPlugin.js.map +1 -1
  443. package/plugins/CmsParametersPlugin.d.ts +1 -1
  444. package/plugins/CmsParametersPlugin.js.map +1 -1
  445. package/plugins/StorageOperationsCmsModelPlugin.d.ts +1 -1
  446. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
  447. package/plugins/StorageTransformPlugin.d.ts +2 -2
  448. package/plugins/StorageTransformPlugin.js.map +1 -1
  449. package/storage/date.d.ts +1 -1
  450. package/storage/date.js.map +1 -1
  451. package/storage/dynamicZone.js.map +1 -1
  452. package/storage/json.js +34 -5
  453. package/storage/json.js.map +1 -1
  454. package/storage/object.js.map +1 -1
  455. package/types/context.d.ts +7 -7
  456. package/types/context.js.map +1 -1
  457. package/types/fields/dynamicZoneField.d.ts +1 -1
  458. package/types/fields/dynamicZoneField.js.map +1 -1
  459. package/types/fields/objectField.d.ts +1 -1
  460. package/types/fields/objectField.js.map +1 -1
  461. package/types/model.d.ts +3 -3
  462. package/types/model.js.map +1 -1
  463. package/types/modelAst.d.ts +1 -1
  464. package/types/modelAst.js.map +1 -1
  465. package/types/modelField.d.ts +2 -2
  466. package/types/modelField.js.map +1 -1
  467. package/types/modelGroup.d.ts +1 -1
  468. package/types/modelGroup.js.map +1 -1
  469. package/types/plugins.d.ts +6 -6
  470. package/types/plugins.js.map +1 -1
  471. package/types/types.d.ts +19 -19
  472. package/types/types.js.map +1 -1
  473. package/utils/RichTextRenderer.d.ts +2 -2
  474. package/utils/RichTextRenderer.js.map +1 -1
  475. package/utils/caching/Cache.d.ts +1 -1
  476. package/utils/caching/Cache.js.map +1 -1
  477. package/utils/caching/CacheKey.d.ts +2 -2
  478. package/utils/caching/CacheKey.js.map +1 -1
  479. package/utils/contentEntryTraverser/ContentEntryTraverser.d.ts +1 -1
  480. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +1 -1
  481. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +1 -1
  482. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
  483. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +1 -1
  484. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
  485. package/utils/contentModelAst/CmsModelToAstConverter.d.ts +1 -1
  486. package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -1
  487. package/utils/converters/Converter.d.ts +3 -3
  488. package/utils/converters/Converter.js.map +1 -1
  489. package/utils/converters/ConverterCollection.d.ts +2 -2
  490. package/utils/converters/ConverterCollection.js.map +1 -1
  491. package/utils/converters/valueKeyStorageConverter.d.ts +3 -3
  492. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  493. package/utils/createModelField.d.ts +1 -1
  494. package/utils/createModelField.js.map +1 -1
  495. package/utils/createTypeFromFields.d.ts +1 -1
  496. package/utils/createTypeFromFields.js.map +1 -1
  497. package/utils/entryStorage.d.ts +8 -1
  498. package/utils/entryStorage.js +37 -4
  499. package/utils/entryStorage.js.map +1 -1
  500. package/utils/getBaseFieldType.d.ts +1 -1
  501. package/utils/getBaseFieldType.js.map +1 -1
  502. package/utils/getEntryDescription.d.ts +1 -1
  503. package/utils/getEntryDescription.js.map +1 -1
  504. package/utils/getEntryImage.d.ts +1 -1
  505. package/utils/getEntryImage.js.map +1 -1
  506. package/utils/getEntryTitle.d.ts +1 -1
  507. package/utils/getEntryTitle.js.map +1 -1
  508. package/utils/getSchemaFromFieldPlugins.d.ts +4 -4
  509. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  510. package/utils/identity.d.ts +1 -1
  511. package/utils/identity.js.map +1 -1
  512. package/utils/isHeadlessCmsReady.d.ts +1 -1
  513. package/utils/isHeadlessCmsReady.js.map +1 -1
  514. package/utils/modelFieldTraverser/ModelFieldTraverser.d.ts +1 -1
  515. package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -1
  516. package/utils/renderFields.d.ts +1 -1
  517. package/utils/renderFields.js.map +1 -1
  518. package/utils/renderGetFilterFields.d.ts +1 -1
  519. package/utils/renderGetFilterFields.js.map +1 -1
  520. package/utils/renderInputFields.d.ts +1 -1
  521. package/utils/renderInputFields.js.map +1 -1
  522. package/utils/renderListFilterFields.d.ts +1 -1
  523. package/utils/renderListFilterFields.js.map +1 -1
  524. package/utils/renderSortEnum.d.ts +2 -2
  525. package/utils/renderSortEnum.js.map +1 -1
  526. package/validators/dateGte.d.ts +1 -1
  527. package/validators/dateGte.js.map +1 -1
  528. package/validators/dateLte.d.ts +1 -1
  529. package/validators/dateLte.js.map +1 -1
  530. package/validators/gte.d.ts +1 -1
  531. package/validators/gte.js.map +1 -1
  532. package/validators/in.d.ts +1 -1
  533. package/validators/in.js.map +1 -1
  534. package/validators/lte.d.ts +1 -1
  535. package/validators/lte.js.map +1 -1
  536. package/validators/maxLength.d.ts +1 -1
  537. package/validators/maxLength.js.map +1 -1
  538. package/validators/minLength.d.ts +1 -1
  539. package/validators/minLength.js.map +1 -1
  540. package/validators/pattern.d.ts +1 -1
  541. package/validators/pattern.js.map +1 -1
  542. package/validators/patternPlugins/email.d.ts +1 -1
  543. package/validators/patternPlugins/email.js.map +1 -1
  544. package/validators/patternPlugins/index.d.ts +1 -1
  545. package/validators/patternPlugins/index.js.map +1 -1
  546. package/validators/patternPlugins/lowerCase.d.ts +1 -1
  547. package/validators/patternPlugins/lowerCase.js.map +1 -1
  548. package/validators/patternPlugins/lowerCaseSpace.d.ts +1 -1
  549. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  550. package/validators/patternPlugins/upperCase.d.ts +1 -1
  551. package/validators/patternPlugins/upperCase.js.map +1 -1
  552. package/validators/patternPlugins/upperCaseSpace.d.ts +1 -1
  553. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  554. package/validators/patternPlugins/url.d.ts +1 -1
  555. package/validators/patternPlugins/url.js.map +1 -1
  556. package/validators/required.d.ts +1 -1
  557. package/validators/required.js.map +1 -1
  558. package/validators/timeGte.d.ts +1 -1
  559. package/validators/timeGte.js.map +1 -1
  560. package/validators/timeLte.d.ts +1 -1
  561. package/validators/timeLte.js.map +1 -1
  562. package/validators/unique.d.ts +1 -1
  563. package/validators/unique.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_plugins","excludeTypes","convertFromStorage","value","undefined","output","Date","isNaN","getTime","process","env","DEBUG","console","warn","convertValueToStorage","field","toISOString","WebinyError","fieldId","storageId","createDateStorageTransformPlugin","StorageTransformPlugin","fieldType","name","fromStorage","type","settings","includes","multipleValues","Array","isArray","results","input","push","Object","keys","length","toStorage","exports"],"sources":["date.ts"],"sourcesContent":["/**\n * File is @internal\n */\nimport WebinyError from \"@webiny/error\";\nimport { CmsModelField } from \"~/types\";\nimport { GenericRecord } from \"@webiny/api/types\";\nimport { StorageTransformPlugin } from \"~/plugins\";\n\nconst excludeTypes = [\"time\", \"dateTimeWithTimezone\"];\n\nconst convertFromStorage = (value: unknown): Date | unknown => {\n if (!value) {\n return value === null ? null : undefined;\n }\n try {\n const output = new Date(value as string);\n if (isNaN(output.getTime())) {\n if (process.env.DEBUG !== \"true\") {\n return null;\n }\n console.warn(`Could not transform \"${value}\" to date.`);\n return null;\n }\n return output;\n } catch {\n if (process.env.DEBUG !== \"true\") {\n return null;\n }\n console.warn(`Could not transform \"${value}\" from storage for date field type.`);\n return null;\n }\n};\n\nconst convertValueToStorage = (field: CmsModelField, value: Date | string | unknown): string => {\n if (value instanceof Date || (value as GenericRecord)?.toISOString) {\n return (value as Date).toISOString();\n } else if (typeof value === \"string\") {\n return value as string;\n }\n throw new WebinyError(\"Error converting value to a storage type.\", \"TO_STORAGE_ERROR\", {\n value: value,\n fieldId: field.fieldId,\n storageId: field.storageId\n });\n};\n\nexport const createDateStorageTransformPlugin = () => {\n return new StorageTransformPlugin({\n fieldType: \"datetime\",\n name: \"headless-cms.storage-transform.date.default\",\n fromStorage: async ({ value, field }) => {\n const { type } = field.settings || {};\n if (!value || !type || excludeTypes.includes(type)) {\n return value;\n } else if (field.multipleValues) {\n if (!Array.isArray(value)) {\n return [];\n }\n const multipleValues = value as unknown[];\n const results: (Date | unknown)[] = [];\n for (const input of multipleValues) {\n if (input instanceof Date) {\n if (isNaN(input.getTime())) {\n continue;\n }\n results.push(input);\n continue;\n } else if (\n !input ||\n (typeof input === \"object\" && Object.keys(input).length === 0)\n ) {\n continue;\n }\n const output = convertFromStorage(input);\n if (!output) {\n continue;\n }\n results.push(output);\n }\n return results;\n }\n return convertFromStorage(value);\n },\n toStorage: async ({ value, field }) => {\n const { type } = field.settings || {};\n if (!value || !type || excludeTypes.includes(type)) {\n return value;\n }\n if (field.multipleValues) {\n const multipleValues = value as (string | Date | null | undefined)[];\n const results: string[] = [];\n for (const input of multipleValues) {\n if (!input) {\n continue;\n }\n const output = convertValueToStorage(field, input);\n if (!output) {\n continue;\n }\n results.push(output);\n }\n return results;\n }\n return convertValueToStorage(field, value);\n }\n });\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_plugins","excludeTypes","convertFromStorage","value","undefined","output","Date","isNaN","getTime","process","env","DEBUG","console","warn","convertValueToStorage","field","toISOString","WebinyError","fieldId","storageId","createDateStorageTransformPlugin","StorageTransformPlugin","fieldType","name","fromStorage","type","settings","includes","multipleValues","Array","isArray","results","input","push","Object","keys","length","toStorage","exports"],"sources":["date.ts"],"sourcesContent":["/**\n * File is @internal\n */\nimport WebinyError from \"@webiny/error\";\nimport type { CmsModelField } from \"~/types\";\nimport type { GenericRecord } from \"@webiny/api/types\";\nimport { StorageTransformPlugin } from \"~/plugins\";\n\nconst excludeTypes = [\"time\", \"dateTimeWithTimezone\"];\n\nconst convertFromStorage = (value: unknown): Date | unknown => {\n if (!value) {\n return value === null ? null : undefined;\n }\n try {\n const output = new Date(value as string);\n if (isNaN(output.getTime())) {\n if (process.env.DEBUG !== \"true\") {\n return null;\n }\n console.warn(`Could not transform \"${value}\" to date.`);\n return null;\n }\n return output;\n } catch {\n if (process.env.DEBUG !== \"true\") {\n return null;\n }\n console.warn(`Could not transform \"${value}\" from storage for date field type.`);\n return null;\n }\n};\n\nconst convertValueToStorage = (field: CmsModelField, value: Date | string | unknown): string => {\n if (value instanceof Date || (value as GenericRecord)?.toISOString) {\n return (value as Date).toISOString();\n } else if (typeof value === \"string\") {\n return value as string;\n }\n throw new WebinyError(\"Error converting value to a storage type.\", \"TO_STORAGE_ERROR\", {\n value: value,\n fieldId: field.fieldId,\n storageId: field.storageId\n });\n};\n\nexport const createDateStorageTransformPlugin = () => {\n return new StorageTransformPlugin({\n fieldType: \"datetime\",\n name: \"headless-cms.storage-transform.date.default\",\n fromStorage: async ({ value, field }) => {\n const { type } = field.settings || {};\n if (!value || !type || excludeTypes.includes(type)) {\n return value;\n } else if (field.multipleValues) {\n if (!Array.isArray(value)) {\n return [];\n }\n const multipleValues = value as unknown[];\n const results: (Date | unknown)[] = [];\n for (const input of multipleValues) {\n if (input instanceof Date) {\n if (isNaN(input.getTime())) {\n continue;\n }\n results.push(input);\n continue;\n } else if (\n !input ||\n (typeof input === \"object\" && Object.keys(input).length === 0)\n ) {\n continue;\n }\n const output = convertFromStorage(input);\n if (!output) {\n continue;\n }\n results.push(output);\n }\n return results;\n }\n return convertFromStorage(value);\n },\n toStorage: async ({ value, field }) => {\n const { type } = field.settings || {};\n if (!value || !type || excludeTypes.includes(type)) {\n return value;\n }\n if (field.multipleValues) {\n const multipleValues = value as (string | Date | null | undefined)[];\n const results: string[] = [];\n for (const input of multipleValues) {\n if (!input) {\n continue;\n }\n const output = convertValueToStorage(field, input);\n if (!output) {\n continue;\n }\n results.push(output);\n }\n return results;\n }\n return convertValueToStorage(field, value);\n }\n });\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA;AANA;AACA;AACA;;AAMA,MAAME,YAAY,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC;AAErD,MAAMC,kBAAkB,GAAIC,KAAc,IAAqB;EAC3D,IAAI,CAACA,KAAK,EAAE;IACR,OAAOA,KAAK,KAAK,IAAI,GAAG,IAAI,GAAGC,SAAS;EAC5C;EACA,IAAI;IACA,MAAMC,MAAM,GAAG,IAAIC,IAAI,CAACH,KAAe,CAAC;IACxC,IAAII,KAAK,CAACF,MAAM,CAACG,OAAO,CAAC,CAAC,CAAC,EAAE;MACzB,IAAIC,OAAO,CAACC,GAAG,CAACC,KAAK,KAAK,MAAM,EAAE;QAC9B,OAAO,IAAI;MACf;MACAC,OAAO,CAACC,IAAI,CAAC,wBAAwBV,KAAK,YAAY,CAAC;MACvD,OAAO,IAAI;IACf;IACA,OAAOE,MAAM;EACjB,CAAC,CAAC,MAAM;IACJ,IAAII,OAAO,CAACC,GAAG,CAACC,KAAK,KAAK,MAAM,EAAE;MAC9B,OAAO,IAAI;IACf;IACAC,OAAO,CAACC,IAAI,CAAC,wBAAwBV,KAAK,qCAAqC,CAAC;IAChF,OAAO,IAAI;EACf;AACJ,CAAC;AAED,MAAMW,qBAAqB,GAAGA,CAACC,KAAoB,EAAEZ,KAA8B,KAAa;EAC5F,IAAIA,KAAK,YAAYG,IAAI,IAAKH,KAAK,EAAoBa,WAAW,EAAE;IAChE,OAAQb,KAAK,CAAUa,WAAW,CAAC,CAAC;EACxC,CAAC,MAAM,IAAI,OAAOb,KAAK,KAAK,QAAQ,EAAE;IAClC,OAAOA,KAAK;EAChB;EACA,MAAM,IAAIc,cAAW,CAAC,2CAA2C,EAAE,kBAAkB,EAAE;IACnFd,KAAK,EAAEA,KAAK;IACZe,OAAO,EAAEH,KAAK,CAACG,OAAO;IACtBC,SAAS,EAAEJ,KAAK,CAACI;EACrB,CAAC,CAAC;AACN,CAAC;AAEM,MAAMC,gCAAgC,GAAGA,CAAA,KAAM;EAClD,OAAO,IAAIC,+BAAsB,CAAC;IAC9BC,SAAS,EAAE,UAAU;IACrBC,IAAI,EAAE,6CAA6C;IACnDC,WAAW,EAAE,MAAAA,CAAO;MAAErB,KAAK;MAAEY;IAAM,CAAC,KAAK;MACrC,MAAM;QAAEU;MAAK,CAAC,GAAGV,KAAK,CAACW,QAAQ,IAAI,CAAC,CAAC;MACrC,IAAI,CAACvB,KAAK,IAAI,CAACsB,IAAI,IAAIxB,YAAY,CAAC0B,QAAQ,CAACF,IAAI,CAAC,EAAE;QAChD,OAAOtB,KAAK;MAChB,CAAC,MAAM,IAAIY,KAAK,CAACa,cAAc,EAAE;QAC7B,IAAI,CAACC,KAAK,CAACC,OAAO,CAAC3B,KAAK,CAAC,EAAE;UACvB,OAAO,EAAE;QACb;QACA,MAAMyB,cAAc,GAAGzB,KAAkB;QACzC,MAAM4B,OAA2B,GAAG,EAAE;QACtC,KAAK,MAAMC,KAAK,IAAIJ,cAAc,EAAE;UAChC,IAAII,KAAK,YAAY1B,IAAI,EAAE;YACvB,IAAIC,KAAK,CAACyB,KAAK,CAACxB,OAAO,CAAC,CAAC,CAAC,EAAE;cACxB;YACJ;YACAuB,OAAO,CAACE,IAAI,CAACD,KAAK,CAAC;YACnB;UACJ,CAAC,MAAM,IACH,CAACA,KAAK,IACL,OAAOA,KAAK,KAAK,QAAQ,IAAIE,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAACI,MAAM,KAAK,CAAE,EAChE;YACE;UACJ;UACA,MAAM/B,MAAM,GAAGH,kBAAkB,CAAC8B,KAAK,CAAC;UACxC,IAAI,CAAC3B,MAAM,EAAE;YACT;UACJ;UACA0B,OAAO,CAACE,IAAI,CAAC5B,MAAM,CAAC;QACxB;QACA,OAAO0B,OAAO;MAClB;MACA,OAAO7B,kBAAkB,CAACC,KAAK,CAAC;IACpC,CAAC;IACDkC,SAAS,EAAE,MAAAA,CAAO;MAAElC,KAAK;MAAEY;IAAM,CAAC,KAAK;MACnC,MAAM;QAAEU;MAAK,CAAC,GAAGV,KAAK,CAACW,QAAQ,IAAI,CAAC,CAAC;MACrC,IAAI,CAACvB,KAAK,IAAI,CAACsB,IAAI,IAAIxB,YAAY,CAAC0B,QAAQ,CAACF,IAAI,CAAC,EAAE;QAChD,OAAOtB,KAAK;MAChB;MACA,IAAIY,KAAK,CAACa,cAAc,EAAE;QACtB,MAAMA,cAAc,GAAGzB,KAA6C;QACpE,MAAM4B,OAAiB,GAAG,EAAE;QAC5B,KAAK,MAAMC,KAAK,IAAIJ,cAAc,EAAE;UAChC,IAAI,CAACI,KAAK,EAAE;YACR;UACJ;UACA,MAAM3B,MAAM,GAAGS,qBAAqB,CAACC,KAAK,EAAEiB,KAAK,CAAC;UAClD,IAAI,CAAC3B,MAAM,EAAE;YACT;UACJ;UACA0B,OAAO,CAACE,IAAI,CAAC5B,MAAM,CAAC;QACxB;QACA,OAAO0B,OAAO;MAClB;MACA,OAAOjB,qBAAqB,CAACC,KAAK,EAAEZ,KAAK,CAAC;IAC9C;EACJ,CAAC,CAAC;AACN,CAAC;AAACmC,OAAA,CAAAlB,gCAAA,GAAAA,gCAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_plugins","require","_pReduce","_interopRequireDefault","processToStorage","params","model","field","parentField","value","input","getStoragePlugin","plugins","output","structuredClone","_templateId","template","settings","templates","find","t","id","fields","length","pReduce","values","fieldId","plugin","type","console","error","toStorage","processFromStorage","fromStorage","createDynamicZoneStorageTransform","StorageTransformPlugin","name","fieldType","multipleValues","Array","isArray","Promise","all","map","exports"],"sources":["dynamicZone.ts"],"sourcesContent":["import { StorageTransformPlugin, ToStorageParams } from \"~/plugins\";\nimport { GenericRecord } from \"@webiny/api/types\";\nimport { CmsModel, CmsModelDynamicZoneField, CmsModelField } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport pReduce from \"p-reduce\";\n\ninterface IProcessParams {\n model: CmsModel;\n field: CmsModelDynamicZoneField;\n value: GenericRecord;\n getStoragePlugin: ToStorageParams<GenericRecord, CmsModelField>[\"getStoragePlugin\"];\n plugins: PluginsContainer;\n}\n\nconst processToStorage = async (params: IProcessParams): Promise<GenericRecord> => {\n const { model, field: parentField, value: input, getStoragePlugin, plugins } = params;\n\n const output: GenericRecord = structuredClone(input);\n\n if (!output._templateId) {\n return output;\n }\n const template = parentField.settings.templates.find(t => t.id === output._templateId);\n if (!template || !template.fields.length) {\n return output;\n }\n\n return await pReduce(\n template.fields,\n async (values, field) => {\n const value = values[field.fieldId];\n\n if (!value) {\n values[field.fieldId] = value;\n return values;\n }\n const plugin = getStoragePlugin(field.type);\n if (!plugin) {\n console.error(`Missing storage plugin for field type \"${field.type}\".`);\n delete values[field.fieldId];\n return values;\n }\n values[field.fieldId] = await plugin.toStorage({\n plugins,\n getStoragePlugin,\n model,\n field,\n value\n });\n\n return values;\n },\n output\n );\n};\n\nconst processFromStorage = async (params: IProcessParams): Promise<GenericRecord> => {\n const { model, field: parentField, value: input, getStoragePlugin, plugins } = params;\n\n const output: GenericRecord = structuredClone(input);\n\n if (!output._templateId) {\n return output;\n }\n const template = parentField.settings.templates.find(t => t.id === output._templateId);\n if (!template || !template.fields.length) {\n return output;\n }\n\n return await pReduce(\n template.fields,\n async (values, field) => {\n const value = values[field.fieldId];\n\n if (!value) {\n return values;\n }\n const plugin = getStoragePlugin(field.type);\n if (!plugin) {\n console.error(`Missing storage plugin for field type \"${field.type}\".`);\n delete values[field.fieldId];\n return values;\n }\n values[field.fieldId] = await plugin.fromStorage({\n plugins,\n getStoragePlugin,\n model,\n field,\n value\n });\n\n return values;\n },\n output\n );\n};\n\nexport const createDynamicZoneStorageTransform = (): StorageTransformPlugin => {\n return new StorageTransformPlugin({\n name: \"headless-cms.storage-transform.dynamicZone.default\",\n fieldType: \"dynamicZone\",\n toStorage: async ({ field, value: input, getStoragePlugin, model, plugins }) => {\n if (!input) {\n return input;\n } else if (field.multipleValues) {\n if (!Array.isArray(input)) {\n return input;\n }\n const values = input as GenericRecord[];\n return Promise.all(\n values.map(async value => {\n return await processToStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value,\n getStoragePlugin,\n plugins\n });\n })\n );\n }\n return await processToStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value: input,\n getStoragePlugin,\n plugins\n });\n },\n fromStorage: async ({ field, value: input, getStoragePlugin, model, plugins }) => {\n if (!input) {\n return input;\n } else if (field.multipleValues) {\n if (!Array.isArray(input)) {\n return input;\n }\n const values = input as GenericRecord[];\n\n return await Promise.all(\n values.map(async value => {\n return await processFromStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value,\n getStoragePlugin,\n plugins\n });\n })\n );\n }\n return await processFromStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value: input,\n getStoragePlugin,\n plugins\n });\n }\n });\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_plugins","require","_pReduce","_interopRequireDefault","processToStorage","params","model","field","parentField","value","input","getStoragePlugin","plugins","output","structuredClone","_templateId","template","settings","templates","find","t","id","fields","length","pReduce","values","fieldId","plugin","type","console","error","toStorage","processFromStorage","fromStorage","createDynamicZoneStorageTransform","StorageTransformPlugin","name","fieldType","multipleValues","Array","isArray","Promise","all","map","exports"],"sources":["dynamicZone.ts"],"sourcesContent":["import type { ToStorageParams } from \"~/plugins\";\nimport { StorageTransformPlugin } from \"~/plugins\";\nimport type { GenericRecord } from \"@webiny/api/types\";\nimport type { CmsModel, CmsModelDynamicZoneField, CmsModelField } from \"~/types\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport pReduce from \"p-reduce\";\n\ninterface IProcessParams {\n model: CmsModel;\n field: CmsModelDynamicZoneField;\n value: GenericRecord;\n getStoragePlugin: ToStorageParams<GenericRecord, CmsModelField>[\"getStoragePlugin\"];\n plugins: PluginsContainer;\n}\n\nconst processToStorage = async (params: IProcessParams): Promise<GenericRecord> => {\n const { model, field: parentField, value: input, getStoragePlugin, plugins } = params;\n\n const output: GenericRecord = structuredClone(input);\n\n if (!output._templateId) {\n return output;\n }\n const template = parentField.settings.templates.find(t => t.id === output._templateId);\n if (!template || !template.fields.length) {\n return output;\n }\n\n return await pReduce(\n template.fields,\n async (values, field) => {\n const value = values[field.fieldId];\n\n if (!value) {\n values[field.fieldId] = value;\n return values;\n }\n const plugin = getStoragePlugin(field.type);\n if (!plugin) {\n console.error(`Missing storage plugin for field type \"${field.type}\".`);\n delete values[field.fieldId];\n return values;\n }\n values[field.fieldId] = await plugin.toStorage({\n plugins,\n getStoragePlugin,\n model,\n field,\n value\n });\n\n return values;\n },\n output\n );\n};\n\nconst processFromStorage = async (params: IProcessParams): Promise<GenericRecord> => {\n const { model, field: parentField, value: input, getStoragePlugin, plugins } = params;\n\n const output: GenericRecord = structuredClone(input);\n\n if (!output._templateId) {\n return output;\n }\n const template = parentField.settings.templates.find(t => t.id === output._templateId);\n if (!template || !template.fields.length) {\n return output;\n }\n\n return await pReduce(\n template.fields,\n async (values, field) => {\n const value = values[field.fieldId];\n\n if (!value) {\n return values;\n }\n const plugin = getStoragePlugin(field.type);\n if (!plugin) {\n console.error(`Missing storage plugin for field type \"${field.type}\".`);\n delete values[field.fieldId];\n return values;\n }\n values[field.fieldId] = await plugin.fromStorage({\n plugins,\n getStoragePlugin,\n model,\n field,\n value\n });\n\n return values;\n },\n output\n );\n};\n\nexport const createDynamicZoneStorageTransform = (): StorageTransformPlugin => {\n return new StorageTransformPlugin({\n name: \"headless-cms.storage-transform.dynamicZone.default\",\n fieldType: \"dynamicZone\",\n toStorage: async ({ field, value: input, getStoragePlugin, model, plugins }) => {\n if (!input) {\n return input;\n } else if (field.multipleValues) {\n if (!Array.isArray(input)) {\n return input;\n }\n const values = input as GenericRecord[];\n return Promise.all(\n values.map(async value => {\n return await processToStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value,\n getStoragePlugin,\n plugins\n });\n })\n );\n }\n return await processToStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value: input,\n getStoragePlugin,\n plugins\n });\n },\n fromStorage: async ({ field, value: input, getStoragePlugin, model, plugins }) => {\n if (!input) {\n return input;\n } else if (field.multipleValues) {\n if (!Array.isArray(input)) {\n return input;\n }\n const values = input as GenericRecord[];\n\n return await Promise.all(\n values.map(async value => {\n return await processFromStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value,\n getStoragePlugin,\n plugins\n });\n })\n );\n }\n return await processFromStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value: input,\n getStoragePlugin,\n plugins\n });\n }\n });\n};\n"],"mappings":"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","ignoreList":[]}
package/storage/json.js CHANGED
@@ -5,20 +5,49 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createJsonStorageTransform = void 0;
7
7
  var _StorageTransformPlugin = require("../plugins/StorageTransformPlugin");
8
- // TODO implement compression
8
+ var _api = require("@webiny/api");
9
+ var _error = require("@webiny/error");
9
10
  const createJsonStorageTransform = () => {
10
11
  return new _StorageTransformPlugin.StorageTransformPlugin({
11
12
  name: "headless-cms.storage-transform.json",
12
13
  fieldType: "json",
13
14
  fromStorage: async ({
14
- value
15
+ field,
16
+ value: storageValue,
17
+ plugins
15
18
  }) => {
16
- return value;
19
+ if (!storageValue) {
20
+ return storageValue;
21
+ } else if (typeof storageValue !== "object") {
22
+ throw new _error.WebinyError(`JSON value received in "fromStorage" function is not an object in field "${field.storageId}" - ${field.fieldId}.`);
23
+ }
24
+ let compressor;
25
+ try {
26
+ compressor = plugins.oneByType(_api.CompressorPlugin.type);
27
+ } catch (ex) {
28
+ return storageValue;
29
+ }
30
+ try {
31
+ return await compressor.getCompressor().decompress(storageValue);
32
+ } catch {
33
+ return storageValue;
34
+ }
17
35
  },
18
36
  toStorage: async ({
19
- value
37
+ value,
38
+ plugins
20
39
  }) => {
21
- return value;
40
+ let compressor;
41
+ try {
42
+ compressor = plugins.oneByType(_api.CompressorPlugin.type);
43
+ } catch {
44
+ return value;
45
+ }
46
+ try {
47
+ return await compressor.getCompressor().compress(value);
48
+ } catch {
49
+ return value;
50
+ }
22
51
  }
23
52
  });
24
53
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_StorageTransformPlugin","require","createJsonStorageTransform","StorageTransformPlugin","name","fieldType","fromStorage","value","toStorage","exports"],"sources":["json.ts"],"sourcesContent":["import { StorageTransformPlugin } from \"~/plugins/StorageTransformPlugin\";\n// TODO implement compression\nexport const createJsonStorageTransform = (): StorageTransformPlugin => {\n return new StorageTransformPlugin({\n name: \"headless-cms.storage-transform.json\",\n fieldType: \"json\",\n fromStorage: async ({ value }) => {\n return value;\n },\n toStorage: async ({ value }) => {\n return value;\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AACA;AACO,MAAMC,0BAA0B,GAAGA,CAAA,KAA8B;EACpE,OAAO,IAAIC,8CAAsB,CAAC;IAC9BC,IAAI,EAAE,qCAAqC;IAC3CC,SAAS,EAAE,MAAM;IACjBC,WAAW,EAAE,MAAAA,CAAO;MAAEC;IAAM,CAAC,KAAK;MAC9B,OAAOA,KAAK;IAChB,CAAC;IACDC,SAAS,EAAE,MAAAA,CAAO;MAAED;IAAM,CAAC,KAAK;MAC5B,OAAOA,KAAK;IAChB;EACJ,CAAC,CAAC;AACN,CAAC;AAACE,OAAA,CAAAP,0BAAA,GAAAA,0BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_StorageTransformPlugin","require","_api","_error","createJsonStorageTransform","StorageTransformPlugin","name","fieldType","fromStorage","field","value","storageValue","plugins","WebinyError","storageId","fieldId","compressor","oneByType","CompressorPlugin","type","ex","getCompressor","decompress","toStorage","compress","exports"],"sources":["json.ts"],"sourcesContent":["import { StorageTransformPlugin } from \"~/plugins/StorageTransformPlugin\";\nimport { CompressorPlugin } from \"@webiny/api\";\nimport { WebinyError } from \"@webiny/error\";\n\nexport const createJsonStorageTransform = (): StorageTransformPlugin => {\n return new StorageTransformPlugin({\n name: \"headless-cms.storage-transform.json\",\n fieldType: \"json\",\n fromStorage: async ({ field, value: storageValue, plugins }) => {\n if (!storageValue) {\n return storageValue;\n } else if (typeof storageValue !== \"object\") {\n throw new WebinyError(\n `JSON value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n\n let compressor: CompressorPlugin;\n\n try {\n compressor = plugins.oneByType<CompressorPlugin>(CompressorPlugin.type);\n } catch (ex) {\n return storageValue;\n }\n\n try {\n return await compressor.getCompressor().decompress(storageValue);\n } catch {\n return storageValue;\n }\n },\n toStorage: async ({ value, plugins }) => {\n let compressor: CompressorPlugin;\n\n try {\n compressor = plugins.oneByType<CompressorPlugin>(CompressorPlugin.type);\n } catch {\n return value;\n }\n try {\n return await compressor.getCompressor().compress(value);\n } catch {\n return value;\n }\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEO,MAAMG,0BAA0B,GAAGA,CAAA,KAA8B;EACpE,OAAO,IAAIC,8CAAsB,CAAC;IAC9BC,IAAI,EAAE,qCAAqC;IAC3CC,SAAS,EAAE,MAAM;IACjBC,WAAW,EAAE,MAAAA,CAAO;MAAEC,KAAK;MAAEC,KAAK,EAAEC,YAAY;MAAEC;IAAQ,CAAC,KAAK;MAC5D,IAAI,CAACD,YAAY,EAAE;QACf,OAAOA,YAAY;MACvB,CAAC,MAAM,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;QACzC,MAAM,IAAIE,kBAAW,CACjB,4EAA4EJ,KAAK,CAACK,SAAS,OAAOL,KAAK,CAACM,OAAO,GACnH,CAAC;MACL;MAEA,IAAIC,UAA4B;MAEhC,IAAI;QACAA,UAAU,GAAGJ,OAAO,CAACK,SAAS,CAAmBC,qBAAgB,CAACC,IAAI,CAAC;MAC3E,CAAC,CAAC,OAAOC,EAAE,EAAE;QACT,OAAOT,YAAY;MACvB;MAEA,IAAI;QACA,OAAO,MAAMK,UAAU,CAACK,aAAa,CAAC,CAAC,CAACC,UAAU,CAACX,YAAY,CAAC;MACpE,CAAC,CAAC,MAAM;QACJ,OAAOA,YAAY;MACvB;IACJ,CAAC;IACDY,SAAS,EAAE,MAAAA,CAAO;MAAEb,KAAK;MAAEE;IAAQ,CAAC,KAAK;MACrC,IAAII,UAA4B;MAEhC,IAAI;QACAA,UAAU,GAAGJ,OAAO,CAACK,SAAS,CAAmBC,qBAAgB,CAACC,IAAI,CAAC;MAC3E,CAAC,CAAC,MAAM;QACJ,OAAOT,KAAK;MAChB;MACA,IAAI;QACA,OAAO,MAAMM,UAAU,CAACK,aAAa,CAAC,CAAC,CAACG,QAAQ,CAACd,KAAK,CAAC;MAC3D,CAAC,CAAC,MAAM;QACJ,OAAOA,KAAK;MAChB;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAACe,OAAA,CAAArB,0BAAA,GAAAA,0BAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_pReduce","_interopRequireDefault","require","_pMap","_StorageTransformPlugin","_getBaseFieldType","processValue","params","fields","sourceValue","getStoragePlugin","plugins","model","operation","pReduce","values","field","baseType","getBaseFieldType","plugin","Error","input","fieldId","value","createObjectStorageTransform","StorageTransformPlugin","name","fieldType","toStorage","settings","multipleValues","pMap","fromStorage","Promise","all","map","exports"],"sources":["object.ts"],"sourcesContent":["import pReduce from \"p-reduce\";\nimport pMap from \"p-map\";\nimport { CmsModel, CmsModelField } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { StorageTransformPlugin } from \"~/plugins/StorageTransformPlugin\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\nimport { GenericRecord } from \"@webiny/api/types\";\n\ninterface ProcessValueParams {\n fields: CmsModelField[];\n sourceValue: GenericRecord;\n getStoragePlugin: (fieldType: string) => StorageTransformPlugin;\n plugins: PluginsContainer;\n model: CmsModel;\n operation: \"toStorage\" | \"fromStorage\";\n}\ninterface ProcessValue {\n (params: ProcessValueParams): Promise<GenericRecord>;\n}\n\nconst processValue: ProcessValue = async params => {\n const { fields, sourceValue, getStoragePlugin, plugins, model, operation } = params;\n return await pReduce(\n fields,\n async (values, field) => {\n const baseType = getBaseFieldType(field);\n const plugin = getStoragePlugin(baseType);\n if (!plugin) {\n throw new Error(`Missing storage plugin for field type \"${baseType}\".`);\n }\n const input = sourceValue[field.fieldId];\n const value = await plugin[operation]({\n plugins,\n model,\n field,\n value: input,\n getStoragePlugin\n });\n return { ...values, [field.fieldId]: value };\n },\n {}\n );\n};\n\nexport const createObjectStorageTransform = (): StorageTransformPlugin => {\n return new StorageTransformPlugin({\n name: \"headless-cms.storage-transform.object.default\",\n fieldType: \"object\",\n toStorage: async ({ field, value, getStoragePlugin, model, plugins }) => {\n if (!value) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.multipleValues) {\n return await pMap(value as GenericRecord[], value =>\n processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"toStorage\",\n fields\n })\n );\n }\n\n return await processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"toStorage\",\n fields\n });\n },\n fromStorage: async ({ field, value: input, getStoragePlugin, plugins, model }) => {\n if (!input) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.multipleValues) {\n const values = input as GenericRecord[];\n\n return await Promise.all(\n values.map(async value => {\n return await processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"fromStorage\",\n fields\n });\n })\n );\n }\n\n return await processValue({\n sourceValue: input,\n getStoragePlugin,\n model,\n plugins,\n operation: \"fromStorage\",\n fields\n });\n }\n });\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_pReduce","_interopRequireDefault","require","_pMap","_StorageTransformPlugin","_getBaseFieldType","processValue","params","fields","sourceValue","getStoragePlugin","plugins","model","operation","pReduce","values","field","baseType","getBaseFieldType","plugin","Error","input","fieldId","value","createObjectStorageTransform","StorageTransformPlugin","name","fieldType","toStorage","settings","multipleValues","pMap","fromStorage","Promise","all","map","exports"],"sources":["object.ts"],"sourcesContent":["import pReduce from \"p-reduce\";\nimport pMap from \"p-map\";\nimport type { CmsModel, CmsModelField } from \"~/types\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport { StorageTransformPlugin } from \"~/plugins/StorageTransformPlugin\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\nimport type { GenericRecord } from \"@webiny/api/types\";\n\ninterface ProcessValueParams {\n fields: CmsModelField[];\n sourceValue: GenericRecord;\n getStoragePlugin: (fieldType: string) => StorageTransformPlugin;\n plugins: PluginsContainer;\n model: CmsModel;\n operation: \"toStorage\" | \"fromStorage\";\n}\ninterface ProcessValue {\n (params: ProcessValueParams): Promise<GenericRecord>;\n}\n\nconst processValue: ProcessValue = async params => {\n const { fields, sourceValue, getStoragePlugin, plugins, model, operation } = params;\n return await pReduce(\n fields,\n async (values, field) => {\n const baseType = getBaseFieldType(field);\n const plugin = getStoragePlugin(baseType);\n if (!plugin) {\n throw new Error(`Missing storage plugin for field type \"${baseType}\".`);\n }\n const input = sourceValue[field.fieldId];\n const value = await plugin[operation]({\n plugins,\n model,\n field,\n value: input,\n getStoragePlugin\n });\n return { ...values, [field.fieldId]: value };\n },\n {}\n );\n};\n\nexport const createObjectStorageTransform = (): StorageTransformPlugin => {\n return new StorageTransformPlugin({\n name: \"headless-cms.storage-transform.object.default\",\n fieldType: \"object\",\n toStorage: async ({ field, value, getStoragePlugin, model, plugins }) => {\n if (!value) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.multipleValues) {\n return await pMap(value as GenericRecord[], value =>\n processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"toStorage\",\n fields\n })\n );\n }\n\n return await processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"toStorage\",\n fields\n });\n },\n fromStorage: async ({ field, value: input, getStoragePlugin, plugins, model }) => {\n if (!input) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.multipleValues) {\n const values = input as GenericRecord[];\n\n return await Promise.all(\n values.map(async value => {\n return await processValue({\n sourceValue: value,\n getStoragePlugin,\n model,\n plugins,\n operation: \"fromStorage\",\n fields\n });\n })\n );\n }\n\n return await processValue({\n sourceValue: input,\n getStoragePlugin,\n model,\n plugins,\n operation: \"fromStorage\",\n fields\n });\n }\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,uBAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAeA,MAAMI,YAA0B,GAAG,MAAMC,MAAM,IAAI;EAC/C,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC,gBAAgB;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAU,CAAC,GAAGN,MAAM;EACnF,OAAO,MAAM,IAAAO,gBAAO,EAChBN,MAAM,EACN,OAAOO,MAAM,EAAEC,KAAK,KAAK;IACrB,MAAMC,QAAQ,GAAG,IAAAC,kCAAgB,EAACF,KAAK,CAAC;IACxC,MAAMG,MAAM,GAAGT,gBAAgB,CAACO,QAAQ,CAAC;IACzC,IAAI,CAACE,MAAM,EAAE;MACT,MAAM,IAAIC,KAAK,CAAC,0CAA0CH,QAAQ,IAAI,CAAC;IAC3E;IACA,MAAMI,KAAK,GAAGZ,WAAW,CAACO,KAAK,CAACM,OAAO,CAAC;IACxC,MAAMC,KAAK,GAAG,MAAMJ,MAAM,CAACN,SAAS,CAAC,CAAC;MAClCF,OAAO;MACPC,KAAK;MACLI,KAAK;MACLO,KAAK,EAAEF,KAAK;MACZX;IACJ,CAAC,CAAC;IACF,OAAO;MAAE,GAAGK,MAAM;MAAE,CAACC,KAAK,CAACM,OAAO,GAAGC;IAAM,CAAC;EAChD,CAAC,EACD,CAAC,CACL,CAAC;AACL,CAAC;AAEM,MAAMC,4BAA4B,GAAGA,CAAA,KAA8B;EACtE,OAAO,IAAIC,8CAAsB,CAAC;IAC9BC,IAAI,EAAE,+CAA+C;IACrDC,SAAS,EAAE,QAAQ;IACnBC,SAAS,EAAE,MAAAA,CAAO;MAAEZ,KAAK;MAAEO,KAAK;MAAEb,gBAAgB;MAAEE,KAAK;MAAED;IAAQ,CAAC,KAAK;MACrE,IAAI,CAACY,KAAK,EAAE;QACR,OAAO,IAAI;MACf;MAEA,MAAMf,MAAM,GAAIQ,KAAK,CAACa,QAAQ,EAAErB,MAAM,IAAI,EAAsB;MAEhE,IAAIQ,KAAK,CAACc,cAAc,EAAE;QACtB,OAAO,MAAM,IAAAC,aAAI,EAACR,KAAK,EAAqBA,KAAK,IAC7CjB,YAAY,CAAC;UACTG,WAAW,EAAEc,KAAK;UAClBb,gBAAgB;UAChBE,KAAK;UACLD,OAAO;UACPE,SAAS,EAAE,WAAW;UACtBL;QACJ,CAAC,CACL,CAAC;MACL;MAEA,OAAO,MAAMF,YAAY,CAAC;QACtBG,WAAW,EAAEc,KAAK;QAClBb,gBAAgB;QAChBE,KAAK;QACLD,OAAO;QACPE,SAAS,EAAE,WAAW;QACtBL;MACJ,CAAC,CAAC;IACN,CAAC;IACDwB,WAAW,EAAE,MAAAA,CAAO;MAAEhB,KAAK;MAAEO,KAAK,EAAEF,KAAK;MAAEX,gBAAgB;MAAEC,OAAO;MAAEC;IAAM,CAAC,KAAK;MAC9E,IAAI,CAACS,KAAK,EAAE;QACR,OAAO,IAAI;MACf;MAEA,MAAMb,MAAM,GAAIQ,KAAK,CAACa,QAAQ,EAAErB,MAAM,IAAI,EAAsB;MAEhE,IAAIQ,KAAK,CAACc,cAAc,EAAE;QACtB,MAAMf,MAAM,GAAGM,KAAwB;QAEvC,OAAO,MAAMY,OAAO,CAACC,GAAG,CACpBnB,MAAM,CAACoB,GAAG,CAAC,MAAMZ,KAAK,IAAI;UACtB,OAAO,MAAMjB,YAAY,CAAC;YACtBG,WAAW,EAAEc,KAAK;YAClBb,gBAAgB;YAChBE,KAAK;YACLD,OAAO;YACPE,SAAS,EAAE,aAAa;YACxBL;UACJ,CAAC,CAAC;QACN,CAAC,CACL,CAAC;MACL;MAEA,OAAO,MAAMF,YAAY,CAAC;QACtBG,WAAW,EAAEY,KAAK;QAClBX,gBAAgB;QAChBE,KAAK;QACLD,OAAO;QACPE,SAAS,EAAE,aAAa;QACxBL;MACJ,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;AACN,CAAC;AAAC4B,OAAA,CAAAZ,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import { ContentEntryTraverser } from "../utils/contentEntryTraverser/ContentEntryTraverser";
2
- import { Topic } from "@webiny/pubsub/types";
3
- import { CmsDeleteEntryOptions, CmsEntry, CmsEntryGetParams, CmsEntryListParams, CmsEntryMeta, CmsEntryUniqueValue, CmsEntryValidateResponse, CmsEntryValues, CreateCmsEntryInput, CreateCmsEntryOptionsInput, CreateFromCmsEntryInput, CreateRevisionCmsEntryOptionsInput, DeleteMultipleEntriesParams, DeleteMultipleEntriesResponse, EntryBeforeListTopicParams, GetUniqueFieldValuesParams, OnEntryAfterCreateTopicParams, OnEntryAfterDeleteTopicParams, OnEntryAfterMoveTopicParams, OnEntryAfterPublishTopicParams, OnEntryAfterRepublishTopicParams, OnEntryAfterRestoreFromBinTopicParams, OnEntryAfterUnpublishTopicParams, OnEntryAfterUpdateTopicParams, OnEntryBeforeCreateTopicParams, OnEntryBeforeDeleteTopicParams, OnEntryBeforeGetTopicParams, OnEntryBeforeMoveTopicParams, OnEntryBeforePublishTopicParams, OnEntryBeforeRepublishTopicParams, OnEntryBeforeRestoreFromBinTopicParams, OnEntryBeforeUnpublishTopicParams, OnEntryBeforeUpdateTopicParams, OnEntryCreateErrorTopicParams, OnEntryCreateRevisionErrorTopicParams, OnEntryDeleteErrorTopicParams, OnEntryMoveErrorTopicParams, OnEntryPublishErrorTopicParams, OnEntryRepublishErrorTopicParams, OnEntryRestoreFromBinErrorTopicParams, OnEntryRevisionAfterCreateTopicParams, OnEntryRevisionAfterDeleteTopicParams, OnEntryRevisionBeforeCreateTopicParams, OnEntryRevisionBeforeDeleteTopicParams, OnEntryRevisionDeleteErrorTopicParams, OnEntryUnpublishErrorTopicParams, OnEntryUpdateErrorTopicParams, UpdateCmsEntryInput, UpdateCmsEntryOptionsInput } from "./types";
4
- import { CmsModel } from "./model";
1
+ import type { ContentEntryTraverser } from "../utils/contentEntryTraverser/ContentEntryTraverser";
2
+ import type { Topic } from "@webiny/pubsub/types";
3
+ import type { CmsDeleteEntryOptions, CmsEntry, CmsEntryGetParams, CmsEntryListParams, CmsEntryMeta, CmsEntryUniqueValue, CmsEntryValidateResponse, CmsEntryValues, CreateCmsEntryInput, CreateCmsEntryOptionsInput, CreateFromCmsEntryInput, CreateRevisionCmsEntryOptionsInput, DeleteMultipleEntriesParams, DeleteMultipleEntriesResponse, EntryBeforeListTopicParams, GetUniqueFieldValuesParams, OnEntryAfterCreateTopicParams, OnEntryAfterDeleteTopicParams, OnEntryAfterMoveTopicParams, OnEntryAfterPublishTopicParams, OnEntryAfterRepublishTopicParams, OnEntryAfterRestoreFromBinTopicParams, OnEntryAfterUnpublishTopicParams, OnEntryAfterUpdateTopicParams, OnEntryBeforeCreateTopicParams, OnEntryBeforeDeleteTopicParams, OnEntryBeforeGetTopicParams, OnEntryBeforeMoveTopicParams, OnEntryBeforePublishTopicParams, OnEntryBeforeRepublishTopicParams, OnEntryBeforeRestoreFromBinTopicParams, OnEntryBeforeUnpublishTopicParams, OnEntryBeforeUpdateTopicParams, OnEntryCreateErrorTopicParams, OnEntryCreateRevisionErrorTopicParams, OnEntryDeleteErrorTopicParams, OnEntryMoveErrorTopicParams, OnEntryPublishErrorTopicParams, OnEntryRepublishErrorTopicParams, OnEntryRestoreFromBinErrorTopicParams, OnEntryRevisionAfterCreateTopicParams, OnEntryRevisionAfterDeleteTopicParams, OnEntryRevisionBeforeCreateTopicParams, OnEntryRevisionBeforeDeleteTopicParams, OnEntryRevisionDeleteErrorTopicParams, OnEntryUnpublishErrorTopicParams, OnEntryUpdateErrorTopicParams, UpdateCmsEntryInput, UpdateCmsEntryOptionsInput } from "./types";
4
+ import type { CmsModel } from "./model";
5
5
  /**
6
6
  * Cms Entry CRUD methods in the context.
7
7
  *
@@ -24,7 +24,7 @@ export interface CmsEntryContext {
24
24
  /**
25
25
  * Get the entry for a model by a given ID.
26
26
  */
27
- getEntryById: (model: CmsModel, revision: string) => Promise<CmsEntry>;
27
+ getEntryById<T = CmsEntryValues>(model: CmsModel, revision: string): Promise<CmsEntry<T>>;
28
28
  /**
29
29
  * List entries for a model. Internal method used by get, listLatest and listPublished.
30
30
  */
@@ -93,11 +93,11 @@ export interface CmsEntryContext {
93
93
  /**
94
94
  * Publish entry.
95
95
  */
96
- publishEntry: (model: CmsModel, id: string) => Promise<CmsEntry>;
96
+ publishEntry: <T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string) => Promise<CmsEntry<T>>;
97
97
  /**
98
98
  * Unpublish entry.
99
99
  */
100
- unpublishEntry: (model: CmsModel, id: string) => Promise<CmsEntry>;
100
+ unpublishEntry: <T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string) => Promise<CmsEntry<T>>;
101
101
  /**
102
102
  * Get all entry revisions.
103
103
  */
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["context.ts"],"sourcesContent":["import { ContentEntryTraverser } from \"~/utils/contentEntryTraverser/ContentEntryTraverser\";\nimport { Topic } from \"@webiny/pubsub/types\";\nimport {\n CmsDeleteEntryOptions,\n CmsEntry,\n CmsEntryGetParams,\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryUniqueValue,\n CmsEntryValidateResponse,\n CmsEntryValues,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput,\n CreateFromCmsEntryInput,\n CreateRevisionCmsEntryOptionsInput,\n DeleteMultipleEntriesParams,\n DeleteMultipleEntriesResponse,\n EntryBeforeListTopicParams,\n GetUniqueFieldValuesParams,\n OnEntryAfterCreateTopicParams,\n OnEntryAfterDeleteTopicParams,\n OnEntryAfterMoveTopicParams,\n OnEntryAfterPublishTopicParams,\n OnEntryAfterRepublishTopicParams,\n OnEntryAfterRestoreFromBinTopicParams,\n OnEntryAfterUnpublishTopicParams,\n OnEntryAfterUpdateTopicParams,\n OnEntryBeforeCreateTopicParams,\n OnEntryBeforeDeleteTopicParams,\n OnEntryBeforeGetTopicParams,\n OnEntryBeforeMoveTopicParams,\n OnEntryBeforePublishTopicParams,\n OnEntryBeforeRepublishTopicParams,\n OnEntryBeforeRestoreFromBinTopicParams,\n OnEntryBeforeUnpublishTopicParams,\n OnEntryBeforeUpdateTopicParams,\n OnEntryCreateErrorTopicParams,\n OnEntryCreateRevisionErrorTopicParams,\n OnEntryDeleteErrorTopicParams,\n OnEntryMoveErrorTopicParams,\n OnEntryPublishErrorTopicParams,\n OnEntryRepublishErrorTopicParams,\n OnEntryRestoreFromBinErrorTopicParams,\n OnEntryRevisionAfterCreateTopicParams,\n OnEntryRevisionAfterDeleteTopicParams,\n OnEntryRevisionBeforeCreateTopicParams,\n OnEntryRevisionBeforeDeleteTopicParams,\n OnEntryRevisionDeleteErrorTopicParams,\n OnEntryUnpublishErrorTopicParams,\n OnEntryUpdateErrorTopicParams,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"./types\";\nimport { CmsModel } from \"./model\";\n\n/**\n * Cms Entry CRUD methods in the context.\n *\n * @category Context\n * @category CmsEntry\n */\nexport interface CmsEntryContext {\n /**\n * Get content entry traverser.\n */\n getEntryTraverser: (modelId: string) => Promise<ContentEntryTraverser>;\n /**\n * Get a single content entry for a model.\n */\n getEntry: <T = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryGetParams\n ) => Promise<CmsEntry<T>>;\n /**\n * Get a list of entries for a model by a given ID (revision).\n */\n getEntriesByIds: (model: CmsModel, revisions: string[]) => Promise<CmsEntry[]>;\n /**\n * Get the entry for a model by a given ID.\n */\n getEntryById: (model: CmsModel, revision: string) => Promise<CmsEntry>;\n /**\n * List entries for a model. Internal method used by get, listLatest and listPublished.\n */\n listEntries: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;\n /**\n * Lists the latest entries. Used for manage API.\n */\n listLatestEntries: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;\n /**\n * List published entries. Used for read API.\n */\n listPublishedEntries: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;\n /**\n * Lists the deleted entries. Used for manage API.\n */\n listDeletedEntries: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;\n /**\n * List published entries by IDs.\n */\n getPublishedEntriesByIds: (model: CmsModel, ids: string[]) => Promise<CmsEntry[]>;\n /**\n * List latest entries by IDs.\n */\n getLatestEntriesByIds: (model: CmsModel, ids: string[]) => Promise<CmsEntry[]>;\n /**\n * Create a new content entry.\n */\n createEntry: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ) => Promise<CmsEntry<T>>;\n /**\n * Create a new entry from already existing entry.\n */\n createEntryRevisionFrom: (\n model: CmsModel,\n id: string,\n input: CreateFromCmsEntryInput,\n options?: CreateRevisionCmsEntryOptionsInput\n ) => Promise<CmsEntry>;\n /**\n * Update existing entry.\n */\n updateEntry: <TInput = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<TInput>,\n meta?: Record<string, any>,\n options?: UpdateCmsEntryOptionsInput\n ) => Promise<CmsEntry>;\n /**\n * Validate the entry - either new one or existing one.\n */\n validateEntry: (\n model: CmsModel,\n id?: string,\n input?: UpdateCmsEntryInput\n ) => Promise<CmsEntryValidateResponse>;\n /**\n * Move entry, and all its revisions, to a new folder.\n */\n moveEntry: (model: CmsModel, id: string, folderId: string) => Promise<CmsEntry>;\n /**\n * Method that republishes entry with given identifier.\n * @internal\n */\n republishEntry: (model: CmsModel, id: string) => Promise<CmsEntry>;\n /**\n * Delete only a certain revision of the entry.\n */\n deleteEntryRevision: (model: CmsModel, id: string) => Promise<void>;\n /**\n * Delete entry with all its revisions.\n */\n deleteEntry: (model: CmsModel, id: string, options?: CmsDeleteEntryOptions) => Promise<void>;\n /**\n * Restore entry from trash bin with all its revisions.\n */\n restoreEntryFromBin: (model: CmsModel, id: string) => Promise<CmsEntry>;\n /**\n * Delete multiple entries\n */\n deleteMultipleEntries: (\n model: CmsModel,\n params: DeleteMultipleEntriesParams\n ) => Promise<DeleteMultipleEntriesResponse>;\n /**\n * Publish entry.\n */\n publishEntry: (model: CmsModel, id: string) => Promise<CmsEntry>;\n /**\n * Unpublish entry.\n */\n unpublishEntry: (model: CmsModel, id: string) => Promise<CmsEntry>;\n /**\n * Get all entry revisions.\n */\n getEntryRevisions: (model: CmsModel, id: string) => Promise<CmsEntry[]>;\n /**\n * List all unique values for a given field.\n *\n * @internal\n */\n getUniqueFieldValues: (\n model: CmsModel,\n params: GetUniqueFieldValuesParams\n ) => Promise<CmsEntryUniqueValue[]>;\n /**\n * Lifecycle Events\n */\n onEntryBeforeCreate: Topic<OnEntryBeforeCreateTopicParams>;\n onEntryAfterCreate: Topic<OnEntryAfterCreateTopicParams>;\n onEntryCreateError: Topic<OnEntryCreateErrorTopicParams>;\n\n onEntryRevisionBeforeCreate: Topic<OnEntryRevisionBeforeCreateTopicParams>;\n onEntryRevisionAfterCreate: Topic<OnEntryRevisionAfterCreateTopicParams>;\n onEntryRevisionCreateError: Topic<OnEntryCreateRevisionErrorTopicParams>;\n\n onEntryBeforeUpdate: Topic<OnEntryBeforeUpdateTopicParams>;\n onEntryAfterUpdate: Topic<OnEntryAfterUpdateTopicParams>;\n onEntryUpdateError: Topic<OnEntryUpdateErrorTopicParams>;\n\n onEntryBeforeMove: Topic<OnEntryBeforeMoveTopicParams>;\n onEntryAfterMove: Topic<OnEntryAfterMoveTopicParams>;\n onEntryMoveError: Topic<OnEntryMoveErrorTopicParams>;\n\n onEntryBeforeDelete: Topic<OnEntryBeforeDeleteTopicParams>;\n onEntryAfterDelete: Topic<OnEntryAfterDeleteTopicParams>;\n onEntryDeleteError: Topic<OnEntryDeleteErrorTopicParams>;\n\n onEntryBeforeRestoreFromBin: Topic<OnEntryBeforeRestoreFromBinTopicParams>;\n onEntryAfterRestoreFromBin: Topic<OnEntryAfterRestoreFromBinTopicParams>;\n onEntryRestoreFromBinError: Topic<OnEntryRestoreFromBinErrorTopicParams>;\n\n onEntryRevisionBeforeDelete: Topic<OnEntryRevisionBeforeDeleteTopicParams>;\n onEntryRevisionAfterDelete: Topic<OnEntryRevisionAfterDeleteTopicParams>;\n onEntryRevisionDeleteError: Topic<OnEntryRevisionDeleteErrorTopicParams>;\n\n onEntryBeforePublish: Topic<OnEntryBeforePublishTopicParams>;\n onEntryAfterPublish: Topic<OnEntryAfterPublishTopicParams>;\n onEntryPublishError: Topic<OnEntryPublishErrorTopicParams>;\n\n onEntryBeforeRepublish: Topic<OnEntryBeforeRepublishTopicParams>;\n onEntryAfterRepublish: Topic<OnEntryAfterRepublishTopicParams>;\n onEntryRepublishError: Topic<OnEntryRepublishErrorTopicParams>;\n\n onEntryBeforeUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;\n onEntryAfterUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;\n onEntryUnpublishError: Topic<OnEntryUnpublishErrorTopicParams>;\n\n onEntryBeforeGet: Topic<OnEntryBeforeGetTopicParams>;\n onEntryBeforeList: Topic<EntryBeforeListTopicParams>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["context.ts"],"sourcesContent":["import type { ContentEntryTraverser } from \"~/utils/contentEntryTraverser/ContentEntryTraverser\";\nimport type { Topic } from \"@webiny/pubsub/types\";\nimport type {\n CmsDeleteEntryOptions,\n CmsEntry,\n CmsEntryGetParams,\n CmsEntryListParams,\n CmsEntryMeta,\n CmsEntryUniqueValue,\n CmsEntryValidateResponse,\n CmsEntryValues,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput,\n CreateFromCmsEntryInput,\n CreateRevisionCmsEntryOptionsInput,\n DeleteMultipleEntriesParams,\n DeleteMultipleEntriesResponse,\n EntryBeforeListTopicParams,\n GetUniqueFieldValuesParams,\n OnEntryAfterCreateTopicParams,\n OnEntryAfterDeleteTopicParams,\n OnEntryAfterMoveTopicParams,\n OnEntryAfterPublishTopicParams,\n OnEntryAfterRepublishTopicParams,\n OnEntryAfterRestoreFromBinTopicParams,\n OnEntryAfterUnpublishTopicParams,\n OnEntryAfterUpdateTopicParams,\n OnEntryBeforeCreateTopicParams,\n OnEntryBeforeDeleteTopicParams,\n OnEntryBeforeGetTopicParams,\n OnEntryBeforeMoveTopicParams,\n OnEntryBeforePublishTopicParams,\n OnEntryBeforeRepublishTopicParams,\n OnEntryBeforeRestoreFromBinTopicParams,\n OnEntryBeforeUnpublishTopicParams,\n OnEntryBeforeUpdateTopicParams,\n OnEntryCreateErrorTopicParams,\n OnEntryCreateRevisionErrorTopicParams,\n OnEntryDeleteErrorTopicParams,\n OnEntryMoveErrorTopicParams,\n OnEntryPublishErrorTopicParams,\n OnEntryRepublishErrorTopicParams,\n OnEntryRestoreFromBinErrorTopicParams,\n OnEntryRevisionAfterCreateTopicParams,\n OnEntryRevisionAfterDeleteTopicParams,\n OnEntryRevisionBeforeCreateTopicParams,\n OnEntryRevisionBeforeDeleteTopicParams,\n OnEntryRevisionDeleteErrorTopicParams,\n OnEntryUnpublishErrorTopicParams,\n OnEntryUpdateErrorTopicParams,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"./types\";\nimport type { CmsModel } from \"./model\";\n\n/**\n * Cms Entry CRUD methods in the context.\n *\n * @category Context\n * @category CmsEntry\n */\nexport interface CmsEntryContext {\n /**\n * Get content entry traverser.\n */\n getEntryTraverser: (modelId: string) => Promise<ContentEntryTraverser>;\n /**\n * Get a single content entry for a model.\n */\n getEntry: <T = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryGetParams\n ) => Promise<CmsEntry<T>>;\n /**\n * Get a list of entries for a model by a given ID (revision).\n */\n getEntriesByIds: (model: CmsModel, revisions: string[]) => Promise<CmsEntry[]>;\n /**\n * Get the entry for a model by a given ID.\n */\n getEntryById<T = CmsEntryValues>(model: CmsModel, revision: string): Promise<CmsEntry<T>>;\n /**\n * List entries for a model. Internal method used by get, listLatest and listPublished.\n */\n listEntries: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params: CmsEntryListParams\n ) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;\n /**\n * Lists the latest entries. Used for manage API.\n */\n listLatestEntries: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;\n /**\n * List published entries. Used for read API.\n */\n listPublishedEntries: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;\n /**\n * Lists the deleted entries. Used for manage API.\n */\n listDeletedEntries: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ) => Promise<[CmsEntry<T>[], CmsEntryMeta]>;\n /**\n * List published entries by IDs.\n */\n getPublishedEntriesByIds: (model: CmsModel, ids: string[]) => Promise<CmsEntry[]>;\n /**\n * List latest entries by IDs.\n */\n getLatestEntriesByIds: (model: CmsModel, ids: string[]) => Promise<CmsEntry[]>;\n /**\n * Create a new content entry.\n */\n createEntry: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ) => Promise<CmsEntry<T>>;\n /**\n * Create a new entry from already existing entry.\n */\n createEntryRevisionFrom: (\n model: CmsModel,\n id: string,\n input: CreateFromCmsEntryInput,\n options?: CreateRevisionCmsEntryOptionsInput\n ) => Promise<CmsEntry>;\n /**\n * Update existing entry.\n */\n updateEntry: <TInput = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<TInput>,\n meta?: Record<string, any>,\n options?: UpdateCmsEntryOptionsInput\n ) => Promise<CmsEntry>;\n /**\n * Validate the entry - either new one or existing one.\n */\n validateEntry: (\n model: CmsModel,\n id?: string,\n input?: UpdateCmsEntryInput\n ) => Promise<CmsEntryValidateResponse>;\n /**\n * Move entry, and all its revisions, to a new folder.\n */\n moveEntry: (model: CmsModel, id: string, folderId: string) => Promise<CmsEntry>;\n /**\n * Method that republishes entry with given identifier.\n * @internal\n */\n republishEntry: (model: CmsModel, id: string) => Promise<CmsEntry>;\n /**\n * Delete only a certain revision of the entry.\n */\n deleteEntryRevision: (model: CmsModel, id: string) => Promise<void>;\n /**\n * Delete entry with all its revisions.\n */\n deleteEntry: (model: CmsModel, id: string, options?: CmsDeleteEntryOptions) => Promise<void>;\n /**\n * Restore entry from trash bin with all its revisions.\n */\n restoreEntryFromBin: (model: CmsModel, id: string) => Promise<CmsEntry>;\n /**\n * Delete multiple entries\n */\n deleteMultipleEntries: (\n model: CmsModel,\n params: DeleteMultipleEntriesParams\n ) => Promise<DeleteMultipleEntriesResponse>;\n /**\n * Publish entry.\n */\n publishEntry: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => Promise<CmsEntry<T>>;\n /**\n * Unpublish entry.\n */\n unpublishEntry: <T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string\n ) => Promise<CmsEntry<T>>;\n /**\n * Get all entry revisions.\n */\n getEntryRevisions: (model: CmsModel, id: string) => Promise<CmsEntry[]>;\n /**\n * List all unique values for a given field.\n *\n * @internal\n */\n getUniqueFieldValues: (\n model: CmsModel,\n params: GetUniqueFieldValuesParams\n ) => Promise<CmsEntryUniqueValue[]>;\n /**\n * Lifecycle Events\n */\n onEntryBeforeCreate: Topic<OnEntryBeforeCreateTopicParams>;\n onEntryAfterCreate: Topic<OnEntryAfterCreateTopicParams>;\n onEntryCreateError: Topic<OnEntryCreateErrorTopicParams>;\n\n onEntryRevisionBeforeCreate: Topic<OnEntryRevisionBeforeCreateTopicParams>;\n onEntryRevisionAfterCreate: Topic<OnEntryRevisionAfterCreateTopicParams>;\n onEntryRevisionCreateError: Topic<OnEntryCreateRevisionErrorTopicParams>;\n\n onEntryBeforeUpdate: Topic<OnEntryBeforeUpdateTopicParams>;\n onEntryAfterUpdate: Topic<OnEntryAfterUpdateTopicParams>;\n onEntryUpdateError: Topic<OnEntryUpdateErrorTopicParams>;\n\n onEntryBeforeMove: Topic<OnEntryBeforeMoveTopicParams>;\n onEntryAfterMove: Topic<OnEntryAfterMoveTopicParams>;\n onEntryMoveError: Topic<OnEntryMoveErrorTopicParams>;\n\n onEntryBeforeDelete: Topic<OnEntryBeforeDeleteTopicParams>;\n onEntryAfterDelete: Topic<OnEntryAfterDeleteTopicParams>;\n onEntryDeleteError: Topic<OnEntryDeleteErrorTopicParams>;\n\n onEntryBeforeRestoreFromBin: Topic<OnEntryBeforeRestoreFromBinTopicParams>;\n onEntryAfterRestoreFromBin: Topic<OnEntryAfterRestoreFromBinTopicParams>;\n onEntryRestoreFromBinError: Topic<OnEntryRestoreFromBinErrorTopicParams>;\n\n onEntryRevisionBeforeDelete: Topic<OnEntryRevisionBeforeDeleteTopicParams>;\n onEntryRevisionAfterDelete: Topic<OnEntryRevisionAfterDeleteTopicParams>;\n onEntryRevisionDeleteError: Topic<OnEntryRevisionDeleteErrorTopicParams>;\n\n onEntryBeforePublish: Topic<OnEntryBeforePublishTopicParams>;\n onEntryAfterPublish: Topic<OnEntryAfterPublishTopicParams>;\n onEntryPublishError: Topic<OnEntryPublishErrorTopicParams>;\n\n onEntryBeforeRepublish: Topic<OnEntryBeforeRepublishTopicParams>;\n onEntryAfterRepublish: Topic<OnEntryAfterRepublishTopicParams>;\n onEntryRepublishError: Topic<OnEntryRepublishErrorTopicParams>;\n\n onEntryBeforeUnpublish: Topic<OnEntryBeforeUnpublishTopicParams>;\n onEntryAfterUnpublish: Topic<OnEntryAfterUnpublishTopicParams>;\n onEntryUnpublishError: Topic<OnEntryUnpublishErrorTopicParams>;\n\n onEntryBeforeGet: Topic<OnEntryBeforeGetTopicParams>;\n onEntryBeforeList: Topic<EntryBeforeListTopicParams>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { CmsModelField, CmsModelFieldValidation } from "../modelField";
1
+ import type { CmsModelField, CmsModelFieldValidation } from "../modelField";
2
2
  export interface CmsDynamicZoneTemplate {
3
3
  id: string;
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["dynamicZoneField.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldValidation } from \"../modelField\";\n\nexport interface CmsDynamicZoneTemplate {\n id: string;\n name: string;\n gqlTypeName: string;\n description: string;\n icon: string;\n fields: CmsModelField[];\n layout: string[][];\n validation: CmsModelFieldValidation[];\n tags?: string[];\n}\n\n/**\n * A definition for dynamic-zone field to show possible type of the field in settings.\n */\nexport interface CmsModelDynamicZoneField extends CmsModelField {\n /**\n * Settings object for the field. Contains `templates` property.\n */\n settings: {\n templates: CmsDynamicZoneTemplate[];\n };\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["dynamicZoneField.ts"],"sourcesContent":["import type { CmsModelField, CmsModelFieldValidation } from \"../modelField\";\n\nexport interface CmsDynamicZoneTemplate {\n id: string;\n name: string;\n gqlTypeName: string;\n description: string;\n icon: string;\n fields: CmsModelField[];\n layout: string[][];\n validation: CmsModelFieldValidation[];\n tags?: string[];\n}\n\n/**\n * A definition for dynamic-zone field to show possible type of the field in settings.\n */\nexport interface CmsModelDynamicZoneField extends CmsModelField {\n /**\n * Settings object for the field. Contains `templates` property.\n */\n settings: {\n templates: CmsDynamicZoneTemplate[];\n };\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { CmsModelField } from "../modelField";
1
+ import type { CmsModelField } from "../modelField";
2
2
  /**
3
3
  * A definition for object field to show possible type of the field in settings.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["objectField.ts"],"sourcesContent":["import { CmsModelField } from \"../modelField\";\n\n/**\n * A definition for object field to show possible type of the field in settings.\n */\nexport interface CmsModelObjectField extends CmsModelField {\n /**\n * Settings object for the field. Contains `templates` property.\n */\n settings: {\n fields: CmsModelField[];\n parents?: string[];\n };\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["objectField.ts"],"sourcesContent":["import type { CmsModelField } from \"../modelField\";\n\n/**\n * A definition for object field to show possible type of the field in settings.\n */\nexport interface CmsModelObjectField extends CmsModelField {\n /**\n * Settings object for the field. Contains `templates` property.\n */\n settings: {\n fields: CmsModelField[];\n parents?: string[];\n };\n}\n"],"mappings":"","ignoreList":[]}
package/types/model.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { CmsIdentity } from "./identity";
2
- import { CmsModelField, CmsModelFieldInput, LockedField } from "./modelField";
3
- import { CmsModelGroup } from "./modelGroup";
1
+ import type { CmsIdentity } from "./identity";
2
+ import type { CmsModelField, CmsModelFieldInput, LockedField } from "./modelField";
3
+ import type { CmsModelGroup } from "./modelGroup";
4
4
  /**
5
5
  * Base CMS Model. Should not be exported and used outside of this package.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["model.ts"],"sourcesContent":["import { CmsIdentity } from \"./identity\";\nimport { CmsModelField, CmsModelFieldInput, LockedField } from \"./modelField\";\nimport { CmsModelGroup } from \"./modelGroup\";\n\n/**\n * Base CMS Model. Should not be exported and used outside of this package.\n *\n * @category Database model\n * @category CmsModel\n */\nexport interface CmsModel {\n /**\n * Name of the content model.\n */\n name: string;\n /**\n * Unique ID for the content model. Created from name if not defined by user.\n */\n modelId: string;\n /**\n * Name of the content model in singular form to be used in the API.\n * example:\n * - Article\n * - Fruit\n * - Vegetable\n * - Car\n */\n singularApiName: string;\n /**\n * Name of the content model in plural form to be used in the API.\n * example:\n * - Articles\n * - Fruits\n * - Vegetables\n * - Cars\n */\n pluralApiName: string;\n /**\n * Model tenant.\n */\n tenant: string;\n /**\n * Locale this model belongs to.\n */\n locale: string;\n /**\n * Cms Group reference object.\n */\n group: CmsModelGroup;\n /**\n * Icon for the content model.\n */\n icon?: string | null;\n /**\n * Description for the content model.\n */\n description: string | null;\n /**\n * Date created\n */\n createdOn?: string;\n /**\n * Date saved. Changes on both save and create.\n */\n savedOn?: string;\n /**\n * CreatedBy object wrapper. Contains id, name and type of the user.\n */\n createdBy?: CmsIdentity;\n /**\n * List of fields defining entry values.\n */\n fields: CmsModelField[];\n /**\n * Admin UI field layout\n *\n * ```ts\n * layout: [\n * [field1id, field2id],\n * [field3id]\n * ]\n * ```\n */\n layout: string[][];\n /**\n * Models can be tagged to give them contextual meaning.\n */\n tags?: string[];\n /**\n * List of locked fields. Updated when entry is saved and a field has been used.\n */\n lockedFields?: LockedField[];\n /**\n * The field that is used as an entry title.\n * If not specified by the user, the system tries to assign the first available `text` field.\n */\n titleFieldId: string;\n /**\n * The field that is used as an entry description.\n * If not set by the user, the system will try to assign the first available `long-text` field.\n */\n descriptionFieldId?: string | null;\n /**\n * The field that is used as an entry image.\n * If not set by the user, the system will try to assign a `file` field which has `imagesOnly` enabled.\n */\n imageFieldId?: string | null;\n /**\n * The version of Webiny which this record was stored with.\n */\n webinyVersion: string;\n\n /**\n * Is model private?\n * This is meant to be used for some internal models - will not be visible in the schema.\n * Only available for the plugin constructed models.\n */\n isPrivate?: boolean;\n\n /**\n * Does this model require authorization to be performed?\n * Only available for models created via plugins.\n */\n authorization?: boolean | CmsModelAuthorization;\n\n /**\n * Is this model created via plugin?\n */\n isPlugin?: boolean;\n}\n\nexport interface CmsModelAuthorization {\n permissions: boolean;\n\n [key: string]: any;\n}\n\n/**\n * A GraphQL `params.data` parameter received when creating content model.\n *\n * @category GraphQL params\n * @category CmsModel\n */\nexport interface CmsModelCreateInput {\n /**\n * Name of the content model.\n */\n name: string;\n /**\n * Singular name of the content model to be used in the API.\n */\n singularApiName: string;\n /**\n * Plural name of the content model to be used in the API.\n */\n pluralApiName: string;\n /**\n * Unique ID of the content model. Created from name if not sent by the user. Cannot be changed.\n */\n modelId?: string;\n /**\n * Description of the content model.\n */\n description?: string | null;\n /**\n * Group where to put the content model in.\n */\n group: string;\n /**\n * A list of content model fields to define the entry values.\n */\n fields?: CmsModelFieldInput[];\n /**\n * Admin UI field layout\n *\n * ```ts\n * layout: [\n * [field1id, field2id],\n * [field3id]\n * ]\n * ```\n */\n layout?: string[][];\n /**\n * Models can be tagged to give them contextual meaning.\n */\n tags?: string[];\n /**\n * Fields fieldId which are picked to represent the CMS entry.\n */\n titleFieldId?: string | null;\n descriptionFieldId?: string | null;\n imageFieldId?: string | null;\n}\n\n/**\n * A GraphQL `params.data` parameter received when creating content model from existing model.\n *\n * @category GraphQL params\n * @category CmsModel\n */\nexport interface CmsModelCreateFromInput extends CmsModelCreateInput {\n /**\n * Locale into which we want to clone the model into.\n */\n locale?: string;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["model.ts"],"sourcesContent":["import type { CmsIdentity } from \"./identity\";\nimport type { CmsModelField, CmsModelFieldInput, LockedField } from \"./modelField\";\nimport type { CmsModelGroup } from \"./modelGroup\";\n\n/**\n * Base CMS Model. Should not be exported and used outside of this package.\n *\n * @category Database model\n * @category CmsModel\n */\nexport interface CmsModel {\n /**\n * Name of the content model.\n */\n name: string;\n /**\n * Unique ID for the content model. Created from name if not defined by user.\n */\n modelId: string;\n /**\n * Name of the content model in singular form to be used in the API.\n * example:\n * - Article\n * - Fruit\n * - Vegetable\n * - Car\n */\n singularApiName: string;\n /**\n * Name of the content model in plural form to be used in the API.\n * example:\n * - Articles\n * - Fruits\n * - Vegetables\n * - Cars\n */\n pluralApiName: string;\n /**\n * Model tenant.\n */\n tenant: string;\n /**\n * Locale this model belongs to.\n */\n locale: string;\n /**\n * Cms Group reference object.\n */\n group: CmsModelGroup;\n /**\n * Icon for the content model.\n */\n icon?: string | null;\n /**\n * Description for the content model.\n */\n description: string | null;\n /**\n * Date created\n */\n createdOn?: string;\n /**\n * Date saved. Changes on both save and create.\n */\n savedOn?: string;\n /**\n * CreatedBy object wrapper. Contains id, name and type of the user.\n */\n createdBy?: CmsIdentity;\n /**\n * List of fields defining entry values.\n */\n fields: CmsModelField[];\n /**\n * Admin UI field layout\n *\n * ```ts\n * layout: [\n * [field1id, field2id],\n * [field3id]\n * ]\n * ```\n */\n layout: string[][];\n /**\n * Models can be tagged to give them contextual meaning.\n */\n tags?: string[];\n /**\n * List of locked fields. Updated when entry is saved and a field has been used.\n */\n lockedFields?: LockedField[];\n /**\n * The field that is used as an entry title.\n * If not specified by the user, the system tries to assign the first available `text` field.\n */\n titleFieldId: string;\n /**\n * The field that is used as an entry description.\n * If not set by the user, the system will try to assign the first available `long-text` field.\n */\n descriptionFieldId?: string | null;\n /**\n * The field that is used as an entry image.\n * If not set by the user, the system will try to assign a `file` field which has `imagesOnly` enabled.\n */\n imageFieldId?: string | null;\n /**\n * The version of Webiny which this record was stored with.\n */\n webinyVersion: string;\n\n /**\n * Is model private?\n * This is meant to be used for some internal models - will not be visible in the schema.\n * Only available for the plugin constructed models.\n */\n isPrivate?: boolean;\n\n /**\n * Does this model require authorization to be performed?\n * Only available for models created via plugins.\n */\n authorization?: boolean | CmsModelAuthorization;\n\n /**\n * Is this model created via plugin?\n */\n isPlugin?: boolean;\n}\n\nexport interface CmsModelAuthorization {\n permissions: boolean;\n\n [key: string]: any;\n}\n\n/**\n * A GraphQL `params.data` parameter received when creating content model.\n *\n * @category GraphQL params\n * @category CmsModel\n */\nexport interface CmsModelCreateInput {\n /**\n * Name of the content model.\n */\n name: string;\n /**\n * Singular name of the content model to be used in the API.\n */\n singularApiName: string;\n /**\n * Plural name of the content model to be used in the API.\n */\n pluralApiName: string;\n /**\n * Unique ID of the content model. Created from name if not sent by the user. Cannot be changed.\n */\n modelId?: string;\n /**\n * Description of the content model.\n */\n description?: string | null;\n /**\n * Group where to put the content model in.\n */\n group: string;\n /**\n * A list of content model fields to define the entry values.\n */\n fields?: CmsModelFieldInput[];\n /**\n * Admin UI field layout\n *\n * ```ts\n * layout: [\n * [field1id, field2id],\n * [field3id]\n * ]\n * ```\n */\n layout?: string[][];\n /**\n * Models can be tagged to give them contextual meaning.\n */\n tags?: string[];\n /**\n * Fields fieldId which are picked to represent the CMS entry.\n */\n titleFieldId?: string | null;\n descriptionFieldId?: string | null;\n imageFieldId?: string | null;\n}\n\n/**\n * A GraphQL `params.data` parameter received when creating content model from existing model.\n *\n * @category GraphQL params\n * @category CmsModel\n */\nexport interface CmsModelCreateFromInput extends CmsModelCreateInput {\n /**\n * Locale into which we want to clone the model into.\n */\n locale?: string;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * CMS Model AST
3
3
  */
4
- import { CmsModelField } from "./modelField";
4
+ import type { CmsModelField } from "./modelField";
5
5
  export interface ICmsModelFieldToAst {
6
6
  toAst(field: CmsModelField): CmsModelFieldAstNode;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["modelAst.ts"],"sourcesContent":["/**\n * CMS Model AST\n */\nimport { CmsModelField } from \"./modelField\";\n\nexport interface ICmsModelFieldToAst {\n toAst(field: CmsModelField): CmsModelFieldAstNode;\n}\n\nexport type CmsModelAst = {\n type: \"root\";\n children: CmsModelFieldAstNode[];\n};\n\nexport type CmsModelFieldAstNodeCollection = {\n type: \"collection\";\n collection: { discriminator: string } & Record<string, any>;\n children: CmsModelFieldAstNode[];\n};\n\nexport type CmsModelFieldAstNodeField = {\n type: \"field\";\n field: CmsModelField;\n children: CmsModelFieldAstNode[];\n};\n\nexport type CmsModelFieldAstNode = CmsModelFieldAstNodeCollection | CmsModelFieldAstNodeField;\n\nexport interface GetCmsModelFieldAst<TField> {\n (field: TField, converter: ICmsModelFieldToAst): CmsModelFieldAstNode;\n}\n\nexport interface ContentEntryNode {\n field: CmsModelField;\n value: any;\n path: string;\n // parentField: CmsModelField | undefined;\n // parent => parent object (e.g., entry)\n}\n\nexport interface ContentEntryNodeContext {\n node: CmsModelAst | CmsModelFieldAstNode;\n parent: CmsModelAst | CmsModelFieldAstNode | null;\n}\n\nexport interface ContentEntryValueVisitor {\n (params: ContentEntryNode, context: ContentEntryNodeContext):\n | Promise<void | unknown>\n | void\n | unknown;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["modelAst.ts"],"sourcesContent":["/**\n * CMS Model AST\n */\nimport type { CmsModelField } from \"./modelField\";\n\nexport interface ICmsModelFieldToAst {\n toAst(field: CmsModelField): CmsModelFieldAstNode;\n}\n\nexport type CmsModelAst = {\n type: \"root\";\n children: CmsModelFieldAstNode[];\n};\n\nexport type CmsModelFieldAstNodeCollection = {\n type: \"collection\";\n collection: { discriminator: string } & Record<string, any>;\n children: CmsModelFieldAstNode[];\n};\n\nexport type CmsModelFieldAstNodeField = {\n type: \"field\";\n field: CmsModelField;\n children: CmsModelFieldAstNode[];\n};\n\nexport type CmsModelFieldAstNode = CmsModelFieldAstNodeCollection | CmsModelFieldAstNodeField;\n\nexport interface GetCmsModelFieldAst<TField> {\n (field: TField, converter: ICmsModelFieldToAst): CmsModelFieldAstNode;\n}\n\nexport interface ContentEntryNode {\n field: CmsModelField;\n value: any;\n path: string;\n // parentField: CmsModelField | undefined;\n // parent => parent object (e.g., entry)\n}\n\nexport interface ContentEntryNodeContext {\n node: CmsModelAst | CmsModelFieldAstNode;\n parent: CmsModelAst | CmsModelFieldAstNode | null;\n}\n\nexport interface ContentEntryValueVisitor {\n (params: ContentEntryNode, context: ContentEntryNodeContext):\n | Promise<void | unknown>\n | void\n | unknown;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { CmsModel } from "./model";
2
- import { GenericRecord } from "@webiny/api/types";
1
+ import type { CmsModel } from "./model";
2
+ import type { GenericRecord } from "@webiny/api/types";
3
3
  export type CmsModelFieldType = "boolean" | "datetime" | "file" | "long-text" | "number" | "json" | "object" | "ref" | "rich-text" | "text" | "dynamicZone" | string;
4
4
  export type ICmsModelFieldStorageId = `${string}@${string}` | string;
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["modelField.ts"],"sourcesContent":["import { CmsModel } from \"./model\";\nimport { GenericRecord } from \"@webiny/api/types\";\n\nexport type CmsModelFieldType =\n | \"boolean\"\n | \"datetime\"\n | \"file\"\n | \"long-text\"\n | \"number\"\n | \"json\"\n | \"object\"\n | \"ref\"\n | \"rich-text\"\n | \"text\"\n | \"dynamicZone\"\n | string;\n\nexport type ICmsModelFieldStorageId = `${string}@${string}` | string;\n/**\n * A definition for content model field. This type exists on the app side as well.\n *\n * @category ModelField\n * @category Database model\n */\nexport interface CmsModelField {\n /**\n * A generated unique ID for the model field.\n * MUST be absolute unique throughout the models.\n * Must be in form of a-zA-Z0-9.\n *\n * We generate a unique id value when you're building a model via UI,\n * but when user is creating a model via a plugin it is up to them to be careful about this.\n */\n id: string;\n /**\n * A type of the field.\n * We are defining our built-in fields, so people know which are available by the default.\n */\n type: CmsModelFieldType;\n /**\n * A unique storage ID for storing actual values.\n * Must in form of a-zA-Z0-9@a-zA-Z0-9\n *\n * This is an auto-generated value: uses `id` and `type`\n *\n * This is used as path for the entry value.\n */\n storageId: ICmsModelFieldStorageId;\n /**\n * Field identifier for the model field that will be available to the outside world.\n * `storageId` is used as path (or column) to store the data.\n *\n * Must in form of a-zA-Z0-9.\n *\n * This value MUST be unique in the CmsModel.\n */\n fieldId: string;\n /**\n * A label for the field\n */\n label: string;\n /**\n * Text below the field to clarify what is it meant to be in the field value\n */\n helpText?: string | null;\n /**\n * Text to be displayed in the field\n */\n placeholderText?: string | null;\n /**\n * Are predefined values enabled? And list of them\n */\n predefinedValues?: CmsModelFieldPredefinedValues;\n /**\n * Field renderer. Blank if determined automatically.\n */\n renderer?: CmsModelFieldRenderer | null;\n /**\n * List of validations for the field\n *\n * @default []\n */\n validation?: CmsModelFieldValidation[];\n /**\n * List of validations for the list of values, when a field is set to accept a list of values.\n * These validations will be applied to the entire list, and `validation` (see above) will be applied\n * to each individual value in the list.\n *\n * @default []\n */\n listValidation?: CmsModelFieldValidation[];\n /**\n * Is this a multiple values field?\n *\n */\n multipleValues?: boolean;\n /**\n * Fields can be tagged to give them contextual meaning.\n */\n tags?: string[];\n /**\n * Any user defined settings.\n *\n * @default {}\n */\n settings?: CmsModelFieldSettings;\n}\n\n/**\n * A definition for content model field received from the user.\n *\n * Input type for `CmsModelField`.\n * @see CmsModelField\n *\n * @category GraphQL params\n * @category ModelField\n */\nexport interface CmsModelFieldInput {\n /**\n * Generated ID.\n */\n id: string;\n /**\n * Type of the field. A plugin for the field must be defined.\n * @see CmsModelFieldToGraphQLPlugin\n */\n type: string;\n /**\n * Field outside world identifier for the field. Must be unique in the model.\n */\n fieldId: string;\n /**\n * Label for the field.\n */\n label: string;\n /**\n * Text to display below the field to help user what to write in the field.\n */\n helpText?: string | null;\n /**\n * Text to display in the field.\n */\n placeholderText?: string | null;\n /**\n * Fields can be tagged to give them contextual meaning.\n */\n tags?: string[];\n /**\n * Are multiple values allowed?\n */\n multipleValues?: boolean;\n /**\n * Predefined values options for the field. Check the reference for more information.\n */\n predefinedValues?: CmsModelFieldPredefinedValues;\n /**\n * Renderer options for the field. Check the reference for more information.\n */\n renderer?: CmsModelFieldRenderer | null;\n /**\n * List of validations for the field.\n */\n validation?: CmsModelFieldValidation[];\n /**\n * @see CmsModelField.listValidation\n */\n listValidation?: CmsModelFieldValidation[];\n /**\n * User defined settings.\n */\n settings?: Record<string, any>;\n}\n\n/**\n * A GraphQL `params.data` parameter received when updating content model.\n *\n * @category GraphQL params\n * @category CmsModel\n */\nexport interface CmsModelUpdateInput {\n /**\n * A new content model name.\n */\n name?: string;\n /**\n * A new singular name of the content model to be used in the API.\n */\n singularApiName?: string;\n /**\n * A new plural name of the content model to be used in the API.\n */\n pluralApiName?: string;\n /**\n * A group we want to move the model to.\n */\n group?: string;\n /**\n * A new description of the content model.\n */\n description?: string | null;\n /**\n * A list of content model fields to define the entry values.\n */\n fields: CmsModelFieldInput[];\n /**\n * Admin UI field layout\n *\n * ```ts\n * layout: [\n * [field1id, field2id],\n * [field3id]\n * ]\n * ```\n */\n layout: string[][];\n /**\n * Tags for the content model.\n */\n tags?: string[];\n /**\n * Fields fieldId which are picked to represent the CMS entry.\n */\n titleFieldId?: string | null;\n descriptionFieldId?: string | null;\n imageFieldId?: string | null;\n}\n\n/**\n * Locked field in the content model\n *\n * @see CmsModel.lockedFields\n *\n * @category ModelField\n */\nexport interface LockedField {\n /**\n * Locked field storage ID - one used to store values.\n * We cannot change this due to old systems.\n */\n fieldId: string;\n /**\n * Is the field multiple values field?\n */\n multipleValues: boolean;\n /**\n * Field type.\n */\n type: string;\n\n [key: string]: any;\n}\n\n/**\n * Object containing content model field renderer options.\n *\n * @category CmsModelField\n */\ninterface CmsModelFieldRenderer {\n /**\n * Name of the field renderer. Must have one in field renderer plugins.\n * Can be blank to let automatically determine the renderer.\n */\n name: string;\n /**\n * Renderer settings allow you to configure field renderer on a field level.\n */\n settings?: GenericRecord<string> | null;\n}\n\n/**\n * A definition for content model field settings.\n *\n * @category ModelField\n * @category Database model\n */\nexport interface CmsModelFieldSettings {\n /**\n * Predefined values (text, number)\n * The default value for the field in case it is not predefined values field.\n */\n defaultValue?: string | boolean | number | null | undefined;\n /**\n * Object field has child fields.\n */\n fields?: CmsModelField[];\n /**\n * Is the file field images only one?\n */\n imagesOnly?: boolean;\n /**\n * Object field has child fields - so it needs to have a layout.\n */\n layout?: string[][];\n /**\n * Ref field.\n */\n models?: Pick<CmsModel, \"modelId\">[];\n /**\n * Date field.\n */\n type?: string;\n /**\n * Disable full text search explicitly on this field.\n */\n disableFullTextSearch?: boolean;\n\n /**\n * There are a lot of other settings that are possible to add, so we keep the type opened.\n */\n [key: string]: any;\n}\n\n/**\n * Definition for content model field validator.\n *\n * @category ModelField\n * @category FieldValidation\n */\nexport interface CmsModelFieldValidation {\n name: string;\n message: string;\n settings?: {\n value?: string | number;\n values?: string[];\n preset?: string;\n [key: string]: any;\n };\n}\n\n/**\n * Object containing content model field predefined options and values.\n *\n * @category CmsModelField\n */\nexport interface CmsModelFieldPredefinedValues {\n /**\n * Are predefined field values enabled?\n */\n enabled: boolean;\n /**\n * Predefined values array.\n */\n values: CmsModelFieldPredefinedValuesValue[];\n}\n\ninterface CmsModelFieldPredefinedValuesValue {\n value: string;\n label: string;\n /**\n * Default selected predefined value.\n */\n selected?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["modelField.ts"],"sourcesContent":["import type { CmsModel } from \"./model\";\nimport type { GenericRecord } from \"@webiny/api/types\";\n\nexport type CmsModelFieldType =\n | \"boolean\"\n | \"datetime\"\n | \"file\"\n | \"long-text\"\n | \"number\"\n | \"json\"\n | \"object\"\n | \"ref\"\n | \"rich-text\"\n | \"text\"\n | \"dynamicZone\"\n | string;\n\nexport type ICmsModelFieldStorageId = `${string}@${string}` | string;\n/**\n * A definition for content model field. This type exists on the app side as well.\n *\n * @category ModelField\n * @category Database model\n */\nexport interface CmsModelField {\n /**\n * A generated unique ID for the model field.\n * MUST be absolute unique throughout the models.\n * Must be in form of a-zA-Z0-9.\n *\n * We generate a unique id value when you're building a model via UI,\n * but when user is creating a model via a plugin it is up to them to be careful about this.\n */\n id: string;\n /**\n * A type of the field.\n * We are defining our built-in fields, so people know which are available by the default.\n */\n type: CmsModelFieldType;\n /**\n * A unique storage ID for storing actual values.\n * Must in form of a-zA-Z0-9@a-zA-Z0-9\n *\n * This is an auto-generated value: uses `id` and `type`\n *\n * This is used as path for the entry value.\n */\n storageId: ICmsModelFieldStorageId;\n /**\n * Field identifier for the model field that will be available to the outside world.\n * `storageId` is used as path (or column) to store the data.\n *\n * Must in form of a-zA-Z0-9.\n *\n * This value MUST be unique in the CmsModel.\n */\n fieldId: string;\n /**\n * A label for the field\n */\n label: string;\n /**\n * Text below the field to clarify what is it meant to be in the field value\n */\n helpText?: string | null;\n /**\n * Text to be displayed in the field\n */\n placeholderText?: string | null;\n /**\n * Are predefined values enabled? And list of them\n */\n predefinedValues?: CmsModelFieldPredefinedValues;\n /**\n * Field renderer. Blank if determined automatically.\n */\n renderer?: CmsModelFieldRenderer | null;\n /**\n * List of validations for the field\n *\n * @default []\n */\n validation?: CmsModelFieldValidation[];\n /**\n * List of validations for the list of values, when a field is set to accept a list of values.\n * These validations will be applied to the entire list, and `validation` (see above) will be applied\n * to each individual value in the list.\n *\n * @default []\n */\n listValidation?: CmsModelFieldValidation[];\n /**\n * Is this a multiple values field?\n *\n */\n multipleValues?: boolean;\n /**\n * Fields can be tagged to give them contextual meaning.\n */\n tags?: string[];\n /**\n * Any user defined settings.\n *\n * @default {}\n */\n settings?: CmsModelFieldSettings;\n}\n\n/**\n * A definition for content model field received from the user.\n *\n * Input type for `CmsModelField`.\n * @see CmsModelField\n *\n * @category GraphQL params\n * @category ModelField\n */\nexport interface CmsModelFieldInput {\n /**\n * Generated ID.\n */\n id: string;\n /**\n * Type of the field. A plugin for the field must be defined.\n * @see CmsModelFieldToGraphQLPlugin\n */\n type: string;\n /**\n * Field outside world identifier for the field. Must be unique in the model.\n */\n fieldId: string;\n /**\n * Label for the field.\n */\n label: string;\n /**\n * Text to display below the field to help user what to write in the field.\n */\n helpText?: string | null;\n /**\n * Text to display in the field.\n */\n placeholderText?: string | null;\n /**\n * Fields can be tagged to give them contextual meaning.\n */\n tags?: string[];\n /**\n * Are multiple values allowed?\n */\n multipleValues?: boolean;\n /**\n * Predefined values options for the field. Check the reference for more information.\n */\n predefinedValues?: CmsModelFieldPredefinedValues;\n /**\n * Renderer options for the field. Check the reference for more information.\n */\n renderer?: CmsModelFieldRenderer | null;\n /**\n * List of validations for the field.\n */\n validation?: CmsModelFieldValidation[];\n /**\n * @see CmsModelField.listValidation\n */\n listValidation?: CmsModelFieldValidation[];\n /**\n * User defined settings.\n */\n settings?: Record<string, any>;\n}\n\n/**\n * A GraphQL `params.data` parameter received when updating content model.\n *\n * @category GraphQL params\n * @category CmsModel\n */\nexport interface CmsModelUpdateInput {\n /**\n * A new content model name.\n */\n name?: string;\n /**\n * A new singular name of the content model to be used in the API.\n */\n singularApiName?: string;\n /**\n * A new plural name of the content model to be used in the API.\n */\n pluralApiName?: string;\n /**\n * A group we want to move the model to.\n */\n group?: string;\n /**\n * A new description of the content model.\n */\n description?: string | null;\n /**\n * A list of content model fields to define the entry values.\n */\n fields: CmsModelFieldInput[];\n /**\n * Admin UI field layout\n *\n * ```ts\n * layout: [\n * [field1id, field2id],\n * [field3id]\n * ]\n * ```\n */\n layout: string[][];\n /**\n * Tags for the content model.\n */\n tags?: string[];\n /**\n * Fields fieldId which are picked to represent the CMS entry.\n */\n titleFieldId?: string | null;\n descriptionFieldId?: string | null;\n imageFieldId?: string | null;\n}\n\n/**\n * Locked field in the content model\n *\n * @see CmsModel.lockedFields\n *\n * @category ModelField\n */\nexport interface LockedField {\n /**\n * Locked field storage ID - one used to store values.\n * We cannot change this due to old systems.\n */\n fieldId: string;\n /**\n * Is the field multiple values field?\n */\n multipleValues: boolean;\n /**\n * Field type.\n */\n type: string;\n\n [key: string]: any;\n}\n\n/**\n * Object containing content model field renderer options.\n *\n * @category CmsModelField\n */\ninterface CmsModelFieldRenderer {\n /**\n * Name of the field renderer. Must have one in field renderer plugins.\n * Can be blank to let automatically determine the renderer.\n */\n name: string;\n /**\n * Renderer settings allow you to configure field renderer on a field level.\n */\n settings?: GenericRecord<string> | null;\n}\n\n/**\n * A definition for content model field settings.\n *\n * @category ModelField\n * @category Database model\n */\nexport interface CmsModelFieldSettings {\n /**\n * Predefined values (text, number)\n * The default value for the field in case it is not predefined values field.\n */\n defaultValue?: string | boolean | number | null | undefined;\n /**\n * Object field has child fields.\n */\n fields?: CmsModelField[];\n /**\n * Is the file field images only one?\n */\n imagesOnly?: boolean;\n /**\n * Object field has child fields - so it needs to have a layout.\n */\n layout?: string[][];\n /**\n * Ref field.\n */\n models?: Pick<CmsModel, \"modelId\">[];\n /**\n * Date field.\n */\n type?: string;\n /**\n * Disable full text search explicitly on this field.\n */\n disableFullTextSearch?: boolean;\n\n /**\n * There are a lot of other settings that are possible to add, so we keep the type opened.\n */\n [key: string]: any;\n}\n\n/**\n * Definition for content model field validator.\n *\n * @category ModelField\n * @category FieldValidation\n */\nexport interface CmsModelFieldValidation {\n name: string;\n message: string;\n settings?: {\n value?: string | number;\n values?: string[];\n preset?: string;\n [key: string]: any;\n };\n}\n\n/**\n * Object containing content model field predefined options and values.\n *\n * @category CmsModelField\n */\nexport interface CmsModelFieldPredefinedValues {\n /**\n * Are predefined field values enabled?\n */\n enabled: boolean;\n /**\n * Predefined values array.\n */\n values: CmsModelFieldPredefinedValuesValue[];\n}\n\ninterface CmsModelFieldPredefinedValuesValue {\n value: string;\n label: string;\n /**\n * Default selected predefined value.\n */\n selected?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { CmsIdentity } from "./identity";
1
+ import type { CmsIdentity } from "./identity";
2
2
  /**
3
3
  * @category Database model
4
4
  * @category CmsModel
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["modelGroup.ts"],"sourcesContent":["import { CmsIdentity } from \"./identity\";\n\n/**\n * @category Database model\n * @category CmsModel\n */\nexport interface CmsModelGroup {\n /**\n * Generated ID of the group\n */\n id: string;\n /**\n * Name of the group\n */\n name: string;\n}\n\n/**\n * A representation of content model group in the database.\n *\n * @category CmsGroup\n * @category Database model\n */\nexport interface CmsGroup {\n /**\n * Generated ID.\n */\n id: string;\n /**\n * Name of the group.\n */\n name: string;\n /**\n * Slug for the group. Must be unique.\n */\n slug: string;\n /**\n * Group tenant.\n */\n tenant: string;\n /**\n * Locale this group belongs to.\n */\n locale: string;\n /**\n * Description for the group.\n */\n description: string | null;\n /**\n * Icon for the group. In a form of \"ico/ico\".\n */\n icon: string;\n /**\n * CreatedBy reference object.\n */\n createdBy?: CmsIdentity;\n /**\n * Date group was created on.\n */\n createdOn?: string;\n /**\n * Date group was created or changed on.\n */\n savedOn?: string;\n /**\n * Which Webiny version was this record stored with.\n */\n webinyVersion: string;\n /**\n * Is group private?\n * This is meant to be used for some internal groups - will not be visible in the schema.\n * Only available for the plugin constructed groups.\n */\n isPrivate?: boolean;\n /**\n * Is this group created via plugin?\n */\n isPlugin?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["modelGroup.ts"],"sourcesContent":["import type { CmsIdentity } from \"./identity\";\n\n/**\n * @category Database model\n * @category CmsModel\n */\nexport interface CmsModelGroup {\n /**\n * Generated ID of the group\n */\n id: string;\n /**\n * Name of the group\n */\n name: string;\n}\n\n/**\n * A representation of content model group in the database.\n *\n * @category CmsGroup\n * @category Database model\n */\nexport interface CmsGroup {\n /**\n * Generated ID.\n */\n id: string;\n /**\n * Name of the group.\n */\n name: string;\n /**\n * Slug for the group. Must be unique.\n */\n slug: string;\n /**\n * Group tenant.\n */\n tenant: string;\n /**\n * Locale this group belongs to.\n */\n locale: string;\n /**\n * Description for the group.\n */\n description: string | null;\n /**\n * Icon for the group. In a form of \"ico/ico\".\n */\n icon: string;\n /**\n * CreatedBy reference object.\n */\n createdBy?: CmsIdentity;\n /**\n * Date group was created on.\n */\n createdOn?: string;\n /**\n * Date group was created or changed on.\n */\n savedOn?: string;\n /**\n * Which Webiny version was this record stored with.\n */\n webinyVersion: string;\n /**\n * Is group private?\n * This is meant to be used for some internal groups - will not be visible in the schema.\n * Only available for the plugin constructed groups.\n */\n isPrivate?: boolean;\n /**\n * Is this group created via plugin?\n */\n isPlugin?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,9 +1,9 @@
1
- import { Plugin } from "@webiny/plugins/types";
2
- import { GraphQLSchemaDefinition } from "@webiny/handler-graphql/types";
3
- import { CmsContext, CmsFieldTypePlugins, CmsModelFieldDefinition, CmsModelFieldToGraphQLCreateResolver, CmsModelFieldToGraphQLNormalizeInputParams, CmsModelFieldToGraphQLPluginValidateChildFields, CmsModelFieldValidatorValidateParams } from "./types";
4
- import { GetCmsModelFieldAst } from "./modelAst";
5
- import { CmsModelField, CmsModelFieldType, LockedField } from "./modelField";
6
- import { CmsModel } from "./model";
1
+ import type { Plugin } from "@webiny/plugins/types";
2
+ import type { GraphQLSchemaDefinition } from "@webiny/handler-graphql/types";
3
+ import type { CmsContext, CmsFieldTypePlugins, CmsModelFieldDefinition, CmsModelFieldToGraphQLCreateResolver, CmsModelFieldToGraphQLNormalizeInputParams, CmsModelFieldToGraphQLPluginValidateChildFields, CmsModelFieldValidatorValidateParams } from "./types";
4
+ import type { GetCmsModelFieldAst } from "./modelAst";
5
+ import type { CmsModelField, CmsModelFieldType, LockedField } from "./modelField";
6
+ import type { CmsModel } from "./model";
7
7
  /**
8
8
  * @category Plugin
9
9
  * @category ModelField
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["plugins.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins/types\";\nimport { GraphQLSchemaDefinition } from \"@webiny/handler-graphql/types\";\nimport {\n CmsContext,\n CmsFieldTypePlugins,\n CmsModelFieldDefinition,\n CmsModelFieldToGraphQLCreateResolver,\n CmsModelFieldToGraphQLNormalizeInputParams,\n CmsModelFieldToGraphQLPluginValidateChildFields,\n CmsModelFieldValidatorValidateParams\n} from \"./types\";\nimport { GetCmsModelFieldAst } from \"./modelAst\";\nimport { CmsModelField, CmsModelFieldType, LockedField } from \"./modelField\";\nimport { CmsModel } from \"./model\";\n\n/**\n * @category Plugin\n * @category ModelField\n * @category GraphQL\n */\nexport interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = CmsModelField>\n extends Plugin {\n /**\n * A plugin type\n */\n type: \"cms-model-field-to-graphql\";\n /**\n * Field type name which must be exact as the one in `CmsEditorFieldTypePlugin` plugin.\n *\n * ```ts\n * fieldType: \"myField\"\n * ```\n */\n fieldType: CmsModelFieldType;\n /**\n * Is the field searchable via the GraphQL?\n *\n * ```ts\n * isSearchable: false\n * ```\n */\n isSearchable: boolean;\n /**\n * Is the field searchable via full text search?\n *\n * Field is not full text searchable by default.\n * ```ts\n * fullTextSearch: false\n * ```\n */\n fullTextSearch?: boolean;\n /**\n * Is the field sortable via the GraphQL?\n *\n * ```ts\n * isSortable: true\n * ```\n */\n isSortable: boolean;\n /**\n * Optional method which creates the storageId.\n * Primary use is for the datetime field, but if users has some specific fields, they can customize the storageId to their needs.\n *\n * ```ts\n * createStorageId: ({field}) => {\n * if (field.settings.type === \"time) {\n * return `${field.type}_time@${field.id}`\n * }\n * // use default method\n * return undefined;\n * }\n * ```\n */\n createStorageId?: (params: {\n model: CmsModel;\n field: Omit<TField, \"storageId\"> & Partial<Pick<TField, \"storageId\">>;\n }) => string | null | undefined;\n /**\n * Read API methods.\n */\n read: {\n /**\n * Definition for get filtering for GraphQL.\n *\n * ```ts\n * read: {\n * createGetFilters({ field }) {\n * return `${field.fieldId}: MyField`;\n * }\n * }\n * ```\n */\n createGetFilters?(params: { field: TField }): string;\n /**\n * Definition for list filtering for GraphQL.\n *\n * ```ts\n * read: {\n * createListFilters({ field }) {\n * return `\n * ${field.fieldId}: MyType\n * ${field.fieldId}_not: MyType\n * ${field.fieldId}_in: [MyType]\n * ${field.fieldId}_not_in: [MyType]\n * `;\n * }\n * }\n * ```\n */\n createListFilters?(params: {\n model: Pick<CmsModel, \"singularApiName\">;\n field: TField;\n plugins: CmsFieldTypePlugins;\n }): string;\n /**\n * Definition of the field type for GraphQL - be aware if multiple values is selected.\n *\n * ```ts\n * read: {\n * createTypeField({ field }) {\n * if (field.multipleValues) {\n * return `${field.fieldId}: [MyFieldType]`;\n * }\n *\n * return `${field.fieldId}: MyField`;\n * }\n * }\n * ```\n */\n createTypeField(params: {\n models: CmsModel[];\n model: CmsModel;\n field: TField;\n fieldTypePlugins: CmsFieldTypePlugins;\n }): CmsModelFieldDefinition | string | null;\n /**\n * Definition for field resolver.\n * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.\n *\n * ```ts\n * read: {\n * createResolver({ field }) {\n * return instance => {\n * return instance.values[field.storageId];\n * };\n * }\n * }\n * ```\n */\n createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;\n /**\n * Read API schema definitions for the field and resolvers for them.\n *\n * ```ts\n * read: {\n * createSchema() {\n * return {\n * typeDefs: `\n * myField {\n * id\n * date\n * }\n * `,\n * resolvers: {}\n * }\n * }\n * }\n * ```\n */\n createSchema?: (params: { models: CmsModel[] }) => GraphQLSchemaDefinition<CmsContext>;\n };\n manage: {\n /**\n * Definition for list filtering for GraphQL.\n *\n * ```ts\n * manage: {\n * createListFilters({ field }) {\n * return `\n * ${field.fieldId}: MyType\n * ${field.fieldId}_not: MyType\n * ${field.fieldId}_in: [MyType]\n * ${field.fieldId}_not_in: [MyType]\n * `;\n * }\n * }\n * ```\n */\n createListFilters?: (params: {\n model: Pick<CmsModel, \"singularApiName\">;\n field: TField;\n plugins: CmsFieldTypePlugins;\n }) => string;\n /**\n * Manage API schema definitions for the field and resolvers for them. Probably similar to `read.createSchema`.\n *\n * ```ts\n * createSchema() {\n * return {\n * typeDefs: `\n * myField {\n * id\n * date\n * }\n * `,\n * resolvers: {}\n * }\n * }\n * ```\n */\n createSchema?: (params: { models: CmsModel[] }) => GraphQLSchemaDefinition<CmsContext>;\n /**\n * Definition of the field type for GraphQL - be aware if multiple values is selected. Probably same as `read.createTypeField`.\n *\n * ```ts\n * manage: {\n * createTypeField({ field }) {\n * if (field.multipleValues) {\n * return field.fieldId + \": [MyType]\";\n * }\n *\n * return field.fieldId + \": MyType\";\n * }\n * }\n * ```\n */\n createTypeField: (params: {\n models: CmsModel[];\n model: CmsModel;\n field: TField;\n fieldTypePlugins: CmsFieldTypePlugins;\n }) => CmsModelFieldDefinition | string | null;\n /**\n * Definition for input GraphQL field type.\n *\n * ```ts\n * manage: {\n * createInputField({ field }) {\n * if (field.multipleValues) {\n * return field.fieldId + \": [MyField]\";\n * }\n *\n * return field.fieldId + \": MyField\";\n * }\n * }\n * ```\n */\n createInputField: (params: {\n models: CmsModel[];\n model: CmsModel;\n field: TField;\n fieldTypePlugins: CmsFieldTypePlugins;\n }) => CmsModelFieldDefinition | string | null;\n /**\n * Definition for field resolver.\n * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.\n *\n * ```ts\n * manage: {\n * createResolver({ field }) {\n * return instance => {\n * return instance.values[field.storageId];\n * };\n * }\n * }\n * ```\n */\n createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;\n normalizeInput?: <T>(\n params: CmsModelFieldToGraphQLNormalizeInputParams<TField>\n ) => Promise<T>;\n };\n /**\n *\n * @param field\n */\n validateChildFields?: CmsModelFieldToGraphQLPluginValidateChildFields<TField>;\n /**\n * Get field AST.\n */\n getFieldAst?: GetCmsModelFieldAst<TField>;\n}\n\n/**\n * Check for content model locked field.\n * A custom plugin definable by the user.\n *\n * @category CmsModel\n * @category Plugin\n */\nexport interface CmsModelLockedFieldPlugin extends Plugin {\n /**\n * A plugin type\n */\n type: \"cms-model-locked-field\";\n /**\n * A unique identifier of the field type (text, number, json, myField, ...).\n */\n fieldType: string;\n /**\n * A method to check if field really is locked.\n */\n checkLockedField?: (params: { lockedField: LockedField; field: CmsModelField }) => void;\n /**\n * A method to get the locked field data.\n */\n getLockedFieldData?: (params: { field: CmsModelField }) => Record<string, any>;\n}\n\n/**\n * Definition for the field validator.\n *\n * @category Plugin\n * @category ModelField\n * @category FieldValidation\n */\nexport interface CmsModelFieldValidatorPluginValidateCb {\n (params: CmsModelFieldValidatorValidateParams): Promise<boolean>;\n}\n\nexport interface CmsModelFieldValidatorPlugin extends Plugin {\n /**\n * A plugin type.\n */\n type: \"cms-model-field-validator\";\n /**\n * Actual validator definition.\n */\n validator: {\n /**\n * Name of the validator.\n */\n name: string;\n /**\n * Validation method.\n */\n validate: CmsModelFieldValidatorPluginValidateCb;\n };\n}\n\n/**\n * A pattern validator for the content entry field value.\n *\n * @category Plugin\n * @category ModelField\n * @category FieldValidation\n */\nexport interface CmsModelFieldPatternValidatorPlugin extends Plugin {\n /**\n * A plugin type\n */\n type: \"cms-model-field-validator-pattern\";\n /**\n * A pattern object for the validator.\n */\n pattern: {\n /**\n * name of the pattern.\n */\n name: string;\n /**\n * RegExp of the validator.\n */\n regex: string;\n /**\n * RegExp flags\n */\n flags: string;\n };\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["plugins.ts"],"sourcesContent":["import type { Plugin } from \"@webiny/plugins/types\";\nimport type { GraphQLSchemaDefinition } from \"@webiny/handler-graphql/types\";\nimport type {\n CmsContext,\n CmsFieldTypePlugins,\n CmsModelFieldDefinition,\n CmsModelFieldToGraphQLCreateResolver,\n CmsModelFieldToGraphQLNormalizeInputParams,\n CmsModelFieldToGraphQLPluginValidateChildFields,\n CmsModelFieldValidatorValidateParams\n} from \"./types\";\nimport type { GetCmsModelFieldAst } from \"./modelAst\";\nimport type { CmsModelField, CmsModelFieldType, LockedField } from \"./modelField\";\nimport type { CmsModel } from \"./model\";\n\n/**\n * @category Plugin\n * @category ModelField\n * @category GraphQL\n */\nexport interface CmsModelFieldToGraphQLPlugin<TField extends CmsModelField = CmsModelField>\n extends Plugin {\n /**\n * A plugin type\n */\n type: \"cms-model-field-to-graphql\";\n /**\n * Field type name which must be exact as the one in `CmsEditorFieldTypePlugin` plugin.\n *\n * ```ts\n * fieldType: \"myField\"\n * ```\n */\n fieldType: CmsModelFieldType;\n /**\n * Is the field searchable via the GraphQL?\n *\n * ```ts\n * isSearchable: false\n * ```\n */\n isSearchable: boolean;\n /**\n * Is the field searchable via full text search?\n *\n * Field is not full text searchable by default.\n * ```ts\n * fullTextSearch: false\n * ```\n */\n fullTextSearch?: boolean;\n /**\n * Is the field sortable via the GraphQL?\n *\n * ```ts\n * isSortable: true\n * ```\n */\n isSortable: boolean;\n /**\n * Optional method which creates the storageId.\n * Primary use is for the datetime field, but if users has some specific fields, they can customize the storageId to their needs.\n *\n * ```ts\n * createStorageId: ({field}) => {\n * if (field.settings.type === \"time) {\n * return `${field.type}_time@${field.id}`\n * }\n * // use default method\n * return undefined;\n * }\n * ```\n */\n createStorageId?: (params: {\n model: CmsModel;\n field: Omit<TField, \"storageId\"> & Partial<Pick<TField, \"storageId\">>;\n }) => string | null | undefined;\n /**\n * Read API methods.\n */\n read: {\n /**\n * Definition for get filtering for GraphQL.\n *\n * ```ts\n * read: {\n * createGetFilters({ field }) {\n * return `${field.fieldId}: MyField`;\n * }\n * }\n * ```\n */\n createGetFilters?(params: { field: TField }): string;\n /**\n * Definition for list filtering for GraphQL.\n *\n * ```ts\n * read: {\n * createListFilters({ field }) {\n * return `\n * ${field.fieldId}: MyType\n * ${field.fieldId}_not: MyType\n * ${field.fieldId}_in: [MyType]\n * ${field.fieldId}_not_in: [MyType]\n * `;\n * }\n * }\n * ```\n */\n createListFilters?(params: {\n model: Pick<CmsModel, \"singularApiName\">;\n field: TField;\n plugins: CmsFieldTypePlugins;\n }): string;\n /**\n * Definition of the field type for GraphQL - be aware if multiple values is selected.\n *\n * ```ts\n * read: {\n * createTypeField({ field }) {\n * if (field.multipleValues) {\n * return `${field.fieldId}: [MyFieldType]`;\n * }\n *\n * return `${field.fieldId}: MyField`;\n * }\n * }\n * ```\n */\n createTypeField(params: {\n models: CmsModel[];\n model: CmsModel;\n field: TField;\n fieldTypePlugins: CmsFieldTypePlugins;\n }): CmsModelFieldDefinition | string | null;\n /**\n * Definition for field resolver.\n * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.\n *\n * ```ts\n * read: {\n * createResolver({ field }) {\n * return instance => {\n * return instance.values[field.storageId];\n * };\n * }\n * }\n * ```\n */\n createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;\n /**\n * Read API schema definitions for the field and resolvers for them.\n *\n * ```ts\n * read: {\n * createSchema() {\n * return {\n * typeDefs: `\n * myField {\n * id\n * date\n * }\n * `,\n * resolvers: {}\n * }\n * }\n * }\n * ```\n */\n createSchema?: (params: { models: CmsModel[] }) => GraphQLSchemaDefinition<CmsContext>;\n };\n manage: {\n /**\n * Definition for list filtering for GraphQL.\n *\n * ```ts\n * manage: {\n * createListFilters({ field }) {\n * return `\n * ${field.fieldId}: MyType\n * ${field.fieldId}_not: MyType\n * ${field.fieldId}_in: [MyType]\n * ${field.fieldId}_not_in: [MyType]\n * `;\n * }\n * }\n * ```\n */\n createListFilters?: (params: {\n model: Pick<CmsModel, \"singularApiName\">;\n field: TField;\n plugins: CmsFieldTypePlugins;\n }) => string;\n /**\n * Manage API schema definitions for the field and resolvers for them. Probably similar to `read.createSchema`.\n *\n * ```ts\n * createSchema() {\n * return {\n * typeDefs: `\n * myField {\n * id\n * date\n * }\n * `,\n * resolvers: {}\n * }\n * }\n * ```\n */\n createSchema?: (params: { models: CmsModel[] }) => GraphQLSchemaDefinition<CmsContext>;\n /**\n * Definition of the field type for GraphQL - be aware if multiple values is selected. Probably same as `read.createTypeField`.\n *\n * ```ts\n * manage: {\n * createTypeField({ field }) {\n * if (field.multipleValues) {\n * return field.fieldId + \": [MyType]\";\n * }\n *\n * return field.fieldId + \": MyType\";\n * }\n * }\n * ```\n */\n createTypeField: (params: {\n models: CmsModel[];\n model: CmsModel;\n field: TField;\n fieldTypePlugins: CmsFieldTypePlugins;\n }) => CmsModelFieldDefinition | string | null;\n /**\n * Definition for input GraphQL field type.\n *\n * ```ts\n * manage: {\n * createInputField({ field }) {\n * if (field.multipleValues) {\n * return field.fieldId + \": [MyField]\";\n * }\n *\n * return field.fieldId + \": MyField\";\n * }\n * }\n * ```\n */\n createInputField: (params: {\n models: CmsModel[];\n model: CmsModel;\n field: TField;\n fieldTypePlugins: CmsFieldTypePlugins;\n }) => CmsModelFieldDefinition | string | null;\n /**\n * Definition for field resolver.\n * By default, it is simple return of the `instance.values[storageId]` but if required, users can define their own.\n *\n * ```ts\n * manage: {\n * createResolver({ field }) {\n * return instance => {\n * return instance.values[field.storageId];\n * };\n * }\n * }\n * ```\n */\n createResolver?: CmsModelFieldToGraphQLCreateResolver<TField>;\n normalizeInput?: <T>(\n params: CmsModelFieldToGraphQLNormalizeInputParams<TField>\n ) => Promise<T>;\n };\n /**\n *\n * @param field\n */\n validateChildFields?: CmsModelFieldToGraphQLPluginValidateChildFields<TField>;\n /**\n * Get field AST.\n */\n getFieldAst?: GetCmsModelFieldAst<TField>;\n}\n\n/**\n * Check for content model locked field.\n * A custom plugin definable by the user.\n *\n * @category CmsModel\n * @category Plugin\n */\nexport interface CmsModelLockedFieldPlugin extends Plugin {\n /**\n * A plugin type\n */\n type: \"cms-model-locked-field\";\n /**\n * A unique identifier of the field type (text, number, json, myField, ...).\n */\n fieldType: string;\n /**\n * A method to check if field really is locked.\n */\n checkLockedField?: (params: { lockedField: LockedField; field: CmsModelField }) => void;\n /**\n * A method to get the locked field data.\n */\n getLockedFieldData?: (params: { field: CmsModelField }) => Record<string, any>;\n}\n\n/**\n * Definition for the field validator.\n *\n * @category Plugin\n * @category ModelField\n * @category FieldValidation\n */\nexport interface CmsModelFieldValidatorPluginValidateCb {\n (params: CmsModelFieldValidatorValidateParams): Promise<boolean>;\n}\n\nexport interface CmsModelFieldValidatorPlugin extends Plugin {\n /**\n * A plugin type.\n */\n type: \"cms-model-field-validator\";\n /**\n * Actual validator definition.\n */\n validator: {\n /**\n * Name of the validator.\n */\n name: string;\n /**\n * Validation method.\n */\n validate: CmsModelFieldValidatorPluginValidateCb;\n };\n}\n\n/**\n * A pattern validator for the content entry field value.\n *\n * @category Plugin\n * @category ModelField\n * @category FieldValidation\n */\nexport interface CmsModelFieldPatternValidatorPlugin extends Plugin {\n /**\n * A plugin type\n */\n type: \"cms-model-field-validator-pattern\";\n /**\n * A pattern object for the validator.\n */\n pattern: {\n /**\n * name of the pattern.\n */\n name: string;\n /**\n * RegExp of the validator.\n */\n regex: string;\n /**\n * RegExp flags\n */\n flags: string;\n };\n}\n"],"mappings":"","ignoreList":[]}
package/types/types.d.ts CHANGED
@@ -1,22 +1,22 @@
1
- import { Plugin } from "@webiny/plugins/types";
2
- import { I18NContext, I18NLocale } from "@webiny/api-i18n/types";
3
- import { Context, GenericRecord } from "@webiny/api/types";
4
- import { GraphQLFieldResolver, GraphQLRequestBody, Resolvers } from "@webiny/handler-graphql/types";
5
- import { processRequestBody } from "@webiny/handler-graphql";
6
- import { SecurityPermission } from "@webiny/api-security/types";
7
- import { DbContext } from "@webiny/handler-db/types";
8
- import { Topic } from "@webiny/pubsub/types";
9
- import { CmsModelConverterCallable } from "../utils/converters/ConverterCollection";
10
- import { HeadlessCmsExport, HeadlessCmsImport } from "../export/types";
11
- import { AccessControl } from "../crud/AccessControl/AccessControl";
12
- import { CmsModelToAstConverter } from "../utils/contentModelAst/CmsModelToAstConverter";
13
- import { CmsModelFieldToGraphQLPlugin } from "./plugins";
14
- import { CmsEntryContext } from "./context";
15
- import { CmsModelField, CmsModelFieldValidation, CmsModelUpdateInput } from "./modelField";
16
- import { CmsModel, CmsModelCreateFromInput, CmsModelCreateInput } from "./model";
17
- import { CmsGroup } from "./modelGroup";
18
- import { CmsIdentity } from "./identity";
19
- import { ISingletonModelManager } from "../modelManager";
1
+ import type { Plugin } from "@webiny/plugins/types";
2
+ import type { I18NContext, I18NLocale } from "@webiny/api-i18n/types";
3
+ import type { Context, GenericRecord } from "@webiny/api/types";
4
+ import type { GraphQLFieldResolver, GraphQLRequestBody, Resolvers } from "@webiny/handler-graphql/types";
5
+ import type { processRequestBody } from "@webiny/handler-graphql";
6
+ import type { SecurityPermission } from "@webiny/api-security/types";
7
+ import type { DbContext } from "@webiny/handler-db/types";
8
+ import type { Topic } from "@webiny/pubsub/types";
9
+ import type { CmsModelConverterCallable } from "../utils/converters/ConverterCollection";
10
+ import type { HeadlessCmsExport, HeadlessCmsImport } from "../export/types";
11
+ import type { AccessControl } from "../crud/AccessControl/AccessControl";
12
+ import type { CmsModelToAstConverter } from "../utils/contentModelAst/CmsModelToAstConverter";
13
+ import type { CmsModelFieldToGraphQLPlugin } from "./plugins";
14
+ import type { CmsEntryContext } from "./context";
15
+ import type { CmsModelField, CmsModelFieldValidation, CmsModelUpdateInput } from "./modelField";
16
+ import type { CmsModel, CmsModelCreateFromInput, CmsModelCreateInput } from "./model";
17
+ import type { CmsGroup } from "./modelGroup";
18
+ import type { CmsIdentity } from "./identity";
19
+ import type { ISingletonModelManager } from "../modelManager";
20
20
  export interface CmsError {
21
21
  message: string;
22
22
  code: string;