@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":"nameToSlug.mjs","sources":["../../../admin/src/utils/nameToSlug.ts"],"sourcesContent":["import slugify from '@sindresorhus/slugify';\n\nexport const nameToSlug = (name: string) => slugify(name, { separator: '-' });\n"],"names":["nameToSlug","name","slugify","separator"],"mappings":";;AAEaA,MAAAA,UAAAA,GAAa,CAACC,IAAAA,GAAiBC,QAAQD,IAAM,EAAA;QAAEE,SAAW,EAAA;KAAO;;;;"}
1
+ {"version":3,"file":"nameToSlug.mjs","sources":["../../../admin/src/utils/nameToSlug.ts"],"sourcesContent":["import slugify from '@sindresorhus/slugify';\n\nexport const nameToSlug = (name: string) => slugify(name, { separator: '-' });\n"],"names":["nameToSlug","name","slugify","separator"],"mappings":";;AAEO,MAAMA,UAAAA,GAAa,CAACC,IAAAA,GAAiBC,QAAQD,IAAAA,EAAM;QAAEE,SAAAA,EAAW;KAAI;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseDateValue.js","sources":["../../../admin/src/utils/parseDateValue.ts"],"sourcesContent":["export const parseDateValue = (value: unknown): Date | undefined => {\n if (value instanceof Date && isValidDate(value)) {\n return value;\n }\n\n if (typeof value === 'string' || typeof value === 'number') {\n const date = new Date(value);\n if (isValidDate(date)) {\n return date;\n }\n }\n};\n\nconst isValidDate = (date: Date): boolean => !isNaN(date.getTime());\n"],"names":["parseDateValue","value","Date","isValidDate","date","isNaN","getTime"],"mappings":";;AAAO,MAAMA,iBAAiB,CAACC,KAAAA,GAAAA;IAC7B,IAAIA,KAAAA,YAAiBC,IAAQC,IAAAA,WAAAA,CAAYF,KAAQ,CAAA,EAAA;QAC/C,OAAOA,KAAAA;AACT;AAEA,IAAA,IAAI,OAAOA,KAAAA,KAAU,QAAY,IAAA,OAAOA,UAAU,QAAU,EAAA;QAC1D,MAAMG,IAAAA,GAAO,IAAIF,IAAKD,CAAAA,KAAAA,CAAAA;AACtB,QAAA,IAAIE,YAAYC,IAAO,CAAA,EAAA;YACrB,OAAOA,IAAAA;AACT;AACF;AACF;AAEA,MAAMD,cAAc,CAACC,IAAAA,GAAwB,CAACC,KAAAA,CAAMD,KAAKE,OAAO,EAAA,CAAA;;;;"}
1
+ {"version":3,"file":"parseDateValue.js","sources":["../../../admin/src/utils/parseDateValue.ts"],"sourcesContent":["export const parseDateValue = (value: unknown): Date | undefined => {\n if (value instanceof Date && isValidDate(value)) {\n return value;\n }\n\n if (typeof value === 'string' || typeof value === 'number') {\n const date = new Date(value);\n if (isValidDate(date)) {\n return date;\n }\n }\n};\n\nconst isValidDate = (date: Date): boolean => !isNaN(date.getTime());\n"],"names":["parseDateValue","value","Date","isValidDate","date","isNaN","getTime"],"mappings":";;AAAO,MAAMA,iBAAiB,CAACC,KAAAA,GAAAA;IAC7B,IAAIA,KAAAA,YAAiBC,IAAAA,IAAQC,WAAAA,CAAYF,KAAAA,CAAAA,EAAQ;QAC/C,OAAOA,KAAAA;AACT,IAAA;AAEA,IAAA,IAAI,OAAOA,KAAAA,KAAU,QAAA,IAAY,OAAOA,UAAU,QAAA,EAAU;QAC1D,MAAMG,IAAAA,GAAO,IAAIF,IAAAA,CAAKD,KAAAA,CAAAA;AACtB,QAAA,IAAIE,YAAYC,IAAAA,CAAAA,EAAO;YACrB,OAAOA,IAAAA;AACT,QAAA;AACF,IAAA;AACF;AAEA,MAAMD,cAAc,CAACC,IAAAA,GAAwB,CAACC,KAAAA,CAAMD,KAAKE,OAAO,EAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseDateValue.mjs","sources":["../../../admin/src/utils/parseDateValue.ts"],"sourcesContent":["export const parseDateValue = (value: unknown): Date | undefined => {\n if (value instanceof Date && isValidDate(value)) {\n return value;\n }\n\n if (typeof value === 'string' || typeof value === 'number') {\n const date = new Date(value);\n if (isValidDate(date)) {\n return date;\n }\n }\n};\n\nconst isValidDate = (date: Date): boolean => !isNaN(date.getTime());\n"],"names":["parseDateValue","value","Date","isValidDate","date","isNaN","getTime"],"mappings":"AAAO,MAAMA,iBAAiB,CAACC,KAAAA,GAAAA;IAC7B,IAAIA,KAAAA,YAAiBC,IAAQC,IAAAA,WAAAA,CAAYF,KAAQ,CAAA,EAAA;QAC/C,OAAOA,KAAAA;AACT;AAEA,IAAA,IAAI,OAAOA,KAAAA,KAAU,QAAY,IAAA,OAAOA,UAAU,QAAU,EAAA;QAC1D,MAAMG,IAAAA,GAAO,IAAIF,IAAKD,CAAAA,KAAAA,CAAAA;AACtB,QAAA,IAAIE,YAAYC,IAAO,CAAA,EAAA;YACrB,OAAOA,IAAAA;AACT;AACF;AACF;AAEA,MAAMD,cAAc,CAACC,IAAAA,GAAwB,CAACC,KAAAA,CAAMD,KAAKE,OAAO,EAAA,CAAA;;;;"}
1
+ {"version":3,"file":"parseDateValue.mjs","sources":["../../../admin/src/utils/parseDateValue.ts"],"sourcesContent":["export const parseDateValue = (value: unknown): Date | undefined => {\n if (value instanceof Date && isValidDate(value)) {\n return value;\n }\n\n if (typeof value === 'string' || typeof value === 'number') {\n const date = new Date(value);\n if (isValidDate(date)) {\n return date;\n }\n }\n};\n\nconst isValidDate = (date: Date): boolean => !isNaN(date.getTime());\n"],"names":["parseDateValue","value","Date","isValidDate","date","isNaN","getTime"],"mappings":"AAAO,MAAMA,iBAAiB,CAACC,KAAAA,GAAAA;IAC7B,IAAIA,KAAAA,YAAiBC,IAAAA,IAAQC,WAAAA,CAAYF,KAAAA,CAAAA,EAAQ;QAC/C,OAAOA,KAAAA;AACT,IAAA;AAEA,IAAA,IAAI,OAAOA,KAAAA,KAAU,QAAA,IAAY,OAAOA,UAAU,QAAA,EAAU;QAC1D,MAAMG,IAAAA,GAAO,IAAIF,IAAAA,CAAKD,KAAAA,CAAAA;AACtB,QAAA,IAAIE,YAAYC,IAAAA,CAAAA,EAAO;YACrB,OAAOA,IAAAA;AACT,QAAA;AACF,IAAA;AACF;AAEA,MAAMD,cAAc,CAACC,IAAAA,GAAwB,CAACC,KAAAA,CAAMD,KAAKE,OAAO,EAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"prefixPluginTranslations.js","sources":["../../../admin/src/utils/prefixPluginTranslations.ts"],"sourcesContent":["type TradOptions = Record<string, string>;\n\nconst prefixPluginTranslations = (trad: TradOptions, pluginId: string): TradOptions => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n return acc;\n }, {} as TradOptions);\n};\n\nexport { prefixPluginTranslations };\n"],"names":["prefixPluginTranslations","trad","pluginId","Object","keys","reduce","acc","current"],"mappings":";;AAEMA,MAAAA,wBAAAA,GAA2B,CAACC,IAAmBC,EAAAA,QAAAA,GAAAA;AAInD,IAAA,OAAOC,OAAOC,IAAI,CAACH,MAAMI,MAAM,CAAC,CAACC,GAAKC,EAAAA,OAAAA,GAAAA;QACpCD,GAAG,CAAC,CAAGJ,EAAAA,QAAAA,CAAS,CAAC,EAAEK,SAAS,CAAC,GAAGN,IAAI,CAACM,OAAQ,CAAA;QAC7C,OAAOD,GAAAA;AACT,KAAA,EAAG,EAAC,CAAA;AACN;;;;"}
1
+ {"version":3,"file":"prefixPluginTranslations.js","sources":["../../../admin/src/utils/prefixPluginTranslations.ts"],"sourcesContent":["type TradOptions = Record<string, string>;\n\nconst prefixPluginTranslations = (trad: TradOptions, pluginId: string): TradOptions => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n return acc;\n }, {} as TradOptions);\n};\n\nexport { prefixPluginTranslations };\n"],"names":["prefixPluginTranslations","trad","pluginId","Object","keys","reduce","acc","current"],"mappings":";;AAEA,MAAMA,wBAAAA,GAA2B,CAACC,IAAAA,EAAmBC,QAAAA,GAAAA;AAInD,IAAA,OAAOC,OAAOC,IAAI,CAACH,MAAMI,MAAM,CAAC,CAACC,GAAAA,EAAKC,OAAAA,GAAAA;QACpCD,GAAG,CAAC,CAAA,EAAGJ,QAAAA,CAAS,CAAC,EAAEK,SAAS,CAAC,GAAGN,IAAI,CAACM,OAAAA,CAAQ;QAC7C,OAAOD,GAAAA;AACT,IAAA,CAAA,EAAG,EAAC,CAAA;AACN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"prefixPluginTranslations.mjs","sources":["../../../admin/src/utils/prefixPluginTranslations.ts"],"sourcesContent":["type TradOptions = Record<string, string>;\n\nconst prefixPluginTranslations = (trad: TradOptions, pluginId: string): TradOptions => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n return acc;\n }, {} as TradOptions);\n};\n\nexport { prefixPluginTranslations };\n"],"names":["prefixPluginTranslations","trad","pluginId","Object","keys","reduce","acc","current"],"mappings":"AAEMA,MAAAA,wBAAAA,GAA2B,CAACC,IAAmBC,EAAAA,QAAAA,GAAAA;AAInD,IAAA,OAAOC,OAAOC,IAAI,CAACH,MAAMI,MAAM,CAAC,CAACC,GAAKC,EAAAA,OAAAA,GAAAA;QACpCD,GAAG,CAAC,CAAGJ,EAAAA,QAAAA,CAAS,CAAC,EAAEK,SAAS,CAAC,GAAGN,IAAI,CAACM,OAAQ,CAAA;QAC7C,OAAOD,GAAAA;AACT,KAAA,EAAG,EAAC,CAAA;AACN;;;;"}
1
+ {"version":3,"file":"prefixPluginTranslations.mjs","sources":["../../../admin/src/utils/prefixPluginTranslations.ts"],"sourcesContent":["type TradOptions = Record<string, string>;\n\nconst prefixPluginTranslations = (trad: TradOptions, pluginId: string): TradOptions => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n return acc;\n }, {} as TradOptions);\n};\n\nexport { prefixPluginTranslations };\n"],"names":["prefixPluginTranslations","trad","pluginId","Object","keys","reduce","acc","current"],"mappings":"AAEA,MAAMA,wBAAAA,GAA2B,CAACC,IAAAA,EAAmBC,QAAAA,GAAAA;AAInD,IAAA,OAAOC,OAAOC,IAAI,CAACH,MAAMI,MAAM,CAAC,CAACC,GAAAA,EAAKC,OAAAA,GAAAA;QACpCD,GAAG,CAAC,CAAA,EAAGJ,QAAAA,CAAS,CAAC,EAAEK,SAAS,CAAC,GAAGN,IAAI,CAACM,OAAAA,CAAQ;QAC7C,OAAOD,GAAAA;AACT,IAAA,CAAA,EAAG,EAAC,CAAA;AACN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"timeFormat.js","sources":["../../../admin/src/utils/timeFormat.ts"],"sourcesContent":["type TimeChangeHandler = (params: {\n target: { name: string; value: string | undefined; type: string };\n}) => void;\n\ntype TimeChangeParams = {\n value?: string;\n onChange: TimeChangeHandler;\n name: string;\n type: string;\n};\n\n// The backend sends a value which has the following format: '00:45:00.000'\n// but the time picker only supports hours & minutes so we need to mutate the value\nconst removeSeconds = (time: string): string => {\n const [hours, minutes] = time.split(':');\n return `${hours}:${minutes}`;\n};\n\n// we need to send back the value with the same '00:45:00.000' format\nconst addSecondsAndMilliseconds = (time: string): string => {\n return time.split(':').length === 2 ? `${time}:00.000` : time;\n};\n\nconst formatTimeForInput = (value?: string): string | undefined => {\n if (!value) return;\n return value.split(':').length > 2 ? removeSeconds(value) : value;\n};\n\nconst formatTimeForOutput = (value?: string): string | undefined => {\n if (!value) return undefined;\n return addSecondsAndMilliseconds(value);\n};\n\nexport const handleTimeChange = ({ value }: TimeChangeParams): string | undefined => {\n const formattedInputTime = formatTimeForInput(value);\n\n return formattedInputTime;\n};\n\nexport const handleTimeChangeEvent = (\n onChange: TimeChangeHandler,\n name: string,\n type: string,\n time?: string\n): void => {\n const formattedOutputTime = formatTimeForOutput(time);\n\n onChange({\n target: {\n name,\n value: formattedOutputTime,\n type,\n },\n });\n};\n"],"names":["removeSeconds","time","hours","minutes","split","addSecondsAndMilliseconds","length","formatTimeForInput","value","formatTimeForOutput","undefined","handleTimeChange","formattedInputTime","handleTimeChangeEvent","onChange","name","type","formattedOutputTime","target"],"mappings":";;AAWA;AACA;AACA,MAAMA,gBAAgB,CAACC,IAAAA,GAAAA;AACrB,IAAA,MAAM,CAACC,KAAOC,EAAAA,OAAAA,CAAQ,GAAGF,IAAAA,CAAKG,KAAK,CAAC,GAAA,CAAA;AACpC,IAAA,OAAO,CAAGF,EAAAA,KAAAA,CAAM,CAAC,EAAEC,OAAS,CAAA,CAAA;AAC9B,CAAA;AAEA;AACA,MAAME,4BAA4B,CAACJ,IAAAA,GAAAA;IACjC,OAAOA,IAAAA,CAAKG,KAAK,CAAC,GAAKE,CAAAA,CAAAA,MAAM,KAAK,CAAA,GAAI,CAAGL,EAAAA,IAAAA,CAAK,OAAO,CAAC,GAAGA,IAAAA;AAC3D,CAAA;AAEA,MAAMM,qBAAqB,CAACC,KAAAA,GAAAA;AAC1B,IAAA,IAAI,CAACA,KAAO,EAAA;IACZ,OAAOA,KAAAA,CAAMJ,KAAK,CAAC,GAAA,CAAA,CAAKE,MAAM,GAAG,CAAA,GAAIN,cAAcQ,KAASA,CAAAA,GAAAA,KAAAA;AAC9D,CAAA;AAEA,MAAMC,sBAAsB,CAACD,KAAAA,GAAAA;IAC3B,IAAI,CAACA,OAAO,OAAOE,SAAAA;AACnB,IAAA,OAAOL,yBAA0BG,CAAAA,KAAAA,CAAAA;AACnC,CAAA;AAEaG,MAAAA,gBAAAA,GAAmB,CAAC,EAAEH,KAAK,EAAoB,GAAA;AAC1D,IAAA,MAAMI,qBAAqBL,kBAAmBC,CAAAA,KAAAA,CAAAA;IAE9C,OAAOI,kBAAAA;AACT;AAEaC,MAAAA,qBAAAA,GAAwB,CACnCC,QAAAA,EACAC,MACAC,IACAf,EAAAA,IAAAA,GAAAA;AAEA,IAAA,MAAMgB,sBAAsBR,mBAAoBR,CAAAA,IAAAA,CAAAA;IAEhDa,QAAS,CAAA;QACPI,MAAQ,EAAA;AACNH,YAAAA,IAAAA;YACAP,KAAOS,EAAAA,mBAAAA;AACPD,YAAAA;AACF;AACF,KAAA,CAAA;AACF;;;;;"}
1
+ {"version":3,"file":"timeFormat.js","sources":["../../../admin/src/utils/timeFormat.ts"],"sourcesContent":["type TimeChangeHandler = (params: {\n target: { name: string; value: string | undefined; type: string };\n}) => void;\n\ntype TimeChangeParams = {\n value?: string;\n onChange: TimeChangeHandler;\n name: string;\n type: string;\n};\n\n// The backend sends a value which has the following format: '00:45:00.000'\n// but the time picker only supports hours & minutes so we need to mutate the value\nconst removeSeconds = (time: string): string => {\n const [hours, minutes] = time.split(':');\n return `${hours}:${minutes}`;\n};\n\n// we need to send back the value with the same '00:45:00.000' format\nconst addSecondsAndMilliseconds = (time: string): string => {\n return time.split(':').length === 2 ? `${time}:00.000` : time;\n};\n\nconst formatTimeForInput = (value?: string): string | undefined => {\n if (!value) return;\n return value.split(':').length > 2 ? removeSeconds(value) : value;\n};\n\nconst formatTimeForOutput = (value?: string): string | undefined => {\n if (!value) return undefined;\n return addSecondsAndMilliseconds(value);\n};\n\nexport const handleTimeChange = ({ value }: TimeChangeParams): string | undefined => {\n const formattedInputTime = formatTimeForInput(value);\n\n return formattedInputTime;\n};\n\nexport const handleTimeChangeEvent = (\n onChange: TimeChangeHandler,\n name: string,\n type: string,\n time?: string\n): void => {\n const formattedOutputTime = formatTimeForOutput(time);\n\n onChange({\n target: {\n name,\n value: formattedOutputTime,\n type,\n },\n });\n};\n"],"names":["removeSeconds","time","hours","minutes","split","addSecondsAndMilliseconds","length","formatTimeForInput","value","formatTimeForOutput","undefined","handleTimeChange","formattedInputTime","handleTimeChangeEvent","onChange","name","type","formattedOutputTime","target"],"mappings":";;AAWA;AACA;AACA,MAAMA,gBAAgB,CAACC,IAAAA,GAAAA;AACrB,IAAA,MAAM,CAACC,KAAAA,EAAOC,OAAAA,CAAQ,GAAGF,IAAAA,CAAKG,KAAK,CAAC,GAAA,CAAA;AACpC,IAAA,OAAO,CAAA,EAAGF,KAAAA,CAAM,CAAC,EAAEC,OAAAA,CAAAA,CAAS;AAC9B,CAAA;AAEA;AACA,MAAME,4BAA4B,CAACJ,IAAAA,GAAAA;IACjC,OAAOA,IAAAA,CAAKG,KAAK,CAAC,GAAA,CAAA,CAAKE,MAAM,KAAK,CAAA,GAAI,CAAA,EAAGL,IAAAA,CAAK,OAAO,CAAC,GAAGA,IAAAA;AAC3D,CAAA;AAEA,MAAMM,qBAAqB,CAACC,KAAAA,GAAAA;AAC1B,IAAA,IAAI,CAACA,KAAAA,EAAO;IACZ,OAAOA,KAAAA,CAAMJ,KAAK,CAAC,GAAA,CAAA,CAAKE,MAAM,GAAG,CAAA,GAAIN,cAAcQ,KAAAA,CAAAA,GAASA,KAAAA;AAC9D,CAAA;AAEA,MAAMC,sBAAsB,CAACD,KAAAA,GAAAA;IAC3B,IAAI,CAACA,OAAO,OAAOE,SAAAA;AACnB,IAAA,OAAOL,yBAAAA,CAA0BG,KAAAA,CAAAA;AACnC,CAAA;AAEO,MAAMG,gBAAAA,GAAmB,CAAC,EAAEH,KAAK,EAAoB,GAAA;AAC1D,IAAA,MAAMI,qBAAqBL,kBAAAA,CAAmBC,KAAAA,CAAAA;IAE9C,OAAOI,kBAAAA;AACT;AAEO,MAAMC,qBAAAA,GAAwB,CACnCC,QAAAA,EACAC,MACAC,IAAAA,EACAf,IAAAA,GAAAA;AAEA,IAAA,MAAMgB,sBAAsBR,mBAAAA,CAAoBR,IAAAA,CAAAA;IAEhDa,QAAAA,CAAS;QACPI,MAAAA,EAAQ;AACNH,YAAAA,IAAAA;YACAP,KAAAA,EAAOS,mBAAAA;AACPD,YAAAA;AACF;AACF,KAAA,CAAA;AACF;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"timeFormat.mjs","sources":["../../../admin/src/utils/timeFormat.ts"],"sourcesContent":["type TimeChangeHandler = (params: {\n target: { name: string; value: string | undefined; type: string };\n}) => void;\n\ntype TimeChangeParams = {\n value?: string;\n onChange: TimeChangeHandler;\n name: string;\n type: string;\n};\n\n// The backend sends a value which has the following format: '00:45:00.000'\n// but the time picker only supports hours & minutes so we need to mutate the value\nconst removeSeconds = (time: string): string => {\n const [hours, minutes] = time.split(':');\n return `${hours}:${minutes}`;\n};\n\n// we need to send back the value with the same '00:45:00.000' format\nconst addSecondsAndMilliseconds = (time: string): string => {\n return time.split(':').length === 2 ? `${time}:00.000` : time;\n};\n\nconst formatTimeForInput = (value?: string): string | undefined => {\n if (!value) return;\n return value.split(':').length > 2 ? removeSeconds(value) : value;\n};\n\nconst formatTimeForOutput = (value?: string): string | undefined => {\n if (!value) return undefined;\n return addSecondsAndMilliseconds(value);\n};\n\nexport const handleTimeChange = ({ value }: TimeChangeParams): string | undefined => {\n const formattedInputTime = formatTimeForInput(value);\n\n return formattedInputTime;\n};\n\nexport const handleTimeChangeEvent = (\n onChange: TimeChangeHandler,\n name: string,\n type: string,\n time?: string\n): void => {\n const formattedOutputTime = formatTimeForOutput(time);\n\n onChange({\n target: {\n name,\n value: formattedOutputTime,\n type,\n },\n });\n};\n"],"names":["removeSeconds","time","hours","minutes","split","addSecondsAndMilliseconds","length","formatTimeForInput","value","formatTimeForOutput","undefined","handleTimeChange","formattedInputTime","handleTimeChangeEvent","onChange","name","type","formattedOutputTime","target"],"mappings":"AAWA;AACA;AACA,MAAMA,gBAAgB,CAACC,IAAAA,GAAAA;AACrB,IAAA,MAAM,CAACC,KAAOC,EAAAA,OAAAA,CAAQ,GAAGF,IAAAA,CAAKG,KAAK,CAAC,GAAA,CAAA;AACpC,IAAA,OAAO,CAAGF,EAAAA,KAAAA,CAAM,CAAC,EAAEC,OAAS,CAAA,CAAA;AAC9B,CAAA;AAEA;AACA,MAAME,4BAA4B,CAACJ,IAAAA,GAAAA;IACjC,OAAOA,IAAAA,CAAKG,KAAK,CAAC,GAAKE,CAAAA,CAAAA,MAAM,KAAK,CAAA,GAAI,CAAGL,EAAAA,IAAAA,CAAK,OAAO,CAAC,GAAGA,IAAAA;AAC3D,CAAA;AAEA,MAAMM,qBAAqB,CAACC,KAAAA,GAAAA;AAC1B,IAAA,IAAI,CAACA,KAAO,EAAA;IACZ,OAAOA,KAAAA,CAAMJ,KAAK,CAAC,GAAA,CAAA,CAAKE,MAAM,GAAG,CAAA,GAAIN,cAAcQ,KAASA,CAAAA,GAAAA,KAAAA;AAC9D,CAAA;AAEA,MAAMC,sBAAsB,CAACD,KAAAA,GAAAA;IAC3B,IAAI,CAACA,OAAO,OAAOE,SAAAA;AACnB,IAAA,OAAOL,yBAA0BG,CAAAA,KAAAA,CAAAA;AACnC,CAAA;AAEaG,MAAAA,gBAAAA,GAAmB,CAAC,EAAEH,KAAK,EAAoB,GAAA;AAC1D,IAAA,MAAMI,qBAAqBL,kBAAmBC,CAAAA,KAAAA,CAAAA;IAE9C,OAAOI,kBAAAA;AACT;AAEaC,MAAAA,qBAAAA,GAAwB,CACnCC,QAAAA,EACAC,MACAC,IACAf,EAAAA,IAAAA,GAAAA;AAEA,IAAA,MAAMgB,sBAAsBR,mBAAoBR,CAAAA,IAAAA,CAAAA;IAEhDa,QAAS,CAAA;QACPI,MAAQ,EAAA;AACNH,YAAAA,IAAAA;YACAP,KAAOS,EAAAA,mBAAAA;AACPD,YAAAA;AACF;AACF,KAAA,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"timeFormat.mjs","sources":["../../../admin/src/utils/timeFormat.ts"],"sourcesContent":["type TimeChangeHandler = (params: {\n target: { name: string; value: string | undefined; type: string };\n}) => void;\n\ntype TimeChangeParams = {\n value?: string;\n onChange: TimeChangeHandler;\n name: string;\n type: string;\n};\n\n// The backend sends a value which has the following format: '00:45:00.000'\n// but the time picker only supports hours & minutes so we need to mutate the value\nconst removeSeconds = (time: string): string => {\n const [hours, minutes] = time.split(':');\n return `${hours}:${minutes}`;\n};\n\n// we need to send back the value with the same '00:45:00.000' format\nconst addSecondsAndMilliseconds = (time: string): string => {\n return time.split(':').length === 2 ? `${time}:00.000` : time;\n};\n\nconst formatTimeForInput = (value?: string): string | undefined => {\n if (!value) return;\n return value.split(':').length > 2 ? removeSeconds(value) : value;\n};\n\nconst formatTimeForOutput = (value?: string): string | undefined => {\n if (!value) return undefined;\n return addSecondsAndMilliseconds(value);\n};\n\nexport const handleTimeChange = ({ value }: TimeChangeParams): string | undefined => {\n const formattedInputTime = formatTimeForInput(value);\n\n return formattedInputTime;\n};\n\nexport const handleTimeChangeEvent = (\n onChange: TimeChangeHandler,\n name: string,\n type: string,\n time?: string\n): void => {\n const formattedOutputTime = formatTimeForOutput(time);\n\n onChange({\n target: {\n name,\n value: formattedOutputTime,\n type,\n },\n });\n};\n"],"names":["removeSeconds","time","hours","minutes","split","addSecondsAndMilliseconds","length","formatTimeForInput","value","formatTimeForOutput","undefined","handleTimeChange","formattedInputTime","handleTimeChangeEvent","onChange","name","type","formattedOutputTime","target"],"mappings":"AAWA;AACA;AACA,MAAMA,gBAAgB,CAACC,IAAAA,GAAAA;AACrB,IAAA,MAAM,CAACC,KAAAA,EAAOC,OAAAA,CAAQ,GAAGF,IAAAA,CAAKG,KAAK,CAAC,GAAA,CAAA;AACpC,IAAA,OAAO,CAAA,EAAGF,KAAAA,CAAM,CAAC,EAAEC,OAAAA,CAAAA,CAAS;AAC9B,CAAA;AAEA;AACA,MAAME,4BAA4B,CAACJ,IAAAA,GAAAA;IACjC,OAAOA,IAAAA,CAAKG,KAAK,CAAC,GAAA,CAAA,CAAKE,MAAM,KAAK,CAAA,GAAI,CAAA,EAAGL,IAAAA,CAAK,OAAO,CAAC,GAAGA,IAAAA;AAC3D,CAAA;AAEA,MAAMM,qBAAqB,CAACC,KAAAA,GAAAA;AAC1B,IAAA,IAAI,CAACA,KAAAA,EAAO;IACZ,OAAOA,KAAAA,CAAMJ,KAAK,CAAC,GAAA,CAAA,CAAKE,MAAM,GAAG,CAAA,GAAIN,cAAcQ,KAAAA,CAAAA,GAASA,KAAAA;AAC9D,CAAA;AAEA,MAAMC,sBAAsB,CAACD,KAAAA,GAAAA;IAC3B,IAAI,CAACA,OAAO,OAAOE,SAAAA;AACnB,IAAA,OAAOL,yBAAAA,CAA0BG,KAAAA,CAAAA;AACnC,CAAA;AAEO,MAAMG,gBAAAA,GAAmB,CAAC,EAAEH,KAAK,EAAoB,GAAA;AAC1D,IAAA,MAAMI,qBAAqBL,kBAAAA,CAAmBC,KAAAA,CAAAA;IAE9C,OAAOI,kBAAAA;AACT;AAEO,MAAMC,qBAAAA,GAAwB,CACnCC,QAAAA,EACAC,MACAC,IAAAA,EACAf,IAAAA,GAAAA;AAEA,IAAA,MAAMgB,sBAAsBR,mBAAAA,CAAoBR,IAAAA,CAAAA;IAEhDa,QAAAA,CAAS;QACPI,MAAAA,EAAQ;AACNH,YAAAA,IAAAA;YACAP,KAAAA,EAAOS,mBAAAA;AACPD,YAAAA;AACF;AACF,KAAA,CAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"toRegressedEnumValue.js","sources":["../../../admin/src/utils/toRegressedEnumValue.ts"],"sourcesContent":["import slugify from '@sindresorhus/slugify';\n\nexport const toRegressedEnumValue = (value: string | undefined) => {\n if (!value) {\n return '';\n }\n return slugify(value, {\n decamelize: false,\n lowercase: false,\n separator: '_',\n });\n};\n"],"names":["toRegressedEnumValue","value","slugify","decamelize","lowercase","separator"],"mappings":";;;;AAEO,MAAMA,uBAAuB,CAACC,KAAAA,GAAAA;AACnC,IAAA,IAAI,CAACA,KAAO,EAAA;QACV,OAAO,EAAA;AACT;AACA,IAAA,OAAOC,QAAQD,KAAO,EAAA;QACpBE,UAAY,EAAA,KAAA;QACZC,SAAW,EAAA,KAAA;QACXC,SAAW,EAAA;AACb,KAAA,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"toRegressedEnumValue.js","sources":["../../../admin/src/utils/toRegressedEnumValue.ts"],"sourcesContent":["import slugify from '@sindresorhus/slugify';\n\nexport const toRegressedEnumValue = (value: string | undefined) => {\n if (!value) {\n return '';\n }\n return slugify(value, {\n decamelize: false,\n lowercase: false,\n separator: '_',\n });\n};\n"],"names":["toRegressedEnumValue","value","slugify","decamelize","lowercase","separator"],"mappings":";;;;AAEO,MAAMA,uBAAuB,CAACC,KAAAA,GAAAA;AACnC,IAAA,IAAI,CAACA,KAAAA,EAAO;QACV,OAAO,EAAA;AACT,IAAA;AACA,IAAA,OAAOC,QAAQD,KAAAA,EAAO;QACpBE,UAAAA,EAAY,KAAA;QACZC,SAAAA,EAAW,KAAA;QACXC,SAAAA,EAAW;AACb,KAAA,CAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"toRegressedEnumValue.mjs","sources":["../../../admin/src/utils/toRegressedEnumValue.ts"],"sourcesContent":["import slugify from '@sindresorhus/slugify';\n\nexport const toRegressedEnumValue = (value: string | undefined) => {\n if (!value) {\n return '';\n }\n return slugify(value, {\n decamelize: false,\n lowercase: false,\n separator: '_',\n });\n};\n"],"names":["toRegressedEnumValue","value","slugify","decamelize","lowercase","separator"],"mappings":";;AAEO,MAAMA,uBAAuB,CAACC,KAAAA,GAAAA;AACnC,IAAA,IAAI,CAACA,KAAO,EAAA;QACV,OAAO,EAAA;AACT;AACA,IAAA,OAAOC,QAAQD,KAAO,EAAA;QACpBE,UAAY,EAAA,KAAA;QACZC,SAAW,EAAA,KAAA;QACXC,SAAW,EAAA;AACb,KAAA,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"toRegressedEnumValue.mjs","sources":["../../../admin/src/utils/toRegressedEnumValue.ts"],"sourcesContent":["import slugify from '@sindresorhus/slugify';\n\nexport const toRegressedEnumValue = (value: string | undefined) => {\n if (!value) {\n return '';\n }\n return slugify(value, {\n decamelize: false,\n lowercase: false,\n separator: '_',\n });\n};\n"],"names":["toRegressedEnumValue","value","slugify","decamelize","lowercase","separator"],"mappings":";;AAEO,MAAMA,uBAAuB,CAACC,KAAAA,GAAAA;AACnC,IAAA,IAAI,CAACA,KAAAA,EAAO;QACV,OAAO,EAAA;AACT,IAAA;AACA,IAAA,OAAOC,QAAQD,KAAAA,EAAO;QACpBE,UAAAA,EAAY,KAAA;QACZC,SAAAA,EAAW,KAAA;QACXC,SAAAA,EAAW;AACb,KAAA,CAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sources":["../../server/src/bootstrap.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n const actions = [\n {\n section: 'plugins',\n displayName: 'Read',\n uid: 'read',\n pluginName: 'content-type-builder',\n },\n ];\n\n await strapi.service('admin::permission').actionProvider.registerMany(actions);\n};\n"],"names":["strapi","actions","section","displayName","uid","pluginName","service","actionProvider","registerMany"],"mappings":";;AAEA,gBAAe,CAAA,OAAO,EAAEA,MAAM,EAA2B,GAAA;AACvD,IAAA,MAAMC,OAAU,GAAA;AACd,QAAA;YACEC,OAAS,EAAA,SAAA;YACTC,WAAa,EAAA,MAAA;YACbC,GAAK,EAAA,MAAA;YACLC,UAAY,EAAA;AACd;AACD,KAAA;AAED,IAAA,MAAML,OAAOM,OAAO,CAAC,qBAAqBC,cAAc,CAACC,YAAY,CAACP,OAAAA,CAAAA;AACxE,CAAA;;;;"}
1
+ {"version":3,"file":"bootstrap.js","sources":["../../server/src/bootstrap.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n const actions = [\n {\n section: 'plugins',\n displayName: 'Read',\n uid: 'read',\n pluginName: 'content-type-builder',\n },\n ];\n\n await strapi.service('admin::permission').actionProvider.registerMany(actions);\n};\n"],"names":["strapi","actions","section","displayName","uid","pluginName","service","actionProvider","registerMany"],"mappings":";;AAEA,gBAAe,CAAA,OAAO,EAAEA,MAAM,EAA2B,GAAA;AACvD,IAAA,MAAMC,OAAAA,GAAU;AACd,QAAA;YACEC,OAAAA,EAAS,SAAA;YACTC,WAAAA,EAAa,MAAA;YACbC,GAAAA,EAAK,MAAA;YACLC,UAAAA,EAAY;AACd;AACD,KAAA;AAED,IAAA,MAAML,OAAOM,OAAO,CAAC,qBAAqBC,cAAc,CAACC,YAAY,CAACP,OAAAA,CAAAA;AACxE,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.mjs","sources":["../../server/src/bootstrap.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n const actions = [\n {\n section: 'plugins',\n displayName: 'Read',\n uid: 'read',\n pluginName: 'content-type-builder',\n },\n ];\n\n await strapi.service('admin::permission').actionProvider.registerMany(actions);\n};\n"],"names":["strapi","actions","section","displayName","uid","pluginName","service","actionProvider","registerMany"],"mappings":"AAEA,gBAAe,CAAA,OAAO,EAAEA,MAAM,EAA2B,GAAA;AACvD,IAAA,MAAMC,OAAU,GAAA;AACd,QAAA;YACEC,OAAS,EAAA,SAAA;YACTC,WAAa,EAAA,MAAA;YACbC,GAAK,EAAA,MAAA;YACLC,UAAY,EAAA;AACd;AACD,KAAA;AAED,IAAA,MAAML,OAAOM,OAAO,CAAC,qBAAqBC,cAAc,CAACC,YAAY,CAACP,OAAAA,CAAAA;AACxE,CAAA;;;;"}
1
+ {"version":3,"file":"bootstrap.mjs","sources":["../../server/src/bootstrap.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n const actions = [\n {\n section: 'plugins',\n displayName: 'Read',\n uid: 'read',\n pluginName: 'content-type-builder',\n },\n ];\n\n await strapi.service('admin::permission').actionProvider.registerMany(actions);\n};\n"],"names":["strapi","actions","section","displayName","uid","pluginName","service","actionProvider","registerMany"],"mappings":"AAEA,gBAAe,CAAA,OAAO,EAAEA,MAAM,EAA2B,GAAA;AACvD,IAAA,MAAMC,OAAAA,GAAU;AACd,QAAA;YACEC,OAAAA,EAAS,SAAA;YACTC,WAAAA,EAAa,MAAA;YACbC,GAAAA,EAAK,MAAA;YACLC,UAAAA,EAAY;AACd;AACD,KAAA;AAED,IAAA,MAAML,OAAOM,OAAO,CAAC,qBAAqBC,cAAc,CAACC,YAAY,CAACP,OAAAA,CAAAA;AACxE,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../server/src/config.ts"],"sourcesContent":["export default {\n default: {},\n validator() {},\n};\n"],"names":["default","validator"],"mappings":";;AAAA,aAAe;AACbA,IAAAA,OAAAA,EAAS,EAAC;IACVC,SAAa,CAAA,GAAA;AACf,CAAE;;;;"}
1
+ {"version":3,"file":"config.js","sources":["../../server/src/config.ts"],"sourcesContent":["export default {\n default: {},\n validator() {},\n};\n"],"names":["default","validator"],"mappings":";;AAAA,aAAe;AACbA,IAAAA,OAAAA,EAAS,EAAC;IACVC,SAAAA,CAAAA,GAAAA,CAAa;AACf,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.mjs","sources":["../../server/src/config.ts"],"sourcesContent":["export default {\n default: {},\n validator() {},\n};\n"],"names":["default","validator"],"mappings":"AAAA,aAAe;AACbA,IAAAA,OAAAA,EAAS,EAAC;IACVC,SAAa,CAAA,GAAA;AACf,CAAE;;;;"}
1
+ {"version":3,"file":"config.mjs","sources":["../../server/src/config.ts"],"sourcesContent":["export default {\n default: {},\n validator() {},\n};\n"],"names":["default","validator"],"mappings":"AAAA,aAAe;AACbA,IAAAA,OAAAA,EAAS,EAAC;IACVC,SAAAA,CAAAA,GAAAA,CAAa;AACf,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sources":["../../../server/src/controllers/builder.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { getService } from '../utils';\n\nexport default {\n getReservedNames(ctx: Context) {\n ctx.body = getService('builder').getReservedNames();\n },\n};\n"],"names":["getReservedNames","ctx","body","getService"],"mappings":";;;;AAGA,cAAe;AACbA,IAAAA,gBAAAA,CAAAA,CAAiBC,GAAY,EAAA;AAC3BA,QAAAA,GAAAA,CAAIC,IAAI,GAAGC,gBAAW,CAAA,SAAA,CAAA,CAAWH,gBAAgB,EAAA;AACnD;AACF,CAAE;;;;"}
1
+ {"version":3,"file":"builder.js","sources":["../../../server/src/controllers/builder.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { getService } from '../utils';\n\nexport default {\n getReservedNames(ctx: Context) {\n ctx.body = getService('builder').getReservedNames();\n },\n};\n"],"names":["getReservedNames","ctx","body","getService"],"mappings":";;;;AAGA,cAAe;AACbA,IAAAA,gBAAAA,CAAAA,CAAiBC,GAAY,EAAA;AAC3BA,QAAAA,GAAAA,CAAIC,IAAI,GAAGC,gBAAAA,CAAW,SAAA,CAAA,CAAWH,gBAAgB,EAAA;AACnD,IAAA;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"builder.mjs","sources":["../../../server/src/controllers/builder.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { getService } from '../utils';\n\nexport default {\n getReservedNames(ctx: Context) {\n ctx.body = getService('builder').getReservedNames();\n },\n};\n"],"names":["getReservedNames","ctx","body","getService"],"mappings":";;AAGA,cAAe;AACbA,IAAAA,gBAAAA,CAAAA,CAAiBC,GAAY,EAAA;AAC3BA,QAAAA,GAAAA,CAAIC,IAAI,GAAGC,UAAW,CAAA,SAAA,CAAA,CAAWH,gBAAgB,EAAA;AACnD;AACF,CAAE;;;;"}
1
+ {"version":3,"file":"builder.mjs","sources":["../../../server/src/controllers/builder.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { getService } from '../utils';\n\nexport default {\n getReservedNames(ctx: Context) {\n ctx.body = getService('builder').getReservedNames();\n },\n};\n"],"names":["getReservedNames","ctx","body","getService"],"mappings":";;AAGA,cAAe;AACbA,IAAAA,gBAAAA,CAAAA,CAAiBC,GAAY,EAAA;AAC3BA,QAAAA,GAAAA,CAAIC,IAAI,GAAGC,UAAAA,CAAW,SAAA,CAAA,CAAWH,gBAAgB,EAAA;AACnD,IAAA;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"component-categories.js","sources":["../../../server/src/controllers/component-categories.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { getService } from '../utils';\nimport validateComponentCategory from './validation/component-category';\n\nexport default {\n async editCategory(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateComponentCategory(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n const { name } = ctx.params;\n\n strapi.reload.isWatching = false;\n\n const componentCategoryService = getService('component-categories');\n\n const newName = await componentCategoryService.editCategory(name, body);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ name: newName });\n },\n\n async deleteCategory(ctx: Context) {\n const { name } = ctx.params;\n\n strapi.reload.isWatching = false;\n\n const componentCategoryService = getService('component-categories');\n\n await componentCategoryService.deleteCategory(name);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ name });\n },\n};\n"],"names":["editCategory","ctx","body","request","validateComponentCategory","error","send","name","params","strapi","reload","isWatching","componentCategoryService","getService","newName","setImmediate","deleteCategory"],"mappings":";;;;;AAIA,0BAAe;AACb,IAAA,MAAMA,cAAaC,GAAY,EAAA;AAC7B,QAAA,MAAMC,IAAOD,GAAAA,GAAAA,CAAIE,OAAO,CAACD,IAAI;QAE7B,IAAI;AACF,YAAA,MAAME,iBAA0BF,CAAAA,IAAAA,CAAAA;AAClC,SAAA,CAAE,OAAOG,KAAO,EAAA;YACd,OAAOJ,GAAAA,CAAIK,IAAI,CAAC;AAAED,gBAAAA;aAAS,EAAA,GAAA,CAAA;AAC7B;AAEA,QAAA,MAAM,EAAEE,IAAI,EAAE,GAAGN,IAAIO,MAAM;QAE3BC,MAAOC,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,QAAA,MAAMC,2BAA2BC,gBAAW,CAAA,sBAAA,CAAA;AAE5C,QAAA,MAAMC,OAAU,GAAA,MAAMF,wBAAyBZ,CAAAA,YAAY,CAACO,IAAML,EAAAA,IAAAA,CAAAA;QAElEa,YAAa,CAAA,IAAMN,OAAOC,MAAM,EAAA,CAAA;AAEhCT,QAAAA,GAAAA,CAAIK,IAAI,CAAC;YAAEC,IAAMO,EAAAA;AAAQ,SAAA,CAAA;AAC3B,KAAA;AAEA,IAAA,MAAME,gBAAef,GAAY,EAAA;AAC/B,QAAA,MAAM,EAAEM,IAAI,EAAE,GAAGN,IAAIO,MAAM;QAE3BC,MAAOC,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,QAAA,MAAMC,2BAA2BC,gBAAW,CAAA,sBAAA,CAAA;QAE5C,MAAMD,wBAAAA,CAAyBI,cAAc,CAACT,IAAAA,CAAAA;QAE9CQ,YAAa,CAAA,IAAMN,OAAOC,MAAM,EAAA,CAAA;AAEhCT,QAAAA,GAAAA,CAAIK,IAAI,CAAC;AAAEC,YAAAA;AAAK,SAAA,CAAA;AAClB;AACF,CAAE;;;;"}
1
+ {"version":3,"file":"component-categories.js","sources":["../../../server/src/controllers/component-categories.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { getService } from '../utils';\nimport validateComponentCategory from './validation/component-category';\n\nexport default {\n async editCategory(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateComponentCategory(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n const { name } = ctx.params;\n\n strapi.reload.isWatching = false;\n\n const componentCategoryService = getService('component-categories');\n\n const newName = await componentCategoryService.editCategory(name, body);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ name: newName });\n },\n\n async deleteCategory(ctx: Context) {\n const { name } = ctx.params;\n\n strapi.reload.isWatching = false;\n\n const componentCategoryService = getService('component-categories');\n\n await componentCategoryService.deleteCategory(name);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ name });\n },\n};\n"],"names":["editCategory","ctx","body","request","validateComponentCategory","error","send","name","params","strapi","reload","isWatching","componentCategoryService","getService","newName","setImmediate","deleteCategory"],"mappings":";;;;;AAIA,0BAAe;AACb,IAAA,MAAMA,cAAaC,GAAY,EAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAOD,GAAAA,CAAIE,OAAO,CAACD,IAAI;QAE7B,IAAI;AACF,YAAA,MAAME,iBAAAA,CAA0BF,IAAAA,CAAAA;AAClC,QAAA,CAAA,CAAE,OAAOG,KAAAA,EAAO;YACd,OAAOJ,GAAAA,CAAIK,IAAI,CAAC;AAAED,gBAAAA;aAAM,EAAG,GAAA,CAAA;AAC7B,QAAA;AAEA,QAAA,MAAM,EAAEE,IAAI,EAAE,GAAGN,IAAIO,MAAM;QAE3BC,MAAAA,CAAOC,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,QAAA,MAAMC,2BAA2BC,gBAAAA,CAAW,sBAAA,CAAA;AAE5C,QAAA,MAAMC,OAAAA,GAAU,MAAMF,wBAAAA,CAAyBZ,YAAY,CAACO,IAAAA,EAAML,IAAAA,CAAAA;QAElEa,YAAAA,CAAa,IAAMN,OAAOC,MAAM,EAAA,CAAA;AAEhCT,QAAAA,GAAAA,CAAIK,IAAI,CAAC;YAAEC,IAAAA,EAAMO;AAAQ,SAAA,CAAA;AAC3B,IAAA,CAAA;AAEA,IAAA,MAAME,gBAAef,GAAY,EAAA;AAC/B,QAAA,MAAM,EAAEM,IAAI,EAAE,GAAGN,IAAIO,MAAM;QAE3BC,MAAAA,CAAOC,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,QAAA,MAAMC,2BAA2BC,gBAAAA,CAAW,sBAAA,CAAA;QAE5C,MAAMD,wBAAAA,CAAyBI,cAAc,CAACT,IAAAA,CAAAA;QAE9CQ,YAAAA,CAAa,IAAMN,OAAOC,MAAM,EAAA,CAAA;AAEhCT,QAAAA,GAAAA,CAAIK,IAAI,CAAC;AAAEC,YAAAA;AAAK,SAAA,CAAA;AAClB,IAAA;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"component-categories.mjs","sources":["../../../server/src/controllers/component-categories.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { getService } from '../utils';\nimport validateComponentCategory from './validation/component-category';\n\nexport default {\n async editCategory(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateComponentCategory(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n const { name } = ctx.params;\n\n strapi.reload.isWatching = false;\n\n const componentCategoryService = getService('component-categories');\n\n const newName = await componentCategoryService.editCategory(name, body);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ name: newName });\n },\n\n async deleteCategory(ctx: Context) {\n const { name } = ctx.params;\n\n strapi.reload.isWatching = false;\n\n const componentCategoryService = getService('component-categories');\n\n await componentCategoryService.deleteCategory(name);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ name });\n },\n};\n"],"names":["editCategory","ctx","body","request","validateComponentCategory","error","send","name","params","strapi","reload","isWatching","componentCategoryService","getService","newName","setImmediate","deleteCategory"],"mappings":";;;AAIA,0BAAe;AACb,IAAA,MAAMA,cAAaC,GAAY,EAAA;AAC7B,QAAA,MAAMC,IAAOD,GAAAA,GAAAA,CAAIE,OAAO,CAACD,IAAI;QAE7B,IAAI;AACF,YAAA,MAAME,yBAA0BF,CAAAA,IAAAA,CAAAA;AAClC,SAAA,CAAE,OAAOG,KAAO,EAAA;YACd,OAAOJ,GAAAA,CAAIK,IAAI,CAAC;AAAED,gBAAAA;aAAS,EAAA,GAAA,CAAA;AAC7B;AAEA,QAAA,MAAM,EAAEE,IAAI,EAAE,GAAGN,IAAIO,MAAM;QAE3BC,MAAOC,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,QAAA,MAAMC,2BAA2BC,UAAW,CAAA,sBAAA,CAAA;AAE5C,QAAA,MAAMC,OAAU,GAAA,MAAMF,wBAAyBZ,CAAAA,YAAY,CAACO,IAAML,EAAAA,IAAAA,CAAAA;QAElEa,YAAa,CAAA,IAAMN,OAAOC,MAAM,EAAA,CAAA;AAEhCT,QAAAA,GAAAA,CAAIK,IAAI,CAAC;YAAEC,IAAMO,EAAAA;AAAQ,SAAA,CAAA;AAC3B,KAAA;AAEA,IAAA,MAAME,gBAAef,GAAY,EAAA;AAC/B,QAAA,MAAM,EAAEM,IAAI,EAAE,GAAGN,IAAIO,MAAM;QAE3BC,MAAOC,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,QAAA,MAAMC,2BAA2BC,UAAW,CAAA,sBAAA,CAAA;QAE5C,MAAMD,wBAAAA,CAAyBI,cAAc,CAACT,IAAAA,CAAAA;QAE9CQ,YAAa,CAAA,IAAMN,OAAOC,MAAM,EAAA,CAAA;AAEhCT,QAAAA,GAAAA,CAAIK,IAAI,CAAC;AAAEC,YAAAA;AAAK,SAAA,CAAA;AAClB;AACF,CAAE;;;;"}
1
+ {"version":3,"file":"component-categories.mjs","sources":["../../../server/src/controllers/component-categories.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { getService } from '../utils';\nimport validateComponentCategory from './validation/component-category';\n\nexport default {\n async editCategory(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateComponentCategory(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n const { name } = ctx.params;\n\n strapi.reload.isWatching = false;\n\n const componentCategoryService = getService('component-categories');\n\n const newName = await componentCategoryService.editCategory(name, body);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ name: newName });\n },\n\n async deleteCategory(ctx: Context) {\n const { name } = ctx.params;\n\n strapi.reload.isWatching = false;\n\n const componentCategoryService = getService('component-categories');\n\n await componentCategoryService.deleteCategory(name);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ name });\n },\n};\n"],"names":["editCategory","ctx","body","request","validateComponentCategory","error","send","name","params","strapi","reload","isWatching","componentCategoryService","getService","newName","setImmediate","deleteCategory"],"mappings":";;;AAIA,0BAAe;AACb,IAAA,MAAMA,cAAaC,GAAY,EAAA;AAC7B,QAAA,MAAMC,IAAAA,GAAOD,GAAAA,CAAIE,OAAO,CAACD,IAAI;QAE7B,IAAI;AACF,YAAA,MAAME,yBAAAA,CAA0BF,IAAAA,CAAAA;AAClC,QAAA,CAAA,CAAE,OAAOG,KAAAA,EAAO;YACd,OAAOJ,GAAAA,CAAIK,IAAI,CAAC;AAAED,gBAAAA;aAAM,EAAG,GAAA,CAAA;AAC7B,QAAA;AAEA,QAAA,MAAM,EAAEE,IAAI,EAAE,GAAGN,IAAIO,MAAM;QAE3BC,MAAAA,CAAOC,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,QAAA,MAAMC,2BAA2BC,UAAAA,CAAW,sBAAA,CAAA;AAE5C,QAAA,MAAMC,OAAAA,GAAU,MAAMF,wBAAAA,CAAyBZ,YAAY,CAACO,IAAAA,EAAML,IAAAA,CAAAA;QAElEa,YAAAA,CAAa,IAAMN,OAAOC,MAAM,EAAA,CAAA;AAEhCT,QAAAA,GAAAA,CAAIK,IAAI,CAAC;YAAEC,IAAAA,EAAMO;AAAQ,SAAA,CAAA;AAC3B,IAAA,CAAA;AAEA,IAAA,MAAME,gBAAef,GAAY,EAAA;AAC/B,QAAA,MAAM,EAAEM,IAAI,EAAE,GAAGN,IAAIO,MAAM;QAE3BC,MAAAA,CAAOC,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,QAAA,MAAMC,2BAA2BC,UAAAA,CAAW,sBAAA,CAAA;QAE5C,MAAMD,wBAAAA,CAAyBI,cAAc,CAACT,IAAAA,CAAAA;QAE9CQ,YAAAA,CAAa,IAAMN,OAAOC,MAAM,EAAA,CAAA;AAEhCT,QAAAA,GAAAA,CAAIK,IAAI,CAAC;AAAEC,YAAAA;AAAK,SAAA,CAAA;AAClB,IAAA;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":["../../../server/src/controllers/components.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Context } from 'koa';\nimport type { UID } from '@strapi/types';\nimport { getService } from '../utils';\nimport { validateComponentInput, validateUpdateComponentInput } from './validation/component';\n\n/**\n * Components controller\n */\n\nexport default {\n /**\n * GET /components handler\n * Returns a list of available components\n * @param {Object} ctx - koa context\n */\n async getComponents(ctx: Context) {\n const componentService = getService('components');\n const componentUIDs = Object.keys(strapi.components) as UID.Component[];\n\n const data = componentUIDs.map((uid) => {\n return componentService.formatComponent(strapi.components[uid]);\n });\n\n ctx.send({ data });\n },\n\n /**\n * GET /components/:uid\n * Returns a specific component\n * @param {Object} ctx - koa context\n */\n async getComponent(ctx: Context) {\n const { uid } = ctx.params;\n\n const component = strapi.components[uid];\n\n if (!component) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n const componentService = getService('components');\n\n ctx.send({ data: componentService.formatComponent(component) });\n },\n\n /**\n * POST /components\n * Creates a component and returns its infos\n * @param {Object} ctx - koa context\n */\n async createComponent(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateComponentInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = await componentService.createComponent({\n component: body.component,\n components: body.components,\n });\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } }, 201);\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n\n /**\n * PUT /components/:uid\n * Updates a component and return its infos\n * @param {Object} ctx - koa context - enhanced koa context\n */\n async updateComponent(ctx: Context) {\n const { uid } = ctx.params;\n const body = ctx.request.body as any;\n\n if (!_.has(strapi.components, uid)) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n try {\n await validateUpdateComponentInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = (await componentService.editComponent(uid, {\n component: body.component,\n components: body.components,\n })) as any;\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n\n /**\n * DELETE /components/:uid\n * Deletes a components and returns its old infos\n * @param {Object} ctx - koa context\n */\n async deleteComponent(ctx: Context) {\n const { uid } = ctx.params;\n\n if (!_.has(strapi.components, uid)) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = await componentService.deleteComponent(uid);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n};\n"],"names":["getComponents","ctx","componentService","getService","componentUIDs","Object","keys","strapi","components","data","map","uid","formatComponent","send","getComponent","params","component","error","createComponent","body","request","validateComponentInput","reload","isWatching","setImmediate","log","message","updateComponent","_","has","validateUpdateComponentInput","editComponent","deleteComponent"],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sources":["../../../server/src/controllers/components.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Context } from 'koa';\nimport type { UID } from '@strapi/types';\nimport { getService } from '../utils';\nimport { validateComponentInput, validateUpdateComponentInput } from './validation/component';\n\n/**\n * Components controller\n */\n\nexport default {\n /**\n * GET /components handler\n * Returns a list of available components\n * @param {Object} ctx - koa context\n */\n async getComponents(ctx: Context) {\n const componentService = getService('components');\n const componentUIDs = Object.keys(strapi.components) as UID.Component[];\n\n const data = componentUIDs.map((uid) => {\n return componentService.formatComponent(strapi.components[uid]);\n });\n\n ctx.send({ data });\n },\n\n /**\n * GET /components/:uid\n * Returns a specific component\n * @param {Object} ctx - koa context\n */\n async getComponent(ctx: Context) {\n const { uid } = ctx.params;\n\n const component = strapi.components[uid];\n\n if (!component) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n const componentService = getService('components');\n\n ctx.send({ data: componentService.formatComponent(component) });\n },\n\n /**\n * POST /components\n * Creates a component and returns its infos\n * @param {Object} ctx - koa context\n */\n async createComponent(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateComponentInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = await componentService.createComponent({\n component: body.component,\n components: body.components,\n });\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } }, 201);\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n\n /**\n * PUT /components/:uid\n * Updates a component and return its infos\n * @param {Object} ctx - koa context - enhanced koa context\n */\n async updateComponent(ctx: Context) {\n const { uid } = ctx.params;\n const body = ctx.request.body as any;\n\n if (!_.has(strapi.components, uid)) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n try {\n await validateUpdateComponentInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = (await componentService.editComponent(uid, {\n component: body.component,\n components: body.components,\n })) as any;\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n\n /**\n * DELETE /components/:uid\n * Deletes a components and returns its old infos\n * @param {Object} ctx - koa context\n */\n async deleteComponent(ctx: Context) {\n const { uid } = ctx.params;\n\n if (!_.has(strapi.components, uid)) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = await componentService.deleteComponent(uid);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n};\n"],"names":["getComponents","ctx","componentService","getService","componentUIDs","Object","keys","strapi","components","data","map","uid","formatComponent","send","getComponent","params","component","error","createComponent","body","request","validateComponentInput","reload","isWatching","setImmediate","log","message","updateComponent","_","has","validateUpdateComponentInput","editComponent","deleteComponent"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import _ from 'lodash';
2
2
  import { getService } from '../utils/index.mjs';
3
- import { validateComponentInput, validateUpdateComponentInput } from './validation/component.mjs';
3
+ import { validateUpdateComponentInput, validateComponentInput } from './validation/component.mjs';
4
4
 
5
5
  /**
6
6
  * Components controller
@@ -1 +1 @@
1
- {"version":3,"file":"components.mjs","sources":["../../../server/src/controllers/components.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Context } from 'koa';\nimport type { UID } from '@strapi/types';\nimport { getService } from '../utils';\nimport { validateComponentInput, validateUpdateComponentInput } from './validation/component';\n\n/**\n * Components controller\n */\n\nexport default {\n /**\n * GET /components handler\n * Returns a list of available components\n * @param {Object} ctx - koa context\n */\n async getComponents(ctx: Context) {\n const componentService = getService('components');\n const componentUIDs = Object.keys(strapi.components) as UID.Component[];\n\n const data = componentUIDs.map((uid) => {\n return componentService.formatComponent(strapi.components[uid]);\n });\n\n ctx.send({ data });\n },\n\n /**\n * GET /components/:uid\n * Returns a specific component\n * @param {Object} ctx - koa context\n */\n async getComponent(ctx: Context) {\n const { uid } = ctx.params;\n\n const component = strapi.components[uid];\n\n if (!component) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n const componentService = getService('components');\n\n ctx.send({ data: componentService.formatComponent(component) });\n },\n\n /**\n * POST /components\n * Creates a component and returns its infos\n * @param {Object} ctx - koa context\n */\n async createComponent(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateComponentInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = await componentService.createComponent({\n component: body.component,\n components: body.components,\n });\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } }, 201);\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n\n /**\n * PUT /components/:uid\n * Updates a component and return its infos\n * @param {Object} ctx - koa context - enhanced koa context\n */\n async updateComponent(ctx: Context) {\n const { uid } = ctx.params;\n const body = ctx.request.body as any;\n\n if (!_.has(strapi.components, uid)) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n try {\n await validateUpdateComponentInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = (await componentService.editComponent(uid, {\n component: body.component,\n components: body.components,\n })) as any;\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n\n /**\n * DELETE /components/:uid\n * Deletes a components and returns its old infos\n * @param {Object} ctx - koa context\n */\n async deleteComponent(ctx: Context) {\n const { uid } = ctx.params;\n\n if (!_.has(strapi.components, uid)) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = await componentService.deleteComponent(uid);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n};\n"],"names":["getComponents","ctx","componentService","getService","componentUIDs","Object","keys","strapi","components","data","map","uid","formatComponent","send","getComponent","params","component","error","createComponent","body","request","validateComponentInput","reload","isWatching","setImmediate","log","message","updateComponent","_","has","validateUpdateComponentInput","editComponent","deleteComponent"],"mappings":"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"}
1
+ {"version":3,"file":"components.mjs","sources":["../../../server/src/controllers/components.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Context } from 'koa';\nimport type { UID } from '@strapi/types';\nimport { getService } from '../utils';\nimport { validateComponentInput, validateUpdateComponentInput } from './validation/component';\n\n/**\n * Components controller\n */\n\nexport default {\n /**\n * GET /components handler\n * Returns a list of available components\n * @param {Object} ctx - koa context\n */\n async getComponents(ctx: Context) {\n const componentService = getService('components');\n const componentUIDs = Object.keys(strapi.components) as UID.Component[];\n\n const data = componentUIDs.map((uid) => {\n return componentService.formatComponent(strapi.components[uid]);\n });\n\n ctx.send({ data });\n },\n\n /**\n * GET /components/:uid\n * Returns a specific component\n * @param {Object} ctx - koa context\n */\n async getComponent(ctx: Context) {\n const { uid } = ctx.params;\n\n const component = strapi.components[uid];\n\n if (!component) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n const componentService = getService('components');\n\n ctx.send({ data: componentService.formatComponent(component) });\n },\n\n /**\n * POST /components\n * Creates a component and returns its infos\n * @param {Object} ctx - koa context\n */\n async createComponent(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateComponentInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = await componentService.createComponent({\n component: body.component,\n components: body.components,\n });\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } }, 201);\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n\n /**\n * PUT /components/:uid\n * Updates a component and return its infos\n * @param {Object} ctx - koa context - enhanced koa context\n */\n async updateComponent(ctx: Context) {\n const { uid } = ctx.params;\n const body = ctx.request.body as any;\n\n if (!_.has(strapi.components, uid)) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n try {\n await validateUpdateComponentInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = (await componentService.editComponent(uid, {\n component: body.component,\n components: body.components,\n })) as any;\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n\n /**\n * DELETE /components/:uid\n * Deletes a components and returns its old infos\n * @param {Object} ctx - koa context\n */\n async deleteComponent(ctx: Context) {\n const { uid } = ctx.params;\n\n if (!_.has(strapi.components, uid)) {\n return ctx.send({ error: 'component.notFound' }, 404);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const componentService = getService('components');\n\n const component = await componentService.deleteComponent(uid);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as any)?.message || 'Unknown error' }, 400);\n }\n },\n};\n"],"names":["getComponents","ctx","componentService","getService","componentUIDs","Object","keys","strapi","components","data","map","uid","formatComponent","send","getComponent","params","component","error","createComponent","body","request","validateComponentInput","reload","isWatching","setImmediate","log","message","updateComponent","_","has","validateUpdateComponentInput","editComponent","deleteComponent"],"mappings":";;;;AAMA;;AAEC,IAED,iBAAe;AACb;;;;MAKA,MAAMA,eAAcC,GAAY,EAAA;AAC9B,QAAA,MAAMC,mBAAmBC,UAAAA,CAAW,YAAA,CAAA;AACpC,QAAA,MAAMC,aAAAA,GAAgBC,MAAAA,CAAOC,IAAI,CAACC,OAAOC,UAAU,CAAA;AAEnD,QAAA,MAAMC,IAAAA,GAAOL,aAAAA,CAAcM,GAAG,CAAC,CAACC,GAAAA,GAAAA;AAC9B,YAAA,OAAOT,iBAAiBU,eAAe,CAACL,MAAAA,CAAOC,UAAU,CAACG,GAAAA,CAAI,CAAA;AAChE,QAAA,CAAA,CAAA;AAEAV,QAAAA,GAAAA,CAAIY,IAAI,CAAC;AAAEJ,YAAAA;AAAK,SAAA,CAAA;AAClB,IAAA,CAAA;AAEA;;;;MAKA,MAAMK,cAAab,GAAY,EAAA;AAC7B,QAAA,MAAM,EAAEU,GAAG,EAAE,GAAGV,IAAIc,MAAM;AAE1B,QAAA,MAAMC,SAAAA,GAAYT,MAAAA,CAAOC,UAAU,CAACG,GAAAA,CAAI;AAExC,QAAA,IAAI,CAACK,SAAAA,EAAW;YACd,OAAOf,GAAAA,CAAIY,IAAI,CAAC;gBAAEI,KAAAA,EAAO;aAAqB,EAAG,GAAA,CAAA;AACnD,QAAA;AAEA,QAAA,MAAMf,mBAAmBC,UAAAA,CAAW,YAAA,CAAA;AAEpCF,QAAAA,GAAAA,CAAIY,IAAI,CAAC;YAAEJ,IAAAA,EAAMP,gBAAAA,CAAiBU,eAAe,CAACI,SAAAA;AAAW,SAAA,CAAA;AAC/D,IAAA,CAAA;AAEA;;;;MAKA,MAAME,iBAAgBjB,GAAY,EAAA;AAChC,QAAA,MAAMkB,IAAAA,GAAOlB,GAAAA,CAAImB,OAAO,CAACD,IAAI;QAE7B,IAAI;AACF,YAAA,MAAME,sBAAAA,CAAuBF,IAAAA,CAAAA;AAC/B,QAAA,CAAA,CAAE,OAAOF,KAAAA,EAAO;YACd,OAAOhB,GAAAA,CAAIY,IAAI,CAAC;AAAEI,gBAAAA;aAAM,EAAG,GAAA,CAAA;AAC7B,QAAA;QAEA,IAAI;YACFV,MAAAA,CAAOe,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,YAAA,MAAMrB,mBAAmBC,UAAAA,CAAW,YAAA,CAAA;AAEpC,YAAA,MAAMa,SAAAA,GAAY,MAAMd,gBAAAA,CAAiBgB,eAAe,CAAC;AACvDF,gBAAAA,SAAAA,EAAWG,KAAKH,SAAS;AACzBR,gBAAAA,UAAAA,EAAYW,KAAKX;AACnB,aAAA,CAAA;YAEAgB,YAAAA,CAAa,IAAMjB,OAAOe,MAAM,EAAA,CAAA;AAEhCrB,YAAAA,GAAAA,CAAIY,IAAI,CAAC;gBAAEJ,IAAAA,EAAM;AAAEE,oBAAAA,GAAAA,EAAKK,UAAUL;AAAI;aAAE,EAAG,GAAA,CAAA;AAC7C,QAAA,CAAA,CAAE,OAAOM,KAAAA,EAAO;YACdV,MAAAA,CAAOkB,GAAG,CAACR,KAAK,CAACA,KAAAA,CAAAA;AACjBhB,YAAAA,GAAAA,CAAIY,IAAI,CAAC;gBAAEI,KAAAA,EAAQA,OAAeS,OAAAA,IAAW;aAAgB,EAAG,GAAA,CAAA;AAClE,QAAA;AACF,IAAA,CAAA;AAEA;;;;MAKA,MAAMC,iBAAgB1B,GAAY,EAAA;AAChC,QAAA,MAAM,EAAEU,GAAG,EAAE,GAAGV,IAAIc,MAAM;AAC1B,QAAA,MAAMI,IAAAA,GAAOlB,GAAAA,CAAImB,OAAO,CAACD,IAAI;AAE7B,QAAA,IAAI,CAACS,CAAAA,CAAEC,GAAG,CAACtB,MAAAA,CAAOC,UAAU,EAAEG,GAAAA,CAAAA,EAAM;YAClC,OAAOV,GAAAA,CAAIY,IAAI,CAAC;gBAAEI,KAAAA,EAAO;aAAqB,EAAG,GAAA,CAAA;AACnD,QAAA;QAEA,IAAI;AACF,YAAA,MAAMa,4BAAAA,CAA6BX,IAAAA,CAAAA;AACrC,QAAA,CAAA,CAAE,OAAOF,KAAAA,EAAO;YACd,OAAOhB,GAAAA,CAAIY,IAAI,CAAC;AAAEI,gBAAAA;aAAM,EAAG,GAAA,CAAA;AAC7B,QAAA;QAEA,IAAI;YACFV,MAAAA,CAAOe,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,YAAA,MAAMrB,mBAAmBC,UAAAA,CAAW,YAAA,CAAA;AAEpC,YAAA,MAAMa,SAAAA,GAAa,MAAMd,gBAAAA,CAAiB6B,aAAa,CAACpB,GAAAA,EAAK;AAC3DK,gBAAAA,SAAAA,EAAWG,KAAKH,SAAS;AACzBR,gBAAAA,UAAAA,EAAYW,KAAKX;AACnB,aAAA,CAAA;YAEAgB,YAAAA,CAAa,IAAMjB,OAAOe,MAAM,EAAA,CAAA;AAEhCrB,YAAAA,GAAAA,CAAIY,IAAI,CAAC;gBAAEJ,IAAAA,EAAM;AAAEE,oBAAAA,GAAAA,EAAKK,UAAUL;AAAI;AAAE,aAAA,CAAA;AAC1C,QAAA,CAAA,CAAE,OAAOM,KAAAA,EAAO;YACdV,MAAAA,CAAOkB,GAAG,CAACR,KAAK,CAACA,KAAAA,CAAAA;AAEjBhB,YAAAA,GAAAA,CAAIY,IAAI,CAAC;gBAAEI,KAAAA,EAAQA,OAAeS,OAAAA,IAAW;aAAgB,EAAG,GAAA,CAAA;AAClE,QAAA;AACF,IAAA,CAAA;AAEA;;;;MAKA,MAAMM,iBAAgB/B,GAAY,EAAA;AAChC,QAAA,MAAM,EAAEU,GAAG,EAAE,GAAGV,IAAIc,MAAM;AAE1B,QAAA,IAAI,CAACa,CAAAA,CAAEC,GAAG,CAACtB,MAAAA,CAAOC,UAAU,EAAEG,GAAAA,CAAAA,EAAM;YAClC,OAAOV,GAAAA,CAAIY,IAAI,CAAC;gBAAEI,KAAAA,EAAO;aAAqB,EAAG,GAAA,CAAA;AACnD,QAAA;QAEA,IAAI;YACFV,MAAAA,CAAOe,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,YAAA,MAAMrB,mBAAmBC,UAAAA,CAAW,YAAA,CAAA;AAEpC,YAAA,MAAMa,SAAAA,GAAY,MAAMd,gBAAAA,CAAiB8B,eAAe,CAACrB,GAAAA,CAAAA;YAEzDa,YAAAA,CAAa,IAAMjB,OAAOe,MAAM,EAAA,CAAA;AAEhCrB,YAAAA,GAAAA,CAAIY,IAAI,CAAC;gBAAEJ,IAAAA,EAAM;AAAEE,oBAAAA,GAAAA,EAAKK,UAAUL;AAAI;AAAE,aAAA,CAAA;AAC1C,QAAA,CAAA,CAAE,OAAOM,KAAAA,EAAO;YACdV,MAAAA,CAAOkB,GAAG,CAACR,KAAK,CAACA,KAAAA,CAAAA;AACjBhB,YAAAA,GAAAA,CAAIY,IAAI,CAAC;gBAAEI,KAAAA,EAAQA,OAAeS,OAAAA,IAAW;aAAgB,EAAG,GAAA,CAAA;AAClE,QAAA;AACF,IAAA;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"content-types.js","sources":["../../../server/src/controllers/content-types.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Context } from 'koa';\nimport type {} from 'koa-body';\nimport type { Internal } from '@strapi/types';\nimport { getService } from '../utils';\nimport {\n validateContentTypeInput,\n validateUpdateContentTypeInput,\n validateKind,\n} from './validation/content-type';\nimport { isContentTypeVisible } from '../services/content-types';\n\nexport default {\n async getContentTypes(ctx: Context) {\n const { kind } = ctx.query;\n\n try {\n await validateKind(kind);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n const contentTypeService = getService('content-types');\n\n const contentTypes = Object.keys(strapi.contentTypes)\n .filter(\n (uid) =>\n !kind ||\n _.get(strapi.contentTypes[uid as Internal.UID.ContentType], 'kind', 'collectionType') ===\n kind\n )\n .map((uid) =>\n contentTypeService.formatContentType(strapi.contentTypes[uid as Internal.UID.ContentType])\n );\n\n ctx.send({\n data: contentTypes,\n });\n },\n\n getContentType(ctx: Context) {\n const { uid } = ctx.params;\n\n const contentType = strapi.contentTypes[uid];\n\n if (!contentType) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n if (!isContentTypeVisible(contentType)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n const contentTypeService = getService('content-types');\n\n ctx.send({ data: contentTypeService.formatContentType(contentType) });\n },\n\n async createContentType(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateContentTypeInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const contentType = await contentTypeService.createContentType({\n contentType: body.contentType,\n components: body.components,\n });\n\n const metricsPayload = {\n eventProperties: {\n kind: contentType.kind,\n },\n };\n\n if (_.isEmpty(strapi.apis)) {\n await strapi.telemetry.send('didCreateFirstContentType', metricsPayload);\n } else {\n await strapi.telemetry.send('didCreateContentType', metricsPayload);\n }\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: contentType.uid } }, 201);\n } catch (err) {\n strapi.log.error(err);\n await strapi.telemetry.send('didNotCreateContentType', {\n eventProperties: { error: (err as Error).message || err },\n });\n ctx.send({ error: (err as Error).message || 'Unknown error' }, 400);\n }\n },\n\n async updateContentType(ctx: Context) {\n const { uid } = ctx.params;\n const body = ctx.request.body as any;\n\n if (!_.has(strapi.contentTypes, uid)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n try {\n await validateUpdateContentTypeInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const component = await contentTypeService.editContentType(uid, {\n contentType: body.contentType,\n components: body.components,\n });\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } }, 201);\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as Error)?.message || 'Unknown error' }, 400);\n }\n },\n\n async deleteContentType(ctx: Context) {\n const { uid } = ctx.params;\n\n if (!_.has(strapi.contentTypes, uid)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const component = await contentTypeService.deleteContentType(uid);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as Error)?.message || 'Unknown error' }, 400);\n }\n },\n};\n"],"names":["getContentTypes","ctx","kind","query","validateKind","error","send","contentTypeService","getService","contentTypes","Object","keys","strapi","filter","uid","_","get","map","formatContentType","data","getContentType","params","contentType","isContentTypeVisible","createContentType","body","request","validateContentTypeInput","reload","isWatching","components","metricsPayload","eventProperties","isEmpty","apis","telemetry","setImmediate","err","log","message","updateContentType","has","validateUpdateContentTypeInput","component","editContentType","deleteContentType"],"mappings":";;;;;;;AAYA,mBAAe;AACb,IAAA,MAAMA,iBAAgBC,GAAY,EAAA;AAChC,QAAA,MAAM,EAAEC,IAAI,EAAE,GAAGD,IAAIE,KAAK;QAE1B,IAAI;AACF,YAAA,MAAMC,wBAAaF,CAAAA,IAAAA,CAAAA;AACrB,SAAA,CAAE,OAAOG,KAAO,EAAA;YACd,OAAOJ,GAAAA,CAAIK,IAAI,CAAC;AAAED,gBAAAA;aAAS,EAAA,GAAA,CAAA;AAC7B;AAEA,QAAA,MAAME,qBAAqBC,gBAAW,CAAA,eAAA,CAAA;AAEtC,QAAA,MAAMC,YAAeC,GAAAA,MAAAA,CAAOC,IAAI,CAACC,OAAOH,YAAY,CAAA,CACjDI,MAAM,CACL,CAACC,GACC,GAAA,CAACZ,IACDa,IAAAA,CAAAA,CAAEC,GAAG,CAACJ,MAAAA,CAAOH,YAAY,CAACK,GAAgC,CAAA,EAAE,MAAQ,EAAA,gBAAA,CAAA,KAClEZ,MAELe,GAAG,CAAC,CAACH,GAAAA,GACJP,mBAAmBW,iBAAiB,CAACN,MAAOH,CAAAA,YAAY,CAACK,GAAgC,CAAA,CAAA,CAAA;AAG7Fb,QAAAA,GAAAA,CAAIK,IAAI,CAAC;YACPa,IAAMV,EAAAA;AACR,SAAA,CAAA;AACF,KAAA;AAEAW,IAAAA,cAAAA,CAAAA,CAAenB,GAAY,EAAA;AACzB,QAAA,MAAM,EAAEa,GAAG,EAAE,GAAGb,IAAIoB,MAAM;AAE1B,QAAA,MAAMC,WAAcV,GAAAA,MAAAA,CAAOH,YAAY,CAACK,GAAI,CAAA;AAE5C,QAAA,IAAI,CAACQ,WAAa,EAAA;YAChB,OAAOrB,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAAA;aAA0B,EAAA,GAAA,CAAA;AACrD;QAEA,IAAI,CAACkB,oCAAqBD,WAAc,CAAA,EAAA;YACtC,OAAOrB,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAAA;aAA0B,EAAA,GAAA,CAAA;AACrD;AAEA,QAAA,MAAME,qBAAqBC,gBAAW,CAAA,eAAA,CAAA;AAEtCP,QAAAA,GAAAA,CAAIK,IAAI,CAAC;YAAEa,IAAMZ,EAAAA,kBAAAA,CAAmBW,iBAAiB,CAACI,WAAAA;AAAa,SAAA,CAAA;AACrE,KAAA;AAEA,IAAA,MAAME,mBAAkBvB,GAAY,EAAA;AAClC,QAAA,MAAMwB,IAAOxB,GAAAA,GAAAA,CAAIyB,OAAO,CAACD,IAAI;QAE7B,IAAI;AACF,YAAA,MAAME,oCAAyBF,CAAAA,IAAAA,CAAAA;AACjC,SAAA,CAAE,OAAOpB,KAAO,EAAA;YACd,OAAOJ,GAAAA,CAAIK,IAAI,CAAC;AAAED,gBAAAA;aAAS,EAAA,GAAA,CAAA;AAC7B;QAEA,IAAI;YACFO,MAAOgB,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,YAAA,MAAMtB,qBAAqBC,gBAAW,CAAA,eAAA,CAAA;AAEtC,YAAA,MAAMc,WAAc,GAAA,MAAMf,kBAAmBiB,CAAAA,iBAAiB,CAAC;AAC7DF,gBAAAA,WAAAA,EAAaG,KAAKH,WAAW;AAC7BQ,gBAAAA,UAAAA,EAAYL,KAAKK;AACnB,aAAA,CAAA;AAEA,YAAA,MAAMC,cAAiB,GAAA;gBACrBC,eAAiB,EAAA;AACf9B,oBAAAA,IAAAA,EAAMoB,YAAYpB;AACpB;AACF,aAAA;AAEA,YAAA,IAAIa,CAAEkB,CAAAA,OAAO,CAACrB,MAAAA,CAAOsB,IAAI,CAAG,EAAA;AAC1B,gBAAA,MAAMtB,MAAOuB,CAAAA,SAAS,CAAC7B,IAAI,CAAC,2BAA6ByB,EAAAA,cAAAA,CAAAA;aACpD,MAAA;AACL,gBAAA,MAAMnB,MAAOuB,CAAAA,SAAS,CAAC7B,IAAI,CAAC,sBAAwByB,EAAAA,cAAAA,CAAAA;AACtD;YAEAK,YAAa,CAAA,IAAMxB,OAAOgB,MAAM,EAAA,CAAA;AAEhC3B,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAEa,IAAM,EAAA;AAAEL,oBAAAA,GAAAA,EAAKQ,YAAYR;AAAI;aAAK,EAAA,GAAA,CAAA;AAC/C,SAAA,CAAE,OAAOuB,GAAK,EAAA;YACZzB,MAAO0B,CAAAA,GAAG,CAACjC,KAAK,CAACgC,GAAAA,CAAAA;AACjB,YAAA,MAAMzB,MAAOuB,CAAAA,SAAS,CAAC7B,IAAI,CAAC,yBAA2B,EAAA;gBACrD0B,eAAiB,EAAA;oBAAE3B,KAAO,EAACgC,GAAcE,CAAAA,OAAO,IAAIF;AAAI;AAC1D,aAAA,CAAA;AACApC,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAACgC,GAAcE,CAAAA,OAAO,IAAI;aAAmB,EAAA,GAAA,CAAA;AACjE;AACF,KAAA;AAEA,IAAA,MAAMC,mBAAkBvC,GAAY,EAAA;AAClC,QAAA,MAAM,EAAEa,GAAG,EAAE,GAAGb,IAAIoB,MAAM;AAC1B,QAAA,MAAMI,IAAOxB,GAAAA,GAAAA,CAAIyB,OAAO,CAACD,IAAI;AAE7B,QAAA,IAAI,CAACV,CAAE0B,CAAAA,GAAG,CAAC7B,MAAOH,CAAAA,YAAY,EAAEK,GAAM,CAAA,EAAA;YACpC,OAAOb,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAAA;aAA0B,EAAA,GAAA,CAAA;AACrD;QAEA,IAAI;AACF,YAAA,MAAMqC,0CAA+BjB,CAAAA,IAAAA,CAAAA;AACvC,SAAA,CAAE,OAAOpB,KAAO,EAAA;YACd,OAAOJ,GAAAA,CAAIK,IAAI,CAAC;AAAED,gBAAAA;aAAS,EAAA,GAAA,CAAA;AAC7B;QAEA,IAAI;YACFO,MAAOgB,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,YAAA,MAAMtB,qBAAqBC,gBAAW,CAAA,eAAA,CAAA;AAEtC,YAAA,MAAMmC,SAAY,GAAA,MAAMpC,kBAAmBqC,CAAAA,eAAe,CAAC9B,GAAK,EAAA;AAC9DQ,gBAAAA,WAAAA,EAAaG,KAAKH,WAAW;AAC7BQ,gBAAAA,UAAAA,EAAYL,KAAKK;AACnB,aAAA,CAAA;YAEAM,YAAa,CAAA,IAAMxB,OAAOgB,MAAM,EAAA,CAAA;AAEhC3B,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAEa,IAAM,EAAA;AAAEL,oBAAAA,GAAAA,EAAK6B,UAAU7B;AAAI;aAAK,EAAA,GAAA,CAAA;AAC7C,SAAA,CAAE,OAAOT,KAAO,EAAA;YACdO,MAAO0B,CAAAA,GAAG,CAACjC,KAAK,CAACA,KAAAA,CAAAA;AACjBJ,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAACA,OAAiBkC,OAAW,IAAA;aAAmB,EAAA,GAAA,CAAA;AACpE;AACF,KAAA;AAEA,IAAA,MAAMM,mBAAkB5C,GAAY,EAAA;AAClC,QAAA,MAAM,EAAEa,GAAG,EAAE,GAAGb,IAAIoB,MAAM;AAE1B,QAAA,IAAI,CAACN,CAAE0B,CAAAA,GAAG,CAAC7B,MAAOH,CAAAA,YAAY,EAAEK,GAAM,CAAA,EAAA;YACpC,OAAOb,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAAA;aAA0B,EAAA,GAAA,CAAA;AACrD;QAEA,IAAI;YACFO,MAAOgB,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,YAAA,MAAMtB,qBAAqBC,gBAAW,CAAA,eAAA,CAAA;AAEtC,YAAA,MAAMmC,SAAY,GAAA,MAAMpC,kBAAmBsC,CAAAA,iBAAiB,CAAC/B,GAAAA,CAAAA;YAE7DsB,YAAa,CAAA,IAAMxB,OAAOgB,MAAM,EAAA,CAAA;AAEhC3B,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAEa,IAAM,EAAA;AAAEL,oBAAAA,GAAAA,EAAK6B,UAAU7B;AAAI;AAAE,aAAA,CAAA;AAC1C,SAAA,CAAE,OAAOT,KAAO,EAAA;YACdO,MAAO0B,CAAAA,GAAG,CAACjC,KAAK,CAACA,KAAAA,CAAAA;AACjBJ,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAACA,OAAiBkC,OAAW,IAAA;aAAmB,EAAA,GAAA,CAAA;AACpE;AACF;AACF,CAAE;;;;"}
1
+ {"version":3,"file":"content-types.js","sources":["../../../server/src/controllers/content-types.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Context } from 'koa';\nimport type {} from 'koa-body';\nimport type { Internal } from '@strapi/types';\nimport { getService } from '../utils';\nimport {\n validateContentTypeInput,\n validateUpdateContentTypeInput,\n validateKind,\n} from './validation/content-type';\nimport { isContentTypeVisible } from '../services/content-types';\n\nexport default {\n async getContentTypes(ctx: Context) {\n const { kind } = ctx.query;\n\n try {\n await validateKind(kind);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n const contentTypeService = getService('content-types');\n\n const contentTypes = Object.keys(strapi.contentTypes)\n .filter(\n (uid) =>\n !kind ||\n _.get(strapi.contentTypes[uid as Internal.UID.ContentType], 'kind', 'collectionType') ===\n kind\n )\n .map((uid) =>\n contentTypeService.formatContentType(strapi.contentTypes[uid as Internal.UID.ContentType])\n );\n\n ctx.send({\n data: contentTypes,\n });\n },\n\n getContentType(ctx: Context) {\n const { uid } = ctx.params;\n\n const contentType = strapi.contentTypes[uid];\n\n if (!contentType) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n if (!isContentTypeVisible(contentType)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n const contentTypeService = getService('content-types');\n\n ctx.send({ data: contentTypeService.formatContentType(contentType) });\n },\n\n async createContentType(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateContentTypeInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const contentType = await contentTypeService.createContentType({\n contentType: body.contentType,\n components: body.components,\n });\n\n const metricsPayload = {\n eventProperties: {\n kind: contentType.kind,\n },\n };\n\n if (_.isEmpty(strapi.apis)) {\n await strapi.telemetry.send('didCreateFirstContentType', metricsPayload);\n } else {\n await strapi.telemetry.send('didCreateContentType', metricsPayload);\n }\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: contentType.uid } }, 201);\n } catch (err) {\n strapi.log.error(err);\n await strapi.telemetry.send('didNotCreateContentType', {\n eventProperties: { error: (err as Error).message || err },\n });\n ctx.send({ error: (err as Error).message || 'Unknown error' }, 400);\n }\n },\n\n async updateContentType(ctx: Context) {\n const { uid } = ctx.params;\n const body = ctx.request.body as any;\n\n if (!_.has(strapi.contentTypes, uid)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n try {\n await validateUpdateContentTypeInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const component = await contentTypeService.editContentType(uid, {\n contentType: body.contentType,\n components: body.components,\n });\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } }, 201);\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as Error)?.message || 'Unknown error' }, 400);\n }\n },\n\n async deleteContentType(ctx: Context) {\n const { uid } = ctx.params;\n\n if (!_.has(strapi.contentTypes, uid)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const component = await contentTypeService.deleteContentType(uid);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as Error)?.message || 'Unknown error' }, 400);\n }\n },\n};\n"],"names":["getContentTypes","ctx","kind","query","validateKind","error","send","contentTypeService","getService","contentTypes","Object","keys","strapi","filter","uid","_","get","map","formatContentType","data","getContentType","params","contentType","isContentTypeVisible","createContentType","body","request","validateContentTypeInput","reload","isWatching","components","metricsPayload","eventProperties","isEmpty","apis","telemetry","setImmediate","err","log","message","updateContentType","has","validateUpdateContentTypeInput","component","editContentType","deleteContentType"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import _ from 'lodash';
2
2
  import { getService } from '../utils/index.mjs';
3
- import { validateKind, validateContentTypeInput, validateUpdateContentTypeInput } from './validation/content-type.mjs';
3
+ import { validateUpdateContentTypeInput, validateContentTypeInput, validateKind } from './validation/content-type.mjs';
4
4
  import { isContentTypeVisible } from '../services/content-types.mjs';
5
5
 
6
6
  var contentTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"content-types.mjs","sources":["../../../server/src/controllers/content-types.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Context } from 'koa';\nimport type {} from 'koa-body';\nimport type { Internal } from '@strapi/types';\nimport { getService } from '../utils';\nimport {\n validateContentTypeInput,\n validateUpdateContentTypeInput,\n validateKind,\n} from './validation/content-type';\nimport { isContentTypeVisible } from '../services/content-types';\n\nexport default {\n async getContentTypes(ctx: Context) {\n const { kind } = ctx.query;\n\n try {\n await validateKind(kind);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n const contentTypeService = getService('content-types');\n\n const contentTypes = Object.keys(strapi.contentTypes)\n .filter(\n (uid) =>\n !kind ||\n _.get(strapi.contentTypes[uid as Internal.UID.ContentType], 'kind', 'collectionType') ===\n kind\n )\n .map((uid) =>\n contentTypeService.formatContentType(strapi.contentTypes[uid as Internal.UID.ContentType])\n );\n\n ctx.send({\n data: contentTypes,\n });\n },\n\n getContentType(ctx: Context) {\n const { uid } = ctx.params;\n\n const contentType = strapi.contentTypes[uid];\n\n if (!contentType) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n if (!isContentTypeVisible(contentType)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n const contentTypeService = getService('content-types');\n\n ctx.send({ data: contentTypeService.formatContentType(contentType) });\n },\n\n async createContentType(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateContentTypeInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const contentType = await contentTypeService.createContentType({\n contentType: body.contentType,\n components: body.components,\n });\n\n const metricsPayload = {\n eventProperties: {\n kind: contentType.kind,\n },\n };\n\n if (_.isEmpty(strapi.apis)) {\n await strapi.telemetry.send('didCreateFirstContentType', metricsPayload);\n } else {\n await strapi.telemetry.send('didCreateContentType', metricsPayload);\n }\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: contentType.uid } }, 201);\n } catch (err) {\n strapi.log.error(err);\n await strapi.telemetry.send('didNotCreateContentType', {\n eventProperties: { error: (err as Error).message || err },\n });\n ctx.send({ error: (err as Error).message || 'Unknown error' }, 400);\n }\n },\n\n async updateContentType(ctx: Context) {\n const { uid } = ctx.params;\n const body = ctx.request.body as any;\n\n if (!_.has(strapi.contentTypes, uid)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n try {\n await validateUpdateContentTypeInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const component = await contentTypeService.editContentType(uid, {\n contentType: body.contentType,\n components: body.components,\n });\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } }, 201);\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as Error)?.message || 'Unknown error' }, 400);\n }\n },\n\n async deleteContentType(ctx: Context) {\n const { uid } = ctx.params;\n\n if (!_.has(strapi.contentTypes, uid)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const component = await contentTypeService.deleteContentType(uid);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as Error)?.message || 'Unknown error' }, 400);\n }\n },\n};\n"],"names":["getContentTypes","ctx","kind","query","validateKind","error","send","contentTypeService","getService","contentTypes","Object","keys","strapi","filter","uid","_","get","map","formatContentType","data","getContentType","params","contentType","isContentTypeVisible","createContentType","body","request","validateContentTypeInput","reload","isWatching","components","metricsPayload","eventProperties","isEmpty","apis","telemetry","setImmediate","err","log","message","updateContentType","has","validateUpdateContentTypeInput","component","editContentType","deleteContentType"],"mappings":";;;;;AAYA,mBAAe;AACb,IAAA,MAAMA,iBAAgBC,GAAY,EAAA;AAChC,QAAA,MAAM,EAAEC,IAAI,EAAE,GAAGD,IAAIE,KAAK;QAE1B,IAAI;AACF,YAAA,MAAMC,YAAaF,CAAAA,IAAAA,CAAAA;AACrB,SAAA,CAAE,OAAOG,KAAO,EAAA;YACd,OAAOJ,GAAAA,CAAIK,IAAI,CAAC;AAAED,gBAAAA;aAAS,EAAA,GAAA,CAAA;AAC7B;AAEA,QAAA,MAAME,qBAAqBC,UAAW,CAAA,eAAA,CAAA;AAEtC,QAAA,MAAMC,YAAeC,GAAAA,MAAAA,CAAOC,IAAI,CAACC,OAAOH,YAAY,CAAA,CACjDI,MAAM,CACL,CAACC,GACC,GAAA,CAACZ,IACDa,IAAAA,CAAAA,CAAEC,GAAG,CAACJ,MAAAA,CAAOH,YAAY,CAACK,GAAgC,CAAA,EAAE,MAAQ,EAAA,gBAAA,CAAA,KAClEZ,MAELe,GAAG,CAAC,CAACH,GAAAA,GACJP,mBAAmBW,iBAAiB,CAACN,MAAOH,CAAAA,YAAY,CAACK,GAAgC,CAAA,CAAA,CAAA;AAG7Fb,QAAAA,GAAAA,CAAIK,IAAI,CAAC;YACPa,IAAMV,EAAAA;AACR,SAAA,CAAA;AACF,KAAA;AAEAW,IAAAA,cAAAA,CAAAA,CAAenB,GAAY,EAAA;AACzB,QAAA,MAAM,EAAEa,GAAG,EAAE,GAAGb,IAAIoB,MAAM;AAE1B,QAAA,MAAMC,WAAcV,GAAAA,MAAAA,CAAOH,YAAY,CAACK,GAAI,CAAA;AAE5C,QAAA,IAAI,CAACQ,WAAa,EAAA;YAChB,OAAOrB,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAAA;aAA0B,EAAA,GAAA,CAAA;AACrD;QAEA,IAAI,CAACkB,qBAAqBD,WAAc,CAAA,EAAA;YACtC,OAAOrB,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAAA;aAA0B,EAAA,GAAA,CAAA;AACrD;AAEA,QAAA,MAAME,qBAAqBC,UAAW,CAAA,eAAA,CAAA;AAEtCP,QAAAA,GAAAA,CAAIK,IAAI,CAAC;YAAEa,IAAMZ,EAAAA,kBAAAA,CAAmBW,iBAAiB,CAACI,WAAAA;AAAa,SAAA,CAAA;AACrE,KAAA;AAEA,IAAA,MAAME,mBAAkBvB,GAAY,EAAA;AAClC,QAAA,MAAMwB,IAAOxB,GAAAA,GAAAA,CAAIyB,OAAO,CAACD,IAAI;QAE7B,IAAI;AACF,YAAA,MAAME,wBAAyBF,CAAAA,IAAAA,CAAAA;AACjC,SAAA,CAAE,OAAOpB,KAAO,EAAA;YACd,OAAOJ,GAAAA,CAAIK,IAAI,CAAC;AAAED,gBAAAA;aAAS,EAAA,GAAA,CAAA;AAC7B;QAEA,IAAI;YACFO,MAAOgB,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,YAAA,MAAMtB,qBAAqBC,UAAW,CAAA,eAAA,CAAA;AAEtC,YAAA,MAAMc,WAAc,GAAA,MAAMf,kBAAmBiB,CAAAA,iBAAiB,CAAC;AAC7DF,gBAAAA,WAAAA,EAAaG,KAAKH,WAAW;AAC7BQ,gBAAAA,UAAAA,EAAYL,KAAKK;AACnB,aAAA,CAAA;AAEA,YAAA,MAAMC,cAAiB,GAAA;gBACrBC,eAAiB,EAAA;AACf9B,oBAAAA,IAAAA,EAAMoB,YAAYpB;AACpB;AACF,aAAA;AAEA,YAAA,IAAIa,CAAEkB,CAAAA,OAAO,CAACrB,MAAAA,CAAOsB,IAAI,CAAG,EAAA;AAC1B,gBAAA,MAAMtB,MAAOuB,CAAAA,SAAS,CAAC7B,IAAI,CAAC,2BAA6ByB,EAAAA,cAAAA,CAAAA;aACpD,MAAA;AACL,gBAAA,MAAMnB,MAAOuB,CAAAA,SAAS,CAAC7B,IAAI,CAAC,sBAAwByB,EAAAA,cAAAA,CAAAA;AACtD;YAEAK,YAAa,CAAA,IAAMxB,OAAOgB,MAAM,EAAA,CAAA;AAEhC3B,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAEa,IAAM,EAAA;AAAEL,oBAAAA,GAAAA,EAAKQ,YAAYR;AAAI;aAAK,EAAA,GAAA,CAAA;AAC/C,SAAA,CAAE,OAAOuB,GAAK,EAAA;YACZzB,MAAO0B,CAAAA,GAAG,CAACjC,KAAK,CAACgC,GAAAA,CAAAA;AACjB,YAAA,MAAMzB,MAAOuB,CAAAA,SAAS,CAAC7B,IAAI,CAAC,yBAA2B,EAAA;gBACrD0B,eAAiB,EAAA;oBAAE3B,KAAO,EAACgC,GAAcE,CAAAA,OAAO,IAAIF;AAAI;AAC1D,aAAA,CAAA;AACApC,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAACgC,GAAcE,CAAAA,OAAO,IAAI;aAAmB,EAAA,GAAA,CAAA;AACjE;AACF,KAAA;AAEA,IAAA,MAAMC,mBAAkBvC,GAAY,EAAA;AAClC,QAAA,MAAM,EAAEa,GAAG,EAAE,GAAGb,IAAIoB,MAAM;AAC1B,QAAA,MAAMI,IAAOxB,GAAAA,GAAAA,CAAIyB,OAAO,CAACD,IAAI;AAE7B,QAAA,IAAI,CAACV,CAAE0B,CAAAA,GAAG,CAAC7B,MAAOH,CAAAA,YAAY,EAAEK,GAAM,CAAA,EAAA;YACpC,OAAOb,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAAA;aAA0B,EAAA,GAAA,CAAA;AACrD;QAEA,IAAI;AACF,YAAA,MAAMqC,8BAA+BjB,CAAAA,IAAAA,CAAAA;AACvC,SAAA,CAAE,OAAOpB,KAAO,EAAA;YACd,OAAOJ,GAAAA,CAAIK,IAAI,CAAC;AAAED,gBAAAA;aAAS,EAAA,GAAA,CAAA;AAC7B;QAEA,IAAI;YACFO,MAAOgB,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,YAAA,MAAMtB,qBAAqBC,UAAW,CAAA,eAAA,CAAA;AAEtC,YAAA,MAAMmC,SAAY,GAAA,MAAMpC,kBAAmBqC,CAAAA,eAAe,CAAC9B,GAAK,EAAA;AAC9DQ,gBAAAA,WAAAA,EAAaG,KAAKH,WAAW;AAC7BQ,gBAAAA,UAAAA,EAAYL,KAAKK;AACnB,aAAA,CAAA;YAEAM,YAAa,CAAA,IAAMxB,OAAOgB,MAAM,EAAA,CAAA;AAEhC3B,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAEa,IAAM,EAAA;AAAEL,oBAAAA,GAAAA,EAAK6B,UAAU7B;AAAI;aAAK,EAAA,GAAA,CAAA;AAC7C,SAAA,CAAE,OAAOT,KAAO,EAAA;YACdO,MAAO0B,CAAAA,GAAG,CAACjC,KAAK,CAACA,KAAAA,CAAAA;AACjBJ,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAACA,OAAiBkC,OAAW,IAAA;aAAmB,EAAA,GAAA,CAAA;AACpE;AACF,KAAA;AAEA,IAAA,MAAMM,mBAAkB5C,GAAY,EAAA;AAClC,QAAA,MAAM,EAAEa,GAAG,EAAE,GAAGb,IAAIoB,MAAM;AAE1B,QAAA,IAAI,CAACN,CAAE0B,CAAAA,GAAG,CAAC7B,MAAOH,CAAAA,YAAY,EAAEK,GAAM,CAAA,EAAA;YACpC,OAAOb,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAAA;aAA0B,EAAA,GAAA,CAAA;AACrD;QAEA,IAAI;YACFO,MAAOgB,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;AAE3B,YAAA,MAAMtB,qBAAqBC,UAAW,CAAA,eAAA,CAAA;AAEtC,YAAA,MAAMmC,SAAY,GAAA,MAAMpC,kBAAmBsC,CAAAA,iBAAiB,CAAC/B,GAAAA,CAAAA;YAE7DsB,YAAa,CAAA,IAAMxB,OAAOgB,MAAM,EAAA,CAAA;AAEhC3B,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAEa,IAAM,EAAA;AAAEL,oBAAAA,GAAAA,EAAK6B,UAAU7B;AAAI;AAAE,aAAA,CAAA;AAC1C,SAAA,CAAE,OAAOT,KAAO,EAAA;YACdO,MAAO0B,CAAAA,GAAG,CAACjC,KAAK,CAACA,KAAAA,CAAAA;AACjBJ,YAAAA,GAAAA,CAAIK,IAAI,CAAC;gBAAED,KAAO,EAACA,OAAiBkC,OAAW,IAAA;aAAmB,EAAA,GAAA,CAAA;AACpE;AACF;AACF,CAAE;;;;"}
1
+ {"version":3,"file":"content-types.mjs","sources":["../../../server/src/controllers/content-types.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Context } from 'koa';\nimport type {} from 'koa-body';\nimport type { Internal } from '@strapi/types';\nimport { getService } from '../utils';\nimport {\n validateContentTypeInput,\n validateUpdateContentTypeInput,\n validateKind,\n} from './validation/content-type';\nimport { isContentTypeVisible } from '../services/content-types';\n\nexport default {\n async getContentTypes(ctx: Context) {\n const { kind } = ctx.query;\n\n try {\n await validateKind(kind);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n const contentTypeService = getService('content-types');\n\n const contentTypes = Object.keys(strapi.contentTypes)\n .filter(\n (uid) =>\n !kind ||\n _.get(strapi.contentTypes[uid as Internal.UID.ContentType], 'kind', 'collectionType') ===\n kind\n )\n .map((uid) =>\n contentTypeService.formatContentType(strapi.contentTypes[uid as Internal.UID.ContentType])\n );\n\n ctx.send({\n data: contentTypes,\n });\n },\n\n getContentType(ctx: Context) {\n const { uid } = ctx.params;\n\n const contentType = strapi.contentTypes[uid];\n\n if (!contentType) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n if (!isContentTypeVisible(contentType)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n const contentTypeService = getService('content-types');\n\n ctx.send({ data: contentTypeService.formatContentType(contentType) });\n },\n\n async createContentType(ctx: Context) {\n const body = ctx.request.body as any;\n\n try {\n await validateContentTypeInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const contentType = await contentTypeService.createContentType({\n contentType: body.contentType,\n components: body.components,\n });\n\n const metricsPayload = {\n eventProperties: {\n kind: contentType.kind,\n },\n };\n\n if (_.isEmpty(strapi.apis)) {\n await strapi.telemetry.send('didCreateFirstContentType', metricsPayload);\n } else {\n await strapi.telemetry.send('didCreateContentType', metricsPayload);\n }\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: contentType.uid } }, 201);\n } catch (err) {\n strapi.log.error(err);\n await strapi.telemetry.send('didNotCreateContentType', {\n eventProperties: { error: (err as Error).message || err },\n });\n ctx.send({ error: (err as Error).message || 'Unknown error' }, 400);\n }\n },\n\n async updateContentType(ctx: Context) {\n const { uid } = ctx.params;\n const body = ctx.request.body as any;\n\n if (!_.has(strapi.contentTypes, uid)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n try {\n await validateUpdateContentTypeInput(body);\n } catch (error) {\n return ctx.send({ error }, 400);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const component = await contentTypeService.editContentType(uid, {\n contentType: body.contentType,\n components: body.components,\n });\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } }, 201);\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as Error)?.message || 'Unknown error' }, 400);\n }\n },\n\n async deleteContentType(ctx: Context) {\n const { uid } = ctx.params;\n\n if (!_.has(strapi.contentTypes, uid)) {\n return ctx.send({ error: 'contentType.notFound' }, 404);\n }\n\n try {\n strapi.reload.isWatching = false;\n\n const contentTypeService = getService('content-types');\n\n const component = await contentTypeService.deleteContentType(uid);\n\n setImmediate(() => strapi.reload());\n\n ctx.send({ data: { uid: component.uid } });\n } catch (error) {\n strapi.log.error(error);\n ctx.send({ error: (error as Error)?.message || 'Unknown error' }, 400);\n }\n },\n};\n"],"names":["getContentTypes","ctx","kind","query","validateKind","error","send","contentTypeService","getService","contentTypes","Object","keys","strapi","filter","uid","_","get","map","formatContentType","data","getContentType","params","contentType","isContentTypeVisible","createContentType","body","request","validateContentTypeInput","reload","isWatching","components","metricsPayload","eventProperties","isEmpty","apis","telemetry","setImmediate","err","log","message","updateContentType","has","validateUpdateContentTypeInput","component","editContentType","deleteContentType"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../server/src/controllers/index.ts"],"sourcesContent":["import builder from './builder';\nimport componentCategories from './component-categories';\nimport components from './components';\nimport contentTypes from './content-types';\nimport schema from './schema';\n\nconst exportObject = {\n builder,\n 'component-categories': componentCategories,\n components,\n 'content-types': contentTypes,\n schema,\n};\n\nexport default exportObject;\n"],"names":["exportObject","builder","componentCategories","components","contentTypes","schema"],"mappings":";;;;;;;;AAMA,MAAMA,YAAe,GAAA;AACnBC,IAAAA,OAAAA;IACA,sBAAwBC,EAAAA,mBAAAA;AACxBC,IAAAA,UAAAA;IACA,eAAiBC,EAAAA,YAAAA;AACjBC,IAAAA;AACF;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../server/src/controllers/index.ts"],"sourcesContent":["import builder from './builder';\nimport componentCategories from './component-categories';\nimport components from './components';\nimport contentTypes from './content-types';\nimport schema from './schema';\n\nconst exportObject = {\n builder,\n 'component-categories': componentCategories,\n components,\n 'content-types': contentTypes,\n schema,\n};\n\nexport default exportObject;\n"],"names":["exportObject","builder","componentCategories","components","contentTypes","schema"],"mappings":";;;;;;;;AAMA,MAAMA,YAAAA,GAAe;AACnBC,IAAAA,OAAAA;IACA,sBAAA,EAAwBC,mBAAAA;AACxBC,IAAAA,UAAAA;IACA,eAAA,EAAiBC,YAAAA;AACjBC,IAAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../server/src/controllers/index.ts"],"sourcesContent":["import builder from './builder';\nimport componentCategories from './component-categories';\nimport components from './components';\nimport contentTypes from './content-types';\nimport schema from './schema';\n\nconst exportObject = {\n builder,\n 'component-categories': componentCategories,\n components,\n 'content-types': contentTypes,\n schema,\n};\n\nexport default exportObject;\n"],"names":["exportObject","builder","componentCategories","components","contentTypes","schema"],"mappings":";;;;;;AAMA,MAAMA,YAAe,GAAA;AACnBC,IAAAA,OAAAA;IACA,sBAAwBC,EAAAA,mBAAAA;AACxBC,IAAAA,UAAAA;IACA,eAAiBC,EAAAA,YAAAA;AACjBC,IAAAA;AACF;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../server/src/controllers/index.ts"],"sourcesContent":["import builder from './builder';\nimport componentCategories from './component-categories';\nimport components from './components';\nimport contentTypes from './content-types';\nimport schema from './schema';\n\nconst exportObject = {\n builder,\n 'component-categories': componentCategories,\n components,\n 'content-types': contentTypes,\n schema,\n};\n\nexport default exportObject;\n"],"names":["exportObject","builder","componentCategories","components","contentTypes","schema"],"mappings":";;;;;;AAMA,MAAMA,YAAAA,GAAe;AACnBC,IAAAA,OAAAA;IACA,sBAAA,EAAwBC,mBAAAA;AACxBC,IAAAA,UAAAA;IACA,eAAA,EAAiBC,YAAAA;AACjBC,IAAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sources":["../../../server/src/controllers/schema.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { isEmpty } from 'lodash/fp';\n\nimport { getService } from '../utils';\nimport { validateUpdateSchema } from './validation/schema';\n\nexport default () => {\n const internals = {\n isUpdating: false,\n };\n\n return {\n async getSchema(ctx: Context) {\n const schema = await getService('schema').getSchema();\n\n ctx.send({ data: schema });\n },\n\n async updateSchema(ctx: Context) {\n if (internals.isUpdating === true) {\n return ctx.conflict('Schema update is already in progress.');\n }\n\n try {\n const { data } = await validateUpdateSchema(ctx.request.body);\n\n if (isEmpty(data.components) && isEmpty(data.contentTypes)) {\n ctx.body = {};\n return;\n }\n\n internals.isUpdating = true;\n strapi.reload.isWatching = false;\n\n await getService('schema').updateSchema(data);\n\n // NOTE: we do not set isUpdating to false here.\n // We want to wait for the server to restart to get the isUpdate = false only\n setImmediate(() => {\n strapi.reload();\n });\n\n ctx.body = {};\n } catch (error) {\n internals.isUpdating = false;\n const errorMessage = error instanceof Error ? error.message : String(error);\n return ctx.send({ error: errorMessage }, 400);\n }\n },\n\n async getUpdateSchemaStatus(ctx: Context) {\n ctx.send({ data: { isUpdating: internals.isUpdating } });\n },\n };\n};\n"],"names":["internals","isUpdating","getSchema","ctx","schema","getService","send","data","updateSchema","conflict","validateUpdateSchema","request","body","isEmpty","components","contentTypes","strapi","reload","isWatching","setImmediate","error","errorMessage","Error","message","String","getUpdateSchemaStatus"],"mappings":";;;;;;AAMA,aAAe,CAAA,IAAA;AACb,IAAA,MAAMA,SAAY,GAAA;QAChBC,UAAY,EAAA;AACd,KAAA;IAEA,OAAO;AACL,QAAA,MAAMC,WAAUC,GAAY,EAAA;AAC1B,YAAA,MAAMC,MAAS,GAAA,MAAMC,gBAAW,CAAA,QAAA,CAAA,CAAUH,SAAS,EAAA;AAEnDC,YAAAA,GAAAA,CAAIG,IAAI,CAAC;gBAAEC,IAAMH,EAAAA;AAAO,aAAA,CAAA;AAC1B,SAAA;AAEA,QAAA,MAAMI,cAAaL,GAAY,EAAA;YAC7B,IAAIH,SAAAA,CAAUC,UAAU,KAAK,IAAM,EAAA;gBACjC,OAAOE,GAAAA,CAAIM,QAAQ,CAAC,uCAAA,CAAA;AACtB;YAEA,IAAI;gBACF,MAAM,EAAEF,IAAI,EAAE,GAAG,MAAMG,6BAAqBP,CAAAA,GAAAA,CAAIQ,OAAO,CAACC,IAAI,CAAA;AAE5D,gBAAA,IAAIC,WAAQN,IAAKO,CAAAA,UAAU,KAAKD,UAAQN,CAAAA,IAAAA,CAAKQ,YAAY,CAAG,EAAA;oBAC1DZ,GAAIS,CAAAA,IAAI,GAAG,EAAC;AACZ,oBAAA;AACF;AAEAZ,gBAAAA,SAAAA,CAAUC,UAAU,GAAG,IAAA;gBACvBe,MAAOC,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;gBAE3B,MAAMb,gBAAAA,CAAW,QAAUG,CAAAA,CAAAA,YAAY,CAACD,IAAAA,CAAAA;;;gBAIxCY,YAAa,CAAA,IAAA;AACXH,oBAAAA,MAAAA,CAAOC,MAAM,EAAA;AACf,iBAAA,CAAA;gBAEAd,GAAIS,CAAAA,IAAI,GAAG,EAAC;AACd,aAAA,CAAE,OAAOQ,KAAO,EAAA;AACdpB,gBAAAA,SAAAA,CAAUC,UAAU,GAAG,KAAA;AACvB,gBAAA,MAAMoB,eAAeD,KAAiBE,YAAAA,KAAAA,GAAQF,KAAMG,CAAAA,OAAO,GAAGC,MAAOJ,CAAAA,KAAAA,CAAAA;gBACrE,OAAOjB,GAAAA,CAAIG,IAAI,CAAC;oBAAEc,KAAOC,EAAAA;iBAAgB,EAAA,GAAA,CAAA;AAC3C;AACF,SAAA;AAEA,QAAA,MAAMI,uBAAsBtB,GAAY,EAAA;AACtCA,YAAAA,GAAAA,CAAIG,IAAI,CAAC;gBAAEC,IAAM,EAAA;AAAEN,oBAAAA,UAAAA,EAAYD,UAAUC;AAAW;AAAE,aAAA,CAAA;AACxD;AACF,KAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"schema.js","sources":["../../../server/src/controllers/schema.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { isEmpty } from 'lodash/fp';\n\nimport { getService } from '../utils';\nimport { validateUpdateSchema } from './validation/schema';\n\nexport default () => {\n const internals = {\n isUpdating: false,\n };\n\n return {\n async getSchema(ctx: Context) {\n const schema = await getService('schema').getSchema();\n\n ctx.send({ data: schema });\n },\n\n async updateSchema(ctx: Context) {\n if (internals.isUpdating === true) {\n return ctx.conflict('Schema update is already in progress.');\n }\n\n try {\n const { data } = await validateUpdateSchema(ctx.request.body);\n\n if (isEmpty(data.components) && isEmpty(data.contentTypes)) {\n ctx.body = {};\n return;\n }\n\n internals.isUpdating = true;\n strapi.reload.isWatching = false;\n\n await getService('schema').updateSchema(data);\n\n // NOTE: we do not set isUpdating to false here.\n // We want to wait for the server to restart to get the isUpdate = false only\n setImmediate(() => {\n strapi.reload();\n });\n\n ctx.body = {};\n } catch (error) {\n internals.isUpdating = false;\n const errorMessage = error instanceof Error ? error.message : String(error);\n return ctx.send({ error: errorMessage }, 400);\n }\n },\n\n async getUpdateSchemaStatus(ctx: Context) {\n ctx.send({ data: { isUpdating: internals.isUpdating } });\n },\n };\n};\n"],"names":["internals","isUpdating","getSchema","ctx","schema","getService","send","data","updateSchema","conflict","validateUpdateSchema","request","body","isEmpty","components","contentTypes","strapi","reload","isWatching","setImmediate","error","errorMessage","Error","message","String","getUpdateSchemaStatus"],"mappings":";;;;;;AAMA,aAAe,CAAA,IAAA;AACb,IAAA,MAAMA,SAAAA,GAAY;QAChBC,UAAAA,EAAY;AACd,KAAA;IAEA,OAAO;AACL,QAAA,MAAMC,WAAUC,GAAY,EAAA;AAC1B,YAAA,MAAMC,MAAAA,GAAS,MAAMC,gBAAAA,CAAW,QAAA,CAAA,CAAUH,SAAS,EAAA;AAEnDC,YAAAA,GAAAA,CAAIG,IAAI,CAAC;gBAAEC,IAAAA,EAAMH;AAAO,aAAA,CAAA;AAC1B,QAAA,CAAA;AAEA,QAAA,MAAMI,cAAaL,GAAY,EAAA;YAC7B,IAAIH,SAAAA,CAAUC,UAAU,KAAK,IAAA,EAAM;gBACjC,OAAOE,GAAAA,CAAIM,QAAQ,CAAC,uCAAA,CAAA;AACtB,YAAA;YAEA,IAAI;gBACF,MAAM,EAAEF,IAAI,EAAE,GAAG,MAAMG,6BAAAA,CAAqBP,GAAAA,CAAIQ,OAAO,CAACC,IAAI,CAAA;AAE5D,gBAAA,IAAIC,WAAQN,IAAAA,CAAKO,UAAU,KAAKD,UAAAA,CAAQN,IAAAA,CAAKQ,YAAY,CAAA,EAAG;oBAC1DZ,GAAAA,CAAIS,IAAI,GAAG,EAAC;AACZ,oBAAA;AACF,gBAAA;AAEAZ,gBAAAA,SAAAA,CAAUC,UAAU,GAAG,IAAA;gBACvBe,MAAAA,CAAOC,MAAM,CAACC,UAAU,GAAG,KAAA;gBAE3B,MAAMb,gBAAAA,CAAW,QAAA,CAAA,CAAUG,YAAY,CAACD,IAAAA,CAAAA;;;gBAIxCY,YAAAA,CAAa,IAAA;AACXH,oBAAAA,MAAAA,CAAOC,MAAM,EAAA;AACf,gBAAA,CAAA,CAAA;gBAEAd,GAAAA,CAAIS,IAAI,GAAG,EAAC;AACd,YAAA,CAAA,CAAE,OAAOQ,KAAAA,EAAO;AACdpB,gBAAAA,SAAAA,CAAUC,UAAU,GAAG,KAAA;AACvB,gBAAA,MAAMoB,eAAeD,KAAAA,YAAiBE,KAAAA,GAAQF,KAAAA,CAAMG,OAAO,GAAGC,MAAAA,CAAOJ,KAAAA,CAAAA;gBACrE,OAAOjB,GAAAA,CAAIG,IAAI,CAAC;oBAAEc,KAAAA,EAAOC;iBAAa,EAAG,GAAA,CAAA;AAC3C,YAAA;AACF,QAAA,CAAA;AAEA,QAAA,MAAMI,uBAAsBtB,GAAY,EAAA;AACtCA,YAAAA,GAAAA,CAAIG,IAAI,CAAC;gBAAEC,IAAAA,EAAM;AAAEN,oBAAAA,UAAAA,EAAYD,UAAUC;AAAW;AAAE,aAAA,CAAA;AACxD,QAAA;AACF,KAAA;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.mjs","sources":["../../../server/src/controllers/schema.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { isEmpty } from 'lodash/fp';\n\nimport { getService } from '../utils';\nimport { validateUpdateSchema } from './validation/schema';\n\nexport default () => {\n const internals = {\n isUpdating: false,\n };\n\n return {\n async getSchema(ctx: Context) {\n const schema = await getService('schema').getSchema();\n\n ctx.send({ data: schema });\n },\n\n async updateSchema(ctx: Context) {\n if (internals.isUpdating === true) {\n return ctx.conflict('Schema update is already in progress.');\n }\n\n try {\n const { data } = await validateUpdateSchema(ctx.request.body);\n\n if (isEmpty(data.components) && isEmpty(data.contentTypes)) {\n ctx.body = {};\n return;\n }\n\n internals.isUpdating = true;\n strapi.reload.isWatching = false;\n\n await getService('schema').updateSchema(data);\n\n // NOTE: we do not set isUpdating to false here.\n // We want to wait for the server to restart to get the isUpdate = false only\n setImmediate(() => {\n strapi.reload();\n });\n\n ctx.body = {};\n } catch (error) {\n internals.isUpdating = false;\n const errorMessage = error instanceof Error ? error.message : String(error);\n return ctx.send({ error: errorMessage }, 400);\n }\n },\n\n async getUpdateSchemaStatus(ctx: Context) {\n ctx.send({ data: { isUpdating: internals.isUpdating } });\n },\n };\n};\n"],"names":["internals","isUpdating","getSchema","ctx","schema","getService","send","data","updateSchema","conflict","validateUpdateSchema","request","body","isEmpty","components","contentTypes","strapi","reload","isWatching","setImmediate","error","errorMessage","Error","message","String","getUpdateSchemaStatus"],"mappings":";;;;AAMA,aAAe,CAAA,IAAA;AACb,IAAA,MAAMA,SAAY,GAAA;QAChBC,UAAY,EAAA;AACd,KAAA;IAEA,OAAO;AACL,QAAA,MAAMC,WAAUC,GAAY,EAAA;AAC1B,YAAA,MAAMC,MAAS,GAAA,MAAMC,UAAW,CAAA,QAAA,CAAA,CAAUH,SAAS,EAAA;AAEnDC,YAAAA,GAAAA,CAAIG,IAAI,CAAC;gBAAEC,IAAMH,EAAAA;AAAO,aAAA,CAAA;AAC1B,SAAA;AAEA,QAAA,MAAMI,cAAaL,GAAY,EAAA;YAC7B,IAAIH,SAAAA,CAAUC,UAAU,KAAK,IAAM,EAAA;gBACjC,OAAOE,GAAAA,CAAIM,QAAQ,CAAC,uCAAA,CAAA;AACtB;YAEA,IAAI;gBACF,MAAM,EAAEF,IAAI,EAAE,GAAG,MAAMG,oBAAqBP,CAAAA,GAAAA,CAAIQ,OAAO,CAACC,IAAI,CAAA;AAE5D,gBAAA,IAAIC,QAAQN,IAAKO,CAAAA,UAAU,KAAKD,OAAQN,CAAAA,IAAAA,CAAKQ,YAAY,CAAG,EAAA;oBAC1DZ,GAAIS,CAAAA,IAAI,GAAG,EAAC;AACZ,oBAAA;AACF;AAEAZ,gBAAAA,SAAAA,CAAUC,UAAU,GAAG,IAAA;gBACvBe,MAAOC,CAAAA,MAAM,CAACC,UAAU,GAAG,KAAA;gBAE3B,MAAMb,UAAAA,CAAW,QAAUG,CAAAA,CAAAA,YAAY,CAACD,IAAAA,CAAAA;;;gBAIxCY,YAAa,CAAA,IAAA;AACXH,oBAAAA,MAAAA,CAAOC,MAAM,EAAA;AACf,iBAAA,CAAA;gBAEAd,GAAIS,CAAAA,IAAI,GAAG,EAAC;AACd,aAAA,CAAE,OAAOQ,KAAO,EAAA;AACdpB,gBAAAA,SAAAA,CAAUC,UAAU,GAAG,KAAA;AACvB,gBAAA,MAAMoB,eAAeD,KAAiBE,YAAAA,KAAAA,GAAQF,KAAMG,CAAAA,OAAO,GAAGC,MAAOJ,CAAAA,KAAAA,CAAAA;gBACrE,OAAOjB,GAAAA,CAAIG,IAAI,CAAC;oBAAEc,KAAOC,EAAAA;iBAAgB,EAAA,GAAA,CAAA;AAC3C;AACF,SAAA;AAEA,QAAA,MAAMI,uBAAsBtB,GAAY,EAAA;AACtCA,YAAAA,GAAAA,CAAIG,IAAI,CAAC;gBAAEC,IAAM,EAAA;AAAEN,oBAAAA,UAAAA,EAAYD,UAAUC;AAAW;AAAE,aAAA,CAAA;AACxD;AACF,KAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"schema.mjs","sources":["../../../server/src/controllers/schema.ts"],"sourcesContent":["import type { Context } from 'koa';\nimport { isEmpty } from 'lodash/fp';\n\nimport { getService } from '../utils';\nimport { validateUpdateSchema } from './validation/schema';\n\nexport default () => {\n const internals = {\n isUpdating: false,\n };\n\n return {\n async getSchema(ctx: Context) {\n const schema = await getService('schema').getSchema();\n\n ctx.send({ data: schema });\n },\n\n async updateSchema(ctx: Context) {\n if (internals.isUpdating === true) {\n return ctx.conflict('Schema update is already in progress.');\n }\n\n try {\n const { data } = await validateUpdateSchema(ctx.request.body);\n\n if (isEmpty(data.components) && isEmpty(data.contentTypes)) {\n ctx.body = {};\n return;\n }\n\n internals.isUpdating = true;\n strapi.reload.isWatching = false;\n\n await getService('schema').updateSchema(data);\n\n // NOTE: we do not set isUpdating to false here.\n // We want to wait for the server to restart to get the isUpdate = false only\n setImmediate(() => {\n strapi.reload();\n });\n\n ctx.body = {};\n } catch (error) {\n internals.isUpdating = false;\n const errorMessage = error instanceof Error ? error.message : String(error);\n return ctx.send({ error: errorMessage }, 400);\n }\n },\n\n async getUpdateSchemaStatus(ctx: Context) {\n ctx.send({ data: { isUpdating: internals.isUpdating } });\n },\n };\n};\n"],"names":["internals","isUpdating","getSchema","ctx","schema","getService","send","data","updateSchema","conflict","validateUpdateSchema","request","body","isEmpty","components","contentTypes","strapi","reload","isWatching","setImmediate","error","errorMessage","Error","message","String","getUpdateSchemaStatus"],"mappings":";;;;AAMA,aAAe,CAAA,IAAA;AACb,IAAA,MAAMA,SAAAA,GAAY;QAChBC,UAAAA,EAAY;AACd,KAAA;IAEA,OAAO;AACL,QAAA,MAAMC,WAAUC,GAAY,EAAA;AAC1B,YAAA,MAAMC,MAAAA,GAAS,MAAMC,UAAAA,CAAW,QAAA,CAAA,CAAUH,SAAS,EAAA;AAEnDC,YAAAA,GAAAA,CAAIG,IAAI,CAAC;gBAAEC,IAAAA,EAAMH;AAAO,aAAA,CAAA;AAC1B,QAAA,CAAA;AAEA,QAAA,MAAMI,cAAaL,GAAY,EAAA;YAC7B,IAAIH,SAAAA,CAAUC,UAAU,KAAK,IAAA,EAAM;gBACjC,OAAOE,GAAAA,CAAIM,QAAQ,CAAC,uCAAA,CAAA;AACtB,YAAA;YAEA,IAAI;gBACF,MAAM,EAAEF,IAAI,EAAE,GAAG,MAAMG,oBAAAA,CAAqBP,GAAAA,CAAIQ,OAAO,CAACC,IAAI,CAAA;AAE5D,gBAAA,IAAIC,QAAQN,IAAAA,CAAKO,UAAU,KAAKD,OAAAA,CAAQN,IAAAA,CAAKQ,YAAY,CAAA,EAAG;oBAC1DZ,GAAAA,CAAIS,IAAI,GAAG,EAAC;AACZ,oBAAA;AACF,gBAAA;AAEAZ,gBAAAA,SAAAA,CAAUC,UAAU,GAAG,IAAA;gBACvBe,MAAAA,CAAOC,MAAM,CAACC,UAAU,GAAG,KAAA;gBAE3B,MAAMb,UAAAA,CAAW,QAAA,CAAA,CAAUG,YAAY,CAACD,IAAAA,CAAAA;;;gBAIxCY,YAAAA,CAAa,IAAA;AACXH,oBAAAA,MAAAA,CAAOC,MAAM,EAAA;AACf,gBAAA,CAAA,CAAA;gBAEAd,GAAAA,CAAIS,IAAI,GAAG,EAAC;AACd,YAAA,CAAA,CAAE,OAAOQ,KAAAA,EAAO;AACdpB,gBAAAA,SAAAA,CAAUC,UAAU,GAAG,KAAA;AACvB,gBAAA,MAAMoB,eAAeD,KAAAA,YAAiBE,KAAAA,GAAQF,KAAAA,CAAMG,OAAO,GAAGC,MAAAA,CAAOJ,KAAAA,CAAAA;gBACrE,OAAOjB,GAAAA,CAAIG,IAAI,CAAC;oBAAEc,KAAAA,EAAOC;iBAAa,EAAG,GAAA,CAAA;AAC3C,YAAA;AACF,QAAA,CAAA;AAEA,QAAA,MAAMI,uBAAsBtB,GAAY,EAAA;AACtCA,YAAAA,GAAAA,CAAIG,IAAI,CAAC;gBAAEC,IAAAA,EAAM;AAAEN,oBAAAA,UAAAA,EAAYD,UAAUC;AAAW;AAAE,aAAA,CAAA;AACxD,QAAA;AACF,KAAA;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sources":["../../../../server/src/controllers/validation/common.ts"],"sourcesContent":["/* eslint-disable no-template-curly-in-string */\nimport { yup, strings } from '@strapi/utils';\nimport _ from 'lodash';\nimport { TestConfig } from 'yup';\n\nexport const validators = {\n required: yup.boolean(),\n unique: yup.boolean(),\n minLength: yup.number().integer().positive(),\n maxLength: yup.number().integer().positive(),\n};\n\nexport const NAME_REGEX = /^[A-Za-z][_0-9A-Za-z]*$/;\nexport const COLLECTION_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;\nexport const CATEGORY_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;\nexport const ICON_REGEX = /^[A-Za-z0-9][-A-Za-z0-9]*$/;\nexport const UID_REGEX = /^[A-Za-z0-9-_.~]*$/;\nexport const KEBAB_BASE_REGEX = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;\n\nexport type CommonTestConfig = TestConfig<unknown | undefined, Record<string, unknown>>;\n\nexport const isValidName: CommonTestConfig = {\n name: 'isValidName',\n message: `\\${path} must match the following regex: ${NAME_REGEX}`,\n test: (val: unknown) => val === '' || NAME_REGEX.test(val as string),\n};\n\nexport const isValidIcon: CommonTestConfig = {\n name: 'isValidIcon',\n message: `\\${path} is not a valid icon name. Make sure your icon name starts with an alphanumeric character and only includes alphanumeric characters or dashes.`,\n test: (val) => val === '' || ICON_REGEX.test(val as string),\n};\n\nexport const isValidUID: CommonTestConfig = {\n name: 'isValidUID',\n message: `\\${path} must match the following regex: ${UID_REGEX}`,\n test: (val) => val === '' || UID_REGEX.test(val as string),\n};\n\nexport const isValidCategoryName: CommonTestConfig = {\n name: 'isValidCategoryName',\n message: `\\${path} must match the following regex: ${CATEGORY_NAME_REGEX}`,\n test: (val) => val === '' || CATEGORY_NAME_REGEX.test(val as string),\n};\n\nexport const isValidCollectionName: CommonTestConfig = {\n name: 'isValidCollectionName',\n message: `\\${path} must match the following regex: ${COLLECTION_NAME_REGEX}`,\n test: (val) => val === '' || COLLECTION_NAME_REGEX.test(val as string),\n};\n\nexport const isValidKey = (key: string): CommonTestConfig => ({\n name: 'isValidKey',\n message: `Attribute name '${key}' must match the following regex: ${NAME_REGEX}`,\n test: () => NAME_REGEX.test(key),\n});\n\nexport const isValidEnum: CommonTestConfig = {\n name: 'isValidEnum',\n message: '${path} should not start with number',\n test: (val) => val === '' || !strings.startsWithANumber(val as string),\n};\n\nexport const areEnumValuesUnique: CommonTestConfig = {\n name: 'areEnumValuesUnique',\n message: '${path} cannot contain duplicate values',\n test(values) {\n const filtered = [...new Set(values as string[])];\n\n return filtered.length === (values as string[]).length;\n },\n};\n\nexport const isValidRegExpPattern: CommonTestConfig = {\n name: 'isValidRegExpPattern',\n message: '${path} must be a valid RexExp pattern string',\n test: (val) => val === '' || !!new RegExp(val as string),\n};\n\nexport const isValidDefaultJSON: CommonTestConfig = {\n name: 'isValidDefaultJSON',\n message: '${path} is not a valid JSON',\n test(val) {\n if (val === undefined) {\n return true;\n }\n\n if (_.isNumber(val) || _.isNull(val) || _.isObject(val) || _.isArray(val)) {\n return true;\n }\n\n try {\n JSON.parse(val as string);\n\n return true;\n } catch (err) {\n return false;\n }\n },\n};\n"],"names":["validators","required","yup","boolean","unique","minLength","number","integer","positive","maxLength","NAME_REGEX","COLLECTION_NAME_REGEX","CATEGORY_NAME_REGEX","ICON_REGEX","UID_REGEX","KEBAB_BASE_REGEX","isValidName","name","message","test","val","isValidIcon","isValidCategoryName","isValidCollectionName","isValidKey","key","isValidEnum","strings","startsWithANumber","areEnumValuesUnique","values","filtered","Set","length","isValidRegExpPattern","RegExp","isValidDefaultJSON","undefined","_","isNumber","isNull","isObject","isArray","JSON","parse","err"],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sources":["../../../../server/src/controllers/validation/common.ts"],"sourcesContent":["/* eslint-disable no-template-curly-in-string */\nimport { yup, strings } from '@strapi/utils';\nimport _ from 'lodash';\nimport { TestConfig } from 'yup';\n\nexport const validators = {\n required: yup.boolean(),\n unique: yup.boolean(),\n minLength: yup.number().integer().positive(),\n maxLength: yup.number().integer().positive(),\n};\n\nexport const NAME_REGEX = /^[A-Za-z][_0-9A-Za-z]*$/;\nexport const COLLECTION_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;\nexport const CATEGORY_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;\nexport const ICON_REGEX = /^[A-Za-z0-9][-A-Za-z0-9]*$/;\nexport const UID_REGEX = /^[A-Za-z0-9-_.~]*$/;\nexport const KEBAB_BASE_REGEX = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;\n\nexport type CommonTestConfig = TestConfig<unknown | undefined, Record<string, unknown>>;\n\nexport const isValidName: CommonTestConfig = {\n name: 'isValidName',\n message: `\\${path} must match the following regex: ${NAME_REGEX}`,\n test: (val: unknown) => val === '' || NAME_REGEX.test(val as string),\n};\n\nexport const isValidIcon: CommonTestConfig = {\n name: 'isValidIcon',\n message: `\\${path} is not a valid icon name. Make sure your icon name starts with an alphanumeric character and only includes alphanumeric characters or dashes.`,\n test: (val) => val === '' || ICON_REGEX.test(val as string),\n};\n\nexport const isValidUID: CommonTestConfig = {\n name: 'isValidUID',\n message: `\\${path} must match the following regex: ${UID_REGEX}`,\n test: (val) => val === '' || UID_REGEX.test(val as string),\n};\n\nexport const isValidCategoryName: CommonTestConfig = {\n name: 'isValidCategoryName',\n message: `\\${path} must match the following regex: ${CATEGORY_NAME_REGEX}`,\n test: (val) => val === '' || CATEGORY_NAME_REGEX.test(val as string),\n};\n\nexport const isValidCollectionName: CommonTestConfig = {\n name: 'isValidCollectionName',\n message: `\\${path} must match the following regex: ${COLLECTION_NAME_REGEX}`,\n test: (val) => val === '' || COLLECTION_NAME_REGEX.test(val as string),\n};\n\nexport const isValidKey = (key: string): CommonTestConfig => ({\n name: 'isValidKey',\n message: `Attribute name '${key}' must match the following regex: ${NAME_REGEX}`,\n test: () => NAME_REGEX.test(key),\n});\n\nexport const isValidEnum: CommonTestConfig = {\n name: 'isValidEnum',\n message: '${path} should not start with number',\n test: (val) => val === '' || !strings.startsWithANumber(val as string),\n};\n\nexport const areEnumValuesUnique: CommonTestConfig = {\n name: 'areEnumValuesUnique',\n message: '${path} cannot contain duplicate values',\n test(values) {\n const filtered = [...new Set(values as string[])];\n\n return filtered.length === (values as string[]).length;\n },\n};\n\nexport const isValidRegExpPattern: CommonTestConfig = {\n name: 'isValidRegExpPattern',\n message: '${path} must be a valid RexExp pattern string',\n test: (val) => val === '' || !!new RegExp(val as string),\n};\n\nexport const isValidDefaultJSON: CommonTestConfig = {\n name: 'isValidDefaultJSON',\n message: '${path} is not a valid JSON',\n test(val) {\n if (val === undefined) {\n return true;\n }\n\n if (_.isNumber(val) || _.isNull(val) || _.isObject(val) || _.isArray(val)) {\n return true;\n }\n\n try {\n JSON.parse(val as string);\n\n return true;\n } catch (err) {\n return false;\n }\n },\n};\n"],"names":["validators","required","yup","boolean","unique","minLength","number","integer","positive","maxLength","NAME_REGEX","COLLECTION_NAME_REGEX","CATEGORY_NAME_REGEX","ICON_REGEX","UID_REGEX","KEBAB_BASE_REGEX","isValidName","name","message","test","val","isValidIcon","isValidCategoryName","isValidCollectionName","isValidKey","key","isValidEnum","strings","startsWithANumber","areEnumValuesUnique","values","filtered","Set","length","isValidRegExpPattern","RegExp","isValidDefaultJSON","undefined","_","isNumber","isNull","isObject","isArray","JSON","parse","err"],"mappings":";;;;;MAKaA,UAAAA,GAAa;AACxBC,IAAAA,QAAAA,EAAUC,UAAIC,OAAO,EAAA;AACrBC,IAAAA,MAAAA,EAAQF,UAAIC,OAAO,EAAA;AACnBE,IAAAA,SAAAA,EAAWH,SAAAA,CAAII,MAAM,EAAA,CAAGC,OAAO,GAAGC,QAAQ,EAAA;AAC1CC,IAAAA,SAAAA,EAAWP,SAAAA,CAAII,MAAM,EAAA,CAAGC,OAAO,GAAGC,QAAQ;AAC5C;AAEO,MAAME,aAAa;AACnB,MAAMC,wBAAwB;AAC9B,MAAMC,sBAAsB;AAC5B,MAAMC,aAAa;AACnB,MAAMC,YAAY;AAClB,MAAMC,mBAAmB;MAInBC,WAAAA,GAAgC;IAC3CC,IAAAA,EAAM,aAAA;IACNC,OAAAA,EAAS,CAAC,yCAAyC,EAAER,UAAAA,CAAAA,CAAY;AACjES,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAiBA,GAAAA,KAAQ,EAAA,IAAMV,UAAAA,CAAWS,IAAI,CAACC,GAAAA;AACxD;MAEaC,WAAAA,GAAgC;IAC3CJ,IAAAA,EAAM,aAAA;IACNC,OAAAA,EAAS,CAAC,sJAAsJ,CAAC;AACjKC,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAQA,GAAAA,KAAQ,EAAA,IAAMP,UAAAA,CAAWM,IAAI,CAACC,GAAAA;AAC/C;MAQaE,mBAAAA,GAAwC;IACnDL,IAAAA,EAAM,qBAAA;IACNC,OAAAA,EAAS,CAAC,yCAAyC,EAAEN,mBAAAA,CAAAA,CAAqB;AAC1EO,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAQA,GAAAA,KAAQ,EAAA,IAAMR,mBAAAA,CAAoBO,IAAI,CAACC,GAAAA;AACxD;MAEaG,qBAAAA,GAA0C;IACrDN,IAAAA,EAAM,uBAAA;IACNC,OAAAA,EAAS,CAAC,yCAAyC,EAAEP,qBAAAA,CAAAA,CAAuB;AAC5EQ,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAQA,GAAAA,KAAQ,EAAA,IAAMT,qBAAAA,CAAsBQ,IAAI,CAACC,GAAAA;AAC1D;AAEO,MAAMI,UAAAA,GAAa,CAACC,GAAAA,IAAmC;QAC5DR,IAAAA,EAAM,YAAA;AACNC,QAAAA,OAAAA,EAAS,CAAC,gBAAgB,EAAEO,GAAAA,CAAI,kCAAkC,EAAEf,UAAAA,CAAAA,CAAY;QAChFS,IAAAA,EAAM,IAAMT,UAAAA,CAAWS,IAAI,CAACM,GAAAA;AAC9B,KAAA;MAEaC,WAAAA,GAAgC;IAC3CT,IAAAA,EAAM,aAAA;IACNC,OAAAA,EAAS,sCAAA;AACTC,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAQA,GAAAA,KAAQ,MAAM,CAACO,aAAAA,CAAQC,iBAAiB,CAACR,GAAAA;AAC1D;MAEaS,mBAAAA,GAAwC;IACnDZ,IAAAA,EAAM,qBAAA;IACNC,OAAAA,EAAS,yCAAA;AACTC,IAAAA,IAAAA,CAAAA,CAAKW,MAAM,EAAA;AACT,QAAA,MAAMC,QAAAA,GAAW;AAAI,YAAA,GAAA,IAAIC,GAAAA,CAAIF,MAAAA;AAAoB,SAAA;AAEjD,QAAA,OAAOC,QAAAA,CAASE,MAAM,KAAMH,OAAoBG,MAAM;AACxD,IAAA;AACF;MAEaC,oBAAAA,GAAyC;IACpDjB,IAAAA,EAAM,sBAAA;IACNC,OAAAA,EAAS,+CAAA;AACTC,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAQA,GAAAA,KAAQ,MAAM,CAAC,CAAC,IAAIe,MAAAA,CAAOf,GAAAA;AAC5C;MAEagB,kBAAAA,GAAuC;IAClDnB,IAAAA,EAAM,oBAAA;IACNC,OAAAA,EAAS,6BAAA;AACTC,IAAAA,IAAAA,CAAAA,CAAKC,GAAG,EAAA;AACN,QAAA,IAAIA,QAAQiB,SAAAA,EAAW;YACrB,OAAO,IAAA;AACT,QAAA;AAEA,QAAA,IAAIC,CAAAA,CAAEC,QAAQ,CAACnB,GAAAA,CAAAA,IAAQkB,EAAEE,MAAM,CAACpB,GAAAA,CAAAA,IAAQkB,CAAAA,CAAEG,QAAQ,CAACrB,GAAAA,CAAAA,IAAQkB,CAAAA,CAAEI,OAAO,CAACtB,GAAAA,CAAAA,EAAM;YACzE,OAAO,IAAA;AACT,QAAA;QAEA,IAAI;AACFuB,YAAAA,IAAAA,CAAKC,KAAK,CAACxB,GAAAA,CAAAA;YAEX,OAAO,IAAA;AACT,QAAA,CAAA,CAAE,OAAOyB,GAAAA,EAAK;YACZ,OAAO,KAAA;AACT,QAAA;AACF,IAAA;AACF;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.mjs","sources":["../../../../server/src/controllers/validation/common.ts"],"sourcesContent":["/* eslint-disable no-template-curly-in-string */\nimport { yup, strings } from '@strapi/utils';\nimport _ from 'lodash';\nimport { TestConfig } from 'yup';\n\nexport const validators = {\n required: yup.boolean(),\n unique: yup.boolean(),\n minLength: yup.number().integer().positive(),\n maxLength: yup.number().integer().positive(),\n};\n\nexport const NAME_REGEX = /^[A-Za-z][_0-9A-Za-z]*$/;\nexport const COLLECTION_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;\nexport const CATEGORY_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;\nexport const ICON_REGEX = /^[A-Za-z0-9][-A-Za-z0-9]*$/;\nexport const UID_REGEX = /^[A-Za-z0-9-_.~]*$/;\nexport const KEBAB_BASE_REGEX = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;\n\nexport type CommonTestConfig = TestConfig<unknown | undefined, Record<string, unknown>>;\n\nexport const isValidName: CommonTestConfig = {\n name: 'isValidName',\n message: `\\${path} must match the following regex: ${NAME_REGEX}`,\n test: (val: unknown) => val === '' || NAME_REGEX.test(val as string),\n};\n\nexport const isValidIcon: CommonTestConfig = {\n name: 'isValidIcon',\n message: `\\${path} is not a valid icon name. Make sure your icon name starts with an alphanumeric character and only includes alphanumeric characters or dashes.`,\n test: (val) => val === '' || ICON_REGEX.test(val as string),\n};\n\nexport const isValidUID: CommonTestConfig = {\n name: 'isValidUID',\n message: `\\${path} must match the following regex: ${UID_REGEX}`,\n test: (val) => val === '' || UID_REGEX.test(val as string),\n};\n\nexport const isValidCategoryName: CommonTestConfig = {\n name: 'isValidCategoryName',\n message: `\\${path} must match the following regex: ${CATEGORY_NAME_REGEX}`,\n test: (val) => val === '' || CATEGORY_NAME_REGEX.test(val as string),\n};\n\nexport const isValidCollectionName: CommonTestConfig = {\n name: 'isValidCollectionName',\n message: `\\${path} must match the following regex: ${COLLECTION_NAME_REGEX}`,\n test: (val) => val === '' || COLLECTION_NAME_REGEX.test(val as string),\n};\n\nexport const isValidKey = (key: string): CommonTestConfig => ({\n name: 'isValidKey',\n message: `Attribute name '${key}' must match the following regex: ${NAME_REGEX}`,\n test: () => NAME_REGEX.test(key),\n});\n\nexport const isValidEnum: CommonTestConfig = {\n name: 'isValidEnum',\n message: '${path} should not start with number',\n test: (val) => val === '' || !strings.startsWithANumber(val as string),\n};\n\nexport const areEnumValuesUnique: CommonTestConfig = {\n name: 'areEnumValuesUnique',\n message: '${path} cannot contain duplicate values',\n test(values) {\n const filtered = [...new Set(values as string[])];\n\n return filtered.length === (values as string[]).length;\n },\n};\n\nexport const isValidRegExpPattern: CommonTestConfig = {\n name: 'isValidRegExpPattern',\n message: '${path} must be a valid RexExp pattern string',\n test: (val) => val === '' || !!new RegExp(val as string),\n};\n\nexport const isValidDefaultJSON: CommonTestConfig = {\n name: 'isValidDefaultJSON',\n message: '${path} is not a valid JSON',\n test(val) {\n if (val === undefined) {\n return true;\n }\n\n if (_.isNumber(val) || _.isNull(val) || _.isObject(val) || _.isArray(val)) {\n return true;\n }\n\n try {\n JSON.parse(val as string);\n\n return true;\n } catch (err) {\n return false;\n }\n },\n};\n"],"names":["validators","required","yup","boolean","unique","minLength","number","integer","positive","maxLength","NAME_REGEX","COLLECTION_NAME_REGEX","CATEGORY_NAME_REGEX","ICON_REGEX","UID_REGEX","KEBAB_BASE_REGEX","isValidName","name","message","test","val","isValidIcon","isValidCategoryName","isValidCollectionName","isValidKey","key","isValidEnum","strings","startsWithANumber","areEnumValuesUnique","values","filtered","Set","length","isValidRegExpPattern","RegExp","isValidDefaultJSON","undefined","_","isNumber","isNull","isObject","isArray","JSON","parse","err"],"mappings":"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"}
1
+ {"version":3,"file":"common.mjs","sources":["../../../../server/src/controllers/validation/common.ts"],"sourcesContent":["/* eslint-disable no-template-curly-in-string */\nimport { yup, strings } from '@strapi/utils';\nimport _ from 'lodash';\nimport { TestConfig } from 'yup';\n\nexport const validators = {\n required: yup.boolean(),\n unique: yup.boolean(),\n minLength: yup.number().integer().positive(),\n maxLength: yup.number().integer().positive(),\n};\n\nexport const NAME_REGEX = /^[A-Za-z][_0-9A-Za-z]*$/;\nexport const COLLECTION_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;\nexport const CATEGORY_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;\nexport const ICON_REGEX = /^[A-Za-z0-9][-A-Za-z0-9]*$/;\nexport const UID_REGEX = /^[A-Za-z0-9-_.~]*$/;\nexport const KEBAB_BASE_REGEX = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;\n\nexport type CommonTestConfig = TestConfig<unknown | undefined, Record<string, unknown>>;\n\nexport const isValidName: CommonTestConfig = {\n name: 'isValidName',\n message: `\\${path} must match the following regex: ${NAME_REGEX}`,\n test: (val: unknown) => val === '' || NAME_REGEX.test(val as string),\n};\n\nexport const isValidIcon: CommonTestConfig = {\n name: 'isValidIcon',\n message: `\\${path} is not a valid icon name. Make sure your icon name starts with an alphanumeric character and only includes alphanumeric characters or dashes.`,\n test: (val) => val === '' || ICON_REGEX.test(val as string),\n};\n\nexport const isValidUID: CommonTestConfig = {\n name: 'isValidUID',\n message: `\\${path} must match the following regex: ${UID_REGEX}`,\n test: (val) => val === '' || UID_REGEX.test(val as string),\n};\n\nexport const isValidCategoryName: CommonTestConfig = {\n name: 'isValidCategoryName',\n message: `\\${path} must match the following regex: ${CATEGORY_NAME_REGEX}`,\n test: (val) => val === '' || CATEGORY_NAME_REGEX.test(val as string),\n};\n\nexport const isValidCollectionName: CommonTestConfig = {\n name: 'isValidCollectionName',\n message: `\\${path} must match the following regex: ${COLLECTION_NAME_REGEX}`,\n test: (val) => val === '' || COLLECTION_NAME_REGEX.test(val as string),\n};\n\nexport const isValidKey = (key: string): CommonTestConfig => ({\n name: 'isValidKey',\n message: `Attribute name '${key}' must match the following regex: ${NAME_REGEX}`,\n test: () => NAME_REGEX.test(key),\n});\n\nexport const isValidEnum: CommonTestConfig = {\n name: 'isValidEnum',\n message: '${path} should not start with number',\n test: (val) => val === '' || !strings.startsWithANumber(val as string),\n};\n\nexport const areEnumValuesUnique: CommonTestConfig = {\n name: 'areEnumValuesUnique',\n message: '${path} cannot contain duplicate values',\n test(values) {\n const filtered = [...new Set(values as string[])];\n\n return filtered.length === (values as string[]).length;\n },\n};\n\nexport const isValidRegExpPattern: CommonTestConfig = {\n name: 'isValidRegExpPattern',\n message: '${path} must be a valid RexExp pattern string',\n test: (val) => val === '' || !!new RegExp(val as string),\n};\n\nexport const isValidDefaultJSON: CommonTestConfig = {\n name: 'isValidDefaultJSON',\n message: '${path} is not a valid JSON',\n test(val) {\n if (val === undefined) {\n return true;\n }\n\n if (_.isNumber(val) || _.isNull(val) || _.isObject(val) || _.isArray(val)) {\n return true;\n }\n\n try {\n JSON.parse(val as string);\n\n return true;\n } catch (err) {\n return false;\n }\n },\n};\n"],"names":["validators","required","yup","boolean","unique","minLength","number","integer","positive","maxLength","NAME_REGEX","COLLECTION_NAME_REGEX","CATEGORY_NAME_REGEX","ICON_REGEX","UID_REGEX","KEBAB_BASE_REGEX","isValidName","name","message","test","val","isValidIcon","isValidCategoryName","isValidCollectionName","isValidKey","key","isValidEnum","strings","startsWithANumber","areEnumValuesUnique","values","filtered","Set","length","isValidRegExpPattern","RegExp","isValidDefaultJSON","undefined","_","isNumber","isNull","isObject","isArray","JSON","parse","err"],"mappings":";;;MAKaA,UAAAA,GAAa;AACxBC,IAAAA,QAAAA,EAAUC,IAAIC,OAAO,EAAA;AACrBC,IAAAA,MAAAA,EAAQF,IAAIC,OAAO,EAAA;AACnBE,IAAAA,SAAAA,EAAWH,GAAAA,CAAII,MAAM,EAAA,CAAGC,OAAO,GAAGC,QAAQ,EAAA;AAC1CC,IAAAA,SAAAA,EAAWP,GAAAA,CAAII,MAAM,EAAA,CAAGC,OAAO,GAAGC,QAAQ;AAC5C;AAEO,MAAME,aAAa;AACnB,MAAMC,wBAAwB;AAC9B,MAAMC,sBAAsB;AAC5B,MAAMC,aAAa;AACnB,MAAMC,YAAY;AAClB,MAAMC,mBAAmB;MAInBC,WAAAA,GAAgC;IAC3CC,IAAAA,EAAM,aAAA;IACNC,OAAAA,EAAS,CAAC,yCAAyC,EAAER,UAAAA,CAAAA,CAAY;AACjES,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAiBA,GAAAA,KAAQ,EAAA,IAAMV,UAAAA,CAAWS,IAAI,CAACC,GAAAA;AACxD;MAEaC,WAAAA,GAAgC;IAC3CJ,IAAAA,EAAM,aAAA;IACNC,OAAAA,EAAS,CAAC,sJAAsJ,CAAC;AACjKC,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAQA,GAAAA,KAAQ,EAAA,IAAMP,UAAAA,CAAWM,IAAI,CAACC,GAAAA;AAC/C;MAQaE,mBAAAA,GAAwC;IACnDL,IAAAA,EAAM,qBAAA;IACNC,OAAAA,EAAS,CAAC,yCAAyC,EAAEN,mBAAAA,CAAAA,CAAqB;AAC1EO,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAQA,GAAAA,KAAQ,EAAA,IAAMR,mBAAAA,CAAoBO,IAAI,CAACC,GAAAA;AACxD;MAEaG,qBAAAA,GAA0C;IACrDN,IAAAA,EAAM,uBAAA;IACNC,OAAAA,EAAS,CAAC,yCAAyC,EAAEP,qBAAAA,CAAAA,CAAuB;AAC5EQ,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAQA,GAAAA,KAAQ,EAAA,IAAMT,qBAAAA,CAAsBQ,IAAI,CAACC,GAAAA;AAC1D;AAEO,MAAMI,UAAAA,GAAa,CAACC,GAAAA,IAAmC;QAC5DR,IAAAA,EAAM,YAAA;AACNC,QAAAA,OAAAA,EAAS,CAAC,gBAAgB,EAAEO,GAAAA,CAAI,kCAAkC,EAAEf,UAAAA,CAAAA,CAAY;QAChFS,IAAAA,EAAM,IAAMT,UAAAA,CAAWS,IAAI,CAACM,GAAAA;AAC9B,KAAA;MAEaC,WAAAA,GAAgC;IAC3CT,IAAAA,EAAM,aAAA;IACNC,OAAAA,EAAS,sCAAA;AACTC,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAQA,GAAAA,KAAQ,MAAM,CAACO,OAAAA,CAAQC,iBAAiB,CAACR,GAAAA;AAC1D;MAEaS,mBAAAA,GAAwC;IACnDZ,IAAAA,EAAM,qBAAA;IACNC,OAAAA,EAAS,yCAAA;AACTC,IAAAA,IAAAA,CAAAA,CAAKW,MAAM,EAAA;AACT,QAAA,MAAMC,QAAAA,GAAW;AAAI,YAAA,GAAA,IAAIC,GAAAA,CAAIF,MAAAA;AAAoB,SAAA;AAEjD,QAAA,OAAOC,QAAAA,CAASE,MAAM,KAAMH,OAAoBG,MAAM;AACxD,IAAA;AACF;MAEaC,oBAAAA,GAAyC;IACpDjB,IAAAA,EAAM,sBAAA;IACNC,OAAAA,EAAS,+CAAA;AACTC,IAAAA,IAAAA,EAAM,CAACC,GAAAA,GAAQA,GAAAA,KAAQ,MAAM,CAAC,CAAC,IAAIe,MAAAA,CAAOf,GAAAA;AAC5C;MAEagB,kBAAAA,GAAuC;IAClDnB,IAAAA,EAAM,oBAAA;IACNC,OAAAA,EAAS,6BAAA;AACTC,IAAAA,IAAAA,CAAAA,CAAKC,GAAG,EAAA;AACN,QAAA,IAAIA,QAAQiB,SAAAA,EAAW;YACrB,OAAO,IAAA;AACT,QAAA;AAEA,QAAA,IAAIC,CAAAA,CAAEC,QAAQ,CAACnB,GAAAA,CAAAA,IAAQkB,EAAEE,MAAM,CAACpB,GAAAA,CAAAA,IAAQkB,CAAAA,CAAEG,QAAQ,CAACrB,GAAAA,CAAAA,IAAQkB,CAAAA,CAAEI,OAAO,CAACtB,GAAAA,CAAAA,EAAM;YACzE,OAAO,IAAA;AACT,QAAA;QAEA,IAAI;AACFuB,YAAAA,IAAAA,CAAKC,KAAK,CAACxB,GAAAA,CAAAA;YAEX,OAAO,IAAA;AACT,QAAA,CAAA,CAAE,OAAOyB,GAAAA,EAAK;YACZ,OAAO,KAAA;AACT,QAAA;AACF,IAAA;AACF;;;;"}