@strapi/content-type-builder 5.37.1 → 5.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/dist/admin/components/AIChat/Chat.js.map +1 -1
  2. package/dist/admin/components/AIChat/Chat.mjs +2 -2
  3. package/dist/admin/components/AIChat/Chat.mjs.map +1 -1
  4. package/dist/admin/components/AIChat/FeedbackModal.js.map +1 -1
  5. package/dist/admin/components/AIChat/FeedbackModal.mjs +1 -1
  6. package/dist/admin/components/AIChat/FeedbackModal.mjs.map +1 -1
  7. package/dist/admin/components/AIChat/UploadCodeModal.js.map +1 -1
  8. package/dist/admin/components/AIChat/UploadCodeModal.mjs +1 -1
  9. package/dist/admin/components/AIChat/UploadCodeModal.mjs.map +1 -1
  10. package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -1
  11. package/dist/admin/components/AIChat/UploadFigmaModal.mjs +1 -1
  12. package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -1
  13. package/dist/admin/components/AIChat/components/Alert.js.map +1 -1
  14. package/dist/admin/components/AIChat/components/Alert.mjs.map +1 -1
  15. package/dist/admin/components/AIChat/components/AnimatedBox.js.map +1 -1
  16. package/dist/admin/components/AIChat/components/AnimatedBox.mjs.map +1 -1
  17. package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.js.map +1 -1
  18. package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.mjs.map +1 -1
  19. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.js.map +1 -1
  20. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs +1 -1
  21. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs.map +1 -1
  22. package/dist/admin/components/AIChat/components/Base64Image.js.map +1 -1
  23. package/dist/admin/components/AIChat/components/Base64Image.mjs.map +1 -1
  24. package/dist/admin/components/AIChat/components/Collapsible.js.map +1 -1
  25. package/dist/admin/components/AIChat/components/Collapsible.mjs.map +1 -1
  26. package/dist/admin/components/AIChat/components/Dropzone.js +2 -6
  27. package/dist/admin/components/AIChat/components/Dropzone.js.map +1 -1
  28. package/dist/admin/components/AIChat/components/Dropzone.mjs +3 -7
  29. package/dist/admin/components/AIChat/components/Dropzone.mjs.map +1 -1
  30. package/dist/admin/components/AIChat/components/FloatingPanel.js.map +1 -1
  31. package/dist/admin/components/AIChat/components/FloatingPanel.mjs +1 -1
  32. package/dist/admin/components/AIChat/components/FloatingPanel.mjs.map +1 -1
  33. package/dist/admin/components/AIChat/components/FullScreenImage.js.map +1 -1
  34. package/dist/admin/components/AIChat/components/FullScreenImage.mjs.map +1 -1
  35. package/dist/admin/components/AIChat/components/ImagePreview.js.map +1 -1
  36. package/dist/admin/components/AIChat/components/ImagePreview.mjs +1 -1
  37. package/dist/admin/components/AIChat/components/ImagePreview.mjs.map +1 -1
  38. package/dist/admin/components/AIChat/components/Input.js +1 -5
  39. package/dist/admin/components/AIChat/components/Input.js.map +1 -1
  40. package/dist/admin/components/AIChat/components/Input.mjs +4 -7
  41. package/dist/admin/components/AIChat/components/Input.mjs.map +1 -1
  42. package/dist/admin/components/AIChat/components/Messages/Marker.js.map +1 -1
  43. package/dist/admin/components/AIChat/components/Messages/Marker.mjs +2 -2
  44. package/dist/admin/components/AIChat/components/Messages/Marker.mjs.map +1 -1
  45. package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
  46. package/dist/admin/components/AIChat/components/Messages/Message.mjs +1 -1
  47. package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -1
  48. package/dist/admin/components/AIChat/components/ResizableTextArea.js.map +1 -1
  49. package/dist/admin/components/AIChat/components/ResizableTextArea.mjs.map +1 -1
  50. package/dist/admin/components/AIChat/components/SimpleMenu.js.map +1 -1
  51. package/dist/admin/components/AIChat/components/SimpleMenu.mjs.map +1 -1
  52. package/dist/admin/components/AIChat/components/StepModal.js.map +1 -1
  53. package/dist/admin/components/AIChat/components/StepModal.mjs.map +1 -1
  54. package/dist/admin/components/AIChat/components/animations.js.map +1 -1
  55. package/dist/admin/components/AIChat/components/animations.mjs.map +1 -1
  56. package/dist/admin/components/AIChat/components/icons/FigmaIcon.js.map +1 -1
  57. package/dist/admin/components/AIChat/components/icons/FigmaIcon.mjs.map +1 -1
  58. package/dist/admin/components/AIChat/components/icons/StopIcon.js.map +1 -1
  59. package/dist/admin/components/AIChat/components/icons/StopIcon.mjs.map +1 -1
  60. package/dist/admin/components/AIChat/hooks/useAIFetch.js.map +1 -1
  61. package/dist/admin/components/AIChat/hooks/useAIFetch.mjs.map +1 -1
  62. package/dist/admin/components/AIChat/hooks/useAttachments.js.map +1 -1
  63. package/dist/admin/components/AIChat/hooks/useAttachments.mjs.map +1 -1
  64. package/dist/admin/components/AIChat/hooks/useChatTitle.js.map +1 -1
  65. package/dist/admin/components/AIChat/hooks/useChatTitle.mjs.map +1 -1
  66. package/dist/admin/components/AIChat/hooks/useCodeUpload.js.map +1 -1
  67. package/dist/admin/components/AIChat/hooks/useCodeUpload.mjs.map +1 -1
  68. package/dist/admin/components/AIChat/hooks/useFeedback.js.map +1 -1
  69. package/dist/admin/components/AIChat/hooks/useFeedback.mjs.map +1 -1
  70. package/dist/admin/components/AIChat/hooks/useFigmaUpload.js.map +1 -1
  71. package/dist/admin/components/AIChat/hooks/useFigmaUpload.mjs.map +1 -1
  72. package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.js.map +1 -1
  73. package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.mjs.map +1 -1
  74. package/dist/admin/components/AIChat/hooks/useTranslations.js.map +1 -1
  75. package/dist/admin/components/AIChat/hooks/useTranslations.mjs.map +1 -1
  76. package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -1
  77. package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -1
  78. package/dist/admin/components/AIChat/lib/constants.js.map +1 -1
  79. package/dist/admin/components/AIChat/lib/constants.mjs.map +1 -1
  80. package/dist/admin/components/AIChat/lib/misc.js.map +1 -1
  81. package/dist/admin/components/AIChat/lib/misc.mjs.map +1 -1
  82. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js.map +1 -1
  83. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs.map +1 -1
  84. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
  85. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -1
  86. package/dist/admin/components/AIChat/providers/ChatProvider.js.map +1 -1
  87. package/dist/admin/components/AIChat/providers/ChatProvider.mjs.map +1 -1
  88. package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
  89. package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
  90. package/dist/admin/components/AllowedTypesSelect.js.map +1 -1
  91. package/dist/admin/components/AllowedTypesSelect.mjs.map +1 -1
  92. package/dist/admin/components/ApplyConditionButton.js.map +1 -1
  93. package/dist/admin/components/ApplyConditionButton.mjs.map +1 -1
  94. package/dist/admin/components/AttributeIcon.js.map +1 -1
  95. package/dist/admin/components/AttributeIcon.mjs +1 -1
  96. package/dist/admin/components/AttributeIcon.mjs.map +1 -1
  97. package/dist/admin/components/AttributeOptions/AttributeList.js.map +1 -1
  98. package/dist/admin/components/AttributeOptions/AttributeList.mjs.map +1 -1
  99. package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
  100. package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
  101. package/dist/admin/components/AttributeOptions/AttributeOptions.js.map +1 -1
  102. package/dist/admin/components/AttributeOptions/AttributeOptions.mjs.map +1 -1
  103. package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -1
  104. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -1
  105. package/dist/admin/components/AttributeOptions/CustomFieldsList.js.map +1 -1
  106. package/dist/admin/components/AttributeOptions/CustomFieldsList.mjs.map +1 -1
  107. package/dist/admin/components/AttributeOptions/EmptyAttributes.js.map +1 -1
  108. package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs.map +1 -1
  109. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.js.map +1 -1
  110. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.mjs.map +1 -1
  111. package/dist/admin/components/AttributeRow.js.map +1 -1
  112. package/dist/admin/components/AttributeRow.mjs +1 -1
  113. package/dist/admin/components/AttributeRow.mjs.map +1 -1
  114. package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
  115. package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -1
  116. package/dist/admin/components/BooleanDefaultValueSelect.js.map +1 -1
  117. package/dist/admin/components/BooleanDefaultValueSelect.mjs.map +1 -1
  118. package/dist/admin/components/BooleanRadioGroup.js.map +1 -1
  119. package/dist/admin/components/BooleanRadioGroup.mjs.map +1 -1
  120. package/dist/admin/components/CTBSession/CTBSessionProvider.js.map +1 -1
  121. package/dist/admin/components/CTBSession/CTBSessionProvider.mjs.map +1 -1
  122. package/dist/admin/components/CTBSession/sessionContext.js.map +1 -1
  123. package/dist/admin/components/CTBSession/sessionContext.mjs.map +1 -1
  124. package/dist/admin/components/CTBSession/useCTBSession.js.map +1 -1
  125. package/dist/admin/components/CTBSession/useCTBSession.mjs.map +1 -1
  126. package/dist/admin/components/CTBSession/useCTBTracking.js.map +1 -1
  127. package/dist/admin/components/CTBSession/useCTBTracking.mjs.map +1 -1
  128. package/dist/admin/components/CheckboxWithNumberField.js.map +1 -1
  129. package/dist/admin/components/CheckboxWithNumberField.mjs.map +1 -1
  130. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  131. package/dist/admin/components/ComponentCard/ComponentCard.mjs +1 -1
  132. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
  133. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.js.map +1 -1
  134. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.mjs.map +1 -1
  135. package/dist/admin/components/ComponentList.js.map +1 -1
  136. package/dist/admin/components/ComponentList.mjs.map +1 -1
  137. package/dist/admin/components/ComponentRow.js.map +1 -1
  138. package/dist/admin/components/ComponentRow.mjs.map +1 -1
  139. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
  140. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +2 -2
  141. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
  142. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  143. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
  144. package/dist/admin/components/ContentTypeRadioGroup.js.map +1 -1
  145. package/dist/admin/components/ContentTypeRadioGroup.mjs.map +1 -1
  146. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js.map +1 -1
  147. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs.map +1 -1
  148. package/dist/admin/components/CustomRadioGroup/Styles.js.map +1 -1
  149. package/dist/admin/components/CustomRadioGroup/Styles.mjs +1 -1
  150. package/dist/admin/components/CustomRadioGroup/Styles.mjs.map +1 -1
  151. package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -1
  152. package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -1
  153. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
  154. package/dist/admin/components/DataManager/DataManagerProvider.mjs +1 -1
  155. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
  156. package/dist/admin/components/DataManager/reducer.js.map +1 -1
  157. package/dist/admin/components/DataManager/reducer.mjs.map +1 -1
  158. package/dist/admin/components/DataManager/undoRedo.js.map +1 -1
  159. package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -1
  160. package/dist/admin/components/DataManager/useDataManager.js.map +1 -1
  161. package/dist/admin/components/DataManager/useDataManager.mjs.map +1 -1
  162. package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -1
  163. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -1
  164. package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -1
  165. package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -1
  166. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -1
  167. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -1
  168. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -1
  169. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs.map +1 -1
  170. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -1
  171. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -1
  172. package/dist/admin/components/DisplayedType.js.map +1 -1
  173. package/dist/admin/components/DisplayedType.mjs.map +1 -1
  174. package/dist/admin/components/DraftAndPublishToggle.js.map +1 -1
  175. package/dist/admin/components/DraftAndPublishToggle.mjs.map +1 -1
  176. package/dist/admin/components/DynamicZoneList.js.map +1 -1
  177. package/dist/admin/components/DynamicZoneList.mjs +1 -1
  178. package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
  179. package/dist/admin/components/ExitPrompt.js.map +1 -1
  180. package/dist/admin/components/ExitPrompt.mjs.map +1 -1
  181. package/dist/admin/components/Footers.js.map +1 -1
  182. package/dist/admin/components/Footers.mjs +2 -2
  183. package/dist/admin/components/Footers.mjs.map +1 -1
  184. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  185. package/dist/admin/components/FormModal/FormModal.mjs +1 -1
  186. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  187. package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
  188. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
  189. package/dist/admin/components/FormModal/attributes/advancedForm.js.map +1 -1
  190. package/dist/admin/components/FormModal/attributes/advancedForm.mjs.map +1 -1
  191. package/dist/admin/components/FormModal/attributes/attributeOptions.js.map +1 -1
  192. package/dist/admin/components/FormModal/attributes/attributeOptions.mjs.map +1 -1
  193. package/dist/admin/components/FormModal/attributes/baseForm.js.map +1 -1
  194. package/dist/admin/components/FormModal/attributes/baseForm.mjs.map +1 -1
  195. package/dist/admin/components/FormModal/attributes/commonBaseForm.js.map +1 -1
  196. package/dist/admin/components/FormModal/attributes/commonBaseForm.mjs.map +1 -1
  197. package/dist/admin/components/FormModal/attributes/form.js.map +1 -1
  198. package/dist/admin/components/FormModal/attributes/form.mjs.map +1 -1
  199. package/dist/admin/components/FormModal/attributes/nameField.js.map +1 -1
  200. package/dist/admin/components/FormModal/attributes/nameField.mjs.map +1 -1
  201. package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
  202. package/dist/admin/components/FormModal/attributes/types.mjs +1 -1
  203. package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -1
  204. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
  205. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
  206. package/dist/admin/components/FormModal/component/componentField.js.map +1 -1
  207. package/dist/admin/components/FormModal/component/componentField.mjs.map +1 -1
  208. package/dist/admin/components/FormModal/component/componentForm.js.map +1 -1
  209. package/dist/admin/components/FormModal/component/componentForm.mjs.map +1 -1
  210. package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
  211. package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
  212. package/dist/admin/components/FormModal/contentType/contentTypeForm.js.map +1 -1
  213. package/dist/admin/components/FormModal/contentType/contentTypeForm.mjs.map +1 -1
  214. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js.map +1 -1
  215. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs.map +1 -1
  216. package/dist/admin/components/FormModal/dynamiczoneForm.js.map +1 -1
  217. package/dist/admin/components/FormModal/dynamiczoneForm.mjs.map +1 -1
  218. package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
  219. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
  220. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.js.map +1 -1
  221. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.mjs.map +1 -1
  222. package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -1
  223. package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs.map +1 -1
  224. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
  225. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
  226. package/dist/admin/components/FormModal/reducer.js.map +1 -1
  227. package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
  228. package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -1
  229. package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -1
  230. package/dist/admin/components/FormModal/utils/createUid.js.map +1 -1
  231. package/dist/admin/components/FormModal/utils/createUid.mjs.map +1 -1
  232. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js.map +1 -1
  233. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs.map +1 -1
  234. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -1
  235. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -1
  236. package/dist/admin/components/FormModal/utils/getFormInputNames.js.map +1 -1
  237. package/dist/admin/components/FormModal/utils/getFormInputNames.mjs.map +1 -1
  238. package/dist/admin/components/FormModal/utils/relations.js.map +1 -1
  239. package/dist/admin/components/FormModal/utils/relations.mjs.map +1 -1
  240. package/dist/admin/components/FormModalEndActions.js.map +1 -1
  241. package/dist/admin/components/FormModalEndActions.mjs.map +1 -1
  242. package/dist/admin/components/FormModalHeader.js.map +1 -1
  243. package/dist/admin/components/FormModalHeader.mjs.map +1 -1
  244. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -1
  245. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -1
  246. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -1
  247. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -1
  248. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -1
  249. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -1
  250. package/dist/admin/components/FormModalSubHeader.js.map +1 -1
  251. package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
  252. package/dist/admin/components/GenericInputs.js +1 -5
  253. package/dist/admin/components/GenericInputs.js.map +1 -1
  254. package/dist/admin/components/GenericInputs.mjs +1 -5
  255. package/dist/admin/components/GenericInputs.mjs.map +1 -1
  256. package/dist/admin/components/IconPicker/IconPicker.js.map +1 -1
  257. package/dist/admin/components/IconPicker/IconPicker.mjs +1 -1
  258. package/dist/admin/components/IconPicker/IconPicker.mjs.map +1 -1
  259. package/dist/admin/components/IconPicker/constants.js.map +1 -1
  260. package/dist/admin/components/IconPicker/constants.mjs.map +1 -1
  261. package/dist/admin/components/List.js.map +1 -1
  262. package/dist/admin/components/List.mjs +1 -1
  263. package/dist/admin/components/List.mjs.map +1 -1
  264. package/dist/admin/components/PluralName.js.map +1 -1
  265. package/dist/admin/components/PluralName.mjs.map +1 -1
  266. package/dist/admin/components/Relation/Relation.js.map +1 -1
  267. package/dist/admin/components/Relation/Relation.mjs.map +1 -1
  268. package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
  269. package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
  270. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
  271. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
  272. package/dist/admin/components/Relation/RelationNaturePicker/Components.js.map +1 -1
  273. package/dist/admin/components/Relation/RelationNaturePicker/Components.mjs.map +1 -1
  274. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
  275. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +1 -1
  276. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
  277. package/dist/admin/components/SelectCategory.js.map +1 -1
  278. package/dist/admin/components/SelectCategory.mjs.map +1 -1
  279. package/dist/admin/components/SelectComponent.js.map +1 -1
  280. package/dist/admin/components/SelectComponent.mjs.map +1 -1
  281. package/dist/admin/components/SelectComponents.js.map +1 -1
  282. package/dist/admin/components/SelectComponents.mjs.map +1 -1
  283. package/dist/admin/components/SelectDateType.js.map +1 -1
  284. package/dist/admin/components/SelectDateType.mjs.map +1 -1
  285. package/dist/admin/components/SelectNumber.js.map +1 -1
  286. package/dist/admin/components/SelectNumber.mjs.map +1 -1
  287. package/dist/admin/components/SingularName.js.map +1 -1
  288. package/dist/admin/components/SingularName.mjs.map +1 -1
  289. package/dist/admin/components/Status.js.map +1 -1
  290. package/dist/admin/components/Status.mjs.map +1 -1
  291. package/dist/admin/components/TabForm.js.map +1 -1
  292. package/dist/admin/components/TabForm.mjs.map +1 -1
  293. package/dist/admin/components/TextareaEnum.js.map +1 -1
  294. package/dist/admin/components/TextareaEnum.mjs.map +1 -1
  295. package/dist/admin/constants.js.map +1 -1
  296. package/dist/admin/constants.mjs.map +1 -1
  297. package/dist/admin/icons/Curve.js.map +1 -1
  298. package/dist/admin/icons/Curve.mjs.map +1 -1
  299. package/dist/admin/index.js.map +1 -1
  300. package/dist/admin/index.mjs.map +1 -1
  301. package/dist/admin/pages/App/index.js.map +1 -1
  302. package/dist/admin/pages/App/index.mjs.map +1 -1
  303. package/dist/admin/pages/ListView/EmptyState.js.map +1 -1
  304. package/dist/admin/pages/ListView/EmptyState.mjs +1 -1
  305. package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -1
  306. package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -1
  307. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -1
  308. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  309. package/dist/admin/pages/ListView/ListView.mjs +1 -1
  310. package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
  311. package/dist/admin/reducers.js +4 -4
  312. package/dist/admin/reducers.js.map +1 -1
  313. package/dist/admin/reducers.mjs +4 -4
  314. package/dist/admin/reducers.mjs.map +1 -1
  315. package/dist/admin/utils/conditions.js.map +1 -1
  316. package/dist/admin/utils/conditions.mjs.map +1 -1
  317. package/dist/admin/utils/findAttribute.js.map +1 -1
  318. package/dist/admin/utils/findAttribute.mjs.map +1 -1
  319. package/dist/admin/utils/formAPI.js.map +1 -1
  320. package/dist/admin/utils/formAPI.mjs.map +1 -1
  321. package/dist/admin/utils/getAttributeDisplayedType.js.map +1 -1
  322. package/dist/admin/utils/getAttributeDisplayedType.mjs.map +1 -1
  323. package/dist/admin/utils/getMaxDepth.js.map +1 -1
  324. package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
  325. package/dist/admin/utils/getRelationType.js.map +1 -1
  326. package/dist/admin/utils/getRelationType.mjs.map +1 -1
  327. package/dist/admin/utils/getTrad.js.map +1 -1
  328. package/dist/admin/utils/getTrad.mjs.map +1 -1
  329. package/dist/admin/utils/getYupInnerErrors.js.map +1 -1
  330. package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -1
  331. package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -1
  332. package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -1
  333. package/dist/admin/utils/makeUnique.js.map +1 -1
  334. package/dist/admin/utils/makeUnique.mjs.map +1 -1
  335. package/dist/admin/utils/nameToSlug.js.map +1 -1
  336. package/dist/admin/utils/nameToSlug.mjs.map +1 -1
  337. package/dist/admin/utils/parseDateValue.js.map +1 -1
  338. package/dist/admin/utils/parseDateValue.mjs.map +1 -1
  339. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
  340. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
  341. package/dist/admin/utils/timeFormat.js.map +1 -1
  342. package/dist/admin/utils/timeFormat.mjs.map +1 -1
  343. package/dist/admin/utils/toRegressedEnumValue.js.map +1 -1
  344. package/dist/admin/utils/toRegressedEnumValue.mjs.map +1 -1
  345. package/dist/server/bootstrap.js.map +1 -1
  346. package/dist/server/bootstrap.mjs.map +1 -1
  347. package/dist/server/config.js.map +1 -1
  348. package/dist/server/config.mjs.map +1 -1
  349. package/dist/server/controllers/builder.js.map +1 -1
  350. package/dist/server/controllers/builder.mjs.map +1 -1
  351. package/dist/server/controllers/component-categories.js.map +1 -1
  352. package/dist/server/controllers/component-categories.mjs.map +1 -1
  353. package/dist/server/controllers/components.js.map +1 -1
  354. package/dist/server/controllers/components.mjs +1 -1
  355. package/dist/server/controllers/components.mjs.map +1 -1
  356. package/dist/server/controllers/content-types.js.map +1 -1
  357. package/dist/server/controllers/content-types.mjs +1 -1
  358. package/dist/server/controllers/content-types.mjs.map +1 -1
  359. package/dist/server/controllers/index.js.map +1 -1
  360. package/dist/server/controllers/index.mjs.map +1 -1
  361. package/dist/server/controllers/schema.js.map +1 -1
  362. package/dist/server/controllers/schema.mjs.map +1 -1
  363. package/dist/server/controllers/validation/common.js.map +1 -1
  364. package/dist/server/controllers/validation/common.mjs.map +1 -1
  365. package/dist/server/controllers/validation/component-category.js.map +1 -1
  366. package/dist/server/controllers/validation/component-category.mjs.map +1 -1
  367. package/dist/server/controllers/validation/component.js.map +1 -1
  368. package/dist/server/controllers/validation/component.mjs +1 -1
  369. package/dist/server/controllers/validation/component.mjs.map +1 -1
  370. package/dist/server/controllers/validation/content-type.js.map +1 -1
  371. package/dist/server/controllers/validation/content-type.mjs.map +1 -1
  372. package/dist/server/controllers/validation/data-transform.js.map +1 -1
  373. package/dist/server/controllers/validation/data-transform.mjs.map +1 -1
  374. package/dist/server/controllers/validation/model-schema.js.map +1 -1
  375. package/dist/server/controllers/validation/model-schema.mjs.map +1 -1
  376. package/dist/server/controllers/validation/relations.js.map +1 -1
  377. package/dist/server/controllers/validation/relations.mjs.map +1 -1
  378. package/dist/server/controllers/validation/schema.js.map +1 -1
  379. package/dist/server/controllers/validation/schema.mjs +1 -1
  380. package/dist/server/controllers/validation/schema.mjs.map +1 -1
  381. package/dist/server/controllers/validation/types.js +0 -1
  382. package/dist/server/controllers/validation/types.js.map +1 -1
  383. package/dist/server/controllers/validation/types.mjs +1 -2
  384. package/dist/server/controllers/validation/types.mjs.map +1 -1
  385. package/dist/server/index.js +8 -8
  386. package/dist/server/middlewares/is-development-mode.js.map +1 -1
  387. package/dist/server/middlewares/is-development-mode.mjs.map +1 -1
  388. package/dist/server/register.js.map +1 -1
  389. package/dist/server/register.mjs.map +1 -1
  390. package/dist/server/routes/admin.js.map +1 -1
  391. package/dist/server/routes/admin.mjs.map +1 -1
  392. package/dist/server/routes/content-api.js.map +1 -1
  393. package/dist/server/routes/content-api.mjs.map +1 -1
  394. package/dist/server/routes/index.js.map +1 -1
  395. package/dist/server/routes/index.mjs.map +1 -1
  396. package/dist/server/services/api-handler.js.map +1 -1
  397. package/dist/server/services/api-handler.mjs.map +1 -1
  398. package/dist/server/services/builder.js.map +1 -1
  399. package/dist/server/services/builder.mjs.map +1 -1
  400. package/dist/server/services/component-categories.js.map +1 -1
  401. package/dist/server/services/component-categories.mjs +1 -1
  402. package/dist/server/services/component-categories.mjs.map +1 -1
  403. package/dist/server/services/components.js.map +1 -1
  404. package/dist/server/services/components.mjs +1 -1
  405. package/dist/server/services/components.mjs.map +1 -1
  406. package/dist/server/services/constants.js.map +1 -1
  407. package/dist/server/services/constants.mjs.map +1 -1
  408. package/dist/server/services/content-types.js.map +1 -1
  409. package/dist/server/services/content-types.mjs +1 -1
  410. package/dist/server/services/content-types.mjs.map +1 -1
  411. package/dist/server/services/index.js.map +1 -1
  412. package/dist/server/services/index.mjs.map +1 -1
  413. package/dist/server/services/schema-builder/component-builder.js.map +1 -1
  414. package/dist/server/services/schema-builder/component-builder.mjs +1 -1
  415. package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
  416. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
  417. package/dist/server/services/schema-builder/content-type-builder.mjs +2 -2
  418. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
  419. package/dist/server/services/schema-builder/index.js.map +1 -1
  420. package/dist/server/services/schema-builder/index.mjs +3 -3
  421. package/dist/server/services/schema-builder/index.mjs.map +1 -1
  422. package/dist/server/services/schema-builder/schema-handler.js.map +1 -1
  423. package/dist/server/services/schema-builder/schema-handler.mjs.map +1 -1
  424. package/dist/server/services/schema.js.map +1 -1
  425. package/dist/server/services/schema.mjs +1 -1
  426. package/dist/server/services/schema.mjs.map +1 -1
  427. package/dist/server/utils/attributes.js.map +1 -1
  428. package/dist/server/utils/attributes.mjs.map +1 -1
  429. package/dist/server/utils/index.js.map +1 -1
  430. package/dist/server/utils/index.mjs.map +1 -1
  431. package/dist/server/utils/typeguards.js.map +1 -1
  432. package/dist/server/utils/typeguards.mjs.map +1 -1
  433. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sources":["../../../../server/src/controllers/validation/schema.ts"],"sourcesContent":["import { z } from 'zod';\nimport { strings, validateZod } from '@strapi/utils';\nimport type { Struct, UID } from '@strapi/types';\nimport { isArray, isNil, isNull, isNumber, isObject, isUndefined, snakeCase } from 'lodash/fp';\n\nimport { isReservedAttributeName, isReservedModelName } from '../../services/builder';\nimport { coreUids, typeKinds, VALID_UID_TARGETS } from '../../services/constants';\n\nimport {\n CATEGORY_NAME_REGEX,\n ICON_REGEX,\n COLLECTION_NAME_REGEX,\n KEBAB_BASE_REGEX,\n NAME_REGEX,\n} from './common';\n\ntype SchemaMeta =\n | {\n modelType: 'contentType';\n kind?: Struct.ContentTypeKind;\n }\n | {\n modelType: 'component';\n };\n\nconst uniqueAttributeName: z.SuperRefinement<{ name: string }[]> = (attributes, ctx) => {\n const names = new Set(attributes.map((attribute) => snakeCase(attribute.name)));\n if (names.size !== attributes.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Attributes must have unique names',\n });\n }\n};\n\nconst verifyUidTargetField: z.SuperRefinement<\n {\n action: 'create' | 'update' | 'delete';\n name: string;\n properties?: {\n type: unknown;\n targetField?: string | null;\n };\n }[]\n> = (attributes, ctx) => {\n attributes.forEach((attribute) => {\n if (!attribute.properties) {\n return;\n }\n\n const { properties, action } = attribute;\n\n if (properties.type === 'uid' && properties.targetField) {\n const targetAttr = attributes.find((attr) => attr.name === properties.targetField);\n\n if (!targetAttr) {\n // NOTE: on update we are setting it to undefined later in the process instead to handle renames\n if (action === 'create') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Target does not exist',\n });\n }\n } else if (\n !VALID_UID_TARGETS.some((validUIdTarget) => validUIdTarget === targetAttr.properties?.type)\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Invalid target type',\n });\n }\n }\n });\n};\n\nconst verifySingularAndPluralNames: z.SuperRefinement<Record<string, unknown>> = (obj, ctx) => {\n // singular and plural can only be provided on creation\n if (obj.action !== 'create') {\n return;\n }\n\n if (obj.singularName === obj.pluralName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Singular and plural names must be different',\n path: ['singularName'],\n });\n }\n};\n\nexport const maxLengthGreaterThanMinLength: z.SuperRefinement<Record<string, unknown>> = (\n value,\n ctx\n) => {\n if (\n !isNil(value.maxLength) &&\n !isNil(value.minLength) &&\n isNumber(value.maxLength) &&\n isNumber(value.minLength)\n ) {\n if (value.maxLength < value.minLength) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'maxLength must be greater or equal to minLength',\n path: ['maxLength'],\n });\n }\n }\n};\n\nexport const maxGreaterThanMin: z.SuperRefinement<Record<string, unknown>> = (value, ctx) => {\n if (!isNil(value.max) && !isNil(value.min) && isNumber(value.max) && isNumber(value.min)) {\n if (value.max < value.min) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'max must be greater or equal to min',\n path: ['max'],\n });\n }\n }\n};\n\nconst checkUserTarget: z.SuperRefinement<{\n type: string;\n target?: string;\n relation?: string;\n targetAttribute?: string | null;\n}> = (value, ctx) => {\n if (value.type !== 'relation') {\n return;\n }\n\n if (isUndefined(value.target) || isUndefined(value.relation)) {\n return;\n }\n\n const { target, relation, targetAttribute } = value;\n\n if (\n target === coreUids.STRAPI_USER &&\n (!STRAPI_USER_RELATIONS.includes(relation) || !isUndefined(targetAttribute))\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['relation'],\n message: `Relations to ${coreUids.STRAPI_USER} must be one of the following values: ${STRAPI_USER_RELATIONS.join(', ')} without targetAttribute`,\n });\n }\n};\n\nconst uidRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n targetField?: string | null;\n}> = (value, ctx) => {\n if (!isNil(value.targetField) && !isNil(value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Cannot define a default UID if the targetField is set',\n path: ['default'],\n });\n }\n};\n\nconst enumRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n enum?: string[];\n}> = (value, ctx) => {\n if (value.type === 'enumeration' && !isNil(value.default) && !isNil(value.enum)) {\n if (value.default === '' || !value.enum.some((v) => v === value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Default value must be one of the enum values',\n path: ['default'],\n });\n }\n }\n};\n\nconst conditionSchema = z.object({\n visible: z.record(z.string(), z.array(z.any())),\n});\n\nconst basePropertiesSchema = z.object({\n type: z.enum([\n 'string',\n 'text',\n 'richtext',\n 'blocks',\n 'json',\n 'enumeration',\n 'password',\n 'email',\n 'integer',\n 'biginteger',\n 'float',\n 'decimal',\n 'time',\n 'datetime',\n 'date',\n 'timestamp',\n 'boolean',\n 'component',\n 'uid',\n 'customField',\n 'media',\n 'relation',\n 'dynamiczone',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst maxLengthSchema = z.number().int().positive().optional();\nconst minLengthSchema = z.number().int().positive().optional();\n\nconst requiredSchema = z.boolean().optional();\nconst uniqueSchema = z.boolean().optional();\n\nconst STRAPI_USER_RELATIONS = ['oneToOne', 'oneToMany'];\n\nconst baseRelationSchema = z.object({\n type: z.literal('relation'),\n relation: z.enum([\n 'oneToOne',\n 'oneToMany',\n 'manyToOne',\n 'manyToMany',\n 'morphOne',\n 'morphMany',\n 'morphToOne',\n 'morphToMany',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst oneToOneSchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst oneWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n});\n\nconst oneToManySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n});\n\nconst manyToOneSchema = baseRelationSchema.extend({\n relation: z.literal('manyToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyToManySchema = baseRelationSchema.extend({\n relation: z.literal('manyToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphManySchema = baseRelationSchema.extend({\n relation: z.literal('morphMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphToOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphToOne'),\n});\n\nconst morphToManySchema = baseRelationSchema.extend({\n relation: z.literal('morphToMany'),\n});\n\nconst createRelationSchema = (meta: SchemaMeta) => {\n switch (meta.modelType) {\n case 'contentType': {\n switch (meta.kind) {\n case 'singleType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n\n case 'collectionType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n manyToOneSchema,\n manyToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n default:\n throw new Error('Invalid content type kind');\n }\n }\n\n case 'component': {\n return z.discriminatedUnion('relation', [oneWaySchema, manyWaySchema]);\n }\n default:\n throw new Error('Invalid model type');\n }\n};\n\nconst richTextSchema = basePropertiesSchema.extend({\n type: z.literal('richtext'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().optional(),\n});\n\nconst blocksSchema = basePropertiesSchema.extend({\n type: z.literal('blocks'),\n required: requiredSchema,\n});\n\nconst jsonSchema = basePropertiesSchema.extend({\n type: z.literal('json'),\n required: requiredSchema,\n default: z\n .unknown()\n .optional()\n .refine((value) => {\n if (value === undefined) {\n return true;\n }\n\n if (isNumber(value) || isNull(value) || isObject(value) || isArray(value)) {\n return true;\n }\n\n try {\n JSON.parse(value as string);\n\n return true;\n } catch (err) {\n return false;\n }\n }),\n});\n\nconst enumerationSchema = basePropertiesSchema.extend({\n type: z.literal('enumeration'),\n required: requiredSchema,\n default: z.string().optional(),\n enumName: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || NAME_REGEX.test(value as string);\n }, 'Invalid enum name'),\n enum: z\n .array(\n z.string().refine((value) => {\n return value === '' || !strings.startsWithANumber(value as string);\n })\n )\n .min(1)\n .refine((values) => {\n const filtered = [...new Set(values)];\n return filtered.length === values.length;\n }),\n});\n\nconst textSchema = basePropertiesSchema.extend({\n type: z.literal('text'),\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n required: requiredSchema,\n unique: uniqueSchema,\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst stringSchema = textSchema.extend({\n type: z.literal('string'),\n});\n\nconst passwordSchema = basePropertiesSchema.extend({\n type: z.literal('password'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n});\n\nconst emailSchema = basePropertiesSchema.extend({\n type: z.literal('email'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().email().optional(),\n unique: uniqueSchema,\n});\n\nconst integerSchema = basePropertiesSchema.extend({\n type: z.literal('integer'),\n required: requiredSchema,\n default: z.number().int().optional(),\n unique: uniqueSchema,\n min: z.number().int().optional(),\n max: z.number().int().optional(),\n});\n\nconst bigIntegerSchema = basePropertiesSchema.extend({\n type: z.literal('biginteger'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().regex(/^\\d*$/).nullish(),\n min: z.string().regex(/^\\d*$/).nullish(),\n max: z.string().regex(/^\\d*$/).nullish(),\n});\n\nconst floatSchema = basePropertiesSchema.extend({\n type: z.literal('float'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst decimalSchema = basePropertiesSchema.extend({\n type: z.literal('decimal'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst timeSchema = basePropertiesSchema.extend({\n type: z.literal('time'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().optional(),\n});\n\nconst dateSchema = timeSchema.extend({\n type: z.literal('date'),\n});\n\nconst dateTimeSchema = timeSchema.extend({\n type: z.literal('datetime'),\n});\n\nconst timeStampSchema = basePropertiesSchema.extend({\n type: z.literal('timestamp'),\n});\n\nconst booleanSchema = basePropertiesSchema.extend({\n type: z.literal('boolean'),\n required: requiredSchema,\n default: z.boolean().optional(),\n});\n\nconst componentSchema = basePropertiesSchema.extend({\n type: z.literal('component'),\n component: z.string(),\n repeatable: z.boolean().optional(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst dynamicZoneSchema = basePropertiesSchema.extend({\n type: z.literal('dynamiczone'),\n components: z.array(z.string()).nonempty(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst mediaSchema = basePropertiesSchema.extend({\n type: z.literal('media'),\n multiple: z.boolean().optional(),\n required: requiredSchema,\n allowedTypes: z\n .array(z.enum(['images', 'videos', 'files', 'audios']))\n .nonempty()\n .optional(),\n});\n\nconst uidSchema = basePropertiesSchema.extend({\n type: z.literal('uid'),\n targetField: z.string().nullish(),\n required: requiredSchema,\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n options: z\n .object({\n separator: z.string().optional(),\n lowercase: z.boolean().optional(),\n decamelize: z.boolean().optional(),\n customReplacements: z.array(z.array(z.string()).length(2)).optional(),\n preserveLeadingUnderscore: z.boolean().optional(),\n })\n .optional(),\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst customFieldSchema = basePropertiesSchema.extend({\n type: z.literal('customField'),\n customField: z.string(),\n});\n\nconst attributePropertiesSchema = (meta: SchemaMeta) => {\n const relationSchema = createRelationSchema(meta);\n\n const base = z.union([\n mediaSchema,\n textSchema,\n stringSchema,\n richTextSchema,\n blocksSchema,\n jsonSchema,\n enumerationSchema,\n passwordSchema,\n emailSchema,\n integerSchema,\n bigIntegerSchema,\n floatSchema,\n decimalSchema,\n timeSchema,\n dateSchema,\n dateTimeSchema,\n timeStampSchema,\n booleanSchema,\n componentSchema,\n customFieldSchema.passthrough(),\n\n relationSchema,\n ]);\n\n if (meta.modelType === 'component') {\n return base\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n }\n\n return z\n .union([...base.options, uidSchema, dynamicZoneSchema])\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(uidRefinement)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n};\n\nconst createAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('create'),\n name: z\n .string()\n .regex(NAME_REGEX)\n .refine((value) => !isReservedAttributeName(value), 'Attribute name is reserved'),\n properties: attributePropertiesSchema(meta),\n });\n\nconst updateAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('update'),\n name: z.string(),\n properties: attributePropertiesSchema(meta),\n });\n\nconst deleteAttributeSchema = z.object({\n action: z.literal('delete'),\n name: z.string(),\n});\n\nconst contentTypeUIDSchema = z.custom<UID.ContentType>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst componentUIDSchema = z.custom<UID.Component>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst categorySchema = z.string().min(1).regex(CATEGORY_NAME_REGEX);\n\nconst baseComponentSchema = z.object({\n uid: componentUIDSchema,\n displayName: z.string().min(1),\n icon: z.string().regex(ICON_REGEX).optional(),\n description: z.string().optional(),\n category: categorySchema,\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createComponentSchema = baseComponentSchema.extend({\n action: z.literal('create'),\n config: z.record(z.string(), z.unknown()).optional().default({}),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'component',\n })\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst updateComponentSchema = baseComponentSchema.extend({\n action: z.literal('update'),\n category: categorySchema.optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'component',\n }),\n updateAttributeSchema({\n modelType: 'component',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst deleteComponentSchema = z.object({\n action: z.literal('delete'),\n uid: componentUIDSchema,\n});\n\nconst baseContentTypeSchema = z.object({\n uid: contentTypeUIDSchema,\n displayName: z.string().min(1),\n description: z.string().optional(),\n draftAndPublish: z.boolean(),\n options: z.record(z.unknown()).optional().default({}),\n pluginOptions: z.record(z.unknown()).optional().default({}),\n kind: z.enum([typeKinds.SINGLE_TYPE, typeKinds.COLLECTION_TYPE]).optional(),\n});\n\nconst baseCreateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('create'),\n collectionName: z.string().regex(COLLECTION_NAME_REGEX).optional(),\n singularName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n pluralName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n config: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createSingleTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst createCollectionTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst baseUpdateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('update'),\n});\n\nconst updateSingleTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE).optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst updateCollectionTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE).optional(),\n attributes: z\n .array(\n z.union([\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst deleteContentTypeSchema = z.object({\n action: z.literal('delete'),\n uid: contentTypeUIDSchema,\n});\n\nconst schemaSchema = z.object({\n components: z\n .array(z.union([createComponentSchema, updateComponentSchema, deleteComponentSchema]))\n .optional()\n .default([]),\n contentTypes: z\n .array(\n z\n .union([\n createSingleTypeSchema,\n createCollectionTypeSchema,\n updateSingleTypeSchema,\n updateCollectionTypeSchema,\n deleteContentTypeSchema,\n ])\n .superRefine(verifySingularAndPluralNames)\n )\n .optional()\n .default([]),\n});\n\ntype CreateComponentType = z.infer<typeof createComponentSchema>;\ntype UpdateComponentType = z.infer<typeof updateComponentSchema>;\ntype DeleteComponentType = z.infer<typeof deleteComponentSchema>;\ntype CreateCollectionType = z.infer<typeof createCollectionTypeSchema>;\ntype CreateSingleType = z.infer<typeof createSingleTypeSchema>;\ntype UpdateSingleType = z.infer<typeof updateSingleTypeSchema>;\ntype UpdateCollectionType = z.infer<typeof updateCollectionTypeSchema>;\ntype DeleteContentType = z.infer<typeof deleteContentTypeSchema>;\n\nexport type Schema = {\n components: Array<CreateComponentType | UpdateComponentType | DeleteComponentType>;\n contentTypes: Array<\n | CreateSingleType\n | CreateCollectionType\n | UpdateSingleType\n | UpdateCollectionType\n | DeleteContentType\n >;\n};\n\nexport const validateUpdateSchema = validateZod(\n z.object(\n {\n data: schemaSchema,\n },\n {\n invalid_type_error: 'Invalid schema, expected an object with a data property',\n required_error: 'Schema is required',\n }\n )\n);\n"],"names":["uniqueAttributeName","attributes","ctx","names","Set","map","attribute","snakeCase","name","size","length","addIssue","code","z","ZodIssueCode","custom","message","verifyUidTargetField","forEach","properties","action","type","targetField","targetAttr","find","attr","VALID_UID_TARGETS","some","validUIdTarget","verifySingularAndPluralNames","obj","singularName","pluralName","path","maxLengthGreaterThanMinLength","value","isNil","maxLength","minLength","isNumber","maxGreaterThanMin","max","min","checkUserTarget","isUndefined","target","relation","targetAttribute","coreUids","STRAPI_USER","STRAPI_USER_RELATIONS","includes","join","uidRefinement","default","enumRefinement","enum","v","conditionSchema","object","visible","record","string","array","any","basePropertiesSchema","configurable","boolean","nullish","private","pluginOptions","unknown","optional","conditions","preprocess","val","maxLengthSchema","number","int","positive","minLengthSchema","requiredSchema","uniqueSchema","baseRelationSchema","literal","oneToOneSchema","extend","oneWaySchema","oneToManySchema","manyWaySchema","manyToOneSchema","manyToManySchema","morphOneSchema","morphManySchema","morphToOneSchema","morphToManySchema","createRelationSchema","meta","modelType","kind","discriminatedUnion","Error","richTextSchema","required","blocksSchema","jsonSchema","refine","undefined","isNull","isObject","isArray","JSON","parse","err","enumerationSchema","enumName","NAME_REGEX","test","strings","startsWithANumber","values","filtered","textSchema","unique","regex","RegExp","stringSchema","passwordSchema","emailSchema","email","integerSchema","bigIntegerSchema","floatSchema","decimalSchema","timeSchema","dateSchema","dateTimeSchema","timeStampSchema","booleanSchema","componentSchema","component","repeatable","dynamicZoneSchema","components","nonempty","mediaSchema","multiple","allowedTypes","uidSchema","options","separator","lowercase","decamelize","customReplacements","preserveLeadingUnderscore","customFieldSchema","customField","attributePropertiesSchema","relationSchema","base","union","passthrough","superRefine","createAttributeSchema","isReservedAttributeName","updateAttributeSchema","deleteAttributeSchema","contentTypeUIDSchema","componentUIDSchema","categorySchema","CATEGORY_NAME_REGEX","baseComponentSchema","uid","displayName","icon","ICON_REGEX","description","category","createComponentSchema","config","updateComponentSchema","deleteComponentSchema","baseContentTypeSchema","draftAndPublish","typeKinds","SINGLE_TYPE","COLLECTION_TYPE","baseCreateContentTypeSchema","collectionName","COLLECTION_NAME_REGEX","KEBAB_BASE_REGEX","isReservedModelName","createSingleTypeSchema","createCollectionTypeSchema","baseUpdateContentTypeSchema","updateSingleTypeSchema","updateCollectionTypeSchema","deleteContentTypeSchema","schemaSchema","contentTypes","validateUpdateSchema","validateZod","data","invalid_type_error","required_error"],"mappings":";;;;;;;;;AAyBA,MAAMA,mBAAAA,GAA6D,CAACC,UAAYC,EAAAA,GAAAA,GAAAA;IAC9E,MAAMC,KAAAA,GAAQ,IAAIC,GAAAA,CAAIH,UAAWI,CAAAA,GAAG,CAAC,CAACC,SAAAA,GAAcC,YAAUD,CAAAA,SAAAA,CAAUE,IAAI,CAAA,CAAA,CAAA;AAC5E,IAAA,IAAIL,KAAMM,CAAAA,IAAI,KAAKR,UAAAA,CAAWS,MAAM,EAAE;AACpCR,QAAAA,GAAAA,CAAIS,QAAQ,CAAC;YACXC,IAAMC,EAAAA,KAAAA,CAAEC,YAAY,CAACC,MAAM;YAC3BC,OAAS,EAAA;AACX,SAAA,CAAA;AACF;AACF,CAAA;AAEA,MAAMC,oBAAAA,GASF,CAAChB,UAAYC,EAAAA,GAAAA,GAAAA;IACfD,UAAWiB,CAAAA,OAAO,CAAC,CAACZ,SAAAA,GAAAA;QAClB,IAAI,CAACA,SAAUa,CAAAA,UAAU,EAAE;AACzB,YAAA;AACF;AAEA,QAAA,MAAM,EAAEA,UAAU,EAAEC,MAAM,EAAE,GAAGd,SAAAA;AAE/B,QAAA,IAAIa,WAAWE,IAAI,KAAK,KAASF,IAAAA,UAAAA,CAAWG,WAAW,EAAE;YACvD,MAAMC,UAAAA,GAAatB,UAAWuB,CAAAA,IAAI,CAAC,CAACC,OAASA,IAAKjB,CAAAA,IAAI,KAAKW,UAAAA,CAAWG,WAAW,CAAA;AAEjF,YAAA,IAAI,CAACC,UAAY,EAAA;;AAEf,gBAAA,IAAIH,WAAW,QAAU,EAAA;AACvBlB,oBAAAA,GAAAA,CAAIS,QAAQ,CAAC;wBACXC,IAAMC,EAAAA,KAAAA,CAAEC,YAAY,CAACC,MAAM;wBAC3BC,OAAS,EAAA;AACX,qBAAA,CAAA;AACF;aACK,MAAA,IACL,CAACU,2BAAAA,CAAkBC,IAAI,CAAC,CAACC,cAAAA,GAAmBA,cAAmBL,KAAAA,UAAAA,CAAWJ,UAAU,EAAEE,IACtF,CAAA,EAAA;AACAnB,gBAAAA,GAAAA,CAAIS,QAAQ,CAAC;oBACXC,IAAMC,EAAAA,KAAAA,CAAEC,YAAY,CAACC,MAAM;oBAC3BC,OAAS,EAAA;AACX,iBAAA,CAAA;AACF;AACF;AACF,KAAA,CAAA;AACF,CAAA;AAEA,MAAMa,4BAAAA,GAA2E,CAACC,GAAK5B,EAAAA,GAAAA,GAAAA;;IAErF,IAAI4B,GAAAA,CAAIV,MAAM,KAAK,QAAU,EAAA;AAC3B,QAAA;AACF;AAEA,IAAA,IAAIU,GAAIC,CAAAA,YAAY,KAAKD,GAAAA,CAAIE,UAAU,EAAE;AACvC9B,QAAAA,GAAAA,CAAIS,QAAQ,CAAC;YACXC,IAAMC,EAAAA,KAAAA,CAAEC,YAAY,CAACC,MAAM;YAC3BC,OAAS,EAAA,6CAAA;YACTiB,IAAM,EAAA;AAAC,gBAAA;AAAe;AACxB,SAAA,CAAA;AACF;AACF,CAAA;AAEO,MAAMC,6BAA4E,GAAA,CACvFC,KACAjC,EAAAA,GAAAA,GAAAA;AAEA,IAAA,IACE,CAACkC,QAAMD,CAAAA,KAAAA,CAAME,SAAS,CAAA,IACtB,CAACD,QAAMD,CAAAA,KAAAA,CAAMG,SAAS,CAAA,IACtBC,YAASJ,KAAME,CAAAA,SAAS,KACxBE,WAASJ,CAAAA,KAAAA,CAAMG,SAAS,CACxB,EAAA;AACA,QAAA,IAAIH,KAAME,CAAAA,SAAS,GAAGF,KAAAA,CAAMG,SAAS,EAAE;AACrCpC,YAAAA,GAAAA,CAAIS,QAAQ,CAAC;gBACXC,IAAMC,EAAAA,KAAAA,CAAEC,YAAY,CAACC,MAAM;gBAC3BC,OAAS,EAAA,iDAAA;gBACTiB,IAAM,EAAA;AAAC,oBAAA;AAAY;AACrB,aAAA,CAAA;AACF;AACF;AACF;AAEO,MAAMO,iBAAgE,GAAA,CAACL,KAAOjC,EAAAA,GAAAA,GAAAA;AACnF,IAAA,IAAI,CAACkC,QAAMD,CAAAA,KAAAA,CAAMM,GAAG,CAAA,IAAK,CAACL,QAAMD,CAAAA,KAAAA,CAAMO,GAAG,CAAA,IAAKH,YAASJ,KAAMM,CAAAA,GAAG,KAAKF,WAASJ,CAAAA,KAAAA,CAAMO,GAAG,CAAG,EAAA;AACxF,QAAA,IAAIP,KAAMM,CAAAA,GAAG,GAAGN,KAAAA,CAAMO,GAAG,EAAE;AACzBxC,YAAAA,GAAAA,CAAIS,QAAQ,CAAC;gBACXC,IAAMC,EAAAA,KAAAA,CAAEC,YAAY,CAACC,MAAM;gBAC3BC,OAAS,EAAA,qCAAA;gBACTiB,IAAM,EAAA;AAAC,oBAAA;AAAM;AACf,aAAA,CAAA;AACF;AACF;AACF;AAEA,MAAMU,eAAAA,GAKD,CAACR,KAAOjC,EAAAA,GAAAA,GAAAA;IACX,IAAIiC,KAAAA,CAAMd,IAAI,KAAK,UAAY,EAAA;AAC7B,QAAA;AACF;AAEA,IAAA,IAAIuB,eAAYT,KAAMU,CAAAA,MAAM,KAAKD,cAAYT,CAAAA,KAAAA,CAAMW,QAAQ,CAAG,EAAA;AAC5D,QAAA;AACF;AAEA,IAAA,MAAM,EAAED,MAAM,EAAEC,QAAQ,EAAEC,eAAe,EAAE,GAAGZ,KAAAA;AAE9C,IAAA,IACEU,MAAWG,KAAAA,kBAAAA,CAASC,WAAW,KAC9B,CAACC,qBAAsBC,CAAAA,QAAQ,CAACL,QAAAA,CAAAA,IAAa,CAACF,cAAAA,CAAYG,gBAAe,CAC1E,EAAA;AACA7C,QAAAA,GAAAA,CAAIS,QAAQ,CAAC;YACXC,IAAMC,EAAAA,KAAAA,CAAEC,YAAY,CAACC,MAAM;YAC3BkB,IAAM,EAAA;AAAC,gBAAA;AAAW,aAAA;AAClBjB,YAAAA,OAAAA,EAAS,CAAC,aAAa,EAAEgC,kBAAAA,CAASC,WAAW,CAAC,sCAAsC,EAAEC,qBAAsBE,CAAAA,IAAI,CAAC,IAAA,CAAA,CAAM,wBAAwB;AACjJ,SAAA,CAAA;AACF;AACF,CAAA;AAEA,MAAMC,aAAAA,GAID,CAAClB,KAAOjC,EAAAA,GAAAA,GAAAA;IACX,IAAI,CAACkC,SAAMD,KAAMb,CAAAA,WAAW,KAAK,CAACc,QAAAA,CAAMD,KAAMmB,CAAAA,OAAO,CAAG,EAAA;AACtDpD,QAAAA,GAAAA,CAAIS,QAAQ,CAAC;YACXC,IAAMC,EAAAA,KAAAA,CAAEC,YAAY,CAACC,MAAM;YAC3BC,OAAS,EAAA,uDAAA;YACTiB,IAAM,EAAA;AAAC,gBAAA;AAAU;AACnB,SAAA,CAAA;AACF;AACF,CAAA;AAEA,MAAMsB,cAAAA,GAID,CAACpB,KAAOjC,EAAAA,GAAAA,GAAAA;AACX,IAAA,IAAIiC,KAAMd,CAAAA,IAAI,KAAK,aAAA,IAAiB,CAACe,QAAAA,CAAMD,KAAMmB,CAAAA,OAAO,CAAK,IAAA,CAAClB,QAAMD,CAAAA,KAAAA,CAAMqB,IAAI,CAAG,EAAA;AAC/E,QAAA,IAAIrB,KAAMmB,CAAAA,OAAO,KAAK,EAAA,IAAM,CAACnB,KAAMqB,CAAAA,IAAI,CAAC7B,IAAI,CAAC,CAAC8B,CAAAA,GAAMA,CAAMtB,KAAAA,KAAAA,CAAMmB,OAAO,CAAG,EAAA;AACxEpD,YAAAA,GAAAA,CAAIS,QAAQ,CAAC;gBACXC,IAAMC,EAAAA,KAAAA,CAAEC,YAAY,CAACC,MAAM;gBAC3BC,OAAS,EAAA,8CAAA;gBACTiB,IAAM,EAAA;AAAC,oBAAA;AAAU;AACnB,aAAA,CAAA;AACF;AACF;AACF,CAAA;AAEA,MAAMyB,eAAAA,GAAkB7C,KAAE8C,CAAAA,MAAM,CAAC;IAC/BC,OAAS/C,EAAAA,KAAAA,CAAEgD,MAAM,CAAChD,KAAEiD,CAAAA,MAAM,IAAIjD,KAAEkD,CAAAA,KAAK,CAAClD,KAAAA,CAAEmD,GAAG,EAAA,CAAA;AAC7C,CAAA,CAAA;AAEA,MAAMC,oBAAAA,GAAuBpD,KAAE8C,CAAAA,MAAM,CAAC;IACpCtC,IAAMR,EAAAA,KAAAA,CAAE2C,IAAI,CAAC;AACX,QAAA,QAAA;AACA,QAAA,MAAA;AACA,QAAA,UAAA;AACA,QAAA,QAAA;AACA,QAAA,MAAA;AACA,QAAA,aAAA;AACA,QAAA,UAAA;AACA,QAAA,OAAA;AACA,QAAA,SAAA;AACA,QAAA,YAAA;AACA,QAAA,OAAA;AACA,QAAA,SAAA;AACA,QAAA,MAAA;AACA,QAAA,UAAA;AACA,QAAA,MAAA;AACA,QAAA,WAAA;AACA,QAAA,SAAA;AACA,QAAA,WAAA;AACA,QAAA,KAAA;AACA,QAAA,aAAA;AACA,QAAA,OAAA;AACA,QAAA,UAAA;AACA,QAAA;AACD,KAAA,CAAA;IACDU,YAAcrD,EAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGC,OAAO,EAAA;IACjCC,OAASxD,EAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGC,OAAO,EAAA;AAC5BE,IAAAA,aAAAA,EAAezD,MAAEgD,MAAM,CAAChD,KAAE0D,CAAAA,OAAO,IAAIC,QAAQ,EAAA;IAC7CC,UAAY5D,EAAAA,KAAAA,CAAE6D,UAAU,CAAC,CAACC,GAAAA,GAAAA;QACxB,OAAOA,GAAAA;AACT,KAAA,EAAGjB,gBAAgBc,QAAQ,EAAA;AAC7B,CAAA,CAAA;AAEA,MAAMI,eAAAA,GAAkB/D,MAAEgE,MAAM,EAAA,CAAGC,GAAG,EAAGC,CAAAA,QAAQ,GAAGP,QAAQ,EAAA;AAC5D,MAAMQ,eAAAA,GAAkBnE,MAAEgE,MAAM,EAAA,CAAGC,GAAG,EAAGC,CAAAA,QAAQ,GAAGP,QAAQ,EAAA;AAE5D,MAAMS,cAAiBpE,GAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGK,QAAQ,EAAA;AAC3C,MAAMU,YAAerE,GAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGK,QAAQ,EAAA;AAEzC,MAAMtB,qBAAwB,GAAA;AAAC,IAAA,UAAA;AAAY,IAAA;AAAY,CAAA;AAEvD,MAAMiC,kBAAAA,GAAqBtE,KAAE8C,CAAAA,MAAM,CAAC;IAClCtC,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,UAAA,CAAA;IAChBtC,QAAUjC,EAAAA,KAAAA,CAAE2C,IAAI,CAAC;AACf,QAAA,UAAA;AACA,QAAA,WAAA;AACA,QAAA,WAAA;AACA,QAAA,YAAA;AACA,QAAA,UAAA;AACA,QAAA,WAAA;AACA,QAAA,YAAA;AACA,QAAA;AACD,KAAA,CAAA;IACDU,YAAcrD,EAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGC,OAAO,EAAA;IACjCC,OAASxD,EAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGC,OAAO,EAAA;AAC5BE,IAAAA,aAAAA,EAAezD,MAAEgD,MAAM,CAAChD,KAAE0D,CAAAA,OAAO,IAAIC,QAAQ,EAAA;IAC7CC,UAAY5D,EAAAA,KAAAA,CAAE6D,UAAU,CAAC,CAACC,GAAAA,GAAAA;QACxB,OAAOA,GAAAA;AACT,KAAA,EAAGjB,gBAAgBc,QAAQ,EAAA;AAC7B,CAAA,CAAA;AAEA,MAAMa,cAAAA,GAAiBF,kBAAmBG,CAAAA,MAAM,CAAC;IAC/CxC,QAAUjC,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,UAAA,CAAA;AACpBvC,IAAAA,MAAAA,EAAQhC,MAAEiD,MAAM,EAAA;IAChBf,eAAiBlC,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGM,OAAO;AACrC,CAAA,CAAA;AAEA,MAAMmB,YAAAA,GAAeJ,kBAAmBG,CAAAA,MAAM,CAAC;IAC7CxC,QAAUjC,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,UAAA,CAAA;AACpBvC,IAAAA,MAAAA,EAAQhC,MAAEiD,MAAM;AAClB,CAAA,CAAA;AAEA,MAAM0B,eAAAA,GAAkBL,kBAAmBG,CAAAA,MAAM,CAAC;IAChDxC,QAAUjC,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,WAAA,CAAA;AACpBvC,IAAAA,MAAAA,EAAQhC,MAAEiD,MAAM,EAAA;IAChBf,eAAiBlC,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGM,OAAO;AACrC,CAAA,CAAA;AAEA,MAAMqB,aAAAA,GAAgBN,kBAAmBG,CAAAA,MAAM,CAAC;IAC9CxC,QAAUjC,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,WAAA,CAAA;AACpBvC,IAAAA,MAAAA,EAAQhC,MAAEiD,MAAM;AAClB,CAAA,CAAA;AAEA,MAAM4B,eAAAA,GAAkBP,kBAAmBG,CAAAA,MAAM,CAAC;IAChDxC,QAAUjC,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,WAAA,CAAA;AACpBvC,IAAAA,MAAAA,EAAQhC,MAAEiD,MAAM,EAAA;IAChBf,eAAiBlC,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGM,OAAO;AACrC,CAAA,CAAA;AAEA,MAAMuB,gBAAAA,GAAmBR,kBAAmBG,CAAAA,MAAM,CAAC;IACjDxC,QAAUjC,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,YAAA,CAAA;AACpBvC,IAAAA,MAAAA,EAAQhC,MAAEiD,MAAM,EAAA;IAChBf,eAAiBlC,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGM,OAAO;AACrC,CAAA,CAAA;AAEA,MAAMwB,cAAAA,GAAiBT,kBAAmBG,CAAAA,MAAM,CAAC;IAC/CxC,QAAUjC,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,UAAA,CAAA;AACpBvC,IAAAA,MAAAA,EAAQhC,MAAEiD,MAAM,EAAA;IAChBf,eAAiBlC,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGM,OAAO;AACrC,CAAA,CAAA;AAEA,MAAMyB,eAAAA,GAAkBV,kBAAmBG,CAAAA,MAAM,CAAC;IAChDxC,QAAUjC,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,WAAA,CAAA;AACpBvC,IAAAA,MAAAA,EAAQhC,MAAEiD,MAAM,EAAA;IAChBf,eAAiBlC,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGM,OAAO;AACrC,CAAA,CAAA;AAEA,MAAM0B,gBAAAA,GAAmBX,kBAAmBG,CAAAA,MAAM,CAAC;IACjDxC,QAAUjC,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,YAAA;AACtB,CAAA,CAAA;AAEA,MAAMW,iBAAAA,GAAoBZ,kBAAmBG,CAAAA,MAAM,CAAC;IAClDxC,QAAUjC,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,aAAA;AACtB,CAAA,CAAA;AAEA,MAAMY,uBAAuB,CAACC,IAAAA,GAAAA;AAC5B,IAAA,OAAQA,KAAKC,SAAS;QACpB,KAAK,aAAA;AAAe,YAAA;AAClB,gBAAA,OAAQD,KAAKE,IAAI;oBACf,KAAK,YAAA;wBACH,OAAOtF,KAAAA,CAAEuF,kBAAkB,CAAC,UAAY,EAAA;AACtCf,4BAAAA,cAAAA;AACAG,4BAAAA,eAAAA;AACAI,4BAAAA,cAAAA;AACAC,4BAAAA,eAAAA;AACAC,4BAAAA,gBAAAA;AACAC,4BAAAA;AACD,yBAAA,CAAA;oBAEH,KAAK,gBAAA;wBACH,OAAOlF,KAAAA,CAAEuF,kBAAkB,CAAC,UAAY,EAAA;AACtCf,4BAAAA,cAAAA;AACAG,4BAAAA,eAAAA;AACAE,4BAAAA,eAAAA;AACAC,4BAAAA,gBAAAA;AACAC,4BAAAA,cAAAA;AACAC,4BAAAA,eAAAA;AACAC,4BAAAA,gBAAAA;AACAC,4BAAAA;AACD,yBAAA,CAAA;AACH,oBAAA;AACE,wBAAA,MAAM,IAAIM,KAAM,CAAA,2BAAA,CAAA;AACpB;AACF;QAEA,KAAK,WAAA;AAAa,YAAA;gBAChB,OAAOxF,KAAAA,CAAEuF,kBAAkB,CAAC,UAAY,EAAA;AAACb,oBAAAA,YAAAA;AAAcE,oBAAAA;AAAc,iBAAA,CAAA;AACvE;AACA,QAAA;AACE,YAAA,MAAM,IAAIY,KAAM,CAAA,oBAAA,CAAA;AACpB;AACF,CAAA;AAEA,MAAMC,cAAAA,GAAiBrC,oBAAqBqB,CAAAA,MAAM,CAAC;IACjDjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,UAAA,CAAA;IAChBmB,QAAUtB,EAAAA,cAAAA;IACV3C,SAAW0C,EAAAA,eAAAA;IACX3C,SAAWuC,EAAAA,eAAAA;IACXtB,OAASzC,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGU,QAAQ;AAC9B,CAAA,CAAA;AAEA,MAAMgC,YAAAA,GAAevC,oBAAqBqB,CAAAA,MAAM,CAAC;IAC/CjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,QAAA,CAAA;IAChBmB,QAAUtB,EAAAA;AACZ,CAAA,CAAA;AAEA,MAAMwB,UAAAA,GAAaxC,oBAAqBqB,CAAAA,MAAM,CAAC;IAC7CjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,MAAA,CAAA;IAChBmB,QAAUtB,EAAAA,cAAAA;AACV3B,IAAAA,OAAAA,EAASzC,MACN0D,OAAO,EAAA,CACPC,QAAQ,EACRkC,CAAAA,MAAM,CAAC,CAACvE,KAAAA,GAAAA;AACP,QAAA,IAAIA,UAAUwE,SAAW,EAAA;YACvB,OAAO,IAAA;AACT;AAEA,QAAA,IAAIpE,YAASJ,KAAUyE,CAAAA,IAAAA,SAAAA,CAAOzE,UAAU0E,WAAS1E,CAAAA,KAAAA,CAAAA,IAAU2E,WAAQ3E,KAAQ,CAAA,EAAA;YACzE,OAAO,IAAA;AACT;QAEA,IAAI;AACF4E,YAAAA,IAAAA,CAAKC,KAAK,CAAC7E,KAAAA,CAAAA;YAEX,OAAO,IAAA;AACT,SAAA,CAAE,OAAO8E,GAAK,EAAA;YACZ,OAAO,KAAA;AACT;AACF,KAAA;AACJ,CAAA,CAAA;AAEA,MAAMC,iBAAAA,GAAoBjD,oBAAqBqB,CAAAA,MAAM,CAAC;IACpDjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,aAAA,CAAA;IAChBmB,QAAUtB,EAAAA,cAAAA;IACV3B,OAASzC,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGU,QAAQ,EAAA;AAC5B2C,IAAAA,QAAAA,EAAUtG,MACPiD,MAAM,EAAA,CACNU,QAAQ,EACRkC,CAAAA,MAAM,CAAC,CAACvE,KAAAA,GAAAA;AACP,QAAA,OAAOA,KAAU,KAAA,EAAA,IAAMiF,iBAAWC,CAAAA,IAAI,CAAClF,KAAAA,CAAAA;KACtC,EAAA,mBAAA,CAAA;IACLqB,IAAM3C,EAAAA,KAAAA,CACHkD,KAAK,CACJlD,KAAAA,CAAEiD,MAAM,EAAG4C,CAAAA,MAAM,CAAC,CAACvE,KAAAA,GAAAA;AACjB,QAAA,OAAOA,KAAU,KAAA,EAAA,IAAM,CAACmF,aAAAA,CAAQC,iBAAiB,CAACpF,KAAAA,CAAAA;AACpD,KAAA,CAAA,CAAA,CAEDO,GAAG,CAAC,CACJgE,CAAAA,CAAAA,MAAM,CAAC,CAACc,MAAAA,GAAAA;AACP,QAAA,MAAMC,QAAW,GAAA;AAAI,YAAA,GAAA,IAAIrH,GAAIoH,CAAAA,MAAAA;AAAQ,SAAA;AACrC,QAAA,OAAOC,QAAS/G,CAAAA,MAAM,KAAK8G,MAAAA,CAAO9G,MAAM;AAC1C,KAAA;AACJ,CAAA,CAAA;AAEA,MAAMgH,UAAAA,GAAazD,oBAAqBqB,CAAAA,MAAM,CAAC;IAC7CjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,MAAA,CAAA;IAChB9B,OAASzC,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGM,OAAO,EAAA;IAC3B9B,SAAW0C,EAAAA,eAAAA;IACX3C,SAAWuC,EAAAA,eAAAA;IACX2B,QAAUtB,EAAAA,cAAAA;IACV0C,MAAQzC,EAAAA,YAAAA;AACR0C,IAAAA,KAAAA,EAAO/G,MACJiD,MAAM,EAAA,CACNU,QAAQ,EACRkC,CAAAA,MAAM,CAAC,CAACvE,KAAAA,GAAAA;AACP,QAAA,OAAOA,KAAU,KAAA,EAAA,IAAM,CAAC,CAAC,IAAI0F,MAAO1F,CAAAA,KAAAA,CAAAA;KACnC,EAAA,oCAAA;AACP,CAAA,CAAA;AAEA,MAAM2F,YAAAA,GAAeJ,UAAWpC,CAAAA,MAAM,CAAC;IACrCjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,QAAA;AAClB,CAAA,CAAA;AAEA,MAAM2C,cAAAA,GAAiB9D,oBAAqBqB,CAAAA,MAAM,CAAC;IACjDjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,UAAA,CAAA;IAChBmB,QAAUtB,EAAAA,cAAAA;IACV3C,SAAW0C,EAAAA,eAAAA;IACX3C,SAAWuC,EAAAA;AACb,CAAA,CAAA;AAEA,MAAMoD,WAAAA,GAAc/D,oBAAqBqB,CAAAA,MAAM,CAAC;IAC9CjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,OAAA,CAAA;IAChBmB,QAAUtB,EAAAA,cAAAA;IACV3C,SAAW0C,EAAAA,eAAAA;IACX3C,SAAWuC,EAAAA,eAAAA;AACXtB,IAAAA,OAAAA,EAASzC,KAAEiD,CAAAA,MAAM,EAAGmE,CAAAA,KAAK,GAAGzD,QAAQ,EAAA;IACpCmD,MAAQzC,EAAAA;AACV,CAAA,CAAA;AAEA,MAAMgD,aAAAA,GAAgBjE,oBAAqBqB,CAAAA,MAAM,CAAC;IAChDjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,SAAA,CAAA;IAChBmB,QAAUtB,EAAAA,cAAAA;AACV3B,IAAAA,OAAAA,EAASzC,KAAEgE,CAAAA,MAAM,EAAGC,CAAAA,GAAG,GAAGN,QAAQ,EAAA;IAClCmD,MAAQzC,EAAAA,YAAAA;AACRxC,IAAAA,GAAAA,EAAK7B,KAAEgE,CAAAA,MAAM,EAAGC,CAAAA,GAAG,GAAGN,QAAQ,EAAA;AAC9B/B,IAAAA,GAAAA,EAAK5B,KAAEgE,CAAAA,MAAM,EAAGC,CAAAA,GAAG,GAAGN,QAAQ;AAChC,CAAA,CAAA;AAEA,MAAM2D,gBAAAA,GAAmBlE,oBAAqBqB,CAAAA,MAAM,CAAC;IACnDjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,YAAA,CAAA;IAChBmB,QAAUtB,EAAAA,cAAAA;IACV0C,MAAQzC,EAAAA,YAAAA;AACR5B,IAAAA,OAAAA,EAASzC,MAAEiD,MAAM,EAAA,CAAG8D,KAAK,CAAC,SAASxD,OAAO,EAAA;AAC1C1B,IAAAA,GAAAA,EAAK7B,MAAEiD,MAAM,EAAA,CAAG8D,KAAK,CAAC,SAASxD,OAAO,EAAA;AACtC3B,IAAAA,GAAAA,EAAK5B,MAAEiD,MAAM,EAAA,CAAG8D,KAAK,CAAC,SAASxD,OAAO;AACxC,CAAA,CAAA;AAEA,MAAMgE,WAAAA,GAAcnE,oBAAqBqB,CAAAA,MAAM,CAAC;IAC9CjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,OAAA,CAAA;IAChBmB,QAAUtB,EAAAA,cAAAA;IACV0C,MAAQzC,EAAAA,YAAAA;IACR5B,OAASzC,EAAAA,KAAAA,CAAEgE,MAAM,EAAA,CAAGL,QAAQ,EAAA;IAC5B9B,GAAK7B,EAAAA,KAAAA,CAAEgE,MAAM,EAAA,CAAGL,QAAQ,EAAA;IACxB/B,GAAK5B,EAAAA,KAAAA,CAAEgE,MAAM,EAAA,CAAGL,QAAQ;AAC1B,CAAA,CAAA;AAEA,MAAM6D,aAAAA,GAAgBpE,oBAAqBqB,CAAAA,MAAM,CAAC;IAChDjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,SAAA,CAAA;IAChBmB,QAAUtB,EAAAA,cAAAA;IACV0C,MAAQzC,EAAAA,YAAAA;IACR5B,OAASzC,EAAAA,KAAAA,CAAEgE,MAAM,EAAA,CAAGL,QAAQ,EAAA;IAC5B9B,GAAK7B,EAAAA,KAAAA,CAAEgE,MAAM,EAAA,CAAGL,QAAQ,EAAA;IACxB/B,GAAK5B,EAAAA,KAAAA,CAAEgE,MAAM,EAAA,CAAGL,QAAQ;AAC1B,CAAA,CAAA;AAEA,MAAM8D,UAAAA,GAAarE,oBAAqBqB,CAAAA,MAAM,CAAC;IAC7CjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,MAAA,CAAA;IAChBmB,QAAUtB,EAAAA,cAAAA;IACV0C,MAAQzC,EAAAA,YAAAA;IACR5B,OAASzC,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGU,QAAQ;AAC9B,CAAA,CAAA;AAEA,MAAM+D,UAAAA,GAAaD,UAAWhD,CAAAA,MAAM,CAAC;IACnCjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,MAAA;AAClB,CAAA,CAAA;AAEA,MAAMoD,cAAAA,GAAiBF,UAAWhD,CAAAA,MAAM,CAAC;IACvCjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,UAAA;AAClB,CAAA,CAAA;AAEA,MAAMqD,eAAAA,GAAkBxE,oBAAqBqB,CAAAA,MAAM,CAAC;IAClDjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,WAAA;AAClB,CAAA,CAAA;AAEA,MAAMsD,aAAAA,GAAgBzE,oBAAqBqB,CAAAA,MAAM,CAAC;IAChDjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,SAAA,CAAA;IAChBmB,QAAUtB,EAAAA,cAAAA;IACV3B,OAASzC,EAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGK,QAAQ;AAC/B,CAAA,CAAA;AAEA,MAAMmE,eAAAA,GAAkB1E,oBAAqBqB,CAAAA,MAAM,CAAC;IAClDjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,WAAA,CAAA;AAChBwD,IAAAA,SAAAA,EAAW/H,MAAEiD,MAAM,EAAA;IACnB+E,UAAYhI,EAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGK,QAAQ,EAAA;IAChC+B,QAAUtB,EAAAA,cAAAA;IACVvC,GAAK7B,EAAAA,KAAAA,CAAEgE,MAAM,EAAA,CAAGL,QAAQ,EAAA;IACxB/B,GAAK5B,EAAAA,KAAAA,CAAEgE,MAAM,EAAA,CAAGL,QAAQ;AAC1B,CAAA,CAAA;AAEA,MAAMsE,iBAAAA,GAAoB7E,oBAAqBqB,CAAAA,MAAM,CAAC;IACpDjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,aAAA,CAAA;AAChB2D,IAAAA,UAAAA,EAAYlI,MAAEkD,KAAK,CAAClD,KAAEiD,CAAAA,MAAM,IAAIkF,QAAQ,EAAA;IACxCzC,QAAUtB,EAAAA,cAAAA;IACVvC,GAAK7B,EAAAA,KAAAA,CAAEgE,MAAM,EAAA,CAAGL,QAAQ,EAAA;IACxB/B,GAAK5B,EAAAA,KAAAA,CAAEgE,MAAM,EAAA,CAAGL,QAAQ;AAC1B,CAAA,CAAA;AAEA,MAAMyE,WAAAA,GAAchF,oBAAqBqB,CAAAA,MAAM,CAAC;IAC9CjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,OAAA,CAAA;IAChB8D,QAAUrI,EAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGK,QAAQ,EAAA;IAC9B+B,QAAUtB,EAAAA,cAAAA;AACVkE,IAAAA,YAAAA,EAActI,KACXkD,CAAAA,KAAK,CAAClD,KAAAA,CAAE2C,IAAI,CAAC;AAAC,QAAA,QAAA;AAAU,QAAA,QAAA;AAAU,QAAA,OAAA;AAAS,QAAA;KAAS,CACpDwF,CAAAA,CAAAA,QAAQ,GACRxE,QAAQ;AACb,CAAA,CAAA;AAEA,MAAM4E,SAAAA,GAAYnF,oBAAqBqB,CAAAA,MAAM,CAAC;IAC5CjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,KAAA,CAAA;IAChB9D,WAAaT,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGM,OAAO,EAAA;IAC/BmC,QAAUtB,EAAAA,cAAAA;IACV3B,OAASzC,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGM,OAAO,EAAA;IAC3B9B,SAAW0C,EAAAA,eAAAA;IACX3C,SAAWuC,EAAAA,eAAAA;IACXyE,OAASxI,EAAAA,KAAAA,CACN8C,MAAM,CAAC;QACN2F,SAAWzI,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGU,QAAQ,EAAA;QAC9B+E,SAAW1I,EAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGK,QAAQ,EAAA;QAC/BgF,UAAY3I,EAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGK,QAAQ,EAAA;AAChCiF,QAAAA,kBAAAA,EAAoB5I,KAAEkD,CAAAA,KAAK,CAAClD,KAAAA,CAAEkD,KAAK,CAAClD,KAAEiD,CAAAA,MAAM,EAAIpD,CAAAA,CAAAA,MAAM,CAAC,CAAA,CAAA,CAAA,CAAI8D,QAAQ,EAAA;QACnEkF,yBAA2B7I,EAAAA,KAAAA,CAAEsD,OAAO,EAAA,CAAGK,QAAQ;AACjD,KAAA,CAAA,CACCA,QAAQ,EAAA;AACXoD,IAAAA,KAAAA,EAAO/G,MACJiD,MAAM,EAAA,CACNU,QAAQ,EACRkC,CAAAA,MAAM,CAAC,CAACvE,KAAAA,GAAAA;AACP,QAAA,OAAOA,KAAU,KAAA,EAAA,IAAM,CAAC,CAAC,IAAI0F,MAAO1F,CAAAA,KAAAA,CAAAA;KACnC,EAAA,oCAAA;AACP,CAAA,CAAA;AAEA,MAAMwH,iBAAAA,GAAoB1F,oBAAqBqB,CAAAA,MAAM,CAAC;IACpDjE,IAAMR,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,aAAA,CAAA;AAChBwE,IAAAA,WAAAA,EAAa/I,MAAEiD,MAAM;AACvB,CAAA,CAAA;AAEA,MAAM+F,4BAA4B,CAAC5D,IAAAA,GAAAA;AACjC,IAAA,MAAM6D,iBAAiB9D,oBAAqBC,CAAAA,IAAAA,CAAAA;IAE5C,MAAM8D,IAAAA,GAAOlJ,KAAEmJ,CAAAA,KAAK,CAAC;AACnBf,QAAAA,WAAAA;AACAvB,QAAAA,UAAAA;AACAI,QAAAA,YAAAA;AACAxB,QAAAA,cAAAA;AACAE,QAAAA,YAAAA;AACAC,QAAAA,UAAAA;AACAS,QAAAA,iBAAAA;AACAa,QAAAA,cAAAA;AACAC,QAAAA,WAAAA;AACAE,QAAAA,aAAAA;AACAC,QAAAA,gBAAAA;AACAC,QAAAA,WAAAA;AACAC,QAAAA,aAAAA;AACAC,QAAAA,UAAAA;AACAC,QAAAA,UAAAA;AACAC,QAAAA,cAAAA;AACAC,QAAAA,eAAAA;AACAC,QAAAA,aAAAA;AACAC,QAAAA,eAAAA;AACAgB,QAAAA,iBAAAA,CAAkBM,WAAW,EAAA;AAE7BH,QAAAA;AACD,KAAA,CAAA;IAED,IAAI7D,IAAAA,CAAKC,SAAS,KAAK,WAAa,EAAA;QAClC,OAAO6D,IAAAA,CACJG,WAAW,CAAC3G,cACZ2G,CAAAA,CAAAA,WAAW,CAACvH,eAAAA,CAAAA,CACZuH,WAAW,CAAC1H,iBACZ0H,CAAAA,CAAAA,WAAW,CAAChI,6BAAAA,CAAAA;AACjB;IAEA,OAAOrB,KAAAA,CACJmJ,KAAK,CAAC;AAAID,QAAAA,GAAAA,IAAAA,CAAKV,OAAO;AAAED,QAAAA,SAAAA;AAAWN,QAAAA;AAAkB,KAAA,CAAA,CACrDoB,WAAW,CAAC3G,cACZ2G,CAAAA,CAAAA,WAAW,CAACvH,eAAAA,CAAAA,CACZuH,WAAW,CAAC7G,aACZ6G,CAAAA,CAAAA,WAAW,CAAC1H,iBAAAA,CAAAA,CACZ0H,WAAW,CAAChI,6BAAAA,CAAAA;AACjB,CAAA;AAEA,MAAMiI,qBAAwB,GAAA,CAAClE,IAC7BpF,GAAAA,KAAAA,CAAE8C,MAAM,CAAC;QACPvC,MAAQP,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,QAAA,CAAA;AAClB5E,QAAAA,IAAAA,EAAMK,KACHiD,CAAAA,MAAM,EACN8D,CAAAA,KAAK,CAACR,iBAAAA,CAAAA,CACNV,MAAM,CAAC,CAACvE,KAAAA,GAAU,CAACiI,+BAAAA,CAAwBjI,KAAQ,CAAA,EAAA,4BAAA,CAAA;AACtDhB,QAAAA,UAAAA,EAAY0I,yBAA0B5D,CAAAA,IAAAA;AACxC,KAAA,CAAA;AAEF,MAAMoE,qBAAwB,GAAA,CAACpE,IAC7BpF,GAAAA,KAAAA,CAAE8C,MAAM,CAAC;QACPvC,MAAQP,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,QAAA,CAAA;AAClB5E,QAAAA,IAAAA,EAAMK,MAAEiD,MAAM,EAAA;AACd3C,QAAAA,UAAAA,EAAY0I,yBAA0B5D,CAAAA,IAAAA;AACxC,KAAA,CAAA;AAEF,MAAMqE,qBAAAA,GAAwBzJ,KAAE8C,CAAAA,MAAM,CAAC;IACrCvC,MAAQP,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,QAAA,CAAA;AAClB5E,IAAAA,IAAAA,EAAMK,MAAEiD,MAAM;AAChB,CAAA,CAAA;AAEA,MAAMyG,oBAAuB1J,GAAAA,KAAAA,CAAEE,MAAM,CAAkB,CAACoB,KAAAA,GAAAA;AACtD,IAAA,OAAO,OAAOA,KAAAA,KAAU,QAAYA,IAAAA,KAAAA,CAAMzB,MAAM,GAAG,CAAA;AACrD,CAAA,CAAA;AAEA,MAAM8J,kBAAqB3J,GAAAA,KAAAA,CAAEE,MAAM,CAAgB,CAACoB,KAAAA,GAAAA;AAClD,IAAA,OAAO,OAAOA,KAAAA,KAAU,QAAYA,IAAAA,KAAAA,CAAMzB,MAAM,GAAG,CAAA;AACrD,CAAA,CAAA;AAEA,MAAM+J,cAAAA,GAAiB5J,MAAEiD,MAAM,EAAA,CAAGpB,GAAG,CAAC,CAAA,CAAA,CAAGkF,KAAK,CAAC8C,0BAAAA,CAAAA;AAE/C,MAAMC,mBAAAA,GAAsB9J,KAAE8C,CAAAA,MAAM,CAAC;IACnCiH,GAAKJ,EAAAA,kBAAAA;AACLK,IAAAA,WAAAA,EAAahK,KAAEiD,CAAAA,MAAM,EAAGpB,CAAAA,GAAG,CAAC,CAAA,CAAA;AAC5BoI,IAAAA,IAAAA,EAAMjK,MAAEiD,MAAM,EAAA,CAAG8D,KAAK,CAACmD,mBAAYvG,QAAQ,EAAA;IAC3CwG,WAAanK,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGU,QAAQ,EAAA;IAChCyG,QAAUR,EAAAA,cAAAA;IACVnG,aAAezD,EAAAA,KAAAA,CAAEgD,MAAM,CAAChD,KAAAA,CAAEiD,MAAM,EAAIjD,EAAAA,KAAAA,CAAE0D,OAAO,EAAA,CAAA,CAAIC,QAAQ;AAC3D,CAAA,CAAA;AAEA,MAAM0G,qBAAAA,GAAwBP,mBAAoBrF,CAAAA,MAAM,CAAC;IACvDlE,MAAQP,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,QAAA,CAAA;AAClB+F,IAAAA,MAAAA,EAAQtK,KAAEgD,CAAAA,MAAM,CAAChD,KAAAA,CAAEiD,MAAM,EAAA,EAAIjD,KAAE0D,CAAAA,OAAO,EAAIC,CAAAA,CAAAA,QAAQ,EAAGlB,CAAAA,OAAO,CAAC,EAAC,CAAA;IAC9DrD,UAAYY,EAAAA,KAAAA,CACTkD,KAAK,CACJoG,qBAAsB,CAAA;QACpBjE,SAAW,EAAA;AACb,KAAA,CAAA,CAAA,CAEDgE,WAAW,CAAClK,mBAAAA;AACjB,CAAA,CAAA;AAEA,MAAMoL,qBAAAA,GAAwBT,mBAAoBrF,CAAAA,MAAM,CAAC;IACvDlE,MAAQP,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,QAAA,CAAA;AAClB6F,IAAAA,QAAAA,EAAUR,eAAejG,QAAQ,EAAA;AACjCvE,IAAAA,UAAAA,EAAYY,MACTkD,KAAK,CACJlD,KAAEuF,CAAAA,kBAAkB,CAAC,QAAU,EAAA;QAC7B+D,qBAAsB,CAAA;YACpBjE,SAAW,EAAA;AACb,SAAA,CAAA;QACAmE,qBAAsB,CAAA;YACpBnE,SAAW,EAAA;AACb,SAAA,CAAA;AACAoE,QAAAA;AACD,KAAA,CAAA,CAAA,CAEFJ,WAAW,CAAClK,mBAAAA;AACjB,CAAA,CAAA;AAEA,MAAMqL,qBAAAA,GAAwBxK,KAAE8C,CAAAA,MAAM,CAAC;IACrCvC,MAAQP,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,QAAA,CAAA;IAClBwF,GAAKJ,EAAAA;AACP,CAAA,CAAA;AAEA,MAAMc,qBAAAA,GAAwBzK,KAAE8C,CAAAA,MAAM,CAAC;IACrCiH,GAAKL,EAAAA,oBAAAA;AACLM,IAAAA,WAAAA,EAAahK,KAAEiD,CAAAA,MAAM,EAAGpB,CAAAA,GAAG,CAAC,CAAA,CAAA;IAC5BsI,WAAanK,EAAAA,KAAAA,CAAEiD,MAAM,EAAA,CAAGU,QAAQ,EAAA;AAChC+G,IAAAA,eAAAA,EAAiB1K,MAAEsD,OAAO,EAAA;IAC1BkF,OAASxI,EAAAA,KAAAA,CAAEgD,MAAM,CAAChD,KAAE0D,CAAAA,OAAO,IAAIC,QAAQ,EAAA,CAAGlB,OAAO,CAAC,EAAC,CAAA;IACnDgB,aAAezD,EAAAA,KAAAA,CAAEgD,MAAM,CAAChD,KAAE0D,CAAAA,OAAO,IAAIC,QAAQ,EAAA,CAAGlB,OAAO,CAAC,EAAC,CAAA;IACzD6C,IAAMtF,EAAAA,KAAAA,CAAE2C,IAAI,CAAC;AAACgI,QAAAA,mBAAAA,CAAUC,WAAW;AAAED,QAAAA,mBAAAA,CAAUE;AAAgB,KAAA,CAAA,CAAElH,QAAQ;AAC3E,CAAA,CAAA;AAEA,MAAMmH,2BAAAA,GAA8BL,qBAAsBhG,CAAAA,MAAM,CAAC;IAC/DlE,MAAQP,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,QAAA,CAAA;AAClBwG,IAAAA,cAAAA,EAAgB/K,MAAEiD,MAAM,EAAA,CAAG8D,KAAK,CAACiE,8BAAuBrH,QAAQ,EAAA;AAChEzC,IAAAA,YAAAA,EAAclB,MACXiD,MAAM,EAAA,CACNpB,GAAG,CAAC,GACJkF,KAAK,CAACkE,uBAAkB,EAAA,oBAAA,CAAA,CACxBpF,MAAM,CAAC,CAACvE,KAAU,GAAA,CAAC4J,4BAAoB5J,KAAQ,CAAA,EAAA,wBAAA,CAAA;AAClDH,IAAAA,UAAAA,EAAYnB,MACTiD,MAAM,EAAA,CACNpB,GAAG,CAAC,GACJkF,KAAK,CAACkE,uBAAkB,EAAA,oBAAA,CAAA,CACxBpF,MAAM,CAAC,CAACvE,KAAU,GAAA,CAAC4J,4BAAoB5J,KAAQ,CAAA,EAAA,wBAAA,CAAA;IAClDgJ,MAAQtK,EAAAA,KAAAA,CAAEgD,MAAM,CAAChD,KAAAA,CAAEiD,MAAM,EAAIjD,EAAAA,KAAAA,CAAE0D,OAAO,EAAA,CAAA,CAAIC,QAAQ;AACpD,CAAA,CAAA;AAEA,MAAMwH,sBAAAA,GAAyBL,2BAA4BrG,CAAAA,MAAM,CAAC;AAChEa,IAAAA,IAAAA,EAAMtF,KAAEuE,CAAAA,OAAO,CAACoG,mBAAAA,CAAUC,WAAW,CAAA;IACrCxL,UAAYY,EAAAA,KAAAA,CACTkD,KAAK,CACJoG,qBAAsB,CAAA;QACpBjE,SAAW,EAAA,aAAA;QACXC,IAAM,EAAA;AACR,KAAA,CAAA,CAAA,CAED+D,WAAW,CAAClK,mBACZkK,CAAAA,CAAAA,WAAW,CAACjJ,oBAAAA;AACjB,CAAA,CAAA;AAEA,MAAMgL,0BAAAA,GAA6BN,2BAA4BrG,CAAAA,MAAM,CAAC;AACpEa,IAAAA,IAAAA,EAAMtF,KAAEuE,CAAAA,OAAO,CAACoG,mBAAAA,CAAUE,eAAe,CAAA;IACzCzL,UAAYY,EAAAA,KAAAA,CACTkD,KAAK,CACJoG,qBAAsB,CAAA;QACpBjE,SAAW,EAAA,aAAA;QACXC,IAAM,EAAA;AACR,KAAA,CAAA,CAAA,CAED+D,WAAW,CAAClK,mBACZkK,CAAAA,CAAAA,WAAW,CAACjJ,oBAAAA;AACjB,CAAA,CAAA;AAEA,MAAMiL,2BAAAA,GAA8BZ,qBAAsBhG,CAAAA,MAAM,CAAC;IAC/DlE,MAAQP,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,QAAA;AACpB,CAAA,CAAA;AAEA,MAAM+G,sBAAAA,GAAyBD,2BAA4B5G,CAAAA,MAAM,CAAC;AAChEa,IAAAA,IAAAA,EAAMtF,MAAEuE,OAAO,CAACoG,mBAAUC,CAAAA,WAAW,EAAEjH,QAAQ,EAAA;AAC/CvE,IAAAA,UAAAA,EAAYY,MACTkD,KAAK,CACJlD,KAAEuF,CAAAA,kBAAkB,CAAC,QAAU,EAAA;QAC7B+D,qBAAsB,CAAA;YACpBjE,SAAW,EAAA,aAAA;YACXC,IAAM,EAAA;AACR,SAAA,CAAA;QACAkE,qBAAsB,CAAA;YACpBnE,SAAW,EAAA,aAAA;YACXC,IAAM,EAAA;AACR,SAAA,CAAA;AACAmE,QAAAA;AACD,KAAA,CAAA,CAAA,CAEFJ,WAAW,CAAClK,mBACZkK,CAAAA,CAAAA,WAAW,CAACjJ,oBAAAA;AACjB,CAAA,CAAA;AAEA,MAAMmL,0BAAAA,GAA6BF,2BAA4B5G,CAAAA,MAAM,CAAC;AACpEa,IAAAA,IAAAA,EAAMtF,MAAEuE,OAAO,CAACoG,mBAAUE,CAAAA,eAAe,EAAElH,QAAQ,EAAA;AACnDvE,IAAAA,UAAAA,EAAYY,KACTkD,CAAAA,KAAK,CACJlD,KAAAA,CAAEmJ,KAAK,CAAC;QACNG,qBAAsB,CAAA;YACpBjE,SAAW,EAAA,aAAA;YACXC,IAAM,EAAA;AACR,SAAA,CAAA;QACAkE,qBAAsB,CAAA;YACpBnE,SAAW,EAAA,aAAA;YACXC,IAAM,EAAA;AACR,SAAA,CAAA;AACAmE,QAAAA;AACD,KAAA,CAAA,CAAA,CAEFJ,WAAW,CAAClK,mBACZkK,CAAAA,CAAAA,WAAW,CAACjJ,oBAAAA;AACjB,CAAA,CAAA;AAEA,MAAMoL,uBAAAA,GAA0BxL,KAAE8C,CAAAA,MAAM,CAAC;IACvCvC,MAAQP,EAAAA,KAAAA,CAAEuE,OAAO,CAAC,QAAA,CAAA;IAClBwF,GAAKL,EAAAA;AACP,CAAA,CAAA;AAEA,MAAM+B,YAAAA,GAAezL,KAAE8C,CAAAA,MAAM,CAAC;AAC5BoF,IAAAA,UAAAA,EAAYlI,KACTkD,CAAAA,KAAK,CAAClD,KAAAA,CAAEmJ,KAAK,CAAC;AAACkB,QAAAA,qBAAAA;AAAuBE,QAAAA,qBAAAA;AAAuBC,QAAAA;AAAsB,KAAA,CAAA,CAAA,CACnF7G,QAAQ,EAAA,CACRlB,OAAO,CAAC,EAAE,CAAA;AACbiJ,IAAAA,YAAAA,EAAc1L,KACXkD,CAAAA,KAAK,CACJlD,KAAAA,CACGmJ,KAAK,CAAC;AACLgC,QAAAA,sBAAAA;AACAC,QAAAA,0BAAAA;AACAE,QAAAA,sBAAAA;AACAC,QAAAA,0BAAAA;AACAC,QAAAA;AACD,KAAA,CAAA,CACAnC,WAAW,CAACrI,4BAAAA,CAAAA,CAAAA,CAEhB2C,QAAQ,EACRlB,CAAAA,OAAO,CAAC,EAAE;AACf,CAAA,CAAA;AAsBakJ,MAAAA,oBAAAA,GAAuBC,iBAClC5L,CAAAA,KAAAA,CAAE8C,MAAM,CACN;IACE+I,IAAMJ,EAAAA;AACR,CACA,EAAA;IACEK,kBAAoB,EAAA,yDAAA;IACpBC,cAAgB,EAAA;AAClB,CAEF,CAAA;;;;;;"}
1
+ {"version":3,"file":"schema.js","sources":["../../../../server/src/controllers/validation/schema.ts"],"sourcesContent":["import { z } from 'zod';\nimport { strings, validateZod } from '@strapi/utils';\nimport type { Struct, UID } from '@strapi/types';\nimport { isArray, isNil, isNull, isNumber, isObject, isUndefined, snakeCase } from 'lodash/fp';\n\nimport { isReservedAttributeName, isReservedModelName } from '../../services/builder';\nimport { coreUids, typeKinds, VALID_UID_TARGETS } from '../../services/constants';\n\nimport {\n CATEGORY_NAME_REGEX,\n ICON_REGEX,\n COLLECTION_NAME_REGEX,\n KEBAB_BASE_REGEX,\n NAME_REGEX,\n} from './common';\n\ntype SchemaMeta =\n | {\n modelType: 'contentType';\n kind?: Struct.ContentTypeKind;\n }\n | {\n modelType: 'component';\n };\n\nconst uniqueAttributeName: z.SuperRefinement<{ name: string }[]> = (attributes, ctx) => {\n const names = new Set(attributes.map((attribute) => snakeCase(attribute.name)));\n if (names.size !== attributes.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Attributes must have unique names',\n });\n }\n};\n\nconst verifyUidTargetField: z.SuperRefinement<\n {\n action: 'create' | 'update' | 'delete';\n name: string;\n properties?: {\n type: unknown;\n targetField?: string | null;\n };\n }[]\n> = (attributes, ctx) => {\n attributes.forEach((attribute) => {\n if (!attribute.properties) {\n return;\n }\n\n const { properties, action } = attribute;\n\n if (properties.type === 'uid' && properties.targetField) {\n const targetAttr = attributes.find((attr) => attr.name === properties.targetField);\n\n if (!targetAttr) {\n // NOTE: on update we are setting it to undefined later in the process instead to handle renames\n if (action === 'create') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Target does not exist',\n });\n }\n } else if (\n !VALID_UID_TARGETS.some((validUIdTarget) => validUIdTarget === targetAttr.properties?.type)\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Invalid target type',\n });\n }\n }\n });\n};\n\nconst verifySingularAndPluralNames: z.SuperRefinement<Record<string, unknown>> = (obj, ctx) => {\n // singular and plural can only be provided on creation\n if (obj.action !== 'create') {\n return;\n }\n\n if (obj.singularName === obj.pluralName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Singular and plural names must be different',\n path: ['singularName'],\n });\n }\n};\n\nexport const maxLengthGreaterThanMinLength: z.SuperRefinement<Record<string, unknown>> = (\n value,\n ctx\n) => {\n if (\n !isNil(value.maxLength) &&\n !isNil(value.minLength) &&\n isNumber(value.maxLength) &&\n isNumber(value.minLength)\n ) {\n if (value.maxLength < value.minLength) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'maxLength must be greater or equal to minLength',\n path: ['maxLength'],\n });\n }\n }\n};\n\nexport const maxGreaterThanMin: z.SuperRefinement<Record<string, unknown>> = (value, ctx) => {\n if (!isNil(value.max) && !isNil(value.min) && isNumber(value.max) && isNumber(value.min)) {\n if (value.max < value.min) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'max must be greater or equal to min',\n path: ['max'],\n });\n }\n }\n};\n\nconst checkUserTarget: z.SuperRefinement<{\n type: string;\n target?: string;\n relation?: string;\n targetAttribute?: string | null;\n}> = (value, ctx) => {\n if (value.type !== 'relation') {\n return;\n }\n\n if (isUndefined(value.target) || isUndefined(value.relation)) {\n return;\n }\n\n const { target, relation, targetAttribute } = value;\n\n if (\n target === coreUids.STRAPI_USER &&\n (!STRAPI_USER_RELATIONS.includes(relation) || !isUndefined(targetAttribute))\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['relation'],\n message: `Relations to ${coreUids.STRAPI_USER} must be one of the following values: ${STRAPI_USER_RELATIONS.join(', ')} without targetAttribute`,\n });\n }\n};\n\nconst uidRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n targetField?: string | null;\n}> = (value, ctx) => {\n if (!isNil(value.targetField) && !isNil(value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Cannot define a default UID if the targetField is set',\n path: ['default'],\n });\n }\n};\n\nconst enumRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n enum?: string[];\n}> = (value, ctx) => {\n if (value.type === 'enumeration' && !isNil(value.default) && !isNil(value.enum)) {\n if (value.default === '' || !value.enum.some((v) => v === value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Default value must be one of the enum values',\n path: ['default'],\n });\n }\n }\n};\n\nconst conditionSchema = z.object({\n visible: z.record(z.string(), z.array(z.any())),\n});\n\nconst basePropertiesSchema = z.object({\n type: z.enum([\n 'string',\n 'text',\n 'richtext',\n 'blocks',\n 'json',\n 'enumeration',\n 'password',\n 'email',\n 'integer',\n 'biginteger',\n 'float',\n 'decimal',\n 'time',\n 'datetime',\n 'date',\n 'timestamp',\n 'boolean',\n 'component',\n 'uid',\n 'customField',\n 'media',\n 'relation',\n 'dynamiczone',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst maxLengthSchema = z.number().int().positive().optional();\nconst minLengthSchema = z.number().int().positive().optional();\n\nconst requiredSchema = z.boolean().optional();\nconst uniqueSchema = z.boolean().optional();\n\nconst STRAPI_USER_RELATIONS = ['oneToOne', 'oneToMany'];\n\nconst baseRelationSchema = z.object({\n type: z.literal('relation'),\n relation: z.enum([\n 'oneToOne',\n 'oneToMany',\n 'manyToOne',\n 'manyToMany',\n 'morphOne',\n 'morphMany',\n 'morphToOne',\n 'morphToMany',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst oneToOneSchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst oneWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n});\n\nconst oneToManySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n});\n\nconst manyToOneSchema = baseRelationSchema.extend({\n relation: z.literal('manyToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyToManySchema = baseRelationSchema.extend({\n relation: z.literal('manyToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphManySchema = baseRelationSchema.extend({\n relation: z.literal('morphMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphToOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphToOne'),\n});\n\nconst morphToManySchema = baseRelationSchema.extend({\n relation: z.literal('morphToMany'),\n});\n\nconst createRelationSchema = (meta: SchemaMeta) => {\n switch (meta.modelType) {\n case 'contentType': {\n switch (meta.kind) {\n case 'singleType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n\n case 'collectionType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n manyToOneSchema,\n manyToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n default:\n throw new Error('Invalid content type kind');\n }\n }\n\n case 'component': {\n return z.discriminatedUnion('relation', [oneWaySchema, manyWaySchema]);\n }\n default:\n throw new Error('Invalid model type');\n }\n};\n\nconst richTextSchema = basePropertiesSchema.extend({\n type: z.literal('richtext'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().optional(),\n});\n\nconst blocksSchema = basePropertiesSchema.extend({\n type: z.literal('blocks'),\n required: requiredSchema,\n});\n\nconst jsonSchema = basePropertiesSchema.extend({\n type: z.literal('json'),\n required: requiredSchema,\n default: z\n .unknown()\n .optional()\n .refine((value) => {\n if (value === undefined) {\n return true;\n }\n\n if (isNumber(value) || isNull(value) || isObject(value) || isArray(value)) {\n return true;\n }\n\n try {\n JSON.parse(value as string);\n\n return true;\n } catch (err) {\n return false;\n }\n }),\n});\n\nconst enumerationSchema = basePropertiesSchema.extend({\n type: z.literal('enumeration'),\n required: requiredSchema,\n default: z.string().optional(),\n enumName: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || NAME_REGEX.test(value as string);\n }, 'Invalid enum name'),\n enum: z\n .array(\n z.string().refine((value) => {\n return value === '' || !strings.startsWithANumber(value as string);\n })\n )\n .min(1)\n .refine((values) => {\n const filtered = [...new Set(values)];\n return filtered.length === values.length;\n }),\n});\n\nconst textSchema = basePropertiesSchema.extend({\n type: z.literal('text'),\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n required: requiredSchema,\n unique: uniqueSchema,\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst stringSchema = textSchema.extend({\n type: z.literal('string'),\n});\n\nconst passwordSchema = basePropertiesSchema.extend({\n type: z.literal('password'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n});\n\nconst emailSchema = basePropertiesSchema.extend({\n type: z.literal('email'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().email().optional(),\n unique: uniqueSchema,\n});\n\nconst integerSchema = basePropertiesSchema.extend({\n type: z.literal('integer'),\n required: requiredSchema,\n default: z.number().int().optional(),\n unique: uniqueSchema,\n min: z.number().int().optional(),\n max: z.number().int().optional(),\n});\n\nconst bigIntegerSchema = basePropertiesSchema.extend({\n type: z.literal('biginteger'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().regex(/^\\d*$/).nullish(),\n min: z.string().regex(/^\\d*$/).nullish(),\n max: z.string().regex(/^\\d*$/).nullish(),\n});\n\nconst floatSchema = basePropertiesSchema.extend({\n type: z.literal('float'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst decimalSchema = basePropertiesSchema.extend({\n type: z.literal('decimal'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst timeSchema = basePropertiesSchema.extend({\n type: z.literal('time'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().optional(),\n});\n\nconst dateSchema = timeSchema.extend({\n type: z.literal('date'),\n});\n\nconst dateTimeSchema = timeSchema.extend({\n type: z.literal('datetime'),\n});\n\nconst timeStampSchema = basePropertiesSchema.extend({\n type: z.literal('timestamp'),\n});\n\nconst booleanSchema = basePropertiesSchema.extend({\n type: z.literal('boolean'),\n required: requiredSchema,\n default: z.boolean().optional(),\n});\n\nconst componentSchema = basePropertiesSchema.extend({\n type: z.literal('component'),\n component: z.string(),\n repeatable: z.boolean().optional(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst dynamicZoneSchema = basePropertiesSchema.extend({\n type: z.literal('dynamiczone'),\n components: z.array(z.string()).nonempty(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst mediaSchema = basePropertiesSchema.extend({\n type: z.literal('media'),\n multiple: z.boolean().optional(),\n required: requiredSchema,\n allowedTypes: z\n .array(z.enum(['images', 'videos', 'files', 'audios']))\n .nonempty()\n .optional(),\n});\n\nconst uidSchema = basePropertiesSchema.extend({\n type: z.literal('uid'),\n targetField: z.string().nullish(),\n required: requiredSchema,\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n options: z\n .object({\n separator: z.string().optional(),\n lowercase: z.boolean().optional(),\n decamelize: z.boolean().optional(),\n customReplacements: z.array(z.array(z.string()).length(2)).optional(),\n preserveLeadingUnderscore: z.boolean().optional(),\n })\n .optional(),\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst customFieldSchema = basePropertiesSchema.extend({\n type: z.literal('customField'),\n customField: z.string(),\n});\n\nconst attributePropertiesSchema = (meta: SchemaMeta) => {\n const relationSchema = createRelationSchema(meta);\n\n const base = z.union([\n mediaSchema,\n textSchema,\n stringSchema,\n richTextSchema,\n blocksSchema,\n jsonSchema,\n enumerationSchema,\n passwordSchema,\n emailSchema,\n integerSchema,\n bigIntegerSchema,\n floatSchema,\n decimalSchema,\n timeSchema,\n dateSchema,\n dateTimeSchema,\n timeStampSchema,\n booleanSchema,\n componentSchema,\n customFieldSchema.passthrough(),\n\n relationSchema,\n ]);\n\n if (meta.modelType === 'component') {\n return base\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n }\n\n return z\n .union([...base.options, uidSchema, dynamicZoneSchema])\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(uidRefinement)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n};\n\nconst createAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('create'),\n name: z\n .string()\n .regex(NAME_REGEX)\n .refine((value) => !isReservedAttributeName(value), 'Attribute name is reserved'),\n properties: attributePropertiesSchema(meta),\n });\n\nconst updateAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('update'),\n name: z.string(),\n properties: attributePropertiesSchema(meta),\n });\n\nconst deleteAttributeSchema = z.object({\n action: z.literal('delete'),\n name: z.string(),\n});\n\nconst contentTypeUIDSchema = z.custom<UID.ContentType>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst componentUIDSchema = z.custom<UID.Component>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst categorySchema = z.string().min(1).regex(CATEGORY_NAME_REGEX);\n\nconst baseComponentSchema = z.object({\n uid: componentUIDSchema,\n displayName: z.string().min(1),\n icon: z.string().regex(ICON_REGEX).optional(),\n description: z.string().optional(),\n category: categorySchema,\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createComponentSchema = baseComponentSchema.extend({\n action: z.literal('create'),\n config: z.record(z.string(), z.unknown()).optional().default({}),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'component',\n })\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst updateComponentSchema = baseComponentSchema.extend({\n action: z.literal('update'),\n category: categorySchema.optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'component',\n }),\n updateAttributeSchema({\n modelType: 'component',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst deleteComponentSchema = z.object({\n action: z.literal('delete'),\n uid: componentUIDSchema,\n});\n\nconst baseContentTypeSchema = z.object({\n uid: contentTypeUIDSchema,\n displayName: z.string().min(1),\n description: z.string().optional(),\n draftAndPublish: z.boolean(),\n options: z.record(z.unknown()).optional().default({}),\n pluginOptions: z.record(z.unknown()).optional().default({}),\n kind: z.enum([typeKinds.SINGLE_TYPE, typeKinds.COLLECTION_TYPE]).optional(),\n});\n\nconst baseCreateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('create'),\n collectionName: z.string().regex(COLLECTION_NAME_REGEX).optional(),\n singularName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n pluralName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n config: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createSingleTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst createCollectionTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst baseUpdateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('update'),\n});\n\nconst updateSingleTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE).optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst updateCollectionTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE).optional(),\n attributes: z\n .array(\n z.union([\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst deleteContentTypeSchema = z.object({\n action: z.literal('delete'),\n uid: contentTypeUIDSchema,\n});\n\nconst schemaSchema = z.object({\n components: z\n .array(z.union([createComponentSchema, updateComponentSchema, deleteComponentSchema]))\n .optional()\n .default([]),\n contentTypes: z\n .array(\n z\n .union([\n createSingleTypeSchema,\n createCollectionTypeSchema,\n updateSingleTypeSchema,\n updateCollectionTypeSchema,\n deleteContentTypeSchema,\n ])\n .superRefine(verifySingularAndPluralNames)\n )\n .optional()\n .default([]),\n});\n\ntype CreateComponentType = z.infer<typeof createComponentSchema>;\ntype UpdateComponentType = z.infer<typeof updateComponentSchema>;\ntype DeleteComponentType = z.infer<typeof deleteComponentSchema>;\ntype CreateCollectionType = z.infer<typeof createCollectionTypeSchema>;\ntype CreateSingleType = z.infer<typeof createSingleTypeSchema>;\ntype UpdateSingleType = z.infer<typeof updateSingleTypeSchema>;\ntype UpdateCollectionType = z.infer<typeof updateCollectionTypeSchema>;\ntype DeleteContentType = z.infer<typeof deleteContentTypeSchema>;\n\nexport type Schema = {\n components: Array<CreateComponentType | UpdateComponentType | DeleteComponentType>;\n contentTypes: Array<\n | CreateSingleType\n | CreateCollectionType\n | UpdateSingleType\n | UpdateCollectionType\n | DeleteContentType\n >;\n};\n\nexport const validateUpdateSchema = validateZod(\n z.object(\n {\n data: schemaSchema,\n },\n {\n invalid_type_error: 'Invalid schema, expected an object with a data property',\n required_error: 'Schema is required',\n }\n )\n);\n"],"names":["uniqueAttributeName","attributes","ctx","names","Set","map","attribute","snakeCase","name","size","length","addIssue","code","z","ZodIssueCode","custom","message","verifyUidTargetField","forEach","properties","action","type","targetField","targetAttr","find","attr","VALID_UID_TARGETS","some","validUIdTarget","verifySingularAndPluralNames","obj","singularName","pluralName","path","maxLengthGreaterThanMinLength","value","isNil","maxLength","minLength","isNumber","maxGreaterThanMin","max","min","checkUserTarget","isUndefined","target","relation","targetAttribute","coreUids","STRAPI_USER","STRAPI_USER_RELATIONS","includes","join","uidRefinement","default","enumRefinement","enum","v","conditionSchema","object","visible","record","string","array","any","basePropertiesSchema","configurable","boolean","nullish","private","pluginOptions","unknown","optional","conditions","preprocess","val","maxLengthSchema","number","int","positive","minLengthSchema","requiredSchema","uniqueSchema","baseRelationSchema","literal","oneToOneSchema","extend","oneWaySchema","oneToManySchema","manyWaySchema","manyToOneSchema","manyToManySchema","morphOneSchema","morphManySchema","morphToOneSchema","morphToManySchema","createRelationSchema","meta","modelType","kind","discriminatedUnion","Error","richTextSchema","required","blocksSchema","jsonSchema","refine","undefined","isNull","isObject","isArray","JSON","parse","err","enumerationSchema","enumName","NAME_REGEX","test","strings","startsWithANumber","values","filtered","textSchema","unique","regex","RegExp","stringSchema","passwordSchema","emailSchema","email","integerSchema","bigIntegerSchema","floatSchema","decimalSchema","timeSchema","dateSchema","dateTimeSchema","timeStampSchema","booleanSchema","componentSchema","component","repeatable","dynamicZoneSchema","components","nonempty","mediaSchema","multiple","allowedTypes","uidSchema","options","separator","lowercase","decamelize","customReplacements","preserveLeadingUnderscore","customFieldSchema","customField","attributePropertiesSchema","relationSchema","base","union","passthrough","superRefine","createAttributeSchema","isReservedAttributeName","updateAttributeSchema","deleteAttributeSchema","contentTypeUIDSchema","componentUIDSchema","categorySchema","CATEGORY_NAME_REGEX","baseComponentSchema","uid","displayName","icon","ICON_REGEX","description","category","createComponentSchema","config","updateComponentSchema","deleteComponentSchema","baseContentTypeSchema","draftAndPublish","typeKinds","SINGLE_TYPE","COLLECTION_TYPE","baseCreateContentTypeSchema","collectionName","COLLECTION_NAME_REGEX","KEBAB_BASE_REGEX","isReservedModelName","createSingleTypeSchema","createCollectionTypeSchema","baseUpdateContentTypeSchema","updateSingleTypeSchema","updateCollectionTypeSchema","deleteContentTypeSchema","schemaSchema","contentTypes","validateUpdateSchema","validateZod","data","invalid_type_error","required_error"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { strings, validateZod } from '@strapi/utils';
3
3
  import { isNumber, isNull, isObject, isArray, snakeCase, isNil, isUndefined } from 'lodash/fp';
4
4
  import { isReservedModelName, isReservedAttributeName } from '../../services/builder.mjs';
5
5
  import { typeKinds, VALID_UID_TARGETS, coreUids } from '../../services/constants.mjs';
6
- import { NAME_REGEX, CATEGORY_NAME_REGEX, ICON_REGEX, COLLECTION_NAME_REGEX, KEBAB_BASE_REGEX } from './common.mjs';
6
+ import { NAME_REGEX, CATEGORY_NAME_REGEX, ICON_REGEX, KEBAB_BASE_REGEX, COLLECTION_NAME_REGEX } from './common.mjs';
7
7
 
8
8
  const uniqueAttributeName = (attributes, ctx)=>{
9
9
  const names = new Set(attributes.map((attribute)=>snakeCase(attribute.name)));
@@ -1 +1 @@
1
- {"version":3,"file":"schema.mjs","sources":["../../../../server/src/controllers/validation/schema.ts"],"sourcesContent":["import { z } from 'zod';\nimport { strings, validateZod } from '@strapi/utils';\nimport type { Struct, UID } from '@strapi/types';\nimport { isArray, isNil, isNull, isNumber, isObject, isUndefined, snakeCase } from 'lodash/fp';\n\nimport { isReservedAttributeName, isReservedModelName } from '../../services/builder';\nimport { coreUids, typeKinds, VALID_UID_TARGETS } from '../../services/constants';\n\nimport {\n CATEGORY_NAME_REGEX,\n ICON_REGEX,\n COLLECTION_NAME_REGEX,\n KEBAB_BASE_REGEX,\n NAME_REGEX,\n} from './common';\n\ntype SchemaMeta =\n | {\n modelType: 'contentType';\n kind?: Struct.ContentTypeKind;\n }\n | {\n modelType: 'component';\n };\n\nconst uniqueAttributeName: z.SuperRefinement<{ name: string }[]> = (attributes, ctx) => {\n const names = new Set(attributes.map((attribute) => snakeCase(attribute.name)));\n if (names.size !== attributes.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Attributes must have unique names',\n });\n }\n};\n\nconst verifyUidTargetField: z.SuperRefinement<\n {\n action: 'create' | 'update' | 'delete';\n name: string;\n properties?: {\n type: unknown;\n targetField?: string | null;\n };\n }[]\n> = (attributes, ctx) => {\n attributes.forEach((attribute) => {\n if (!attribute.properties) {\n return;\n }\n\n const { properties, action } = attribute;\n\n if (properties.type === 'uid' && properties.targetField) {\n const targetAttr = attributes.find((attr) => attr.name === properties.targetField);\n\n if (!targetAttr) {\n // NOTE: on update we are setting it to undefined later in the process instead to handle renames\n if (action === 'create') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Target does not exist',\n });\n }\n } else if (\n !VALID_UID_TARGETS.some((validUIdTarget) => validUIdTarget === targetAttr.properties?.type)\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Invalid target type',\n });\n }\n }\n });\n};\n\nconst verifySingularAndPluralNames: z.SuperRefinement<Record<string, unknown>> = (obj, ctx) => {\n // singular and plural can only be provided on creation\n if (obj.action !== 'create') {\n return;\n }\n\n if (obj.singularName === obj.pluralName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Singular and plural names must be different',\n path: ['singularName'],\n });\n }\n};\n\nexport const maxLengthGreaterThanMinLength: z.SuperRefinement<Record<string, unknown>> = (\n value,\n ctx\n) => {\n if (\n !isNil(value.maxLength) &&\n !isNil(value.minLength) &&\n isNumber(value.maxLength) &&\n isNumber(value.minLength)\n ) {\n if (value.maxLength < value.minLength) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'maxLength must be greater or equal to minLength',\n path: ['maxLength'],\n });\n }\n }\n};\n\nexport const maxGreaterThanMin: z.SuperRefinement<Record<string, unknown>> = (value, ctx) => {\n if (!isNil(value.max) && !isNil(value.min) && isNumber(value.max) && isNumber(value.min)) {\n if (value.max < value.min) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'max must be greater or equal to min',\n path: ['max'],\n });\n }\n }\n};\n\nconst checkUserTarget: z.SuperRefinement<{\n type: string;\n target?: string;\n relation?: string;\n targetAttribute?: string | null;\n}> = (value, ctx) => {\n if (value.type !== 'relation') {\n return;\n }\n\n if (isUndefined(value.target) || isUndefined(value.relation)) {\n return;\n }\n\n const { target, relation, targetAttribute } = value;\n\n if (\n target === coreUids.STRAPI_USER &&\n (!STRAPI_USER_RELATIONS.includes(relation) || !isUndefined(targetAttribute))\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['relation'],\n message: `Relations to ${coreUids.STRAPI_USER} must be one of the following values: ${STRAPI_USER_RELATIONS.join(', ')} without targetAttribute`,\n });\n }\n};\n\nconst uidRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n targetField?: string | null;\n}> = (value, ctx) => {\n if (!isNil(value.targetField) && !isNil(value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Cannot define a default UID if the targetField is set',\n path: ['default'],\n });\n }\n};\n\nconst enumRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n enum?: string[];\n}> = (value, ctx) => {\n if (value.type === 'enumeration' && !isNil(value.default) && !isNil(value.enum)) {\n if (value.default === '' || !value.enum.some((v) => v === value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Default value must be one of the enum values',\n path: ['default'],\n });\n }\n }\n};\n\nconst conditionSchema = z.object({\n visible: z.record(z.string(), z.array(z.any())),\n});\n\nconst basePropertiesSchema = z.object({\n type: z.enum([\n 'string',\n 'text',\n 'richtext',\n 'blocks',\n 'json',\n 'enumeration',\n 'password',\n 'email',\n 'integer',\n 'biginteger',\n 'float',\n 'decimal',\n 'time',\n 'datetime',\n 'date',\n 'timestamp',\n 'boolean',\n 'component',\n 'uid',\n 'customField',\n 'media',\n 'relation',\n 'dynamiczone',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst maxLengthSchema = z.number().int().positive().optional();\nconst minLengthSchema = z.number().int().positive().optional();\n\nconst requiredSchema = z.boolean().optional();\nconst uniqueSchema = z.boolean().optional();\n\nconst STRAPI_USER_RELATIONS = ['oneToOne', 'oneToMany'];\n\nconst baseRelationSchema = z.object({\n type: z.literal('relation'),\n relation: z.enum([\n 'oneToOne',\n 'oneToMany',\n 'manyToOne',\n 'manyToMany',\n 'morphOne',\n 'morphMany',\n 'morphToOne',\n 'morphToMany',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst oneToOneSchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst oneWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n});\n\nconst oneToManySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n});\n\nconst manyToOneSchema = baseRelationSchema.extend({\n relation: z.literal('manyToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyToManySchema = baseRelationSchema.extend({\n relation: z.literal('manyToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphManySchema = baseRelationSchema.extend({\n relation: z.literal('morphMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphToOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphToOne'),\n});\n\nconst morphToManySchema = baseRelationSchema.extend({\n relation: z.literal('morphToMany'),\n});\n\nconst createRelationSchema = (meta: SchemaMeta) => {\n switch (meta.modelType) {\n case 'contentType': {\n switch (meta.kind) {\n case 'singleType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n\n case 'collectionType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n manyToOneSchema,\n manyToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n default:\n throw new Error('Invalid content type kind');\n }\n }\n\n case 'component': {\n return z.discriminatedUnion('relation', [oneWaySchema, manyWaySchema]);\n }\n default:\n throw new Error('Invalid model type');\n }\n};\n\nconst richTextSchema = basePropertiesSchema.extend({\n type: z.literal('richtext'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().optional(),\n});\n\nconst blocksSchema = basePropertiesSchema.extend({\n type: z.literal('blocks'),\n required: requiredSchema,\n});\n\nconst jsonSchema = basePropertiesSchema.extend({\n type: z.literal('json'),\n required: requiredSchema,\n default: z\n .unknown()\n .optional()\n .refine((value) => {\n if (value === undefined) {\n return true;\n }\n\n if (isNumber(value) || isNull(value) || isObject(value) || isArray(value)) {\n return true;\n }\n\n try {\n JSON.parse(value as string);\n\n return true;\n } catch (err) {\n return false;\n }\n }),\n});\n\nconst enumerationSchema = basePropertiesSchema.extend({\n type: z.literal('enumeration'),\n required: requiredSchema,\n default: z.string().optional(),\n enumName: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || NAME_REGEX.test(value as string);\n }, 'Invalid enum name'),\n enum: z\n .array(\n z.string().refine((value) => {\n return value === '' || !strings.startsWithANumber(value as string);\n })\n )\n .min(1)\n .refine((values) => {\n const filtered = [...new Set(values)];\n return filtered.length === values.length;\n }),\n});\n\nconst textSchema = basePropertiesSchema.extend({\n type: z.literal('text'),\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n required: requiredSchema,\n unique: uniqueSchema,\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst stringSchema = textSchema.extend({\n type: z.literal('string'),\n});\n\nconst passwordSchema = basePropertiesSchema.extend({\n type: z.literal('password'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n});\n\nconst emailSchema = basePropertiesSchema.extend({\n type: z.literal('email'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().email().optional(),\n unique: uniqueSchema,\n});\n\nconst integerSchema = basePropertiesSchema.extend({\n type: z.literal('integer'),\n required: requiredSchema,\n default: z.number().int().optional(),\n unique: uniqueSchema,\n min: z.number().int().optional(),\n max: z.number().int().optional(),\n});\n\nconst bigIntegerSchema = basePropertiesSchema.extend({\n type: z.literal('biginteger'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().regex(/^\\d*$/).nullish(),\n min: z.string().regex(/^\\d*$/).nullish(),\n max: z.string().regex(/^\\d*$/).nullish(),\n});\n\nconst floatSchema = basePropertiesSchema.extend({\n type: z.literal('float'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst decimalSchema = basePropertiesSchema.extend({\n type: z.literal('decimal'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst timeSchema = basePropertiesSchema.extend({\n type: z.literal('time'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().optional(),\n});\n\nconst dateSchema = timeSchema.extend({\n type: z.literal('date'),\n});\n\nconst dateTimeSchema = timeSchema.extend({\n type: z.literal('datetime'),\n});\n\nconst timeStampSchema = basePropertiesSchema.extend({\n type: z.literal('timestamp'),\n});\n\nconst booleanSchema = basePropertiesSchema.extend({\n type: z.literal('boolean'),\n required: requiredSchema,\n default: z.boolean().optional(),\n});\n\nconst componentSchema = basePropertiesSchema.extend({\n type: z.literal('component'),\n component: z.string(),\n repeatable: z.boolean().optional(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst dynamicZoneSchema = basePropertiesSchema.extend({\n type: z.literal('dynamiczone'),\n components: z.array(z.string()).nonempty(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst mediaSchema = basePropertiesSchema.extend({\n type: z.literal('media'),\n multiple: z.boolean().optional(),\n required: requiredSchema,\n allowedTypes: z\n .array(z.enum(['images', 'videos', 'files', 'audios']))\n .nonempty()\n .optional(),\n});\n\nconst uidSchema = basePropertiesSchema.extend({\n type: z.literal('uid'),\n targetField: z.string().nullish(),\n required: requiredSchema,\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n options: z\n .object({\n separator: z.string().optional(),\n lowercase: z.boolean().optional(),\n decamelize: z.boolean().optional(),\n customReplacements: z.array(z.array(z.string()).length(2)).optional(),\n preserveLeadingUnderscore: z.boolean().optional(),\n })\n .optional(),\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst customFieldSchema = basePropertiesSchema.extend({\n type: z.literal('customField'),\n customField: z.string(),\n});\n\nconst attributePropertiesSchema = (meta: SchemaMeta) => {\n const relationSchema = createRelationSchema(meta);\n\n const base = z.union([\n mediaSchema,\n textSchema,\n stringSchema,\n richTextSchema,\n blocksSchema,\n jsonSchema,\n enumerationSchema,\n passwordSchema,\n emailSchema,\n integerSchema,\n bigIntegerSchema,\n floatSchema,\n decimalSchema,\n timeSchema,\n dateSchema,\n dateTimeSchema,\n timeStampSchema,\n booleanSchema,\n componentSchema,\n customFieldSchema.passthrough(),\n\n relationSchema,\n ]);\n\n if (meta.modelType === 'component') {\n return base\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n }\n\n return z\n .union([...base.options, uidSchema, dynamicZoneSchema])\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(uidRefinement)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n};\n\nconst createAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('create'),\n name: z\n .string()\n .regex(NAME_REGEX)\n .refine((value) => !isReservedAttributeName(value), 'Attribute name is reserved'),\n properties: attributePropertiesSchema(meta),\n });\n\nconst updateAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('update'),\n name: z.string(),\n properties: attributePropertiesSchema(meta),\n });\n\nconst deleteAttributeSchema = z.object({\n action: z.literal('delete'),\n name: z.string(),\n});\n\nconst contentTypeUIDSchema = z.custom<UID.ContentType>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst componentUIDSchema = z.custom<UID.Component>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst categorySchema = z.string().min(1).regex(CATEGORY_NAME_REGEX);\n\nconst baseComponentSchema = z.object({\n uid: componentUIDSchema,\n displayName: z.string().min(1),\n icon: z.string().regex(ICON_REGEX).optional(),\n description: z.string().optional(),\n category: categorySchema,\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createComponentSchema = baseComponentSchema.extend({\n action: z.literal('create'),\n config: z.record(z.string(), z.unknown()).optional().default({}),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'component',\n })\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst updateComponentSchema = baseComponentSchema.extend({\n action: z.literal('update'),\n category: categorySchema.optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'component',\n }),\n updateAttributeSchema({\n modelType: 'component',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst deleteComponentSchema = z.object({\n action: z.literal('delete'),\n uid: componentUIDSchema,\n});\n\nconst baseContentTypeSchema = z.object({\n uid: contentTypeUIDSchema,\n displayName: z.string().min(1),\n description: z.string().optional(),\n draftAndPublish: z.boolean(),\n options: z.record(z.unknown()).optional().default({}),\n pluginOptions: z.record(z.unknown()).optional().default({}),\n kind: z.enum([typeKinds.SINGLE_TYPE, typeKinds.COLLECTION_TYPE]).optional(),\n});\n\nconst baseCreateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('create'),\n collectionName: z.string().regex(COLLECTION_NAME_REGEX).optional(),\n singularName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n pluralName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n config: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createSingleTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst createCollectionTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst baseUpdateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('update'),\n});\n\nconst updateSingleTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE).optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst updateCollectionTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE).optional(),\n attributes: z\n .array(\n z.union([\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst deleteContentTypeSchema = z.object({\n action: z.literal('delete'),\n uid: contentTypeUIDSchema,\n});\n\nconst schemaSchema = z.object({\n components: z\n .array(z.union([createComponentSchema, updateComponentSchema, deleteComponentSchema]))\n .optional()\n .default([]),\n contentTypes: z\n .array(\n z\n .union([\n createSingleTypeSchema,\n createCollectionTypeSchema,\n updateSingleTypeSchema,\n updateCollectionTypeSchema,\n deleteContentTypeSchema,\n ])\n .superRefine(verifySingularAndPluralNames)\n )\n .optional()\n .default([]),\n});\n\ntype CreateComponentType = z.infer<typeof createComponentSchema>;\ntype UpdateComponentType = z.infer<typeof updateComponentSchema>;\ntype DeleteComponentType = z.infer<typeof deleteComponentSchema>;\ntype CreateCollectionType = z.infer<typeof createCollectionTypeSchema>;\ntype CreateSingleType = z.infer<typeof createSingleTypeSchema>;\ntype UpdateSingleType = z.infer<typeof updateSingleTypeSchema>;\ntype UpdateCollectionType = z.infer<typeof updateCollectionTypeSchema>;\ntype DeleteContentType = z.infer<typeof deleteContentTypeSchema>;\n\nexport type Schema = {\n components: Array<CreateComponentType | UpdateComponentType | DeleteComponentType>;\n contentTypes: Array<\n | CreateSingleType\n | CreateCollectionType\n | UpdateSingleType\n | UpdateCollectionType\n | DeleteContentType\n >;\n};\n\nexport const validateUpdateSchema = validateZod(\n z.object(\n {\n data: schemaSchema,\n },\n {\n invalid_type_error: 'Invalid schema, expected an object with a data property',\n required_error: 'Schema is required',\n }\n )\n);\n"],"names":["uniqueAttributeName","attributes","ctx","names","Set","map","attribute","snakeCase","name","size","length","addIssue","code","z","ZodIssueCode","custom","message","verifyUidTargetField","forEach","properties","action","type","targetField","targetAttr","find","attr","VALID_UID_TARGETS","some","validUIdTarget","verifySingularAndPluralNames","obj","singularName","pluralName","path","maxLengthGreaterThanMinLength","value","isNil","maxLength","minLength","isNumber","maxGreaterThanMin","max","min","checkUserTarget","isUndefined","target","relation","targetAttribute","coreUids","STRAPI_USER","STRAPI_USER_RELATIONS","includes","join","uidRefinement","default","enumRefinement","enum","v","conditionSchema","object","visible","record","string","array","any","basePropertiesSchema","configurable","boolean","nullish","private","pluginOptions","unknown","optional","conditions","preprocess","val","maxLengthSchema","number","int","positive","minLengthSchema","requiredSchema","uniqueSchema","baseRelationSchema","literal","oneToOneSchema","extend","oneWaySchema","oneToManySchema","manyWaySchema","manyToOneSchema","manyToManySchema","morphOneSchema","morphManySchema","morphToOneSchema","morphToManySchema","createRelationSchema","meta","modelType","kind","discriminatedUnion","Error","richTextSchema","required","blocksSchema","jsonSchema","refine","undefined","isNull","isObject","isArray","JSON","parse","err","enumerationSchema","enumName","NAME_REGEX","test","strings","startsWithANumber","values","filtered","textSchema","unique","regex","RegExp","stringSchema","passwordSchema","emailSchema","email","integerSchema","bigIntegerSchema","floatSchema","decimalSchema","timeSchema","dateSchema","dateTimeSchema","timeStampSchema","booleanSchema","componentSchema","component","repeatable","dynamicZoneSchema","components","nonempty","mediaSchema","multiple","allowedTypes","uidSchema","options","separator","lowercase","decamelize","customReplacements","preserveLeadingUnderscore","customFieldSchema","customField","attributePropertiesSchema","relationSchema","base","union","passthrough","superRefine","createAttributeSchema","isReservedAttributeName","updateAttributeSchema","deleteAttributeSchema","contentTypeUIDSchema","componentUIDSchema","categorySchema","CATEGORY_NAME_REGEX","baseComponentSchema","uid","displayName","icon","ICON_REGEX","description","category","createComponentSchema","config","updateComponentSchema","deleteComponentSchema","baseContentTypeSchema","draftAndPublish","typeKinds","SINGLE_TYPE","COLLECTION_TYPE","baseCreateContentTypeSchema","collectionName","COLLECTION_NAME_REGEX","KEBAB_BASE_REGEX","isReservedModelName","createSingleTypeSchema","createCollectionTypeSchema","baseUpdateContentTypeSchema","updateSingleTypeSchema","updateCollectionTypeSchema","deleteContentTypeSchema","schemaSchema","contentTypes","validateUpdateSchema","validateZod","data","invalid_type_error","required_error"],"mappings":"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"}
1
+ {"version":3,"file":"schema.mjs","sources":["../../../../server/src/controllers/validation/schema.ts"],"sourcesContent":["import { z } from 'zod';\nimport { strings, validateZod } from '@strapi/utils';\nimport type { Struct, UID } from '@strapi/types';\nimport { isArray, isNil, isNull, isNumber, isObject, isUndefined, snakeCase } from 'lodash/fp';\n\nimport { isReservedAttributeName, isReservedModelName } from '../../services/builder';\nimport { coreUids, typeKinds, VALID_UID_TARGETS } from '../../services/constants';\n\nimport {\n CATEGORY_NAME_REGEX,\n ICON_REGEX,\n COLLECTION_NAME_REGEX,\n KEBAB_BASE_REGEX,\n NAME_REGEX,\n} from './common';\n\ntype SchemaMeta =\n | {\n modelType: 'contentType';\n kind?: Struct.ContentTypeKind;\n }\n | {\n modelType: 'component';\n };\n\nconst uniqueAttributeName: z.SuperRefinement<{ name: string }[]> = (attributes, ctx) => {\n const names = new Set(attributes.map((attribute) => snakeCase(attribute.name)));\n if (names.size !== attributes.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Attributes must have unique names',\n });\n }\n};\n\nconst verifyUidTargetField: z.SuperRefinement<\n {\n action: 'create' | 'update' | 'delete';\n name: string;\n properties?: {\n type: unknown;\n targetField?: string | null;\n };\n }[]\n> = (attributes, ctx) => {\n attributes.forEach((attribute) => {\n if (!attribute.properties) {\n return;\n }\n\n const { properties, action } = attribute;\n\n if (properties.type === 'uid' && properties.targetField) {\n const targetAttr = attributes.find((attr) => attr.name === properties.targetField);\n\n if (!targetAttr) {\n // NOTE: on update we are setting it to undefined later in the process instead to handle renames\n if (action === 'create') {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Target does not exist',\n });\n }\n } else if (\n !VALID_UID_TARGETS.some((validUIdTarget) => validUIdTarget === targetAttr.properties?.type)\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Invalid target type',\n });\n }\n }\n });\n};\n\nconst verifySingularAndPluralNames: z.SuperRefinement<Record<string, unknown>> = (obj, ctx) => {\n // singular and plural can only be provided on creation\n if (obj.action !== 'create') {\n return;\n }\n\n if (obj.singularName === obj.pluralName) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Singular and plural names must be different',\n path: ['singularName'],\n });\n }\n};\n\nexport const maxLengthGreaterThanMinLength: z.SuperRefinement<Record<string, unknown>> = (\n value,\n ctx\n) => {\n if (\n !isNil(value.maxLength) &&\n !isNil(value.minLength) &&\n isNumber(value.maxLength) &&\n isNumber(value.minLength)\n ) {\n if (value.maxLength < value.minLength) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'maxLength must be greater or equal to minLength',\n path: ['maxLength'],\n });\n }\n }\n};\n\nexport const maxGreaterThanMin: z.SuperRefinement<Record<string, unknown>> = (value, ctx) => {\n if (!isNil(value.max) && !isNil(value.min) && isNumber(value.max) && isNumber(value.min)) {\n if (value.max < value.min) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'max must be greater or equal to min',\n path: ['max'],\n });\n }\n }\n};\n\nconst checkUserTarget: z.SuperRefinement<{\n type: string;\n target?: string;\n relation?: string;\n targetAttribute?: string | null;\n}> = (value, ctx) => {\n if (value.type !== 'relation') {\n return;\n }\n\n if (isUndefined(value.target) || isUndefined(value.relation)) {\n return;\n }\n\n const { target, relation, targetAttribute } = value;\n\n if (\n target === coreUids.STRAPI_USER &&\n (!STRAPI_USER_RELATIONS.includes(relation) || !isUndefined(targetAttribute))\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['relation'],\n message: `Relations to ${coreUids.STRAPI_USER} must be one of the following values: ${STRAPI_USER_RELATIONS.join(', ')} without targetAttribute`,\n });\n }\n};\n\nconst uidRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n targetField?: string | null;\n}> = (value, ctx) => {\n if (!isNil(value.targetField) && !isNil(value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Cannot define a default UID if the targetField is set',\n path: ['default'],\n });\n }\n};\n\nconst enumRefinement: z.SuperRefinement<{\n type: string;\n default?: unknown;\n enum?: string[];\n}> = (value, ctx) => {\n if (value.type === 'enumeration' && !isNil(value.default) && !isNil(value.enum)) {\n if (value.default === '' || !value.enum.some((v) => v === value.default)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Default value must be one of the enum values',\n path: ['default'],\n });\n }\n }\n};\n\nconst conditionSchema = z.object({\n visible: z.record(z.string(), z.array(z.any())),\n});\n\nconst basePropertiesSchema = z.object({\n type: z.enum([\n 'string',\n 'text',\n 'richtext',\n 'blocks',\n 'json',\n 'enumeration',\n 'password',\n 'email',\n 'integer',\n 'biginteger',\n 'float',\n 'decimal',\n 'time',\n 'datetime',\n 'date',\n 'timestamp',\n 'boolean',\n 'component',\n 'uid',\n 'customField',\n 'media',\n 'relation',\n 'dynamiczone',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst maxLengthSchema = z.number().int().positive().optional();\nconst minLengthSchema = z.number().int().positive().optional();\n\nconst requiredSchema = z.boolean().optional();\nconst uniqueSchema = z.boolean().optional();\n\nconst STRAPI_USER_RELATIONS = ['oneToOne', 'oneToMany'];\n\nconst baseRelationSchema = z.object({\n type: z.literal('relation'),\n relation: z.enum([\n 'oneToOne',\n 'oneToMany',\n 'manyToOne',\n 'manyToMany',\n 'morphOne',\n 'morphMany',\n 'morphToOne',\n 'morphToMany',\n ]),\n configurable: z.boolean().nullish(),\n private: z.boolean().nullish(),\n pluginOptions: z.record(z.unknown()).optional(),\n conditions: z.preprocess((val) => {\n return val;\n }, conditionSchema.optional()),\n});\n\nconst oneToOneSchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst oneWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToOne'),\n target: z.string(),\n});\n\nconst oneToManySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyWaySchema = baseRelationSchema.extend({\n relation: z.literal('oneToMany'),\n target: z.string(),\n});\n\nconst manyToOneSchema = baseRelationSchema.extend({\n relation: z.literal('manyToOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst manyToManySchema = baseRelationSchema.extend({\n relation: z.literal('manyToMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphOne'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphManySchema = baseRelationSchema.extend({\n relation: z.literal('morphMany'),\n target: z.string(),\n targetAttribute: z.string().nullish(),\n});\n\nconst morphToOneSchema = baseRelationSchema.extend({\n relation: z.literal('morphToOne'),\n});\n\nconst morphToManySchema = baseRelationSchema.extend({\n relation: z.literal('morphToMany'),\n});\n\nconst createRelationSchema = (meta: SchemaMeta) => {\n switch (meta.modelType) {\n case 'contentType': {\n switch (meta.kind) {\n case 'singleType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n\n case 'collectionType':\n return z.discriminatedUnion('relation', [\n oneToOneSchema,\n oneToManySchema,\n manyToOneSchema,\n manyToManySchema,\n morphOneSchema,\n morphManySchema,\n morphToOneSchema,\n morphToManySchema,\n ]);\n default:\n throw new Error('Invalid content type kind');\n }\n }\n\n case 'component': {\n return z.discriminatedUnion('relation', [oneWaySchema, manyWaySchema]);\n }\n default:\n throw new Error('Invalid model type');\n }\n};\n\nconst richTextSchema = basePropertiesSchema.extend({\n type: z.literal('richtext'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().optional(),\n});\n\nconst blocksSchema = basePropertiesSchema.extend({\n type: z.literal('blocks'),\n required: requiredSchema,\n});\n\nconst jsonSchema = basePropertiesSchema.extend({\n type: z.literal('json'),\n required: requiredSchema,\n default: z\n .unknown()\n .optional()\n .refine((value) => {\n if (value === undefined) {\n return true;\n }\n\n if (isNumber(value) || isNull(value) || isObject(value) || isArray(value)) {\n return true;\n }\n\n try {\n JSON.parse(value as string);\n\n return true;\n } catch (err) {\n return false;\n }\n }),\n});\n\nconst enumerationSchema = basePropertiesSchema.extend({\n type: z.literal('enumeration'),\n required: requiredSchema,\n default: z.string().optional(),\n enumName: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || NAME_REGEX.test(value as string);\n }, 'Invalid enum name'),\n enum: z\n .array(\n z.string().refine((value) => {\n return value === '' || !strings.startsWithANumber(value as string);\n })\n )\n .min(1)\n .refine((values) => {\n const filtered = [...new Set(values)];\n return filtered.length === values.length;\n }),\n});\n\nconst textSchema = basePropertiesSchema.extend({\n type: z.literal('text'),\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n required: requiredSchema,\n unique: uniqueSchema,\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst stringSchema = textSchema.extend({\n type: z.literal('string'),\n});\n\nconst passwordSchema = basePropertiesSchema.extend({\n type: z.literal('password'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n});\n\nconst emailSchema = basePropertiesSchema.extend({\n type: z.literal('email'),\n required: requiredSchema,\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n default: z.string().email().optional(),\n unique: uniqueSchema,\n});\n\nconst integerSchema = basePropertiesSchema.extend({\n type: z.literal('integer'),\n required: requiredSchema,\n default: z.number().int().optional(),\n unique: uniqueSchema,\n min: z.number().int().optional(),\n max: z.number().int().optional(),\n});\n\nconst bigIntegerSchema = basePropertiesSchema.extend({\n type: z.literal('biginteger'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().regex(/^\\d*$/).nullish(),\n min: z.string().regex(/^\\d*$/).nullish(),\n max: z.string().regex(/^\\d*$/).nullish(),\n});\n\nconst floatSchema = basePropertiesSchema.extend({\n type: z.literal('float'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst decimalSchema = basePropertiesSchema.extend({\n type: z.literal('decimal'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.number().optional(),\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst timeSchema = basePropertiesSchema.extend({\n type: z.literal('time'),\n required: requiredSchema,\n unique: uniqueSchema,\n default: z.string().optional(),\n});\n\nconst dateSchema = timeSchema.extend({\n type: z.literal('date'),\n});\n\nconst dateTimeSchema = timeSchema.extend({\n type: z.literal('datetime'),\n});\n\nconst timeStampSchema = basePropertiesSchema.extend({\n type: z.literal('timestamp'),\n});\n\nconst booleanSchema = basePropertiesSchema.extend({\n type: z.literal('boolean'),\n required: requiredSchema,\n default: z.boolean().optional(),\n});\n\nconst componentSchema = basePropertiesSchema.extend({\n type: z.literal('component'),\n component: z.string(),\n repeatable: z.boolean().optional(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst dynamicZoneSchema = basePropertiesSchema.extend({\n type: z.literal('dynamiczone'),\n components: z.array(z.string()).nonempty(),\n required: requiredSchema,\n min: z.number().optional(),\n max: z.number().optional(),\n});\n\nconst mediaSchema = basePropertiesSchema.extend({\n type: z.literal('media'),\n multiple: z.boolean().optional(),\n required: requiredSchema,\n allowedTypes: z\n .array(z.enum(['images', 'videos', 'files', 'audios']))\n .nonempty()\n .optional(),\n});\n\nconst uidSchema = basePropertiesSchema.extend({\n type: z.literal('uid'),\n targetField: z.string().nullish(),\n required: requiredSchema,\n default: z.string().nullish(),\n minLength: minLengthSchema,\n maxLength: maxLengthSchema,\n options: z\n .object({\n separator: z.string().optional(),\n lowercase: z.boolean().optional(),\n decamelize: z.boolean().optional(),\n customReplacements: z.array(z.array(z.string()).length(2)).optional(),\n preserveLeadingUnderscore: z.boolean().optional(),\n })\n .optional(),\n regex: z\n .string()\n .optional()\n .refine((value) => {\n return value === '' || !!new RegExp(value as string);\n }, 'Invalid regular expression pattern'),\n});\n\nconst customFieldSchema = basePropertiesSchema.extend({\n type: z.literal('customField'),\n customField: z.string(),\n});\n\nconst attributePropertiesSchema = (meta: SchemaMeta) => {\n const relationSchema = createRelationSchema(meta);\n\n const base = z.union([\n mediaSchema,\n textSchema,\n stringSchema,\n richTextSchema,\n blocksSchema,\n jsonSchema,\n enumerationSchema,\n passwordSchema,\n emailSchema,\n integerSchema,\n bigIntegerSchema,\n floatSchema,\n decimalSchema,\n timeSchema,\n dateSchema,\n dateTimeSchema,\n timeStampSchema,\n booleanSchema,\n componentSchema,\n customFieldSchema.passthrough(),\n\n relationSchema,\n ]);\n\n if (meta.modelType === 'component') {\n return base\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n }\n\n return z\n .union([...base.options, uidSchema, dynamicZoneSchema])\n .superRefine(enumRefinement)\n .superRefine(checkUserTarget)\n .superRefine(uidRefinement)\n .superRefine(maxGreaterThanMin)\n .superRefine(maxLengthGreaterThanMinLength);\n};\n\nconst createAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('create'),\n name: z\n .string()\n .regex(NAME_REGEX)\n .refine((value) => !isReservedAttributeName(value), 'Attribute name is reserved'),\n properties: attributePropertiesSchema(meta),\n });\n\nconst updateAttributeSchema = (meta: SchemaMeta) =>\n z.object({\n action: z.literal('update'),\n name: z.string(),\n properties: attributePropertiesSchema(meta),\n });\n\nconst deleteAttributeSchema = z.object({\n action: z.literal('delete'),\n name: z.string(),\n});\n\nconst contentTypeUIDSchema = z.custom<UID.ContentType>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst componentUIDSchema = z.custom<UID.Component>((value) => {\n return typeof value === 'string' && value.length > 0;\n});\n\nconst categorySchema = z.string().min(1).regex(CATEGORY_NAME_REGEX);\n\nconst baseComponentSchema = z.object({\n uid: componentUIDSchema,\n displayName: z.string().min(1),\n icon: z.string().regex(ICON_REGEX).optional(),\n description: z.string().optional(),\n category: categorySchema,\n pluginOptions: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createComponentSchema = baseComponentSchema.extend({\n action: z.literal('create'),\n config: z.record(z.string(), z.unknown()).optional().default({}),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'component',\n })\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst updateComponentSchema = baseComponentSchema.extend({\n action: z.literal('update'),\n category: categorySchema.optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'component',\n }),\n updateAttributeSchema({\n modelType: 'component',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName),\n});\n\nconst deleteComponentSchema = z.object({\n action: z.literal('delete'),\n uid: componentUIDSchema,\n});\n\nconst baseContentTypeSchema = z.object({\n uid: contentTypeUIDSchema,\n displayName: z.string().min(1),\n description: z.string().optional(),\n draftAndPublish: z.boolean(),\n options: z.record(z.unknown()).optional().default({}),\n pluginOptions: z.record(z.unknown()).optional().default({}),\n kind: z.enum([typeKinds.SINGLE_TYPE, typeKinds.COLLECTION_TYPE]).optional(),\n});\n\nconst baseCreateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('create'),\n collectionName: z.string().regex(COLLECTION_NAME_REGEX).optional(),\n singularName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n pluralName: z\n .string()\n .min(1)\n .regex(KEBAB_BASE_REGEX, 'Must be kebab case')\n .refine((value) => !isReservedModelName(value), 'Model name is reserved'),\n config: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst createSingleTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst createCollectionTypeSchema = baseCreateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE),\n attributes: z\n .array(\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n })\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst baseUpdateContentTypeSchema = baseContentTypeSchema.extend({\n action: z.literal('update'),\n});\n\nconst updateSingleTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.SINGLE_TYPE).optional(),\n attributes: z\n .array(\n z.discriminatedUnion('action', [\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'singleType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst updateCollectionTypeSchema = baseUpdateContentTypeSchema.extend({\n kind: z.literal(typeKinds.COLLECTION_TYPE).optional(),\n attributes: z\n .array(\n z.union([\n createAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n updateAttributeSchema({\n modelType: 'contentType',\n kind: 'collectionType',\n }),\n deleteAttributeSchema,\n ])\n )\n .superRefine(uniqueAttributeName)\n .superRefine(verifyUidTargetField),\n});\n\nconst deleteContentTypeSchema = z.object({\n action: z.literal('delete'),\n uid: contentTypeUIDSchema,\n});\n\nconst schemaSchema = z.object({\n components: z\n .array(z.union([createComponentSchema, updateComponentSchema, deleteComponentSchema]))\n .optional()\n .default([]),\n contentTypes: z\n .array(\n z\n .union([\n createSingleTypeSchema,\n createCollectionTypeSchema,\n updateSingleTypeSchema,\n updateCollectionTypeSchema,\n deleteContentTypeSchema,\n ])\n .superRefine(verifySingularAndPluralNames)\n )\n .optional()\n .default([]),\n});\n\ntype CreateComponentType = z.infer<typeof createComponentSchema>;\ntype UpdateComponentType = z.infer<typeof updateComponentSchema>;\ntype DeleteComponentType = z.infer<typeof deleteComponentSchema>;\ntype CreateCollectionType = z.infer<typeof createCollectionTypeSchema>;\ntype CreateSingleType = z.infer<typeof createSingleTypeSchema>;\ntype UpdateSingleType = z.infer<typeof updateSingleTypeSchema>;\ntype UpdateCollectionType = z.infer<typeof updateCollectionTypeSchema>;\ntype DeleteContentType = z.infer<typeof deleteContentTypeSchema>;\n\nexport type Schema = {\n components: Array<CreateComponentType | UpdateComponentType | DeleteComponentType>;\n contentTypes: Array<\n | CreateSingleType\n | CreateCollectionType\n | UpdateSingleType\n | UpdateCollectionType\n | DeleteContentType\n >;\n};\n\nexport const validateUpdateSchema = validateZod(\n z.object(\n {\n data: schemaSchema,\n },\n {\n invalid_type_error: 'Invalid schema, expected an object with a data property',\n required_error: 'Schema is required',\n }\n )\n);\n"],"names":["uniqueAttributeName","attributes","ctx","names","Set","map","attribute","snakeCase","name","size","length","addIssue","code","z","ZodIssueCode","custom","message","verifyUidTargetField","forEach","properties","action","type","targetField","targetAttr","find","attr","VALID_UID_TARGETS","some","validUIdTarget","verifySingularAndPluralNames","obj","singularName","pluralName","path","maxLengthGreaterThanMinLength","value","isNil","maxLength","minLength","isNumber","maxGreaterThanMin","max","min","checkUserTarget","isUndefined","target","relation","targetAttribute","coreUids","STRAPI_USER","STRAPI_USER_RELATIONS","includes","join","uidRefinement","default","enumRefinement","enum","v","conditionSchema","object","visible","record","string","array","any","basePropertiesSchema","configurable","boolean","nullish","private","pluginOptions","unknown","optional","conditions","preprocess","val","maxLengthSchema","number","int","positive","minLengthSchema","requiredSchema","uniqueSchema","baseRelationSchema","literal","oneToOneSchema","extend","oneWaySchema","oneToManySchema","manyWaySchema","manyToOneSchema","manyToManySchema","morphOneSchema","morphManySchema","morphToOneSchema","morphToManySchema","createRelationSchema","meta","modelType","kind","discriminatedUnion","Error","richTextSchema","required","blocksSchema","jsonSchema","refine","undefined","isNull","isObject","isArray","JSON","parse","err","enumerationSchema","enumName","NAME_REGEX","test","strings","startsWithANumber","values","filtered","textSchema","unique","regex","RegExp","stringSchema","passwordSchema","emailSchema","email","integerSchema","bigIntegerSchema","floatSchema","decimalSchema","timeSchema","dateSchema","dateTimeSchema","timeStampSchema","booleanSchema","componentSchema","component","repeatable","dynamicZoneSchema","components","nonempty","mediaSchema","multiple","allowedTypes","uidSchema","options","separator","lowercase","decamelize","customReplacements","preserveLeadingUnderscore","customFieldSchema","customField","attributePropertiesSchema","relationSchema","base","union","passthrough","superRefine","createAttributeSchema","isReservedAttributeName","updateAttributeSchema","deleteAttributeSchema","contentTypeUIDSchema","componentUIDSchema","categorySchema","CATEGORY_NAME_REGEX","baseComponentSchema","uid","displayName","icon","ICON_REGEX","description","category","createComponentSchema","config","updateComponentSchema","deleteComponentSchema","baseContentTypeSchema","draftAndPublish","typeKinds","SINGLE_TYPE","COLLECTION_TYPE","baseCreateContentTypeSchema","collectionName","COLLECTION_NAME_REGEX","KEBAB_BASE_REGEX","isReservedModelName","createSingleTypeSchema","createCollectionTypeSchema","baseUpdateContentTypeSchema","updateSingleTypeSchema","updateCollectionTypeSchema","deleteContentTypeSchema","schemaSchema","contentTypes","validateUpdateSchema","validateZod","data","invalid_type_error","required_error"],"mappings":"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"}
@@ -22,7 +22,6 @@ const getTypeValidator = (attribute, { types, modelType, attributes })=>{
22
22
  private: utils.yup.boolean().nullable(),
23
23
  pluginOptions: utils.yup.object(),
24
24
  ...getTypeShape(attribute, {
25
- modelType,
26
25
  attributes
27
26
  })
28
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../server/src/controllers/validation/types.ts"],"sourcesContent":["import _ from 'lodash';\nimport { yup } from '@strapi/utils';\n\nimport type { TestContext } from 'yup';\nimport type { Schema, Struct } from '@strapi/types';\n\nimport { modelTypes, VALID_UID_TARGETS } from '../../services/constants';\nimport {\n validators,\n areEnumValuesUnique,\n isValidDefaultJSON,\n isValidName,\n isValidEnum,\n isValidRegExpPattern,\n UID_REGEX,\n} from './common';\n\nexport type GetTypeValidatorOptions = {\n types: ReadonlyArray<string>;\n attributes?: Struct.SchemaAttributes;\n modelType?: (typeof modelTypes)[keyof typeof modelTypes];\n};\n\nconst maxLengthIsGreaterThanOrEqualToMinLength = {\n name: 'isGreaterThanMin',\n message: 'maxLength must be greater or equal to minLength',\n test(this: TestContext, value: unknown) {\n const { minLength } = this.parent;\n return !(!_.isUndefined(minLength) && !_.isUndefined(value) && (value as number) < minLength);\n },\n};\n\nexport const getTypeValidator = (\n attribute: Schema.Attribute.AnyAttribute,\n { types, modelType, attributes }: GetTypeValidatorOptions\n) => {\n return yup.object({\n type: yup\n .string()\n .oneOf([...types])\n .required(),\n configurable: yup.boolean().nullable(),\n private: yup.boolean().nullable(),\n pluginOptions: yup.object(),\n ...getTypeShape(attribute, { modelType, attributes }),\n } as any);\n};\n\nconst getTypeShape = (attribute: Schema.Attribute.AnyAttribute, { attributes }: any = {}) => {\n switch (attribute.type) {\n /**\n * complex types\n */\n\n case 'media': {\n return {\n multiple: yup.boolean(),\n required: validators.required,\n allowedTypes: yup\n .array()\n .of(yup.string().oneOf(['images', 'videos', 'files', 'audios']))\n .min(1),\n };\n }\n\n case 'uid': {\n return {\n required: validators.required,\n targetField: yup\n .string()\n .oneOf(\n Object.keys(attributes!).filter((key) =>\n VALID_UID_TARGETS.includes(_.get(attributes![key] as any, 'type'))\n )\n )\n .nullable(),\n default: yup\n .string()\n .test(\n 'isValidDefaultUID',\n 'cannot define a default UID if the targetField is set',\n function (value) {\n const { targetField } = this.parent;\n return !!(_.isNil(targetField) || _.isNil(value));\n }\n )\n .test(\n 'isValidDefaultRegexUID',\n `\\${path} must match the custom regex or the default one \"${UID_REGEX}\"`,\n function (value) {\n const { regex } = this.parent;\n\n if (regex) {\n return !_.isNil(value) && (value === '' || new RegExp(regex).test(value));\n }\n\n return value === '' || UID_REGEX.test(value as string);\n }\n ),\n minLength: validators.minLength,\n maxLength: validators.maxLength.max(256).test(maxLengthIsGreaterThanOrEqualToMinLength),\n options: yup.object().shape({\n separator: yup.string(),\n lowercase: yup.boolean(),\n decamelize: yup.boolean(),\n customReplacements: yup.array().of(yup.array().of(yup.string()).min(2).max(2)),\n preserveLeadingUnderscore: yup.boolean(),\n }),\n regex: yup.string().test(isValidRegExpPattern),\n };\n }\n\n /**\n * scalar types\n */\n case 'string': {\n return {\n default: yup.string(),\n required: validators.required,\n unique: validators.unique,\n minLength: validators.minLength,\n maxLength: validators.maxLength.max(255).test(maxLengthIsGreaterThanOrEqualToMinLength),\n regex: yup.string().test(isValidRegExpPattern),\n };\n }\n case 'text': {\n return {\n default: yup.string(),\n required: validators.required,\n unique: validators.unique,\n minLength: validators.minLength,\n maxLength: validators.maxLength,\n regex: yup.string().test(isValidRegExpPattern),\n };\n }\n case 'richtext': {\n return {\n default: yup.string(),\n required: validators.required,\n minLength: validators.minLength,\n maxLength: validators.maxLength,\n };\n }\n case 'blocks': {\n return {\n required: validators.required,\n };\n }\n case 'json': {\n return {\n default: yup.mixed().test(isValidDefaultJSON),\n required: validators.required,\n };\n }\n case 'enumeration': {\n return {\n enum: yup\n .array()\n .of(yup.string().test(isValidEnum).required())\n .min(1)\n .test(areEnumValuesUnique)\n .required(),\n default: yup.string().when('enum', (enumVal) => yup.string().oneOf(enumVal)),\n enumName: yup.string().test(isValidName),\n required: validators.required,\n };\n }\n case 'password': {\n return {\n required: validators.required,\n minLength: validators.minLength,\n maxLength: validators.maxLength,\n };\n }\n case 'email': {\n return {\n default: yup.string().email(),\n required: validators.required,\n unique: validators.unique,\n minLength: validators.minLength,\n maxLength: validators.maxLength,\n };\n }\n case 'integer': {\n return {\n default: yup.number().integer(),\n required: validators.required,\n unique: validators.unique,\n min: yup.number().integer(),\n max: yup.number().integer(),\n };\n }\n case 'biginteger': {\n return {\n default: yup.string().nullable().matches(/^\\d*$/),\n required: validators.required,\n unique: validators.unique,\n min: yup.string().nullable().matches(/^\\d*$/),\n max: yup.string().nullable().matches(/^\\d*$/),\n };\n }\n case 'float': {\n return {\n default: yup.number(),\n required: validators.required,\n unique: validators.unique,\n min: yup.number(),\n max: yup.number(),\n };\n }\n case 'decimal': {\n return {\n default: yup.number(),\n required: validators.required,\n unique: validators.unique,\n min: yup.number(),\n max: yup.number(),\n };\n }\n case 'time':\n case 'datetime':\n case 'date': {\n return {\n default: yup.string(),\n required: validators.required,\n unique: validators.unique,\n };\n }\n case 'boolean': {\n return {\n default: yup.boolean().nullable(),\n required: validators.required,\n };\n }\n\n case 'component': {\n return {\n required: validators.required,\n repeatable: yup.boolean(),\n // TODO: Add correct server validation for nested components\n component: yup.string().required(),\n min: yup.number(),\n max: yup.number(),\n };\n }\n\n case 'dynamiczone': {\n return {\n required: validators.required,\n components: yup\n .array()\n .of(yup.string().required())\n .test('isArray', '${path} must be an array', (value) => Array.isArray(value))\n .min(1),\n min: yup.number(),\n max: yup.number(),\n };\n }\n\n default: {\n return {};\n }\n }\n};\n"],"names":["maxLengthIsGreaterThanOrEqualToMinLength","name","message","test","value","minLength","parent","_","isUndefined","getTypeValidator","attribute","types","modelType","attributes","yup","object","type","string","oneOf","required","configurable","boolean","nullable","private","pluginOptions","getTypeShape","multiple","validators","allowedTypes","array","of","min","targetField","Object","keys","filter","key","VALID_UID_TARGETS","includes","get","default","isNil","UID_REGEX","regex","RegExp","maxLength","max","options","shape","separator","lowercase","decamelize","customReplacements","preserveLeadingUnderscore","isValidRegExpPattern","unique","mixed","isValidDefaultJSON","enum","isValidEnum","areEnumValuesUnique","when","enumVal","enumName","isValidName","email","number","integer","matches","repeatable","component","components","Array","isArray"],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sources":["../../../../server/src/controllers/validation/types.ts"],"sourcesContent":["import _ from 'lodash';\nimport { yup } from '@strapi/utils';\n\nimport type { TestContext } from 'yup';\nimport type { Schema, Struct } from '@strapi/types';\n\nimport { modelTypes, VALID_UID_TARGETS } from '../../services/constants';\nimport {\n validators,\n areEnumValuesUnique,\n isValidDefaultJSON,\n isValidName,\n isValidEnum,\n isValidRegExpPattern,\n UID_REGEX,\n} from './common';\n\nexport type GetTypeValidatorOptions = {\n types: ReadonlyArray<string>;\n attributes?: Struct.SchemaAttributes;\n modelType?: (typeof modelTypes)[keyof typeof modelTypes];\n};\n\nconst maxLengthIsGreaterThanOrEqualToMinLength = {\n name: 'isGreaterThanMin',\n message: 'maxLength must be greater or equal to minLength',\n test(this: TestContext, value: unknown) {\n const { minLength } = this.parent;\n return !(!_.isUndefined(minLength) && !_.isUndefined(value) && (value as number) < minLength);\n },\n};\n\nexport const getTypeValidator = (\n attribute: Schema.Attribute.AnyAttribute,\n { types, modelType, attributes }: GetTypeValidatorOptions\n) => {\n return yup.object({\n type: yup\n .string()\n .oneOf([...types])\n .required(),\n configurable: yup.boolean().nullable(),\n private: yup.boolean().nullable(),\n pluginOptions: yup.object(),\n ...getTypeShape(attribute, { modelType, attributes }),\n } as any);\n};\n\nconst getTypeShape = (attribute: Schema.Attribute.AnyAttribute, { attributes }: any = {}) => {\n switch (attribute.type) {\n /**\n * complex types\n */\n\n case 'media': {\n return {\n multiple: yup.boolean(),\n required: validators.required,\n allowedTypes: yup\n .array()\n .of(yup.string().oneOf(['images', 'videos', 'files', 'audios']))\n .min(1),\n };\n }\n\n case 'uid': {\n return {\n required: validators.required,\n targetField: yup\n .string()\n .oneOf(\n Object.keys(attributes!).filter((key) =>\n VALID_UID_TARGETS.includes(_.get(attributes![key] as any, 'type'))\n )\n )\n .nullable(),\n default: yup\n .string()\n .test(\n 'isValidDefaultUID',\n 'cannot define a default UID if the targetField is set',\n function (value) {\n const { targetField } = this.parent;\n return !!(_.isNil(targetField) || _.isNil(value));\n }\n )\n .test(\n 'isValidDefaultRegexUID',\n `\\${path} must match the custom regex or the default one \"${UID_REGEX}\"`,\n function (value) {\n const { regex } = this.parent;\n\n if (regex) {\n return !_.isNil(value) && (value === '' || new RegExp(regex).test(value));\n }\n\n return value === '' || UID_REGEX.test(value as string);\n }\n ),\n minLength: validators.minLength,\n maxLength: validators.maxLength.max(256).test(maxLengthIsGreaterThanOrEqualToMinLength),\n options: yup.object().shape({\n separator: yup.string(),\n lowercase: yup.boolean(),\n decamelize: yup.boolean(),\n customReplacements: yup.array().of(yup.array().of(yup.string()).min(2).max(2)),\n preserveLeadingUnderscore: yup.boolean(),\n }),\n regex: yup.string().test(isValidRegExpPattern),\n };\n }\n\n /**\n * scalar types\n */\n case 'string': {\n return {\n default: yup.string(),\n required: validators.required,\n unique: validators.unique,\n minLength: validators.minLength,\n maxLength: validators.maxLength.max(255).test(maxLengthIsGreaterThanOrEqualToMinLength),\n regex: yup.string().test(isValidRegExpPattern),\n };\n }\n case 'text': {\n return {\n default: yup.string(),\n required: validators.required,\n unique: validators.unique,\n minLength: validators.minLength,\n maxLength: validators.maxLength,\n regex: yup.string().test(isValidRegExpPattern),\n };\n }\n case 'richtext': {\n return {\n default: yup.string(),\n required: validators.required,\n minLength: validators.minLength,\n maxLength: validators.maxLength,\n };\n }\n case 'blocks': {\n return {\n required: validators.required,\n };\n }\n case 'json': {\n return {\n default: yup.mixed().test(isValidDefaultJSON),\n required: validators.required,\n };\n }\n case 'enumeration': {\n return {\n enum: yup\n .array()\n .of(yup.string().test(isValidEnum).required())\n .min(1)\n .test(areEnumValuesUnique)\n .required(),\n default: yup.string().when('enum', (enumVal) => yup.string().oneOf(enumVal)),\n enumName: yup.string().test(isValidName),\n required: validators.required,\n };\n }\n case 'password': {\n return {\n required: validators.required,\n minLength: validators.minLength,\n maxLength: validators.maxLength,\n };\n }\n case 'email': {\n return {\n default: yup.string().email(),\n required: validators.required,\n unique: validators.unique,\n minLength: validators.minLength,\n maxLength: validators.maxLength,\n };\n }\n case 'integer': {\n return {\n default: yup.number().integer(),\n required: validators.required,\n unique: validators.unique,\n min: yup.number().integer(),\n max: yup.number().integer(),\n };\n }\n case 'biginteger': {\n return {\n default: yup.string().nullable().matches(/^\\d*$/),\n required: validators.required,\n unique: validators.unique,\n min: yup.string().nullable().matches(/^\\d*$/),\n max: yup.string().nullable().matches(/^\\d*$/),\n };\n }\n case 'float': {\n return {\n default: yup.number(),\n required: validators.required,\n unique: validators.unique,\n min: yup.number(),\n max: yup.number(),\n };\n }\n case 'decimal': {\n return {\n default: yup.number(),\n required: validators.required,\n unique: validators.unique,\n min: yup.number(),\n max: yup.number(),\n };\n }\n case 'time':\n case 'datetime':\n case 'date': {\n return {\n default: yup.string(),\n required: validators.required,\n unique: validators.unique,\n };\n }\n case 'boolean': {\n return {\n default: yup.boolean().nullable(),\n required: validators.required,\n };\n }\n\n case 'component': {\n return {\n required: validators.required,\n repeatable: yup.boolean(),\n // TODO: Add correct server validation for nested components\n component: yup.string().required(),\n min: yup.number(),\n max: yup.number(),\n };\n }\n\n case 'dynamiczone': {\n return {\n required: validators.required,\n components: yup\n .array()\n .of(yup.string().required())\n .test('isArray', '${path} must be an array', (value) => Array.isArray(value))\n .min(1),\n min: yup.number(),\n max: yup.number(),\n };\n }\n\n default: {\n return {};\n }\n }\n};\n"],"names":["maxLengthIsGreaterThanOrEqualToMinLength","name","message","test","value","minLength","parent","_","isUndefined","getTypeValidator","attribute","types","modelType","attributes","yup","object","type","string","oneOf","required","configurable","boolean","nullable","private","pluginOptions","getTypeShape","multiple","validators","allowedTypes","array","of","min","targetField","Object","keys","filter","key","VALID_UID_TARGETS","includes","get","default","isNil","UID_REGEX","regex","RegExp","maxLength","max","options","shape","separator","lowercase","decamelize","customReplacements","preserveLeadingUnderscore","isValidRegExpPattern","unique","mixed","isValidDefaultJSON","enum","isValidEnum","areEnumValuesUnique","when","enumVal","enumName","isValidName","email","number","integer","matches","repeatable","component","components","Array","isArray"],"mappings":"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"}