@strapi/core 0.0.0-experimental.3fd705928266d1b836afc8a30fceb35aac0ae2f8 → 0.0.0-experimental.40d1f18551408e7d01444dc515d9e8fffefe287a

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 (736) 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.js +95 -100
  74. package/dist/domain/content-type/index.js.map +1 -1
  75. package/dist/domain/content-type/index.mjs +94 -100
  76. package/dist/domain/content-type/index.mjs.map +1 -1
  77. package/dist/domain/content-type/validator.js +84 -69
  78. package/dist/domain/content-type/validator.js.map +1 -1
  79. package/dist/domain/content-type/validator.mjs +83 -68
  80. package/dist/domain/content-type/validator.mjs.map +1 -1
  81. package/dist/domain/module/index.js +109 -100
  82. package/dist/domain/module/index.js.map +1 -1
  83. package/dist/domain/module/index.mjs +108 -99
  84. package/dist/domain/module/index.mjs.map +1 -1
  85. package/dist/domain/module/validation.js +25 -20
  86. package/dist/domain/module/validation.js.map +1 -1
  87. package/dist/domain/module/validation.mjs +24 -21
  88. package/dist/domain/module/validation.mjs.map +1 -1
  89. package/dist/ee/index.d.ts +7 -0
  90. package/dist/ee/index.d.ts.map +1 -1
  91. package/dist/ee/index.js +197 -132
  92. package/dist/ee/index.js.map +1 -1
  93. package/dist/ee/index.mjs +196 -134
  94. package/dist/ee/index.mjs.map +1 -1
  95. package/dist/ee/license.d.ts +3 -1
  96. package/dist/ee/license.d.ts.map +1 -1
  97. package/dist/ee/license.js +105 -75
  98. package/dist/ee/license.js.map +1 -1
  99. package/dist/ee/license.mjs +103 -76
  100. package/dist/ee/license.mjs.map +1 -1
  101. package/dist/factories.js +72 -67
  102. package/dist/factories.js.map +1 -1
  103. package/dist/factories.mjs +71 -71
  104. package/dist/factories.mjs.map +1 -1
  105. package/dist/index.js +29 -26
  106. package/dist/index.js.map +1 -1
  107. package/dist/index.mjs +29 -29
  108. package/dist/index.mjs.map +1 -1
  109. package/dist/loaders/admin.d.ts.map +1 -1
  110. package/dist/loaders/admin.js +21 -20
  111. package/dist/loaders/admin.js.map +1 -1
  112. package/dist/loaders/admin.mjs +20 -20
  113. package/dist/loaders/admin.mjs.map +1 -1
  114. package/dist/loaders/apis.js +143 -120
  115. package/dist/loaders/apis.js.map +1 -1
  116. package/dist/loaders/apis.mjs +142 -119
  117. package/dist/loaders/apis.mjs.map +1 -1
  118. package/dist/loaders/components.js +33 -34
  119. package/dist/loaders/components.js.map +1 -1
  120. package/dist/loaders/components.mjs +32 -34
  121. package/dist/loaders/components.mjs.map +1 -1
  122. package/dist/loaders/index.js +22 -20
  123. package/dist/loaders/index.js.map +1 -1
  124. package/dist/loaders/index.mjs +21 -21
  125. package/dist/loaders/index.mjs.map +1 -1
  126. package/dist/loaders/middlewares.js +29 -25
  127. package/dist/loaders/middlewares.js.map +1 -1
  128. package/dist/loaders/middlewares.mjs +28 -25
  129. package/dist/loaders/middlewares.mjs.map +1 -1
  130. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  131. package/dist/loaders/plugins/get-enabled-plugins.js +125 -127
  132. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  133. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -104
  134. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  135. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  136. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  137. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  138. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  139. package/dist/loaders/plugins/index.d.ts.map +1 -1
  140. package/dist/loaders/plugins/index.js +141 -104
  141. package/dist/loaders/plugins/index.js.map +1 -1
  142. package/dist/loaders/plugins/index.mjs +121 -104
  143. package/dist/loaders/plugins/index.mjs.map +1 -1
  144. package/dist/loaders/policies.js +24 -20
  145. package/dist/loaders/policies.js.map +1 -1
  146. package/dist/loaders/policies.mjs +23 -20
  147. package/dist/loaders/policies.mjs.map +1 -1
  148. package/dist/loaders/sanitizers.js +10 -4
  149. package/dist/loaders/sanitizers.js.map +1 -1
  150. package/dist/loaders/sanitizers.mjs +9 -6
  151. package/dist/loaders/sanitizers.mjs.map +1 -1
  152. package/dist/loaders/src-index.js +35 -27
  153. package/dist/loaders/src-index.js.map +1 -1
  154. package/dist/loaders/src-index.mjs +34 -29
  155. package/dist/loaders/src-index.mjs.map +1 -1
  156. package/dist/loaders/validators.js +9 -4
  157. package/dist/loaders/validators.js.map +1 -1
  158. package/dist/loaders/validators.mjs +8 -6
  159. package/dist/loaders/validators.mjs.map +1 -1
  160. package/dist/middlewares/body.d.ts.map +1 -1
  161. package/dist/middlewares/body.js +58 -54
  162. package/dist/middlewares/body.js.map +1 -1
  163. package/dist/middlewares/body.mjs +57 -51
  164. package/dist/middlewares/body.mjs.map +1 -1
  165. package/dist/middlewares/compression.js +6 -6
  166. package/dist/middlewares/compression.js.map +1 -1
  167. package/dist/middlewares/compression.mjs +5 -5
  168. package/dist/middlewares/compression.mjs.map +1 -1
  169. package/dist/middlewares/cors.js +59 -48
  170. package/dist/middlewares/cors.js.map +1 -1
  171. package/dist/middlewares/cors.mjs +58 -47
  172. package/dist/middlewares/cors.mjs.map +1 -1
  173. package/dist/middlewares/errors.js +32 -30
  174. package/dist/middlewares/errors.js.map +1 -1
  175. package/dist/middlewares/errors.mjs +31 -31
  176. package/dist/middlewares/errors.mjs.map +1 -1
  177. package/dist/middlewares/favicon.js +27 -17
  178. package/dist/middlewares/favicon.js.map +1 -1
  179. package/dist/middlewares/favicon.mjs +26 -16
  180. package/dist/middlewares/favicon.mjs.map +1 -1
  181. package/dist/middlewares/index.js +32 -30
  182. package/dist/middlewares/index.js.map +1 -1
  183. package/dist/middlewares/index.mjs +31 -31
  184. package/dist/middlewares/index.mjs.map +1 -1
  185. package/dist/middlewares/ip.js +6 -6
  186. package/dist/middlewares/ip.js.map +1 -1
  187. package/dist/middlewares/ip.mjs +5 -5
  188. package/dist/middlewares/ip.mjs.map +1 -1
  189. package/dist/middlewares/logger.js +10 -9
  190. package/dist/middlewares/logger.js.map +1 -1
  191. package/dist/middlewares/logger.mjs +9 -10
  192. package/dist/middlewares/logger.mjs.map +1 -1
  193. package/dist/middlewares/powered-by.js +13 -9
  194. package/dist/middlewares/powered-by.js.map +1 -1
  195. package/dist/middlewares/powered-by.mjs +12 -10
  196. package/dist/middlewares/powered-by.mjs.map +1 -1
  197. package/dist/middlewares/public.js +33 -29
  198. package/dist/middlewares/public.js.map +1 -1
  199. package/dist/middlewares/public.mjs +32 -28
  200. package/dist/middlewares/public.mjs.map +1 -1
  201. package/dist/middlewares/query.js +35 -32
  202. package/dist/middlewares/query.js.map +1 -1
  203. package/dist/middlewares/query.mjs +34 -31
  204. package/dist/middlewares/query.mjs.map +1 -1
  205. package/dist/middlewares/response-time.js +10 -9
  206. package/dist/middlewares/response-time.js.map +1 -1
  207. package/dist/middlewares/response-time.mjs +9 -10
  208. package/dist/middlewares/response-time.mjs.map +1 -1
  209. package/dist/middlewares/responses.js +14 -12
  210. package/dist/middlewares/responses.js.map +1 -1
  211. package/dist/middlewares/responses.mjs +13 -13
  212. package/dist/middlewares/responses.mjs.map +1 -1
  213. package/dist/middlewares/security.js +109 -71
  214. package/dist/middlewares/security.js.map +1 -1
  215. package/dist/middlewares/security.mjs +108 -70
  216. package/dist/middlewares/security.mjs.map +1 -1
  217. package/dist/middlewares/session.js +26 -25
  218. package/dist/middlewares/session.js.map +1 -1
  219. package/dist/middlewares/session.mjs +25 -24
  220. package/dist/middlewares/session.mjs.map +1 -1
  221. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +14 -11
  222. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  223. package/dist/migrations/database/5.0.0-discard-drafts.js +153 -35
  224. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  225. package/dist/migrations/database/5.0.0-discard-drafts.mjs +152 -37
  226. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  227. package/dist/migrations/draft-publish.d.ts +2 -2
  228. package/dist/migrations/draft-publish.d.ts.map +1 -1
  229. package/dist/migrations/draft-publish.js +61 -34
  230. package/dist/migrations/draft-publish.js.map +1 -1
  231. package/dist/migrations/draft-publish.mjs +60 -36
  232. package/dist/migrations/draft-publish.mjs.map +1 -1
  233. package/dist/migrations/i18n.d.ts +5 -0
  234. package/dist/migrations/i18n.d.ts.map +1 -0
  235. package/dist/migrations/i18n.js +71 -0
  236. package/dist/migrations/i18n.js.map +1 -0
  237. package/dist/migrations/i18n.mjs +68 -0
  238. package/dist/migrations/i18n.mjs.map +1 -0
  239. package/dist/migrations/index.d.ts +5 -0
  240. package/dist/migrations/index.d.ts.map +1 -0
  241. package/dist/migrations/index.js +29 -0
  242. package/dist/migrations/index.js.map +1 -0
  243. package/dist/migrations/index.mjs +26 -0
  244. package/dist/migrations/index.mjs.map +1 -0
  245. package/dist/package.json.js +184 -0
  246. package/dist/package.json.js.map +1 -0
  247. package/dist/package.json.mjs +161 -0
  248. package/dist/package.json.mjs.map +1 -0
  249. package/dist/providers/admin.d.ts.map +1 -1
  250. package/dist/providers/admin.js +27 -17
  251. package/dist/providers/admin.js.map +1 -1
  252. package/dist/providers/admin.mjs +26 -19
  253. package/dist/providers/admin.mjs.map +1 -1
  254. package/dist/providers/coreStore.js +13 -8
  255. package/dist/providers/coreStore.js.map +1 -1
  256. package/dist/providers/coreStore.mjs +12 -10
  257. package/dist/providers/coreStore.mjs.map +1 -1
  258. package/dist/providers/cron.js +19 -16
  259. package/dist/providers/cron.js.map +1 -1
  260. package/dist/providers/cron.mjs +18 -18
  261. package/dist/providers/cron.mjs.map +1 -1
  262. package/dist/providers/index.js +18 -9
  263. package/dist/providers/index.js.map +1 -1
  264. package/dist/providers/index.mjs +17 -10
  265. package/dist/providers/index.mjs.map +1 -1
  266. package/dist/providers/provider.js +4 -3
  267. package/dist/providers/provider.js.map +1 -1
  268. package/dist/providers/provider.mjs +3 -4
  269. package/dist/providers/provider.mjs.map +1 -1
  270. package/dist/providers/registries.js +37 -32
  271. package/dist/providers/registries.js.map +1 -1
  272. package/dist/providers/registries.mjs +36 -34
  273. package/dist/providers/registries.mjs.map +1 -1
  274. package/dist/providers/telemetry.js +19 -16
  275. package/dist/providers/telemetry.js.map +1 -1
  276. package/dist/providers/telemetry.mjs +18 -18
  277. package/dist/providers/telemetry.mjs.map +1 -1
  278. package/dist/providers/webhooks.js +28 -26
  279. package/dist/providers/webhooks.js.map +1 -1
  280. package/dist/providers/webhooks.mjs +27 -28
  281. package/dist/providers/webhooks.mjs.map +1 -1
  282. package/dist/registries/apis.js +23 -20
  283. package/dist/registries/apis.js.map +1 -1
  284. package/dist/registries/apis.mjs +22 -22
  285. package/dist/registries/apis.mjs.map +1 -1
  286. package/dist/registries/components.js +35 -37
  287. package/dist/registries/components.js.map +1 -1
  288. package/dist/registries/components.mjs +34 -39
  289. package/dist/registries/components.mjs.map +1 -1
  290. package/dist/registries/content-types.js +54 -59
  291. package/dist/registries/content-types.js.map +1 -1
  292. package/dist/registries/content-types.mjs +53 -61
  293. package/dist/registries/content-types.mjs.map +1 -1
  294. package/dist/registries/controllers.js +70 -71
  295. package/dist/registries/controllers.js.map +1 -1
  296. package/dist/registries/controllers.mjs +69 -73
  297. package/dist/registries/controllers.mjs.map +1 -1
  298. package/dist/registries/custom-fields.js +75 -65
  299. package/dist/registries/custom-fields.js.map +1 -1
  300. package/dist/registries/custom-fields.mjs +74 -67
  301. package/dist/registries/custom-fields.mjs.map +1 -1
  302. package/dist/registries/hooks.js +46 -49
  303. package/dist/registries/hooks.js.map +1 -1
  304. package/dist/registries/hooks.mjs +45 -51
  305. package/dist/registries/hooks.mjs.map +1 -1
  306. package/dist/registries/middlewares.js +49 -51
  307. package/dist/registries/middlewares.js.map +1 -1
  308. package/dist/registries/middlewares.mjs +48 -53
  309. package/dist/registries/middlewares.mjs.map +1 -1
  310. package/dist/registries/models.js +14 -13
  311. package/dist/registries/models.js.map +1 -1
  312. package/dist/registries/models.mjs +13 -14
  313. package/dist/registries/models.mjs.map +1 -1
  314. package/dist/registries/modules.js +39 -36
  315. package/dist/registries/modules.js.map +1 -1
  316. package/dist/registries/modules.mjs +38 -38
  317. package/dist/registries/modules.mjs.map +1 -1
  318. package/dist/registries/namespace.js +21 -20
  319. package/dist/registries/namespace.js.map +1 -1
  320. package/dist/registries/namespace.mjs +20 -23
  321. package/dist/registries/namespace.mjs.map +1 -1
  322. package/dist/registries/plugins.js +23 -20
  323. package/dist/registries/plugins.js.map +1 -1
  324. package/dist/registries/plugins.mjs +22 -22
  325. package/dist/registries/plugins.mjs.map +1 -1
  326. package/dist/registries/policies.js +103 -96
  327. package/dist/registries/policies.js.map +1 -1
  328. package/dist/registries/policies.mjs +102 -98
  329. package/dist/registries/policies.mjs.map +1 -1
  330. package/dist/registries/sanitizers.js +23 -22
  331. package/dist/registries/sanitizers.js.map +1 -1
  332. package/dist/registries/sanitizers.mjs +22 -22
  333. package/dist/registries/sanitizers.mjs.map +1 -1
  334. package/dist/registries/services.js +71 -71
  335. package/dist/registries/services.js.map +1 -1
  336. package/dist/registries/services.mjs +70 -73
  337. package/dist/registries/services.mjs.map +1 -1
  338. package/dist/registries/validators.js +23 -22
  339. package/dist/registries/validators.js.map +1 -1
  340. package/dist/registries/validators.mjs +22 -22
  341. package/dist/registries/validators.mjs.map +1 -1
  342. package/dist/services/auth/index.js +74 -74
  343. package/dist/services/auth/index.js.map +1 -1
  344. package/dist/services/auth/index.mjs +73 -74
  345. package/dist/services/auth/index.mjs.map +1 -1
  346. package/dist/services/config.js +47 -43
  347. package/dist/services/config.js.map +1 -1
  348. package/dist/services/config.mjs +46 -44
  349. package/dist/services/config.mjs.map +1 -1
  350. package/dist/services/content-api/index.js +80 -79
  351. package/dist/services/content-api/index.js.map +1 -1
  352. package/dist/services/content-api/index.mjs +79 -79
  353. package/dist/services/content-api/index.mjs.map +1 -1
  354. package/dist/services/content-api/permissions/engine.js +8 -5
  355. package/dist/services/content-api/permissions/engine.js.map +1 -1
  356. package/dist/services/content-api/permissions/engine.mjs +7 -5
  357. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  358. package/dist/services/content-api/permissions/index.js +101 -81
  359. package/dist/services/content-api/permissions/index.js.map +1 -1
  360. package/dist/services/content-api/permissions/index.mjs +100 -81
  361. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  362. package/dist/services/content-api/permissions/providers/action.js +17 -14
  363. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  364. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  365. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  366. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  367. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  368. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  369. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  370. package/dist/services/core-store.d.ts +2 -2
  371. package/dist/services/core-store.d.ts.map +1 -1
  372. package/dist/services/core-store.js +115 -95
  373. package/dist/services/core-store.js.map +1 -1
  374. package/dist/services/core-store.mjs +114 -97
  375. package/dist/services/core-store.mjs.map +1 -1
  376. package/dist/services/cron.js +74 -60
  377. package/dist/services/cron.js.map +1 -1
  378. package/dist/services/cron.mjs +73 -62
  379. package/dist/services/cron.mjs.map +1 -1
  380. package/dist/services/custom-fields.js +9 -7
  381. package/dist/services/custom-fields.js.map +1 -1
  382. package/dist/services/custom-fields.mjs +8 -9
  383. package/dist/services/custom-fields.mjs.map +1 -1
  384. package/dist/services/document-service/attributes/index.js +23 -18
  385. package/dist/services/document-service/attributes/index.js.map +1 -1
  386. package/dist/services/document-service/attributes/index.mjs +22 -19
  387. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  388. package/dist/services/document-service/attributes/transforms.js +16 -15
  389. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  390. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  391. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  392. package/dist/services/document-service/common.d.ts +1 -1
  393. package/dist/services/document-service/common.d.ts.map +1 -1
  394. package/dist/services/document-service/common.js +5 -4
  395. package/dist/services/document-service/common.js.map +1 -1
  396. package/dist/services/document-service/common.mjs +4 -5
  397. package/dist/services/document-service/common.mjs.map +1 -1
  398. package/dist/services/document-service/components.d.ts.map +1 -1
  399. package/dist/services/document-service/components.js +255 -257
  400. package/dist/services/document-service/components.js.map +1 -1
  401. package/dist/services/document-service/components.mjs +254 -262
  402. package/dist/services/document-service/components.mjs.map +1 -1
  403. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  404. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  405. package/dist/services/document-service/draft-and-publish.js +88 -48
  406. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  407. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  408. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  409. package/dist/services/document-service/entries.d.ts +2 -2
  410. package/dist/services/document-service/entries.d.ts.map +1 -1
  411. package/dist/services/document-service/entries.js +151 -92
  412. package/dist/services/document-service/entries.js.map +1 -1
  413. package/dist/services/document-service/entries.mjs +150 -93
  414. package/dist/services/document-service/entries.mjs.map +1 -1
  415. package/dist/services/document-service/events.d.ts +1 -1
  416. package/dist/services/document-service/events.d.ts.map +1 -1
  417. package/dist/services/document-service/events.js +52 -40
  418. package/dist/services/document-service/events.js.map +1 -1
  419. package/dist/services/document-service/events.mjs +51 -41
  420. package/dist/services/document-service/events.mjs.map +1 -1
  421. package/dist/services/document-service/index.d.ts +2 -1
  422. package/dist/services/document-service/index.d.ts.map +1 -1
  423. package/dist/services/document-service/index.js +53 -32
  424. package/dist/services/document-service/index.js.map +1 -1
  425. package/dist/services/document-service/index.mjs +52 -33
  426. package/dist/services/document-service/index.mjs.map +1 -1
  427. package/dist/services/document-service/internationalization.d.ts +6 -1
  428. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  429. package/dist/services/document-service/internationalization.js +94 -46
  430. package/dist/services/document-service/internationalization.js.map +1 -1
  431. package/dist/services/document-service/internationalization.mjs +92 -50
  432. package/dist/services/document-service/internationalization.mjs.map +1 -1
  433. package/dist/services/document-service/middlewares/errors.js +23 -19
  434. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  435. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  436. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  437. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  438. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  439. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  440. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  441. package/dist/services/document-service/params.js +11 -5
  442. package/dist/services/document-service/params.js.map +1 -1
  443. package/dist/services/document-service/params.mjs +10 -6
  444. package/dist/services/document-service/params.mjs.map +1 -1
  445. package/dist/services/document-service/repository.d.ts.map +1 -1
  446. package/dist/services/document-service/repository.js +355 -299
  447. package/dist/services/document-service/repository.js.map +1 -1
  448. package/dist/services/document-service/repository.mjs +354 -300
  449. package/dist/services/document-service/repository.mjs.map +1 -1
  450. package/dist/services/document-service/transform/data.js +22 -12
  451. package/dist/services/document-service/transform/data.js.map +1 -1
  452. package/dist/services/document-service/transform/data.mjs +21 -13
  453. package/dist/services/document-service/transform/data.mjs.map +1 -1
  454. package/dist/services/document-service/transform/fields.js +26 -17
  455. package/dist/services/document-service/transform/fields.js.map +1 -1
  456. package/dist/services/document-service/transform/fields.mjs +25 -18
  457. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  458. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  459. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  460. package/dist/services/document-service/transform/id-map.js +116 -69
  461. package/dist/services/document-service/transform/id-map.js.map +1 -1
  462. package/dist/services/document-service/transform/id-map.mjs +115 -70
  463. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  464. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  465. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  466. package/dist/services/document-service/transform/id-transform.js +37 -29
  467. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  468. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  469. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  470. package/dist/services/document-service/transform/populate.js +23 -18
  471. package/dist/services/document-service/transform/populate.js.map +1 -1
  472. package/dist/services/document-service/transform/populate.mjs +22 -19
  473. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  474. package/dist/services/document-service/transform/query.js +11 -6
  475. package/dist/services/document-service/transform/query.js.map +1 -1
  476. package/dist/services/document-service/transform/query.mjs +10 -7
  477. package/dist/services/document-service/transform/query.mjs.map +1 -1
  478. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  479. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  480. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  481. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  482. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  483. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  484. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  485. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  486. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  487. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  488. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  489. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  490. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  491. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  492. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  493. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  494. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  495. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  496. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  497. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  498. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  499. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  500. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  501. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  502. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  503. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  504. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  505. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  506. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  507. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  508. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  509. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  510. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  511. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  512. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  513. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  514. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  515. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  516. package/dist/services/document-service/utils/populate.d.ts +1 -1
  517. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  518. package/dist/services/document-service/utils/populate.js +67 -41
  519. package/dist/services/document-service/utils/populate.js.map +1 -1
  520. package/dist/services/document-service/utils/populate.mjs +66 -42
  521. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  522. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  523. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  524. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  525. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  526. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  527. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  528. package/dist/services/entity-service/index.js +230 -161
  529. package/dist/services/entity-service/index.js.map +1 -1
  530. package/dist/services/entity-service/index.mjs +229 -160
  531. package/dist/services/entity-service/index.mjs.map +1 -1
  532. package/dist/services/entity-validator/blocks-validator.js +135 -103
  533. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  534. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  535. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  536. package/dist/services/entity-validator/index.d.ts +1 -1
  537. package/dist/services/entity-validator/index.d.ts.map +1 -1
  538. package/dist/services/entity-validator/index.js +370 -362
  539. package/dist/services/entity-validator/index.js.map +1 -1
  540. package/dist/services/entity-validator/index.mjs +366 -359
  541. package/dist/services/entity-validator/index.mjs.map +1 -1
  542. package/dist/services/entity-validator/validators.d.ts +1 -0
  543. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  544. package/dist/services/entity-validator/validators.js +270 -209
  545. package/dist/services/entity-validator/validators.js.map +1 -1
  546. package/dist/services/entity-validator/validators.mjs +269 -215
  547. package/dist/services/entity-validator/validators.mjs.map +1 -1
  548. package/dist/services/errors.js +65 -65
  549. package/dist/services/errors.js.map +1 -1
  550. package/dist/services/errors.mjs +64 -66
  551. package/dist/services/errors.mjs.map +1 -1
  552. package/dist/services/event-hub.js +82 -69
  553. package/dist/services/event-hub.js.map +1 -1
  554. package/dist/services/event-hub.mjs +81 -71
  555. package/dist/services/event-hub.mjs.map +1 -1
  556. package/dist/services/features.js +19 -14
  557. package/dist/services/features.js.map +1 -1
  558. package/dist/services/features.mjs +18 -15
  559. package/dist/services/features.mjs.map +1 -1
  560. package/dist/services/fs.js +41 -40
  561. package/dist/services/fs.js.map +1 -1
  562. package/dist/services/fs.mjs +40 -39
  563. package/dist/services/fs.mjs.map +1 -1
  564. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  565. package/dist/services/metrics/admin-user-hash.js +13 -11
  566. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  567. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  568. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  569. package/dist/services/metrics/index.js +46 -40
  570. package/dist/services/metrics/index.js.map +1 -1
  571. package/dist/services/metrics/index.mjs +45 -42
  572. package/dist/services/metrics/index.mjs.map +1 -1
  573. package/dist/services/metrics/is-truthy.js +13 -6
  574. package/dist/services/metrics/is-truthy.js.map +1 -1
  575. package/dist/services/metrics/is-truthy.mjs +12 -6
  576. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  577. package/dist/services/metrics/middleware.d.ts.map +1 -1
  578. package/dist/services/metrics/middleware.js +37 -22
  579. package/dist/services/metrics/middleware.js.map +1 -1
  580. package/dist/services/metrics/middleware.mjs +36 -24
  581. package/dist/services/metrics/middleware.mjs.map +1 -1
  582. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  583. package/dist/services/metrics/rate-limiter.js +24 -19
  584. package/dist/services/metrics/rate-limiter.js.map +1 -1
  585. package/dist/services/metrics/rate-limiter.mjs +23 -21
  586. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  587. package/dist/services/metrics/sender.d.ts.map +1 -1
  588. package/dist/services/metrics/sender.js +78 -69
  589. package/dist/services/metrics/sender.js.map +1 -1
  590. package/dist/services/metrics/sender.mjs +77 -64
  591. package/dist/services/metrics/sender.mjs.map +1 -1
  592. package/dist/services/query-params.js +13 -10
  593. package/dist/services/query-params.js.map +1 -1
  594. package/dist/services/query-params.mjs +12 -12
  595. package/dist/services/query-params.mjs.map +1 -1
  596. package/dist/services/reloader.js +35 -32
  597. package/dist/services/reloader.js.map +1 -1
  598. package/dist/services/reloader.mjs +34 -33
  599. package/dist/services/reloader.mjs.map +1 -1
  600. package/dist/services/request-context.js +11 -8
  601. package/dist/services/request-context.js.map +1 -1
  602. package/dist/services/request-context.mjs +10 -10
  603. package/dist/services/request-context.mjs.map +1 -1
  604. package/dist/services/server/admin-api.js +11 -10
  605. package/dist/services/server/admin-api.js.map +1 -1
  606. package/dist/services/server/admin-api.mjs +10 -11
  607. package/dist/services/server/admin-api.mjs.map +1 -1
  608. package/dist/services/server/api.js +33 -27
  609. package/dist/services/server/api.js.map +1 -1
  610. package/dist/services/server/api.mjs +32 -26
  611. package/dist/services/server/api.mjs.map +1 -1
  612. package/dist/services/server/compose-endpoint.js +116 -105
  613. package/dist/services/server/compose-endpoint.js.map +1 -1
  614. package/dist/services/server/compose-endpoint.mjs +115 -105
  615. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  616. package/dist/services/server/content-api.js +11 -9
  617. package/dist/services/server/content-api.js.map +1 -1
  618. package/dist/services/server/content-api.mjs +10 -10
  619. package/dist/services/server/content-api.mjs.map +1 -1
  620. package/dist/services/server/http-server.js +48 -44
  621. package/dist/services/server/http-server.js.map +1 -1
  622. package/dist/services/server/http-server.mjs +47 -43
  623. package/dist/services/server/http-server.mjs.map +1 -1
  624. package/dist/services/server/index.js +85 -82
  625. package/dist/services/server/index.js.map +1 -1
  626. package/dist/services/server/index.mjs +84 -81
  627. package/dist/services/server/index.mjs.map +1 -1
  628. package/dist/services/server/koa.js +49 -47
  629. package/dist/services/server/koa.js.map +1 -1
  630. package/dist/services/server/koa.mjs +48 -44
  631. package/dist/services/server/koa.mjs.map +1 -1
  632. package/dist/services/server/middleware.js +86 -82
  633. package/dist/services/server/middleware.js.map +1 -1
  634. package/dist/services/server/middleware.mjs +85 -82
  635. package/dist/services/server/middleware.mjs.map +1 -1
  636. package/dist/services/server/policy.js +24 -17
  637. package/dist/services/server/policy.js.map +1 -1
  638. package/dist/services/server/policy.mjs +23 -18
  639. package/dist/services/server/policy.mjs.map +1 -1
  640. package/dist/services/server/register-middlewares.js +68 -61
  641. package/dist/services/server/register-middlewares.js.map +1 -1
  642. package/dist/services/server/register-middlewares.mjs +67 -63
  643. package/dist/services/server/register-middlewares.mjs.map +1 -1
  644. package/dist/services/server/register-routes.js +90 -67
  645. package/dist/services/server/register-routes.js.map +1 -1
  646. package/dist/services/server/register-routes.mjs +89 -67
  647. package/dist/services/server/register-routes.mjs.map +1 -1
  648. package/dist/services/server/routing.js +94 -81
  649. package/dist/services/server/routing.js.map +1 -1
  650. package/dist/services/server/routing.mjs +93 -81
  651. package/dist/services/server/routing.mjs.map +1 -1
  652. package/dist/services/utils/conditional-fields.d.ts +3 -0
  653. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  654. package/dist/services/utils/conditional-fields.js +22 -0
  655. package/dist/services/utils/conditional-fields.js.map +1 -0
  656. package/dist/services/utils/conditional-fields.mjs +20 -0
  657. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  658. package/dist/services/utils/dynamic-zones.js +13 -14
  659. package/dist/services/utils/dynamic-zones.js.map +1 -1
  660. package/dist/services/utils/dynamic-zones.mjs +12 -16
  661. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  662. package/dist/services/webhook-runner.js +124 -122
  663. package/dist/services/webhook-runner.js.map +1 -1
  664. package/dist/services/webhook-runner.mjs +123 -121
  665. package/dist/services/webhook-runner.mjs.map +1 -1
  666. package/dist/services/webhook-store.js +132 -99
  667. package/dist/services/webhook-store.js.map +1 -1
  668. package/dist/services/webhook-store.mjs +131 -101
  669. package/dist/services/webhook-store.mjs.map +1 -1
  670. package/dist/services/worker-queue.js +44 -49
  671. package/dist/services/worker-queue.js.map +1 -1
  672. package/dist/services/worker-queue.mjs +43 -49
  673. package/dist/services/worker-queue.mjs.map +1 -1
  674. package/dist/utils/convert-custom-field-type.js +17 -20
  675. package/dist/utils/convert-custom-field-type.js.map +1 -1
  676. package/dist/utils/convert-custom-field-type.mjs +16 -21
  677. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  678. package/dist/utils/cron.js +64 -30
  679. package/dist/utils/cron.js.map +1 -1
  680. package/dist/utils/cron.mjs +63 -31
  681. package/dist/utils/cron.mjs.map +1 -1
  682. package/dist/utils/fetch.d.ts +5 -1
  683. package/dist/utils/fetch.d.ts.map +1 -1
  684. package/dist/utils/fetch.js +28 -18
  685. package/dist/utils/fetch.js.map +1 -1
  686. package/dist/utils/fetch.mjs +27 -19
  687. package/dist/utils/fetch.mjs.map +1 -1
  688. package/dist/utils/filepath-to-prop-path.js +20 -28
  689. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  690. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  691. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  692. package/dist/utils/is-initialized.js +21 -12
  693. package/dist/utils/is-initialized.js.map +1 -1
  694. package/dist/utils/is-initialized.mjs +20 -13
  695. package/dist/utils/is-initialized.mjs.map +1 -1
  696. package/dist/utils/lifecycles.js +6 -5
  697. package/dist/utils/lifecycles.js.map +1 -1
  698. package/dist/utils/lifecycles.mjs +5 -6
  699. package/dist/utils/lifecycles.mjs.map +1 -1
  700. package/dist/utils/load-config-file.js +40 -38
  701. package/dist/utils/load-config-file.js.map +1 -1
  702. package/dist/utils/load-config-file.mjs +39 -36
  703. package/dist/utils/load-config-file.mjs.map +1 -1
  704. package/dist/utils/load-files.js +40 -35
  705. package/dist/utils/load-files.js.map +1 -1
  706. package/dist/utils/load-files.mjs +39 -32
  707. package/dist/utils/load-files.mjs.map +1 -1
  708. package/dist/utils/open-browser.js +8 -8
  709. package/dist/utils/open-browser.js.map +1 -1
  710. package/dist/utils/open-browser.mjs +7 -7
  711. package/dist/utils/open-browser.mjs.map +1 -1
  712. package/dist/utils/resolve-working-dirs.js +23 -10
  713. package/dist/utils/resolve-working-dirs.js.map +1 -1
  714. package/dist/utils/resolve-working-dirs.mjs +22 -9
  715. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  716. package/dist/utils/signals.js +20 -14
  717. package/dist/utils/signals.js.map +1 -1
  718. package/dist/utils/signals.mjs +19 -15
  719. package/dist/utils/signals.mjs.map +1 -1
  720. package/dist/utils/startup-logger.d.ts.map +1 -1
  721. package/dist/utils/startup-logger.js +107 -78
  722. package/dist/utils/startup-logger.js.map +1 -1
  723. package/dist/utils/startup-logger.mjs +106 -75
  724. package/dist/utils/startup-logger.mjs.map +1 -1
  725. package/dist/utils/transform-content-types-to-models.d.ts +550 -21
  726. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  727. package/dist/utils/transform-content-types-to-models.js +350 -261
  728. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  729. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  730. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  731. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  732. package/dist/utils/update-notifier/index.js +68 -73
  733. package/dist/utils/update-notifier/index.js.map +1 -1
  734. package/dist/utils/update-notifier/index.mjs +67 -67
  735. package/dist/utils/update-notifier/index.mjs.map +1 -1
  736. 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