@akemona-org/strapi-plugin-content-manager 3.7.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 (401) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +27 -0
  3. package/admin/src/InjectedComponents/ContentTypeBuilder/ConfigureViewButton/index.js +78 -0
  4. package/admin/src/assets/images/background_input.svg +1 -0
  5. package/admin/src/assets/images/icon-cross-blue.svg +1 -0
  6. package/admin/src/assets/images/icon_remove.svg +19 -0
  7. package/admin/src/assets/images/logo.svg +1 -0
  8. package/admin/src/components/AddDropdown/components.js +113 -0
  9. package/admin/src/components/AddDropdown/index.js +76 -0
  10. package/admin/src/components/Block/components.js +28 -0
  11. package/admin/src/components/Block/index.js +45 -0
  12. package/admin/src/components/ComponentInitializer/P.js +9 -0
  13. package/admin/src/components/ComponentInitializer/index.js +43 -0
  14. package/admin/src/components/Container/index.js +7 -0
  15. package/admin/src/components/CustomInputCheckbox/components.js +77 -0
  16. package/admin/src/components/CustomInputCheckbox/index.js +53 -0
  17. package/admin/src/components/CustomTable/ActionCollapse/Delete.js +14 -0
  18. package/admin/src/components/CustomTable/ActionCollapse/DeleteAll.js +18 -0
  19. package/admin/src/components/CustomTable/ActionCollapse/Wrapper.js +20 -0
  20. package/admin/src/components/CustomTable/ActionCollapse/index.js +38 -0
  21. package/admin/src/components/CustomTable/Headers/Header.js +59 -0
  22. package/admin/src/components/CustomTable/Headers/Thead.js +35 -0
  23. package/admin/src/components/CustomTable/Headers/index.js +46 -0
  24. package/admin/src/components/CustomTable/Row/ActionContainer.js +19 -0
  25. package/admin/src/components/CustomTable/Row/Cell.js +55 -0
  26. package/admin/src/components/CustomTable/Row/index.js +112 -0
  27. package/admin/src/components/CustomTable/index.js +162 -0
  28. package/admin/src/components/CustomTable/styledComponents.js +85 -0
  29. package/admin/src/components/DragLayer/index.js +102 -0
  30. package/admin/src/components/DraggedField/Close/index.js +10 -0
  31. package/admin/src/components/DraggedField/GrabWrapper.js +38 -0
  32. package/admin/src/components/DraggedField/Link.js +17 -0
  33. package/admin/src/components/DraggedField/NameWrapper.js +29 -0
  34. package/admin/src/components/DraggedField/RemoveWrapper.js +32 -0
  35. package/admin/src/components/DraggedField/SubWrapper.js +36 -0
  36. package/admin/src/components/DraggedField/Wrapper.js +134 -0
  37. package/admin/src/components/DraggedField/index.js +196 -0
  38. package/admin/src/components/DraggedField/utils/getColor.js +12 -0
  39. package/admin/src/components/DraggedField/utils/getHeight.js +3 -0
  40. package/admin/src/components/DraggedFieldWithPreview/Carret.js +24 -0
  41. package/admin/src/components/DraggedFieldWithPreview/DynamicComponent.js +70 -0
  42. package/admin/src/components/DraggedFieldWithPreview/DynamicZoneWrapper.js +10 -0
  43. package/admin/src/components/DraggedFieldWithPreview/Tooltip.js +19 -0
  44. package/admin/src/components/DraggedFieldWithPreview/Wrapper.js +24 -0
  45. package/admin/src/components/DraggedFieldWithPreview/index.js +194 -0
  46. package/admin/src/components/DynamicComponentCard/Wrapper.js +63 -0
  47. package/admin/src/components/DynamicComponentCard/index.js +49 -0
  48. package/admin/src/components/DynamicZone/BaselineAlignement.js +11 -0
  49. package/admin/src/components/DynamicZone/Button.js +31 -0
  50. package/admin/src/components/DynamicZone/Component/RoundCTA.js +45 -0
  51. package/admin/src/components/DynamicZone/Component/index.js +79 -0
  52. package/admin/src/components/DynamicZone/ComponentWrapper.js +44 -0
  53. package/admin/src/components/DynamicZone/DynamicZoneWrapper.js +12 -0
  54. package/admin/src/components/DynamicZone/Label.js +42 -0
  55. package/admin/src/components/DynamicZone/Picker/Category/Banner/Wrapper.js +78 -0
  56. package/admin/src/components/DynamicZone/Picker/Category/Banner/index.js +33 -0
  57. package/admin/src/components/DynamicZone/Picker/Category/index.js +53 -0
  58. package/admin/src/components/DynamicZone/Picker/Wrapper.js +32 -0
  59. package/admin/src/components/DynamicZone/Picker/index.js +88 -0
  60. package/admin/src/components/DynamicZone/Wrapper.js +34 -0
  61. package/admin/src/components/DynamicZone/index.js +238 -0
  62. package/admin/src/components/DynamicZone/utils/connect.js +12 -0
  63. package/admin/src/components/DynamicZone/utils/select.js +49 -0
  64. package/admin/src/components/FieldComponent/ComponentIcon.js +44 -0
  65. package/admin/src/components/FieldComponent/EmptyComponent.js +19 -0
  66. package/admin/src/components/FieldComponent/Label.js +10 -0
  67. package/admin/src/components/FieldComponent/ResetComponent.js +41 -0
  68. package/admin/src/components/FieldComponent/Wrapper.js +18 -0
  69. package/admin/src/components/FieldComponent/index.js +171 -0
  70. package/admin/src/components/FieldComponent/utils/connect.js +12 -0
  71. package/admin/src/components/FieldComponent/utils/select.js +123 -0
  72. package/admin/src/components/FieldsReorder/Item.js +249 -0
  73. package/admin/src/components/FieldsReorder/components.js +8 -0
  74. package/admin/src/components/FieldsReorder/index.js +102 -0
  75. package/admin/src/components/FilterOptionsCTA/index.js +14 -0
  76. package/admin/src/components/FilterPicker/components.js +56 -0
  77. package/admin/src/components/FilterPicker/index.js +258 -0
  78. package/admin/src/components/FilterPicker/init.js +25 -0
  79. package/admin/src/components/FilterPicker/reducer.js +58 -0
  80. package/admin/src/components/FilterPickerOption/Input.js +58 -0
  81. package/admin/src/components/FilterPickerOption/Option.js +18 -0
  82. package/admin/src/components/FilterPickerOption/components.js +60 -0
  83. package/admin/src/components/FilterPickerOption/index.js +101 -0
  84. package/admin/src/components/FormTitle/index.js +26 -0
  85. package/admin/src/components/FormWrapper/index.js +20 -0
  86. package/admin/src/components/InputJSON/components.js +30 -0
  87. package/admin/src/components/InputJSON/index.js +184 -0
  88. package/admin/src/components/InputJSON/jsonlint.js +424 -0
  89. package/admin/src/components/InputJSONWithErrors/Wrapper.js +32 -0
  90. package/admin/src/components/InputJSONWithErrors/index.js +168 -0
  91. package/admin/src/components/InputUID/InputUID.js +26 -0
  92. package/admin/src/components/InputUID/Options/Option.js +22 -0
  93. package/admin/src/components/InputUID/Options/OptionsTitle.js +12 -0
  94. package/admin/src/components/InputUID/Options/RightOptionLabel.js +10 -0
  95. package/admin/src/components/InputUID/Options/index.js +34 -0
  96. package/admin/src/components/InputUID/Options/wrapper.js +13 -0
  97. package/admin/src/components/InputUID/RegenerateButton.js +18 -0
  98. package/admin/src/components/InputUID/RightContent.js +14 -0
  99. package/admin/src/components/InputUID/RightContentLabel.js +10 -0
  100. package/admin/src/components/InputUID/RightLabel.js +42 -0
  101. package/admin/src/components/InputUID/SubLabel.js +9 -0
  102. package/admin/src/components/InputUID/Wrapper.js +8 -0
  103. package/admin/src/components/InputUID/index.js +325 -0
  104. package/admin/src/components/InputUID/regex.js +3 -0
  105. package/admin/src/components/Inputs/index.js +283 -0
  106. package/admin/src/components/Inputs/utils/VALIDATIONS_TO_OMIT.js +12 -0
  107. package/admin/src/components/Inputs/utils/connect.js +12 -0
  108. package/admin/src/components/Inputs/utils/generateOptions.js +19 -0
  109. package/admin/src/components/Inputs/utils/getInputType.js +44 -0
  110. package/admin/src/components/Inputs/utils/getStep.js +15 -0
  111. package/admin/src/components/Inputs/utils/index.js +6 -0
  112. package/admin/src/components/Inputs/utils/select.js +38 -0
  113. package/admin/src/components/LayoutTitle/index.js +19 -0
  114. package/admin/src/components/MediaPreviewList/StyledMediaPreviewList.js +171 -0
  115. package/admin/src/components/MediaPreviewList/index.js +110 -0
  116. package/admin/src/components/NonRepeatableComponent/index.js +73 -0
  117. package/admin/src/components/NonRepeatableWrapper/index.js +73 -0
  118. package/admin/src/components/PlusButton/index.js +52 -0
  119. package/admin/src/components/PopupForm/index.js +93 -0
  120. package/admin/src/components/PreviewCarret/components.js +27 -0
  121. package/admin/src/components/PreviewCarret/index.js +22 -0
  122. package/admin/src/components/PreviewWysiwyg/Wrapper.js +133 -0
  123. package/admin/src/components/PreviewWysiwyg/index.js +34 -0
  124. package/admin/src/components/PreviewWysiwyg/utils/mdRenderer.js +72 -0
  125. package/admin/src/components/PreviewWysiwyg/utils/satinizeHtml.js +16 -0
  126. package/admin/src/components/RelationPreviewList/CountWrapper.js +7 -0
  127. package/admin/src/components/RelationPreviewList/RelationPreviewTooltip.js +117 -0
  128. package/admin/src/components/RelationPreviewList/index.js +111 -0
  129. package/admin/src/components/RepeatableComponent/AddFieldButton.js +64 -0
  130. package/admin/src/components/RepeatableComponent/Banner.js +112 -0
  131. package/admin/src/components/RepeatableComponent/BannerWrapper.js +194 -0
  132. package/admin/src/components/RepeatableComponent/CarretTop.js +14 -0
  133. package/admin/src/components/RepeatableComponent/DraggedItem/index.js +245 -0
  134. package/admin/src/components/RepeatableComponent/DraggedItem/utils/connect.js +11 -0
  135. package/admin/src/components/RepeatableComponent/DraggedItem/utils/index.js +2 -0
  136. package/admin/src/components/RepeatableComponent/DraggedItem/utils/select.js +30 -0
  137. package/admin/src/components/RepeatableComponent/EmptyComponent.js +27 -0
  138. package/admin/src/components/RepeatableComponent/FormWrapper.js +27 -0
  139. package/admin/src/components/RepeatableComponent/index.js +187 -0
  140. package/admin/src/components/RepeatableComponent/reducer.js +73 -0
  141. package/admin/src/components/RepeatableComponent/utils/connect.js +11 -0
  142. package/admin/src/components/RepeatableComponent/utils/select.js +12 -0
  143. package/admin/src/components/Search/index.js +88 -0
  144. package/admin/src/components/SectionTitle/Title.js +11 -0
  145. package/admin/src/components/SectionTitle/index.js +29 -0
  146. package/admin/src/components/SelectMany/ListItem.js +107 -0
  147. package/admin/src/components/SelectMany/Relation.js +106 -0
  148. package/admin/src/components/SelectMany/components.js +153 -0
  149. package/admin/src/components/SelectMany/index.js +159 -0
  150. package/admin/src/components/SelectOne/SingleValue.js +58 -0
  151. package/admin/src/components/SelectOne/index.js +71 -0
  152. package/admin/src/components/SelectWrapper/ClearIndicator.js +15 -0
  153. package/admin/src/components/SelectWrapper/IndicatorSeparator.js +3 -0
  154. package/admin/src/components/SelectWrapper/Option.js +76 -0
  155. package/admin/src/components/SelectWrapper/components.js +14 -0
  156. package/admin/src/components/SelectWrapper/index.js +393 -0
  157. package/admin/src/components/SelectWrapper/utils/connect.js +12 -0
  158. package/admin/src/components/SelectWrapper/utils/index.js +3 -0
  159. package/admin/src/components/SelectWrapper/utils/select.js +45 -0
  160. package/admin/src/components/SelectWrapper/utils/styles.js +105 -0
  161. package/admin/src/components/Separator/index.js +9 -0
  162. package/admin/src/components/SettingFormWrapper/index.js +9 -0
  163. package/admin/src/components/SettingsViewWrapper/index.js +283 -0
  164. package/admin/src/components/SortWrapper/index.js +9 -0
  165. package/admin/src/components/SortableList/Item.js +126 -0
  166. package/admin/src/components/SortableList/index.js +60 -0
  167. package/admin/src/components/State/Wrapper.js +30 -0
  168. package/admin/src/components/State/index.js +26 -0
  169. package/admin/src/components/Truncate/index.js +5 -0
  170. package/admin/src/components/Truncated/index.js +10 -0
  171. package/admin/src/components/Wysiwyg/EditorWrapper.js +122 -0
  172. package/admin/src/components/Wysiwyg/MediaLib.js +71 -0
  173. package/admin/src/components/Wysiwyg/PreviewControlWrapper.js +30 -0
  174. package/admin/src/components/Wysiwyg/SelectWrapper.js +24 -0
  175. package/admin/src/components/Wysiwyg/ToggleModeWrapper.js +30 -0
  176. package/admin/src/components/Wysiwyg/constants.js +98 -0
  177. package/admin/src/components/Wysiwyg/customSelect.js +39 -0
  178. package/admin/src/components/Wysiwyg/helpers.js +116 -0
  179. package/admin/src/components/Wysiwyg/index.js +819 -0
  180. package/admin/src/components/Wysiwyg/previewControl.js +29 -0
  181. package/admin/src/components/Wysiwyg/toggleMode.js +44 -0
  182. package/admin/src/components/Wysiwyg/utils.js +70 -0
  183. package/admin/src/components/WysiwygBottomControls/components.js +44 -0
  184. package/admin/src/components/WysiwygBottomControls/index.js +33 -0
  185. package/admin/src/components/WysiwygDropUpload/Label.js +16 -0
  186. package/admin/src/components/WysiwygDropUpload/index.js +18 -0
  187. package/admin/src/components/WysiwygEditor/index.js +26 -0
  188. package/admin/src/components/WysiwygInlineControls/Button.js +77 -0
  189. package/admin/src/components/WysiwygInlineControls/StyledButton.js +54 -0
  190. package/admin/src/components/WysiwygInlineControls/Wrapper.js +25 -0
  191. package/admin/src/components/WysiwygInlineControls/index.js +66 -0
  192. package/admin/src/components/WysiwygWithErrors/Wrapper.js +38 -0
  193. package/admin/src/components/WysiwygWithErrors/index.js +158 -0
  194. package/admin/src/containers/CollectionTypeFormWrapper/index.js +376 -0
  195. package/admin/src/containers/CollectionTypeFormWrapper/utils/getRequestUrl.js +5 -0
  196. package/admin/src/containers/CollectionTypeFormWrapper/utils/index.js +2 -0
  197. package/admin/src/containers/CollectionTypeRecursivePath/index.js +125 -0
  198. package/admin/src/containers/ComponentSetttingsView/index.js +55 -0
  199. package/admin/src/containers/EditSettingsView/index.js +408 -0
  200. package/admin/src/containers/EditSettingsView/init.js +18 -0
  201. package/admin/src/containers/EditSettingsView/reducer.js +126 -0
  202. package/admin/src/containers/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +26 -0
  203. package/admin/src/containers/EditSettingsView/utils/getInputProps.js +30 -0
  204. package/admin/src/containers/EditSettingsView/utils/index.js +2 -0
  205. package/admin/src/containers/EditSettingsView/utils/layout.js +98 -0
  206. package/admin/src/containers/EditView/DeleteLink/index.js +94 -0
  207. package/admin/src/containers/EditView/DeleteLink/utils/connect.js +12 -0
  208. package/admin/src/containers/EditView/DeleteLink/utils/index.js +2 -0
  209. package/admin/src/containers/EditView/DeleteLink/utils/select.js +21 -0
  210. package/admin/src/containers/EditView/Header/index.js +258 -0
  211. package/admin/src/containers/EditView/Header/utils/connect.js +12 -0
  212. package/admin/src/containers/EditView/Header/utils/getDraftRelations.js +62 -0
  213. package/admin/src/containers/EditView/Header/utils/index.js +3 -0
  214. package/admin/src/containers/EditView/Header/utils/select.js +31 -0
  215. package/admin/src/containers/EditView/InformationCard.js +100 -0
  216. package/admin/src/containers/EditView/components.js +74 -0
  217. package/admin/src/containers/EditView/index.js +297 -0
  218. package/admin/src/containers/EditView/utils/createAttributesLayout.js +39 -0
  219. package/admin/src/containers/EditView/utils/getFieldsActionMatchingPermissions.js +23 -0
  220. package/admin/src/containers/EditView/utils/index.js +3 -0
  221. package/admin/src/containers/EditViewDataManagerProvider/index.js +519 -0
  222. package/admin/src/containers/EditViewDataManagerProvider/reducer.js +218 -0
  223. package/admin/src/containers/EditViewDataManagerProvider/utils/cleanData.js +88 -0
  224. package/admin/src/containers/EditViewDataManagerProvider/utils/getYupInnerErrors.js +17 -0
  225. package/admin/src/containers/EditViewDataManagerProvider/utils/index.js +3 -0
  226. package/admin/src/containers/EditViewDataManagerProvider/utils/schema.js +368 -0
  227. package/admin/src/containers/EditViewLayoutManager/Permissions.js +30 -0
  228. package/admin/src/containers/EditViewLayoutManager/actions.js +9 -0
  229. package/admin/src/containers/EditViewLayoutManager/constants.js +2 -0
  230. package/admin/src/containers/EditViewLayoutManager/index.js +44 -0
  231. package/admin/src/containers/EditViewLayoutManager/reducer.js +30 -0
  232. package/admin/src/containers/EditViewLayoutManager/selectors.js +5 -0
  233. package/admin/src/containers/LayoutDndProvider/index.js +75 -0
  234. package/admin/src/containers/ListSettingsView/DragWrapper.js +21 -0
  235. package/admin/src/containers/ListSettingsView/DropdownButton.js +8 -0
  236. package/admin/src/containers/ListSettingsView/Label.js +91 -0
  237. package/admin/src/containers/ListSettingsView/MenuDropdown.js +41 -0
  238. package/admin/src/containers/ListSettingsView/Toggle.js +51 -0
  239. package/admin/src/containers/ListSettingsView/forms.json +64 -0
  240. package/admin/src/containers/ListSettingsView/index.js +298 -0
  241. package/admin/src/containers/ListSettingsView/init.js +11 -0
  242. package/admin/src/containers/ListSettingsView/reducer.js +77 -0
  243. package/admin/src/containers/ListView/FieldPicker/ConfigureLink/StyledLink.js +28 -0
  244. package/admin/src/containers/ListView/FieldPicker/ConfigureLink/Wrapper.js +8 -0
  245. package/admin/src/containers/ListView/FieldPicker/ConfigureLink/index.js +29 -0
  246. package/admin/src/containers/ListView/FieldPicker/Field/Wrapper.js +15 -0
  247. package/admin/src/containers/ListView/FieldPicker/Field/index.js +24 -0
  248. package/admin/src/containers/ListView/FieldPicker/Fields/Wrapper.js +18 -0
  249. package/admin/src/containers/ListView/FieldPicker/Fields/index.js +27 -0
  250. package/admin/src/containers/ListView/FieldPicker/Header/Reset.js +8 -0
  251. package/admin/src/containers/ListView/FieldPicker/Header/index.js +42 -0
  252. package/admin/src/containers/ListView/FieldPicker/Wrapper.js +9 -0
  253. package/admin/src/containers/ListView/FieldPicker/index.js +46 -0
  254. package/admin/src/containers/ListView/Filter.js +83 -0
  255. package/admin/src/containers/ListView/Footer.js +60 -0
  256. package/admin/src/containers/ListView/actions.js +91 -0
  257. package/admin/src/containers/ListView/components.js +138 -0
  258. package/admin/src/containers/ListView/constants.js +16 -0
  259. package/admin/src/containers/ListView/index.js +573 -0
  260. package/admin/src/containers/ListView/reducer.js +182 -0
  261. package/admin/src/containers/ListView/selectors.js +24 -0
  262. package/admin/src/containers/ListView/utils/buildQueryString.js +26 -0
  263. package/admin/src/containers/ListView/utils/createPluginsFilter.js +13 -0
  264. package/admin/src/containers/ListView/utils/getAllAllowedHeaders.js +17 -0
  265. package/admin/src/containers/ListView/utils/getFirstSortableHeader.js +14 -0
  266. package/admin/src/containers/ListView/utils/index.js +3 -0
  267. package/admin/src/containers/ListViewLayoutManager/Permissions.js +29 -0
  268. package/admin/src/containers/ListViewLayoutManager/index.js +60 -0
  269. package/admin/src/containers/ListViewProvider/index.js +16 -0
  270. package/admin/src/containers/Main/actions.js +13 -0
  271. package/admin/src/containers/Main/constants.js +3 -0
  272. package/admin/src/containers/Main/index.js +100 -0
  273. package/admin/src/containers/Main/reducer.js +37 -0
  274. package/admin/src/containers/Main/selectors.js +20 -0
  275. package/admin/src/containers/RBACManager/actions.js +14 -0
  276. package/admin/src/containers/RBACManager/constants.js +2 -0
  277. package/admin/src/containers/RBACManager/reducer.js +32 -0
  278. package/admin/src/containers/RBACManager/useSyncRbac.js +28 -0
  279. package/admin/src/containers/SingleTypeFormWrapper/index.js +317 -0
  280. package/admin/src/containers/SingleTypeFormWrapper/utils/getRequestUrl.js +5 -0
  281. package/admin/src/containers/SingleTypeFormWrapper/utils/index.js +2 -0
  282. package/admin/src/containers/SingleTypeRecursivePath/index.js +84 -0
  283. package/admin/src/containers/WysiwygProvider/index.js +16 -0
  284. package/admin/src/contexts/ContentTypeLayout.js +5 -0
  285. package/admin/src/contexts/LayoutDnd.js +5 -0
  286. package/admin/src/contexts/ListView.js +5 -0
  287. package/admin/src/contexts/Wysiwyg.js +5 -0
  288. package/admin/src/contexts/index.js +4 -0
  289. package/admin/src/hooks/index.js +6 -0
  290. package/admin/src/hooks/useContentTypeLayout/index.js +19 -0
  291. package/admin/src/hooks/useFetchContentTypeLayout/index.js +83 -0
  292. package/admin/src/hooks/useFetchContentTypeLayout/reducer.js +56 -0
  293. package/admin/src/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +235 -0
  294. package/admin/src/hooks/useFindRedirectionLink/index.js +14 -0
  295. package/admin/src/hooks/useFindRedirectionLink/selectors.js +7 -0
  296. package/admin/src/hooks/useFindRedirectionLink/utils/getRedirectionLink.js +45 -0
  297. package/admin/src/hooks/useLayoutDnd.js +6 -0
  298. package/admin/src/hooks/useListView.js +6 -0
  299. package/admin/src/hooks/useWysiwyg.js +6 -0
  300. package/admin/src/icons/Bold/index.js +22 -0
  301. package/admin/src/icons/Code/index.js +13 -0
  302. package/admin/src/icons/Cross/index.js +33 -0
  303. package/admin/src/icons/Italic/index.js +23 -0
  304. package/admin/src/icons/Link/index.js +21 -0
  305. package/admin/src/icons/Media/index.js +14 -0
  306. package/admin/src/icons/Na/index.js +58 -0
  307. package/admin/src/icons/Ol/index.js +13 -0
  308. package/admin/src/icons/Quote/index.js +13 -0
  309. package/admin/src/icons/Striked/index.js +24 -0
  310. package/admin/src/icons/Ul/index.js +15 -0
  311. package/admin/src/icons/Underline/index.js +22 -0
  312. package/admin/src/index.js +52 -0
  313. package/admin/src/lifecycles.js +19 -0
  314. package/admin/src/permissions.js +27 -0
  315. package/admin/src/pluginId.js +5 -0
  316. package/admin/src/reducers.js +16 -0
  317. package/admin/src/selectors.js +6 -0
  318. package/admin/src/sharedReducers/crudReducer/actions.js +44 -0
  319. package/admin/src/sharedReducers/crudReducer/constants.js +7 -0
  320. package/admin/src/sharedReducers/crudReducer/reducer.js +75 -0
  321. package/admin/src/sharedReducers/crudReducer/selectors.js +5 -0
  322. package/admin/src/testUtils/data.js +305 -0
  323. package/admin/src/testUtils/index.js +4 -0
  324. package/admin/src/translations/ar.json +94 -0
  325. package/admin/src/translations/cs.json +130 -0
  326. package/admin/src/translations/de.json +177 -0
  327. package/admin/src/translations/dk.json +180 -0
  328. package/admin/src/translations/en.json +177 -0
  329. package/admin/src/translations/es.json +177 -0
  330. package/admin/src/translations/fr.json +162 -0
  331. package/admin/src/translations/id.json +175 -0
  332. package/admin/src/translations/index.js +53 -0
  333. package/admin/src/translations/it.json +177 -0
  334. package/admin/src/translations/ja.json +94 -0
  335. package/admin/src/translations/ko.json +110 -0
  336. package/admin/src/translations/ms.json +148 -0
  337. package/admin/src/translations/nl.json +94 -0
  338. package/admin/src/translations/pl.json +142 -0
  339. package/admin/src/translations/pt-BR.json +94 -0
  340. package/admin/src/translations/pt.json +94 -0
  341. package/admin/src/translations/ru.json +177 -0
  342. package/admin/src/translations/sk.json +172 -0
  343. package/admin/src/translations/th.json +155 -0
  344. package/admin/src/translations/tr.json +177 -0
  345. package/admin/src/translations/uk.json +148 -0
  346. package/admin/src/translations/vi.json +110 -0
  347. package/admin/src/translations/zh-Hans.json +177 -0
  348. package/admin/src/translations/zh.json +94 -0
  349. package/admin/src/utils/ItemTypes.js +7 -0
  350. package/admin/src/utils/checkIfAttributeIsDisplayable.js +13 -0
  351. package/admin/src/utils/createDefaultForm.js +50 -0
  352. package/admin/src/utils/dateFormats.js +18 -0
  353. package/admin/src/utils/formatFiltersFromQuery.js +55 -0
  354. package/admin/src/utils/formatFiltersToQuery.js +27 -0
  355. package/admin/src/utils/formatLayoutToApi.js +44 -0
  356. package/admin/src/utils/generatePermissionsObject.js +20 -0
  357. package/admin/src/utils/getComponents.js +50 -0
  358. package/admin/src/utils/getDisplayedValue.js +61 -0
  359. package/admin/src/utils/getFieldName.js +6 -0
  360. package/admin/src/utils/getMaxTempKey.js +12 -0
  361. package/admin/src/utils/getRequestUrl.js +5 -0
  362. package/admin/src/utils/getTrad.js +5 -0
  363. package/admin/src/utils/index.js +17 -0
  364. package/admin/src/utils/mergeMetasWithSchema.js +20 -0
  365. package/admin/src/utils/removeKeyInObject.js +45 -0
  366. package/admin/src/utils/removePasswordFieldsFromData.js +54 -0
  367. package/config/admin.json +5 -0
  368. package/config/functions/bootstrap.js +9 -0
  369. package/config/policies/has-draft-and-publish.js +19 -0
  370. package/config/policies/hasPermissions.js +34 -0
  371. package/config/policies/routing.js +27 -0
  372. package/config/routes.json +275 -0
  373. package/controllers/collection-types.js +282 -0
  374. package/controllers/components.js +66 -0
  375. package/controllers/content-types.js +112 -0
  376. package/controllers/relations.js +63 -0
  377. package/controllers/single-types.js +170 -0
  378. package/controllers/uid.js +41 -0
  379. package/controllers/validation/index.js +104 -0
  380. package/controllers/validation/model-configuration.js +114 -0
  381. package/oas.yml +757 -0
  382. package/package.json +77 -0
  383. package/services/components.js +92 -0
  384. package/services/configuration.js +79 -0
  385. package/services/content-types.js +73 -0
  386. package/services/data-mapper.js +98 -0
  387. package/services/entity-manager.js +140 -0
  388. package/services/metrics.js +34 -0
  389. package/services/permission-checker.js +69 -0
  390. package/services/permission.js +95 -0
  391. package/services/uid.js +63 -0
  392. package/services/utils/configuration/attributes.js +175 -0
  393. package/services/utils/configuration/index.js +43 -0
  394. package/services/utils/configuration/layouts.js +185 -0
  395. package/services/utils/configuration/metadatas.js +142 -0
  396. package/services/utils/configuration/settings.js +52 -0
  397. package/services/utils/store.js +93 -0
  398. package/utils/index.js +16 -0
  399. package/utils/pick-writable-attributes.js +6 -0
  400. package/utils/wrap-bad-request.js +15 -0
  401. package/validation/policies/hasPermissions.js +17 -0
package/oas.yml ADDED
@@ -0,0 +1,757 @@
1
+ openapi: 3.0.2
2
+ info:
3
+ title: Strapi Content Manager API
4
+ version: 1.0.0
5
+ servers:
6
+ - url: http://localhost:1337
7
+ description: Local server
8
+ externalDocs:
9
+ url: https://strapi.akemona.com/documentation
10
+ description: Strapi documentation
11
+ paths:
12
+ /content-manager/content-types:
13
+ get:
14
+ tags:
15
+ - ContentTypes
16
+ description: List content types
17
+ parameters:
18
+ - $ref: '#/components/parameters/kind'
19
+ responses:
20
+ 200:
21
+ description: A list of content types
22
+ content:
23
+ application/json:
24
+ schema:
25
+ type: object
26
+ properties:
27
+ data:
28
+ type: array
29
+ items:
30
+ $ref: '#/components/schemas/contentType'
31
+ /content-manager/content-types-settings:
32
+ get:
33
+ tags:
34
+ - ContentTypes
35
+ description: List content types settings
36
+ responses:
37
+ 200:
38
+ description: A list of content types settings
39
+ content:
40
+ application/json:
41
+ schema:
42
+ type: object
43
+ properties:
44
+ data:
45
+ type: array
46
+ items:
47
+ $ref: '#/components/schemas/contentTypeSettings'
48
+ /content-manager/content-types/{uid}/configuration:
49
+ get:
50
+ tags:
51
+ - ContentTypes
52
+ description: Get content type configuration
53
+ parameters:
54
+ - $ref: '#/components/parameters/uid'
55
+ responses:
56
+ 200:
57
+ description: A content type configuration with its components configuration
58
+ content:
59
+ application/json:
60
+ schema:
61
+ type: object
62
+ properties:
63
+ data:
64
+ type: object
65
+ properties:
66
+ contentType:
67
+ $ref: '#/components/schemas/content-type-configuration'
68
+ components:
69
+ type: object
70
+ additionalProperties:
71
+ $ref: '#/components/schemas/component-configuration'
72
+ put:
73
+ tags:
74
+ - ContentTypes
75
+ description: Edit content type configuration
76
+ parameters:
77
+ - $ref: '#/components/parameters/uid'
78
+ requestBody:
79
+ content:
80
+ application/json:
81
+ schema:
82
+ $ref: '#/components/schemas/configuration'
83
+ responses:
84
+ 200:
85
+ description: A content type configuration
86
+ content:
87
+ application/json:
88
+ schema:
89
+ type: object
90
+ properties:
91
+ data:
92
+ $ref: '#/components/schemas/content-type-configuration'
93
+ /content-manager/components:
94
+ get:
95
+ tags:
96
+ - Components
97
+ description: List components
98
+ responses:
99
+ 200:
100
+ description: A list of components
101
+ content:
102
+ application/json:
103
+ schema:
104
+ type: object
105
+ properties:
106
+ data:
107
+ type: array
108
+ items:
109
+ $ref: '#/components/schemas/component'
110
+ /content-manager/components/{uid}/configuration:
111
+ get:
112
+ tags:
113
+ - Components
114
+ description: Get content type configuration
115
+ parameters:
116
+ - $ref: '#/components/parameters/uid'
117
+ responses:
118
+ 200:
119
+ description: A component configuration with its components configuration
120
+ content:
121
+ application/json:
122
+ schema:
123
+ type: object
124
+ properties:
125
+ data:
126
+ type: object
127
+ properties:
128
+ component:
129
+ $ref: '#/components/schemas/component-configuration'
130
+ components:
131
+ type: object
132
+ additionalProperties:
133
+ $ref: '#/components/schemas/component-configuration'
134
+ put:
135
+ tags:
136
+ - Components
137
+ description: Edit component configuration
138
+ parameters:
139
+ - $ref: '#/components/parameters/uid'
140
+ requestBody:
141
+ content:
142
+ application/json:
143
+ schema:
144
+ $ref: '#/components/schemas/configuration'
145
+ responses:
146
+ 200:
147
+ description: A component configuration with its components configuration
148
+ content:
149
+ application/json:
150
+ schema:
151
+ type: object
152
+ properties:
153
+ data:
154
+ $ref: '#/components/schemas/component-configuration'
155
+ # UID
156
+ /content-manager/uid/generate:
157
+ post:
158
+ tags:
159
+ - UID attribute utils
160
+ description: Generate a uid
161
+ requestBody:
162
+ required: true
163
+ content:
164
+ application/json:
165
+ schema:
166
+ type: object
167
+ required:
168
+ - contentTypeUID
169
+ - field
170
+ - data
171
+ properties:
172
+ contentTypeUID:
173
+ type: string
174
+ field:
175
+ type: string
176
+ data:
177
+ type: object
178
+ description: Current value of the entry being created or edited
179
+ responses:
180
+ 200:
181
+ description: A generated uid value
182
+ content:
183
+ application/json:
184
+ schema:
185
+ type: object
186
+ required:
187
+ - data
188
+ properties:
189
+ data:
190
+ type: string
191
+ /content-manager/uid/check-availability:
192
+ post:
193
+ tags:
194
+ - UID attribute utils
195
+ description: Check availability of a uid
196
+ requestBody:
197
+ required: true
198
+ content:
199
+ application/json:
200
+ schema:
201
+ type: object
202
+ required:
203
+ - contentTypeUID
204
+ - field
205
+ - value
206
+ properties:
207
+ contentTypeUID:
208
+ type: string
209
+ field:
210
+ type: string
211
+ value:
212
+ type: string
213
+ responses:
214
+ 200:
215
+ description: A generated uid value
216
+ content:
217
+ application/json:
218
+ schema:
219
+ type: object
220
+ required:
221
+ - isAvailable
222
+ properties:
223
+ isAvailable:
224
+ type: boolean
225
+ suggestion:
226
+ type: string
227
+ description: Suggestion if request value is not available
228
+ # Relationships
229
+ /content-manager/relations/{model}/{targetField}:
230
+ post:
231
+ tags:
232
+ - Relational fields
233
+ description: Fetch list of possible related content
234
+ parameters:
235
+ - $ref: '#/components/parameters/model'
236
+ - in: path
237
+ name: targetField
238
+ schema:
239
+ type: string
240
+ required: true
241
+ description: Name of the field in the model that holds the relation
242
+ - in: query
243
+ name: _component
244
+ schema:
245
+ type: string
246
+ description: Component uid if the targetField is in a component
247
+ requestBody:
248
+ content:
249
+ application/json:
250
+ schema:
251
+ type: object
252
+ properties:
253
+ idsToOmit:
254
+ type: array
255
+ items:
256
+ $ref: '#/components/schemas/id'
257
+ responses:
258
+ 200:
259
+ description: Returns a list of sanitized entries based of the relational attribute info
260
+ content:
261
+ application/json:
262
+ schema:
263
+ type: array
264
+ items:
265
+ type: object
266
+ properties:
267
+ id:
268
+ $ref: '#/components/schemas/id'
269
+ '[primaryKey]':
270
+ oneOf:
271
+ - type: string
272
+ - type: integer
273
+ '[mainField]':
274
+ type: string
275
+ description: Value of the mainField of the entry
276
+ published_at:
277
+ type: date
278
+ # Collection type
279
+ /content-manager/collection-types/{model}:
280
+ get:
281
+ tags:
282
+ - Collection Types content management
283
+ description: Get a list of entries
284
+ parameters:
285
+ - $ref: '#/components/parameters/model'
286
+ responses:
287
+ 200:
288
+ content:
289
+ application/json:
290
+ schema:
291
+ type: object
292
+ properties:
293
+ results:
294
+ type: array
295
+ items:
296
+ $ref: '#/components/schemas/entity'
297
+ pagination:
298
+ $ref: '#/components/schemas/pagination'
299
+ post:
300
+ tags:
301
+ - Collection Types content management
302
+ description: Create an entry
303
+ parameters:
304
+ - $ref: '#/components/parameters/model'
305
+ requestBody:
306
+ content:
307
+ application/json:
308
+ schema:
309
+ $ref: '#/components/schemas/entityInput'
310
+ responses:
311
+ 200:
312
+ content:
313
+ application/json:
314
+ schema:
315
+ $ref: '#/components/schemas/entity'
316
+ /content-manager/collection-types/{model}/actions/bulkDelete:
317
+ post:
318
+ tags:
319
+ - Collection Types content management
320
+ description: Bulk delete entries
321
+ parameters:
322
+ - $ref: '#/components/parameters/model'
323
+ requestBody:
324
+ content:
325
+ application/json:
326
+ schema:
327
+ type: object
328
+ properties:
329
+ ids:
330
+ type: array
331
+ items:
332
+ $ref: '#/components/schemas/id'
333
+ responses:
334
+ 200:
335
+ content:
336
+ application/json:
337
+ schema:
338
+ type: array
339
+ items:
340
+ $ref: '#/components/schemas/entity'
341
+ /content-manager/collection-types/{model}/{id}:
342
+ get:
343
+ tags:
344
+ - Collection Types content management
345
+ description: Get one entry
346
+ parameters:
347
+ - $ref: '#/components/parameters/model'
348
+ - $ref: '#/components/parameters/entity-id'
349
+ responses:
350
+ 200:
351
+ content:
352
+ application/json:
353
+ schema:
354
+ $ref: '#/components/schemas/entity'
355
+ put:
356
+ tags:
357
+ - Collection Types content management
358
+ description: Update one entry
359
+ parameters:
360
+ - $ref: '#/components/parameters/model'
361
+ - $ref: '#/components/parameters/entity-id'
362
+ requestBody:
363
+ content:
364
+ application/json:
365
+ schema:
366
+ $ref: '#/components/schemas/entityInput'
367
+ responses:
368
+ 200:
369
+ content:
370
+ application/json:
371
+ schema:
372
+ $ref: '#/components/schemas/entity'
373
+ delete:
374
+ tags:
375
+ - Collection Types content management
376
+ description: Delete one entry
377
+ parameters:
378
+ - $ref: '#/components/parameters/model'
379
+ - $ref: '#/components/parameters/entity-id'
380
+ responses:
381
+ 200:
382
+ content:
383
+ application/json:
384
+ schema:
385
+ $ref: '#/components/schemas/entity'
386
+ /content-manager/collection-types/{model}/{id}/actions/publish:
387
+ post:
388
+ tags:
389
+ - Collection Types content management
390
+ description: Publish one entry
391
+ parameters:
392
+ - $ref: '#/components/parameters/model'
393
+ - $ref: '#/components/parameters/entity-id'
394
+ responses:
395
+ 200:
396
+ content:
397
+ application/json:
398
+ schema:
399
+ allOf:
400
+ - $ref: '#/components/schemas/entity'
401
+ - type: object
402
+ properties:
403
+ published_at:
404
+ type: datetime
405
+ /content-manager/collection-types/{model}/{id}/actions/unpublish:
406
+ post:
407
+ tags:
408
+ - Collection Types content management
409
+ description: Unpublish one entry
410
+ parameters:
411
+ - $ref: '#/components/parameters/model'
412
+ - $ref: '#/components/parameters/entity-id'
413
+ responses:
414
+ 200:
415
+ content:
416
+ application/json:
417
+ schema:
418
+ allOf:
419
+ - $ref: '#/components/schemas/entity'
420
+ - type: object
421
+ properties:
422
+ published_at:
423
+ type: datetime
424
+ # Single type
425
+ /content-manager/single-types/{model}:
426
+ get:
427
+ tags:
428
+ - Single Types content management
429
+ description: Find Single type content
430
+ parameters:
431
+ - $ref: '#/components/parameters/model'
432
+ responses:
433
+ 200:
434
+ content:
435
+ application/json:
436
+ schema:
437
+ $ref: '#/components/schemas/entity'
438
+ put:
439
+ tags:
440
+ - Single Types content management
441
+ description: Update Single type content
442
+ parameters:
443
+ - $ref: '#/components/parameters/model'
444
+ requestBody:
445
+ content:
446
+ application/json:
447
+ schema:
448
+ $ref: '#/components/schemas/entityInput'
449
+ responses:
450
+ 200:
451
+ content:
452
+ application/json:
453
+ schema:
454
+ $ref: '#/components/schemas/entity'
455
+ delete:
456
+ tags:
457
+ - Single Types content management
458
+ description: Delete Single type content
459
+ parameters:
460
+ - $ref: '#/components/parameters/model'
461
+ responses:
462
+ 200:
463
+ content:
464
+ application/json:
465
+ schema:
466
+ $ref: '#/components/schemas/entity'
467
+ /content-manager/single-types/{model}/actions/publish:
468
+ post:
469
+ tags:
470
+ - Single Types content management
471
+ description: Publish Single type content
472
+ parameters:
473
+ - $ref: '#/components/parameters/model'
474
+ responses:
475
+ 200:
476
+ content:
477
+ application/json:
478
+ schema:
479
+ allOf:
480
+ - $ref: '#/components/schemas/entity'
481
+ - type: object
482
+ properties:
483
+ published_at:
484
+ type: datetime
485
+ /content-manager/single-types/{model}/actions/unpublish:
486
+ post:
487
+ tags:
488
+ - Single Types content management
489
+ description: Unpublish Single type content
490
+ parameters:
491
+ - $ref: '#/components/parameters/model'
492
+ responses:
493
+ 200:
494
+ content:
495
+ application/json:
496
+ schema:
497
+ allOf:
498
+ - $ref: '#/components/schemas/entity'
499
+ - type: object
500
+ properties:
501
+ published_at:
502
+ type: datetime
503
+ nullable: true
504
+
505
+ components:
506
+ schemas:
507
+ id:
508
+ oneOf:
509
+ - type: string
510
+ - type: integer
511
+
512
+ pagination:
513
+ type: object
514
+ properties:
515
+ page:
516
+ type: integer
517
+ pageSize:
518
+ type: integer
519
+ pageCount:
520
+ type: integer
521
+ total:
522
+ type: integer
523
+
524
+ entity:
525
+ type: object
526
+ required:
527
+ - id
528
+ - created_by
529
+ - updated_by
530
+ properties:
531
+ id:
532
+ $ref: '#/components/schemas/id'
533
+ created_by:
534
+ $ref: '#/components/schemas/user'
535
+ updated_by:
536
+ $ref: '#/components/schemas/user'
537
+ additionalProperties:
538
+ type: any
539
+
540
+ entityInput:
541
+ type: object
542
+ additionalProperties:
543
+ type: any
544
+
545
+ contentTypeSettings:
546
+ type: object
547
+ properties:
548
+ uid:
549
+ type: string
550
+ description: Model uid
551
+ settings:
552
+ $ref: '#/components/schemas/configurationSettings'
553
+
554
+ contentType:
555
+ type: object
556
+ properties:
557
+ uid:
558
+ type: string
559
+ description: Model uid
560
+ kind:
561
+ $ref: '#/components/schemas/kind'
562
+ isDisplayed:
563
+ type: boolean
564
+ apiID:
565
+ type: string
566
+ description: Model key based on filename
567
+ info:
568
+ type: object
569
+ properties:
570
+ name:
571
+ type: string
572
+ description: User defined name
573
+ label:
574
+ type: string
575
+ description: Computed label with pluralization
576
+ description:
577
+ type: string
578
+ description: Content type description
579
+
580
+ options:
581
+ type: object
582
+ properties:
583
+ increments:
584
+ type: boolean
585
+ timestamps:
586
+ type: array
587
+ uniqueItems: true
588
+ minItems: 2
589
+ maxItems: 2
590
+ items:
591
+ type: string
592
+ draftAndPublish:
593
+ type: boolean
594
+ attributes:
595
+ type: object
596
+ additionalProperties:
597
+ oneOf:
598
+ - $ref: '#/components/schemas/scalarAttribute'
599
+ - $ref: '#/components/schemas/relationalAttribute'
600
+
601
+ component:
602
+ allOf:
603
+ - type: object
604
+ properties:
605
+ category:
606
+ type: string
607
+ description: Component category
608
+
609
+ - $ref: '#/components/schemas/contentType'
610
+
611
+ scalarAttribute:
612
+ type: object
613
+ properties:
614
+ type:
615
+ type: string
616
+ required:
617
+ type: boolean
618
+
619
+ relationalAttribute:
620
+ type: object
621
+ properties:
622
+ type:
623
+ type: string
624
+
625
+ targetModel:
626
+ type: string
627
+ relationType:
628
+ type: string
629
+ enum:
630
+ - oneWay
631
+ - manyWay
632
+ - oneToOne
633
+ - oneToMany
634
+ - manyToOne
635
+ - manyToMany
636
+
637
+ configurationSettings:
638
+ type: object
639
+ properties:
640
+ searchable:
641
+ type: boolean
642
+ bulkable:
643
+ type: boolean
644
+ filterable:
645
+ type: boolean
646
+ pageSize:
647
+ type: integer
648
+ mainField:
649
+ type: string
650
+ defaultSortBy:
651
+ type: string
652
+ defaultSortOrder:
653
+ type: string
654
+
655
+ configuration:
656
+ type: object
657
+ properties:
658
+ settings:
659
+ $ref: '#/components/schemas/configurationSettings'
660
+ metadatas:
661
+ type: object
662
+ layouts:
663
+ type: object
664
+ properties:
665
+ list:
666
+ type: array
667
+ items:
668
+ type: string
669
+ editRelations:
670
+ type: array
671
+ items:
672
+ type: string
673
+ edit:
674
+ type: array
675
+ items:
676
+ type: array
677
+ items:
678
+ type: object
679
+ properties:
680
+ name: string
681
+ size: integer
682
+
683
+ content-type-configuration:
684
+ allOf:
685
+ - type: object
686
+ properties:
687
+ uid:
688
+ type: string
689
+ - $ref: '#/components/schemas/configuration'
690
+
691
+ component-configuration:
692
+ allOf:
693
+ - type: object
694
+ properties:
695
+ isComponent:
696
+ type: boolean
697
+ - $ref: '#/components/schemas/content-type-configuration'
698
+
699
+ kind:
700
+ type: string
701
+ enum:
702
+ - singleType
703
+ - collectionType
704
+
705
+ user:
706
+ type: object
707
+ properties:
708
+ id:
709
+ oneOf:
710
+ - type: integer
711
+ - type: string
712
+ firstname:
713
+ type: string
714
+ lastname:
715
+ type: string
716
+ email:
717
+ type: string
718
+
719
+ parameters:
720
+ kind:
721
+ in: query
722
+ name: kind
723
+ schema:
724
+ $ref: '#/components/schemas/kind'
725
+ description: A content type kind (singleType or collectionType)
726
+
727
+ model:
728
+ in: path
729
+ name: model
730
+ schema:
731
+ type: string
732
+ required: true
733
+ description: Model uid
734
+
735
+ uid:
736
+ in: path
737
+ name: uid
738
+ schema:
739
+ type: string
740
+ required: true
741
+ description: Model uid
742
+
743
+ entity-id:
744
+ in: path
745
+ name: id
746
+ schema:
747
+ type: string
748
+ required: true
749
+ description: Entity id
750
+
751
+ securitySchemes:
752
+ bearerAuth:
753
+ type: http
754
+ scheme: bearer
755
+
756
+ security:
757
+ - bearerAuth: []