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

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