@strapi/core 0.0.0-experimental.a407f3bc8fb79a53cf7975140864526b6ddbac4b → 0.0.0-experimental.a40985766ab04e433896342630dbc2832adeb389

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 (1036) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +52 -59
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +438 -428
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +429 -439
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/compile.js +23 -14
  9. package/dist/compile.js.map +1 -1
  10. package/dist/compile.mjs +22 -14
  11. package/dist/compile.mjs.map +1 -1
  12. package/dist/configuration/config-loader.d.ts.map +1 -1
  13. package/dist/configuration/config-loader.js +110 -93
  14. package/dist/configuration/config-loader.js.map +1 -1
  15. package/dist/configuration/config-loader.mjs +109 -92
  16. package/dist/configuration/config-loader.mjs.map +1 -1
  17. package/dist/configuration/get-dirs.d.ts +10 -0
  18. package/dist/configuration/get-dirs.d.ts.map +1 -0
  19. package/dist/configuration/get-dirs.js +33 -0
  20. package/dist/configuration/get-dirs.js.map +1 -0
  21. package/dist/configuration/get-dirs.mjs +31 -0
  22. package/dist/configuration/get-dirs.mjs.map +1 -0
  23. package/dist/configuration/index.d.ts +5 -7
  24. package/dist/configuration/index.d.ts.map +1 -1
  25. package/dist/configuration/index.js +86 -72
  26. package/dist/configuration/index.js.map +1 -1
  27. package/dist/configuration/index.mjs +84 -68
  28. package/dist/configuration/index.mjs.map +1 -1
  29. package/dist/configuration/urls.d.ts +8 -0
  30. package/dist/configuration/urls.d.ts.map +1 -0
  31. package/dist/configuration/urls.js +81 -0
  32. package/dist/configuration/urls.js.map +1 -0
  33. package/dist/configuration/urls.mjs +77 -0
  34. package/dist/configuration/urls.mjs.map +1 -0
  35. package/dist/container.d.ts +2 -2
  36. package/dist/container.d.ts.map +1 -1
  37. package/dist/container.js +27 -23
  38. package/dist/container.js.map +1 -1
  39. package/dist/container.mjs +26 -24
  40. package/dist/container.mjs.map +1 -1
  41. package/dist/core-api/controller/collection-type.d.ts +3 -3
  42. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  43. package/dist/core-api/controller/collection-type.js +77 -73
  44. package/dist/core-api/controller/collection-type.js.map +1 -1
  45. package/dist/core-api/controller/collection-type.mjs +76 -74
  46. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  47. package/dist/core-api/controller/index.d.ts +3 -3
  48. package/dist/core-api/controller/index.d.ts.map +1 -1
  49. package/dist/core-api/controller/index.js +63 -43
  50. package/dist/core-api/controller/index.js.map +1 -1
  51. package/dist/core-api/controller/index.mjs +62 -44
  52. package/dist/core-api/controller/index.mjs.map +1 -1
  53. package/dist/core-api/controller/single-type.d.ts +3 -3
  54. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  55. package/dist/core-api/controller/single-type.js +41 -39
  56. package/dist/core-api/controller/single-type.js.map +1 -1
  57. package/dist/core-api/controller/single-type.mjs +40 -40
  58. package/dist/core-api/controller/single-type.mjs.map +1 -1
  59. package/dist/core-api/controller/transform.d.ts +10 -9
  60. package/dist/core-api/controller/transform.d.ts.map +1 -1
  61. package/dist/core-api/controller/transform.js +73 -58
  62. package/dist/core-api/controller/transform.js.map +1 -1
  63. package/dist/core-api/controller/transform.mjs +72 -59
  64. package/dist/core-api/controller/transform.mjs.map +1 -1
  65. package/dist/core-api/routes/index.d.ts.map +1 -1
  66. package/dist/core-api/routes/index.js +64 -62
  67. package/dist/core-api/routes/index.js.map +1 -1
  68. package/dist/core-api/routes/index.mjs +62 -62
  69. package/dist/core-api/routes/index.mjs.map +1 -1
  70. package/dist/core-api/service/collection-type.d.ts +11 -17
  71. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  72. package/dist/core-api/service/collection-type.js +73 -49
  73. package/dist/core-api/service/collection-type.js.map +1 -1
  74. package/dist/core-api/service/collection-type.mjs +72 -51
  75. package/dist/core-api/service/collection-type.mjs.map +1 -1
  76. package/dist/core-api/service/core-service.js +9 -8
  77. package/dist/core-api/service/core-service.js.map +1 -1
  78. package/dist/core-api/service/core-service.mjs +8 -9
  79. package/dist/core-api/service/core-service.mjs.map +1 -1
  80. package/dist/core-api/service/index.d.ts +3 -3
  81. package/dist/core-api/service/index.d.ts.map +1 -1
  82. package/dist/core-api/service/index.js +13 -13
  83. package/dist/core-api/service/index.js.map +1 -1
  84. package/dist/core-api/service/index.mjs +12 -14
  85. package/dist/core-api/service/index.mjs.map +1 -1
  86. package/dist/core-api/service/pagination.d.ts +4 -11
  87. package/dist/core-api/service/pagination.d.ts.map +1 -1
  88. package/dist/core-api/service/pagination.js +68 -68
  89. package/dist/core-api/service/pagination.js.map +1 -1
  90. package/dist/core-api/service/pagination.mjs +66 -71
  91. package/dist/core-api/service/pagination.mjs.map +1 -1
  92. package/dist/core-api/service/single-type.d.ts +5 -5
  93. package/dist/core-api/service/single-type.d.ts.map +1 -1
  94. package/dist/core-api/service/single-type.js +43 -33
  95. package/dist/core-api/service/single-type.js.map +1 -1
  96. package/dist/core-api/service/single-type.mjs +42 -35
  97. package/dist/core-api/service/single-type.mjs.map +1 -1
  98. package/dist/domain/content-type/index.d.ts +1 -1
  99. package/dist/domain/content-type/index.d.ts.map +1 -1
  100. package/dist/domain/content-type/index.js +95 -97
  101. package/dist/domain/content-type/index.js.map +1 -1
  102. package/dist/domain/content-type/index.mjs +94 -97
  103. package/dist/domain/content-type/index.mjs.map +1 -1
  104. package/dist/domain/content-type/validator.d.ts.map +1 -1
  105. package/dist/domain/content-type/validator.js +84 -69
  106. package/dist/domain/content-type/validator.js.map +1 -1
  107. package/dist/domain/content-type/validator.mjs +83 -68
  108. package/dist/domain/content-type/validator.mjs.map +1 -1
  109. package/dist/domain/module/index.d.ts +24 -23
  110. package/dist/domain/module/index.d.ts.map +1 -1
  111. package/dist/domain/module/index.js +109 -100
  112. package/dist/domain/module/index.js.map +1 -1
  113. package/dist/domain/module/index.mjs +108 -99
  114. package/dist/domain/module/index.mjs.map +1 -1
  115. package/dist/domain/module/validation.js +25 -20
  116. package/dist/domain/module/validation.js.map +1 -1
  117. package/dist/domain/module/validation.mjs +24 -21
  118. package/dist/domain/module/validation.mjs.map +1 -1
  119. package/dist/ee/index.d.ts +11 -2
  120. package/dist/ee/index.d.ts.map +1 -1
  121. package/dist/ee/index.js +197 -132
  122. package/dist/ee/index.js.map +1 -1
  123. package/dist/ee/index.mjs +196 -134
  124. package/dist/ee/index.mjs.map +1 -1
  125. package/dist/ee/license.d.ts +5 -3
  126. package/dist/ee/license.d.ts.map +1 -1
  127. package/dist/ee/license.js +105 -74
  128. package/dist/ee/license.js.map +1 -1
  129. package/dist/ee/license.mjs +103 -75
  130. package/dist/ee/license.mjs.map +1 -1
  131. package/dist/factories.d.ts +10 -10
  132. package/dist/factories.d.ts.map +1 -1
  133. package/dist/factories.js +72 -63
  134. package/dist/factories.js.map +1 -1
  135. package/dist/factories.mjs +71 -67
  136. package/dist/factories.mjs.map +1 -1
  137. package/dist/index.d.ts +18 -2
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +32 -5
  140. package/dist/index.js.map +1 -1
  141. package/dist/index.mjs +29 -5
  142. package/dist/index.mjs.map +1 -1
  143. package/dist/loaders/admin.d.ts +2 -2
  144. package/dist/loaders/admin.d.ts.map +1 -1
  145. package/dist/loaders/admin.js +21 -21
  146. package/dist/loaders/admin.js.map +1 -1
  147. package/dist/loaders/admin.mjs +20 -21
  148. package/dist/loaders/admin.mjs.map +1 -1
  149. package/dist/loaders/apis.d.ts +2 -2
  150. package/dist/loaders/apis.d.ts.map +1 -1
  151. package/dist/loaders/apis.js +143 -120
  152. package/dist/loaders/apis.js.map +1 -1
  153. package/dist/loaders/apis.mjs +142 -119
  154. package/dist/loaders/apis.mjs.map +1 -1
  155. package/dist/loaders/components.d.ts +2 -2
  156. package/dist/loaders/components.d.ts.map +1 -1
  157. package/dist/loaders/components.js +33 -34
  158. package/dist/loaders/components.js.map +1 -1
  159. package/dist/loaders/components.mjs +32 -34
  160. package/dist/loaders/components.mjs.map +1 -1
  161. package/dist/loaders/index.d.ts +2 -2
  162. package/dist/loaders/index.d.ts.map +1 -1
  163. package/dist/loaders/index.js +22 -22
  164. package/dist/loaders/index.js.map +1 -1
  165. package/dist/loaders/index.mjs +21 -23
  166. package/dist/loaders/index.mjs.map +1 -1
  167. package/dist/loaders/middlewares.d.ts +2 -2
  168. package/dist/loaders/middlewares.d.ts.map +1 -1
  169. package/dist/loaders/middlewares.js +29 -25
  170. package/dist/loaders/middlewares.js.map +1 -1
  171. package/dist/loaders/middlewares.mjs +28 -25
  172. package/dist/loaders/middlewares.mjs.map +1 -1
  173. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  174. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  175. package/dist/loaders/plugins/get-enabled-plugins.js +125 -100
  176. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  177. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -99
  178. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  179. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  180. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  181. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  182. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  183. package/dist/loaders/plugins/index.d.ts +2 -2
  184. package/dist/loaders/plugins/index.d.ts.map +1 -1
  185. package/dist/loaders/plugins/index.js +141 -104
  186. package/dist/loaders/plugins/index.js.map +1 -1
  187. package/dist/loaders/plugins/index.mjs +121 -104
  188. package/dist/loaders/plugins/index.mjs.map +1 -1
  189. package/dist/loaders/policies.d.ts +2 -2
  190. package/dist/loaders/policies.d.ts.map +1 -1
  191. package/dist/loaders/policies.js +24 -20
  192. package/dist/loaders/policies.js.map +1 -1
  193. package/dist/loaders/policies.mjs +23 -20
  194. package/dist/loaders/policies.mjs.map +1 -1
  195. package/dist/loaders/sanitizers.d.ts +2 -2
  196. package/dist/loaders/sanitizers.d.ts.map +1 -1
  197. package/dist/loaders/sanitizers.js +10 -4
  198. package/dist/loaders/sanitizers.js.map +1 -1
  199. package/dist/loaders/sanitizers.mjs +9 -6
  200. package/dist/loaders/sanitizers.mjs.map +1 -1
  201. package/dist/loaders/src-index.d.ts +2 -2
  202. package/dist/loaders/src-index.d.ts.map +1 -1
  203. package/dist/loaders/src-index.js +35 -27
  204. package/dist/loaders/src-index.js.map +1 -1
  205. package/dist/loaders/src-index.mjs +34 -29
  206. package/dist/loaders/src-index.mjs.map +1 -1
  207. package/dist/loaders/validators.d.ts +2 -2
  208. package/dist/loaders/validators.d.ts.map +1 -1
  209. package/dist/loaders/validators.js +9 -4
  210. package/dist/loaders/validators.js.map +1 -1
  211. package/dist/loaders/validators.mjs +8 -6
  212. package/dist/loaders/validators.mjs.map +1 -1
  213. package/dist/middlewares/body.d.ts +4 -4
  214. package/dist/middlewares/body.d.ts.map +1 -1
  215. package/dist/middlewares/body.js +58 -54
  216. package/dist/middlewares/body.js.map +1 -1
  217. package/dist/middlewares/body.mjs +57 -51
  218. package/dist/middlewares/body.mjs.map +1 -1
  219. package/dist/middlewares/compression.d.ts +2 -2
  220. package/dist/middlewares/compression.d.ts.map +1 -1
  221. package/dist/middlewares/compression.js +6 -6
  222. package/dist/middlewares/compression.js.map +1 -1
  223. package/dist/middlewares/compression.mjs +5 -5
  224. package/dist/middlewares/compression.mjs.map +1 -1
  225. package/dist/middlewares/cors.d.ts +2 -2
  226. package/dist/middlewares/cors.d.ts.map +1 -1
  227. package/dist/middlewares/cors.js +59 -46
  228. package/dist/middlewares/cors.js.map +1 -1
  229. package/dist/middlewares/cors.mjs +58 -45
  230. package/dist/middlewares/cors.mjs.map +1 -1
  231. package/dist/middlewares/errors.d.ts +2 -2
  232. package/dist/middlewares/errors.d.ts.map +1 -1
  233. package/dist/middlewares/errors.js +32 -30
  234. package/dist/middlewares/errors.js.map +1 -1
  235. package/dist/middlewares/errors.mjs +31 -31
  236. package/dist/middlewares/errors.mjs.map +1 -1
  237. package/dist/middlewares/favicon.d.ts +2 -2
  238. package/dist/middlewares/favicon.d.ts.map +1 -1
  239. package/dist/middlewares/favicon.js +27 -17
  240. package/dist/middlewares/favicon.js.map +1 -1
  241. package/dist/middlewares/favicon.mjs +26 -16
  242. package/dist/middlewares/favicon.mjs.map +1 -1
  243. package/dist/middlewares/index.d.ts +2 -2
  244. package/dist/middlewares/index.d.ts.map +1 -1
  245. package/dist/middlewares/index.js +32 -30
  246. package/dist/middlewares/index.js.map +1 -1
  247. package/dist/middlewares/index.mjs +31 -31
  248. package/dist/middlewares/index.mjs.map +1 -1
  249. package/dist/middlewares/ip.d.ts +2 -2
  250. package/dist/middlewares/ip.d.ts.map +1 -1
  251. package/dist/middlewares/ip.js +6 -6
  252. package/dist/middlewares/ip.js.map +1 -1
  253. package/dist/middlewares/ip.mjs +5 -5
  254. package/dist/middlewares/ip.mjs.map +1 -1
  255. package/dist/middlewares/logger.d.ts +2 -2
  256. package/dist/middlewares/logger.d.ts.map +1 -1
  257. package/dist/middlewares/logger.js +10 -9
  258. package/dist/middlewares/logger.js.map +1 -1
  259. package/dist/middlewares/logger.mjs +9 -10
  260. package/dist/middlewares/logger.mjs.map +1 -1
  261. package/dist/middlewares/powered-by.d.ts +2 -2
  262. package/dist/middlewares/powered-by.d.ts.map +1 -1
  263. package/dist/middlewares/powered-by.js +13 -9
  264. package/dist/middlewares/powered-by.js.map +1 -1
  265. package/dist/middlewares/powered-by.mjs +12 -10
  266. package/dist/middlewares/powered-by.mjs.map +1 -1
  267. package/dist/middlewares/public.d.ts +2 -2
  268. package/dist/middlewares/public.d.ts.map +1 -1
  269. package/dist/middlewares/public.js +33 -29
  270. package/dist/middlewares/public.js.map +1 -1
  271. package/dist/middlewares/public.mjs +32 -28
  272. package/dist/middlewares/public.mjs.map +1 -1
  273. package/dist/middlewares/query.d.ts +2 -2
  274. package/dist/middlewares/query.d.ts.map +1 -1
  275. package/dist/middlewares/query.js +35 -32
  276. package/dist/middlewares/query.js.map +1 -1
  277. package/dist/middlewares/query.mjs +34 -31
  278. package/dist/middlewares/query.mjs.map +1 -1
  279. package/dist/middlewares/response-time.d.ts +2 -2
  280. package/dist/middlewares/response-time.d.ts.map +1 -1
  281. package/dist/middlewares/response-time.js +10 -9
  282. package/dist/middlewares/response-time.js.map +1 -1
  283. package/dist/middlewares/response-time.mjs +9 -10
  284. package/dist/middlewares/response-time.mjs.map +1 -1
  285. package/dist/middlewares/responses.d.ts +3 -3
  286. package/dist/middlewares/responses.d.ts.map +1 -1
  287. package/dist/middlewares/responses.js +14 -12
  288. package/dist/middlewares/responses.js.map +1 -1
  289. package/dist/middlewares/responses.mjs +13 -13
  290. package/dist/middlewares/responses.mjs.map +1 -1
  291. package/dist/middlewares/security.d.ts +2 -2
  292. package/dist/middlewares/security.d.ts.map +1 -1
  293. package/dist/middlewares/security.js +110 -65
  294. package/dist/middlewares/security.js.map +1 -1
  295. package/dist/middlewares/security.mjs +108 -63
  296. package/dist/middlewares/security.mjs.map +1 -1
  297. package/dist/middlewares/session.d.ts +2 -2
  298. package/dist/middlewares/session.d.ts.map +1 -1
  299. package/dist/middlewares/session.js +26 -25
  300. package/dist/middlewares/session.js.map +1 -1
  301. package/dist/middlewares/session.mjs +25 -24
  302. package/dist/middlewares/session.mjs.map +1 -1
  303. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  304. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  305. package/dist/migrations/database/5.0.0-discard-drafts.js +168 -0
  306. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  307. package/dist/migrations/database/5.0.0-discard-drafts.mjs +165 -0
  308. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  309. package/dist/migrations/draft-publish.d.ts +17 -0
  310. package/dist/migrations/draft-publish.d.ts.map +1 -0
  311. package/dist/migrations/draft-publish.js +69 -0
  312. package/dist/migrations/draft-publish.js.map +1 -0
  313. package/dist/migrations/draft-publish.mjs +66 -0
  314. package/dist/migrations/draft-publish.mjs.map +1 -0
  315. package/dist/migrations/i18n.d.ts +5 -0
  316. package/dist/migrations/i18n.d.ts.map +1 -0
  317. package/dist/migrations/i18n.js +71 -0
  318. package/dist/migrations/i18n.js.map +1 -0
  319. package/dist/migrations/i18n.mjs +68 -0
  320. package/dist/migrations/i18n.mjs.map +1 -0
  321. package/dist/migrations/index.d.ts +5 -0
  322. package/dist/migrations/index.d.ts.map +1 -0
  323. package/dist/migrations/index.js +29 -0
  324. package/dist/migrations/index.js.map +1 -0
  325. package/dist/migrations/index.mjs +26 -0
  326. package/dist/migrations/index.mjs.map +1 -0
  327. package/dist/package.json.js +184 -0
  328. package/dist/package.json.js.map +1 -0
  329. package/dist/package.json.mjs +161 -0
  330. package/dist/package.json.mjs.map +1 -0
  331. package/dist/providers/admin.d.ts +3 -0
  332. package/dist/providers/admin.d.ts.map +1 -0
  333. package/dist/providers/admin.js +30 -0
  334. package/dist/providers/admin.js.map +1 -0
  335. package/dist/providers/admin.mjs +28 -0
  336. package/dist/providers/admin.mjs.map +1 -0
  337. package/dist/providers/coreStore.d.ts +3 -0
  338. package/dist/providers/coreStore.d.ts.map +1 -0
  339. package/dist/providers/coreStore.js +16 -0
  340. package/dist/providers/coreStore.js.map +1 -0
  341. package/dist/providers/coreStore.mjs +14 -0
  342. package/dist/providers/coreStore.mjs.map +1 -0
  343. package/dist/providers/cron.d.ts +3 -0
  344. package/dist/providers/cron.d.ts.map +1 -0
  345. package/dist/providers/cron.js +23 -0
  346. package/dist/providers/cron.js.map +1 -0
  347. package/dist/providers/cron.mjs +21 -0
  348. package/dist/providers/cron.mjs.map +1 -0
  349. package/dist/providers/index.d.ts +3 -0
  350. package/dist/providers/index.d.ts.map +1 -0
  351. package/dist/providers/index.js +20 -0
  352. package/dist/providers/index.js.map +1 -0
  353. package/dist/providers/index.mjs +18 -0
  354. package/dist/providers/index.mjs.map +1 -0
  355. package/dist/providers/provider.d.ts +9 -0
  356. package/dist/providers/provider.d.ts.map +1 -0
  357. package/dist/providers/provider.js +6 -0
  358. package/dist/providers/provider.js.map +1 -0
  359. package/dist/providers/provider.mjs +4 -0
  360. package/dist/providers/provider.mjs.map +1 -0
  361. package/dist/providers/registries.d.ts +3 -0
  362. package/dist/providers/registries.d.ts.map +1 -0
  363. package/dist/providers/registries.js +40 -0
  364. package/dist/providers/registries.js.map +1 -0
  365. package/dist/providers/registries.mjs +38 -0
  366. package/dist/providers/registries.mjs.map +1 -0
  367. package/dist/providers/telemetry.d.ts +3 -0
  368. package/dist/providers/telemetry.d.ts.map +1 -0
  369. package/dist/providers/telemetry.js +22 -0
  370. package/dist/providers/telemetry.js.map +1 -0
  371. package/dist/providers/telemetry.mjs +20 -0
  372. package/dist/providers/telemetry.mjs.map +1 -0
  373. package/dist/providers/webhooks.d.ts +3 -0
  374. package/dist/providers/webhooks.d.ts.map +1 -0
  375. package/dist/providers/webhooks.js +32 -0
  376. package/dist/providers/webhooks.js.map +1 -0
  377. package/dist/providers/webhooks.mjs +30 -0
  378. package/dist/providers/webhooks.mjs.map +1 -0
  379. package/dist/registries/apis.d.ts +2 -2
  380. package/dist/registries/apis.d.ts.map +1 -1
  381. package/dist/registries/apis.js +23 -20
  382. package/dist/registries/apis.js.map +1 -1
  383. package/dist/registries/apis.mjs +22 -22
  384. package/dist/registries/apis.mjs.map +1 -1
  385. package/dist/registries/components.d.ts +6 -6
  386. package/dist/registries/components.d.ts.map +1 -1
  387. package/dist/registries/components.js +35 -37
  388. package/dist/registries/components.js.map +1 -1
  389. package/dist/registries/components.mjs +34 -39
  390. package/dist/registries/components.mjs.map +1 -1
  391. package/dist/registries/content-types.d.ts +5 -5
  392. package/dist/registries/content-types.d.ts.map +1 -1
  393. package/dist/registries/content-types.js +54 -59
  394. package/dist/registries/content-types.js.map +1 -1
  395. package/dist/registries/content-types.mjs +53 -61
  396. package/dist/registries/content-types.mjs.map +1 -1
  397. package/dist/registries/controllers.d.ts +10 -10
  398. package/dist/registries/controllers.d.ts.map +1 -1
  399. package/dist/registries/controllers.js +70 -71
  400. package/dist/registries/controllers.js.map +1 -1
  401. package/dist/registries/controllers.mjs +69 -73
  402. package/dist/registries/controllers.mjs.map +1 -1
  403. package/dist/registries/custom-fields.d.ts +3 -3
  404. package/dist/registries/custom-fields.d.ts.map +1 -1
  405. package/dist/registries/custom-fields.js +75 -65
  406. package/dist/registries/custom-fields.js.map +1 -1
  407. package/dist/registries/custom-fields.mjs +74 -67
  408. package/dist/registries/custom-fields.mjs.map +1 -1
  409. package/dist/registries/hooks.js +46 -49
  410. package/dist/registries/hooks.js.map +1 -1
  411. package/dist/registries/hooks.mjs +45 -51
  412. package/dist/registries/hooks.mjs.map +1 -1
  413. package/dist/registries/index.d.ts +0 -1
  414. package/dist/registries/index.d.ts.map +1 -1
  415. package/dist/registries/middlewares.d.ts +6 -6
  416. package/dist/registries/middlewares.d.ts.map +1 -1
  417. package/dist/registries/middlewares.js +49 -51
  418. package/dist/registries/middlewares.js.map +1 -1
  419. package/dist/registries/middlewares.mjs +48 -53
  420. package/dist/registries/middlewares.mjs.map +1 -1
  421. package/dist/registries/models.js +14 -13
  422. package/dist/registries/models.js.map +1 -1
  423. package/dist/registries/models.mjs +13 -14
  424. package/dist/registries/models.mjs.map +1 -1
  425. package/dist/registries/modules.d.ts +2 -2
  426. package/dist/registries/modules.d.ts.map +1 -1
  427. package/dist/registries/modules.js +39 -36
  428. package/dist/registries/modules.js.map +1 -1
  429. package/dist/registries/modules.mjs +38 -38
  430. package/dist/registries/modules.mjs.map +1 -1
  431. package/dist/registries/namespace.js +21 -20
  432. package/dist/registries/namespace.js.map +1 -1
  433. package/dist/registries/namespace.mjs +20 -23
  434. package/dist/registries/namespace.mjs.map +1 -1
  435. package/dist/registries/plugins.d.ts +5 -5
  436. package/dist/registries/plugins.d.ts.map +1 -1
  437. package/dist/registries/plugins.js +23 -20
  438. package/dist/registries/plugins.js.map +1 -1
  439. package/dist/registries/plugins.mjs +22 -22
  440. package/dist/registries/plugins.mjs.map +1 -1
  441. package/dist/registries/policies.d.ts +22 -10
  442. package/dist/registries/policies.d.ts.map +1 -1
  443. package/dist/registries/policies.js +107 -54
  444. package/dist/registries/policies.js.map +1 -1
  445. package/dist/registries/policies.mjs +106 -56
  446. package/dist/registries/policies.mjs.map +1 -1
  447. package/dist/registries/sanitizers.js +23 -22
  448. package/dist/registries/sanitizers.js.map +1 -1
  449. package/dist/registries/sanitizers.mjs +22 -22
  450. package/dist/registries/sanitizers.mjs.map +1 -1
  451. package/dist/registries/services.d.ts +8 -8
  452. package/dist/registries/services.d.ts.map +1 -1
  453. package/dist/registries/services.js +71 -71
  454. package/dist/registries/services.js.map +1 -1
  455. package/dist/registries/services.mjs +70 -73
  456. package/dist/registries/services.mjs.map +1 -1
  457. package/dist/registries/validators.js +23 -22
  458. package/dist/registries/validators.js.map +1 -1
  459. package/dist/registries/validators.mjs +22 -22
  460. package/dist/registries/validators.mjs.map +1 -1
  461. package/dist/services/auth/index.d.ts +4 -4
  462. package/dist/services/auth/index.d.ts.map +1 -1
  463. package/dist/services/auth/index.js +74 -74
  464. package/dist/services/auth/index.js.map +1 -1
  465. package/dist/services/auth/index.mjs +73 -74
  466. package/dist/services/auth/index.mjs.map +1 -1
  467. package/dist/services/config.d.ts +3 -0
  468. package/dist/services/config.d.ts.map +1 -0
  469. package/dist/services/config.js +51 -0
  470. package/dist/services/config.js.map +1 -0
  471. package/dist/services/config.mjs +49 -0
  472. package/dist/services/config.mjs.map +1 -0
  473. package/dist/services/content-api/index.d.ts +31 -15
  474. package/dist/services/content-api/index.d.ts.map +1 -1
  475. package/dist/services/content-api/index.js +80 -53
  476. package/dist/services/content-api/index.js.map +1 -1
  477. package/dist/services/content-api/index.mjs +79 -53
  478. package/dist/services/content-api/index.mjs.map +1 -1
  479. package/dist/services/content-api/permissions/engine.js +8 -5
  480. package/dist/services/content-api/permissions/engine.js.map +1 -1
  481. package/dist/services/content-api/permissions/engine.mjs +7 -5
  482. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  483. package/dist/services/content-api/permissions/index.d.ts +13 -15
  484. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  485. package/dist/services/content-api/permissions/index.js +101 -81
  486. package/dist/services/content-api/permissions/index.js.map +1 -1
  487. package/dist/services/content-api/permissions/index.mjs +100 -81
  488. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  489. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  490. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  491. package/dist/services/content-api/permissions/providers/action.js +17 -14
  492. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  493. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  494. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  495. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  496. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  497. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  498. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  499. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  500. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  501. package/dist/services/core-store.d.ts +2 -2
  502. package/dist/services/core-store.d.ts.map +1 -1
  503. package/dist/services/core-store.js +115 -95
  504. package/dist/services/core-store.js.map +1 -1
  505. package/dist/services/core-store.mjs +114 -97
  506. package/dist/services/core-store.mjs.map +1 -1
  507. package/dist/services/cron.d.ts +5 -5
  508. package/dist/services/cron.d.ts.map +1 -1
  509. package/dist/services/cron.js +74 -60
  510. package/dist/services/cron.js.map +1 -1
  511. package/dist/services/cron.mjs +73 -62
  512. package/dist/services/cron.mjs.map +1 -1
  513. package/dist/services/custom-fields.d.ts +2 -2
  514. package/dist/services/custom-fields.d.ts.map +1 -1
  515. package/dist/services/custom-fields.js +9 -7
  516. package/dist/services/custom-fields.js.map +1 -1
  517. package/dist/services/custom-fields.mjs +8 -9
  518. package/dist/services/custom-fields.mjs.map +1 -1
  519. package/dist/services/document-service/attributes/index.d.ts +6 -0
  520. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  521. package/dist/services/document-service/attributes/index.js +27 -0
  522. package/dist/services/document-service/attributes/index.js.map +1 -0
  523. package/dist/services/document-service/attributes/index.mjs +25 -0
  524. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  525. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  526. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  527. package/dist/services/document-service/attributes/transforms.js +21 -0
  528. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  529. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  530. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  531. package/dist/services/document-service/common.d.ts +2 -2
  532. package/dist/services/document-service/common.d.ts.map +1 -1
  533. package/dist/services/document-service/common.js +5 -4
  534. package/dist/services/document-service/common.js.map +1 -1
  535. package/dist/services/document-service/common.mjs +4 -5
  536. package/dist/services/document-service/common.mjs.map +1 -1
  537. package/dist/services/document-service/components.d.ts +25 -1
  538. package/dist/services/document-service/components.d.ts.map +1 -1
  539. package/dist/services/document-service/components.js +286 -0
  540. package/dist/services/document-service/components.js.map +1 -0
  541. package/dist/services/document-service/components.mjs +278 -0
  542. package/dist/services/document-service/components.mjs.map +1 -0
  543. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  544. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  545. package/dist/services/document-service/draft-and-publish.js +104 -36
  546. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  547. package/dist/services/document-service/draft-and-publish.mjs +96 -35
  548. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  549. package/dist/services/document-service/entries.d.ts +10 -0
  550. package/dist/services/document-service/entries.d.ts.map +1 -0
  551. package/dist/services/document-service/entries.js +155 -0
  552. package/dist/services/document-service/entries.js.map +1 -0
  553. package/dist/services/document-service/entries.mjs +153 -0
  554. package/dist/services/document-service/entries.mjs.map +1 -0
  555. package/dist/services/document-service/events.d.ts +25 -0
  556. package/dist/services/document-service/events.d.ts.map +1 -0
  557. package/dist/services/document-service/events.js +59 -0
  558. package/dist/services/document-service/events.js.map +1 -0
  559. package/dist/services/document-service/events.mjs +57 -0
  560. package/dist/services/document-service/events.mjs.map +1 -0
  561. package/dist/services/document-service/index.d.ts +3 -4
  562. package/dist/services/document-service/index.d.ts.map +1 -1
  563. package/dist/services/document-service/index.js +53 -19
  564. package/dist/services/document-service/index.js.map +1 -1
  565. package/dist/services/document-service/index.mjs +52 -20
  566. package/dist/services/document-service/index.mjs.map +1 -1
  567. package/dist/services/document-service/internationalization.d.ts +11 -6
  568. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  569. package/dist/services/document-service/internationalization.js +98 -41
  570. package/dist/services/document-service/internationalization.js.map +1 -1
  571. package/dist/services/document-service/internationalization.mjs +92 -41
  572. package/dist/services/document-service/internationalization.mjs.map +1 -1
  573. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  574. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  575. package/dist/services/document-service/middlewares/errors.js +29 -0
  576. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  577. package/dist/services/document-service/middlewares/errors.mjs +27 -0
  578. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  579. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  580. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  581. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  582. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  583. package/dist/services/document-service/middlewares/middleware-manager.js +51 -0
  584. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  585. package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
  586. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  587. package/dist/services/document-service/params.d.ts +3 -1
  588. package/dist/services/document-service/params.d.ts.map +1 -1
  589. package/dist/services/document-service/params.js +14 -0
  590. package/dist/services/document-service/params.js.map +1 -0
  591. package/dist/services/document-service/params.mjs +12 -0
  592. package/dist/services/document-service/params.mjs.map +1 -0
  593. package/dist/services/document-service/repository.d.ts +3 -0
  594. package/dist/services/document-service/repository.d.ts.map +1 -0
  595. package/dist/services/document-service/repository.js +365 -0
  596. package/dist/services/document-service/repository.js.map +1 -0
  597. package/dist/services/document-service/repository.mjs +363 -0
  598. package/dist/services/document-service/repository.mjs.map +1 -0
  599. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  600. package/dist/services/document-service/transform/data.js +22 -10
  601. package/dist/services/document-service/transform/data.js.map +1 -1
  602. package/dist/services/document-service/transform/data.mjs +21 -11
  603. package/dist/services/document-service/transform/data.mjs.map +1 -1
  604. package/dist/services/document-service/transform/fields.d.ts +2 -2
  605. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  606. package/dist/services/document-service/transform/fields.js +26 -17
  607. package/dist/services/document-service/transform/fields.js.map +1 -1
  608. package/dist/services/document-service/transform/fields.mjs +25 -18
  609. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  610. package/dist/services/document-service/transform/id-map.d.ts +4 -4
  611. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  612. package/dist/services/document-service/transform/id-map.js +117 -64
  613. package/dist/services/document-service/transform/id-map.js.map +1 -1
  614. package/dist/services/document-service/transform/id-map.mjs +116 -65
  615. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  616. package/dist/services/document-service/transform/id-transform.d.ts +4 -18
  617. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  618. package/dist/services/document-service/transform/id-transform.js +39 -25
  619. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  620. package/dist/services/document-service/transform/id-transform.mjs +37 -25
  621. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  622. package/dist/services/document-service/transform/populate.d.ts +5 -2
  623. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  624. package/dist/services/document-service/transform/populate.js +23 -18
  625. package/dist/services/document-service/transform/populate.js.map +1 -1
  626. package/dist/services/document-service/transform/populate.mjs +22 -19
  627. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  628. package/dist/services/document-service/transform/query.d.ts +5 -0
  629. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  630. package/dist/services/document-service/transform/query.js +14 -0
  631. package/dist/services/document-service/transform/query.js.map +1 -0
  632. package/dist/services/document-service/transform/query.mjs +12 -0
  633. package/dist/services/document-service/transform/query.mjs.map +1 -0
  634. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  635. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  636. package/dist/services/document-service/transform/relations/extract/data-ids.js +74 -73
  637. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  638. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +73 -74
  639. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  640. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +9 -5
  641. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  642. package/dist/services/document-service/transform/relations/transform/data-ids.js +105 -112
  643. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  644. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +104 -113
  645. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  646. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  647. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  648. package/dist/services/document-service/transform/relations/transform/default-locale.js +50 -0
  649. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  650. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +48 -0
  651. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  652. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  653. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  654. package/dist/services/document-service/transform/relations/utils/dp.js +56 -0
  655. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  656. package/dist/services/document-service/transform/relations/utils/dp.mjs +54 -0
  657. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  658. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  659. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  660. package/dist/services/document-service/transform/relations/utils/i18n.js +19 -23
  661. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  662. package/dist/services/document-service/transform/relations/utils/i18n.mjs +18 -26
  663. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  664. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  665. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  666. package/dist/services/document-service/transform/relations/utils/map-relation.js +130 -0
  667. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  668. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +127 -0
  669. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  670. package/dist/services/document-service/transform/relations/utils/types.d.ts +10 -1
  671. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  672. package/dist/services/document-service/transform/types.d.ts +4 -4
  673. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  674. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  675. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  676. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  677. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  678. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  679. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  680. package/dist/services/document-service/utils/populate.d.ts +9 -2
  681. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  682. package/dist/services/document-service/utils/populate.js +67 -37
  683. package/dist/services/document-service/utils/populate.js.map +1 -1
  684. package/dist/services/document-service/utils/populate.mjs +66 -38
  685. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  686. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  687. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  688. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  689. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  690. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  691. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  692. package/dist/services/entity-service/index.d.ts +4 -6
  693. package/dist/services/entity-service/index.d.ts.map +1 -1
  694. package/dist/services/entity-service/index.js +229 -319
  695. package/dist/services/entity-service/index.js.map +1 -1
  696. package/dist/services/entity-service/index.mjs +228 -318
  697. package/dist/services/entity-service/index.mjs.map +1 -1
  698. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  699. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  700. package/dist/services/entity-validator/blocks-validator.js +137 -104
  701. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  702. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  703. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  704. package/dist/services/entity-validator/index.d.ts +16 -2
  705. package/dist/services/entity-validator/index.d.ts.map +1 -1
  706. package/dist/services/entity-validator/index.js +371 -300
  707. package/dist/services/entity-validator/index.js.map +1 -1
  708. package/dist/services/entity-validator/index.mjs +367 -297
  709. package/dist/services/entity-validator/index.mjs.map +1 -1
  710. package/dist/services/entity-validator/validators.d.ts +37 -25
  711. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  712. package/dist/services/entity-validator/validators.js +286 -105
  713. package/dist/services/entity-validator/validators.js.map +1 -1
  714. package/dist/services/entity-validator/validators.mjs +277 -103
  715. package/dist/services/entity-validator/validators.mjs.map +1 -1
  716. package/dist/services/errors.js +65 -65
  717. package/dist/services/errors.js.map +1 -1
  718. package/dist/services/errors.mjs +64 -66
  719. package/dist/services/errors.mjs.map +1 -1
  720. package/dist/services/event-hub.d.ts +1 -0
  721. package/dist/services/event-hub.d.ts.map +1 -1
  722. package/dist/services/event-hub.js +82 -64
  723. package/dist/services/event-hub.js.map +1 -1
  724. package/dist/services/event-hub.mjs +81 -66
  725. package/dist/services/event-hub.mjs.map +1 -1
  726. package/dist/services/features.d.ts +3 -3
  727. package/dist/services/features.d.ts.map +1 -1
  728. package/dist/services/features.js +19 -14
  729. package/dist/services/features.js.map +1 -1
  730. package/dist/services/features.mjs +18 -15
  731. package/dist/services/features.mjs.map +1 -1
  732. package/dist/services/fs.d.ts +2 -2
  733. package/dist/services/fs.d.ts.map +1 -1
  734. package/dist/services/fs.js +41 -40
  735. package/dist/services/fs.js.map +1 -1
  736. package/dist/services/fs.mjs +40 -39
  737. package/dist/services/fs.mjs.map +1 -1
  738. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  739. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  740. package/dist/services/metrics/admin-user-hash.js +13 -11
  741. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  742. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  743. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  744. package/dist/services/metrics/index.d.ts +2 -2
  745. package/dist/services/metrics/index.d.ts.map +1 -1
  746. package/dist/services/metrics/index.js +46 -40
  747. package/dist/services/metrics/index.js.map +1 -1
  748. package/dist/services/metrics/index.mjs +45 -42
  749. package/dist/services/metrics/index.mjs.map +1 -1
  750. package/dist/services/metrics/is-truthy.js +13 -6
  751. package/dist/services/metrics/is-truthy.js.map +1 -1
  752. package/dist/services/metrics/is-truthy.mjs +12 -6
  753. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  754. package/dist/services/metrics/middleware.d.ts +2 -2
  755. package/dist/services/metrics/middleware.d.ts.map +1 -1
  756. package/dist/services/metrics/middleware.js +37 -22
  757. package/dist/services/metrics/middleware.js.map +1 -1
  758. package/dist/services/metrics/middleware.mjs +36 -24
  759. package/dist/services/metrics/middleware.mjs.map +1 -1
  760. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  761. package/dist/services/metrics/rate-limiter.js +24 -19
  762. package/dist/services/metrics/rate-limiter.js.map +1 -1
  763. package/dist/services/metrics/rate-limiter.mjs +23 -21
  764. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  765. package/dist/services/metrics/sender.d.ts +3 -3
  766. package/dist/services/metrics/sender.d.ts.map +1 -1
  767. package/dist/services/metrics/sender.js +78 -69
  768. package/dist/services/metrics/sender.js.map +1 -1
  769. package/dist/services/metrics/sender.mjs +77 -64
  770. package/dist/services/metrics/sender.mjs.map +1 -1
  771. package/dist/services/query-params.d.ts +7 -0
  772. package/dist/services/query-params.d.ts.map +1 -0
  773. package/dist/services/query-params.js +15 -0
  774. package/dist/services/query-params.js.map +1 -0
  775. package/dist/services/query-params.mjs +13 -0
  776. package/dist/services/query-params.mjs.map +1 -0
  777. package/dist/services/reloader.d.ts +7 -0
  778. package/dist/services/reloader.d.ts.map +1 -0
  779. package/dist/services/reloader.js +39 -0
  780. package/dist/services/reloader.js.map +1 -0
  781. package/dist/services/reloader.mjs +37 -0
  782. package/dist/services/reloader.mjs.map +1 -0
  783. package/dist/services/request-context.js +11 -8
  784. package/dist/services/request-context.js.map +1 -1
  785. package/dist/services/request-context.mjs +10 -10
  786. package/dist/services/request-context.mjs.map +1 -1
  787. package/dist/services/server/admin-api.d.ts +3 -3
  788. package/dist/services/server/admin-api.d.ts.map +1 -1
  789. package/dist/services/server/admin-api.js +11 -10
  790. package/dist/services/server/admin-api.js.map +1 -1
  791. package/dist/services/server/admin-api.mjs +10 -11
  792. package/dist/services/server/admin-api.mjs.map +1 -1
  793. package/dist/services/server/api.d.ts +3 -3
  794. package/dist/services/server/api.d.ts.map +1 -1
  795. package/dist/services/server/api.js +33 -27
  796. package/dist/services/server/api.js.map +1 -1
  797. package/dist/services/server/api.mjs +32 -26
  798. package/dist/services/server/api.mjs.map +1 -1
  799. package/dist/services/server/compose-endpoint.d.ts +2 -2
  800. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  801. package/dist/services/server/compose-endpoint.js +116 -106
  802. package/dist/services/server/compose-endpoint.js.map +1 -1
  803. package/dist/services/server/compose-endpoint.mjs +115 -106
  804. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  805. package/dist/services/server/content-api.d.ts +3 -3
  806. package/dist/services/server/content-api.d.ts.map +1 -1
  807. package/dist/services/server/content-api.js +11 -9
  808. package/dist/services/server/content-api.js.map +1 -1
  809. package/dist/services/server/content-api.mjs +10 -10
  810. package/dist/services/server/content-api.mjs.map +1 -1
  811. package/dist/services/server/http-server.d.ts +2 -2
  812. package/dist/services/server/http-server.d.ts.map +1 -1
  813. package/dist/services/server/http-server.js +48 -44
  814. package/dist/services/server/http-server.js.map +1 -1
  815. package/dist/services/server/http-server.mjs +47 -43
  816. package/dist/services/server/http-server.mjs.map +1 -1
  817. package/dist/services/server/index.d.ts +2 -2
  818. package/dist/services/server/index.d.ts.map +1 -1
  819. package/dist/services/server/index.js +85 -83
  820. package/dist/services/server/index.js.map +1 -1
  821. package/dist/services/server/index.mjs +84 -82
  822. package/dist/services/server/index.mjs.map +1 -1
  823. package/dist/services/server/koa.d.ts.map +1 -1
  824. package/dist/services/server/koa.js +49 -47
  825. package/dist/services/server/koa.js.map +1 -1
  826. package/dist/services/server/koa.mjs +48 -44
  827. package/dist/services/server/koa.mjs.map +1 -1
  828. package/dist/services/server/middleware.d.ts +4 -4
  829. package/dist/services/server/middleware.d.ts.map +1 -1
  830. package/dist/services/server/middleware.js +86 -82
  831. package/dist/services/server/middleware.js.map +1 -1
  832. package/dist/services/server/middleware.mjs +85 -82
  833. package/dist/services/server/middleware.mjs.map +1 -1
  834. package/dist/services/server/policy.d.ts +3 -3
  835. package/dist/services/server/policy.d.ts.map +1 -1
  836. package/dist/services/server/policy.js +25 -18
  837. package/dist/services/server/policy.js.map +1 -1
  838. package/dist/services/server/policy.mjs +23 -18
  839. package/dist/services/server/policy.mjs.map +1 -1
  840. package/dist/services/server/register-middlewares.d.ts +2 -2
  841. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  842. package/dist/services/server/register-middlewares.js +68 -61
  843. package/dist/services/server/register-middlewares.js.map +1 -1
  844. package/dist/services/server/register-middlewares.mjs +67 -63
  845. package/dist/services/server/register-middlewares.mjs.map +1 -1
  846. package/dist/services/server/register-routes.d.ts +2 -2
  847. package/dist/services/server/register-routes.d.ts.map +1 -1
  848. package/dist/services/server/register-routes.js +90 -67
  849. package/dist/services/server/register-routes.js.map +1 -1
  850. package/dist/services/server/register-routes.mjs +89 -67
  851. package/dist/services/server/register-routes.mjs.map +1 -1
  852. package/dist/services/server/routing.d.ts +5 -5
  853. package/dist/services/server/routing.d.ts.map +1 -1
  854. package/dist/services/server/routing.js +94 -81
  855. package/dist/services/server/routing.js.map +1 -1
  856. package/dist/services/server/routing.mjs +93 -81
  857. package/dist/services/server/routing.mjs.map +1 -1
  858. package/dist/services/utils/conditional-fields.d.ts +3 -0
  859. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  860. package/dist/services/utils/conditional-fields.js +22 -0
  861. package/dist/services/utils/conditional-fields.js.map +1 -0
  862. package/dist/services/utils/conditional-fields.mjs +20 -0
  863. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  864. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  865. package/dist/services/utils/dynamic-zones.js +13 -13
  866. package/dist/services/utils/dynamic-zones.js.map +1 -1
  867. package/dist/services/utils/dynamic-zones.mjs +12 -15
  868. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  869. package/dist/services/webhook-runner.d.ts +2 -1
  870. package/dist/services/webhook-runner.d.ts.map +1 -1
  871. package/dist/services/webhook-runner.js +124 -122
  872. package/dist/services/webhook-runner.js.map +1 -1
  873. package/dist/services/webhook-runner.mjs +123 -121
  874. package/dist/services/webhook-runner.mjs.map +1 -1
  875. package/dist/services/webhook-store.d.ts +2 -8
  876. package/dist/services/webhook-store.d.ts.map +1 -1
  877. package/dist/services/webhook-store.js +132 -93
  878. package/dist/services/webhook-store.js.map +1 -1
  879. package/dist/services/webhook-store.mjs +131 -95
  880. package/dist/services/webhook-store.mjs.map +1 -1
  881. package/dist/services/worker-queue.js +44 -49
  882. package/dist/services/worker-queue.js.map +1 -1
  883. package/dist/services/worker-queue.mjs +43 -49
  884. package/dist/services/worker-queue.mjs.map +1 -1
  885. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  886. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  887. package/dist/utils/convert-custom-field-type.js +17 -20
  888. package/dist/utils/convert-custom-field-type.js.map +1 -1
  889. package/dist/utils/convert-custom-field-type.mjs +16 -21
  890. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  891. package/dist/utils/cron.js +64 -30
  892. package/dist/utils/cron.js.map +1 -1
  893. package/dist/utils/cron.mjs +63 -31
  894. package/dist/utils/cron.mjs.map +1 -1
  895. package/dist/utils/fetch.d.ts +7 -3
  896. package/dist/utils/fetch.d.ts.map +1 -1
  897. package/dist/utils/fetch.js +28 -17
  898. package/dist/utils/fetch.js.map +1 -1
  899. package/dist/utils/fetch.mjs +27 -18
  900. package/dist/utils/fetch.mjs.map +1 -1
  901. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  902. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  903. package/dist/utils/filepath-to-prop-path.js +22 -9
  904. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  905. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  906. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  907. package/dist/utils/index.d.ts +2 -1
  908. package/dist/utils/index.d.ts.map +1 -1
  909. package/dist/utils/is-initialized.d.ts +2 -2
  910. package/dist/utils/is-initialized.d.ts.map +1 -1
  911. package/dist/utils/is-initialized.js +21 -12
  912. package/dist/utils/is-initialized.js.map +1 -1
  913. package/dist/utils/is-initialized.mjs +20 -13
  914. package/dist/utils/is-initialized.mjs.map +1 -1
  915. package/dist/utils/lifecycles.js +6 -5
  916. package/dist/utils/lifecycles.js.map +1 -1
  917. package/dist/utils/lifecycles.mjs +5 -6
  918. package/dist/utils/lifecycles.mjs.map +1 -1
  919. package/dist/utils/load-config-file.js +40 -38
  920. package/dist/utils/load-config-file.js.map +1 -1
  921. package/dist/utils/load-config-file.mjs +39 -36
  922. package/dist/utils/load-config-file.mjs.map +1 -1
  923. package/dist/utils/load-files.d.ts.map +1 -1
  924. package/dist/utils/load-files.js +40 -35
  925. package/dist/utils/load-files.js.map +1 -1
  926. package/dist/utils/load-files.mjs +39 -32
  927. package/dist/utils/load-files.mjs.map +1 -1
  928. package/dist/utils/open-browser.d.ts +2 -2
  929. package/dist/utils/open-browser.d.ts.map +1 -1
  930. package/dist/utils/open-browser.js +8 -8
  931. package/dist/utils/open-browser.js.map +1 -1
  932. package/dist/utils/open-browser.mjs +7 -7
  933. package/dist/utils/open-browser.mjs.map +1 -1
  934. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  935. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  936. package/dist/utils/resolve-working-dirs.js +26 -0
  937. package/dist/utils/resolve-working-dirs.js.map +1 -0
  938. package/dist/utils/resolve-working-dirs.mjs +24 -0
  939. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  940. package/dist/utils/signals.d.ts +2 -2
  941. package/dist/utils/signals.d.ts.map +1 -1
  942. package/dist/utils/signals.js +20 -14
  943. package/dist/utils/signals.js.map +1 -1
  944. package/dist/utils/signals.mjs +19 -15
  945. package/dist/utils/signals.mjs.map +1 -1
  946. package/dist/utils/startup-logger.d.ts +2 -2
  947. package/dist/utils/startup-logger.d.ts.map +1 -1
  948. package/dist/utils/startup-logger.js +107 -78
  949. package/dist/utils/startup-logger.js.map +1 -1
  950. package/dist/utils/startup-logger.mjs +106 -75
  951. package/dist/utils/startup-logger.mjs.map +1 -1
  952. package/dist/utils/transform-content-types-to-models.d.ts +574 -90
  953. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  954. package/dist/utils/transform-content-types-to-models.js +357 -217
  955. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  956. package/dist/utils/transform-content-types-to-models.mjs +351 -220
  957. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  958. package/dist/utils/update-notifier/index.d.ts +2 -7
  959. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  960. package/dist/utils/update-notifier/index.js +66 -74
  961. package/dist/utils/update-notifier/index.js.map +1 -1
  962. package/dist/utils/update-notifier/index.mjs +65 -68
  963. package/dist/utils/update-notifier/index.mjs.map +1 -1
  964. package/package.json +45 -40
  965. package/dist/registries/config.d.ts +0 -4
  966. package/dist/registries/config.d.ts.map +0 -1
  967. package/dist/registries/config.js +0 -23
  968. package/dist/registries/config.js.map +0 -1
  969. package/dist/registries/config.mjs +0 -22
  970. package/dist/registries/config.mjs.map +0 -1
  971. package/dist/services/document-service/document-engine.d.ts +0 -8
  972. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  973. package/dist/services/document-service/document-engine.js +0 -241
  974. package/dist/services/document-service/document-engine.js.map +0 -1
  975. package/dist/services/document-service/document-engine.mjs +0 -242
  976. package/dist/services/document-service/document-engine.mjs.map +0 -1
  977. package/dist/services/document-service/middlewares.d.ts +0 -8
  978. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  979. package/dist/services/document-service/middlewares.js +0 -46
  980. package/dist/services/document-service/middlewares.js.map +0 -1
  981. package/dist/services/document-service/middlewares.mjs +0 -46
  982. package/dist/services/document-service/middlewares.mjs.map +0 -1
  983. package/dist/services/document-service/repositories/content-type.d.ts +0 -3
  984. package/dist/services/document-service/repositories/content-type.d.ts.map +0 -1
  985. package/dist/services/document-service/repositories/content-type.js +0 -139
  986. package/dist/services/document-service/repositories/content-type.js.map +0 -1
  987. package/dist/services/document-service/repositories/content-type.mjs +0 -139
  988. package/dist/services/document-service/repositories/content-type.mjs.map +0 -1
  989. package/dist/services/document-service/transform/filters.d.ts +0 -3
  990. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  991. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  992. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  993. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  994. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  995. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  996. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  997. package/dist/services/document-service/transform/sort.d.ts +0 -5
  998. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  999. package/dist/services/document-service/transform/utils.d.ts +0 -9
  1000. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  1001. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  1002. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  1003. package/dist/services/entity-service/attributes/index.js +0 -22
  1004. package/dist/services/entity-service/attributes/index.js.map +0 -1
  1005. package/dist/services/entity-service/attributes/index.mjs +0 -22
  1006. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  1007. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  1008. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  1009. package/dist/services/entity-service/attributes/transforms.js +0 -20
  1010. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  1011. package/dist/services/entity-service/attributes/transforms.mjs +0 -19
  1012. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  1013. package/dist/services/entity-service/components.d.ts +0 -23
  1014. package/dist/services/entity-service/components.d.ts.map +0 -1
  1015. package/dist/services/entity-service/components.js +0 -384
  1016. package/dist/services/entity-service/components.js.map +0 -1
  1017. package/dist/services/entity-service/components.mjs +0 -382
  1018. package/dist/services/entity-service/components.mjs.map +0 -1
  1019. package/dist/services/entity-service/params.d.ts +0 -8
  1020. package/dist/services/entity-service/params.d.ts.map +0 -1
  1021. package/dist/services/entity-service/params.js +0 -8
  1022. package/dist/services/entity-service/params.js.map +0 -1
  1023. package/dist/services/entity-service/params.mjs +0 -8
  1024. package/dist/services/entity-service/params.mjs.map +0 -1
  1025. package/dist/services/utils/upload-files.d.ts +0 -8
  1026. package/dist/services/utils/upload-files.d.ts.map +0 -1
  1027. package/dist/services/utils/upload-files.js +0 -64
  1028. package/dist/services/utils/upload-files.js.map +0 -1
  1029. package/dist/services/utils/upload-files.mjs +0 -63
  1030. package/dist/services/utils/upload-files.mjs.map +0 -1
  1031. package/dist/utils/get-dirs.d.ts +0 -9
  1032. package/dist/utils/get-dirs.d.ts.map +0 -1
  1033. package/dist/utils/get-dirs.js +0 -30
  1034. package/dist/utils/get-dirs.js.map +0 -1
  1035. package/dist/utils/get-dirs.mjs +0 -30
  1036. package/dist/utils/get-dirs.mjs.map +0 -1
@@ -1,382 +0,0 @@
1
- import _ from "lodash";
2
- import { omit, has, pipe, assign } from "lodash/fp";
3
- import { contentTypes, mapAsync, errors } from "@strapi/utils";
4
- const isDialectMySQL = () => strapi.db?.dialect.client === "mysql";
5
- function omitComponentData(contentType, data) {
6
- const { attributes } = contentType;
7
- const componentAttributes = Object.keys(attributes).filter(
8
- (attributeName) => contentTypes.isComponentAttribute(attributes[attributeName])
9
- );
10
- return omit(componentAttributes, data);
11
- }
12
- const createComponents = async (uid, data) => {
13
- const { attributes = {} } = strapi.getModel(uid);
14
- const componentBody = {};
15
- const attributeNames = Object.keys(attributes);
16
- for (const attributeName of attributeNames) {
17
- const attribute = attributes[attributeName];
18
- if (!has(attributeName, data) || !contentTypes.isComponentAttribute(attribute)) {
19
- continue;
20
- }
21
- if (attribute.type === "component") {
22
- const { component: componentUID, repeatable = false } = attribute;
23
- const componentValue = data[attributeName];
24
- if (componentValue === null) {
25
- continue;
26
- }
27
- if (repeatable === true) {
28
- if (!Array.isArray(componentValue)) {
29
- throw new Error("Expected an array to create repeatable component");
30
- }
31
- const components = await mapAsync(
32
- componentValue,
33
- (value) => createComponent(componentUID, value),
34
- { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }
35
- );
36
- componentBody[attributeName] = components.map(({ id }) => {
37
- return {
38
- id,
39
- __pivot: {
40
- field: attributeName,
41
- component_type: componentUID
42
- }
43
- };
44
- });
45
- } else {
46
- const component = await createComponent(
47
- componentUID,
48
- componentValue
49
- );
50
- componentBody[attributeName] = {
51
- id: component.id,
52
- __pivot: {
53
- field: attributeName,
54
- component_type: componentUID
55
- }
56
- };
57
- }
58
- continue;
59
- }
60
- if (attribute.type === "dynamiczone") {
61
- const dynamiczoneValues = data[attributeName];
62
- if (!Array.isArray(dynamiczoneValues)) {
63
- throw new Error("Expected an array to create repeatable component");
64
- }
65
- const createDynamicZoneComponents = async (value) => {
66
- const { id } = await createComponent(value.__component, value);
67
- return {
68
- id,
69
- __component: value.__component,
70
- __pivot: {
71
- field: attributeName
72
- }
73
- };
74
- };
75
- componentBody[attributeName] = await mapAsync(
76
- dynamiczoneValues,
77
- createDynamicZoneComponents,
78
- { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }
79
- );
80
- continue;
81
- }
82
- }
83
- return componentBody;
84
- };
85
- const getComponents = async (uid, entity) => {
86
- const componentAttributes = contentTypes.getComponentAttributes(strapi.getModel(uid));
87
- if (_.isEmpty(componentAttributes)) {
88
- return {};
89
- }
90
- return strapi.query(uid).load(entity, componentAttributes);
91
- };
92
- const updateComponents = async (uid, entityToUpdate, data) => {
93
- const { attributes = {} } = strapi.getModel(uid);
94
- const componentBody = {};
95
- for (const attributeName of Object.keys(attributes)) {
96
- const attribute = attributes[attributeName];
97
- if (!has(attributeName, data)) {
98
- continue;
99
- }
100
- if (attribute.type === "component") {
101
- const { component: componentUID, repeatable = false } = attribute;
102
- const componentValue = data[attributeName];
103
- await deleteOldComponents(uid, componentUID, entityToUpdate, attributeName, componentValue);
104
- if (repeatable === true) {
105
- if (!Array.isArray(componentValue)) {
106
- throw new Error("Expected an array to create repeatable component");
107
- }
108
- const components = await mapAsync(
109
- componentValue,
110
- (value) => updateOrCreateComponent(componentUID, value),
111
- { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }
112
- );
113
- componentBody[attributeName] = components.filter(_.negate(_.isNil)).map(({ id }) => {
114
- return {
115
- id,
116
- __pivot: {
117
- field: attributeName,
118
- component_type: componentUID
119
- }
120
- };
121
- });
122
- } else {
123
- const component = await updateOrCreateComponent(componentUID, componentValue);
124
- componentBody[attributeName] = component && {
125
- id: component.id,
126
- __pivot: {
127
- field: attributeName,
128
- component_type: componentUID
129
- }
130
- };
131
- }
132
- continue;
133
- }
134
- if (attribute.type === "dynamiczone") {
135
- const dynamiczoneValues = data[attributeName];
136
- await deleteOldDZComponents(uid, entityToUpdate, attributeName, dynamiczoneValues);
137
- if (!Array.isArray(dynamiczoneValues)) {
138
- throw new Error("Expected an array to create repeatable component");
139
- }
140
- componentBody[attributeName] = await mapAsync(
141
- dynamiczoneValues,
142
- async (value) => {
143
- const { id } = await updateOrCreateComponent(value.__component, value);
144
- return {
145
- id,
146
- __component: value.__component,
147
- __pivot: {
148
- field: attributeName
149
- }
150
- };
151
- },
152
- { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }
153
- );
154
- continue;
155
- }
156
- }
157
- return componentBody;
158
- };
159
- const pickStringifiedId = ({
160
- id
161
- }) => {
162
- if (typeof id === "string") {
163
- return id;
164
- }
165
- return `${id}`;
166
- };
167
- const deleteOldComponents = async (uid, componentUID, entityToUpdate, attributeName, componentValue) => {
168
- const previousValue = await strapi.query(uid).load(entityToUpdate, attributeName);
169
- const idsToKeep = _.castArray(componentValue).filter(has("id")).map(pickStringifiedId);
170
- const allIds = _.castArray(previousValue).filter(has("id")).map(pickStringifiedId);
171
- idsToKeep.forEach((id) => {
172
- if (!allIds.includes(id)) {
173
- throw new errors.ApplicationError(
174
- `Some of the provided components in ${attributeName} are not related to the entity`
175
- );
176
- }
177
- });
178
- const idsToDelete = _.difference(allIds, idsToKeep);
179
- if (idsToDelete.length > 0) {
180
- for (const idToDelete of idsToDelete) {
181
- await deleteComponent(componentUID, { id: idToDelete });
182
- }
183
- }
184
- };
185
- const deleteOldDZComponents = async (uid, entityToUpdate, attributeName, dynamiczoneValues) => {
186
- const previousValue = await strapi.query(uid).load(entityToUpdate, attributeName);
187
- const idsToKeep = _.castArray(dynamiczoneValues).filter(has("id")).map((v) => ({
188
- id: pickStringifiedId(v),
189
- __component: v.__component
190
- }));
191
- const allIds = _.castArray(previousValue).filter(has("id")).map((v) => ({
192
- id: pickStringifiedId(v),
193
- __component: v.__component
194
- }));
195
- idsToKeep.forEach(({ id, __component }) => {
196
- if (!allIds.find((el) => el.id === id && el.__component === __component)) {
197
- const err = new Error(
198
- `Some of the provided components in ${attributeName} are not related to the entity`
199
- );
200
- Object.assign(err, { status: 400 });
201
- throw err;
202
- }
203
- });
204
- const idsToDelete = allIds.reduce((acc, { id, __component }) => {
205
- if (!idsToKeep.find((el) => el.id === id && el.__component === __component)) {
206
- acc.push({ id, __component });
207
- }
208
- return acc;
209
- }, []);
210
- if (idsToDelete.length > 0) {
211
- for (const idToDelete of idsToDelete) {
212
- const { id, __component } = idToDelete;
213
- await deleteComponent(__component, { id });
214
- }
215
- }
216
- };
217
- const deleteComponents = async (uid, entityToDelete, { loadComponents = true } = {}) => {
218
- const { attributes = {} } = strapi.getModel(uid);
219
- const attributeNames = Object.keys(attributes);
220
- for (const attributeName of attributeNames) {
221
- const attribute = attributes[attributeName];
222
- if (attribute.type === "component" || attribute.type === "dynamiczone") {
223
- let value;
224
- if (loadComponents) {
225
- value = await strapi.query(uid).load(entityToDelete, attributeName);
226
- } else {
227
- value = entityToDelete[attributeName];
228
- }
229
- if (!value) {
230
- continue;
231
- }
232
- if (attribute.type === "component") {
233
- const { component: componentUID } = attribute;
234
- await mapAsync(
235
- _.castArray(value),
236
- (subValue) => deleteComponent(componentUID, subValue),
237
- {
238
- concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity
239
- }
240
- );
241
- } else {
242
- await mapAsync(
243
- _.castArray(value),
244
- (subValue) => deleteComponent(subValue.__component, subValue),
245
- { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }
246
- );
247
- }
248
- continue;
249
- }
250
- }
251
- };
252
- 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 (!has(attributeName, data) && !has(attributeName, componentData)) {
259
- continue;
260
- }
261
- if (attribute.type === "component") {
262
- const { component: componentUID, repeatable = false } = attribute;
263
- const componentValue = attributeName in data ? data[attributeName] : componentData[attributeName];
264
- if (componentValue === null) {
265
- continue;
266
- }
267
- if (repeatable === true) {
268
- if (!Array.isArray(componentValue)) {
269
- throw new Error("Expected an array to create repeatable component");
270
- }
271
- const components = await mapAsync(
272
- componentValue,
273
- (value) => cloneComponent(componentUID, value),
274
- { concurrency: isDialectMySQL() ? 1 : Infinity }
275
- );
276
- componentBody[attributeName] = components.filter(_.negate(_.isNil)).map(({ id }) => {
277
- return {
278
- id,
279
- __pivot: {
280
- field: attributeName,
281
- component_type: componentUID
282
- }
283
- };
284
- });
285
- } else {
286
- const component = await cloneComponent(componentUID, componentValue);
287
- componentBody[attributeName] = component && {
288
- id: component.id,
289
- __pivot: {
290
- field: attributeName,
291
- component_type: componentUID
292
- }
293
- };
294
- }
295
- continue;
296
- }
297
- if (attribute.type === "dynamiczone") {
298
- const dynamiczoneValues = has(attributeName, data) ? data[attributeName] : componentData[attributeName];
299
- if (!Array.isArray(dynamiczoneValues)) {
300
- throw new Error("Expected an array to create repeatable component");
301
- }
302
- componentBody[attributeName] = await mapAsync(
303
- dynamiczoneValues,
304
- async (value) => {
305
- const { id } = await cloneComponent(value.__component, value);
306
- return {
307
- id,
308
- __component: value.__component,
309
- __pivot: {
310
- field: attributeName
311
- }
312
- };
313
- },
314
- { concurrency: isDialectMySQL() ? 1 : Infinity }
315
- );
316
- continue;
317
- }
318
- }
319
- return componentBody;
320
- };
321
- const createComponent = async (uid, data) => {
322
- const model = strapi.getModel(uid);
323
- const componentData = await createComponents(uid, data);
324
- const transform = pipe(
325
- // Make sure we don't save the component with a pre-defined ID
326
- omit("id"),
327
- // Remove the component data from the original data object ...
328
- (payload) => omitComponentData(model, payload),
329
- // ... and assign the newly created component instead
330
- assign(componentData)
331
- );
332
- return strapi.query(uid).create({ data: transform(data) });
333
- };
334
- const updateComponent = async (uid, componentToUpdate, data) => {
335
- const model = strapi.getModel(uid);
336
- const componentData = await updateComponents(uid, componentToUpdate, data);
337
- return strapi.query(uid).update({
338
- where: {
339
- id: componentToUpdate.id
340
- },
341
- data: Object.assign(omitComponentData(model, data), componentData)
342
- });
343
- };
344
- const updateOrCreateComponent = (componentUID, value) => {
345
- if (value === null) {
346
- return null;
347
- }
348
- if ("id" in value && typeof value.id !== "undefined") {
349
- return updateComponent(componentUID, { id: value.id }, value);
350
- }
351
- return createComponent(componentUID, value);
352
- };
353
- const deleteComponent = async (uid, componentToDelete) => {
354
- await deleteComponents(uid, componentToDelete);
355
- await strapi.query(uid).delete({ where: { id: componentToDelete.id } });
356
- };
357
- const cloneComponent = async (uid, data) => {
358
- const model = strapi.getModel(uid);
359
- if (!("id" in data) || typeof data.id === "undefined") {
360
- return createComponent(uid, data);
361
- }
362
- const componentData = await cloneComponents(uid, { id: data.id }, data);
363
- const transform = pipe(
364
- // Make sure we don't save the component with a pre-defined ID
365
- omit("id"),
366
- // Remove the component data from the original data object ...
367
- (payload) => omitComponentData(model, payload),
368
- // ... and assign the newly created component instead
369
- assign(componentData)
370
- );
371
- return strapi.query(uid).clone(data.id, { data: transform(data) });
372
- };
373
- export {
374
- cloneComponents,
375
- createComponents,
376
- deleteComponent,
377
- deleteComponents,
378
- getComponents,
379
- omitComponentData,
380
- updateComponents
381
- };
382
- //# sourceMappingURL=components.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.mjs","sources":["../../../src/services/entity-service/components.ts"],"sourcesContent":["import _ from 'lodash';\nimport { has, omit, pipe, assign } from 'lodash/fp';\nimport type { Attribute, Common, Schema, Utils, EntityService } from '@strapi/types';\nimport { contentTypes as contentTypesUtils, mapAsync, errors } from '@strapi/utils';\n\ntype LoadedComponents<TUID extends Common.UID.Schema> = Attribute.GetValues<\n TUID,\n Attribute.GetKeysByType<TUID, 'component' | 'dynamiczone'>\n>;\n\ntype ComponentValue = Attribute.GetValue<\n Attribute.Component<Common.UID.Component, false> | Attribute.Component<Common.UID.Component, true>\n>;\n\ntype ComponentBody = {\n [key: string]: Attribute.GetValue<\n | Attribute.Component<Common.UID.Component, false>\n | Attribute.Component<Common.UID.Component, true>\n | Attribute.DynamicZone\n >;\n};\n\nconst isDialectMySQL = () => strapi.db?.dialect.client === 'mysql';\n\nfunction omitComponentData(\n contentType: Schema.ContentType,\n data: EntityService.Params.Data.Input<Schema.ContentType['uid']>\n): Partial<EntityService.Params.Data.Input<Schema.ContentType['uid']>>;\nfunction omitComponentData(\n contentType: Schema.Component,\n data: EntityService.Params.Data.Input<Schema.Component['uid']>\n): Partial<EntityService.Params.Data.Input<Schema.Component['uid']>>;\nfunction omitComponentData(\n contentType: Schema.ContentType | Schema.Component,\n data: EntityService.Params.Data.Input<Schema.ContentType['uid'] | Schema.Component['uid']>\n): Partial<EntityService.Params.Data.Input<Schema.ContentType['uid'] | Schema.Component['uid']>> {\n const { attributes } = contentType;\n const componentAttributes = Object.keys(attributes).filter((attributeName) =>\n contentTypesUtils.isComponentAttribute(attributes[attributeName])\n );\n\n return omit(componentAttributes, data);\n}\n\n// NOTE: we could generalize the logic to allow CRUD of relation directly in the DB layer\nconst createComponents = async <\n TUID extends Common.UID.Schema,\n TData extends EntityService.Params.Data.Input<TUID>\n>(\n uid: TUID,\n data: TData\n) => {\n const { attributes = {} } = strapi.getModel(uid);\n\n const componentBody: ComponentBody = {};\n\n const attributeNames = Object.keys(attributes);\n\n for (const attributeName of attributeNames) {\n const attribute = attributes[attributeName];\n\n if (!has(attributeName, data) || !contentTypesUtils.isComponentAttribute(attribute)) {\n continue;\n }\n\n if (attribute.type === 'component') {\n const { component: componentUID, repeatable = false } = attribute;\n\n const componentValue = data[attributeName as keyof TData];\n\n if (componentValue === null) {\n continue;\n }\n\n if (repeatable === true) {\n if (!Array.isArray(componentValue)) {\n throw new Error('Expected an array to create repeatable component');\n }\n\n // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1\n const components = (await mapAsync(\n componentValue,\n (value: any) => createComponent(componentUID, value),\n { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }\n )) as Attribute.GetValue<Attribute.Component<Common.UID.Component, true>>;\n\n componentBody[attributeName] = components.map(({ id }) => {\n return {\n id,\n __pivot: {\n field: attributeName,\n component_type: componentUID,\n },\n };\n });\n } else {\n const component = await createComponent(\n componentUID,\n componentValue as EntityService.Params.Data.Input<Common.UID.Component>\n );\n componentBody[attributeName] = {\n id: component.id,\n __pivot: {\n field: attributeName,\n component_type: componentUID,\n },\n };\n }\n\n continue;\n }\n\n if (attribute.type === 'dynamiczone') {\n const dynamiczoneValues = data[\n attributeName as keyof TData\n ] as EntityService.Params.Attribute.GetValue<Attribute.DynamicZone>;\n\n if (!Array.isArray(dynamiczoneValues)) {\n throw new Error('Expected an array to create repeatable component');\n }\n\n const createDynamicZoneComponents = async (\n value: Utils.Array.Values<typeof dynamiczoneValues>\n ) => {\n const { id } = await createComponent(value.__component, value);\n return {\n id,\n __component: value.__component,\n __pivot: {\n field: attributeName,\n },\n };\n };\n\n // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1\n componentBody[attributeName] = await mapAsync(\n dynamiczoneValues,\n createDynamicZoneComponents,\n { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }\n );\n\n continue;\n }\n }\n\n return componentBody;\n};\n\nconst getComponents = async <TUID extends Common.UID.Schema>(\n uid: TUID,\n entity: { id: EntityService.Params.Attribute.ID }\n): Promise<LoadedComponents<TUID>> => {\n const componentAttributes = contentTypesUtils.getComponentAttributes(strapi.getModel(uid));\n\n if (_.isEmpty(componentAttributes)) {\n return {} as LoadedComponents<TUID>;\n }\n\n return strapi.query(uid).load(entity, componentAttributes) as Promise<LoadedComponents<TUID>>;\n};\n\n/*\n delete old components\n create or update\n*/\nconst updateComponents = async <\n TUID extends Common.UID.Schema,\n TData extends Partial<EntityService.Params.Data.Input<TUID>>\n>(\n uid: TUID,\n entityToUpdate: { id: EntityService.Params.Attribute.ID },\n data: TData\n) => {\n const { attributes = {} } = strapi.getModel(uid);\n\n const componentBody: ComponentBody = {};\n\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n\n if (!has(attributeName, data)) {\n continue;\n }\n\n if (attribute.type === 'component') {\n const { component: componentUID, repeatable = false } = attribute;\n\n const componentValue = data[\n attributeName as keyof TData\n ] as Attribute.GetValue<Attribute.Component>;\n\n await deleteOldComponents(uid, componentUID, entityToUpdate, attributeName, componentValue);\n\n if (repeatable === true) {\n if (!Array.isArray(componentValue)) {\n throw new Error('Expected an array to create repeatable component');\n }\n\n // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1\n const components = (await mapAsync(\n componentValue,\n (value: any) => updateOrCreateComponent(componentUID, value),\n { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }\n )) as Attribute.GetValue<Attribute.Component<Common.UID.Component, true>>;\n\n componentBody[attributeName] = components.filter(_.negate(_.isNil)).map(({ id }) => {\n return {\n id,\n __pivot: {\n field: attributeName,\n component_type: componentUID,\n },\n };\n });\n } else {\n const component = await updateOrCreateComponent(componentUID, componentValue);\n componentBody[attributeName] = component && {\n id: component.id,\n __pivot: {\n field: attributeName,\n component_type: componentUID,\n },\n };\n }\n\n continue;\n }\n\n if (attribute.type === 'dynamiczone') {\n const dynamiczoneValues = data[\n attributeName as keyof TData\n ] as Attribute.GetValue<Attribute.DynamicZone>;\n\n await deleteOldDZComponents(uid, entityToUpdate, attributeName, dynamiczoneValues);\n\n if (!Array.isArray(dynamiczoneValues)) {\n throw new Error('Expected an array to create repeatable component');\n }\n\n // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1\n componentBody[attributeName] = await mapAsync(\n dynamiczoneValues,\n async (value: any) => {\n const { id } = await updateOrCreateComponent(value.__component, value);\n\n return {\n id,\n __component: value.__component,\n __pivot: {\n field: attributeName,\n },\n };\n },\n { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }\n );\n\n continue;\n }\n }\n\n return componentBody;\n};\n\nconst pickStringifiedId = ({\n id,\n}: {\n id: EntityService.Params.Attribute.ID;\n}): EntityService.Params.Attribute.ID & string => {\n if (typeof id === 'string') {\n return id;\n }\n\n return `${id}`;\n};\n\nconst deleteOldComponents = async <TUID extends Common.UID.Schema>(\n uid: TUID,\n componentUID: Common.UID.Component,\n entityToUpdate: { id: EntityService.Params.Attribute.ID },\n attributeName: string,\n componentValue: Attribute.GetValue<Attribute.Component>\n) => {\n const previousValue = (await strapi\n .query(uid)\n .load(entityToUpdate, attributeName)) as ComponentValue;\n\n const idsToKeep = _.castArray(componentValue).filter(has('id')).map(pickStringifiedId);\n const allIds = _.castArray(previousValue).filter(has('id')).map(pickStringifiedId);\n\n idsToKeep.forEach((id) => {\n if (!allIds.includes(id)) {\n throw new errors.ApplicationError(\n `Some of the provided components in ${attributeName} are not related to the entity`\n );\n }\n });\n\n const idsToDelete = _.difference(allIds, idsToKeep);\n\n if (idsToDelete.length > 0) {\n for (const idToDelete of idsToDelete) {\n await deleteComponent(componentUID, { id: idToDelete });\n }\n }\n};\n\nconst deleteOldDZComponents = async <TUID extends Common.UID.Schema>(\n uid: TUID,\n entityToUpdate: { id: EntityService.Params.Attribute.ID },\n attributeName: string,\n dynamiczoneValues: Attribute.GetValue<Attribute.DynamicZone>\n) => {\n const previousValue = (await strapi\n .query(uid)\n .load(entityToUpdate, attributeName)) as Attribute.GetValue<Attribute.DynamicZone>;\n\n const idsToKeep = _.castArray(dynamiczoneValues)\n .filter(has('id'))\n .map((v) => ({\n id: pickStringifiedId(v),\n __component: v.__component,\n }));\n\n const allIds = _.castArray(previousValue)\n .filter(has('id'))\n .map((v) => ({\n id: pickStringifiedId(v),\n __component: v.__component,\n }));\n\n idsToKeep.forEach(({ id, __component }) => {\n if (!allIds.find((el) => el.id === id && el.__component === __component)) {\n const err = new Error(\n `Some of the provided components in ${attributeName} are not related to the entity`\n );\n\n Object.assign(err, { status: 400 });\n throw err;\n }\n });\n\n type IdsToDelete = Attribute.GetValue<Attribute.DynamicZone>;\n\n const idsToDelete = allIds.reduce((acc, { id, __component }) => {\n if (!idsToKeep.find((el) => el.id === id && el.__component === __component)) {\n acc.push({ id, __component });\n }\n\n return acc;\n }, [] as IdsToDelete);\n\n if (idsToDelete.length > 0) {\n for (const idToDelete of idsToDelete) {\n const { id, __component } = idToDelete;\n await deleteComponent(__component, { id });\n }\n }\n};\n\nconst deleteComponents = async <\n TUID extends Common.UID.Schema,\n TEntity extends Attribute.GetValues<TUID>\n>(\n uid: TUID,\n entityToDelete: TEntity,\n { loadComponents = true } = {}\n) => {\n const { attributes = {} } = strapi.getModel(uid);\n\n const attributeNames = Object.keys(attributes);\n\n for (const attributeName of attributeNames) {\n const attribute = attributes[attributeName];\n\n if (attribute.type === 'component' || attribute.type === 'dynamiczone') {\n let value;\n if (loadComponents) {\n value = await strapi.query(uid).load(entityToDelete, attributeName);\n } else {\n value = entityToDelete[attributeName as keyof TEntity];\n }\n\n if (!value) {\n continue;\n }\n\n if (attribute.type === 'component') {\n const { component: componentUID } = attribute;\n // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1\n await mapAsync(\n _.castArray(value),\n (subValue: any) => deleteComponent(componentUID, subValue),\n {\n concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity,\n }\n );\n } else {\n // delete dynamic zone components\n // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1\n await mapAsync(\n _.castArray(value),\n (subValue: any) => deleteComponent(subValue.__component, subValue),\n { concurrency: isDialectMySQL() && !strapi.db?.inTransaction() ? 1 : Infinity }\n );\n }\n\n continue;\n }\n }\n};\n\nconst cloneComponents = async <TUID extends Common.UID.Schema>(\n uid: TUID,\n entityToClone: { id: EntityService.Params.Attribute.ID },\n data: EntityService.Params.Data.Input<TUID>\n) => {\n const { attributes = {} } = strapi.getModel(uid);\n\n const componentBody: ComponentBody = {};\n const componentData = await getComponents(uid, entityToClone);\n\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n\n // If the attribute is not set or on the component to clone, skip it\n if (!has(attributeName, data) && !has(attributeName, componentData)) {\n continue;\n }\n\n if (attribute.type === 'component') {\n const { component: componentUID, repeatable = false } = attribute;\n\n const componentValue = (\n attributeName in data\n ? data[attributeName as keyof typeof data]\n : componentData[attributeName as keyof typeof componentData]\n ) as ComponentValue;\n\n if (componentValue === null) {\n continue;\n }\n\n if (repeatable === true) {\n if (!Array.isArray(componentValue)) {\n throw new Error('Expected an array to create repeatable component');\n }\n\n // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1\n const components = (await mapAsync(\n componentValue,\n (value: any) => cloneComponent(componentUID, value),\n { concurrency: isDialectMySQL() ? 1 : Infinity }\n )) as Attribute.GetValue<Attribute.Component<Common.UID.Component, true>>;\n\n componentBody[attributeName] = components.filter(_.negate(_.isNil)).map(({ id }) => {\n return {\n id,\n __pivot: {\n field: attributeName,\n component_type: componentUID,\n },\n };\n });\n } else {\n const component = await cloneComponent(componentUID, componentValue);\n componentBody[attributeName] = component && {\n id: component.id,\n __pivot: {\n field: attributeName,\n component_type: componentUID,\n },\n };\n }\n\n continue;\n }\n\n if (attribute.type === 'dynamiczone') {\n const dynamiczoneValues = has(attributeName, data)\n ? data[attributeName as keyof typeof data]\n : componentData[attributeName as keyof typeof componentData];\n\n if (!Array.isArray(dynamiczoneValues)) {\n throw new Error('Expected an array to create repeatable component');\n }\n // MySQL/MariaDB can cause deadlocks here if concurrency higher than 1\n componentBody[attributeName] = await mapAsync(\n dynamiczoneValues,\n async (value: any) => {\n const { id } = await cloneComponent(value.__component, value);\n return {\n id,\n __component: value.__component,\n __pivot: {\n field: attributeName,\n },\n };\n },\n { concurrency: isDialectMySQL() ? 1 : Infinity }\n );\n continue;\n }\n }\n\n return componentBody;\n};\n/** *************************\n Component queries\n************************** */\n\n// components can have nested compos so this must be recursive\nconst createComponent = async <TUID extends Common.UID.Component>(\n uid: TUID,\n data: EntityService.Params.Data.Input<TUID>\n) => {\n const model = strapi.getModel(uid);\n\n const componentData = await createComponents(uid, data);\n const transform = pipe(\n // Make sure we don't save the component with a pre-defined ID\n omit('id'),\n // Remove the component data from the original data object ...\n (payload) => omitComponentData(model, payload),\n // ... and assign the newly created component instead\n assign(componentData)\n );\n\n return strapi.query(uid).create({ data: transform(data) });\n};\n\n// components can have nested compos so this must be recursive\nconst updateComponent = async <TUID extends Common.UID.Component>(\n uid: TUID,\n componentToUpdate: { id: EntityService.Params.Attribute.ID },\n data: EntityService.Params.Data.Input<TUID>\n) => {\n const model = strapi.getModel(uid);\n\n const componentData = await updateComponents(uid, componentToUpdate, data);\n\n return strapi.query(uid).update({\n where: {\n id: componentToUpdate.id,\n },\n data: Object.assign(omitComponentData(model, data), componentData),\n });\n};\n\nconst updateOrCreateComponent = <TUID extends Common.UID.Component>(\n componentUID: TUID,\n value: EntityService.Params.Data.Input<TUID>\n) => {\n if (value === null) {\n return null;\n }\n\n // update\n if ('id' in value && typeof value.id !== 'undefined') {\n // TODO: verify the compo is associated with the entity\n return updateComponent(componentUID, { id: value.id }, value);\n }\n\n // create\n return createComponent(componentUID, value);\n};\n\nconst deleteComponent = async <TUID extends Common.UID.Component>(\n uid: TUID,\n componentToDelete: Attribute.GetValues<TUID>\n) => {\n await deleteComponents(uid, componentToDelete);\n await strapi.query(uid).delete({ where: { id: componentToDelete.id } });\n};\n\nconst cloneComponent = async <TUID extends Common.UID.Component>(\n uid: TUID,\n data: EntityService.Params.Data.Input<TUID>\n) => {\n const model = strapi.getModel(uid);\n\n if (!('id' in data) || typeof data.id === 'undefined') {\n return createComponent(uid, data);\n }\n\n const componentData = await cloneComponents(uid, { id: data.id }, data);\n const transform = pipe(\n // Make sure we don't save the component with a pre-defined ID\n omit('id'),\n // Remove the component data from the original data object ...\n (payload) => omitComponentData(model, payload),\n // ... and assign the newly created component instead\n assign(componentData)\n );\n\n return strapi.query(uid).clone(data.id, { data: transform(data) });\n};\n\nexport {\n omitComponentData,\n getComponents,\n createComponents,\n updateComponents,\n deleteComponents,\n deleteComponent,\n cloneComponents,\n};\n"],"names":["contentTypesUtils"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { Common, EntityService } from '@strapi/types';
2
- declare const pickSelectionParams: <TUID extends Common.UID.ContentType>(data: unknown) => {
3
- fields?: EntityService.Params.Fields.Any<TUID> | undefined;
4
- } & {
5
- populate?: EntityService.Params.Populate.Any<TUID> | undefined;
6
- };
7
- export { pickSelectionParams };
8
- //# sourceMappingURL=params.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../src/services/entity-service/params.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE3D,QAAA,MAAM,mBAAmB,8CACjB,OAAO;;;;CAGd,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
4
- const pickSelectionParams = (data) => {
5
- return _.pick(["fields", "populate"], data);
6
- };
7
- exports.pickSelectionParams = pickSelectionParams;
8
- //# sourceMappingURL=params.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"params.js","sources":["../../../src/services/entity-service/params.ts"],"sourcesContent":["import { pick } from 'lodash/fp';\nimport type { Common, EntityService } from '@strapi/types';\n\nconst pickSelectionParams = <TUID extends Common.UID.ContentType>(\n data: unknown\n): EntityService.Params.Pick<TUID, 'fields' | 'populate'> => {\n return pick(['fields', 'populate'], data);\n};\n\nexport { pickSelectionParams };\n"],"names":["pick"],"mappings":";;;AAGM,MAAA,sBAAsB,CAC1B,SAC2D;AAC3D,SAAOA,EAAK,KAAA,CAAC,UAAU,UAAU,GAAG,IAAI;AAC1C;;"}
@@ -1,8 +0,0 @@
1
- import { pick } from "lodash/fp";
2
- const pickSelectionParams = (data) => {
3
- return pick(["fields", "populate"], data);
4
- };
5
- export {
6
- pickSelectionParams
7
- };
8
- //# sourceMappingURL=params.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"params.mjs","sources":["../../../src/services/entity-service/params.ts"],"sourcesContent":["import { pick } from 'lodash/fp';\nimport type { Common, EntityService } from '@strapi/types';\n\nconst pickSelectionParams = <TUID extends Common.UID.ContentType>(\n data: unknown\n): EntityService.Params.Pick<TUID, 'fields' | 'populate'> => {\n return pick(['fields', 'populate'], data);\n};\n\nexport { pickSelectionParams };\n"],"names":[],"mappings":";AAGM,MAAA,sBAAsB,CAC1B,SAC2D;AAC3D,SAAO,KAAK,CAAC,UAAU,UAAU,GAAG,IAAI;AAC1C;"}
@@ -1,8 +0,0 @@
1
- import type { Common } from '@strapi/types';
2
- export type UploadFile = (uid: Common.UID.Schema, entity: Record<string, unknown>, files: Record<string, unknown>) => Promise<void>;
3
- /**
4
- * Upload files and link them to an entity
5
- */
6
- declare const uploadFile: UploadFile;
7
- export default uploadFile;
8
- //# sourceMappingURL=upload-files.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-files.d.ts","sourceRoot":"","sources":["../../../src/services/utils/upload-files.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,MAAM,EAAU,MAAM,eAAe,CAAC;AAE/D,MAAM,MAAM,UAAU,GAAG,CACvB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;GAEG;AACH,QAAA,MAAM,UAAU,EAAE,UA0EjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- const _ = require("lodash");
3
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
4
- const ___default = /* @__PURE__ */ _interopDefault(_);
5
- const uploadFile = async (uid, entity, files) => {
6
- const modelDef = strapi.getModel(uid);
7
- if (!___default.default.has(strapi.plugins, "upload")) {
8
- return;
9
- }
10
- const uploadService = strapi.plugin("upload").service("upload");
11
- const findModelFromUploadPath = (path) => {
12
- if (path.length === 0) {
13
- return uid;
14
- }
15
- const currentPath = [];
16
- let tmpModel = modelDef;
17
- let modelUID = uid;
18
- for (let i = 0; i < path.length; i += 1) {
19
- if (!tmpModel) {
20
- return {};
21
- }
22
- const part = path[i];
23
- const attr = tmpModel.attributes[part];
24
- currentPath.push(part);
25
- if (___default.default.isFinite(___default.default.toNumber(path[i]))) {
26
- continue;
27
- }
28
- if (!attr)
29
- return {};
30
- if (attr.type === "component") {
31
- modelUID = attr.component;
32
- tmpModel = strapi.components[attr.component];
33
- } else if (attr.type === "dynamiczone") {
34
- const entryIdx = path[i + 1];
35
- const value = ___default.default.get(entity, [...currentPath, entryIdx]);
36
- if (!value)
37
- return {};
38
- modelUID = value.__component;
39
- tmpModel = strapi.components[modelUID];
40
- } else if (attr.type === "relation") {
41
- if (!("target" in attr)) {
42
- return {};
43
- }
44
- modelUID = attr.target;
45
- tmpModel = strapi.getModel(modelUID);
46
- } else {
47
- return;
48
- }
49
- }
50
- return modelUID;
51
- };
52
- const doUpload = async (key, files2) => {
53
- const parts = key.split(".");
54
- const [path, field] = [___default.default.initial(parts), ___default.default.last(parts)];
55
- const modelUID = findModelFromUploadPath(path);
56
- if (modelUID) {
57
- const id = ___default.default.get(entity, path.concat("id"));
58
- return uploadService.uploadToEntity({ id, model: modelUID, field }, files2);
59
- }
60
- };
61
- await Promise.all(Object.keys(files).map((key) => doUpload(key, files[key])));
62
- };
63
- module.exports = uploadFile;
64
- //# sourceMappingURL=upload-files.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-files.js","sources":["../../../src/services/utils/upload-files.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Attribute, Common, Schema } from '@strapi/types';\n\nexport type UploadFile = (\n uid: Common.UID.Schema,\n entity: Record<string, unknown>,\n files: Record<string, unknown>\n) => Promise<void>;\n\n/**\n * Upload files and link them to an entity\n */\nconst uploadFile: UploadFile = async (uid, entity, files) => {\n const modelDef = strapi.getModel(uid);\n\n if (!_.has(strapi.plugins, 'upload')) {\n return;\n }\n\n const uploadService = strapi.plugin('upload').service('upload');\n\n const findModelFromUploadPath = (path: string[]) => {\n if (path.length === 0) {\n return uid;\n }\n\n const currentPath = [];\n let tmpModel: Schema.ContentType | Schema.Component = modelDef;\n let modelUID = uid;\n\n for (let i = 0; i < path.length; i += 1) {\n if (!tmpModel) {\n return {};\n }\n\n const part = path[i];\n const attr: Attribute.Any = tmpModel.attributes[part];\n\n currentPath.push(part);\n\n // ignore array indexes => handled in the dynamic zone section\n if (_.isFinite(_.toNumber(path[i]))) {\n continue;\n }\n\n if (!attr) return {};\n\n if (attr.type === 'component') {\n modelUID = attr.component;\n tmpModel = strapi.components[attr.component];\n } else if (attr.type === 'dynamiczone') {\n const entryIdx = path[i + 1]; // get component index\n const value = _.get(entity, [...currentPath, entryIdx]);\n\n if (!value) return {};\n\n modelUID = value.__component; // get component type\n tmpModel = strapi.components[modelUID as Common.UID.Component];\n } else if (attr.type === 'relation') {\n if (!('target' in attr)) {\n return {};\n }\n\n modelUID = attr.target;\n tmpModel = strapi.getModel(modelUID);\n } else {\n return;\n }\n }\n\n return modelUID;\n };\n\n const doUpload = async (key: string, files: unknown) => {\n const parts = key.split('.');\n const [path, field] = [_.initial(parts), _.last(parts)];\n\n const modelUID = findModelFromUploadPath(path);\n\n if (modelUID) {\n const id = _.get(entity, path.concat('id'));\n return uploadService.uploadToEntity({ id, model: modelUID, field }, files);\n }\n };\n\n await Promise.all(Object.keys(files).map((key) => doUpload(key, files[key])));\n};\n\nexport default uploadFile;\n"],"names":["_","files"],"mappings":";;;;AAYA,MAAM,aAAyB,OAAO,KAAK,QAAQ,UAAU;AACrD,QAAA,WAAW,OAAO,SAAS,GAAG;AAEpC,MAAI,CAACA,WAAE,QAAA,IAAI,OAAO,SAAS,QAAQ,GAAG;AACpC;AAAA,EACF;AAEA,QAAM,gBAAgB,OAAO,OAAO,QAAQ,EAAE,QAAQ,QAAQ;AAExD,QAAA,0BAA0B,CAAC,SAAmB;AAC9C,QAAA,KAAK,WAAW,GAAG;AACd,aAAA;AAAA,IACT;AAEA,UAAM,cAAc,CAAA;AACpB,QAAI,WAAkD;AACtD,QAAI,WAAW;AAEf,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACvC,UAAI,CAAC,UAAU;AACb,eAAO;MACT;AAEM,YAAA,OAAO,KAAK,CAAC;AACb,YAAA,OAAsB,SAAS,WAAW,IAAI;AAEpD,kBAAY,KAAK,IAAI;AAGjB,UAAAA,WAAAA,QAAE,SAASA,WAAE,QAAA,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG;AACnC;AAAA,MACF;AAEA,UAAI,CAAC;AAAM,eAAO;AAEd,UAAA,KAAK,SAAS,aAAa;AAC7B,mBAAW,KAAK;AACL,mBAAA,OAAO,WAAW,KAAK,SAAS;AAAA,MAAA,WAClC,KAAK,SAAS,eAAe;AAChC,cAAA,WAAW,KAAK,IAAI,CAAC;AACrB,cAAA,QAAQA,mBAAE,IAAI,QAAQ,CAAC,GAAG,aAAa,QAAQ,CAAC;AAEtD,YAAI,CAAC;AAAO,iBAAO;AAEnB,mBAAW,MAAM;AACN,mBAAA,OAAO,WAAW,QAAgC;AAAA,MAAA,WACpD,KAAK,SAAS,YAAY;AAC/B,YAAA,EAAE,YAAY,OAAO;AACvB,iBAAO;QACT;AAEA,mBAAW,KAAK;AACL,mBAAA,OAAO,SAAS,QAAQ;AAAA,MAAA,OAC9B;AACL;AAAA,MACF;AAAA,IACF;AAEO,WAAA;AAAA,EAAA;AAGH,QAAA,WAAW,OAAO,KAAaC,WAAmB;AAChD,UAAA,QAAQ,IAAI,MAAM,GAAG;AAC3B,UAAM,CAAC,MAAM,KAAK,IAAI,CAACD,WAAAA,QAAE,QAAQ,KAAK,GAAGA,WAAA,QAAE,KAAK,KAAK,CAAC;AAEhD,UAAA,WAAW,wBAAwB,IAAI;AAE7C,QAAI,UAAU;AACZ,YAAM,KAAKA,WAAE,QAAA,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC;AACnC,aAAA,cAAc,eAAe,EAAE,IAAI,OAAO,UAAU,SAASC,MAAK;AAAA,IAC3E;AAAA,EAAA;AAGF,QAAM,QAAQ,IAAI,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,QAAQ,SAAS,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9E;;"}
@@ -1,63 +0,0 @@
1
- import _ from "lodash";
2
- const uploadFile = async (uid, entity, files) => {
3
- const modelDef = strapi.getModel(uid);
4
- if (!_.has(strapi.plugins, "upload")) {
5
- return;
6
- }
7
- const uploadService = strapi.plugin("upload").service("upload");
8
- const findModelFromUploadPath = (path) => {
9
- if (path.length === 0) {
10
- return uid;
11
- }
12
- const currentPath = [];
13
- let tmpModel = modelDef;
14
- let modelUID = uid;
15
- for (let i = 0; i < path.length; i += 1) {
16
- if (!tmpModel) {
17
- return {};
18
- }
19
- const part = path[i];
20
- const attr = tmpModel.attributes[part];
21
- currentPath.push(part);
22
- if (_.isFinite(_.toNumber(path[i]))) {
23
- continue;
24
- }
25
- if (!attr)
26
- return {};
27
- if (attr.type === "component") {
28
- modelUID = attr.component;
29
- tmpModel = strapi.components[attr.component];
30
- } else if (attr.type === "dynamiczone") {
31
- const entryIdx = path[i + 1];
32
- const value = _.get(entity, [...currentPath, entryIdx]);
33
- if (!value)
34
- return {};
35
- modelUID = value.__component;
36
- tmpModel = strapi.components[modelUID];
37
- } else if (attr.type === "relation") {
38
- if (!("target" in attr)) {
39
- return {};
40
- }
41
- modelUID = attr.target;
42
- tmpModel = strapi.getModel(modelUID);
43
- } else {
44
- return;
45
- }
46
- }
47
- return modelUID;
48
- };
49
- const doUpload = async (key, files2) => {
50
- const parts = key.split(".");
51
- const [path, field] = [_.initial(parts), _.last(parts)];
52
- const modelUID = findModelFromUploadPath(path);
53
- if (modelUID) {
54
- const id = _.get(entity, path.concat("id"));
55
- return uploadService.uploadToEntity({ id, model: modelUID, field }, files2);
56
- }
57
- };
58
- await Promise.all(Object.keys(files).map((key) => doUpload(key, files[key])));
59
- };
60
- export {
61
- uploadFile as default
62
- };
63
- //# sourceMappingURL=upload-files.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-files.mjs","sources":["../../../src/services/utils/upload-files.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Attribute, Common, Schema } from '@strapi/types';\n\nexport type UploadFile = (\n uid: Common.UID.Schema,\n entity: Record<string, unknown>,\n files: Record<string, unknown>\n) => Promise<void>;\n\n/**\n * Upload files and link them to an entity\n */\nconst uploadFile: UploadFile = async (uid, entity, files) => {\n const modelDef = strapi.getModel(uid);\n\n if (!_.has(strapi.plugins, 'upload')) {\n return;\n }\n\n const uploadService = strapi.plugin('upload').service('upload');\n\n const findModelFromUploadPath = (path: string[]) => {\n if (path.length === 0) {\n return uid;\n }\n\n const currentPath = [];\n let tmpModel: Schema.ContentType | Schema.Component = modelDef;\n let modelUID = uid;\n\n for (let i = 0; i < path.length; i += 1) {\n if (!tmpModel) {\n return {};\n }\n\n const part = path[i];\n const attr: Attribute.Any = tmpModel.attributes[part];\n\n currentPath.push(part);\n\n // ignore array indexes => handled in the dynamic zone section\n if (_.isFinite(_.toNumber(path[i]))) {\n continue;\n }\n\n if (!attr) return {};\n\n if (attr.type === 'component') {\n modelUID = attr.component;\n tmpModel = strapi.components[attr.component];\n } else if (attr.type === 'dynamiczone') {\n const entryIdx = path[i + 1]; // get component index\n const value = _.get(entity, [...currentPath, entryIdx]);\n\n if (!value) return {};\n\n modelUID = value.__component; // get component type\n tmpModel = strapi.components[modelUID as Common.UID.Component];\n } else if (attr.type === 'relation') {\n if (!('target' in attr)) {\n return {};\n }\n\n modelUID = attr.target;\n tmpModel = strapi.getModel(modelUID);\n } else {\n return;\n }\n }\n\n return modelUID;\n };\n\n const doUpload = async (key: string, files: unknown) => {\n const parts = key.split('.');\n const [path, field] = [_.initial(parts), _.last(parts)];\n\n const modelUID = findModelFromUploadPath(path);\n\n if (modelUID) {\n const id = _.get(entity, path.concat('id'));\n return uploadService.uploadToEntity({ id, model: modelUID, field }, files);\n }\n };\n\n await Promise.all(Object.keys(files).map((key) => doUpload(key, files[key])));\n};\n\nexport default uploadFile;\n"],"names":["files"],"mappings":";AAYA,MAAM,aAAyB,OAAO,KAAK,QAAQ,UAAU;AACrD,QAAA,WAAW,OAAO,SAAS,GAAG;AAEpC,MAAI,CAAC,EAAE,IAAI,OAAO,SAAS,QAAQ,GAAG;AACpC;AAAA,EACF;AAEA,QAAM,gBAAgB,OAAO,OAAO,QAAQ,EAAE,QAAQ,QAAQ;AAExD,QAAA,0BAA0B,CAAC,SAAmB;AAC9C,QAAA,KAAK,WAAW,GAAG;AACd,aAAA;AAAA,IACT;AAEA,UAAM,cAAc,CAAA;AACpB,QAAI,WAAkD;AACtD,QAAI,WAAW;AAEf,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACvC,UAAI,CAAC,UAAU;AACb,eAAO;MACT;AAEM,YAAA,OAAO,KAAK,CAAC;AACb,YAAA,OAAsB,SAAS,WAAW,IAAI;AAEpD,kBAAY,KAAK,IAAI;AAGjB,UAAA,EAAE,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG;AACnC;AAAA,MACF;AAEA,UAAI,CAAC;AAAM,eAAO;AAEd,UAAA,KAAK,SAAS,aAAa;AAC7B,mBAAW,KAAK;AACL,mBAAA,OAAO,WAAW,KAAK,SAAS;AAAA,MAAA,WAClC,KAAK,SAAS,eAAe;AAChC,cAAA,WAAW,KAAK,IAAI,CAAC;AACrB,cAAA,QAAQ,EAAE,IAAI,QAAQ,CAAC,GAAG,aAAa,QAAQ,CAAC;AAEtD,YAAI,CAAC;AAAO,iBAAO;AAEnB,mBAAW,MAAM;AACN,mBAAA,OAAO,WAAW,QAAgC;AAAA,MAAA,WACpD,KAAK,SAAS,YAAY;AAC/B,YAAA,EAAE,YAAY,OAAO;AACvB,iBAAO;QACT;AAEA,mBAAW,KAAK;AACL,mBAAA,OAAO,SAAS,QAAQ;AAAA,MAAA,OAC9B;AACL;AAAA,MACF;AAAA,IACF;AAEO,WAAA;AAAA,EAAA;AAGH,QAAA,WAAW,OAAO,KAAaA,WAAmB;AAChD,UAAA,QAAQ,IAAI,MAAM,GAAG;AAC3B,UAAM,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,QAAQ,KAAK,GAAG,EAAE,KAAK,KAAK,CAAC;AAEhD,UAAA,WAAW,wBAAwB,IAAI;AAE7C,QAAI,UAAU;AACZ,YAAM,KAAK,EAAE,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC;AACnC,aAAA,cAAc,eAAe,EAAE,IAAI,OAAO,UAAU,SAASA,MAAK;AAAA,IAC3E;AAAA,EAAA;AAGF,QAAM,QAAQ,IAAI,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,QAAQ,SAAS,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9E;"}
@@ -1,9 +0,0 @@
1
- import type { Strapi, StrapiDirectories } from '@strapi/types';
2
- export type Options = {
3
- app: string;
4
- dist: string;
5
- };
6
- export declare const getDirs: ({ app: appDir, dist: distDir }: Options, { strapi }: {
7
- strapi: Strapi;
8
- }) => StrapiDirectories;
9
- //# sourceMappingURL=get-dirs.d.ts.map