@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,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
- if (params2.lookup) {
39
- throw new strapiUtils.errors.ValidationError("Invalid params: 'lookup'");
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);
40
70
  }
41
- return params2;
42
- };
43
- const entries$1 = entries.createEntriesService(uid, validator);
44
- const eventManager = events.createEventManager(strapi, uid);
45
- const emitEvent = fp.curry(eventManager.emitEvent);
46
- async function findMany(params2 = {}) {
47
- const query$1 = await strapiUtils.async.pipe(
48
- validateParams,
49
- draftAndPublish.defaultToDraft,
50
- draftAndPublish.statusToLookup(contentType),
51
- internationalization.defaultLocale(contentType),
52
- internationalization.multiLocaleToLookup(contentType),
53
- idTransform.transformParamsDocumentId(uid),
54
- query.transformParamsToQuery(uid)
55
- )(params2 || {});
56
- return strapi.db.query(uid).findMany(query$1);
57
- }
58
- async function findFirst(params2 = {}) {
59
- const query$1 = await strapiUtils.async.pipe(
60
- validateParams,
61
- draftAndPublish.defaultToDraft,
62
- draftAndPublish.statusToLookup(contentType),
63
- internationalization.defaultLocale(contentType),
64
- internationalization.localeToLookup(contentType),
65
- idTransform.transformParamsDocumentId(uid),
66
- query.transformParamsToQuery(uid)
67
- )(params2);
68
- return strapi.db.query(uid).findOne(query$1);
69
- }
70
- async function findOne(opts = {}) {
71
- const { documentId, ...params2 } = opts;
72
- const query$1 = await strapiUtils.async.pipe(
73
- validateParams,
74
- draftAndPublish.defaultToDraft,
75
- draftAndPublish.statusToLookup(contentType),
76
- internationalization.defaultLocale(contentType),
77
- internationalization.localeToLookup(contentType),
78
- idTransform.transformParamsDocumentId(uid),
79
- query.transformParamsToQuery(uid),
80
- (query2) => fp.assoc("where", { ...query2.where, documentId }, query2)
81
- )(params2);
82
- return strapi.db.query(uid).findOne(query$1);
83
- }
84
- async function deleteDocument(opts = {}) {
85
- const { documentId, ...params2 } = opts;
86
- const query$1 = await strapiUtils.async.pipe(
87
- validateParams,
88
- fp.omit("status"),
89
- internationalization.defaultLocale(contentType),
90
- internationalization.multiLocaleToLookup(contentType),
91
- query.transformParamsToQuery(uid),
92
- (query2) => fp.assoc("where", { ...query2.where, documentId }, query2)
93
- )(params2);
94
- if (params2.status === "draft") {
95
- throw new Error("Cannot delete a draft document");
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);
96
74
  }
97
- const entriesToDelete = await strapi.db.query(uid).findMany(query$1);
98
- const deletedEntries = await strapiUtils.async.map(
99
- entriesToDelete,
100
- (entryToDelete) => entries$1.delete(entryToDelete.id)
101
- );
102
- entriesToDelete.forEach(emitEvent("entry.delete"));
103
- return { documentId, entries: deletedEntries };
104
- }
105
- async function create(opts = {}) {
106
- const { documentId, ...params2 } = opts;
107
- const queryParams = await strapiUtils.async.pipe(
108
- validateParams,
109
- draftAndPublish.filterDataPublishedAt,
110
- draftAndPublish.setStatusToDraft(contentType),
111
- draftAndPublish.statusToData(contentType),
112
- internationalization.defaultLocale(contentType),
113
- internationalization.localeToData(contentType)
114
- )(params2);
115
- const doc = await entries$1.create(queryParams);
116
- emitEvent("entry.create", doc);
117
- if (hasDraftAndPublish && params2.status === "published") {
118
- return publish({
119
- ...params2,
120
- documentId: doc.documentId
121
- }).then((doc2) => doc2.entries[0]);
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);
122
83
  }
123
- return doc;
124
- }
125
- async function clone(opts = {}) {
126
- const { documentId, ...params2 } = opts;
127
- const queryParams = await strapiUtils.async.pipe(
128
- validateParams,
129
- draftAndPublish.filterDataPublishedAt,
130
- internationalization.defaultLocale(contentType),
131
- internationalization.multiLocaleToLookup(contentType)
132
- )(params2);
133
- const entriesToClone = await strapi.db.query(uid).findMany({
134
- where: {
135
- ...queryParams?.lookup,
136
- documentId,
137
- // DP Enabled: Clone drafts
138
- // DP Disabled: Clone only the existing version (published)
139
- publishedAt: { $null: hasDraftAndPublish }
140
- },
141
- populate: populate.getDeepPopulate(uid, { relationalFields: ["id"] })
142
- });
143
- const clonedEntries = await strapiUtils.async.map(
144
- entriesToClone,
145
- strapiUtils.async.pipe(
146
- validateParams,
147
- fp.omit(["id", "createdAt", "updatedAt"]),
148
- // assign new documentId
149
- fp.assoc("documentId", transformContentTypesToModels.createDocumentId()),
150
- // Merge new data into it
151
- (data) => fp.merge(data, queryParams.data),
152
- (data) => entries$1.create({ ...queryParams, data, status: "draft" })
153
- )
154
- );
155
- clonedEntries.forEach(emitEvent("entry.create"));
156
- return { documentId: clonedEntries.at(0)?.documentId, entries: clonedEntries };
157
- }
158
- async function update(opts = {}) {
159
- const { documentId, ...params$1 } = opts;
160
- const queryParams = await strapiUtils.async.pipe(
161
- validateParams,
162
- draftAndPublish.filterDataPublishedAt,
163
- draftAndPublish.setStatusToDraft(contentType),
164
- draftAndPublish.statusToLookup(contentType),
165
- draftAndPublish.statusToData(contentType),
166
- // Default locale will be set if not provided
167
- internationalization.defaultLocale(contentType),
168
- internationalization.localeToLookup(contentType),
169
- internationalization.localeToData(contentType)
170
- )(params$1);
171
- const { data, ...restParams } = await idTransform.transformParamsDocumentId(uid, queryParams || {});
172
- const query$1 = query.transformParamsToQuery(uid, params.pickSelectionParams(restParams || {}));
173
- const entryToUpdate = await strapi.db.query(uid).findOne({ ...query$1, where: { ...queryParams?.lookup, ...query$1?.where, documentId } });
174
- let updatedDraft = null;
175
- if (entryToUpdate) {
176
- updatedDraft = await entries$1.update(entryToUpdate, queryParams);
177
- emitEvent("entry.update", updatedDraft);
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
+ };
178
101
  }
179
- if (!updatedDraft) {
180
- const documentExists = await strapi.db.query(contentType.uid).findOne({ where: { documentId } });
181
- if (documentExists) {
182
- updatedDraft = await entries$1.create({
183
- ...queryParams,
184
- data: { ...queryParams.data, documentId }
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
185
239
  });
186
- emitEvent("entry.create", updatedDraft);
187
- }
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);
188
343
  }
189
- if (hasDraftAndPublish && updatedDraft && params$1.status === "published") {
190
- return publish({
191
- ...params$1,
192
- documentId
193
- }).then((doc) => doc.entries[0]);
344
+ function omitComponentData(data) {
345
+ return components.omitComponentData(contentType, data);
194
346
  }
195
- return updatedDraft;
196
- }
197
- async function count(params2 = {}) {
198
- const query$1 = await strapiUtils.async.pipe(
199
- validateParams,
200
- draftAndPublish.defaultStatus(contentType),
201
- draftAndPublish.statusToLookup(contentType),
202
- internationalization.defaultLocale(contentType),
203
- internationalization.localeToLookup(contentType),
204
- query.transformParamsToQuery(uid)
205
- )(params2);
206
- return strapi.db.query(uid).count(query$1);
207
- }
208
- async function publish(opts = {}) {
209
- const { documentId, ...params2 } = opts;
210
- const queryParams = await strapiUtils.async.pipe(
211
- validateParams,
212
- internationalization.defaultLocale(contentType),
213
- internationalization.multiLocaleToLookup(contentType)
214
- )(params2);
215
- const [draftsToPublish, oldPublishedVersions] = await Promise.all([
216
- strapi.db.query(uid).findMany({
217
- where: {
218
- ...queryParams?.lookup,
219
- documentId,
220
- publishedAt: null
221
- // Ignore lookup
222
- },
223
- // Populate relations, media, compos and dz
224
- populate: populate.getDeepPopulate(uid, { relationalFields: ["documentId", "locale"] })
225
- }),
226
- strapi.db.query(uid).findMany({
227
- where: {
228
- ...queryParams?.lookup,
229
- documentId,
230
- publishedAt: { $ne: null }
231
- },
232
- select: ["id", "locale"]
233
- })
234
- ]);
235
- const relationsToSync = await unidirectionalRelations.load(uid, {
236
- newVersions: draftsToPublish,
237
- oldVersions: oldPublishedVersions
238
- });
239
- await strapiUtils.async.map(oldPublishedVersions, (entry) => entries$1.delete(entry.id));
240
- const publishedEntries = await strapiUtils.async.map(
241
- draftsToPublish,
242
- (draft) => entries$1.publish(draft, queryParams)
243
- );
244
- await unidirectionalRelations.sync(
245
- [...oldPublishedVersions, ...draftsToPublish],
246
- publishedEntries,
247
- relationsToSync
248
- );
249
- publishedEntries.forEach(emitEvent("entry.publish"));
250
- return { documentId, entries: publishedEntries };
251
- }
252
- async function unpublish(opts = {}) {
253
- const { documentId, ...params2 } = opts;
254
- const query$1 = await strapiUtils.async.pipe(
255
- validateParams,
256
- internationalization.defaultLocale(contentType),
257
- internationalization.multiLocaleToLookup(contentType),
258
- query.transformParamsToQuery(uid),
259
- (query2) => fp.assoc("where", { ...query2.where, documentId, publishedAt: { $ne: null } }, query2)
260
- )(params2);
261
- const versionsToDelete = await strapi.db.query(uid).findMany(query$1);
262
- await strapiUtils.async.map(versionsToDelete, (entry) => entries$1.delete(entry.id));
263
- versionsToDelete.forEach(emitEvent("entry.unpublish"));
264
- return { documentId, entries: versionsToDelete };
265
- }
266
- async function discardDraft(opts = {}) {
267
- const { documentId, ...params2 } = opts;
268
- const queryParams = await strapiUtils.async.pipe(
269
- validateParams,
270
- internationalization.defaultLocale(contentType),
271
- internationalization.multiLocaleToLookup(contentType)
272
- )(params2);
273
- const [versionsToDraft, oldDrafts] = await Promise.all([
274
- strapi.db.query(uid).findMany({
275
- where: {
276
- ...queryParams?.lookup,
277
- documentId,
278
- publishedAt: { $ne: null }
279
- },
280
- // Populate relations, media, compos and dz
281
- populate: populate.getDeepPopulate(uid, { relationalFields: ["documentId", "locale"] })
282
- }),
283
- strapi.db.query(uid).findMany({
284
- where: {
285
- ...queryParams?.lookup,
286
- documentId,
287
- publishedAt: null
288
- },
289
- select: ["id", "locale"]
290
- })
291
- ]);
292
- const relationsToSync = await unidirectionalRelations.load(uid, {
293
- newVersions: versionsToDraft,
294
- oldVersions: oldDrafts
295
- });
296
- await strapiUtils.async.map(oldDrafts, (entry) => entries$1.delete(entry.id));
297
- const draftEntries = await strapiUtils.async.map(
298
- versionsToDraft,
299
- (entry) => entries$1.discardDraft(entry, queryParams)
300
- );
301
- await unidirectionalRelations.sync(
302
- [...oldDrafts, ...versionsToDraft],
303
- draftEntries,
304
- relationsToSync
305
- );
306
- draftEntries.forEach(emitEvent("entry.draft-discard"));
307
- return { documentId, entries: draftEntries };
308
- }
309
- async function updateComponents(entry, data) {
310
- return components.updateComponents(uid, entry, data);
311
- }
312
- function omitComponentData(data) {
313
- return components.omitComponentData(contentType, data);
314
- }
315
- return {
316
- findMany: common.wrapInTransaction(findMany),
317
- findFirst: common.wrapInTransaction(findFirst),
318
- findOne: common.wrapInTransaction(findOne),
319
- delete: common.wrapInTransaction(deleteDocument),
320
- create: common.wrapInTransaction(create),
321
- clone: common.wrapInTransaction(clone),
322
- update: common.wrapInTransaction(update),
323
- count: common.wrapInTransaction(count),
324
- publish: hasDraftAndPublish ? common.wrapInTransaction(publish) : void 0,
325
- unpublish: hasDraftAndPublish ? common.wrapInTransaction(unpublish) : void 0,
326
- discardDraft: hasDraftAndPublish ? common.wrapInTransaction(discardDraft) : void 0,
327
- updateComponents,
328
- omitComponentData
329
- };
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
+ };
330
362
  };
363
+
331
364
  exports.createContentTypeRepository = createContentTypeRepository;
332
365
  //# sourceMappingURL=repository.js.map