@strapi/core 0.0.0-experimental.44c735643fa8b4286750c2dca43f185bb30b7760 → 0.0.0-experimental.450e4ff9428f8004f7486fabc43fc65a1348f328

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.

Potentially problematic release.


This version of @strapi/core might be problematic. Click here for more details.

Files changed (737) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +429 -403
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +428 -402
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/compile.js +23 -14
  7. package/dist/compile.js.map +1 -1
  8. package/dist/compile.mjs +22 -14
  9. package/dist/compile.mjs.map +1 -1
  10. package/dist/configuration/config-loader.js +110 -97
  11. package/dist/configuration/config-loader.js.map +1 -1
  12. package/dist/configuration/config-loader.mjs +109 -96
  13. package/dist/configuration/config-loader.mjs.map +1 -1
  14. package/dist/configuration/get-dirs.js +31 -29
  15. package/dist/configuration/get-dirs.js.map +1 -1
  16. package/dist/configuration/get-dirs.mjs +30 -30
  17. package/dist/configuration/get-dirs.mjs.map +1 -1
  18. package/dist/configuration/index.d.ts +1 -0
  19. package/dist/configuration/index.d.ts.map +1 -1
  20. package/dist/configuration/index.js +85 -73
  21. package/dist/configuration/index.js.map +1 -1
  22. package/dist/configuration/index.mjs +84 -69
  23. package/dist/configuration/index.mjs.map +1 -1
  24. package/dist/configuration/urls.d.ts.map +1 -1
  25. package/dist/configuration/urls.js +74 -61
  26. package/dist/configuration/urls.js.map +1 -1
  27. package/dist/configuration/urls.mjs +73 -62
  28. package/dist/configuration/urls.mjs.map +1 -1
  29. package/dist/container.js +27 -23
  30. package/dist/container.js.map +1 -1
  31. package/dist/container.mjs +26 -24
  32. package/dist/container.mjs.map +1 -1
  33. package/dist/core-api/controller/collection-type.js +77 -76
  34. package/dist/core-api/controller/collection-type.js.map +1 -1
  35. package/dist/core-api/controller/collection-type.mjs +76 -77
  36. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  37. package/dist/core-api/controller/index.js +63 -48
  38. package/dist/core-api/controller/index.js.map +1 -1
  39. package/dist/core-api/controller/index.mjs +62 -49
  40. package/dist/core-api/controller/index.mjs.map +1 -1
  41. package/dist/core-api/controller/single-type.js +41 -40
  42. package/dist/core-api/controller/single-type.js.map +1 -1
  43. package/dist/core-api/controller/single-type.mjs +40 -41
  44. package/dist/core-api/controller/single-type.mjs.map +1 -1
  45. package/dist/core-api/controller/transform.js +72 -63
  46. package/dist/core-api/controller/transform.js.map +1 -1
  47. package/dist/core-api/controller/transform.mjs +71 -64
  48. package/dist/core-api/controller/transform.mjs.map +1 -1
  49. package/dist/core-api/routes/index.js +64 -62
  50. package/dist/core-api/routes/index.js.map +1 -1
  51. package/dist/core-api/routes/index.mjs +62 -62
  52. package/dist/core-api/routes/index.mjs.map +1 -1
  53. package/dist/core-api/service/collection-type.js +73 -60
  54. package/dist/core-api/service/collection-type.js.map +1 -1
  55. package/dist/core-api/service/collection-type.mjs +72 -62
  56. package/dist/core-api/service/collection-type.mjs.map +1 -1
  57. package/dist/core-api/service/core-service.js +9 -8
  58. package/dist/core-api/service/core-service.js.map +1 -1
  59. package/dist/core-api/service/core-service.mjs +8 -9
  60. package/dist/core-api/service/core-service.mjs.map +1 -1
  61. package/dist/core-api/service/index.js +13 -13
  62. package/dist/core-api/service/index.js.map +1 -1
  63. package/dist/core-api/service/index.mjs +12 -14
  64. package/dist/core-api/service/index.mjs.map +1 -1
  65. package/dist/core-api/service/pagination.js +69 -43
  66. package/dist/core-api/service/pagination.js.map +1 -1
  67. package/dist/core-api/service/pagination.mjs +68 -47
  68. package/dist/core-api/service/pagination.mjs.map +1 -1
  69. package/dist/core-api/service/single-type.js +43 -39
  70. package/dist/core-api/service/single-type.js.map +1 -1
  71. package/dist/core-api/service/single-type.mjs +42 -41
  72. package/dist/core-api/service/single-type.mjs.map +1 -1
  73. package/dist/domain/content-type/index.d.ts.map +1 -1
  74. package/dist/domain/content-type/index.js +95 -115
  75. package/dist/domain/content-type/index.js.map +1 -1
  76. package/dist/domain/content-type/index.mjs +94 -115
  77. package/dist/domain/content-type/index.mjs.map +1 -1
  78. package/dist/domain/content-type/validator.js +84 -69
  79. package/dist/domain/content-type/validator.js.map +1 -1
  80. package/dist/domain/content-type/validator.mjs +83 -68
  81. package/dist/domain/content-type/validator.mjs.map +1 -1
  82. package/dist/domain/module/index.js +109 -100
  83. package/dist/domain/module/index.js.map +1 -1
  84. package/dist/domain/module/index.mjs +108 -99
  85. package/dist/domain/module/index.mjs.map +1 -1
  86. package/dist/domain/module/validation.js +25 -20
  87. package/dist/domain/module/validation.js.map +1 -1
  88. package/dist/domain/module/validation.mjs +24 -21
  89. package/dist/domain/module/validation.mjs.map +1 -1
  90. package/dist/ee/index.d.ts +7 -0
  91. package/dist/ee/index.d.ts.map +1 -1
  92. package/dist/ee/index.js +197 -132
  93. package/dist/ee/index.js.map +1 -1
  94. package/dist/ee/index.mjs +196 -134
  95. package/dist/ee/index.mjs.map +1 -1
  96. package/dist/ee/license.d.ts +3 -1
  97. package/dist/ee/license.d.ts.map +1 -1
  98. package/dist/ee/license.js +105 -75
  99. package/dist/ee/license.js.map +1 -1
  100. package/dist/ee/license.mjs +103 -76
  101. package/dist/ee/license.mjs.map +1 -1
  102. package/dist/factories.js +72 -67
  103. package/dist/factories.js.map +1 -1
  104. package/dist/factories.mjs +71 -71
  105. package/dist/factories.mjs.map +1 -1
  106. package/dist/index.js +29 -26
  107. package/dist/index.js.map +1 -1
  108. package/dist/index.mjs +29 -29
  109. package/dist/index.mjs.map +1 -1
  110. package/dist/loaders/admin.d.ts.map +1 -1
  111. package/dist/loaders/admin.js +21 -20
  112. package/dist/loaders/admin.js.map +1 -1
  113. package/dist/loaders/admin.mjs +20 -20
  114. package/dist/loaders/admin.mjs.map +1 -1
  115. package/dist/loaders/apis.js +143 -120
  116. package/dist/loaders/apis.js.map +1 -1
  117. package/dist/loaders/apis.mjs +142 -119
  118. package/dist/loaders/apis.mjs.map +1 -1
  119. package/dist/loaders/components.js +33 -34
  120. package/dist/loaders/components.js.map +1 -1
  121. package/dist/loaders/components.mjs +32 -34
  122. package/dist/loaders/components.mjs.map +1 -1
  123. package/dist/loaders/index.js +22 -20
  124. package/dist/loaders/index.js.map +1 -1
  125. package/dist/loaders/index.mjs +21 -21
  126. package/dist/loaders/index.mjs.map +1 -1
  127. package/dist/loaders/middlewares.js +29 -25
  128. package/dist/loaders/middlewares.js.map +1 -1
  129. package/dist/loaders/middlewares.mjs +28 -25
  130. package/dist/loaders/middlewares.mjs.map +1 -1
  131. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  132. package/dist/loaders/plugins/get-enabled-plugins.js +125 -127
  133. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  134. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -104
  135. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  136. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  137. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  138. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  139. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  140. package/dist/loaders/plugins/index.d.ts.map +1 -1
  141. package/dist/loaders/plugins/index.js +141 -104
  142. package/dist/loaders/plugins/index.js.map +1 -1
  143. package/dist/loaders/plugins/index.mjs +121 -104
  144. package/dist/loaders/plugins/index.mjs.map +1 -1
  145. package/dist/loaders/policies.js +24 -20
  146. package/dist/loaders/policies.js.map +1 -1
  147. package/dist/loaders/policies.mjs +23 -20
  148. package/dist/loaders/policies.mjs.map +1 -1
  149. package/dist/loaders/sanitizers.js +10 -4
  150. package/dist/loaders/sanitizers.js.map +1 -1
  151. package/dist/loaders/sanitizers.mjs +9 -6
  152. package/dist/loaders/sanitizers.mjs.map +1 -1
  153. package/dist/loaders/src-index.js +35 -27
  154. package/dist/loaders/src-index.js.map +1 -1
  155. package/dist/loaders/src-index.mjs +34 -29
  156. package/dist/loaders/src-index.mjs.map +1 -1
  157. package/dist/loaders/validators.js +9 -4
  158. package/dist/loaders/validators.js.map +1 -1
  159. package/dist/loaders/validators.mjs +8 -6
  160. package/dist/loaders/validators.mjs.map +1 -1
  161. package/dist/middlewares/body.d.ts.map +1 -1
  162. package/dist/middlewares/body.js +58 -54
  163. package/dist/middlewares/body.js.map +1 -1
  164. package/dist/middlewares/body.mjs +57 -51
  165. package/dist/middlewares/body.mjs.map +1 -1
  166. package/dist/middlewares/compression.js +6 -6
  167. package/dist/middlewares/compression.js.map +1 -1
  168. package/dist/middlewares/compression.mjs +5 -5
  169. package/dist/middlewares/compression.mjs.map +1 -1
  170. package/dist/middlewares/cors.js +59 -48
  171. package/dist/middlewares/cors.js.map +1 -1
  172. package/dist/middlewares/cors.mjs +58 -47
  173. package/dist/middlewares/cors.mjs.map +1 -1
  174. package/dist/middlewares/errors.js +32 -30
  175. package/dist/middlewares/errors.js.map +1 -1
  176. package/dist/middlewares/errors.mjs +31 -31
  177. package/dist/middlewares/errors.mjs.map +1 -1
  178. package/dist/middlewares/favicon.js +27 -17
  179. package/dist/middlewares/favicon.js.map +1 -1
  180. package/dist/middlewares/favicon.mjs +26 -16
  181. package/dist/middlewares/favicon.mjs.map +1 -1
  182. package/dist/middlewares/index.js +32 -30
  183. package/dist/middlewares/index.js.map +1 -1
  184. package/dist/middlewares/index.mjs +31 -31
  185. package/dist/middlewares/index.mjs.map +1 -1
  186. package/dist/middlewares/ip.js +6 -6
  187. package/dist/middlewares/ip.js.map +1 -1
  188. package/dist/middlewares/ip.mjs +5 -5
  189. package/dist/middlewares/ip.mjs.map +1 -1
  190. package/dist/middlewares/logger.js +10 -9
  191. package/dist/middlewares/logger.js.map +1 -1
  192. package/dist/middlewares/logger.mjs +9 -10
  193. package/dist/middlewares/logger.mjs.map +1 -1
  194. package/dist/middlewares/powered-by.js +13 -9
  195. package/dist/middlewares/powered-by.js.map +1 -1
  196. package/dist/middlewares/powered-by.mjs +12 -10
  197. package/dist/middlewares/powered-by.mjs.map +1 -1
  198. package/dist/middlewares/public.js +33 -29
  199. package/dist/middlewares/public.js.map +1 -1
  200. package/dist/middlewares/public.mjs +32 -28
  201. package/dist/middlewares/public.mjs.map +1 -1
  202. package/dist/middlewares/query.js +35 -32
  203. package/dist/middlewares/query.js.map +1 -1
  204. package/dist/middlewares/query.mjs +34 -31
  205. package/dist/middlewares/query.mjs.map +1 -1
  206. package/dist/middlewares/response-time.js +10 -9
  207. package/dist/middlewares/response-time.js.map +1 -1
  208. package/dist/middlewares/response-time.mjs +9 -10
  209. package/dist/middlewares/response-time.mjs.map +1 -1
  210. package/dist/middlewares/responses.js +14 -12
  211. package/dist/middlewares/responses.js.map +1 -1
  212. package/dist/middlewares/responses.mjs +13 -13
  213. package/dist/middlewares/responses.mjs.map +1 -1
  214. package/dist/middlewares/security.js +109 -71
  215. package/dist/middlewares/security.js.map +1 -1
  216. package/dist/middlewares/security.mjs +108 -70
  217. package/dist/middlewares/security.mjs.map +1 -1
  218. package/dist/middlewares/session.js +26 -25
  219. package/dist/middlewares/session.js.map +1 -1
  220. package/dist/middlewares/session.mjs +25 -24
  221. package/dist/middlewares/session.mjs.map +1 -1
  222. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +14 -11
  223. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  224. package/dist/migrations/database/5.0.0-discard-drafts.js +153 -35
  225. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  226. package/dist/migrations/database/5.0.0-discard-drafts.mjs +152 -37
  227. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  228. package/dist/migrations/draft-publish.d.ts +2 -2
  229. package/dist/migrations/draft-publish.d.ts.map +1 -1
  230. package/dist/migrations/draft-publish.js +61 -34
  231. package/dist/migrations/draft-publish.js.map +1 -1
  232. package/dist/migrations/draft-publish.mjs +60 -36
  233. package/dist/migrations/draft-publish.mjs.map +1 -1
  234. package/dist/migrations/i18n.d.ts +5 -0
  235. package/dist/migrations/i18n.d.ts.map +1 -0
  236. package/dist/migrations/i18n.js +71 -0
  237. package/dist/migrations/i18n.js.map +1 -0
  238. package/dist/migrations/i18n.mjs +68 -0
  239. package/dist/migrations/i18n.mjs.map +1 -0
  240. package/dist/migrations/index.d.ts +5 -0
  241. package/dist/migrations/index.d.ts.map +1 -0
  242. package/dist/migrations/index.js +29 -0
  243. package/dist/migrations/index.js.map +1 -0
  244. package/dist/migrations/index.mjs +26 -0
  245. package/dist/migrations/index.mjs.map +1 -0
  246. package/dist/package.json.js +184 -0
  247. package/dist/package.json.js.map +1 -0
  248. package/dist/package.json.mjs +161 -0
  249. package/dist/package.json.mjs.map +1 -0
  250. package/dist/providers/admin.d.ts.map +1 -1
  251. package/dist/providers/admin.js +27 -17
  252. package/dist/providers/admin.js.map +1 -1
  253. package/dist/providers/admin.mjs +26 -19
  254. package/dist/providers/admin.mjs.map +1 -1
  255. package/dist/providers/coreStore.js +13 -8
  256. package/dist/providers/coreStore.js.map +1 -1
  257. package/dist/providers/coreStore.mjs +12 -10
  258. package/dist/providers/coreStore.mjs.map +1 -1
  259. package/dist/providers/cron.js +19 -16
  260. package/dist/providers/cron.js.map +1 -1
  261. package/dist/providers/cron.mjs +18 -18
  262. package/dist/providers/cron.mjs.map +1 -1
  263. package/dist/providers/index.js +18 -9
  264. package/dist/providers/index.js.map +1 -1
  265. package/dist/providers/index.mjs +17 -10
  266. package/dist/providers/index.mjs.map +1 -1
  267. package/dist/providers/provider.js +4 -3
  268. package/dist/providers/provider.js.map +1 -1
  269. package/dist/providers/provider.mjs +3 -4
  270. package/dist/providers/provider.mjs.map +1 -1
  271. package/dist/providers/registries.js +37 -32
  272. package/dist/providers/registries.js.map +1 -1
  273. package/dist/providers/registries.mjs +36 -34
  274. package/dist/providers/registries.mjs.map +1 -1
  275. package/dist/providers/telemetry.js +19 -16
  276. package/dist/providers/telemetry.js.map +1 -1
  277. package/dist/providers/telemetry.mjs +18 -18
  278. package/dist/providers/telemetry.mjs.map +1 -1
  279. package/dist/providers/webhooks.js +28 -26
  280. package/dist/providers/webhooks.js.map +1 -1
  281. package/dist/providers/webhooks.mjs +27 -28
  282. package/dist/providers/webhooks.mjs.map +1 -1
  283. package/dist/registries/apis.js +23 -20
  284. package/dist/registries/apis.js.map +1 -1
  285. package/dist/registries/apis.mjs +22 -22
  286. package/dist/registries/apis.mjs.map +1 -1
  287. package/dist/registries/components.js +35 -37
  288. package/dist/registries/components.js.map +1 -1
  289. package/dist/registries/components.mjs +34 -39
  290. package/dist/registries/components.mjs.map +1 -1
  291. package/dist/registries/content-types.js +54 -59
  292. package/dist/registries/content-types.js.map +1 -1
  293. package/dist/registries/content-types.mjs +53 -61
  294. package/dist/registries/content-types.mjs.map +1 -1
  295. package/dist/registries/controllers.js +70 -71
  296. package/dist/registries/controllers.js.map +1 -1
  297. package/dist/registries/controllers.mjs +69 -73
  298. package/dist/registries/controllers.mjs.map +1 -1
  299. package/dist/registries/custom-fields.js +75 -65
  300. package/dist/registries/custom-fields.js.map +1 -1
  301. package/dist/registries/custom-fields.mjs +74 -67
  302. package/dist/registries/custom-fields.mjs.map +1 -1
  303. package/dist/registries/hooks.js +46 -49
  304. package/dist/registries/hooks.js.map +1 -1
  305. package/dist/registries/hooks.mjs +45 -51
  306. package/dist/registries/hooks.mjs.map +1 -1
  307. package/dist/registries/middlewares.js +49 -51
  308. package/dist/registries/middlewares.js.map +1 -1
  309. package/dist/registries/middlewares.mjs +48 -53
  310. package/dist/registries/middlewares.mjs.map +1 -1
  311. package/dist/registries/models.js +14 -13
  312. package/dist/registries/models.js.map +1 -1
  313. package/dist/registries/models.mjs +13 -14
  314. package/dist/registries/models.mjs.map +1 -1
  315. package/dist/registries/modules.js +39 -36
  316. package/dist/registries/modules.js.map +1 -1
  317. package/dist/registries/modules.mjs +38 -38
  318. package/dist/registries/modules.mjs.map +1 -1
  319. package/dist/registries/namespace.js +21 -20
  320. package/dist/registries/namespace.js.map +1 -1
  321. package/dist/registries/namespace.mjs +20 -23
  322. package/dist/registries/namespace.mjs.map +1 -1
  323. package/dist/registries/plugins.js +23 -20
  324. package/dist/registries/plugins.js.map +1 -1
  325. package/dist/registries/plugins.mjs +22 -22
  326. package/dist/registries/plugins.mjs.map +1 -1
  327. package/dist/registries/policies.js +103 -96
  328. package/dist/registries/policies.js.map +1 -1
  329. package/dist/registries/policies.mjs +102 -98
  330. package/dist/registries/policies.mjs.map +1 -1
  331. package/dist/registries/sanitizers.js +23 -22
  332. package/dist/registries/sanitizers.js.map +1 -1
  333. package/dist/registries/sanitizers.mjs +22 -22
  334. package/dist/registries/sanitizers.mjs.map +1 -1
  335. package/dist/registries/services.js +71 -71
  336. package/dist/registries/services.js.map +1 -1
  337. package/dist/registries/services.mjs +70 -73
  338. package/dist/registries/services.mjs.map +1 -1
  339. package/dist/registries/validators.js +23 -22
  340. package/dist/registries/validators.js.map +1 -1
  341. package/dist/registries/validators.mjs +22 -22
  342. package/dist/registries/validators.mjs.map +1 -1
  343. package/dist/services/auth/index.js +74 -74
  344. package/dist/services/auth/index.js.map +1 -1
  345. package/dist/services/auth/index.mjs +73 -74
  346. package/dist/services/auth/index.mjs.map +1 -1
  347. package/dist/services/config.js +47 -43
  348. package/dist/services/config.js.map +1 -1
  349. package/dist/services/config.mjs +46 -44
  350. package/dist/services/config.mjs.map +1 -1
  351. package/dist/services/content-api/index.js +80 -79
  352. package/dist/services/content-api/index.js.map +1 -1
  353. package/dist/services/content-api/index.mjs +79 -79
  354. package/dist/services/content-api/index.mjs.map +1 -1
  355. package/dist/services/content-api/permissions/engine.js +8 -5
  356. package/dist/services/content-api/permissions/engine.js.map +1 -1
  357. package/dist/services/content-api/permissions/engine.mjs +7 -5
  358. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  359. package/dist/services/content-api/permissions/index.js +101 -81
  360. package/dist/services/content-api/permissions/index.js.map +1 -1
  361. package/dist/services/content-api/permissions/index.mjs +100 -81
  362. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  363. package/dist/services/content-api/permissions/providers/action.js +17 -14
  364. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  365. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  366. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  367. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  368. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  369. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  370. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  371. package/dist/services/core-store.d.ts +2 -2
  372. package/dist/services/core-store.d.ts.map +1 -1
  373. package/dist/services/core-store.js +115 -95
  374. package/dist/services/core-store.js.map +1 -1
  375. package/dist/services/core-store.mjs +114 -97
  376. package/dist/services/core-store.mjs.map +1 -1
  377. package/dist/services/cron.js +74 -60
  378. package/dist/services/cron.js.map +1 -1
  379. package/dist/services/cron.mjs +73 -62
  380. package/dist/services/cron.mjs.map +1 -1
  381. package/dist/services/custom-fields.js +9 -7
  382. package/dist/services/custom-fields.js.map +1 -1
  383. package/dist/services/custom-fields.mjs +8 -9
  384. package/dist/services/custom-fields.mjs.map +1 -1
  385. package/dist/services/document-service/attributes/index.js +23 -18
  386. package/dist/services/document-service/attributes/index.js.map +1 -1
  387. package/dist/services/document-service/attributes/index.mjs +22 -19
  388. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  389. package/dist/services/document-service/attributes/transforms.js +16 -15
  390. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  391. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  392. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  393. package/dist/services/document-service/common.d.ts +1 -1
  394. package/dist/services/document-service/common.d.ts.map +1 -1
  395. package/dist/services/document-service/common.js +5 -4
  396. package/dist/services/document-service/common.js.map +1 -1
  397. package/dist/services/document-service/common.mjs +4 -5
  398. package/dist/services/document-service/common.mjs.map +1 -1
  399. package/dist/services/document-service/components.d.ts.map +1 -1
  400. package/dist/services/document-service/components.js +255 -257
  401. package/dist/services/document-service/components.js.map +1 -1
  402. package/dist/services/document-service/components.mjs +254 -262
  403. package/dist/services/document-service/components.mjs.map +1 -1
  404. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  405. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  406. package/dist/services/document-service/draft-and-publish.js +88 -48
  407. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  408. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  409. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  410. package/dist/services/document-service/entries.d.ts +2 -2
  411. package/dist/services/document-service/entries.d.ts.map +1 -1
  412. package/dist/services/document-service/entries.js +151 -92
  413. package/dist/services/document-service/entries.js.map +1 -1
  414. package/dist/services/document-service/entries.mjs +150 -93
  415. package/dist/services/document-service/entries.mjs.map +1 -1
  416. package/dist/services/document-service/events.d.ts +1 -1
  417. package/dist/services/document-service/events.d.ts.map +1 -1
  418. package/dist/services/document-service/events.js +52 -40
  419. package/dist/services/document-service/events.js.map +1 -1
  420. package/dist/services/document-service/events.mjs +51 -41
  421. package/dist/services/document-service/events.mjs.map +1 -1
  422. package/dist/services/document-service/index.d.ts +2 -1
  423. package/dist/services/document-service/index.d.ts.map +1 -1
  424. package/dist/services/document-service/index.js +53 -32
  425. package/dist/services/document-service/index.js.map +1 -1
  426. package/dist/services/document-service/index.mjs +52 -33
  427. package/dist/services/document-service/index.mjs.map +1 -1
  428. package/dist/services/document-service/internationalization.d.ts +6 -1
  429. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  430. package/dist/services/document-service/internationalization.js +94 -46
  431. package/dist/services/document-service/internationalization.js.map +1 -1
  432. package/dist/services/document-service/internationalization.mjs +92 -50
  433. package/dist/services/document-service/internationalization.mjs.map +1 -1
  434. package/dist/services/document-service/middlewares/errors.js +23 -19
  435. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  436. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  437. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  438. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  439. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  440. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  441. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  442. package/dist/services/document-service/params.js +11 -5
  443. package/dist/services/document-service/params.js.map +1 -1
  444. package/dist/services/document-service/params.mjs +10 -6
  445. package/dist/services/document-service/params.mjs.map +1 -1
  446. package/dist/services/document-service/repository.d.ts.map +1 -1
  447. package/dist/services/document-service/repository.js +355 -299
  448. package/dist/services/document-service/repository.js.map +1 -1
  449. package/dist/services/document-service/repository.mjs +354 -300
  450. package/dist/services/document-service/repository.mjs.map +1 -1
  451. package/dist/services/document-service/transform/data.js +22 -12
  452. package/dist/services/document-service/transform/data.js.map +1 -1
  453. package/dist/services/document-service/transform/data.mjs +21 -13
  454. package/dist/services/document-service/transform/data.mjs.map +1 -1
  455. package/dist/services/document-service/transform/fields.js +26 -17
  456. package/dist/services/document-service/transform/fields.js.map +1 -1
  457. package/dist/services/document-service/transform/fields.mjs +25 -18
  458. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  459. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  460. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  461. package/dist/services/document-service/transform/id-map.js +116 -69
  462. package/dist/services/document-service/transform/id-map.js.map +1 -1
  463. package/dist/services/document-service/transform/id-map.mjs +115 -70
  464. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  465. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  466. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  467. package/dist/services/document-service/transform/id-transform.js +37 -29
  468. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  469. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  470. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  471. package/dist/services/document-service/transform/populate.js +23 -18
  472. package/dist/services/document-service/transform/populate.js.map +1 -1
  473. package/dist/services/document-service/transform/populate.mjs +22 -19
  474. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  475. package/dist/services/document-service/transform/query.js +11 -6
  476. package/dist/services/document-service/transform/query.js.map +1 -1
  477. package/dist/services/document-service/transform/query.mjs +10 -7
  478. package/dist/services/document-service/transform/query.mjs.map +1 -1
  479. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  480. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  481. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  482. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  483. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  484. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  485. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  486. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  487. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  488. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  489. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  490. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  491. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  492. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  493. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  494. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  495. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  496. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  497. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  498. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  499. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  500. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  501. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  502. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  503. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  504. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  505. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  506. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  507. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  508. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  509. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  510. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  511. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  512. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  513. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  514. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  515. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  516. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  517. package/dist/services/document-service/utils/populate.d.ts +1 -1
  518. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  519. package/dist/services/document-service/utils/populate.js +67 -41
  520. package/dist/services/document-service/utils/populate.js.map +1 -1
  521. package/dist/services/document-service/utils/populate.mjs +66 -42
  522. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  523. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  524. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  525. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  526. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  527. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  528. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  529. package/dist/services/entity-service/index.js +230 -161
  530. package/dist/services/entity-service/index.js.map +1 -1
  531. package/dist/services/entity-service/index.mjs +229 -160
  532. package/dist/services/entity-service/index.mjs.map +1 -1
  533. package/dist/services/entity-validator/blocks-validator.js +135 -103
  534. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  535. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  536. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  537. package/dist/services/entity-validator/index.d.ts +1 -1
  538. package/dist/services/entity-validator/index.d.ts.map +1 -1
  539. package/dist/services/entity-validator/index.js +370 -362
  540. package/dist/services/entity-validator/index.js.map +1 -1
  541. package/dist/services/entity-validator/index.mjs +366 -359
  542. package/dist/services/entity-validator/index.mjs.map +1 -1
  543. package/dist/services/entity-validator/validators.d.ts +1 -0
  544. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  545. package/dist/services/entity-validator/validators.js +270 -209
  546. package/dist/services/entity-validator/validators.js.map +1 -1
  547. package/dist/services/entity-validator/validators.mjs +269 -215
  548. package/dist/services/entity-validator/validators.mjs.map +1 -1
  549. package/dist/services/errors.js +65 -65
  550. package/dist/services/errors.js.map +1 -1
  551. package/dist/services/errors.mjs +64 -66
  552. package/dist/services/errors.mjs.map +1 -1
  553. package/dist/services/event-hub.js +82 -69
  554. package/dist/services/event-hub.js.map +1 -1
  555. package/dist/services/event-hub.mjs +81 -71
  556. package/dist/services/event-hub.mjs.map +1 -1
  557. package/dist/services/features.js +19 -14
  558. package/dist/services/features.js.map +1 -1
  559. package/dist/services/features.mjs +18 -15
  560. package/dist/services/features.mjs.map +1 -1
  561. package/dist/services/fs.js +41 -40
  562. package/dist/services/fs.js.map +1 -1
  563. package/dist/services/fs.mjs +40 -39
  564. package/dist/services/fs.mjs.map +1 -1
  565. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  566. package/dist/services/metrics/admin-user-hash.js +13 -11
  567. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  568. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  569. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  570. package/dist/services/metrics/index.js +46 -40
  571. package/dist/services/metrics/index.js.map +1 -1
  572. package/dist/services/metrics/index.mjs +45 -42
  573. package/dist/services/metrics/index.mjs.map +1 -1
  574. package/dist/services/metrics/is-truthy.js +13 -6
  575. package/dist/services/metrics/is-truthy.js.map +1 -1
  576. package/dist/services/metrics/is-truthy.mjs +12 -6
  577. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  578. package/dist/services/metrics/middleware.d.ts.map +1 -1
  579. package/dist/services/metrics/middleware.js +37 -22
  580. package/dist/services/metrics/middleware.js.map +1 -1
  581. package/dist/services/metrics/middleware.mjs +36 -24
  582. package/dist/services/metrics/middleware.mjs.map +1 -1
  583. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  584. package/dist/services/metrics/rate-limiter.js +24 -19
  585. package/dist/services/metrics/rate-limiter.js.map +1 -1
  586. package/dist/services/metrics/rate-limiter.mjs +23 -21
  587. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  588. package/dist/services/metrics/sender.d.ts.map +1 -1
  589. package/dist/services/metrics/sender.js +78 -69
  590. package/dist/services/metrics/sender.js.map +1 -1
  591. package/dist/services/metrics/sender.mjs +77 -64
  592. package/dist/services/metrics/sender.mjs.map +1 -1
  593. package/dist/services/query-params.js +13 -10
  594. package/dist/services/query-params.js.map +1 -1
  595. package/dist/services/query-params.mjs +12 -12
  596. package/dist/services/query-params.mjs.map +1 -1
  597. package/dist/services/reloader.js +35 -32
  598. package/dist/services/reloader.js.map +1 -1
  599. package/dist/services/reloader.mjs +34 -33
  600. package/dist/services/reloader.mjs.map +1 -1
  601. package/dist/services/request-context.js +11 -8
  602. package/dist/services/request-context.js.map +1 -1
  603. package/dist/services/request-context.mjs +10 -10
  604. package/dist/services/request-context.mjs.map +1 -1
  605. package/dist/services/server/admin-api.js +11 -10
  606. package/dist/services/server/admin-api.js.map +1 -1
  607. package/dist/services/server/admin-api.mjs +10 -11
  608. package/dist/services/server/admin-api.mjs.map +1 -1
  609. package/dist/services/server/api.js +33 -27
  610. package/dist/services/server/api.js.map +1 -1
  611. package/dist/services/server/api.mjs +32 -26
  612. package/dist/services/server/api.mjs.map +1 -1
  613. package/dist/services/server/compose-endpoint.js +116 -105
  614. package/dist/services/server/compose-endpoint.js.map +1 -1
  615. package/dist/services/server/compose-endpoint.mjs +115 -105
  616. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  617. package/dist/services/server/content-api.js +11 -9
  618. package/dist/services/server/content-api.js.map +1 -1
  619. package/dist/services/server/content-api.mjs +10 -10
  620. package/dist/services/server/content-api.mjs.map +1 -1
  621. package/dist/services/server/http-server.js +48 -44
  622. package/dist/services/server/http-server.js.map +1 -1
  623. package/dist/services/server/http-server.mjs +47 -43
  624. package/dist/services/server/http-server.mjs.map +1 -1
  625. package/dist/services/server/index.js +85 -82
  626. package/dist/services/server/index.js.map +1 -1
  627. package/dist/services/server/index.mjs +84 -81
  628. package/dist/services/server/index.mjs.map +1 -1
  629. package/dist/services/server/koa.js +49 -47
  630. package/dist/services/server/koa.js.map +1 -1
  631. package/dist/services/server/koa.mjs +48 -44
  632. package/dist/services/server/koa.mjs.map +1 -1
  633. package/dist/services/server/middleware.js +86 -82
  634. package/dist/services/server/middleware.js.map +1 -1
  635. package/dist/services/server/middleware.mjs +85 -82
  636. package/dist/services/server/middleware.mjs.map +1 -1
  637. package/dist/services/server/policy.js +24 -17
  638. package/dist/services/server/policy.js.map +1 -1
  639. package/dist/services/server/policy.mjs +23 -18
  640. package/dist/services/server/policy.mjs.map +1 -1
  641. package/dist/services/server/register-middlewares.js +68 -61
  642. package/dist/services/server/register-middlewares.js.map +1 -1
  643. package/dist/services/server/register-middlewares.mjs +67 -63
  644. package/dist/services/server/register-middlewares.mjs.map +1 -1
  645. package/dist/services/server/register-routes.js +90 -67
  646. package/dist/services/server/register-routes.js.map +1 -1
  647. package/dist/services/server/register-routes.mjs +89 -67
  648. package/dist/services/server/register-routes.mjs.map +1 -1
  649. package/dist/services/server/routing.js +94 -81
  650. package/dist/services/server/routing.js.map +1 -1
  651. package/dist/services/server/routing.mjs +93 -81
  652. package/dist/services/server/routing.mjs.map +1 -1
  653. package/dist/services/utils/conditional-fields.d.ts +3 -0
  654. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  655. package/dist/services/utils/conditional-fields.js +22 -0
  656. package/dist/services/utils/conditional-fields.js.map +1 -0
  657. package/dist/services/utils/conditional-fields.mjs +20 -0
  658. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  659. package/dist/services/utils/dynamic-zones.js +13 -14
  660. package/dist/services/utils/dynamic-zones.js.map +1 -1
  661. package/dist/services/utils/dynamic-zones.mjs +12 -16
  662. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  663. package/dist/services/webhook-runner.js +124 -122
  664. package/dist/services/webhook-runner.js.map +1 -1
  665. package/dist/services/webhook-runner.mjs +123 -121
  666. package/dist/services/webhook-runner.mjs.map +1 -1
  667. package/dist/services/webhook-store.js +132 -99
  668. package/dist/services/webhook-store.js.map +1 -1
  669. package/dist/services/webhook-store.mjs +131 -101
  670. package/dist/services/webhook-store.mjs.map +1 -1
  671. package/dist/services/worker-queue.js +44 -49
  672. package/dist/services/worker-queue.js.map +1 -1
  673. package/dist/services/worker-queue.mjs +43 -49
  674. package/dist/services/worker-queue.mjs.map +1 -1
  675. package/dist/utils/convert-custom-field-type.js +17 -20
  676. package/dist/utils/convert-custom-field-type.js.map +1 -1
  677. package/dist/utils/convert-custom-field-type.mjs +16 -21
  678. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  679. package/dist/utils/cron.js +64 -30
  680. package/dist/utils/cron.js.map +1 -1
  681. package/dist/utils/cron.mjs +63 -31
  682. package/dist/utils/cron.mjs.map +1 -1
  683. package/dist/utils/fetch.d.ts +5 -1
  684. package/dist/utils/fetch.d.ts.map +1 -1
  685. package/dist/utils/fetch.js +28 -18
  686. package/dist/utils/fetch.js.map +1 -1
  687. package/dist/utils/fetch.mjs +27 -19
  688. package/dist/utils/fetch.mjs.map +1 -1
  689. package/dist/utils/filepath-to-prop-path.js +20 -28
  690. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  691. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  692. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  693. package/dist/utils/is-initialized.js +21 -12
  694. package/dist/utils/is-initialized.js.map +1 -1
  695. package/dist/utils/is-initialized.mjs +20 -13
  696. package/dist/utils/is-initialized.mjs.map +1 -1
  697. package/dist/utils/lifecycles.js +6 -5
  698. package/dist/utils/lifecycles.js.map +1 -1
  699. package/dist/utils/lifecycles.mjs +5 -6
  700. package/dist/utils/lifecycles.mjs.map +1 -1
  701. package/dist/utils/load-config-file.js +40 -38
  702. package/dist/utils/load-config-file.js.map +1 -1
  703. package/dist/utils/load-config-file.mjs +39 -36
  704. package/dist/utils/load-config-file.mjs.map +1 -1
  705. package/dist/utils/load-files.js +40 -35
  706. package/dist/utils/load-files.js.map +1 -1
  707. package/dist/utils/load-files.mjs +39 -32
  708. package/dist/utils/load-files.mjs.map +1 -1
  709. package/dist/utils/open-browser.js +8 -8
  710. package/dist/utils/open-browser.js.map +1 -1
  711. package/dist/utils/open-browser.mjs +7 -7
  712. package/dist/utils/open-browser.mjs.map +1 -1
  713. package/dist/utils/resolve-working-dirs.js +23 -10
  714. package/dist/utils/resolve-working-dirs.js.map +1 -1
  715. package/dist/utils/resolve-working-dirs.mjs +22 -9
  716. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  717. package/dist/utils/signals.js +20 -14
  718. package/dist/utils/signals.js.map +1 -1
  719. package/dist/utils/signals.mjs +19 -15
  720. package/dist/utils/signals.mjs.map +1 -1
  721. package/dist/utils/startup-logger.d.ts.map +1 -1
  722. package/dist/utils/startup-logger.js +107 -78
  723. package/dist/utils/startup-logger.js.map +1 -1
  724. package/dist/utils/startup-logger.mjs +106 -75
  725. package/dist/utils/startup-logger.mjs.map +1 -1
  726. package/dist/utils/transform-content-types-to-models.d.ts +550 -21
  727. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  728. package/dist/utils/transform-content-types-to-models.js +350 -261
  729. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  730. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  731. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  732. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  733. package/dist/utils/update-notifier/index.js +68 -73
  734. package/dist/utils/update-notifier/index.js.map +1 -1
  735. package/dist/utils/update-notifier/index.mjs +67 -67
  736. package/dist/utils/update-notifier/index.mjs.map +1 -1
  737. package/package.json +30 -28
@@ -1,309 +1,363 @@
1
- import { curry, assoc, omit, merge } from "lodash/fp";
2
- import { contentTypes, async, validate } from "@strapi/utils";
3
- import { wrapInTransaction } from "./common.mjs";
4
- import { defaultToDraft as defaultToDraftCurry, statusToLookup as statusToLookupCurry, filterDataPublishedAt as filterDataPublishedAtCurry, setStatusToDraft as setStatusToDraftCurry, statusToData as statusToDataCurry, defaultStatus as defaultStatusCurry } from "./draft-and-publish.mjs";
5
- import { defaultLocale as defaultLocaleCurry, multiLocaleToLookup as multiLocaleToLookupCurry, localeToLookup as localeToLookupCurry, localeToData as localeToDataCurry } from "./internationalization.mjs";
6
- import { updateComponents, omitComponentData } from "./components.mjs";
7
- import { createEntriesService } from "./entries.mjs";
8
- import { pickSelectionParams } from "./params.mjs";
9
- import { createDocumentId } from "../../utils/transform-content-types-to-models.mjs";
10
- import { getDeepPopulate } from "./utils/populate.mjs";
11
- import { transformParamsToQuery } from "./transform/query.mjs";
12
- import { transformParamsDocumentId as curriedTransformParamsDocumentId } from "./transform/id-transform.mjs";
13
- import { createEventManager } from "./events.mjs";
1
+ import { curry, assoc, omit, merge } from 'lodash/fp';
2
+ import { contentTypes, async, errors, validate } from '@strapi/utils';
3
+ import { wrapInTransaction } from './common.mjs';
4
+ import { defaultToDraft as defaultToDraftCurry, statusToLookup as statusToLookupCurry, filterDataPublishedAt as filterDataPublishedAtCurry, setStatusToDraft as setStatusToDraftCurry, statusToData as statusToDataCurry, defaultStatus as defaultStatusCurry } from './draft-and-publish.mjs';
5
+ import { defaultLocale as defaultLocaleCurry, multiLocaleToLookup as multiLocaleToLookupCurry, localeToLookup as localeToLookupCurry, localeToData as localeToDataCurry, copyNonLocalizedFields } from './internationalization.mjs';
6
+ import { updateComponents, omitComponentData } from './components.mjs';
7
+ import { createEntriesService } from './entries.mjs';
8
+ import { pickSelectionParams } from './params.mjs';
9
+ import { createDocumentId } from '../../utils/transform-content-types-to-models.mjs';
10
+ import { getDeepPopulate } from './utils/populate.mjs';
11
+ import { transformParamsToQuery } from './transform/query.mjs';
12
+ import { transformParamsDocumentId as curriedTransformParamsDocumentId } from './transform/id-transform.mjs';
13
+ import { createEventManager } from './events.mjs';
14
+ import { load, sync } from './utils/unidirectional-relations.mjs';
15
+ import { load as load$1, sync as sync$1 } from './utils/bidirectional-relations.mjs';
16
+ import entityValidator from '../entity-validator/index.mjs';
17
+
14
18
  const { validators } = validate;
15
- const getModel = (schema) => strapi.getModel(schema);
16
- const createContentTypeRepository = (uid) => {
17
- const contentType = strapi.contentType(uid);
18
- const hasDraftAndPublish = contentTypes.hasDraftAndPublish(contentType);
19
- const sortValidations = ["nonAttributesOperators", "dynamicZones", "morphRelations"];
20
- const fieldValidations = ["scalarAttributes"];
21
- const filtersValidations = ["nonAttributesOperators", "dynamicZones", "morphRelations"];
22
- const populateValidations = {
23
- sort: sortValidations,
24
- field: fieldValidations,
25
- filters: filtersValidations,
26
- populate: ["nonAttributesOperators"]
27
- };
28
- const validateParams = async (params) => {
29
- const ctx = { schema: contentType, getModel };
30
- await validators.validateFilters(ctx, params.filters, filtersValidations);
31
- await validators.validateSort(ctx, params.sort, sortValidations);
32
- await validators.validateFields(ctx, params.fields, fieldValidations);
33
- await validators.validatePopulate(ctx, params.populate, populateValidations);
34
- return params;
35
- };
36
- const entries = createEntriesService(uid);
37
- const eventManager = createEventManager(strapi, uid);
38
- const emitEvent = curry(eventManager.emitEvent);
39
- async function findMany(params = {}) {
40
- const query = await async.pipe(
41
- validateParams,
42
- defaultToDraftCurry,
43
- statusToLookupCurry(contentType),
44
- defaultLocaleCurry(contentType),
45
- multiLocaleToLookupCurry(contentType),
46
- curriedTransformParamsDocumentId(uid),
47
- transformParamsToQuery(uid)
48
- )(params || {});
49
- return strapi.db.query(uid).findMany(query);
50
- }
51
- async function findFirst(params = {}) {
52
- const query = await async.pipe(
53
- validateParams,
54
- defaultToDraftCurry,
55
- statusToLookupCurry(contentType),
56
- defaultLocaleCurry(contentType),
57
- localeToLookupCurry(contentType),
58
- curriedTransformParamsDocumentId(uid),
59
- transformParamsToQuery(uid)
60
- )(params);
61
- return strapi.db.query(uid).findOne(query);
62
- }
63
- async function findOne(opts = {}) {
64
- const { documentId, ...params } = opts;
65
- const query = await async.pipe(
66
- validateParams,
67
- defaultToDraftCurry,
68
- statusToLookupCurry(contentType),
69
- defaultLocaleCurry(contentType),
70
- localeToLookupCurry(contentType),
71
- curriedTransformParamsDocumentId(uid),
72
- transformParamsToQuery(uid),
73
- (query2) => assoc("where", { ...query2.where, documentId }, query2)
74
- )(params);
75
- return strapi.db.query(uid).findOne(query);
76
- }
77
- async function deleteDocument(opts = {}) {
78
- const { documentId, ...params } = opts;
79
- const query = await async.pipe(
80
- validateParams,
81
- omit("status"),
82
- defaultLocaleCurry(contentType),
83
- multiLocaleToLookupCurry(contentType),
84
- transformParamsToQuery(uid),
85
- (query2) => assoc("where", { ...query2.where, documentId }, query2)
86
- )(params);
87
- if (params.status === "draft") {
88
- throw new Error("Cannot delete a draft document");
19
+ // we have to typecast to reconcile the differences between validator and database getModel
20
+ const getModel = (schema)=>strapi.getModel(schema);
21
+ const createContentTypeRepository = (uid, validator = entityValidator)=>{
22
+ const contentType = strapi.contentType(uid);
23
+ const hasDraftAndPublish = contentTypes.hasDraftAndPublish(contentType);
24
+ // Define the validations that should be performed
25
+ const sortValidations = [
26
+ 'nonAttributesOperators',
27
+ 'dynamicZones',
28
+ 'morphRelations'
29
+ ];
30
+ const fieldValidations = [
31
+ 'scalarAttributes'
32
+ ];
33
+ const filtersValidations = [
34
+ 'nonAttributesOperators',
35
+ 'dynamicZones',
36
+ 'morphRelations'
37
+ ];
38
+ const populateValidations = {
39
+ sort: sortValidations,
40
+ field: fieldValidations,
41
+ filters: filtersValidations,
42
+ populate: [
43
+ 'nonAttributesOperators'
44
+ ]
45
+ };
46
+ const validateParams = async (params)=>{
47
+ const ctx = {
48
+ schema: contentType,
49
+ getModel
50
+ };
51
+ await validators.validateFilters(ctx, params.filters, filtersValidations);
52
+ await validators.validateSort(ctx, params.sort, sortValidations);
53
+ await validators.validateFields(ctx, params.fields, fieldValidations);
54
+ await validators.validatePopulate(ctx, params.populate, populateValidations);
55
+ // Strip lookup from params, it's only used internally
56
+ if (params.lookup) {
57
+ throw new errors.ValidationError("Invalid params: 'lookup'");
58
+ }
59
+ // TODO: add validate status, locale, pagination
60
+ return params;
61
+ };
62
+ const entries = createEntriesService(uid, validator);
63
+ const eventManager = createEventManager(strapi, uid);
64
+ const emitEvent = curry(eventManager.emitEvent);
65
+ async function findMany(params = {}) {
66
+ const query = await async.pipe(validateParams, defaultToDraftCurry, statusToLookupCurry(contentType), defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType), curriedTransformParamsDocumentId(uid), transformParamsToQuery(uid))(params || {});
67
+ return strapi.db.query(uid).findMany(query);
89
68
  }
90
- const entriesToDelete = await strapi.db.query(uid).findMany(query);
91
- const deletedEntries = await async.map(
92
- entriesToDelete,
93
- (entryToDelete) => entries.delete(entryToDelete.id)
94
- );
95
- entriesToDelete.forEach(emitEvent("entry.delete"));
96
- return { documentId, entries: deletedEntries };
97
- }
98
- async function create(opts = {}) {
99
- const { documentId, ...params } = opts;
100
- const queryParams = await async.pipe(
101
- validateParams,
102
- filterDataPublishedAtCurry,
103
- setStatusToDraftCurry(contentType),
104
- statusToDataCurry(contentType),
105
- defaultLocaleCurry(contentType),
106
- localeToDataCurry(contentType)
107
- )(params);
108
- const doc = await entries.create(queryParams);
109
- emitEvent("entry.create", doc);
110
- if (hasDraftAndPublish && params.status === "published") {
111
- return publish({
112
- ...params,
113
- documentId: doc.documentId
114
- }).then((doc2) => doc2.entries[0]);
69
+ async function findFirst(params = {}) {
70
+ const query = await async.pipe(validateParams, defaultToDraftCurry, statusToLookupCurry(contentType), defaultLocaleCurry(contentType), localeToLookupCurry(contentType), curriedTransformParamsDocumentId(uid), transformParamsToQuery(uid))(params);
71
+ return strapi.db.query(uid).findOne(query);
115
72
  }
116
- return doc;
117
- }
118
- async function clone(opts = {}) {
119
- const { documentId, ...params } = opts;
120
- const queryParams = await async.pipe(
121
- validateParams,
122
- filterDataPublishedAtCurry,
123
- defaultLocaleCurry(contentType),
124
- multiLocaleToLookupCurry(contentType)
125
- )(params);
126
- const entriesToClone = await strapi.db.query(uid).findMany({
127
- where: {
128
- ...queryParams?.lookup,
129
- documentId,
130
- // DP Enabled: Clone drafts
131
- // DP Disabled: Clone only the existing version (published)
132
- publishedAt: { $null: hasDraftAndPublish }
133
- },
134
- populate: getDeepPopulate(uid, { relationalFields: ["id"] })
135
- });
136
- const clonedEntries = await async.map(
137
- entriesToClone,
138
- async.pipe(
139
- validateParams,
140
- omit("id"),
141
- // assign new documentId
142
- assoc("documentId", createDocumentId()),
143
- // Merge new data into it
144
- (data) => merge(data, queryParams.data),
145
- (data) => entries.create({ ...queryParams, data, status: "draft" })
146
- )
147
- );
148
- clonedEntries.forEach(emitEvent("entry.create"));
149
- return { documentId: clonedEntries.at(0)?.documentId, entries: clonedEntries };
150
- }
151
- async function update(opts = {}) {
152
- const { documentId, ...params } = opts;
153
- const queryParams = await async.pipe(
154
- validateParams,
155
- filterDataPublishedAtCurry,
156
- setStatusToDraftCurry(contentType),
157
- statusToLookupCurry(contentType),
158
- statusToDataCurry(contentType),
159
- // Default locale will be set if not provided
160
- defaultLocaleCurry(contentType),
161
- localeToLookupCurry(contentType),
162
- localeToDataCurry(contentType)
163
- )(params);
164
- const { data, ...restParams } = await curriedTransformParamsDocumentId(uid, queryParams || {});
165
- const query = transformParamsToQuery(uid, pickSelectionParams(restParams || {}));
166
- const entryToUpdate = await strapi.db.query(uid).findOne({ ...query, where: { ...queryParams?.lookup, ...query?.where, documentId } });
167
- let updatedDraft = null;
168
- if (entryToUpdate) {
169
- updatedDraft = await entries.update(entryToUpdate, queryParams);
170
- emitEvent("entry.update", updatedDraft);
73
+ // TODO: do we really want to add filters on the findOne now that we have findFirst ?
74
+ async function findOne(opts = {}) {
75
+ const { documentId, ...params } = opts;
76
+ const query = await async.pipe(validateParams, defaultToDraftCurry, statusToLookupCurry(contentType), defaultLocaleCurry(contentType), localeToLookupCurry(contentType), curriedTransformParamsDocumentId(uid), transformParamsToQuery(uid), (query)=>assoc('where', {
77
+ ...query.where,
78
+ documentId
79
+ }, query))(params);
80
+ return strapi.db.query(uid).findOne(query);
171
81
  }
172
- if (!updatedDraft) {
173
- const documentExists = await strapi.db.query(contentType.uid).findOne({ where: { documentId } });
174
- if (documentExists) {
175
- updatedDraft = await entries.create({
176
- ...queryParams,
177
- data: { ...queryParams.data, documentId }
82
+ async function deleteDocument(opts = {}) {
83
+ const { documentId, ...params } = opts;
84
+ const query = await async.pipe(validateParams, omit('status'), defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType), transformParamsToQuery(uid), (query)=>assoc('where', {
85
+ ...query.where,
86
+ documentId
87
+ }, query))(params);
88
+ if (params.status === 'draft') {
89
+ throw new Error('Cannot delete a draft document');
90
+ }
91
+ const entriesToDelete = await strapi.db.query(uid).findMany(query);
92
+ // Delete all matched entries and its components
93
+ const deletedEntries = await async.map(entriesToDelete, (entryToDelete)=>entries.delete(entryToDelete.id));
94
+ entriesToDelete.forEach(emitEvent('entry.delete'));
95
+ return {
96
+ documentId,
97
+ entries: deletedEntries
98
+ };
99
+ }
100
+ async function create(opts = {}) {
101
+ const { documentId, ...params } = opts;
102
+ const queryParams = await async.pipe(validateParams, filterDataPublishedAtCurry, setStatusToDraftCurry(contentType), statusToDataCurry(contentType), defaultLocaleCurry(contentType), localeToDataCurry(contentType))(params);
103
+ const doc = await entries.create(queryParams);
104
+ emitEvent('entry.create', doc);
105
+ if (hasDraftAndPublish && params.status === 'published') {
106
+ return publish({
107
+ ...params,
108
+ documentId: doc.documentId
109
+ }).then((doc)=>doc.entries[0]);
110
+ }
111
+ return doc;
112
+ }
113
+ async function clone(opts = {}) {
114
+ const { documentId, ...params } = opts;
115
+ const queryParams = await async.pipe(validateParams, filterDataPublishedAtCurry, defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType))(params);
116
+ // Get deep populate
117
+ const entriesToClone = await strapi.db.query(uid).findMany({
118
+ where: {
119
+ ...queryParams?.lookup,
120
+ documentId,
121
+ // DP Enabled: Clone drafts
122
+ // DP Disabled: Clone only the existing version (published)
123
+ publishedAt: {
124
+ $null: hasDraftAndPublish
125
+ }
126
+ },
127
+ populate: getDeepPopulate(uid, {
128
+ relationalFields: [
129
+ 'id'
130
+ ]
131
+ })
178
132
  });
179
- emitEvent("entry.create", updatedDraft);
180
- }
133
+ const clonedEntries = await async.map(entriesToClone, async.pipe(validateParams, omit([
134
+ 'id',
135
+ 'createdAt',
136
+ 'updatedAt'
137
+ ]), // assign new documentId
138
+ assoc('documentId', createDocumentId()), // Merge new data into it
139
+ (data)=>merge(data, queryParams.data), (data)=>entries.create({
140
+ ...queryParams,
141
+ data,
142
+ status: 'draft'
143
+ })));
144
+ clonedEntries.forEach(emitEvent('entry.create'));
145
+ return {
146
+ documentId: clonedEntries.at(0)?.documentId,
147
+ entries: clonedEntries
148
+ };
181
149
  }
182
- if (hasDraftAndPublish && updatedDraft && params.status === "published") {
183
- return publish({
184
- ...params,
185
- documentId
186
- }).then((doc) => doc.entries[0]);
150
+ async function update(opts = {}) {
151
+ const { documentId, ...params } = opts;
152
+ const queryParams = await async.pipe(validateParams, filterDataPublishedAtCurry, setStatusToDraftCurry(contentType), statusToLookupCurry(contentType), statusToDataCurry(contentType), // Default locale will be set if not provided
153
+ defaultLocaleCurry(contentType), localeToLookupCurry(contentType), localeToDataCurry(contentType))(params);
154
+ const { data, ...restParams } = await curriedTransformParamsDocumentId(uid, queryParams || {});
155
+ const query = transformParamsToQuery(uid, pickSelectionParams(restParams || {}));
156
+ // Validation
157
+ // Find if document exists
158
+ const entryToUpdate = await strapi.db.query(uid).findOne({
159
+ ...query,
160
+ where: {
161
+ ...queryParams?.lookup,
162
+ ...query?.where,
163
+ documentId
164
+ }
165
+ });
166
+ let updatedDraft = null;
167
+ if (entryToUpdate) {
168
+ updatedDraft = await entries.update(entryToUpdate, queryParams);
169
+ emitEvent('entry.update', updatedDraft);
170
+ }
171
+ if (!updatedDraft) {
172
+ const documentExists = await strapi.db.query(contentType.uid).findOne({
173
+ where: {
174
+ documentId
175
+ }
176
+ });
177
+ if (documentExists) {
178
+ const mergedData = await copyNonLocalizedFields(contentType, documentId, {
179
+ ...queryParams.data,
180
+ documentId
181
+ });
182
+ updatedDraft = await entries.create({
183
+ ...queryParams,
184
+ data: mergedData
185
+ });
186
+ emitEvent('entry.create', updatedDraft);
187
+ }
188
+ }
189
+ if (hasDraftAndPublish && updatedDraft && params.status === 'published') {
190
+ return publish({
191
+ ...params,
192
+ documentId
193
+ }).then((doc)=>doc.entries[0]);
194
+ }
195
+ return updatedDraft;
187
196
  }
188
- return updatedDraft;
189
- }
190
- async function count(params = {}) {
191
- const query = await async.pipe(
192
- validateParams,
193
- defaultStatusCurry(contentType),
194
- statusToLookupCurry(contentType),
195
- defaultLocaleCurry(contentType),
196
- localeToLookupCurry(contentType),
197
- transformParamsToQuery(uid)
198
- )(params);
199
- return strapi.db.query(uid).count(query);
200
- }
201
- async function publish(opts = {}) {
202
- const { documentId, ...params } = opts;
203
- const queryParams = await async.pipe(
204
- validateParams,
205
- defaultLocaleCurry(contentType),
206
- multiLocaleToLookupCurry(contentType)
207
- )(params);
208
- const [draftsToPublish, publishedToDelete] = await Promise.all([
209
- strapi.db.query(uid).findMany({
210
- where: {
211
- ...queryParams?.lookup,
212
- documentId,
213
- publishedAt: null
214
- // Ignore lookup
215
- },
216
- // Populate relations, media, compos and dz
217
- populate: getDeepPopulate(uid, { relationalFields: ["documentId", "locale"] })
218
- }),
219
- strapi.db.query(uid).findMany({
220
- where: {
221
- ...queryParams?.lookup,
222
- documentId,
223
- publishedAt: { $ne: null }
224
- },
225
- select: ["id"]
226
- })
227
- ]);
228
- await async.map(publishedToDelete, (entry) => entries.delete(entry.id));
229
- const publishedEntries = await async.map(
230
- draftsToPublish,
231
- (draft) => entries.publish(draft, queryParams)
232
- );
233
- publishedEntries.forEach(emitEvent("entry.publish"));
234
- return { documentId, entries: publishedEntries };
235
- }
236
- async function unpublish(opts = {}) {
237
- const { documentId, ...params } = opts;
238
- const query = await async.pipe(
239
- validateParams,
240
- defaultLocaleCurry(contentType),
241
- multiLocaleToLookupCurry(contentType),
242
- transformParamsToQuery(uid),
243
- (query2) => assoc("where", { ...query2.where, documentId, publishedAt: { $ne: null } }, query2)
244
- )(params);
245
- const versionsToDelete = await strapi.db.query(uid).findMany(query);
246
- await async.map(versionsToDelete, (entry) => entries.delete(entry.id));
247
- versionsToDelete.forEach(emitEvent("entry.unpublish"));
248
- return { documentId, entries: versionsToDelete };
249
- }
250
- async function discardDraft(opts = {}) {
251
- const { documentId, ...params } = opts;
252
- const queryParams = await async.pipe(
253
- validateParams,
254
- defaultLocaleCurry(contentType),
255
- multiLocaleToLookupCurry(contentType)
256
- )(params);
257
- const [versionsToDraft, versionsToDelete] = await Promise.all([
258
- strapi.db.query(uid).findMany({
259
- where: {
260
- ...queryParams?.lookup,
261
- documentId,
262
- publishedAt: { $ne: null }
263
- },
264
- // Populate relations, media, compos and dz
265
- populate: getDeepPopulate(uid, { relationalFields: ["documentId", "locale"] })
266
- }),
267
- strapi.db.query(uid).findMany({
268
- where: {
269
- ...queryParams?.lookup,
270
- documentId,
271
- publishedAt: null
272
- },
273
- select: ["id"]
274
- })
275
- ]);
276
- await async.map(versionsToDelete, (entry) => entries.delete(entry.id));
277
- const draftEntries = await async.map(
278
- versionsToDraft,
279
- (entry) => entries.discardDraft(entry, queryParams)
280
- );
281
- draftEntries.forEach(emitEvent("entry.draft-discard"));
282
- return { documentId, entries: draftEntries };
283
- }
284
- async function updateComponents$1(entry, data) {
285
- return updateComponents(uid, entry, data);
286
- }
287
- function omitComponentData$1(data) {
288
- return omitComponentData(contentType, data);
289
- }
290
- return {
291
- findMany: wrapInTransaction(findMany),
292
- findFirst: wrapInTransaction(findFirst),
293
- findOne: wrapInTransaction(findOne),
294
- delete: wrapInTransaction(deleteDocument),
295
- create: wrapInTransaction(create),
296
- clone: wrapInTransaction(clone),
297
- update: wrapInTransaction(update),
298
- count: wrapInTransaction(count),
299
- publish: hasDraftAndPublish ? wrapInTransaction(publish) : void 0,
300
- unpublish: hasDraftAndPublish ? wrapInTransaction(unpublish) : void 0,
301
- discardDraft: hasDraftAndPublish ? wrapInTransaction(discardDraft) : void 0,
302
- updateComponents: updateComponents$1,
303
- omitComponentData: omitComponentData$1
304
- };
305
- };
306
- export {
307
- createContentTypeRepository
197
+ async function count(params = {}) {
198
+ const query = await async.pipe(validateParams, defaultStatusCurry(contentType), statusToLookupCurry(contentType), defaultLocaleCurry(contentType), localeToLookupCurry(contentType), transformParamsToQuery(uid))(params);
199
+ return strapi.db.query(uid).count(query);
200
+ }
201
+ async function publish(opts = {}) {
202
+ const { documentId, ...params } = opts;
203
+ const queryParams = await async.pipe(validateParams, defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType))(params);
204
+ const [draftsToPublish, oldPublishedVersions] = await Promise.all([
205
+ strapi.db.query(uid).findMany({
206
+ where: {
207
+ ...queryParams?.lookup,
208
+ documentId,
209
+ publishedAt: null
210
+ },
211
+ // Populate relations, media, compos and dz
212
+ populate: getDeepPopulate(uid, {
213
+ relationalFields: [
214
+ 'documentId',
215
+ 'locale'
216
+ ]
217
+ })
218
+ }),
219
+ strapi.db.query(uid).findMany({
220
+ where: {
221
+ ...queryParams?.lookup,
222
+ documentId,
223
+ publishedAt: {
224
+ $ne: null
225
+ }
226
+ },
227
+ select: [
228
+ 'id',
229
+ 'locale'
230
+ ]
231
+ })
232
+ ]);
233
+ // Load any unidirectional relation targetting the old published entries
234
+ const relationsToSync = await load(uid, {
235
+ newVersions: draftsToPublish,
236
+ oldVersions: oldPublishedVersions
237
+ });
238
+ const bidirectionalRelationsToSync = await load$1(uid, {
239
+ newVersions: draftsToPublish,
240
+ oldVersions: oldPublishedVersions
241
+ });
242
+ // Delete old published versions
243
+ await async.map(oldPublishedVersions, (entry)=>entries.delete(entry.id));
244
+ // Transform draft entry data and create published versions
245
+ const publishedEntries = await async.map(draftsToPublish, (draft)=>entries.publish(draft, queryParams));
246
+ // Sync unidirectional relations with the new published entries
247
+ await sync([
248
+ ...oldPublishedVersions,
249
+ ...draftsToPublish
250
+ ], publishedEntries, relationsToSync);
251
+ await sync$1([
252
+ ...oldPublishedVersions,
253
+ ...draftsToPublish
254
+ ], publishedEntries, bidirectionalRelationsToSync);
255
+ publishedEntries.forEach(emitEvent('entry.publish'));
256
+ return {
257
+ documentId,
258
+ entries: publishedEntries
259
+ };
260
+ }
261
+ async function unpublish(opts = {}) {
262
+ const { documentId, ...params } = opts;
263
+ const query = await async.pipe(validateParams, defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType), transformParamsToQuery(uid), (query)=>assoc('where', {
264
+ ...query.where,
265
+ documentId,
266
+ publishedAt: {
267
+ $ne: null
268
+ }
269
+ }, query))(params);
270
+ // Delete all published versions
271
+ const versionsToDelete = await strapi.db.query(uid).findMany(query);
272
+ await async.map(versionsToDelete, (entry)=>entries.delete(entry.id));
273
+ versionsToDelete.forEach(emitEvent('entry.unpublish'));
274
+ return {
275
+ documentId,
276
+ entries: versionsToDelete
277
+ };
278
+ }
279
+ async function discardDraft(opts = {}) {
280
+ const { documentId, ...params } = opts;
281
+ const queryParams = await async.pipe(validateParams, defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType))(params);
282
+ const [versionsToDraft, oldDrafts] = await Promise.all([
283
+ strapi.db.query(uid).findMany({
284
+ where: {
285
+ ...queryParams?.lookup,
286
+ documentId,
287
+ publishedAt: {
288
+ $ne: null
289
+ }
290
+ },
291
+ // Populate relations, media, compos and dz
292
+ populate: getDeepPopulate(uid, {
293
+ relationalFields: [
294
+ 'documentId',
295
+ 'locale'
296
+ ]
297
+ })
298
+ }),
299
+ strapi.db.query(uid).findMany({
300
+ where: {
301
+ ...queryParams?.lookup,
302
+ documentId,
303
+ publishedAt: null
304
+ },
305
+ select: [
306
+ 'id',
307
+ 'locale'
308
+ ]
309
+ })
310
+ ]);
311
+ // Load any unidirectional relation targeting the old drafts
312
+ const relationsToSync = await load(uid, {
313
+ newVersions: versionsToDraft,
314
+ oldVersions: oldDrafts
315
+ });
316
+ const bidirectionalRelationsToSync = await load$1(uid, {
317
+ newVersions: versionsToDraft,
318
+ oldVersions: oldDrafts
319
+ });
320
+ // Delete old drafts
321
+ await async.map(oldDrafts, (entry)=>entries.delete(entry.id));
322
+ // Transform published entry data and create draft versions
323
+ const draftEntries = await async.map(versionsToDraft, (entry)=>entries.discardDraft(entry, queryParams));
324
+ // Sync unidirectional relations with the new draft entries
325
+ await sync([
326
+ ...oldDrafts,
327
+ ...versionsToDraft
328
+ ], draftEntries, relationsToSync);
329
+ await sync$1([
330
+ ...oldDrafts,
331
+ ...versionsToDraft
332
+ ], draftEntries, bidirectionalRelationsToSync);
333
+ draftEntries.forEach(emitEvent('entry.draft-discard'));
334
+ return {
335
+ documentId,
336
+ entries: draftEntries
337
+ };
338
+ }
339
+ async function updateComponents$1(entry, data) {
340
+ return updateComponents(uid, entry, data);
341
+ }
342
+ function omitComponentData$1(data) {
343
+ return omitComponentData(contentType, data);
344
+ }
345
+ return {
346
+ findMany: wrapInTransaction(findMany),
347
+ findFirst: wrapInTransaction(findFirst),
348
+ findOne: wrapInTransaction(findOne),
349
+ delete: wrapInTransaction(deleteDocument),
350
+ create: wrapInTransaction(create),
351
+ clone: wrapInTransaction(clone),
352
+ update: wrapInTransaction(update),
353
+ count: wrapInTransaction(count),
354
+ publish: hasDraftAndPublish ? wrapInTransaction(publish) : undefined,
355
+ unpublish: hasDraftAndPublish ? wrapInTransaction(unpublish) : undefined,
356
+ discardDraft: hasDraftAndPublish ? wrapInTransaction(discardDraft) : undefined,
357
+ updateComponents: updateComponents$1,
358
+ omitComponentData: omitComponentData$1
359
+ };
308
360
  };
361
+
362
+ export { createContentTypeRepository };
309
363
  //# sourceMappingURL=repository.mjs.map