@strapi/strapi 4.14.5 → 4.15.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 (697) hide show
  1. package/README.md +1 -0
  2. package/bin/strapi.js +1 -6
  3. package/dist/Strapi.js +454 -532
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +464 -0
  6. package/dist/Strapi.mjs.map +1 -0
  7. package/dist/cli.d.ts +2 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +4 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/commands/actions/admin/create-user/action.js +75 -94
  12. package/dist/commands/actions/admin/create-user/action.js.map +1 -1
  13. package/dist/commands/actions/admin/create-user/command.d.ts.map +1 -1
  14. package/dist/commands/actions/admin/create-user/command.js +6 -17
  15. package/dist/commands/actions/admin/create-user/command.js.map +1 -1
  16. package/dist/commands/actions/admin/reset-user-password/action.js +33 -36
  17. package/dist/commands/actions/admin/reset-user-password/action.js.map +1 -1
  18. package/dist/commands/actions/admin/reset-user-password/command.d.ts.map +1 -1
  19. package/dist/commands/actions/admin/reset-user-password/command.js +6 -15
  20. package/dist/commands/actions/admin/reset-user-password/command.js.map +1 -1
  21. package/dist/commands/actions/build-command/action.js +15 -18
  22. package/dist/commands/actions/build-command/action.js.map +1 -1
  23. package/dist/commands/actions/build-command/command.d.ts.map +1 -1
  24. package/dist/commands/actions/build-command/command.js +6 -13
  25. package/dist/commands/actions/build-command/command.js.map +1 -1
  26. package/dist/commands/actions/components/list/action.js +18 -18
  27. package/dist/commands/actions/components/list/action.js.map +1 -1
  28. package/dist/commands/actions/components/list/command.d.ts.map +1 -1
  29. package/dist/commands/actions/components/list/command.js +6 -12
  30. package/dist/commands/actions/components/list/command.js.map +1 -1
  31. package/dist/commands/actions/configuration/dump/action.js +33 -43
  32. package/dist/commands/actions/configuration/dump/action.js.map +1 -1
  33. package/dist/commands/actions/configuration/dump/command.d.ts.map +1 -1
  34. package/dist/commands/actions/configuration/dump/command.js +6 -15
  35. package/dist/commands/actions/configuration/dump/command.js.map +1 -1
  36. package/dist/commands/actions/configuration/restore/action.js +122 -139
  37. package/dist/commands/actions/configuration/restore/action.js.map +1 -1
  38. package/dist/commands/actions/configuration/restore/command.d.ts.map +1 -1
  39. package/dist/commands/actions/configuration/restore/command.js +6 -15
  40. package/dist/commands/actions/configuration/restore/command.js.map +1 -1
  41. package/dist/commands/actions/console/action.js +19 -23
  42. package/dist/commands/actions/console/action.js.map +1 -1
  43. package/dist/commands/actions/console/command.d.ts.map +1 -1
  44. package/dist/commands/actions/console/command.js +6 -12
  45. package/dist/commands/actions/console/command.js.map +1 -1
  46. package/dist/commands/actions/content-types/list/action.js +18 -18
  47. package/dist/commands/actions/content-types/list/action.js.map +1 -1
  48. package/dist/commands/actions/content-types/list/command.d.ts.map +1 -1
  49. package/dist/commands/actions/content-types/list/command.js +6 -12
  50. package/dist/commands/actions/content-types/list/command.js.map +1 -1
  51. package/dist/commands/actions/controllers/list/action.js +18 -18
  52. package/dist/commands/actions/controllers/list/action.js.map +1 -1
  53. package/dist/commands/actions/controllers/list/command.d.ts.map +1 -1
  54. package/dist/commands/actions/controllers/list/command.js +6 -12
  55. package/dist/commands/actions/controllers/list/command.js.map +1 -1
  56. package/dist/commands/actions/develop/action.d.ts +1 -75
  57. package/dist/commands/actions/develop/action.d.ts.map +1 -1
  58. package/dist/commands/actions/develop/action.js +184 -177
  59. package/dist/commands/actions/develop/action.js.map +1 -1
  60. package/dist/commands/actions/develop/command.d.ts.map +1 -1
  61. package/dist/commands/actions/develop/command.js +6 -17
  62. package/dist/commands/actions/develop/command.js.map +1 -1
  63. package/dist/commands/actions/generate/command.js +30 -16
  64. package/dist/commands/actions/generate/command.js.map +1 -1
  65. package/dist/commands/actions/hooks/list/action.js +18 -18
  66. package/dist/commands/actions/hooks/list/action.js.map +1 -1
  67. package/dist/commands/actions/hooks/list/command.d.ts.map +1 -1
  68. package/dist/commands/actions/hooks/list/command.js +6 -12
  69. package/dist/commands/actions/hooks/list/command.js.map +1 -1
  70. package/dist/commands/actions/install/action.js +41 -45
  71. package/dist/commands/actions/install/action.js.map +1 -1
  72. package/dist/commands/actions/install/command.d.ts.map +1 -1
  73. package/dist/commands/actions/install/command.js +6 -12
  74. package/dist/commands/actions/install/command.js.map +1 -1
  75. package/dist/commands/actions/middlewares/list/action.js +18 -18
  76. package/dist/commands/actions/middlewares/list/action.js.map +1 -1
  77. package/dist/commands/actions/middlewares/list/command.d.ts.map +1 -1
  78. package/dist/commands/actions/middlewares/list/command.js +6 -12
  79. package/dist/commands/actions/middlewares/list/command.js.map +1 -1
  80. package/dist/commands/actions/new/action.js +5 -10
  81. package/dist/commands/actions/new/action.js.map +1 -1
  82. package/dist/commands/actions/new/command.js +14 -33
  83. package/dist/commands/actions/new/command.js.map +1 -1
  84. package/dist/commands/actions/plugin/build-command/action.js +80 -79
  85. package/dist/commands/actions/plugin/build-command/action.js.map +1 -1
  86. package/dist/commands/actions/plugin/build-command/command.d.ts.map +1 -1
  87. package/dist/commands/actions/plugin/build-command/command.js +7 -18
  88. package/dist/commands/actions/plugin/build-command/command.js.map +1 -1
  89. package/dist/commands/actions/plugin/watch/action.d.ts +7 -0
  90. package/dist/commands/actions/plugin/watch/action.d.ts.map +1 -0
  91. package/dist/commands/actions/plugin/watch/action.js +85 -0
  92. package/dist/commands/actions/plugin/watch/action.js.map +1 -0
  93. package/dist/commands/actions/plugin/watch/command.d.ts +7 -0
  94. package/dist/commands/actions/plugin/watch/command.d.ts.map +1 -0
  95. package/dist/commands/actions/plugin/watch/command.js +8 -0
  96. package/dist/commands/actions/plugin/watch/command.js.map +1 -0
  97. package/dist/commands/actions/policies/list/action.js +18 -18
  98. package/dist/commands/actions/policies/list/action.js.map +1 -1
  99. package/dist/commands/actions/policies/list/command.d.ts.map +1 -1
  100. package/dist/commands/actions/policies/list/command.js +6 -12
  101. package/dist/commands/actions/policies/list/command.js.map +1 -1
  102. package/dist/commands/actions/report/action.js +22 -25
  103. package/dist/commands/actions/report/action.js.map +1 -1
  104. package/dist/commands/actions/report/command.d.ts.map +1 -1
  105. package/dist/commands/actions/report/command.js +6 -15
  106. package/dist/commands/actions/report/command.js.map +1 -1
  107. package/dist/commands/actions/routes/list/action.js +22 -24
  108. package/dist/commands/actions/routes/list/action.js.map +1 -1
  109. package/dist/commands/actions/routes/list/command.d.ts.map +1 -1
  110. package/dist/commands/actions/routes/list/command.js +6 -12
  111. package/dist/commands/actions/routes/list/command.js.map +1 -1
  112. package/dist/commands/actions/services/list/action.js +18 -18
  113. package/dist/commands/actions/services/list/action.js.map +1 -1
  114. package/dist/commands/actions/services/list/command.d.ts.map +1 -1
  115. package/dist/commands/actions/services/list/command.js +6 -12
  116. package/dist/commands/actions/services/list/command.js.map +1 -1
  117. package/dist/commands/actions/start/action.d.ts +1 -74
  118. package/dist/commands/actions/start/action.d.ts.map +1 -1
  119. package/dist/commands/actions/start/action.js +19 -20
  120. package/dist/commands/actions/start/action.js.map +1 -1
  121. package/dist/commands/actions/start/command.d.ts.map +1 -1
  122. package/dist/commands/actions/start/command.js +6 -12
  123. package/dist/commands/actions/start/command.js.map +1 -1
  124. package/dist/commands/actions/telemetry/disable/action.js +72 -72
  125. package/dist/commands/actions/telemetry/disable/action.js.map +1 -1
  126. package/dist/commands/actions/telemetry/disable/command.d.ts.map +1 -1
  127. package/dist/commands/actions/telemetry/disable/command.js +6 -12
  128. package/dist/commands/actions/telemetry/disable/command.js.map +1 -1
  129. package/dist/commands/actions/telemetry/enable/action.js +87 -88
  130. package/dist/commands/actions/telemetry/enable/action.js.map +1 -1
  131. package/dist/commands/actions/telemetry/enable/command.d.ts.map +1 -1
  132. package/dist/commands/actions/telemetry/enable/command.js +6 -12
  133. package/dist/commands/actions/telemetry/enable/command.js.map +1 -1
  134. package/dist/commands/actions/templates/generate/action.js +59 -73
  135. package/dist/commands/actions/templates/generate/action.js.map +1 -1
  136. package/dist/commands/actions/templates/generate/command.d.ts.map +1 -1
  137. package/dist/commands/actions/templates/generate/command.js +6 -12
  138. package/dist/commands/actions/templates/generate/command.js.map +1 -1
  139. package/dist/commands/actions/ts/generate-types/action.js +25 -26
  140. package/dist/commands/actions/ts/generate-types/action.js.map +1 -1
  141. package/dist/commands/actions/ts/generate-types/command.d.ts.map +1 -1
  142. package/dist/commands/actions/ts/generate-types/command.js +9 -16
  143. package/dist/commands/actions/ts/generate-types/command.js.map +1 -1
  144. package/dist/commands/actions/uninstall/action.js +60 -62
  145. package/dist/commands/actions/uninstall/action.js.map +1 -1
  146. package/dist/commands/actions/uninstall/command.d.ts.map +1 -1
  147. package/dist/commands/actions/uninstall/command.js +6 -13
  148. package/dist/commands/actions/uninstall/command.js.map +1 -1
  149. package/dist/commands/actions/version/command.js +10 -17
  150. package/dist/commands/actions/version/command.js.map +1 -1
  151. package/dist/commands/actions/watch-admin/action.js +33 -34
  152. package/dist/commands/actions/watch-admin/action.js.map +1 -1
  153. package/dist/commands/actions/watch-admin/command.d.ts.map +1 -1
  154. package/dist/commands/actions/watch-admin/command.js +6 -13
  155. package/dist/commands/actions/watch-admin/command.js.map +1 -1
  156. package/dist/commands/builders/admin.js +46 -50
  157. package/dist/commands/builders/admin.js.map +1 -1
  158. package/dist/commands/builders/typescript.js +28 -25
  159. package/dist/commands/builders/typescript.js.map +1 -1
  160. package/dist/commands/index.d.ts +1 -0
  161. package/dist/commands/index.d.ts.map +1 -1
  162. package/dist/commands/index.js +102 -91
  163. package/dist/commands/index.js.map +1 -1
  164. package/dist/commands/utils/commander.js +11 -136
  165. package/dist/commands/utils/commander.js.map +1 -1
  166. package/dist/commands/utils/helpers.d.ts +4 -6
  167. package/dist/commands/utils/helpers.d.ts.map +1 -1
  168. package/dist/commands/utils/helpers.js +57 -155
  169. package/dist/commands/utils/helpers.js.map +1 -1
  170. package/dist/commands/utils/logger.js +59 -49
  171. package/dist/commands/utils/logger.js.map +1 -1
  172. package/dist/commands/utils/pkg.js +98 -107
  173. package/dist/commands/utils/pkg.js.map +1 -1
  174. package/dist/compile.js +15 -17
  175. package/dist/compile.js.map +1 -1
  176. package/dist/compile.mjs +17 -0
  177. package/dist/compile.mjs.map +1 -0
  178. package/dist/container.js +32 -35
  179. package/dist/container.js.map +1 -1
  180. package/dist/container.mjs +36 -0
  181. package/dist/container.mjs.map +1 -0
  182. package/dist/core/app-configuration/config-loader.js +17 -20
  183. package/dist/core/app-configuration/config-loader.js.map +1 -1
  184. package/dist/core/app-configuration/config-loader.mjs +17 -0
  185. package/dist/core/app-configuration/config-loader.mjs.map +1 -0
  186. package/dist/core/app-configuration/index.js +51 -50
  187. package/dist/core/app-configuration/index.js.map +1 -1
  188. package/dist/core/app-configuration/index.mjs +51 -0
  189. package/dist/core/app-configuration/index.mjs.map +1 -0
  190. package/dist/core/app-configuration/load-config-file.js +34 -38
  191. package/dist/core/app-configuration/load-config-file.js.map +1 -1
  192. package/dist/core/app-configuration/load-config-file.mjs +42 -0
  193. package/dist/core/app-configuration/load-config-file.mjs.map +1 -0
  194. package/dist/core/bootstrap.js +25 -24
  195. package/dist/core/bootstrap.js.map +1 -1
  196. package/dist/core/bootstrap.mjs +27 -0
  197. package/dist/core/bootstrap.mjs.map +1 -0
  198. package/dist/core/domain/content-type/index.js +108 -104
  199. package/dist/core/domain/content-type/index.js.map +1 -1
  200. package/dist/core/domain/content-type/index.mjs +119 -0
  201. package/dist/core/domain/content-type/index.mjs.map +1 -0
  202. package/dist/core/domain/content-type/validator.js +69 -83
  203. package/dist/core/domain/content-type/validator.js.map +1 -1
  204. package/dist/core/domain/content-type/validator.mjs +75 -0
  205. package/dist/core/domain/content-type/validator.mjs.map +1 -0
  206. package/dist/core/domain/module/index.js +97 -100
  207. package/dist/core/domain/module/index.js.map +1 -1
  208. package/dist/core/domain/module/index.mjs +105 -0
  209. package/dist/core/domain/module/index.mjs.map +1 -0
  210. package/dist/core/domain/module/validation.js +21 -25
  211. package/dist/core/domain/module/validation.js.map +1 -1
  212. package/dist/core/domain/module/validation.mjs +25 -0
  213. package/dist/core/domain/module/validation.mjs.map +1 -0
  214. package/dist/core/loaders/admin.js +13 -15
  215. package/dist/core/loaders/admin.js.map +1 -1
  216. package/dist/core/loaders/admin.mjs +15 -0
  217. package/dist/core/loaders/admin.mjs.map +1 -0
  218. package/dist/core/loaders/apis.js +109 -135
  219. package/dist/core/loaders/apis.js.map +1 -1
  220. package/dist/core/loaders/apis.mjs +128 -0
  221. package/dist/core/loaders/apis.mjs.map +1 -0
  222. package/dist/core/loaders/components.js +34 -34
  223. package/dist/core/loaders/components.js.map +1 -1
  224. package/dist/core/loaders/components.mjs +36 -0
  225. package/dist/core/loaders/components.mjs.map +1 -0
  226. package/dist/core/loaders/index.js +21 -24
  227. package/dist/core/loaders/index.js.map +1 -1
  228. package/dist/core/loaders/index.mjs +24 -0
  229. package/dist/core/loaders/index.mjs.map +1 -0
  230. package/dist/core/loaders/middlewares.js +25 -28
  231. package/dist/core/loaders/middlewares.js.map +1 -1
  232. package/dist/core/loaders/middlewares.mjs +30 -0
  233. package/dist/core/loaders/middlewares.mjs.map +1 -0
  234. package/dist/core/loaders/plugins/get-enabled-plugins.js +96 -99
  235. package/dist/core/loaders/plugins/get-enabled-plugins.js.map +1 -1
  236. package/dist/core/loaders/plugins/get-enabled-plugins.mjs +108 -0
  237. package/dist/core/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
  238. package/dist/core/loaders/plugins/get-user-plugins-config.js +23 -27
  239. package/dist/core/loaders/plugins/get-user-plugins-config.js.map +1 -1
  240. package/dist/core/loaders/plugins/get-user-plugins-config.mjs +25 -0
  241. package/dist/core/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
  242. package/dist/core/loaders/plugins/index.js +92 -96
  243. package/dist/core/loaders/plugins/index.js.map +1 -1
  244. package/dist/core/loaders/plugins/index.mjs +104 -0
  245. package/dist/core/loaders/plugins/index.mjs.map +1 -0
  246. package/dist/core/loaders/policies.js +21 -24
  247. package/dist/core/loaders/policies.js.map +1 -1
  248. package/dist/core/loaders/policies.mjs +24 -0
  249. package/dist/core/loaders/policies.mjs.map +1 -0
  250. package/dist/core/loaders/sanitizers.js +4 -4
  251. package/dist/core/loaders/sanitizers.js.map +1 -1
  252. package/dist/core/loaders/sanitizers.mjs +7 -0
  253. package/dist/core/loaders/sanitizers.mjs.map +1 -0
  254. package/dist/core/loaders/src-index.js +28 -32
  255. package/dist/core/loaders/src-index.js.map +1 -1
  256. package/dist/core/loaders/src-index.mjs +34 -0
  257. package/dist/core/loaders/src-index.mjs.map +1 -0
  258. package/dist/core/loaders/validators.js +4 -4
  259. package/dist/core/loaders/validators.js.map +1 -1
  260. package/dist/core/loaders/validators.mjs +7 -0
  261. package/dist/core/loaders/validators.mjs.map +1 -0
  262. package/dist/core/registries/apis.js +20 -21
  263. package/dist/core/registries/apis.js.map +1 -1
  264. package/dist/core/registries/apis.mjs +24 -0
  265. package/dist/core/registries/apis.mjs.map +1 -0
  266. package/dist/core/registries/config.js +21 -21
  267. package/dist/core/registries/config.js.map +1 -1
  268. package/dist/core/registries/config.mjs +22 -0
  269. package/dist/core/registries/config.mjs.map +1 -0
  270. package/dist/core/registries/content-types.js +65 -64
  271. package/dist/core/registries/content-types.js.map +1 -1
  272. package/dist/core/registries/content-types.mjs +72 -0
  273. package/dist/core/registries/content-types.mjs.map +1 -0
  274. package/dist/core/registries/controllers.js +77 -78
  275. package/dist/core/registries/controllers.js.map +1 -1
  276. package/dist/core/registries/controllers.mjs +81 -0
  277. package/dist/core/registries/controllers.mjs.map +1 -0
  278. package/dist/core/registries/custom-fields.js +66 -69
  279. package/dist/core/registries/custom-fields.js.map +1 -1
  280. package/dist/core/registries/custom-fields.mjs +72 -0
  281. package/dist/core/registries/custom-fields.mjs.map +1 -0
  282. package/dist/core/registries/hooks.js +55 -56
  283. package/dist/core/registries/hooks.js.map +1 -1
  284. package/dist/core/registries/hooks.mjs +59 -0
  285. package/dist/core/registries/hooks.mjs.map +1 -0
  286. package/dist/core/registries/middlewares.js +57 -59
  287. package/dist/core/registries/middlewares.js.map +1 -1
  288. package/dist/core/registries/middlewares.mjs +61 -0
  289. package/dist/core/registries/middlewares.mjs.map +1 -0
  290. package/dist/core/registries/modules.js +36 -37
  291. package/dist/core/registries/modules.js.map +1 -1
  292. package/dist/core/registries/modules.mjs +40 -0
  293. package/dist/core/registries/modules.mjs.map +1 -0
  294. package/dist/core/registries/plugins.js +20 -21
  295. package/dist/core/registries/plugins.js.map +1 -1
  296. package/dist/core/registries/plugins.mjs +24 -0
  297. package/dist/core/registries/plugins.mjs.map +1 -0
  298. package/dist/core/registries/policies.js +59 -61
  299. package/dist/core/registries/policies.js.map +1 -1
  300. package/dist/core/registries/policies.mjs +63 -0
  301. package/dist/core/registries/policies.mjs.map +1 -0
  302. package/dist/core/registries/sanitizers.js +22 -24
  303. package/dist/core/registries/sanitizers.js.map +1 -1
  304. package/dist/core/registries/sanitizers.mjs +24 -0
  305. package/dist/core/registries/sanitizers.mjs.map +1 -0
  306. package/dist/core/registries/services.js +77 -79
  307. package/dist/core/registries/services.js.map +1 -1
  308. package/dist/core/registries/services.mjs +81 -0
  309. package/dist/core/registries/services.mjs.map +1 -0
  310. package/dist/core/registries/validators.js +22 -24
  311. package/dist/core/registries/validators.js.map +1 -1
  312. package/dist/core/registries/validators.mjs +24 -0
  313. package/dist/core/registries/validators.mjs.map +1 -0
  314. package/dist/core/utils.js +19 -20
  315. package/dist/core/utils.js.map +1 -1
  316. package/dist/core/utils.mjs +27 -0
  317. package/dist/core/utils.mjs.map +1 -0
  318. package/dist/core-api/controller/collection-type.js +90 -93
  319. package/dist/core-api/controller/collection-type.js.map +1 -1
  320. package/dist/core-api/controller/collection-type.mjs +93 -0
  321. package/dist/core-api/controller/collection-type.mjs.map +1 -0
  322. package/dist/core-api/controller/index.js +43 -46
  323. package/dist/core-api/controller/index.js.map +1 -1
  324. package/dist/core-api/controller/index.mjs +47 -0
  325. package/dist/core-api/controller/index.mjs.map +1 -0
  326. package/dist/core-api/controller/single-type.js +48 -50
  327. package/dist/core-api/controller/single-type.js.map +1 -1
  328. package/dist/core-api/controller/single-type.mjs +51 -0
  329. package/dist/core-api/controller/single-type.mjs.map +1 -0
  330. package/dist/core-api/controller/transform.js +70 -72
  331. package/dist/core-api/controller/transform.js.map +1 -1
  332. package/dist/core-api/controller/transform.mjs +84 -0
  333. package/dist/core-api/controller/transform.mjs.map +1 -0
  334. package/dist/core-api/routes/index.js +60 -61
  335. package/dist/core-api/routes/index.js.map +1 -1
  336. package/dist/core-api/routes/index.mjs +67 -0
  337. package/dist/core-api/routes/index.mjs.map +1 -0
  338. package/dist/core-api/service/collection-type.js +57 -57
  339. package/dist/core-api/service/collection-type.js.map +1 -1
  340. package/dist/core-api/service/collection-type.mjs +62 -0
  341. package/dist/core-api/service/collection-type.mjs.map +1 -0
  342. package/dist/core-api/service/get-fetch-params.js +10 -12
  343. package/dist/core-api/service/get-fetch-params.js.map +1 -1
  344. package/dist/core-api/service/get-fetch-params.mjs +14 -0
  345. package/dist/core-api/service/get-fetch-params.mjs.map +1 -0
  346. package/dist/core-api/service/index.js +13 -15
  347. package/dist/core-api/service/index.js.map +1 -1
  348. package/dist/core-api/service/index.mjs +16 -0
  349. package/dist/core-api/service/index.mjs.map +1 -0
  350. package/dist/core-api/service/pagination.js +71 -79
  351. package/dist/core-api/service/pagination.js.map +1 -1
  352. package/dist/core-api/service/pagination.mjs +89 -0
  353. package/dist/core-api/service/pagination.mjs.map +1 -0
  354. package/dist/core-api/service/single-type.js +53 -53
  355. package/dist/core-api/service/single-type.js.map +1 -1
  356. package/dist/core-api/service/single-type.mjs +58 -0
  357. package/dist/core-api/service/single-type.mjs.map +1 -0
  358. package/dist/ee/index.js +128 -160
  359. package/dist/ee/index.js.map +1 -1
  360. package/dist/ee/index.mjs +154 -0
  361. package/dist/ee/index.mjs.map +1 -0
  362. package/dist/ee/license.js +72 -77
  363. package/dist/ee/license.js.map +1 -1
  364. package/dist/ee/license.mjs +86 -0
  365. package/dist/ee/license.mjs.map +1 -0
  366. package/dist/factories.js +62 -61
  367. package/dist/factories.js.map +1 -1
  368. package/dist/factories.mjs +71 -0
  369. package/dist/factories.mjs.map +1 -0
  370. package/dist/index.d.ts +0 -1
  371. package/dist/index.d.ts.map +1 -1
  372. package/dist/index.js +7 -34
  373. package/dist/index.js.map +1 -1
  374. package/dist/index.mjs +8 -0
  375. package/dist/index.mjs.map +1 -0
  376. package/dist/load/filepath-to-prop-path.js +9 -19
  377. package/dist/load/filepath-to-prop-path.js.map +1 -1
  378. package/dist/load/filepath-to-prop-path.mjs +10 -0
  379. package/dist/load/filepath-to-prop-path.mjs.map +1 -0
  380. package/dist/load/glob.js +11 -16
  381. package/dist/load/glob.js.map +1 -1
  382. package/dist/load/glob.mjs +14 -0
  383. package/dist/load/glob.mjs.map +1 -0
  384. package/dist/load/load-files.js +35 -43
  385. package/dist/load/load-files.js.map +1 -1
  386. package/dist/load/load-files.mjs +35 -0
  387. package/dist/load/load-files.mjs.map +1 -0
  388. package/dist/load/package-path.js +6 -10
  389. package/dist/load/package-path.js.map +1 -1
  390. package/dist/middlewares/body.js +53 -66
  391. package/dist/middlewares/body.js.map +1 -1
  392. package/dist/middlewares/body.mjs +61 -0
  393. package/dist/middlewares/body.mjs.map +1 -0
  394. package/dist/middlewares/compression.js +6 -8
  395. package/dist/middlewares/compression.js.map +1 -1
  396. package/dist/middlewares/compression.mjs +6 -0
  397. package/dist/middlewares/compression.mjs.map +1 -0
  398. package/dist/middlewares/cors.js +45 -48
  399. package/dist/middlewares/cors.js.map +1 -1
  400. package/dist/middlewares/cors.mjs +49 -0
  401. package/dist/middlewares/cors.mjs.map +1 -0
  402. package/dist/middlewares/errors.js +30 -32
  403. package/dist/middlewares/errors.js.map +1 -1
  404. package/dist/middlewares/errors.mjs +33 -0
  405. package/dist/middlewares/errors.mjs.map +1 -0
  406. package/dist/middlewares/favicon.js +16 -24
  407. package/dist/middlewares/favicon.js.map +1 -1
  408. package/dist/middlewares/favicon.mjs +20 -0
  409. package/dist/middlewares/favicon.mjs.map +1 -0
  410. package/dist/middlewares/index.js +32 -32
  411. package/dist/middlewares/index.js.map +1 -1
  412. package/dist/middlewares/index.mjs +34 -0
  413. package/dist/middlewares/index.mjs.map +1 -0
  414. package/dist/middlewares/ip.js +6 -8
  415. package/dist/middlewares/ip.js.map +1 -1
  416. package/dist/middlewares/ip.mjs +6 -0
  417. package/dist/middlewares/ip.mjs.map +1 -0
  418. package/dist/middlewares/logger.js +8 -9
  419. package/dist/middlewares/logger.js.map +1 -1
  420. package/dist/middlewares/logger.mjs +12 -0
  421. package/dist/middlewares/logger.mjs.map +1 -0
  422. package/dist/middlewares/powered-by.js +8 -9
  423. package/dist/middlewares/powered-by.js.map +1 -1
  424. package/dist/middlewares/powered-by.mjs +14 -0
  425. package/dist/middlewares/powered-by.mjs.map +1 -0
  426. package/dist/middlewares/public/index.js +85 -106
  427. package/dist/middlewares/public/index.js.map +1 -1
  428. package/dist/middlewares/public/index.mjs +85 -0
  429. package/dist/middlewares/public/index.mjs.map +1 -0
  430. package/dist/middlewares/public/serve-static.js +20 -23
  431. package/dist/middlewares/public/serve-static.js.map +1 -1
  432. package/dist/middlewares/public/serve-static.mjs +21 -0
  433. package/dist/middlewares/public/serve-static.mjs.map +1 -0
  434. package/dist/middlewares/query.js +32 -37
  435. package/dist/middlewares/query.js.map +1 -1
  436. package/dist/middlewares/query.mjs +38 -0
  437. package/dist/middlewares/query.mjs.map +1 -0
  438. package/dist/middlewares/response-time.js +8 -9
  439. package/dist/middlewares/response-time.js.map +1 -1
  440. package/dist/middlewares/response-time.mjs +12 -0
  441. package/dist/middlewares/response-time.mjs.map +1 -0
  442. package/dist/middlewares/responses.js +11 -12
  443. package/dist/middlewares/responses.js.map +1 -1
  444. package/dist/middlewares/responses.mjs +15 -0
  445. package/dist/middlewares/responses.mjs.map +1 -0
  446. package/dist/middlewares/security.js +44 -46
  447. package/dist/middlewares/security.js.map +1 -1
  448. package/dist/middlewares/security.mjs +48 -0
  449. package/dist/middlewares/security.mjs.map +1 -0
  450. package/dist/middlewares/session.js +24 -24
  451. package/dist/middlewares/session.js.map +1 -1
  452. package/dist/middlewares/session.mjs +28 -0
  453. package/dist/middlewares/session.mjs.map +1 -0
  454. package/dist/migrations/draft-publish.js +27 -36
  455. package/dist/migrations/draft-publish.js.map +1 -1
  456. package/dist/migrations/draft-publish.mjs +37 -0
  457. package/dist/migrations/draft-publish.mjs.map +1 -0
  458. package/dist/services/auth/index.js +74 -77
  459. package/dist/services/auth/index.js.map +1 -1
  460. package/dist/services/auth/index.mjs +80 -0
  461. package/dist/services/auth/index.mjs.map +1 -0
  462. package/dist/services/content-api/index.js +54 -57
  463. package/dist/services/content-api/index.js.map +1 -1
  464. package/dist/services/content-api/index.mjs +58 -0
  465. package/dist/services/content-api/index.mjs.map +1 -0
  466. package/dist/services/content-api/permissions/engine.js +6 -7
  467. package/dist/services/content-api/permissions/engine.js.map +1 -1
  468. package/dist/services/content-api/permissions/engine.mjs +6 -0
  469. package/dist/services/content-api/permissions/engine.mjs.map +1 -0
  470. package/dist/services/content-api/permissions/index.js +79 -102
  471. package/dist/services/content-api/permissions/index.js.map +1 -1
  472. package/dist/services/content-api/permissions/index.mjs +86 -0
  473. package/dist/services/content-api/permissions/index.mjs.map +1 -0
  474. package/dist/services/content-api/permissions/providers/action.js +14 -14
  475. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  476. package/dist/services/content-api/permissions/providers/action.mjs +17 -0
  477. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -0
  478. package/dist/services/content-api/permissions/providers/condition.js +14 -14
  479. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  480. package/dist/services/content-api/permissions/providers/condition.mjs +17 -0
  481. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -0
  482. package/dist/services/core-store.js +91 -111
  483. package/dist/services/core-store.js.map +1 -1
  484. package/dist/services/core-store.mjs +103 -0
  485. package/dist/services/core-store.mjs.map +1 -0
  486. package/dist/services/cron.js +60 -66
  487. package/dist/services/cron.js.map +1 -1
  488. package/dist/services/cron.mjs +64 -0
  489. package/dist/services/cron.mjs.map +1 -0
  490. package/dist/services/custom-fields.js +7 -8
  491. package/dist/services/custom-fields.js.map +1 -1
  492. package/dist/services/custom-fields.mjs +11 -0
  493. package/dist/services/custom-fields.mjs.map +1 -0
  494. package/dist/services/entity-service/attributes/index.js +17 -21
  495. package/dist/services/entity-service/attributes/index.js.map +1 -1
  496. package/dist/services/entity-service/attributes/index.mjs +22 -0
  497. package/dist/services/entity-service/attributes/index.mjs.map +1 -0
  498. package/dist/services/entity-service/attributes/transforms.js +17 -19
  499. package/dist/services/entity-service/attributes/transforms.js.map +1 -1
  500. package/dist/services/entity-service/attributes/transforms.mjs +19 -0
  501. package/dist/services/entity-service/attributes/transforms.mjs.map +1 -0
  502. package/dist/services/entity-service/components.js +336 -333
  503. package/dist/services/entity-service/components.js.map +1 -1
  504. package/dist/services/entity-service/components.mjs +382 -0
  505. package/dist/services/entity-service/components.mjs.map +1 -0
  506. package/dist/services/entity-service/index.js +314 -297
  507. package/dist/services/entity-service/index.js.map +1 -1
  508. package/dist/services/entity-service/index.mjs +326 -0
  509. package/dist/services/entity-service/index.mjs.map +1 -0
  510. package/dist/services/entity-service/params.js +4 -5
  511. package/dist/services/entity-service/params.js.map +1 -1
  512. package/dist/services/entity-service/params.mjs +8 -0
  513. package/dist/services/entity-service/params.mjs.map +1 -0
  514. package/dist/services/entity-validator/blocks-validator.js +95 -116
  515. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  516. package/dist/services/entity-validator/blocks-validator.mjs +108 -0
  517. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -0
  518. package/dist/services/entity-validator/index.js +284 -297
  519. package/dist/services/entity-validator/index.js.map +1 -1
  520. package/dist/services/entity-validator/index.mjs +318 -0
  521. package/dist/services/entity-validator/index.mjs.map +1 -0
  522. package/dist/services/entity-validator/validators.js +92 -124
  523. package/dist/services/entity-validator/validators.js.map +1 -1
  524. package/dist/services/entity-validator/validators.mjs +115 -0
  525. package/dist/services/entity-validator/validators.mjs.map +1 -0
  526. package/dist/services/errors.js +64 -66
  527. package/dist/services/errors.js.map +1 -1
  528. package/dist/services/errors.mjs +74 -0
  529. package/dist/services/errors.mjs.map +1 -0
  530. package/dist/services/event-hub.js +64 -74
  531. package/dist/services/event-hub.js.map +1 -1
  532. package/dist/services/event-hub.mjs +68 -0
  533. package/dist/services/event-hub.mjs.map +1 -0
  534. package/dist/services/fs.js +48 -51
  535. package/dist/services/fs.js.map +1 -1
  536. package/dist/services/fs.mjs +49 -0
  537. package/dist/services/fs.mjs.map +1 -0
  538. package/dist/services/metrics/admin-user-hash.js +10 -15
  539. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  540. package/dist/services/metrics/admin-user-hash.mjs +12 -0
  541. package/dist/services/metrics/admin-user-hash.mjs.map +1 -0
  542. package/dist/services/metrics/index.js +40 -48
  543. package/dist/services/metrics/index.js.map +1 -1
  544. package/dist/services/metrics/index.mjs +46 -0
  545. package/dist/services/metrics/index.mjs.map +1 -0
  546. package/dist/services/metrics/is-truthy.js +6 -8
  547. package/dist/services/metrics/is-truthy.js.map +1 -1
  548. package/dist/services/metrics/is-truthy.mjs +8 -0
  549. package/dist/services/metrics/is-truthy.mjs.map +1 -0
  550. package/dist/services/metrics/middleware.js +22 -25
  551. package/dist/services/metrics/middleware.js.map +1 -1
  552. package/dist/services/metrics/middleware.mjs +26 -0
  553. package/dist/services/metrics/middleware.mjs.map +1 -0
  554. package/dist/services/metrics/rate-limiter.js +19 -19
  555. package/dist/services/metrics/rate-limiter.js.map +1 -1
  556. package/dist/services/metrics/rate-limiter.mjs +22 -0
  557. package/dist/services/metrics/rate-limiter.mjs.map +1 -0
  558. package/dist/services/metrics/sender.js +69 -72
  559. package/dist/services/metrics/sender.js.map +1 -1
  560. package/dist/services/metrics/sender.mjs +71 -0
  561. package/dist/services/metrics/sender.mjs.map +1 -0
  562. package/dist/services/request-context.js +10 -11
  563. package/dist/services/request-context.js.map +1 -1
  564. package/dist/services/request-context.mjs +14 -0
  565. package/dist/services/request-context.mjs.map +1 -0
  566. package/dist/services/server/admin-api.js +9 -9
  567. package/dist/services/server/admin-api.js.map +1 -1
  568. package/dist/services/server/admin-api.mjs +13 -0
  569. package/dist/services/server/admin-api.mjs.map +1 -0
  570. package/dist/services/server/api.js +26 -28
  571. package/dist/services/server/api.js.map +1 -1
  572. package/dist/services/server/api.mjs +28 -0
  573. package/dist/services/server/api.mjs.map +1 -0
  574. package/dist/services/server/compose-endpoint.js +94 -100
  575. package/dist/services/server/compose-endpoint.js.map +1 -1
  576. package/dist/services/server/compose-endpoint.mjs +114 -0
  577. package/dist/services/server/compose-endpoint.mjs.map +1 -0
  578. package/dist/services/server/content-api.js +8 -9
  579. package/dist/services/server/content-api.js.map +1 -1
  580. package/dist/services/server/content-api.mjs +12 -0
  581. package/dist/services/server/content-api.mjs.map +1 -0
  582. package/dist/services/server/http-server.js +42 -47
  583. package/dist/services/server/http-server.js.map +1 -1
  584. package/dist/services/server/http-server.mjs +47 -0
  585. package/dist/services/server/http-server.mjs.map +1 -0
  586. package/dist/services/server/index.js +82 -85
  587. package/dist/services/server/index.js.map +1 -1
  588. package/dist/services/server/index.mjs +86 -0
  589. package/dist/services/server/index.mjs.map +1 -0
  590. package/dist/services/server/koa.js +46 -50
  591. package/dist/services/server/koa.js.map +1 -1
  592. package/dist/services/server/koa.mjs +48 -0
  593. package/dist/services/server/koa.mjs.map +1 -0
  594. package/dist/services/server/middleware.js +80 -91
  595. package/dist/services/server/middleware.js.map +1 -1
  596. package/dist/services/server/middleware.mjs +90 -0
  597. package/dist/services/server/middleware.mjs.map +1 -0
  598. package/dist/services/server/policy.js +16 -17
  599. package/dist/services/server/policy.js.map +1 -1
  600. package/dist/services/server/policy.mjs +20 -0
  601. package/dist/services/server/policy.mjs.map +1 -0
  602. package/dist/services/server/register-middlewares.js +58 -68
  603. package/dist/services/server/register-middlewares.js.map +1 -1
  604. package/dist/services/server/register-middlewares.mjs +73 -0
  605. package/dist/services/server/register-middlewares.mjs.map +1 -0
  606. package/dist/services/server/register-routes.js +64 -82
  607. package/dist/services/server/register-routes.js.map +1 -1
  608. package/dist/services/server/register-routes.mjs +75 -0
  609. package/dist/services/server/register-routes.mjs.map +1 -0
  610. package/dist/services/server/routing.js +80 -94
  611. package/dist/services/server/routing.js.map +1 -1
  612. package/dist/services/server/routing.mjs +89 -0
  613. package/dist/services/server/routing.mjs.map +1 -0
  614. package/dist/services/utils/dynamic-zones.js +13 -10
  615. package/dist/services/utils/dynamic-zones.js.map +1 -1
  616. package/dist/services/utils/dynamic-zones.mjs +17 -0
  617. package/dist/services/utils/dynamic-zones.mjs.map +1 -0
  618. package/dist/services/utils/upload-files.js +59 -68
  619. package/dist/services/utils/upload-files.js.map +1 -1
  620. package/dist/services/utils/upload-files.mjs +63 -0
  621. package/dist/services/utils/upload-files.mjs.map +1 -0
  622. package/dist/services/webhook-runner.js +122 -130
  623. package/dist/services/webhook-runner.js.map +1 -1
  624. package/dist/services/webhook-runner.mjs +131 -0
  625. package/dist/services/webhook-runner.mjs.map +1 -0
  626. package/dist/services/webhook-store.js +87 -93
  627. package/dist/services/webhook-store.js.map +1 -1
  628. package/dist/services/webhook-store.mjs +100 -0
  629. package/dist/services/webhook-store.mjs.map +1 -0
  630. package/dist/services/worker-queue.js +49 -57
  631. package/dist/services/worker-queue.js.map +1 -1
  632. package/dist/services/worker-queue.mjs +55 -0
  633. package/dist/services/worker-queue.mjs.map +1 -0
  634. package/dist/utils/addSlash.js +13 -13
  635. package/dist/utils/addSlash.js.map +1 -1
  636. package/dist/utils/convert-custom-field-type.js +19 -16
  637. package/dist/utils/convert-custom-field-type.js.map +1 -1
  638. package/dist/utils/convert-custom-field-type.mjs +24 -0
  639. package/dist/utils/convert-custom-field-type.mjs.map +1 -0
  640. package/dist/utils/cron.js +29 -47
  641. package/dist/utils/cron.js.map +1 -1
  642. package/dist/utils/cron.mjs +38 -0
  643. package/dist/utils/cron.mjs.map +1 -0
  644. package/dist/utils/ee.js +3 -7
  645. package/dist/utils/ee.js.map +1 -1
  646. package/dist/utils/ee.mjs +5 -0
  647. package/dist/utils/ee.mjs.map +1 -0
  648. package/dist/utils/fetch.js +17 -19
  649. package/dist/utils/fetch.js.map +1 -1
  650. package/dist/utils/fetch.mjs +19 -0
  651. package/dist/utils/fetch.mjs.map +1 -0
  652. package/dist/utils/get-dirs.js +26 -27
  653. package/dist/utils/get-dirs.js.map +1 -1
  654. package/dist/utils/get-dirs.mjs +30 -0
  655. package/dist/utils/get-dirs.mjs.map +1 -0
  656. package/dist/utils/is-initialized.js +11 -17
  657. package/dist/utils/is-initialized.js.map +1 -1
  658. package/dist/utils/is-initialized.mjs +16 -0
  659. package/dist/utils/is-initialized.mjs.map +1 -0
  660. package/dist/utils/lifecycles.js +7 -7
  661. package/dist/utils/lifecycles.js.map +1 -1
  662. package/dist/utils/lifecycles.mjs +9 -0
  663. package/dist/utils/lifecycles.mjs.map +1 -0
  664. package/dist/utils/machine-id.js +12 -13
  665. package/dist/utils/machine-id.js.map +1 -1
  666. package/dist/utils/machine-id.mjs +15 -0
  667. package/dist/utils/machine-id.mjs.map +1 -0
  668. package/dist/utils/open-browser.js +8 -10
  669. package/dist/utils/open-browser.js.map +1 -1
  670. package/dist/utils/open-browser.mjs +10 -0
  671. package/dist/utils/open-browser.mjs.map +1 -0
  672. package/dist/utils/signals.js +13 -16
  673. package/dist/utils/signals.js.map +1 -1
  674. package/dist/utils/signals.mjs +17 -0
  675. package/dist/utils/signals.mjs.map +1 -0
  676. package/dist/utils/startup-logger.js +73 -66
  677. package/dist/utils/startup-logger.js.map +1 -1
  678. package/dist/utils/startup-logger.mjs +72 -0
  679. package/dist/utils/startup-logger.mjs.map +1 -0
  680. package/dist/utils/update-notifier/index.js +69 -72
  681. package/dist/utils/update-notifier/index.js.map +1 -1
  682. package/dist/utils/update-notifier/index.mjs +76 -0
  683. package/dist/utils/update-notifier/index.mjs.map +1 -0
  684. package/package.json +26 -25
  685. package/dist/commands/builders/index.js +0 -11
  686. package/dist/commands/builders/index.js.map +0 -1
  687. package/dist/commands/types.js +0 -3
  688. package/dist/commands/types.js.map +0 -1
  689. package/dist/load/index.js +0 -11
  690. package/dist/load/index.js.map +0 -1
  691. package/dist/services/content-api/permissions/providers/index.js +0 -11
  692. package/dist/services/content-api/permissions/providers/index.js.map +0 -1
  693. package/dist/utils/index.js +0 -13
  694. package/dist/utils/index.js.map +0 -1
  695. package/dist/utils/postinstall.js +0 -32
  696. package/dist/utils/postinstall.js.map +0 -1
  697. package/index.js +0 -5
@@ -1,381 +1,384 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.cloneComponents = exports.deleteComponent = exports.deleteComponents = exports.updateComponents = exports.createComponents = exports.getComponents = exports.omitComponentData = void 0;
7
- const lodash_1 = __importDefault(require("lodash"));
8
- const fp_1 = require("lodash/fp");
9
- const utils_1 = require("@strapi/utils");
10
- const isDialectMySQL = () => strapi.db?.dialect.client === 'mysql';
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const _$1 = require("lodash");
4
+ const _ = require("lodash/fp");
5
+ const strapiUtils = require("@strapi/utils");
6
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
7
+ const ___default = /* @__PURE__ */ _interopDefault(_$1);
8
+ const isDialectMySQL = () => strapi.db?.dialect.client === "mysql";
11
9
  function omitComponentData(contentType, data) {
12
- const { attributes } = contentType;
13
- const componentAttributes = Object.keys(attributes).filter((attributeName) => utils_1.contentTypes.isComponentAttribute(attributes[attributeName]));
14
- return (0, fp_1.omit)(componentAttributes, data);
10
+ const { attributes } = contentType;
11
+ const componentAttributes = Object.keys(attributes).filter(
12
+ (attributeName) => strapiUtils.contentTypes.isComponentAttribute(attributes[attributeName])
13
+ );
14
+ return _.omit(componentAttributes, data);
15
15
  }
16
- exports.omitComponentData = omitComponentData;
17
- // NOTE: we could generalize the logic to allow CRUD of relation directly in the DB layer
18
16
  const createComponents = async (uid, data) => {
19
- const { attributes = {} } = strapi.getModel(uid);
20
- const componentBody = {};
21
- const attributeNames = Object.keys(attributes);
22
- for (const attributeName of attributeNames) {
23
- const attribute = attributes[attributeName];
24
- if (!(0, fp_1.has)(attributeName, data) || !utils_1.contentTypes.isComponentAttribute(attribute)) {
25
- continue;
26
- }
27
- if (attribute.type === 'component') {
28
- const { component: componentUID, repeatable = false } = attribute;
29
- const componentValue = data[attributeName];
30
- if (componentValue === null) {
31
- continue;
32
- }
33
- if (repeatable === true) {
34
- if (!Array.isArray(componentValue)) {
35
- throw new Error('Expected an array to create repeatable component');
36
- }
37
- // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1
38
- const components = (await (0, utils_1.mapAsync)(componentValue, (value) => createComponent(componentUID, value), { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }));
39
- componentBody[attributeName] = components.map(({ id }) => {
40
- return {
41
- id,
42
- __pivot: {
43
- field: attributeName,
44
- component_type: componentUID,
45
- },
46
- };
47
- });
48
- }
49
- else {
50
- const component = await createComponent(componentUID, componentValue);
51
- componentBody[attributeName] = {
52
- id: component.id,
53
- __pivot: {
54
- field: attributeName,
55
- component_type: componentUID,
56
- },
57
- };
58
- }
59
- continue;
17
+ const { attributes = {} } = strapi.getModel(uid);
18
+ const componentBody = {};
19
+ const attributeNames = Object.keys(attributes);
20
+ for (const attributeName of attributeNames) {
21
+ const attribute = attributes[attributeName];
22
+ if (!_.has(attributeName, data) || !strapiUtils.contentTypes.isComponentAttribute(attribute)) {
23
+ continue;
24
+ }
25
+ if (attribute.type === "component") {
26
+ const { component: componentUID, repeatable = false } = attribute;
27
+ const componentValue = data[attributeName];
28
+ if (componentValue === null) {
29
+ continue;
30
+ }
31
+ if (repeatable === true) {
32
+ if (!Array.isArray(componentValue)) {
33
+ throw new Error("Expected an array to create repeatable component");
60
34
  }
61
- if (attribute.type === 'dynamiczone') {
62
- const dynamiczoneValues = data[attributeName];
63
- if (!Array.isArray(dynamiczoneValues)) {
64
- throw new Error('Expected an array to create repeatable component');
35
+ const components = await strapiUtils.mapAsync(
36
+ componentValue,
37
+ (value) => createComponent(componentUID, value),
38
+ { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }
39
+ );
40
+ componentBody[attributeName] = components.map(({ id }) => {
41
+ return {
42
+ id,
43
+ __pivot: {
44
+ field: attributeName,
45
+ component_type: componentUID
65
46
  }
66
- const createDynamicZoneComponents = async (value) => {
67
- const { id } = await createComponent(value.__component, value);
68
- return {
69
- id,
70
- __component: value.__component,
71
- __pivot: {
72
- field: attributeName,
73
- },
74
- };
75
- };
76
- // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1
77
- componentBody[attributeName] = await (0, utils_1.mapAsync)(dynamiczoneValues, createDynamicZoneComponents, { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity });
78
- continue;
79
- }
47
+ };
48
+ });
49
+ } else {
50
+ const component = await createComponent(
51
+ componentUID,
52
+ componentValue
53
+ );
54
+ componentBody[attributeName] = {
55
+ id: component.id,
56
+ __pivot: {
57
+ field: attributeName,
58
+ component_type: componentUID
59
+ }
60
+ };
61
+ }
62
+ continue;
63
+ }
64
+ if (attribute.type === "dynamiczone") {
65
+ const dynamiczoneValues = data[attributeName];
66
+ if (!Array.isArray(dynamiczoneValues)) {
67
+ throw new Error("Expected an array to create repeatable component");
68
+ }
69
+ const createDynamicZoneComponents = async (value) => {
70
+ const { id } = await createComponent(value.__component, value);
71
+ return {
72
+ id,
73
+ __component: value.__component,
74
+ __pivot: {
75
+ field: attributeName
76
+ }
77
+ };
78
+ };
79
+ componentBody[attributeName] = await strapiUtils.mapAsync(
80
+ dynamiczoneValues,
81
+ createDynamicZoneComponents,
82
+ { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }
83
+ );
84
+ continue;
80
85
  }
81
- return componentBody;
86
+ }
87
+ return componentBody;
82
88
  };
83
- exports.createComponents = createComponents;
84
89
  const getComponents = async (uid, entity) => {
85
- const componentAttributes = utils_1.contentTypes.getComponentAttributes(strapi.getModel(uid));
86
- if (lodash_1.default.isEmpty(componentAttributes)) {
87
- return {};
88
- }
89
- return strapi.query(uid).load(entity, componentAttributes);
90
+ const componentAttributes = strapiUtils.contentTypes.getComponentAttributes(strapi.getModel(uid));
91
+ if (___default.default.isEmpty(componentAttributes)) {
92
+ return {};
93
+ }
94
+ return strapi.query(uid).load(entity, componentAttributes);
90
95
  };
91
- exports.getComponents = getComponents;
92
- /*
93
- delete old components
94
- create or update
95
- */
96
96
  const updateComponents = async (uid, entityToUpdate, data) => {
97
- const { attributes = {} } = strapi.getModel(uid);
98
- const componentBody = {};
99
- for (const attributeName of Object.keys(attributes)) {
100
- const attribute = attributes[attributeName];
101
- if (!(0, fp_1.has)(attributeName, data)) {
102
- continue;
97
+ const { attributes = {} } = strapi.getModel(uid);
98
+ const componentBody = {};
99
+ for (const attributeName of Object.keys(attributes)) {
100
+ const attribute = attributes[attributeName];
101
+ if (!_.has(attributeName, data)) {
102
+ continue;
103
+ }
104
+ if (attribute.type === "component") {
105
+ const { component: componentUID, repeatable = false } = attribute;
106
+ const componentValue = data[attributeName];
107
+ await deleteOldComponents(uid, componentUID, entityToUpdate, attributeName, componentValue);
108
+ if (repeatable === true) {
109
+ if (!Array.isArray(componentValue)) {
110
+ throw new Error("Expected an array to create repeatable component");
103
111
  }
104
- if (attribute.type === 'component') {
105
- const { component: componentUID, repeatable = false } = attribute;
106
- const componentValue = data[attributeName];
107
- await deleteOldComponents(uid, componentUID, entityToUpdate, attributeName, componentValue);
108
- if (repeatable === true) {
109
- if (!Array.isArray(componentValue)) {
110
- throw new Error('Expected an array to create repeatable component');
111
- }
112
- // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1
113
- const components = (await (0, utils_1.mapAsync)(componentValue, (value) => updateOrCreateComponent(componentUID, value), { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }));
114
- componentBody[attributeName] = components.filter(lodash_1.default.negate(lodash_1.default.isNil)).map(({ id }) => {
115
- return {
116
- id,
117
- __pivot: {
118
- field: attributeName,
119
- component_type: componentUID,
120
- },
121
- };
122
- });
123
- }
124
- else {
125
- const component = await updateOrCreateComponent(componentUID, componentValue);
126
- componentBody[attributeName] = component && {
127
- id: component.id,
128
- __pivot: {
129
- field: attributeName,
130
- component_type: componentUID,
131
- },
132
- };
112
+ const components = await strapiUtils.mapAsync(
113
+ componentValue,
114
+ (value) => updateOrCreateComponent(componentUID, value),
115
+ { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }
116
+ );
117
+ componentBody[attributeName] = components.filter(___default.default.negate(___default.default.isNil)).map(({ id }) => {
118
+ return {
119
+ id,
120
+ __pivot: {
121
+ field: attributeName,
122
+ component_type: componentUID
133
123
  }
134
- continue;
135
- }
136
- if (attribute.type === 'dynamiczone') {
137
- const dynamiczoneValues = data[attributeName];
138
- await deleteOldDZComponents(uid, entityToUpdate, attributeName, dynamiczoneValues);
139
- if (!Array.isArray(dynamiczoneValues)) {
140
- throw new Error('Expected an array to create repeatable component');
124
+ };
125
+ });
126
+ } else {
127
+ const component = await updateOrCreateComponent(componentUID, componentValue);
128
+ componentBody[attributeName] = component && {
129
+ id: component.id,
130
+ __pivot: {
131
+ field: attributeName,
132
+ component_type: componentUID
133
+ }
134
+ };
135
+ }
136
+ continue;
137
+ }
138
+ if (attribute.type === "dynamiczone") {
139
+ const dynamiczoneValues = data[attributeName];
140
+ await deleteOldDZComponents(uid, entityToUpdate, attributeName, dynamiczoneValues);
141
+ if (!Array.isArray(dynamiczoneValues)) {
142
+ throw new Error("Expected an array to create repeatable component");
143
+ }
144
+ componentBody[attributeName] = await strapiUtils.mapAsync(
145
+ dynamiczoneValues,
146
+ async (value) => {
147
+ const { id } = await updateOrCreateComponent(value.__component, value);
148
+ return {
149
+ id,
150
+ __component: value.__component,
151
+ __pivot: {
152
+ field: attributeName
141
153
  }
142
- // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1
143
- componentBody[attributeName] = await (0, utils_1.mapAsync)(dynamiczoneValues, async (value) => {
144
- const { id } = await updateOrCreateComponent(value.__component, value);
145
- return {
146
- id,
147
- __component: value.__component,
148
- __pivot: {
149
- field: attributeName,
150
- },
151
- };
152
- }, { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity });
153
- continue;
154
- }
154
+ };
155
+ },
156
+ { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }
157
+ );
158
+ continue;
155
159
  }
156
- return componentBody;
160
+ }
161
+ return componentBody;
157
162
  };
158
- exports.updateComponents = updateComponents;
159
- const pickStringifiedId = ({ id, }) => {
160
- if (typeof id === 'string') {
161
- return id;
162
- }
163
- return `${id}`;
163
+ const pickStringifiedId = ({
164
+ id
165
+ }) => {
166
+ if (typeof id === "string") {
167
+ return id;
168
+ }
169
+ return `${id}`;
164
170
  };
165
171
  const deleteOldComponents = async (uid, componentUID, entityToUpdate, attributeName, componentValue) => {
166
- const previousValue = (await strapi
167
- .query(uid)
168
- .load(entityToUpdate, attributeName));
169
- const idsToKeep = lodash_1.default.castArray(componentValue).filter((0, fp_1.has)('id')).map(pickStringifiedId);
170
- const allIds = lodash_1.default.castArray(previousValue).filter((0, fp_1.has)('id')).map(pickStringifiedId);
171
- idsToKeep.forEach((id) => {
172
- if (!allIds.includes(id)) {
173
- throw new utils_1.errors.ApplicationError(`Some of the provided components in ${attributeName} are not related to the entity`);
174
- }
175
- });
176
- const idsToDelete = lodash_1.default.difference(allIds, idsToKeep);
177
- if (idsToDelete.length > 0) {
178
- for (const idToDelete of idsToDelete) {
179
- await deleteComponent(componentUID, { id: idToDelete });
180
- }
172
+ const previousValue = await strapi.query(uid).load(entityToUpdate, attributeName);
173
+ const idsToKeep = ___default.default.castArray(componentValue).filter(_.has("id")).map(pickStringifiedId);
174
+ const allIds = ___default.default.castArray(previousValue).filter(_.has("id")).map(pickStringifiedId);
175
+ idsToKeep.forEach((id) => {
176
+ if (!allIds.includes(id)) {
177
+ throw new strapiUtils.errors.ApplicationError(
178
+ `Some of the provided components in ${attributeName} are not related to the entity`
179
+ );
180
+ }
181
+ });
182
+ const idsToDelete = ___default.default.difference(allIds, idsToKeep);
183
+ if (idsToDelete.length > 0) {
184
+ for (const idToDelete of idsToDelete) {
185
+ await deleteComponent(componentUID, { id: idToDelete });
181
186
  }
187
+ }
182
188
  };
183
189
  const deleteOldDZComponents = async (uid, entityToUpdate, attributeName, dynamiczoneValues) => {
184
- const previousValue = (await strapi
185
- .query(uid)
186
- .load(entityToUpdate, attributeName));
187
- const idsToKeep = lodash_1.default.castArray(dynamiczoneValues)
188
- .filter((0, fp_1.has)('id'))
189
- .map((v) => ({
190
- id: pickStringifiedId(v),
191
- __component: v.__component,
192
- }));
193
- const allIds = lodash_1.default.castArray(previousValue)
194
- .filter((0, fp_1.has)('id'))
195
- .map((v) => ({
196
- id: pickStringifiedId(v),
197
- __component: v.__component,
198
- }));
199
- idsToKeep.forEach(({ id, __component }) => {
200
- if (!allIds.find((el) => el.id === id && el.__component === __component)) {
201
- const err = new Error(`Some of the provided components in ${attributeName} are not related to the entity`);
202
- Object.assign(err, { status: 400 });
203
- throw err;
204
- }
205
- });
206
- const idsToDelete = allIds.reduce((acc, { id, __component }) => {
207
- if (!idsToKeep.find((el) => el.id === id && el.__component === __component)) {
208
- acc.push({ id, __component });
209
- }
210
- return acc;
211
- }, []);
212
- if (idsToDelete.length > 0) {
213
- for (const idToDelete of idsToDelete) {
214
- const { id, __component } = idToDelete;
215
- await deleteComponent(__component, { id });
216
- }
190
+ const previousValue = await strapi.query(uid).load(entityToUpdate, attributeName);
191
+ const idsToKeep = ___default.default.castArray(dynamiczoneValues).filter(_.has("id")).map((v) => ({
192
+ id: pickStringifiedId(v),
193
+ __component: v.__component
194
+ }));
195
+ const allIds = ___default.default.castArray(previousValue).filter(_.has("id")).map((v) => ({
196
+ id: pickStringifiedId(v),
197
+ __component: v.__component
198
+ }));
199
+ idsToKeep.forEach(({ id, __component }) => {
200
+ if (!allIds.find((el) => el.id === id && el.__component === __component)) {
201
+ const err = new Error(
202
+ `Some of the provided components in ${attributeName} are not related to the entity`
203
+ );
204
+ Object.assign(err, { status: 400 });
205
+ throw err;
206
+ }
207
+ });
208
+ const idsToDelete = allIds.reduce((acc, { id, __component }) => {
209
+ if (!idsToKeep.find((el) => el.id === id && el.__component === __component)) {
210
+ acc.push({ id, __component });
211
+ }
212
+ return acc;
213
+ }, []);
214
+ if (idsToDelete.length > 0) {
215
+ for (const idToDelete of idsToDelete) {
216
+ const { id, __component } = idToDelete;
217
+ await deleteComponent(__component, { id });
217
218
  }
219
+ }
218
220
  };
219
221
  const deleteComponents = async (uid, entityToDelete, { loadComponents = true } = {}) => {
220
- const { attributes = {} } = strapi.getModel(uid);
221
- const attributeNames = Object.keys(attributes);
222
- for (const attributeName of attributeNames) {
223
- const attribute = attributes[attributeName];
224
- if (attribute.type === 'component' || attribute.type === 'dynamiczone') {
225
- let value;
226
- if (loadComponents) {
227
- value = await strapi.query(uid).load(entityToDelete, attributeName);
228
- }
229
- else {
230
- value = entityToDelete[attributeName];
231
- }
232
- if (!value) {
233
- continue;
234
- }
235
- if (attribute.type === 'component') {
236
- const { component: componentUID } = attribute;
237
- // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1
238
- await (0, utils_1.mapAsync)(lodash_1.default.castArray(value), (subValue) => deleteComponent(componentUID, subValue), {
239
- concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity,
240
- });
241
- }
242
- else {
243
- // delete dynamic zone components
244
- // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1
245
- await (0, utils_1.mapAsync)(lodash_1.default.castArray(value), (subValue) => deleteComponent(subValue.__component, subValue), { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity });
246
- }
247
- continue;
248
- }
222
+ const { attributes = {} } = strapi.getModel(uid);
223
+ const attributeNames = Object.keys(attributes);
224
+ for (const attributeName of attributeNames) {
225
+ const attribute = attributes[attributeName];
226
+ if (attribute.type === "component" || attribute.type === "dynamiczone") {
227
+ let value;
228
+ if (loadComponents) {
229
+ value = await strapi.query(uid).load(entityToDelete, attributeName);
230
+ } else {
231
+ value = entityToDelete[attributeName];
232
+ }
233
+ if (!value) {
234
+ continue;
235
+ }
236
+ if (attribute.type === "component") {
237
+ const { component: componentUID } = attribute;
238
+ await strapiUtils.mapAsync(
239
+ ___default.default.castArray(value),
240
+ (subValue) => deleteComponent(componentUID, subValue),
241
+ {
242
+ concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity
243
+ }
244
+ );
245
+ } else {
246
+ await strapiUtils.mapAsync(
247
+ ___default.default.castArray(value),
248
+ (subValue) => deleteComponent(subValue.__component, subValue),
249
+ { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }
250
+ );
251
+ }
252
+ continue;
249
253
  }
254
+ }
250
255
  };
251
- exports.deleteComponents = deleteComponents;
252
256
  const cloneComponents = async (uid, entityToClone, data) => {
253
- const { attributes = {} } = strapi.getModel(uid);
254
- const componentBody = {};
255
- const componentData = await getComponents(uid, entityToClone);
256
- for (const attributeName of Object.keys(attributes)) {
257
- const attribute = attributes[attributeName];
258
- // If the attribute is not set or on the component to clone, skip it
259
- if (!(0, fp_1.has)(attributeName, data) && !(0, fp_1.has)(attributeName, componentData)) {
260
- continue;
257
+ const { attributes = {} } = strapi.getModel(uid);
258
+ const componentBody = {};
259
+ const componentData = await getComponents(uid, entityToClone);
260
+ for (const attributeName of Object.keys(attributes)) {
261
+ const attribute = attributes[attributeName];
262
+ if (!_.has(attributeName, data) && !_.has(attributeName, componentData)) {
263
+ continue;
264
+ }
265
+ if (attribute.type === "component") {
266
+ const { component: componentUID, repeatable = false } = attribute;
267
+ const componentValue = attributeName in data ? data[attributeName] : componentData[attributeName];
268
+ if (componentValue === null) {
269
+ continue;
270
+ }
271
+ if (repeatable === true) {
272
+ if (!Array.isArray(componentValue)) {
273
+ throw new Error("Expected an array to create repeatable component");
261
274
  }
262
- if (attribute.type === 'component') {
263
- const { component: componentUID, repeatable = false } = attribute;
264
- const componentValue = (attributeName in data
265
- ? data[attributeName]
266
- : componentData[attributeName]);
267
- if (componentValue === null) {
268
- continue;
269
- }
270
- if (repeatable === true) {
271
- if (!Array.isArray(componentValue)) {
272
- throw new Error('Expected an array to create repeatable component');
273
- }
274
- // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1
275
- const components = (await (0, utils_1.mapAsync)(componentValue, (value) => cloneComponent(componentUID, value), { concurrency: isDialectMySQL() ? 1 : Infinity }));
276
- componentBody[attributeName] = components.filter(lodash_1.default.negate(lodash_1.default.isNil)).map(({ id }) => {
277
- return {
278
- id,
279
- __pivot: {
280
- field: attributeName,
281
- component_type: componentUID,
282
- },
283
- };
284
- });
275
+ const components = await strapiUtils.mapAsync(
276
+ componentValue,
277
+ (value) => cloneComponent(componentUID, value),
278
+ { concurrency: isDialectMySQL() ? 1 : Infinity }
279
+ );
280
+ componentBody[attributeName] = components.filter(___default.default.negate(___default.default.isNil)).map(({ id }) => {
281
+ return {
282
+ id,
283
+ __pivot: {
284
+ field: attributeName,
285
+ component_type: componentUID
285
286
  }
286
- else {
287
- const component = await cloneComponent(componentUID, componentValue);
288
- componentBody[attributeName] = component && {
289
- id: component.id,
290
- __pivot: {
291
- field: attributeName,
292
- component_type: componentUID,
293
- },
294
- };
295
- }
296
- continue;
297
- }
298
- if (attribute.type === 'dynamiczone') {
299
- const dynamiczoneValues = (0, fp_1.has)(attributeName, data)
300
- ? data[attributeName]
301
- : componentData[attributeName];
302
- if (!Array.isArray(dynamiczoneValues)) {
303
- throw new Error('Expected an array to create repeatable component');
287
+ };
288
+ });
289
+ } else {
290
+ const component = await cloneComponent(componentUID, componentValue);
291
+ componentBody[attributeName] = component && {
292
+ id: component.id,
293
+ __pivot: {
294
+ field: attributeName,
295
+ component_type: componentUID
296
+ }
297
+ };
298
+ }
299
+ continue;
300
+ }
301
+ if (attribute.type === "dynamiczone") {
302
+ const dynamiczoneValues = _.has(attributeName, data) ? data[attributeName] : componentData[attributeName];
303
+ if (!Array.isArray(dynamiczoneValues)) {
304
+ throw new Error("Expected an array to create repeatable component");
305
+ }
306
+ componentBody[attributeName] = await strapiUtils.mapAsync(
307
+ dynamiczoneValues,
308
+ async (value) => {
309
+ const { id } = await cloneComponent(value.__component, value);
310
+ return {
311
+ id,
312
+ __component: value.__component,
313
+ __pivot: {
314
+ field: attributeName
304
315
  }
305
- // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1
306
- componentBody[attributeName] = await (0, utils_1.mapAsync)(dynamiczoneValues, async (value) => {
307
- const { id } = await cloneComponent(value.__component, value);
308
- return {
309
- id,
310
- __component: value.__component,
311
- __pivot: {
312
- field: attributeName,
313
- },
314
- };
315
- }, { concurrency: isDialectMySQL() ? 1 : Infinity });
316
- continue;
317
- }
316
+ };
317
+ },
318
+ { concurrency: isDialectMySQL() ? 1 : Infinity }
319
+ );
320
+ continue;
318
321
  }
319
- return componentBody;
322
+ }
323
+ return componentBody;
320
324
  };
321
- exports.cloneComponents = cloneComponents;
322
- /** *************************
323
- Component queries
324
- ************************** */
325
- // components can have nested compos so this must be recursive
326
325
  const createComponent = async (uid, data) => {
327
- const model = strapi.getModel(uid);
328
- const componentData = await createComponents(uid, data);
329
- const transform = (0, fp_1.pipe)(
326
+ const model = strapi.getModel(uid);
327
+ const componentData = await createComponents(uid, data);
328
+ const transform = _.pipe(
330
329
  // Make sure we don't save the component with a pre-defined ID
331
- (0, fp_1.omit)('id'),
330
+ _.omit("id"),
332
331
  // Remove the component data from the original data object ...
333
- (payload) => omitComponentData(model, payload),
332
+ (payload) => omitComponentData(model, payload),
334
333
  // ... and assign the newly created component instead
335
- (0, fp_1.assign)(componentData));
336
- return strapi.query(uid).create({ data: transform(data) });
334
+ _.assign(componentData)
335
+ );
336
+ return strapi.query(uid).create({ data: transform(data) });
337
337
  };
338
- // components can have nested compos so this must be recursive
339
338
  const updateComponent = async (uid, componentToUpdate, data) => {
340
- const model = strapi.getModel(uid);
341
- const componentData = await updateComponents(uid, componentToUpdate, data);
342
- return strapi.query(uid).update({
343
- where: {
344
- id: componentToUpdate.id,
345
- },
346
- data: Object.assign(omitComponentData(model, data), componentData),
347
- });
339
+ const model = strapi.getModel(uid);
340
+ const componentData = await updateComponents(uid, componentToUpdate, data);
341
+ return strapi.query(uid).update({
342
+ where: {
343
+ id: componentToUpdate.id
344
+ },
345
+ data: Object.assign(omitComponentData(model, data), componentData)
346
+ });
348
347
  };
349
348
  const updateOrCreateComponent = (componentUID, value) => {
350
- if (value === null) {
351
- return null;
352
- }
353
- // update
354
- if ('id' in value && typeof value.id !== 'undefined') {
355
- // TODO: verify the compo is associated with the entity
356
- return updateComponent(componentUID, { id: value.id }, value);
357
- }
358
- // create
359
- return createComponent(componentUID, value);
349
+ if (value === null) {
350
+ return null;
351
+ }
352
+ if ("id" in value && typeof value.id !== "undefined") {
353
+ return updateComponent(componentUID, { id: value.id }, value);
354
+ }
355
+ return createComponent(componentUID, value);
360
356
  };
361
357
  const deleteComponent = async (uid, componentToDelete) => {
362
- await deleteComponents(uid, componentToDelete);
363
- await strapi.query(uid).delete({ where: { id: componentToDelete.id } });
358
+ await deleteComponents(uid, componentToDelete);
359
+ await strapi.query(uid).delete({ where: { id: componentToDelete.id } });
364
360
  };
365
- exports.deleteComponent = deleteComponent;
366
361
  const cloneComponent = async (uid, data) => {
367
- const model = strapi.getModel(uid);
368
- if (!('id' in data) || typeof data.id === 'undefined') {
369
- return createComponent(uid, data);
370
- }
371
- const componentData = await cloneComponents(uid, { id: data.id }, data);
372
- const transform = (0, fp_1.pipe)(
362
+ const model = strapi.getModel(uid);
363
+ if (!("id" in data) || typeof data.id === "undefined") {
364
+ return createComponent(uid, data);
365
+ }
366
+ const componentData = await cloneComponents(uid, { id: data.id }, data);
367
+ const transform = _.pipe(
373
368
  // Make sure we don't save the component with a pre-defined ID
374
- (0, fp_1.omit)('id'),
369
+ _.omit("id"),
375
370
  // Remove the component data from the original data object ...
376
- (payload) => omitComponentData(model, payload),
371
+ (payload) => omitComponentData(model, payload),
377
372
  // ... and assign the newly created component instead
378
- (0, fp_1.assign)(componentData));
379
- return strapi.query(uid).clone(data.id, { data: transform(data) });
373
+ _.assign(componentData)
374
+ );
375
+ return strapi.query(uid).clone(data.id, { data: transform(data) });
380
376
  };
381
- //# sourceMappingURL=components.js.map
377
+ exports.cloneComponents = cloneComponents;
378
+ exports.createComponents = createComponents;
379
+ exports.deleteComponent = deleteComponent;
380
+ exports.deleteComponents = deleteComponents;
381
+ exports.getComponents = getComponents;
382
+ exports.omitComponentData = omitComponentData;
383
+ exports.updateComponents = updateComponents;
384
+ //# sourceMappingURL=components.js.map