@strapi/core 0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011 → 0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4

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 (809) 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 +195 -214
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +165 -204
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/configuration/config-loader.d.ts.map +1 -1
  9. package/dist/configuration/config-loader.js +9 -5
  10. package/dist/configuration/config-loader.js.map +1 -1
  11. package/dist/configuration/config-loader.mjs +9 -5
  12. package/dist/configuration/config-loader.mjs.map +1 -1
  13. package/dist/configuration/get-dirs.d.ts +10 -0
  14. package/dist/configuration/get-dirs.d.ts.map +1 -0
  15. package/dist/{utils → configuration}/get-dirs.js +3 -2
  16. package/dist/configuration/get-dirs.js.map +1 -0
  17. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  18. package/dist/configuration/get-dirs.mjs.map +1 -0
  19. package/dist/configuration/index.d.ts +4 -7
  20. package/dist/configuration/index.d.ts.map +1 -1
  21. package/dist/configuration/index.js +8 -6
  22. package/dist/configuration/index.js.map +1 -1
  23. package/dist/configuration/index.mjs +5 -4
  24. package/dist/configuration/index.mjs.map +1 -1
  25. package/dist/container.d.ts +2 -2
  26. package/dist/container.d.ts.map +1 -1
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.mjs.map +1 -1
  29. package/dist/core-api/controller/collection-type.d.ts +3 -3
  30. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  31. package/dist/core-api/controller/collection-type.js +6 -3
  32. package/dist/core-api/controller/collection-type.js.map +1 -1
  33. package/dist/core-api/controller/collection-type.mjs +3 -0
  34. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  35. package/dist/core-api/controller/index.d.ts +3 -3
  36. package/dist/core-api/controller/index.d.ts.map +1 -1
  37. package/dist/core-api/controller/index.js +7 -7
  38. package/dist/core-api/controller/index.js.map +1 -1
  39. package/dist/core-api/controller/index.mjs +6 -6
  40. package/dist/core-api/controller/index.mjs.map +1 -1
  41. package/dist/core-api/controller/single-type.d.ts +3 -3
  42. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  43. package/dist/core-api/controller/single-type.js +3 -2
  44. package/dist/core-api/controller/single-type.js.map +1 -1
  45. package/dist/core-api/controller/single-type.mjs +1 -0
  46. package/dist/core-api/controller/single-type.mjs.map +1 -1
  47. package/dist/core-api/controller/transform.d.ts +2 -2
  48. package/dist/core-api/controller/transform.d.ts.map +1 -1
  49. package/dist/core-api/controller/transform.js +10 -13
  50. package/dist/core-api/controller/transform.js.map +1 -1
  51. package/dist/core-api/controller/transform.mjs +2 -5
  52. package/dist/core-api/controller/transform.mjs.map +1 -1
  53. package/dist/core-api/routes/index.d.ts.map +1 -1
  54. package/dist/core-api/service/collection-type.d.ts +11 -17
  55. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  56. package/dist/core-api/service/collection-type.js +18 -7
  57. package/dist/core-api/service/collection-type.js.map +1 -1
  58. package/dist/core-api/service/collection-type.mjs +19 -8
  59. package/dist/core-api/service/collection-type.mjs.map +1 -1
  60. package/dist/core-api/service/index.d.ts +3 -3
  61. package/dist/core-api/service/index.d.ts.map +1 -1
  62. package/dist/core-api/service/index.js.map +1 -1
  63. package/dist/core-api/service/index.mjs.map +1 -1
  64. package/dist/core-api/service/pagination.d.ts +4 -11
  65. package/dist/core-api/service/pagination.d.ts.map +1 -1
  66. package/dist/core-api/service/pagination.js +18 -44
  67. package/dist/core-api/service/pagination.js.map +1 -1
  68. package/dist/core-api/service/pagination.mjs +16 -42
  69. package/dist/core-api/service/pagination.mjs.map +1 -1
  70. package/dist/core-api/service/single-type.d.ts +4 -4
  71. package/dist/core-api/service/single-type.d.ts.map +1 -1
  72. package/dist/core-api/service/single-type.js +9 -2
  73. package/dist/core-api/service/single-type.js.map +1 -1
  74. package/dist/core-api/service/single-type.mjs +9 -2
  75. package/dist/core-api/service/single-type.mjs.map +1 -1
  76. package/dist/domain/content-type/index.d.ts +1 -1
  77. package/dist/domain/content-type/index.d.ts.map +1 -1
  78. package/dist/domain/content-type/index.js +4 -4
  79. package/dist/domain/content-type/index.js.map +1 -1
  80. package/dist/domain/module/index.d.ts +24 -23
  81. package/dist/domain/module/index.d.ts.map +1 -1
  82. package/dist/domain/module/index.js +2 -1
  83. package/dist/domain/module/index.js.map +1 -1
  84. package/dist/domain/module/index.mjs +3 -2
  85. package/dist/domain/module/index.mjs.map +1 -1
  86. package/dist/ee/index.d.ts +4 -2
  87. package/dist/ee/index.d.ts.map +1 -1
  88. package/dist/ee/index.js +3 -3
  89. package/dist/ee/index.js.map +1 -1
  90. package/dist/ee/index.mjs.map +1 -1
  91. package/dist/ee/license.d.ts +2 -2
  92. package/dist/ee/license.d.ts.map +1 -1
  93. package/dist/ee/license.js +2 -1
  94. package/dist/ee/license.js.map +1 -1
  95. package/dist/ee/license.mjs +2 -1
  96. package/dist/ee/license.mjs.map +1 -1
  97. package/dist/factories.d.ts +10 -10
  98. package/dist/factories.d.ts.map +1 -1
  99. package/dist/factories.js +10 -6
  100. package/dist/factories.js.map +1 -1
  101. package/dist/factories.mjs +6 -2
  102. package/dist/factories.mjs.map +1 -1
  103. package/dist/index.d.ts +18 -2
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +25 -1
  106. package/dist/index.js.map +1 -1
  107. package/dist/index.mjs +27 -3
  108. package/dist/index.mjs.map +1 -1
  109. package/dist/loaders/admin.d.ts +2 -2
  110. package/dist/loaders/admin.d.ts.map +1 -1
  111. package/dist/loaders/admin.js +0 -1
  112. package/dist/loaders/admin.js.map +1 -1
  113. package/dist/loaders/admin.mjs +0 -1
  114. package/dist/loaders/admin.mjs.map +1 -1
  115. package/dist/loaders/apis.d.ts +2 -2
  116. package/dist/loaders/apis.d.ts.map +1 -1
  117. package/dist/loaders/apis.js +12 -12
  118. package/dist/loaders/apis.js.map +1 -1
  119. package/dist/loaders/apis.mjs +10 -10
  120. package/dist/loaders/apis.mjs.map +1 -1
  121. package/dist/loaders/components.d.ts +2 -2
  122. package/dist/loaders/components.d.ts.map +1 -1
  123. package/dist/loaders/components.js.map +1 -1
  124. package/dist/loaders/components.mjs.map +1 -1
  125. package/dist/loaders/index.d.ts +2 -2
  126. package/dist/loaders/index.d.ts.map +1 -1
  127. package/dist/loaders/index.js +0 -2
  128. package/dist/loaders/index.js.map +1 -1
  129. package/dist/loaders/index.mjs +0 -2
  130. package/dist/loaders/index.mjs.map +1 -1
  131. package/dist/loaders/middlewares.d.ts +2 -2
  132. package/dist/loaders/middlewares.d.ts.map +1 -1
  133. package/dist/loaders/middlewares.js.map +1 -1
  134. package/dist/loaders/middlewares.mjs.map +1 -1
  135. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  136. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  137. package/dist/loaders/plugins/get-enabled-plugins.js +46 -16
  138. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  139. package/dist/loaders/plugins/get-enabled-plugins.mjs +16 -8
  140. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  141. package/dist/loaders/plugins/get-user-plugins-config.js +2 -2
  142. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  143. package/dist/loaders/plugins/index.d.ts +2 -2
  144. package/dist/loaders/plugins/index.d.ts.map +1 -1
  145. package/dist/loaders/plugins/index.js +34 -7
  146. package/dist/loaders/plugins/index.js.map +1 -1
  147. package/dist/loaders/plugins/index.mjs +9 -1
  148. package/dist/loaders/plugins/index.mjs.map +1 -1
  149. package/dist/loaders/policies.d.ts +2 -2
  150. package/dist/loaders/policies.d.ts.map +1 -1
  151. package/dist/loaders/policies.js.map +1 -1
  152. package/dist/loaders/policies.mjs.map +1 -1
  153. package/dist/loaders/sanitizers.d.ts +2 -2
  154. package/dist/loaders/sanitizers.d.ts.map +1 -1
  155. package/dist/loaders/sanitizers.js.map +1 -1
  156. package/dist/loaders/sanitizers.mjs.map +1 -1
  157. package/dist/loaders/src-index.d.ts +2 -2
  158. package/dist/loaders/src-index.d.ts.map +1 -1
  159. package/dist/loaders/src-index.js.map +1 -1
  160. package/dist/loaders/src-index.mjs.map +1 -1
  161. package/dist/loaders/validators.d.ts +2 -2
  162. package/dist/loaders/validators.d.ts.map +1 -1
  163. package/dist/loaders/validators.js.map +1 -1
  164. package/dist/loaders/validators.mjs.map +1 -1
  165. package/dist/middlewares/body.d.ts +4 -4
  166. package/dist/middlewares/body.d.ts.map +1 -1
  167. package/dist/middlewares/body.js +6 -6
  168. package/dist/middlewares/body.js.map +1 -1
  169. package/dist/middlewares/body.mjs +4 -4
  170. package/dist/middlewares/body.mjs.map +1 -1
  171. package/dist/middlewares/compression.d.ts +2 -2
  172. package/dist/middlewares/compression.d.ts.map +1 -1
  173. package/dist/middlewares/compression.js.map +1 -1
  174. package/dist/middlewares/compression.mjs.map +1 -1
  175. package/dist/middlewares/cors.d.ts +2 -2
  176. package/dist/middlewares/cors.d.ts.map +1 -1
  177. package/dist/middlewares/cors.js +9 -7
  178. package/dist/middlewares/cors.js.map +1 -1
  179. package/dist/middlewares/cors.mjs +9 -7
  180. package/dist/middlewares/cors.mjs.map +1 -1
  181. package/dist/middlewares/errors.d.ts +2 -2
  182. package/dist/middlewares/errors.d.ts.map +1 -1
  183. package/dist/middlewares/errors.js.map +1 -1
  184. package/dist/middlewares/errors.mjs.map +1 -1
  185. package/dist/middlewares/favicon.d.ts +2 -2
  186. package/dist/middlewares/favicon.d.ts.map +1 -1
  187. package/dist/middlewares/favicon.js.map +1 -1
  188. package/dist/middlewares/favicon.mjs.map +1 -1
  189. package/dist/middlewares/index.d.ts +2 -2
  190. package/dist/middlewares/index.d.ts.map +1 -1
  191. package/dist/middlewares/index.js.map +1 -1
  192. package/dist/middlewares/index.mjs.map +1 -1
  193. package/dist/middlewares/ip.d.ts +2 -2
  194. package/dist/middlewares/ip.d.ts.map +1 -1
  195. package/dist/middlewares/ip.js.map +1 -1
  196. package/dist/middlewares/ip.mjs.map +1 -1
  197. package/dist/middlewares/logger.d.ts +2 -2
  198. package/dist/middlewares/logger.d.ts.map +1 -1
  199. package/dist/middlewares/logger.js.map +1 -1
  200. package/dist/middlewares/logger.mjs.map +1 -1
  201. package/dist/middlewares/powered-by.d.ts +2 -2
  202. package/dist/middlewares/powered-by.d.ts.map +1 -1
  203. package/dist/middlewares/powered-by.js.map +1 -1
  204. package/dist/middlewares/powered-by.mjs.map +1 -1
  205. package/dist/middlewares/public.d.ts +2 -2
  206. package/dist/middlewares/public.d.ts.map +1 -1
  207. package/dist/middlewares/public.js +3 -3
  208. package/dist/middlewares/public.js.map +1 -1
  209. package/dist/middlewares/public.mjs +1 -1
  210. package/dist/middlewares/public.mjs.map +1 -1
  211. package/dist/middlewares/query.d.ts +2 -2
  212. package/dist/middlewares/query.d.ts.map +1 -1
  213. package/dist/middlewares/query.js.map +1 -1
  214. package/dist/middlewares/query.mjs.map +1 -1
  215. package/dist/middlewares/response-time.d.ts +2 -2
  216. package/dist/middlewares/response-time.d.ts.map +1 -1
  217. package/dist/middlewares/response-time.js.map +1 -1
  218. package/dist/middlewares/response-time.mjs.map +1 -1
  219. package/dist/middlewares/responses.d.ts +3 -3
  220. package/dist/middlewares/responses.d.ts.map +1 -1
  221. package/dist/middlewares/responses.js +2 -2
  222. package/dist/middlewares/responses.js.map +1 -1
  223. package/dist/middlewares/responses.mjs.map +1 -1
  224. package/dist/middlewares/security.d.ts +2 -2
  225. package/dist/middlewares/security.d.ts.map +1 -1
  226. package/dist/middlewares/security.js +13 -6
  227. package/dist/middlewares/security.js.map +1 -1
  228. package/dist/middlewares/security.mjs +12 -5
  229. package/dist/middlewares/security.mjs.map +1 -1
  230. package/dist/middlewares/session.d.ts +2 -2
  231. package/dist/middlewares/session.d.ts.map +1 -1
  232. package/dist/middlewares/session.js +2 -2
  233. package/dist/middlewares/session.js.map +1 -1
  234. package/dist/middlewares/session.mjs.map +1 -1
  235. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  236. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  237. package/dist/migrations/database/5.0.0-discard-drafts.js +94 -0
  238. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  239. package/dist/migrations/database/5.0.0-discard-drafts.mjs +94 -0
  240. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  241. package/dist/migrations/draft-publish.d.ts +1 -1
  242. package/dist/migrations/draft-publish.d.ts.map +1 -1
  243. package/dist/migrations/draft-publish.js +14 -31
  244. package/dist/migrations/draft-publish.js.map +1 -1
  245. package/dist/migrations/draft-publish.mjs +15 -32
  246. package/dist/migrations/draft-publish.mjs.map +1 -1
  247. package/dist/migrations/i18n.d.ts +5 -0
  248. package/dist/migrations/i18n.d.ts.map +1 -0
  249. package/dist/migrations/i18n.js +54 -0
  250. package/dist/migrations/i18n.js.map +1 -0
  251. package/dist/migrations/i18n.mjs +54 -0
  252. package/dist/migrations/i18n.mjs.map +1 -0
  253. package/dist/migrations/index.d.ts +5 -0
  254. package/dist/migrations/index.d.ts.map +1 -0
  255. package/dist/migrations/index.js +15 -0
  256. package/dist/migrations/index.js.map +1 -0
  257. package/dist/migrations/index.mjs +15 -0
  258. package/dist/migrations/index.mjs.map +1 -0
  259. package/dist/providers/admin.d.ts +3 -0
  260. package/dist/providers/admin.d.ts.map +1 -0
  261. package/dist/providers/admin.js +20 -0
  262. package/dist/providers/admin.js.map +1 -0
  263. package/dist/providers/admin.mjs +21 -0
  264. package/dist/providers/admin.mjs.map +1 -0
  265. package/dist/providers/coreStore.d.ts +3 -0
  266. package/dist/providers/coreStore.d.ts.map +1 -0
  267. package/dist/providers/coreStore.js +11 -0
  268. package/dist/providers/coreStore.js.map +1 -0
  269. package/dist/providers/coreStore.mjs +12 -0
  270. package/dist/providers/coreStore.mjs.map +1 -0
  271. package/dist/providers/cron.d.ts +3 -0
  272. package/dist/providers/cron.d.ts.map +1 -0
  273. package/dist/providers/cron.js +20 -0
  274. package/dist/providers/cron.js.map +1 -0
  275. package/dist/providers/cron.mjs +21 -0
  276. package/dist/providers/cron.mjs.map +1 -0
  277. package/dist/providers/index.d.ts +3 -0
  278. package/dist/providers/index.d.ts.map +1 -0
  279. package/dist/providers/index.js +11 -0
  280. package/dist/providers/index.js.map +1 -0
  281. package/dist/providers/index.mjs +11 -0
  282. package/dist/providers/index.mjs.map +1 -0
  283. package/dist/providers/provider.d.ts +9 -0
  284. package/dist/providers/provider.d.ts.map +1 -0
  285. package/dist/providers/provider.js +5 -0
  286. package/dist/providers/provider.js.map +1 -0
  287. package/dist/providers/provider.mjs +5 -0
  288. package/dist/providers/provider.mjs.map +1 -0
  289. package/dist/providers/registries.d.ts +3 -0
  290. package/dist/providers/registries.d.ts.map +1 -0
  291. package/dist/providers/registries.js +35 -0
  292. package/dist/providers/registries.js.map +1 -0
  293. package/dist/providers/registries.mjs +36 -0
  294. package/dist/providers/registries.mjs.map +1 -0
  295. package/dist/providers/telemetry.d.ts +3 -0
  296. package/dist/providers/telemetry.d.ts.map +1 -0
  297. package/dist/providers/telemetry.js +19 -0
  298. package/dist/providers/telemetry.js.map +1 -0
  299. package/dist/providers/telemetry.mjs +20 -0
  300. package/dist/providers/telemetry.mjs.map +1 -0
  301. package/dist/providers/webhooks.d.ts +3 -0
  302. package/dist/providers/webhooks.d.ts.map +1 -0
  303. package/dist/providers/webhooks.js +30 -0
  304. package/dist/providers/webhooks.js.map +1 -0
  305. package/dist/providers/webhooks.mjs +31 -0
  306. package/dist/providers/webhooks.mjs.map +1 -0
  307. package/dist/registries/apis.d.ts +2 -2
  308. package/dist/registries/apis.d.ts.map +1 -1
  309. package/dist/registries/apis.js +2 -2
  310. package/dist/registries/apis.js.map +1 -1
  311. package/dist/registries/apis.mjs.map +1 -1
  312. package/dist/registries/components.d.ts +6 -6
  313. package/dist/registries/components.d.ts.map +1 -1
  314. package/dist/registries/components.js +2 -2
  315. package/dist/registries/components.js.map +1 -1
  316. package/dist/registries/components.mjs.map +1 -1
  317. package/dist/registries/content-types.d.ts +5 -5
  318. package/dist/registries/content-types.d.ts.map +1 -1
  319. package/dist/registries/content-types.js +3 -3
  320. package/dist/registries/content-types.js.map +1 -1
  321. package/dist/registries/content-types.mjs.map +1 -1
  322. package/dist/registries/controllers.d.ts +10 -10
  323. package/dist/registries/controllers.d.ts.map +1 -1
  324. package/dist/registries/controllers.js +3 -3
  325. package/dist/registries/controllers.js.map +1 -1
  326. package/dist/registries/controllers.mjs.map +1 -1
  327. package/dist/registries/custom-fields.d.ts +3 -3
  328. package/dist/registries/custom-fields.d.ts.map +1 -1
  329. package/dist/registries/custom-fields.js +4 -4
  330. package/dist/registries/custom-fields.js.map +1 -1
  331. package/dist/registries/custom-fields.mjs.map +1 -1
  332. package/dist/registries/hooks.js +2 -2
  333. package/dist/registries/hooks.js.map +1 -1
  334. package/dist/registries/index.d.ts +0 -1
  335. package/dist/registries/index.d.ts.map +1 -1
  336. package/dist/registries/middlewares.d.ts +6 -6
  337. package/dist/registries/middlewares.d.ts.map +1 -1
  338. package/dist/registries/middlewares.js +3 -3
  339. package/dist/registries/middlewares.js.map +1 -1
  340. package/dist/registries/middlewares.mjs.map +1 -1
  341. package/dist/registries/modules.d.ts +2 -2
  342. package/dist/registries/modules.d.ts.map +1 -1
  343. package/dist/registries/modules.js +3 -3
  344. package/dist/registries/modules.js.map +1 -1
  345. package/dist/registries/modules.mjs.map +1 -1
  346. package/dist/registries/plugins.d.ts +5 -5
  347. package/dist/registries/plugins.d.ts.map +1 -1
  348. package/dist/registries/plugins.js +2 -2
  349. package/dist/registries/plugins.js.map +1 -1
  350. package/dist/registries/plugins.mjs.map +1 -1
  351. package/dist/registries/policies.d.ts +22 -10
  352. package/dist/registries/policies.d.ts.map +1 -1
  353. package/dist/registries/policies.js +66 -20
  354. package/dist/registries/policies.js.map +1 -1
  355. package/dist/registries/policies.mjs +65 -19
  356. package/dist/registries/policies.mjs.map +1 -1
  357. package/dist/registries/services.d.ts +8 -8
  358. package/dist/registries/services.d.ts.map +1 -1
  359. package/dist/registries/services.js +3 -3
  360. package/dist/registries/services.js.map +1 -1
  361. package/dist/registries/services.mjs.map +1 -1
  362. package/dist/services/auth/index.d.ts +4 -4
  363. package/dist/services/auth/index.d.ts.map +1 -1
  364. package/dist/services/auth/index.js +3 -3
  365. package/dist/services/auth/index.js.map +1 -1
  366. package/dist/services/auth/index.mjs.map +1 -1
  367. package/dist/services/config.d.ts +3 -0
  368. package/dist/services/config.d.ts.map +1 -0
  369. package/dist/services/config.js +47 -0
  370. package/dist/services/config.js.map +1 -0
  371. package/dist/services/config.mjs +47 -0
  372. package/dist/services/config.mjs.map +1 -0
  373. package/dist/services/content-api/index.d.ts +31 -15
  374. package/dist/services/content-api/index.d.ts.map +1 -1
  375. package/dist/services/content-api/index.js +28 -2
  376. package/dist/services/content-api/index.js.map +1 -1
  377. package/dist/services/content-api/index.mjs +28 -2
  378. package/dist/services/content-api/index.mjs.map +1 -1
  379. package/dist/services/content-api/permissions/index.d.ts +13 -15
  380. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  381. package/dist/services/content-api/permissions/index.js +1 -1
  382. package/dist/services/content-api/permissions/index.js.map +1 -1
  383. package/dist/services/content-api/permissions/index.mjs +1 -1
  384. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  385. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  386. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  387. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  388. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  389. package/dist/services/core-store.d.ts.map +1 -1
  390. package/dist/services/core-store.js +3 -3
  391. package/dist/services/core-store.js.map +1 -1
  392. package/dist/services/cron.d.ts +5 -5
  393. package/dist/services/cron.d.ts.map +1 -1
  394. package/dist/services/cron.js +3 -3
  395. package/dist/services/cron.js.map +1 -1
  396. package/dist/services/cron.mjs.map +1 -1
  397. package/dist/services/custom-fields.d.ts +2 -2
  398. package/dist/services/custom-fields.d.ts.map +1 -1
  399. package/dist/services/custom-fields.js.map +1 -1
  400. package/dist/services/custom-fields.mjs.map +1 -1
  401. package/dist/services/document-service/attributes/index.d.ts +6 -0
  402. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  403. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  404. package/dist/services/document-service/attributes/index.js.map +1 -0
  405. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  406. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  407. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  408. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  409. package/dist/services/{entity-service → document-service}/attributes/transforms.js +3 -3
  410. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  411. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  412. package/dist/services/document-service/common.d.ts +2 -2
  413. package/dist/services/document-service/common.d.ts.map +1 -1
  414. package/dist/services/document-service/common.js.map +1 -1
  415. package/dist/services/document-service/common.mjs.map +1 -1
  416. package/dist/services/document-service/components.d.ts +25 -1
  417. package/dist/services/document-service/components.d.ts.map +1 -1
  418. package/dist/services/{entity-service → document-service}/components.js +52 -148
  419. package/dist/services/document-service/components.js.map +1 -0
  420. package/dist/services/{entity-service → document-service}/components.mjs +42 -138
  421. package/dist/services/document-service/components.mjs.map +1 -0
  422. package/dist/services/document-service/draft-and-publish.d.ts +7 -7
  423. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  424. package/dist/services/document-service/draft-and-publish.js +16 -16
  425. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  426. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  427. package/dist/services/document-service/entries.d.ts +10 -0
  428. package/dist/services/document-service/entries.d.ts.map +1 -0
  429. package/dist/services/document-service/entries.js +96 -0
  430. package/dist/services/document-service/entries.js.map +1 -0
  431. package/dist/services/document-service/entries.mjs +96 -0
  432. package/dist/services/document-service/entries.mjs.map +1 -0
  433. package/dist/services/document-service/events.d.ts +25 -0
  434. package/dist/services/document-service/events.d.ts.map +1 -0
  435. package/dist/services/document-service/events.js +47 -0
  436. package/dist/services/document-service/events.js.map +1 -0
  437. package/dist/services/document-service/events.mjs +47 -0
  438. package/dist/services/document-service/events.mjs.map +1 -0
  439. package/dist/services/document-service/index.d.ts +2 -4
  440. package/dist/services/document-service/index.d.ts.map +1 -1
  441. package/dist/services/document-service/index.js +18 -5
  442. package/dist/services/document-service/index.js.map +1 -1
  443. package/dist/services/document-service/index.mjs +16 -3
  444. package/dist/services/document-service/index.mjs.map +1 -1
  445. package/dist/services/document-service/internationalization.d.ts +5 -5
  446. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  447. package/dist/services/document-service/internationalization.js +21 -12
  448. package/dist/services/document-service/internationalization.js.map +1 -1
  449. package/dist/services/document-service/internationalization.mjs +14 -5
  450. package/dist/services/document-service/internationalization.mjs.map +1 -1
  451. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  452. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  453. package/dist/services/document-service/middlewares/errors.js +25 -0
  454. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  455. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  456. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  457. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  458. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  459. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  460. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  461. package/dist/services/document-service/{middlewares.js → middlewares/middleware-manager.js} +9 -6
  462. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  463. package/dist/services/document-service/{middlewares.mjs → middlewares/middleware-manager.mjs} +9 -6
  464. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  465. package/dist/services/document-service/params.d.ts +3 -1
  466. package/dist/services/document-service/params.d.ts.map +1 -1
  467. package/dist/services/{entity-service → document-service}/params.js +2 -2
  468. package/dist/services/document-service/params.js.map +1 -0
  469. package/dist/services/document-service/params.mjs.map +1 -0
  470. package/dist/services/document-service/repository.d.ts.map +1 -1
  471. package/dist/services/document-service/repository.js +195 -185
  472. package/dist/services/document-service/repository.js.map +1 -1
  473. package/dist/services/document-service/repository.mjs +175 -165
  474. package/dist/services/document-service/repository.mjs.map +1 -1
  475. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  476. package/dist/services/document-service/transform/data.js +4 -2
  477. package/dist/services/document-service/transform/data.js.map +1 -1
  478. package/dist/services/document-service/transform/data.mjs +4 -2
  479. package/dist/services/document-service/transform/data.mjs.map +1 -1
  480. package/dist/services/document-service/transform/fields.d.ts +2 -2
  481. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  482. package/dist/services/document-service/transform/fields.js.map +1 -1
  483. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  484. package/dist/services/document-service/transform/id-map.d.ts +3 -3
  485. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  486. package/dist/services/document-service/transform/id-map.js.map +1 -1
  487. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  488. package/dist/services/document-service/transform/id-transform.d.ts +2 -2
  489. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  490. package/dist/services/document-service/transform/id-transform.js +2 -2
  491. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  492. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  493. package/dist/services/document-service/transform/populate.d.ts +2 -2
  494. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  495. package/dist/services/document-service/transform/populate.js +1 -1
  496. package/dist/services/document-service/transform/populate.js.map +1 -1
  497. package/dist/services/document-service/transform/populate.mjs +1 -1
  498. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  499. package/dist/services/document-service/transform/query.d.ts +5 -0
  500. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  501. package/dist/services/document-service/transform/query.js +9 -0
  502. package/dist/services/document-service/transform/query.js.map +1 -0
  503. package/dist/services/document-service/transform/query.mjs +9 -0
  504. package/dist/services/document-service/transform/query.mjs.map +1 -0
  505. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  506. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  507. package/dist/services/document-service/transform/relations/extract/data-ids.js +45 -78
  508. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  509. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +44 -77
  510. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  511. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +8 -4
  512. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  513. package/dist/services/document-service/transform/relations/transform/data-ids.js +61 -126
  514. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  515. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +61 -126
  516. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  517. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  518. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  519. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  520. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  521. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  522. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  523. package/dist/services/document-service/transform/relations/utils/dp.d.ts +3 -3
  524. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  525. package/dist/services/document-service/transform/relations/utils/dp.js +10 -5
  526. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  527. package/dist/services/document-service/transform/relations/utils/dp.mjs +9 -4
  528. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  529. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  530. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  531. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  532. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  533. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  534. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  535. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  536. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  537. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  538. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  539. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  540. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  541. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  542. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  543. package/dist/services/document-service/transform/types.d.ts +3 -3
  544. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  545. package/dist/services/document-service/utils/populate.d.ts +9 -2
  546. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  547. package/dist/services/document-service/utils/populate.js +11 -5
  548. package/dist/services/document-service/utils/populate.js.map +1 -1
  549. package/dist/services/document-service/utils/populate.mjs +11 -5
  550. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  551. package/dist/services/document-service/utils/unidirectional-relations.d.ts +33 -0
  552. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  553. package/dist/services/document-service/utils/unidirectional-relations.js +58 -0
  554. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  555. package/dist/services/document-service/utils/unidirectional-relations.mjs +58 -0
  556. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  557. package/dist/services/entity-service/index.d.ts +4 -6
  558. package/dist/services/entity-service/index.d.ts.map +1 -1
  559. package/dist/services/entity-service/index.js +44 -203
  560. package/dist/services/entity-service/index.js.map +1 -1
  561. package/dist/services/entity-service/index.mjs +38 -197
  562. package/dist/services/entity-service/index.mjs.map +1 -1
  563. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  564. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  565. package/dist/services/entity-validator/blocks-validator.js +4 -3
  566. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  567. package/dist/services/entity-validator/blocks-validator.mjs +3 -3
  568. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  569. package/dist/services/entity-validator/index.d.ts +16 -2
  570. package/dist/services/entity-validator/index.d.ts.map +1 -1
  571. package/dist/services/entity-validator/index.js +197 -130
  572. package/dist/services/entity-validator/index.js.map +1 -1
  573. package/dist/services/entity-validator/index.mjs +192 -125
  574. package/dist/services/entity-validator/index.mjs.map +1 -1
  575. package/dist/services/entity-validator/validators.d.ts +36 -25
  576. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  577. package/dist/services/entity-validator/validators.js +153 -33
  578. package/dist/services/entity-validator/validators.js.map +1 -1
  579. package/dist/services/entity-validator/validators.mjs +145 -25
  580. package/dist/services/entity-validator/validators.mjs.map +1 -1
  581. package/dist/services/event-hub.d.ts +1 -0
  582. package/dist/services/event-hub.d.ts.map +1 -1
  583. package/dist/services/event-hub.js +9 -4
  584. package/dist/services/event-hub.js.map +1 -1
  585. package/dist/services/event-hub.mjs +9 -4
  586. package/dist/services/event-hub.mjs.map +1 -1
  587. package/dist/services/features.d.ts +3 -3
  588. package/dist/services/features.d.ts.map +1 -1
  589. package/dist/services/features.js.map +1 -1
  590. package/dist/services/features.mjs.map +1 -1
  591. package/dist/services/fs.d.ts +2 -2
  592. package/dist/services/fs.d.ts.map +1 -1
  593. package/dist/services/fs.js.map +1 -1
  594. package/dist/services/fs.mjs.map +1 -1
  595. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  596. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  597. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  598. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  599. package/dist/services/metrics/index.d.ts +2 -2
  600. package/dist/services/metrics/index.d.ts.map +1 -1
  601. package/dist/services/metrics/index.js.map +1 -1
  602. package/dist/services/metrics/index.mjs.map +1 -1
  603. package/dist/services/metrics/middleware.d.ts +2 -2
  604. package/dist/services/metrics/middleware.d.ts.map +1 -1
  605. package/dist/services/metrics/middleware.js.map +1 -1
  606. package/dist/services/metrics/middleware.mjs.map +1 -1
  607. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  608. package/dist/services/metrics/rate-limiter.js.map +1 -1
  609. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  610. package/dist/services/metrics/sender.d.ts +3 -3
  611. package/dist/services/metrics/sender.d.ts.map +1 -1
  612. package/dist/services/metrics/sender.js.map +1 -1
  613. package/dist/services/metrics/sender.mjs.map +1 -1
  614. package/dist/services/query-params.d.ts +7 -0
  615. package/dist/services/query-params.d.ts.map +1 -0
  616. package/dist/services/query-params.js +12 -0
  617. package/dist/services/query-params.js.map +1 -0
  618. package/dist/services/query-params.mjs +13 -0
  619. package/dist/services/query-params.mjs.map +1 -0
  620. package/dist/services/reloader.d.ts +7 -0
  621. package/dist/services/reloader.d.ts.map +1 -0
  622. package/dist/services/reloader.js +36 -0
  623. package/dist/services/reloader.js.map +1 -0
  624. package/dist/services/reloader.mjs +36 -0
  625. package/dist/services/reloader.mjs.map +1 -0
  626. package/dist/services/server/admin-api.d.ts +3 -3
  627. package/dist/services/server/admin-api.d.ts.map +1 -1
  628. package/dist/services/server/admin-api.js.map +1 -1
  629. package/dist/services/server/admin-api.mjs.map +1 -1
  630. package/dist/services/server/api.d.ts +3 -3
  631. package/dist/services/server/api.d.ts.map +1 -1
  632. package/dist/services/server/api.js.map +1 -1
  633. package/dist/services/server/api.mjs.map +1 -1
  634. package/dist/services/server/compose-endpoint.d.ts +2 -2
  635. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  636. package/dist/services/server/compose-endpoint.js +8 -9
  637. package/dist/services/server/compose-endpoint.js.map +1 -1
  638. package/dist/services/server/compose-endpoint.mjs +2 -3
  639. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  640. package/dist/services/server/content-api.d.ts +3 -3
  641. package/dist/services/server/content-api.d.ts.map +1 -1
  642. package/dist/services/server/content-api.js.map +1 -1
  643. package/dist/services/server/content-api.mjs.map +1 -1
  644. package/dist/services/server/http-server.d.ts +2 -2
  645. package/dist/services/server/http-server.d.ts.map +1 -1
  646. package/dist/services/server/http-server.js.map +1 -1
  647. package/dist/services/server/http-server.mjs.map +1 -1
  648. package/dist/services/server/index.d.ts +2 -2
  649. package/dist/services/server/index.d.ts.map +1 -1
  650. package/dist/services/server/index.js +2 -3
  651. package/dist/services/server/index.js.map +1 -1
  652. package/dist/services/server/index.mjs +2 -3
  653. package/dist/services/server/index.mjs.map +1 -1
  654. package/dist/services/server/koa.d.ts.map +1 -1
  655. package/dist/services/server/koa.js +4 -4
  656. package/dist/services/server/koa.js.map +1 -1
  657. package/dist/services/server/koa.mjs +1 -1
  658. package/dist/services/server/koa.mjs.map +1 -1
  659. package/dist/services/server/middleware.d.ts +4 -4
  660. package/dist/services/server/middleware.d.ts.map +1 -1
  661. package/dist/services/server/middleware.js +3 -3
  662. package/dist/services/server/middleware.js.map +1 -1
  663. package/dist/services/server/middleware.mjs.map +1 -1
  664. package/dist/services/server/policy.d.ts +3 -3
  665. package/dist/services/server/policy.d.ts.map +1 -1
  666. package/dist/services/server/policy.js +4 -4
  667. package/dist/services/server/policy.js.map +1 -1
  668. package/dist/services/server/policy.mjs +4 -4
  669. package/dist/services/server/policy.mjs.map +1 -1
  670. package/dist/services/server/register-middlewares.d.ts +2 -2
  671. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  672. package/dist/services/server/register-middlewares.js.map +1 -1
  673. package/dist/services/server/register-middlewares.mjs.map +1 -1
  674. package/dist/services/server/register-routes.d.ts +2 -2
  675. package/dist/services/server/register-routes.d.ts.map +1 -1
  676. package/dist/services/server/register-routes.js +3 -3
  677. package/dist/services/server/register-routes.js.map +1 -1
  678. package/dist/services/server/register-routes.mjs +3 -3
  679. package/dist/services/server/register-routes.mjs.map +1 -1
  680. package/dist/services/server/routing.d.ts +5 -5
  681. package/dist/services/server/routing.d.ts.map +1 -1
  682. package/dist/services/server/routing.js +2 -2
  683. package/dist/services/server/routing.js.map +1 -1
  684. package/dist/services/server/routing.mjs.map +1 -1
  685. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  686. package/dist/services/utils/dynamic-zones.js +7 -6
  687. package/dist/services/utils/dynamic-zones.js.map +1 -1
  688. package/dist/services/utils/dynamic-zones.mjs +2 -1
  689. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  690. package/dist/services/webhook-runner.d.ts +2 -1
  691. package/dist/services/webhook-runner.d.ts.map +1 -1
  692. package/dist/services/webhook-runner.js.map +1 -1
  693. package/dist/services/webhook-runner.mjs.map +1 -1
  694. package/dist/services/webhook-store.d.ts +2 -8
  695. package/dist/services/webhook-store.d.ts.map +1 -1
  696. package/dist/services/webhook-store.js +14 -8
  697. package/dist/services/webhook-store.js.map +1 -1
  698. package/dist/services/webhook-store.mjs +14 -8
  699. package/dist/services/webhook-store.mjs.map +1 -1
  700. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  701. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  702. package/dist/utils/convert-custom-field-type.js.map +1 -1
  703. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  704. package/dist/utils/cron.js +3 -3
  705. package/dist/utils/cron.js.map +1 -1
  706. package/dist/utils/fetch.d.ts +3 -3
  707. package/dist/utils/fetch.d.ts.map +1 -1
  708. package/dist/utils/fetch.js +4 -3
  709. package/dist/utils/fetch.js.map +1 -1
  710. package/dist/utils/fetch.mjs +4 -3
  711. package/dist/utils/fetch.mjs.map +1 -1
  712. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  713. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  714. package/dist/utils/filepath-to-prop-path.js +27 -6
  715. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  716. package/dist/utils/filepath-to-prop-path.mjs +25 -5
  717. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  718. package/dist/utils/index.d.ts +2 -1
  719. package/dist/utils/index.d.ts.map +1 -1
  720. package/dist/utils/is-initialized.d.ts +2 -2
  721. package/dist/utils/is-initialized.d.ts.map +1 -1
  722. package/dist/utils/is-initialized.js +4 -4
  723. package/dist/utils/is-initialized.js.map +1 -1
  724. package/dist/utils/is-initialized.mjs +1 -1
  725. package/dist/utils/is-initialized.mjs.map +1 -1
  726. package/dist/utils/load-files.d.ts.map +1 -1
  727. package/dist/utils/open-browser.d.ts +2 -2
  728. package/dist/utils/open-browser.d.ts.map +1 -1
  729. package/dist/utils/open-browser.js.map +1 -1
  730. package/dist/utils/open-browser.mjs.map +1 -1
  731. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  732. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  733. package/dist/utils/resolve-working-dirs.js +13 -0
  734. package/dist/utils/resolve-working-dirs.js.map +1 -0
  735. package/dist/utils/resolve-working-dirs.mjs +11 -0
  736. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  737. package/dist/utils/signals.d.ts +2 -2
  738. package/dist/utils/signals.d.ts.map +1 -1
  739. package/dist/utils/signals.js.map +1 -1
  740. package/dist/utils/signals.mjs.map +1 -1
  741. package/dist/utils/startup-logger.d.ts +2 -2
  742. package/dist/utils/startup-logger.d.ts.map +1 -1
  743. package/dist/utils/startup-logger.js +4 -4
  744. package/dist/utils/startup-logger.js.map +1 -1
  745. package/dist/utils/startup-logger.mjs +3 -3
  746. package/dist/utils/startup-logger.mjs.map +1 -1
  747. package/dist/utils/transform-content-types-to-models.d.ts +54 -99
  748. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  749. package/dist/utils/transform-content-types-to-models.js +112 -61
  750. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  751. package/dist/utils/transform-content-types-to-models.mjs +111 -60
  752. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  753. package/dist/utils/update-notifier/index.d.ts +2 -7
  754. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  755. package/dist/utils/update-notifier/index.js +11 -14
  756. package/dist/utils/update-notifier/index.js.map +1 -1
  757. package/dist/utils/update-notifier/index.mjs +11 -14
  758. package/dist/utils/update-notifier/index.mjs.map +1 -1
  759. package/package.json +34 -30
  760. package/dist/registries/config.d.ts +0 -4
  761. package/dist/registries/config.d.ts.map +0 -1
  762. package/dist/registries/config.js +0 -31
  763. package/dist/registries/config.js.map +0 -1
  764. package/dist/registries/config.mjs +0 -32
  765. package/dist/registries/config.mjs.map +0 -1
  766. package/dist/services/document-service/middlewares.d.ts +0 -8
  767. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  768. package/dist/services/document-service/middlewares.js.map +0 -1
  769. package/dist/services/document-service/middlewares.mjs.map +0 -1
  770. package/dist/services/document-service/transform/filters.d.ts +0 -3
  771. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  772. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  773. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  774. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  775. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  776. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  777. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  778. package/dist/services/document-service/transform/sort.d.ts +0 -5
  779. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  780. package/dist/services/document-service/transform/utils.d.ts +0 -9
  781. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  782. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  783. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  784. package/dist/services/entity-service/attributes/index.js.map +0 -1
  785. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  786. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  787. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  788. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  789. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  790. package/dist/services/entity-service/components.d.ts +0 -23
  791. package/dist/services/entity-service/components.d.ts.map +0 -1
  792. package/dist/services/entity-service/components.js.map +0 -1
  793. package/dist/services/entity-service/components.mjs.map +0 -1
  794. package/dist/services/entity-service/params.d.ts +0 -8
  795. package/dist/services/entity-service/params.d.ts.map +0 -1
  796. package/dist/services/entity-service/params.js.map +0 -1
  797. package/dist/services/entity-service/params.mjs.map +0 -1
  798. package/dist/services/utils/upload-files.d.ts +0 -8
  799. package/dist/services/utils/upload-files.d.ts.map +0 -1
  800. package/dist/services/utils/upload-files.js +0 -64
  801. package/dist/services/utils/upload-files.js.map +0 -1
  802. package/dist/services/utils/upload-files.mjs +0 -63
  803. package/dist/services/utils/upload-files.mjs.map +0 -1
  804. package/dist/utils/get-dirs.d.ts +0 -9
  805. package/dist/utils/get-dirs.d.ts.map +0 -1
  806. package/dist/utils/get-dirs.js.map +0 -1
  807. package/dist/utils/get-dirs.mjs.map +0 -1
  808. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
  809. /package/dist/services/{entity-service → document-service}/params.mjs +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/core",
3
- "version": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
3
+ "version": "0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4",
4
4
  "description": "Core of Strapi",
5
5
  "homepage": "https://strapi.io",
6
6
  "bugs": {
@@ -42,7 +42,7 @@
42
42
  "resources/"
43
43
  ],
44
44
  "scripts": {
45
- "build": "run pack-up build && run copy-files",
45
+ "build": "pack-up build && run copy-files",
46
46
  "clean": "run -T rimraf ./dist",
47
47
  "copy-files": "copyfiles -u 1 -a 'src/**/*.html' 'src/**/*.png' dist",
48
48
  "lint": "run -T eslint .",
@@ -52,65 +52,69 @@
52
52
  "watch": "pack-up watch"
53
53
  },
54
54
  "dependencies": {
55
- "@koa/cors": "3.4.3",
56
- "@koa/router": "10.1.1",
55
+ "@koa/cors": "5.0.0",
56
+ "@koa/router": "12.0.1",
57
57
  "@paralleldrive/cuid2": "2.2.2",
58
- "@strapi/admin": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
59
- "@strapi/database": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
60
- "@strapi/generate-new": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
61
- "@strapi/generators": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
62
- "@strapi/logger": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
63
- "@strapi/pack-up": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
64
- "@strapi/permissions": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
65
- "@strapi/types": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
66
- "@strapi/typescript-utils": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
67
- "@strapi/utils": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
58
+ "@strapi/admin": "0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4",
59
+ "@strapi/database": "0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4",
60
+ "@strapi/generators": "0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4",
61
+ "@strapi/logger": "0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4",
62
+ "@strapi/pack-up": "5.0.0",
63
+ "@strapi/permissions": "0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4",
64
+ "@strapi/types": "0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4",
65
+ "@strapi/typescript-utils": "0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4",
66
+ "@strapi/utils": "0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4",
68
67
  "bcryptjs": "2.4.3",
69
68
  "boxen": "5.1.2",
70
69
  "chalk": "4.1.2",
71
- "ci-info": "3.8.0",
70
+ "ci-info": "4.0.0",
72
71
  "cli-table3": "0.6.2",
73
72
  "commander": "8.3.0",
74
73
  "configstore": "5.0.1",
75
74
  "copyfiles": "2.4.1",
76
75
  "debug": "4.3.4",
77
76
  "delegates": "1.0.0",
78
- "dotenv": "14.2.0",
77
+ "dotenv": "16.4.5",
79
78
  "execa": "5.1.1",
80
- "fs-extra": "10.0.0",
79
+ "fs-extra": "11.2.0",
81
80
  "glob": "10.3.10",
82
- "http-errors": "1.8.1",
81
+ "global-agent": "3.0.0",
82
+ "http-errors": "2.0.0",
83
83
  "inquirer": "8.2.5",
84
84
  "is-docker": "2.2.1",
85
- "koa": "2.13.4",
86
- "koa-body": "4.2.0",
85
+ "koa": "2.15.2",
86
+ "koa-body": "6.0.1",
87
87
  "koa-compose": "4.1.0",
88
- "koa-compress": "5.1.0",
88
+ "koa-compress": "5.1.1",
89
89
  "koa-favicon": "2.1.0",
90
90
  "koa-helmet": "7.0.2",
91
- "koa-ip": "^2.1.2",
91
+ "koa-ip": "^2.1.3",
92
92
  "koa-session": "6.4.0",
93
93
  "koa-static": "5.0.0",
94
94
  "lodash": "4.17.21",
95
95
  "mime-types": "2.1.35",
96
- "node-schedule": "2.1.0",
96
+ "node-schedule": "2.1.1",
97
97
  "open": "8.4.0",
98
98
  "ora": "5.4.1",
99
99
  "package-json": "7.0.0",
100
100
  "pkg-up": "3.1.0",
101
101
  "qs": "6.11.1",
102
+ "resolve.exports": "2.0.2",
102
103
  "semver": "7.5.4",
103
104
  "statuses": "2.0.1",
104
105
  "typescript": "5.2.2",
105
- "undici": "5.27.2",
106
+ "undici": "6.19.2",
106
107
  "yup": "0.32.9"
107
108
  },
108
109
  "devDependencies": {
109
- "@strapi/pack-up": "workspace:*",
110
+ "@strapi/pack-up": "5.0.0",
110
111
  "@strapi/ts-zen": "^0.2.0",
111
112
  "@types/bcryptjs": "2.4.3",
112
113
  "@types/configstore": "5.0.1",
113
114
  "@types/delegates": "1.0.0",
115
+ "@types/fs-extra": "11.0.4",
116
+ "@types/global-agent": "2.1.3",
117
+ "@types/http-errors": "2.0.4",
114
118
  "@types/jest": "29.5.2",
115
119
  "@types/koa": "2.13.4",
116
120
  "@types/koa-compress": "4.0.3",
@@ -119,16 +123,16 @@
119
123
  "@types/koa__router": "12.0.0",
120
124
  "@types/lodash": "^4.14.191",
121
125
  "@types/mime-types": "2.1.1",
122
- "@types/node": "18.18.4",
123
- "@types/node-schedule": "2.1.0",
126
+ "@types/node": "18.19.24",
127
+ "@types/node-schedule": "2.1.7",
124
128
  "@types/statuses": "2.0.1",
125
- "eslint-config-custom": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011",
129
+ "eslint-config-custom": "0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4",
126
130
  "supertest": "6.3.3",
127
- "tsconfig": "0.0.0-experimental.fc1ac2acd58c8a5a858679956b6d102ac5ee4011"
131
+ "tsconfig": "0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4"
128
132
  },
129
133
  "engines": {
130
134
  "node": ">=18.0.0 <=20.x.x",
131
135
  "npm": ">=6.0.0"
132
136
  },
133
- "gitHead": "fc1ac2acd58c8a5a858679956b6d102ac5ee4011"
137
+ "gitHead": "ce84fada19d58a7dfbdd553035e6558f8befcba4"
134
138
  }
@@ -1,4 +0,0 @@
1
- import type { ConfigProvider, LoadedStrapi, Strapi } from '@strapi/types';
2
- declare const _default: (initialConfig?: {}, strapi?: Strapi | LoadedStrapi) => ConfigProvider;
3
- export default _default;
4
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/registries/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;sDAK7B,MAAM,GAAG,YAAY,KAAG,cAAc;AAAnF,wBAgCE"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- const _ = require("lodash");
3
- const config = (initialConfig = {}, strapi) => {
4
- const _config = { ...initialConfig };
5
- const transformDeprecatedPaths = (path) => {
6
- if (_.isString(path) && path.startsWith("plugin.")) {
7
- const newPath = path.replace("plugin.", "plugin::");
8
- (strapi?.log?.warn ?? console.warn)(
9
- `Using dot notation for model config namespaces is deprecated, for example "plugin::myplugin" should be used instead of "plugin.myplugin". Modifying requested path ${path} to ${newPath}`
10
- );
11
- return newPath;
12
- }
13
- return path;
14
- };
15
- return {
16
- ..._config,
17
- // TODO: to remove
18
- get(path, defaultValue) {
19
- return _.get(_config, transformDeprecatedPaths(path), defaultValue);
20
- },
21
- set(path, val) {
22
- _.set(_config, transformDeprecatedPaths(path), val);
23
- return this;
24
- },
25
- has(path) {
26
- return _.has(_config, path);
27
- }
28
- };
29
- };
30
- module.exports = config;
31
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sources":["../../src/registries/config.ts"],"sourcesContent":["import type { ConfigProvider, LoadedStrapi, Strapi } from '@strapi/types';\nimport { get, set, has, isString, type PropertyName } from 'lodash';\n\ntype Config = Record<string, unknown>;\n\nexport default (initialConfig = {}, strapi?: Strapi | LoadedStrapi): ConfigProvider => {\n const _config: Config = { ...initialConfig }; // not deep clone because it would break some config\n\n // Accessing model configs with dot (.) was deprecated between v4->v5, but to avoid a major breaking change\n // we will still support certain namespaces, currently only 'plugin.'\n const transformDeprecatedPaths = (path: PropertyName) => {\n if (isString(path) && path.startsWith('plugin.')) {\n const newPath = path.replace('plugin.', 'plugin::');\n\n // strapi logger may not be loaded yet, so fall back to console\n (strapi?.log?.warn ?? console.warn)(\n `Using dot notation for model config namespaces is deprecated, for example \"plugin::myplugin\" should be used instead of \"plugin.myplugin\". Modifying requested path ${path} to ${newPath}`\n );\n return newPath;\n }\n\n return path;\n };\n\n return {\n ..._config, // TODO: to remove\n get(path: PropertyName, defaultValue?: unknown) {\n return get(_config, transformDeprecatedPaths(path), defaultValue);\n },\n set(path: PropertyName, val: unknown) {\n set(_config, transformDeprecatedPaths(path), val);\n return this;\n },\n has(path: PropertyName) {\n return has(_config, path);\n },\n };\n};\n"],"names":["isString","get","set","has"],"mappings":";;AAKA,MAAA,SAAe,CAAC,gBAAgB,CAAC,GAAG,WAAmD;AAC/E,QAAA,UAAkB,EAAE,GAAG;AAIvB,QAAA,2BAA2B,CAAC,SAAuB;AACvD,QAAIA,EAAAA,SAAS,IAAI,KAAK,KAAK,WAAW,SAAS,GAAG;AAChD,YAAM,UAAU,KAAK,QAAQ,WAAW,UAAU;AAGjD,OAAA,QAAQ,KAAK,QAAQ,QAAQ;AAAA,QAC5B,sKAAsK,IAAI,OAAO,OAAO;AAAA,MAAA;AAEnL,aAAA;AAAA,IACT;AAEO,WAAA;AAAA,EAAA;AAGF,SAAA;AAAA,IACL,GAAG;AAAA;AAAA,IACH,IAAI,MAAoB,cAAwB;AAC9C,aAAOC,EAAAA,IAAI,SAAS,yBAAyB,IAAI,GAAG,YAAY;AAAA,IAClE;AAAA,IACA,IAAI,MAAoB,KAAc;AACpCC,QAAAA,IAAI,SAAS,yBAAyB,IAAI,GAAG,GAAG;AACzC,aAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAoB;AACf,aAAAC,EAAA,IAAI,SAAS,IAAI;AAAA,IAC1B;AAAA,EAAA;AAEJ;;"}
@@ -1,32 +0,0 @@
1
- import { get, set, has, isString } from "lodash";
2
- const config = (initialConfig = {}, strapi) => {
3
- const _config = { ...initialConfig };
4
- const transformDeprecatedPaths = (path) => {
5
- if (isString(path) && path.startsWith("plugin.")) {
6
- const newPath = path.replace("plugin.", "plugin::");
7
- (strapi?.log?.warn ?? console.warn)(
8
- `Using dot notation for model config namespaces is deprecated, for example "plugin::myplugin" should be used instead of "plugin.myplugin". Modifying requested path ${path} to ${newPath}`
9
- );
10
- return newPath;
11
- }
12
- return path;
13
- };
14
- return {
15
- ..._config,
16
- // TODO: to remove
17
- get(path, defaultValue) {
18
- return get(_config, transformDeprecatedPaths(path), defaultValue);
19
- },
20
- set(path, val) {
21
- set(_config, transformDeprecatedPaths(path), val);
22
- return this;
23
- },
24
- has(path) {
25
- return has(_config, path);
26
- }
27
- };
28
- };
29
- export {
30
- config as default
31
- };
32
- //# sourceMappingURL=config.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.mjs","sources":["../../src/registries/config.ts"],"sourcesContent":["import type { ConfigProvider, LoadedStrapi, Strapi } from '@strapi/types';\nimport { get, set, has, isString, type PropertyName } from 'lodash';\n\ntype Config = Record<string, unknown>;\n\nexport default (initialConfig = {}, strapi?: Strapi | LoadedStrapi): ConfigProvider => {\n const _config: Config = { ...initialConfig }; // not deep clone because it would break some config\n\n // Accessing model configs with dot (.) was deprecated between v4->v5, but to avoid a major breaking change\n // we will still support certain namespaces, currently only 'plugin.'\n const transformDeprecatedPaths = (path: PropertyName) => {\n if (isString(path) && path.startsWith('plugin.')) {\n const newPath = path.replace('plugin.', 'plugin::');\n\n // strapi logger may not be loaded yet, so fall back to console\n (strapi?.log?.warn ?? console.warn)(\n `Using dot notation for model config namespaces is deprecated, for example \"plugin::myplugin\" should be used instead of \"plugin.myplugin\". Modifying requested path ${path} to ${newPath}`\n );\n return newPath;\n }\n\n return path;\n };\n\n return {\n ..._config, // TODO: to remove\n get(path: PropertyName, defaultValue?: unknown) {\n return get(_config, transformDeprecatedPaths(path), defaultValue);\n },\n set(path: PropertyName, val: unknown) {\n set(_config, transformDeprecatedPaths(path), val);\n return this;\n },\n has(path: PropertyName) {\n return has(_config, path);\n },\n };\n};\n"],"names":[],"mappings":";AAKA,MAAA,SAAe,CAAC,gBAAgB,CAAC,GAAG,WAAmD;AAC/E,QAAA,UAAkB,EAAE,GAAG;AAIvB,QAAA,2BAA2B,CAAC,SAAuB;AACvD,QAAI,SAAS,IAAI,KAAK,KAAK,WAAW,SAAS,GAAG;AAChD,YAAM,UAAU,KAAK,QAAQ,WAAW,UAAU;AAGjD,OAAA,QAAQ,KAAK,QAAQ,QAAQ;AAAA,QAC5B,sKAAsK,IAAI,OAAO,OAAO;AAAA,MAAA;AAEnL,aAAA;AAAA,IACT;AAEO,WAAA;AAAA,EAAA;AAGF,SAAA;AAAA,IACL,GAAG;AAAA;AAAA,IACH,IAAI,MAAoB,cAAwB;AAC9C,aAAO,IAAI,SAAS,yBAAyB,IAAI,GAAG,YAAY;AAAA,IAClE;AAAA,IACA,IAAI,MAAoB,KAAc;AACpC,UAAI,SAAS,yBAAyB,IAAI,GAAG,GAAG;AACzC,aAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAoB;AACf,aAAA,IAAI,SAAS,IAAI;AAAA,IAC1B;AAAA,EAAA;AAEJ;"}
@@ -1,8 +0,0 @@
1
- type Middleware = (ctx: any, next: () => Promise<void>) => Promise<void>;
2
- export declare const createMiddlewareManager: () => {
3
- use(middleware: any): () => Middleware[];
4
- run(ctx: any, cb: () => void): Promise<void>;
5
- wrapObject<TSource extends Record<string, any>>(source: TSource, ctxDefaults?: {}): TSource;
6
- };
7
- export {};
8
- //# sourceMappingURL=middlewares.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/middlewares.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzE,eAAO,MAAM,uBAAuB;oBAIhB,GAAG;aAMJ,GAAG,MAAM,MAAM,IAAI;;CA4CrC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"middlewares.js","sources":["../../../src/services/document-service/middlewares.ts"],"sourcesContent":["type Middleware = (ctx: any, next: () => Promise<void>) => Promise<void>;\n\nexport const createMiddlewareManager = () => {\n const middlewares: Middleware[] = [];\n\n const manager = {\n use(middleware: any) {\n middlewares.push(middleware);\n\n return () => middlewares.splice(middlewares.indexOf(middleware), 1);\n },\n\n async run(ctx: any, cb: () => void) {\n let index = 0;\n const next = async () => {\n if (index < middlewares.length) {\n // eslint-disable-next-line no-plusplus\n return middlewares[index++](ctx, next);\n }\n\n return cb();\n };\n\n return next();\n },\n\n wrapObject<TSource extends Record<string, any>>(source: TSource, ctxDefaults = {}): TSource {\n const facade: TSource = {} as TSource;\n\n for (const key in source) {\n if (Object.hasOwnProperty.call(source, key)) {\n const prop = source[key];\n\n if (typeof prop === 'function') {\n const newMethod = async (...args: any[]) => {\n const ctx = {\n ...ctxDefaults,\n action: key,\n args,\n };\n\n return manager.run(ctx, () => prop(...ctx.args));\n };\n\n facade[key] = newMethod as typeof prop;\n } else {\n facade[key] = prop;\n }\n }\n }\n\n return facade;\n },\n };\n\n return manager;\n};\n"],"names":[],"mappings":";;AAEO,MAAM,0BAA0B,MAAM;AAC3C,QAAM,cAA4B,CAAA;AAElC,QAAM,UAAU;AAAA,IACd,IAAI,YAAiB;AACnB,kBAAY,KAAK,UAAU;AAE3B,aAAO,MAAM,YAAY,OAAO,YAAY,QAAQ,UAAU,GAAG,CAAC;AAAA,IACpE;AAAA,IAEA,MAAM,IAAI,KAAU,IAAgB;AAClC,UAAI,QAAQ;AACZ,YAAM,OAAO,YAAY;AACnB,YAAA,QAAQ,YAAY,QAAQ;AAE9B,iBAAO,YAAY,OAAO,EAAE,KAAK,IAAI;AAAA,QACvC;AAEA,eAAO,GAAG;AAAA,MAAA;AAGZ,aAAO,KAAK;AAAA,IACd;AAAA,IAEA,WAAgD,QAAiB,cAAc,IAAa;AAC1F,YAAM,SAAkB,CAAA;AAExB,iBAAW,OAAO,QAAQ;AACxB,YAAI,OAAO,eAAe,KAAK,QAAQ,GAAG,GAAG;AACrC,gBAAA,OAAO,OAAO,GAAG;AAEnB,cAAA,OAAO,SAAS,YAAY;AACxB,kBAAA,YAAY,UAAU,SAAgB;AAC1C,oBAAM,MAAM;AAAA,gBACV,GAAG;AAAA,gBACH,QAAQ;AAAA,gBACR;AAAA,cAAA;AAGK,qBAAA,QAAQ,IAAI,KAAK,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC;AAAA,YAAA;AAGjD,mBAAO,GAAG,IAAI;AAAA,UAAA,OACT;AACL,mBAAO,GAAG,IAAI;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IACT;AAAA,EAAA;AAGK,SAAA;AACT;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"middlewares.mjs","sources":["../../../src/services/document-service/middlewares.ts"],"sourcesContent":["type Middleware = (ctx: any, next: () => Promise<void>) => Promise<void>;\n\nexport const createMiddlewareManager = () => {\n const middlewares: Middleware[] = [];\n\n const manager = {\n use(middleware: any) {\n middlewares.push(middleware);\n\n return () => middlewares.splice(middlewares.indexOf(middleware), 1);\n },\n\n async run(ctx: any, cb: () => void) {\n let index = 0;\n const next = async () => {\n if (index < middlewares.length) {\n // eslint-disable-next-line no-plusplus\n return middlewares[index++](ctx, next);\n }\n\n return cb();\n };\n\n return next();\n },\n\n wrapObject<TSource extends Record<string, any>>(source: TSource, ctxDefaults = {}): TSource {\n const facade: TSource = {} as TSource;\n\n for (const key in source) {\n if (Object.hasOwnProperty.call(source, key)) {\n const prop = source[key];\n\n if (typeof prop === 'function') {\n const newMethod = async (...args: any[]) => {\n const ctx = {\n ...ctxDefaults,\n action: key,\n args,\n };\n\n return manager.run(ctx, () => prop(...ctx.args));\n };\n\n facade[key] = newMethod as typeof prop;\n } else {\n facade[key] = prop;\n }\n }\n }\n\n return facade;\n },\n };\n\n return manager;\n};\n"],"names":[],"mappings":"AAEO,MAAM,0BAA0B,MAAM;AAC3C,QAAM,cAA4B,CAAA;AAElC,QAAM,UAAU;AAAA,IACd,IAAI,YAAiB;AACnB,kBAAY,KAAK,UAAU;AAE3B,aAAO,MAAM,YAAY,OAAO,YAAY,QAAQ,UAAU,GAAG,CAAC;AAAA,IACpE;AAAA,IAEA,MAAM,IAAI,KAAU,IAAgB;AAClC,UAAI,QAAQ;AACZ,YAAM,OAAO,YAAY;AACnB,YAAA,QAAQ,YAAY,QAAQ;AAE9B,iBAAO,YAAY,OAAO,EAAE,KAAK,IAAI;AAAA,QACvC;AAEA,eAAO,GAAG;AAAA,MAAA;AAGZ,aAAO,KAAK;AAAA,IACd;AAAA,IAEA,WAAgD,QAAiB,cAAc,IAAa;AAC1F,YAAM,SAAkB,CAAA;AAExB,iBAAW,OAAO,QAAQ;AACxB,YAAI,OAAO,eAAe,KAAK,QAAQ,GAAG,GAAG;AACrC,gBAAA,OAAO,OAAO,GAAG;AAEnB,cAAA,OAAO,SAAS,YAAY;AACxB,kBAAA,YAAY,UAAU,SAAgB;AAC1C,oBAAM,MAAM;AAAA,gBACV,GAAG;AAAA,gBACH,QAAQ;AAAA,gBACR;AAAA,cAAA;AAGK,qBAAA,QAAQ,IAAI,KAAK,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC;AAAA,YAAA;AAGjD,mBAAO,GAAG,IAAI;AAAA,UAAA,OACT;AACL,mBAAO,GAAG,IAAI;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IACT;AAAA,EAAA;AAGK,SAAA;AACT;"}
@@ -1,3 +0,0 @@
1
- import { type Data, type Options } from './types';
2
- export declare const transformFilters: (data: Data, opts: Options) => Promise<unknown>;
3
- //# sourceMappingURL=filters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/transform/filters.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAyBlD,eAAO,MAAM,gBAAgB,SAAgB,IAAI,QAAQ,OAAO,qBAqC/D,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Common } from '@strapi/types';
2
- declare const transformOutputIds: (uid: Common.UID.Schema, output: Record<string, any>) => Promise<import("@strapi/utils/dist/types").Data>;
3
- export { transformOutputIds };
4
- //# sourceMappingURL=output-ids.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output-ids.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/transform/output-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAKvC,QAAA,MAAM,kBAAkB,QAAe,OAAO,GAAG,CAAC,MAAM,UAAU,OAAO,MAAM,EAAE,GAAG,CAAC,qDAuBpF,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
4
- const isShortHand = (relation) => {
5
- return typeof relation === "string" || typeof relation === "number";
6
- };
7
- const isLongHand = (relation) => {
8
- return _.isObject(relation) && ("id" in relation || "documentId" in relation);
9
- };
10
- exports.isLongHand = isLongHand;
11
- exports.isShortHand = isShortHand;
12
- //# sourceMappingURL=data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/data.ts"],"sourcesContent":["import { isObject } from 'lodash/fp';\nimport { ID, LongHand } from './types';\n\nexport const isShortHand = (relation: any): relation is ID => {\n return typeof relation === 'string' || typeof relation === 'number';\n};\n\nexport const isLongHand = (relation: any): relation is LongHand => {\n return isObject(relation) && ('id' in relation || 'documentId' in relation);\n};\n"],"names":["isObject"],"mappings":";;;AAGa,MAAA,cAAc,CAAC,aAAkC;AAC5D,SAAO,OAAO,aAAa,YAAY,OAAO,aAAa;AAC7D;AAEa,MAAA,aAAa,CAAC,aAAwC;AACjE,SAAOA,EAAAA,SAAS,QAAQ,MAAM,QAAQ,YAAY,gBAAgB;AACpE;;;"}
@@ -1,12 +0,0 @@
1
- import { isObject } from "lodash/fp";
2
- const isShortHand = (relation) => {
3
- return typeof relation === "string" || typeof relation === "number";
4
- };
5
- const isLongHand = (relation) => {
6
- return isObject(relation) && ("id" in relation || "documentId" in relation);
7
- };
8
- export {
9
- isLongHand,
10
- isShortHand
11
- };
12
- //# sourceMappingURL=data.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/data.ts"],"sourcesContent":["import { isObject } from 'lodash/fp';\nimport { ID, LongHand } from './types';\n\nexport const isShortHand = (relation: any): relation is ID => {\n return typeof relation === 'string' || typeof relation === 'number';\n};\n\nexport const isLongHand = (relation: any): relation is LongHand => {\n return isObject(relation) && ('id' in relation || 'documentId' in relation);\n};\n"],"names":[],"mappings":";AAGa,MAAA,cAAc,CAAC,aAAkC;AAC5D,SAAO,OAAO,aAAa,YAAY,OAAO,aAAa;AAC7D;AAEa,MAAA,aAAa,CAAC,aAAwC;AACjE,SAAO,SAAS,QAAQ,MAAM,QAAQ,YAAY,gBAAgB;AACpE;"}
@@ -1,5 +0,0 @@
1
- import { Options, Data } from './types';
2
- type Sort = Data | string;
3
- export declare const transformSort: (sort: Sort | Sort[], opts: Options) => Promise<unknown>;
4
- export {};
5
- //# sourceMappingURL=sort.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/transform/sort.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGxC,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAiC1B,eAAO,MAAM,aAAa,SAAgB,IAAI,GAAG,IAAI,EAAE,QAAQ,OAAO,qBAoBrE,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Replace the documentId field with id
3
- */
4
- export declare const switchIdForDocumentId: (output: Record<string, any>) => Record<string, any>;
5
- /**
6
- * Replace the id field for documentId
7
- */
8
- export declare const switchDocumentIdForId: (output: Record<string, any>) => Record<string, any>;
9
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/transform/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,WAAY,OAAO,MAAM,EAAE,GAAG,CAAC,wBAUhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,WAAY,OAAO,MAAM,EAAE,GAAG,CAAC,wBAUhE,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { Common, Shared, EntityService } from '@strapi/types';
2
- declare const applyTransforms: <TUID extends Common.UID.ContentType>(data: EntityService.Params.Data.Input<TUID>, context: {
3
- contentType: Shared.ContentTypes[TUID];
4
- }) => EntityService.Params.Data.Input<TUID>;
5
- export { applyTransforms };
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/entity-service/attributes/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnE,QAAA,MAAM,eAAe;;2CA6BpB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/services/entity-service/attributes/index.ts"],"sourcesContent":["import type { Common, Shared, EntityService } from '@strapi/types';\nimport transforms from './transforms';\n\nconst applyTransforms = <TUID extends Common.UID.ContentType>(\n data: EntityService.Params.Data.Input<TUID>,\n context: {\n contentType: Shared.ContentTypes[TUID];\n }\n) => {\n const { contentType } = context;\n\n const attributeNames = Object.keys(data) as Array<keyof typeof data & string>;\n\n for (const attributeName of attributeNames) {\n const value = data[attributeName];\n\n const attribute = contentType.attributes[attributeName];\n\n if (!attribute) {\n continue;\n }\n\n const transform = transforms[attribute.type];\n\n if (transform) {\n const attributeContext = { ...context, attributeName, attribute };\n\n data[attributeName] = transform(value, attributeContext);\n }\n }\n\n return data;\n};\n\nexport { applyTransforms };\n"],"names":[],"mappings":";;;AAGM,MAAA,kBAAkB,CACtB,MACA,YAGG;AACG,QAAA,EAAE,YAAgB,IAAA;AAElB,QAAA,iBAAiB,OAAO,KAAK,IAAI;AAEvC,aAAW,iBAAiB,gBAAgB;AACpC,UAAA,QAAQ,KAAK,aAAa;AAE1B,UAAA,YAAY,YAAY,WAAW,aAAa;AAEtD,QAAI,CAAC,WAAW;AACd;AAAA,IACF;AAEM,UAAA,YAAY,WAAW,UAAU,IAAI;AAE3C,QAAI,WAAW;AACb,YAAM,mBAAmB,EAAE,GAAG,SAAS,eAAe,UAAU;AAEhE,WAAK,aAAa,IAAI,UAAU,OAAO,gBAAgB;AAAA,IACzD;AAAA,EACF;AAEO,SAAA;AACT;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../src/services/entity-service/attributes/index.ts"],"sourcesContent":["import type { Common, Shared, EntityService } from '@strapi/types';\nimport transforms from './transforms';\n\nconst applyTransforms = <TUID extends Common.UID.ContentType>(\n data: EntityService.Params.Data.Input<TUID>,\n context: {\n contentType: Shared.ContentTypes[TUID];\n }\n) => {\n const { contentType } = context;\n\n const attributeNames = Object.keys(data) as Array<keyof typeof data & string>;\n\n for (const attributeName of attributeNames) {\n const value = data[attributeName];\n\n const attribute = contentType.attributes[attributeName];\n\n if (!attribute) {\n continue;\n }\n\n const transform = transforms[attribute.type];\n\n if (transform) {\n const attributeContext = { ...context, attributeName, attribute };\n\n data[attributeName] = transform(value, attributeContext);\n }\n }\n\n return data;\n};\n\nexport { applyTransforms };\n"],"names":[],"mappings":";AAGM,MAAA,kBAAkB,CACtB,MACA,YAGG;AACG,QAAA,EAAE,YAAgB,IAAA;AAElB,QAAA,iBAAiB,OAAO,KAAK,IAAI;AAEvC,aAAW,iBAAiB,gBAAgB;AACpC,UAAA,QAAQ,KAAK,aAAa;AAE1B,UAAA,YAAY,YAAY,WAAW,aAAa;AAEtD,QAAI,CAAC,WAAW;AACd;AAAA,IACF;AAEM,UAAA,YAAY,WAAW,UAAU,IAAI;AAE3C,QAAI,WAAW;AACb,YAAM,mBAAmB,EAAE,GAAG,SAAS,eAAe,UAAU;AAEhE,WAAK,aAAa,IAAI,UAAU,OAAO,gBAAgB;AAAA,IACzD;AAAA,EACF;AAEO,SAAA;AACT;"}
@@ -1,10 +0,0 @@
1
- import type { Attribute } from '@strapi/types';
2
- type Transforms = {
3
- [TKind in Attribute.Kind]?: (value: unknown, context: {
4
- attribute: Attribute.Any;
5
- attributeName: string;
6
- }) => any;
7
- };
8
- declare const transforms: Transforms;
9
- export default transforms;
10
- //# sourceMappingURL=transforms.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../../../../src/services/entity-service/attributes/transforms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,KAAK,UAAU,GAAG;KACf,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAC1B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,KACzD,GAAG;CACT,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,UAgBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transforms.js","sources":["../../../../src/services/entity-service/attributes/transforms.ts"],"sourcesContent":["import { getOr, toNumber, isString } from 'lodash/fp';\nimport type { Attribute } from '@strapi/types';\nimport bcrypt from 'bcryptjs';\n\ntype Transforms = {\n [TKind in Attribute.Kind]?: (\n value: unknown,\n context: { attribute: Attribute.Any; attributeName: string }\n ) => any;\n};\n\nconst transforms: Transforms = {\n password(value, context) {\n const { attribute } = context;\n\n if (attribute.type !== 'password') {\n throw new Error('Invalid attribute type');\n }\n\n if (!isString(value) && !(value instanceof Buffer)) {\n return value;\n }\n\n const rounds = toNumber(getOr(10, 'encryption.rounds', attribute));\n\n return bcrypt.hashSync(value.toString(), rounds);\n },\n};\n\nexport default transforms;\n"],"names":["isString","toNumber","getOr","bcrypt"],"mappings":";;;;;AAWA,MAAM,aAAyB;AAAA,EAC7B,SAAS,OAAO,SAAS;AACjB,UAAA,EAAE,UAAc,IAAA;AAElB,QAAA,UAAU,SAAS,YAAY;AAC3B,YAAA,IAAI,MAAM,wBAAwB;AAAA,IAC1C;AAEA,QAAI,CAACA,EAAS,SAAA,KAAK,KAAK,EAAE,iBAAiB,SAAS;AAC3C,aAAA;AAAA,IACT;AAEA,UAAM,SAASC,EAAAA,SAASC,EAAA,MAAM,IAAI,qBAAqB,SAAS,CAAC;AAEjE,WAAOC,gBAAAA,QAAO,SAAS,MAAM,YAAY,MAAM;AAAA,EACjD;AACF;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transforms.mjs","sources":["../../../../src/services/entity-service/attributes/transforms.ts"],"sourcesContent":["import { getOr, toNumber, isString } from 'lodash/fp';\nimport type { Attribute } from '@strapi/types';\nimport bcrypt from 'bcryptjs';\n\ntype Transforms = {\n [TKind in Attribute.Kind]?: (\n value: unknown,\n context: { attribute: Attribute.Any; attributeName: string }\n ) => any;\n};\n\nconst transforms: Transforms = {\n password(value, context) {\n const { attribute } = context;\n\n if (attribute.type !== 'password') {\n throw new Error('Invalid attribute type');\n }\n\n if (!isString(value) && !(value instanceof Buffer)) {\n return value;\n }\n\n const rounds = toNumber(getOr(10, 'encryption.rounds', attribute));\n\n return bcrypt.hashSync(value.toString(), rounds);\n },\n};\n\nexport default transforms;\n"],"names":[],"mappings":";;AAWA,MAAM,aAAyB;AAAA,EAC7B,SAAS,OAAO,SAAS;AACjB,UAAA,EAAE,UAAc,IAAA;AAElB,QAAA,UAAU,SAAS,YAAY;AAC3B,YAAA,IAAI,MAAM,wBAAwB;AAAA,IAC1C;AAEA,QAAI,CAAC,SAAS,KAAK,KAAK,EAAE,iBAAiB,SAAS;AAC3C,aAAA;AAAA,IACT;AAEA,UAAM,SAAS,SAAS,MAAM,IAAI,qBAAqB,SAAS,CAAC;AAEjE,WAAO,OAAO,SAAS,MAAM,YAAY,MAAM;AAAA,EACjD;AACF;"}
@@ -1,23 +0,0 @@
1
- import type { Attribute, Common, Schema, EntityService } from '@strapi/types';
2
- type LoadedComponents<TUID extends Common.UID.Schema> = Attribute.GetValues<TUID, Attribute.GetKeysByType<TUID, 'component' | 'dynamiczone'>>;
3
- type ComponentBody = {
4
- [key: string]: Attribute.GetValue<Attribute.Component<Common.UID.Component, false> | Attribute.Component<Common.UID.Component, true> | Attribute.DynamicZone>;
5
- };
6
- declare function omitComponentData(contentType: Schema.ContentType, data: EntityService.Params.Data.Input<Schema.ContentType['uid']>): Partial<EntityService.Params.Data.Input<Schema.ContentType['uid']>>;
7
- declare function omitComponentData(contentType: Schema.Component, data: EntityService.Params.Data.Input<Schema.Component['uid']>): Partial<EntityService.Params.Data.Input<Schema.Component['uid']>>;
8
- declare const createComponents: <TUID extends Common.UID.Schema, TData extends EntityService.Params.Data.Input<TUID>>(uid: TUID, data: TData) => Promise<ComponentBody>;
9
- declare const getComponents: <TUID extends Common.UID.Schema>(uid: TUID, entity: {
10
- id: EntityService.Params.Attribute.ID;
11
- }) => Promise<LoadedComponents<TUID>>;
12
- declare const updateComponents: <TUID extends Common.UID.Schema, TData extends Partial<EntityService.Params.Data.Input<TUID>>>(uid: TUID, entityToUpdate: {
13
- id: EntityService.Params.Attribute.ID;
14
- }, data: TData) => Promise<ComponentBody>;
15
- declare const deleteComponents: <TUID extends Common.UID.Schema, TEntity extends Attribute.GetValues<TUID, Attribute.GetKeys<TUID>>>(uid: TUID, entityToDelete: TEntity, { loadComponents }?: {
16
- loadComponents?: boolean | undefined;
17
- }) => Promise<void>;
18
- declare const cloneComponents: <TUID extends Common.UID.Schema>(uid: TUID, entityToClone: {
19
- id: EntityService.Params.Attribute.ID;
20
- }, data: EntityService.Params.Data.Input<TUID>) => Promise<ComponentBody>;
21
- declare const deleteComponent: <TUID extends `${string}.${string}`>(uid: TUID, componentToDelete: Attribute.GetValues<TUID, Attribute.GetKeys<TUID>>) => Promise<void>;
22
- export { omitComponentData, getComponents, createComponents, updateComponents, deleteComponents, deleteComponent, cloneComponents, };
23
- //# sourceMappingURL=components.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/services/entity-service/components.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAS,aAAa,EAAE,MAAM,eAAe,CAAC;AAGrF,KAAK,gBAAgB,CAAC,IAAI,SAAS,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,SAAS,CACzE,IAAI,EACJ,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAAC,CAC3D,CAAC;AAMF,KAAK,aAAa,GAAG;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,CAC7B,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,GAChD,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAC/C,SAAS,CAAC,WAAW,CACxB,CAAC;CACH,CAAC;AAIF,iBAAS,iBAAiB,CACxB,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAC/D,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvE,iBAAS,iBAAiB,CACxB,WAAW,EAAE,MAAM,CAAC,SAAS,EAC7B,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAC7D,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAcrE,QAAA,MAAM,gBAAgB,yIAqGrB,CAAC;AAEF,QAAA,MAAM,aAAa,sDAET;IAAE,EAAE,EAAE,cAAc,MAAM,UAAU,CAAC,EAAE,CAAA;CAAE,oCASlD,CAAC;AAMF,QAAA,MAAM,gBAAgB,4HAKJ;IAAE,EAAE,EAAE,cAAc,MAAM,UAAU,CAAC,EAAE,CAAA;CAAE,wCA2F1D,CAAC;AAkGF,QAAA,MAAM,gBAAgB;;mBAkDrB,CAAC;AAEF,QAAA,MAAM,eAAe,6DAEJ;IAAE,EAAE,EAAE,cAAc,MAAM,UAAU,CAAC,EAAE,CAAA;CAAE,wEA4FzD,CAAC;AA6DF,QAAA,MAAM,eAAe,yIAMpB,CAAC;AAyBF,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.js","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, async, 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 async.map(\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 async.map(\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 async.map(\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 async.map(\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 async.map(\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 async.map(\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 async.map(\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 async.map(\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","omit","has","async","_","errors","pipe","assign"],"mappings":"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"}
@@ -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, async, 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 async.map(\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 async.map(\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 async.map(\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 async.map(\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 async.map(\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 async.map(\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 async.map(\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 async.map(\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, Documents } from '@strapi/types';
2
- declare const pickSelectionParams: <TUID extends Common.UID.ContentType>(data: unknown) => {
3
- fields?: Documents.Params.Fields.Any<TUID> | undefined;
4
- } & {
5
- populate?: Documents.Params.Populate.Any<TUID> | undefined;
6
- } & Documents.Params.PublicationStatus.Param;
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,SAAS,EAAE,MAAM,eAAe,CAAC;AAEvD,QAAA,MAAM,mBAAmB,8CACjB,OAAO;;;;4CAGd,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -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, Documents } from '@strapi/types';\n\nconst pickSelectionParams = <TUID extends Common.UID.ContentType>(\n data: unknown\n): Documents.Params.Pick<TUID, 'fields' | 'populate' | 'status'> => {\n return pick(['fields', 'populate', 'status'], data);\n};\n\nexport { pickSelectionParams };\n"],"names":["pick"],"mappings":";;;AAGM,MAAA,sBAAsB,CAC1B,SACkE;AAClE,SAAOA,EAAAA,KAAK,CAAC,UAAU,YAAY,QAAQ,GAAG,IAAI;AACpD;;"}
@@ -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, Documents } from '@strapi/types';\n\nconst pickSelectionParams = <TUID extends Common.UID.ContentType>(\n data: unknown\n): Documents.Params.Pick<TUID, 'fields' | 'populate' | 'status'> => {\n return pick(['fields', 'populate', 'status'], data);\n};\n\nexport { pickSelectionParams };\n"],"names":[],"mappings":";AAGM,MAAA,sBAAsB,CAC1B,SACkE;AAClE,SAAO,KAAK,CAAC,UAAU,YAAY,QAAQ,GAAG,IAAI;AACpD;"}
@@ -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"}