@strapi/core 0.0.0-experimental.b391efb8ce3832d4f280928b99ef5cb9c228fdee → 0.0.0-experimental.b64b317678ef49ec595d4adb8eab18393c8bc607

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