@strapi/core 0.0.0-experimental.90ca9123352ed07e0a9cedaf4bcad1475e74137f → 0.0.0-experimental.9df68962083938acba06546a7901c68a63266aec

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 (810) hide show
  1. package/dist/Strapi.d.ts +49 -58
  2. package/dist/Strapi.d.ts.map +1 -1
  3. package/dist/Strapi.js +149 -208
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +140 -200
  6. package/dist/Strapi.mjs.map +1 -1
  7. package/dist/configuration/config-loader.d.ts.map +1 -1
  8. package/dist/configuration/config-loader.js +9 -5
  9. package/dist/configuration/config-loader.js.map +1 -1
  10. package/dist/configuration/config-loader.mjs +9 -5
  11. package/dist/configuration/config-loader.mjs.map +1 -1
  12. package/dist/configuration/get-dirs.d.ts +10 -0
  13. package/dist/configuration/get-dirs.d.ts.map +1 -0
  14. package/dist/{utils → configuration}/get-dirs.js +3 -2
  15. package/dist/configuration/get-dirs.js.map +1 -0
  16. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  17. package/dist/configuration/get-dirs.mjs.map +1 -0
  18. package/dist/configuration/index.d.ts +4 -7
  19. package/dist/configuration/index.d.ts.map +1 -1
  20. package/dist/configuration/index.js +10 -8
  21. package/dist/configuration/index.js.map +1 -1
  22. package/dist/configuration/index.mjs +6 -5
  23. package/dist/configuration/index.mjs.map +1 -1
  24. package/dist/configuration/urls.d.ts +8 -0
  25. package/dist/configuration/urls.d.ts.map +1 -0
  26. package/dist/configuration/urls.js +68 -0
  27. package/dist/configuration/urls.js.map +1 -0
  28. package/dist/configuration/urls.mjs +66 -0
  29. package/dist/configuration/urls.mjs.map +1 -0
  30. package/dist/container.d.ts +2 -2
  31. package/dist/container.d.ts.map +1 -1
  32. package/dist/container.js.map +1 -1
  33. package/dist/container.mjs.map +1 -1
  34. package/dist/core-api/controller/collection-type.d.ts +3 -3
  35. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  36. package/dist/core-api/controller/collection-type.js +3 -0
  37. package/dist/core-api/controller/collection-type.js.map +1 -1
  38. package/dist/core-api/controller/collection-type.mjs +3 -0
  39. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  40. package/dist/core-api/controller/index.d.ts +3 -3
  41. package/dist/core-api/controller/index.d.ts.map +1 -1
  42. package/dist/core-api/controller/index.js +11 -6
  43. package/dist/core-api/controller/index.js.map +1 -1
  44. package/dist/core-api/controller/index.mjs +12 -7
  45. package/dist/core-api/controller/index.mjs.map +1 -1
  46. package/dist/core-api/controller/single-type.d.ts +3 -3
  47. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  48. package/dist/core-api/controller/single-type.js +1 -0
  49. package/dist/core-api/controller/single-type.js.map +1 -1
  50. package/dist/core-api/controller/single-type.mjs +1 -0
  51. package/dist/core-api/controller/single-type.mjs.map +1 -1
  52. package/dist/core-api/controller/transform.d.ts +10 -9
  53. package/dist/core-api/controller/transform.d.ts.map +1 -1
  54. package/dist/core-api/controller/transform.js +17 -11
  55. package/dist/core-api/controller/transform.js.map +1 -1
  56. package/dist/core-api/controller/transform.mjs +17 -11
  57. package/dist/core-api/controller/transform.mjs.map +1 -1
  58. package/dist/core-api/routes/index.d.ts.map +1 -1
  59. package/dist/core-api/service/collection-type.d.ts +11 -17
  60. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  61. package/dist/core-api/service/collection-type.js +18 -7
  62. package/dist/core-api/service/collection-type.js.map +1 -1
  63. package/dist/core-api/service/collection-type.mjs +19 -8
  64. package/dist/core-api/service/collection-type.mjs.map +1 -1
  65. package/dist/core-api/service/index.d.ts +3 -3
  66. package/dist/core-api/service/index.d.ts.map +1 -1
  67. package/dist/core-api/service/index.js.map +1 -1
  68. package/dist/core-api/service/index.mjs.map +1 -1
  69. package/dist/core-api/service/pagination.d.ts +4 -11
  70. package/dist/core-api/service/pagination.d.ts.map +1 -1
  71. package/dist/core-api/service/pagination.js +14 -40
  72. package/dist/core-api/service/pagination.js.map +1 -1
  73. package/dist/core-api/service/pagination.mjs +16 -42
  74. package/dist/core-api/service/pagination.mjs.map +1 -1
  75. package/dist/core-api/service/single-type.d.ts +7 -6
  76. package/dist/core-api/service/single-type.d.ts.map +1 -1
  77. package/dist/core-api/service/single-type.js +21 -3
  78. package/dist/core-api/service/single-type.js.map +1 -1
  79. package/dist/core-api/service/single-type.mjs +21 -3
  80. package/dist/core-api/service/single-type.mjs.map +1 -1
  81. package/dist/domain/content-type/index.d.ts +1 -1
  82. package/dist/domain/content-type/index.d.ts.map +1 -1
  83. package/dist/domain/content-type/index.js +3 -0
  84. package/dist/domain/content-type/index.js.map +1 -1
  85. package/dist/domain/content-type/index.mjs +3 -0
  86. package/dist/domain/content-type/index.mjs.map +1 -1
  87. package/dist/domain/content-type/validator.d.ts.map +1 -1
  88. package/dist/domain/content-type/validator.js +1 -1
  89. package/dist/domain/content-type/validator.js.map +1 -1
  90. package/dist/domain/content-type/validator.mjs +2 -2
  91. package/dist/domain/content-type/validator.mjs.map +1 -1
  92. package/dist/domain/module/index.d.ts +24 -23
  93. package/dist/domain/module/index.d.ts.map +1 -1
  94. package/dist/domain/module/index.js +3 -3
  95. package/dist/domain/module/index.js.map +1 -1
  96. package/dist/domain/module/index.mjs +4 -4
  97. package/dist/domain/module/index.mjs.map +1 -1
  98. package/dist/ee/index.d.ts +4 -2
  99. package/dist/ee/index.d.ts.map +1 -1
  100. package/dist/ee/index.js.map +1 -1
  101. package/dist/ee/index.mjs.map +1 -1
  102. package/dist/ee/license.d.ts +2 -2
  103. package/dist/ee/license.d.ts.map +1 -1
  104. package/dist/ee/license.js +2 -1
  105. package/dist/ee/license.js.map +1 -1
  106. package/dist/ee/license.mjs +2 -1
  107. package/dist/ee/license.mjs.map +1 -1
  108. package/dist/factories.d.ts +10 -10
  109. package/dist/factories.d.ts.map +1 -1
  110. package/dist/factories.js +6 -2
  111. package/dist/factories.js.map +1 -1
  112. package/dist/factories.mjs +6 -2
  113. package/dist/factories.mjs.map +1 -1
  114. package/dist/index.d.ts +4 -2
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +25 -1
  117. package/dist/index.js.map +1 -1
  118. package/dist/index.mjs +27 -3
  119. package/dist/index.mjs.map +1 -1
  120. package/dist/loaders/admin.d.ts +2 -2
  121. package/dist/loaders/admin.d.ts.map +1 -1
  122. package/dist/loaders/admin.js +0 -1
  123. package/dist/loaders/admin.js.map +1 -1
  124. package/dist/loaders/admin.mjs +0 -1
  125. package/dist/loaders/admin.mjs.map +1 -1
  126. package/dist/loaders/apis.d.ts +2 -2
  127. package/dist/loaders/apis.d.ts.map +1 -1
  128. package/dist/loaders/apis.js +11 -11
  129. package/dist/loaders/apis.js.map +1 -1
  130. package/dist/loaders/apis.mjs +12 -12
  131. package/dist/loaders/apis.mjs.map +1 -1
  132. package/dist/loaders/components.d.ts +2 -2
  133. package/dist/loaders/components.d.ts.map +1 -1
  134. package/dist/loaders/components.js.map +1 -1
  135. package/dist/loaders/components.mjs.map +1 -1
  136. package/dist/loaders/index.d.ts +2 -2
  137. package/dist/loaders/index.d.ts.map +1 -1
  138. package/dist/loaders/index.js +0 -2
  139. package/dist/loaders/index.js.map +1 -1
  140. package/dist/loaders/index.mjs +0 -2
  141. package/dist/loaders/index.mjs.map +1 -1
  142. package/dist/loaders/middlewares.d.ts +2 -2
  143. package/dist/loaders/middlewares.d.ts.map +1 -1
  144. package/dist/loaders/middlewares.js.map +1 -1
  145. package/dist/loaders/middlewares.mjs.map +1 -1
  146. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  147. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  148. package/dist/loaders/plugins/get-enabled-plugins.js +8 -6
  149. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  150. package/dist/loaders/plugins/get-enabled-plugins.mjs +9 -7
  151. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  152. package/dist/loaders/plugins/index.d.ts +2 -2
  153. package/dist/loaders/plugins/index.d.ts.map +1 -1
  154. package/dist/loaders/plugins/index.js.map +1 -1
  155. package/dist/loaders/plugins/index.mjs.map +1 -1
  156. package/dist/loaders/policies.d.ts +2 -2
  157. package/dist/loaders/policies.d.ts.map +1 -1
  158. package/dist/loaders/policies.js.map +1 -1
  159. package/dist/loaders/policies.mjs.map +1 -1
  160. package/dist/loaders/sanitizers.d.ts +2 -2
  161. package/dist/loaders/sanitizers.d.ts.map +1 -1
  162. package/dist/loaders/sanitizers.js.map +1 -1
  163. package/dist/loaders/sanitizers.mjs.map +1 -1
  164. package/dist/loaders/src-index.d.ts +2 -2
  165. package/dist/loaders/src-index.d.ts.map +1 -1
  166. package/dist/loaders/src-index.js.map +1 -1
  167. package/dist/loaders/src-index.mjs.map +1 -1
  168. package/dist/loaders/validators.d.ts +2 -2
  169. package/dist/loaders/validators.d.ts.map +1 -1
  170. package/dist/loaders/validators.js.map +1 -1
  171. package/dist/loaders/validators.mjs.map +1 -1
  172. package/dist/middlewares/body.d.ts +4 -4
  173. package/dist/middlewares/body.d.ts.map +1 -1
  174. package/dist/middlewares/body.js +4 -4
  175. package/dist/middlewares/body.js.map +1 -1
  176. package/dist/middlewares/body.mjs +4 -4
  177. package/dist/middlewares/body.mjs.map +1 -1
  178. package/dist/middlewares/compression.d.ts +2 -2
  179. package/dist/middlewares/compression.d.ts.map +1 -1
  180. package/dist/middlewares/compression.js.map +1 -1
  181. package/dist/middlewares/compression.mjs.map +1 -1
  182. package/dist/middlewares/cors.d.ts +2 -2
  183. package/dist/middlewares/cors.d.ts.map +1 -1
  184. package/dist/middlewares/cors.js +6 -8
  185. package/dist/middlewares/cors.js.map +1 -1
  186. package/dist/middlewares/cors.mjs +6 -8
  187. package/dist/middlewares/cors.mjs.map +1 -1
  188. package/dist/middlewares/errors.d.ts +2 -2
  189. package/dist/middlewares/errors.d.ts.map +1 -1
  190. package/dist/middlewares/errors.js.map +1 -1
  191. package/dist/middlewares/errors.mjs.map +1 -1
  192. package/dist/middlewares/favicon.d.ts +2 -2
  193. package/dist/middlewares/favicon.d.ts.map +1 -1
  194. package/dist/middlewares/favicon.js.map +1 -1
  195. package/dist/middlewares/favicon.mjs.map +1 -1
  196. package/dist/middlewares/index.d.ts +2 -2
  197. package/dist/middlewares/index.d.ts.map +1 -1
  198. package/dist/middlewares/index.js.map +1 -1
  199. package/dist/middlewares/index.mjs.map +1 -1
  200. package/dist/middlewares/ip.d.ts +2 -2
  201. package/dist/middlewares/ip.d.ts.map +1 -1
  202. package/dist/middlewares/ip.js.map +1 -1
  203. package/dist/middlewares/ip.mjs.map +1 -1
  204. package/dist/middlewares/logger.d.ts +2 -2
  205. package/dist/middlewares/logger.d.ts.map +1 -1
  206. package/dist/middlewares/logger.js.map +1 -1
  207. package/dist/middlewares/logger.mjs.map +1 -1
  208. package/dist/middlewares/powered-by.d.ts +2 -2
  209. package/dist/middlewares/powered-by.d.ts.map +1 -1
  210. package/dist/middlewares/powered-by.js.map +1 -1
  211. package/dist/middlewares/powered-by.mjs.map +1 -1
  212. package/dist/middlewares/public.d.ts +2 -2
  213. package/dist/middlewares/public.d.ts.map +1 -1
  214. package/dist/middlewares/public.js +1 -1
  215. package/dist/middlewares/public.js.map +1 -1
  216. package/dist/middlewares/public.mjs +1 -1
  217. package/dist/middlewares/public.mjs.map +1 -1
  218. package/dist/middlewares/query.d.ts +2 -2
  219. package/dist/middlewares/query.d.ts.map +1 -1
  220. package/dist/middlewares/query.js.map +1 -1
  221. package/dist/middlewares/query.mjs.map +1 -1
  222. package/dist/middlewares/response-time.d.ts +2 -2
  223. package/dist/middlewares/response-time.d.ts.map +1 -1
  224. package/dist/middlewares/response-time.js.map +1 -1
  225. package/dist/middlewares/response-time.mjs.map +1 -1
  226. package/dist/middlewares/responses.d.ts +3 -3
  227. package/dist/middlewares/responses.d.ts.map +1 -1
  228. package/dist/middlewares/responses.js.map +1 -1
  229. package/dist/middlewares/responses.mjs.map +1 -1
  230. package/dist/middlewares/security.d.ts +2 -2
  231. package/dist/middlewares/security.d.ts.map +1 -1
  232. package/dist/middlewares/security.js +11 -4
  233. package/dist/middlewares/security.js.map +1 -1
  234. package/dist/middlewares/security.mjs +12 -5
  235. package/dist/middlewares/security.mjs.map +1 -1
  236. package/dist/middlewares/session.d.ts +2 -2
  237. package/dist/middlewares/session.d.ts.map +1 -1
  238. package/dist/middlewares/session.js.map +1 -1
  239. package/dist/middlewares/session.mjs.map +1 -1
  240. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +30 -0
  241. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  242. package/dist/migrations/database/5.0.0-discard-drafts.js +50 -0
  243. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  244. package/dist/migrations/database/5.0.0-discard-drafts.mjs +50 -0
  245. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  246. package/dist/migrations/draft-publish.d.ts +17 -0
  247. package/dist/migrations/draft-publish.d.ts.map +1 -0
  248. package/dist/migrations/draft-publish.js +42 -0
  249. package/dist/migrations/draft-publish.js.map +1 -0
  250. package/dist/migrations/draft-publish.mjs +42 -0
  251. package/dist/migrations/draft-publish.mjs.map +1 -0
  252. package/dist/providers/admin.d.ts +3 -0
  253. package/dist/providers/admin.d.ts.map +1 -0
  254. package/dist/providers/admin.js +20 -0
  255. package/dist/providers/admin.js.map +1 -0
  256. package/dist/providers/admin.mjs +21 -0
  257. package/dist/providers/admin.mjs.map +1 -0
  258. package/dist/providers/coreStore.d.ts +3 -0
  259. package/dist/providers/coreStore.d.ts.map +1 -0
  260. package/dist/providers/coreStore.js +11 -0
  261. package/dist/providers/coreStore.js.map +1 -0
  262. package/dist/providers/coreStore.mjs +12 -0
  263. package/dist/providers/coreStore.mjs.map +1 -0
  264. package/dist/providers/cron.d.ts +3 -0
  265. package/dist/providers/cron.d.ts.map +1 -0
  266. package/dist/providers/cron.js +20 -0
  267. package/dist/providers/cron.js.map +1 -0
  268. package/dist/providers/cron.mjs +21 -0
  269. package/dist/providers/cron.mjs.map +1 -0
  270. package/dist/providers/index.d.ts +3 -0
  271. package/dist/providers/index.d.ts.map +1 -0
  272. package/dist/providers/index.js +11 -0
  273. package/dist/providers/index.js.map +1 -0
  274. package/dist/providers/index.mjs +11 -0
  275. package/dist/providers/index.mjs.map +1 -0
  276. package/dist/providers/provider.d.ts +9 -0
  277. package/dist/providers/provider.d.ts.map +1 -0
  278. package/dist/providers/provider.js +5 -0
  279. package/dist/providers/provider.js.map +1 -0
  280. package/dist/providers/provider.mjs +5 -0
  281. package/dist/providers/provider.mjs.map +1 -0
  282. package/dist/providers/registries.d.ts +3 -0
  283. package/dist/providers/registries.d.ts.map +1 -0
  284. package/dist/providers/registries.js +35 -0
  285. package/dist/providers/registries.js.map +1 -0
  286. package/dist/providers/registries.mjs +36 -0
  287. package/dist/providers/registries.mjs.map +1 -0
  288. package/dist/providers/telemetry.d.ts +3 -0
  289. package/dist/providers/telemetry.d.ts.map +1 -0
  290. package/dist/providers/telemetry.js +19 -0
  291. package/dist/providers/telemetry.js.map +1 -0
  292. package/dist/providers/telemetry.mjs +20 -0
  293. package/dist/providers/telemetry.mjs.map +1 -0
  294. package/dist/providers/webhooks.d.ts +3 -0
  295. package/dist/providers/webhooks.d.ts.map +1 -0
  296. package/dist/providers/webhooks.js +30 -0
  297. package/dist/providers/webhooks.js.map +1 -0
  298. package/dist/providers/webhooks.mjs +31 -0
  299. package/dist/providers/webhooks.mjs.map +1 -0
  300. package/dist/registries/apis.d.ts +2 -2
  301. package/dist/registries/apis.d.ts.map +1 -1
  302. package/dist/registries/apis.js.map +1 -1
  303. package/dist/registries/apis.mjs.map +1 -1
  304. package/dist/registries/components.d.ts +6 -6
  305. package/dist/registries/components.d.ts.map +1 -1
  306. package/dist/registries/components.js.map +1 -1
  307. package/dist/registries/components.mjs.map +1 -1
  308. package/dist/registries/content-types.d.ts +5 -5
  309. package/dist/registries/content-types.d.ts.map +1 -1
  310. package/dist/registries/content-types.js.map +1 -1
  311. package/dist/registries/content-types.mjs.map +1 -1
  312. package/dist/registries/controllers.d.ts +10 -10
  313. package/dist/registries/controllers.d.ts.map +1 -1
  314. package/dist/registries/controllers.js.map +1 -1
  315. package/dist/registries/controllers.mjs.map +1 -1
  316. package/dist/registries/custom-fields.d.ts +3 -3
  317. package/dist/registries/custom-fields.d.ts.map +1 -1
  318. package/dist/registries/custom-fields.js.map +1 -1
  319. package/dist/registries/custom-fields.mjs.map +1 -1
  320. package/dist/registries/index.d.ts +0 -1
  321. package/dist/registries/index.d.ts.map +1 -1
  322. package/dist/registries/middlewares.d.ts +6 -6
  323. package/dist/registries/middlewares.d.ts.map +1 -1
  324. package/dist/registries/middlewares.js.map +1 -1
  325. package/dist/registries/middlewares.mjs.map +1 -1
  326. package/dist/registries/modules.d.ts +2 -2
  327. package/dist/registries/modules.d.ts.map +1 -1
  328. package/dist/registries/modules.js.map +1 -1
  329. package/dist/registries/modules.mjs.map +1 -1
  330. package/dist/registries/plugins.d.ts +5 -5
  331. package/dist/registries/plugins.d.ts.map +1 -1
  332. package/dist/registries/plugins.js.map +1 -1
  333. package/dist/registries/plugins.mjs.map +1 -1
  334. package/dist/registries/policies.d.ts +23 -11
  335. package/dist/registries/policies.d.ts.map +1 -1
  336. package/dist/registries/policies.js +64 -18
  337. package/dist/registries/policies.js.map +1 -1
  338. package/dist/registries/policies.mjs +65 -19
  339. package/dist/registries/policies.mjs.map +1 -1
  340. package/dist/registries/services.d.ts +8 -8
  341. package/dist/registries/services.d.ts.map +1 -1
  342. package/dist/registries/services.js.map +1 -1
  343. package/dist/registries/services.mjs.map +1 -1
  344. package/dist/services/auth/index.d.ts +4 -4
  345. package/dist/services/auth/index.d.ts.map +1 -1
  346. package/dist/services/auth/index.js.map +1 -1
  347. package/dist/services/auth/index.mjs.map +1 -1
  348. package/dist/services/config.d.ts +3 -0
  349. package/dist/services/config.d.ts.map +1 -0
  350. package/dist/services/config.js +47 -0
  351. package/dist/services/config.js.map +1 -0
  352. package/dist/services/config.mjs +47 -0
  353. package/dist/services/config.mjs.map +1 -0
  354. package/dist/services/content-api/index.d.ts +21 -3
  355. package/dist/services/content-api/index.d.ts.map +1 -1
  356. package/dist/services/content-api/index.js +28 -2
  357. package/dist/services/content-api/index.js.map +1 -1
  358. package/dist/services/content-api/index.mjs +28 -2
  359. package/dist/services/content-api/index.mjs.map +1 -1
  360. package/dist/services/content-api/permissions/index.d.ts +3 -3
  361. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  362. package/dist/services/content-api/permissions/index.js +1 -1
  363. package/dist/services/content-api/permissions/index.js.map +1 -1
  364. package/dist/services/content-api/permissions/index.mjs +1 -1
  365. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  366. package/dist/services/core-store.d.ts.map +1 -1
  367. package/dist/services/cron.d.ts +2 -2
  368. package/dist/services/cron.d.ts.map +1 -1
  369. package/dist/services/cron.js.map +1 -1
  370. package/dist/services/cron.mjs.map +1 -1
  371. package/dist/services/custom-fields.d.ts +2 -2
  372. package/dist/services/custom-fields.d.ts.map +1 -1
  373. package/dist/services/custom-fields.js.map +1 -1
  374. package/dist/services/custom-fields.mjs.map +1 -1
  375. package/dist/services/document-service/attributes/index.d.ts +6 -0
  376. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  377. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  378. package/dist/services/document-service/attributes/index.js.map +1 -0
  379. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  380. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  381. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  382. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  383. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  384. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  385. package/dist/services/document-service/common.d.ts +2 -2
  386. package/dist/services/document-service/common.d.ts.map +1 -1
  387. package/dist/services/document-service/common.js.map +1 -1
  388. package/dist/services/document-service/common.mjs.map +1 -1
  389. package/dist/services/document-service/components.d.ts +25 -1
  390. package/dist/services/document-service/components.d.ts.map +1 -1
  391. package/dist/services/{entity-service → document-service}/components.js +46 -142
  392. package/dist/services/document-service/components.js.map +1 -0
  393. package/dist/services/{entity-service → document-service}/components.mjs +48 -144
  394. package/dist/services/document-service/components.mjs.map +1 -0
  395. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  396. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  397. package/dist/services/document-service/draft-and-publish.js +37 -9
  398. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  399. package/dist/services/document-service/draft-and-publish.mjs +38 -10
  400. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  401. package/dist/services/document-service/entries.d.ts +10 -0
  402. package/dist/services/document-service/entries.d.ts.map +1 -0
  403. package/dist/services/document-service/entries.js +96 -0
  404. package/dist/services/document-service/entries.js.map +1 -0
  405. package/dist/services/document-service/entries.mjs +96 -0
  406. package/dist/services/document-service/entries.mjs.map +1 -0
  407. package/dist/services/document-service/events.d.ts +25 -0
  408. package/dist/services/document-service/events.d.ts.map +1 -0
  409. package/dist/services/document-service/events.js +47 -0
  410. package/dist/services/document-service/events.js.map +1 -0
  411. package/dist/services/document-service/events.mjs +47 -0
  412. package/dist/services/document-service/events.mjs.map +1 -0
  413. package/dist/services/document-service/index.d.ts +2 -4
  414. package/dist/services/document-service/index.d.ts.map +1 -1
  415. package/dist/services/document-service/index.js +20 -7
  416. package/dist/services/document-service/index.js.map +1 -1
  417. package/dist/services/document-service/index.mjs +18 -5
  418. package/dist/services/document-service/index.mjs.map +1 -1
  419. package/dist/services/document-service/internationalization.d.ts +6 -5
  420. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  421. package/dist/services/document-service/internationalization.js +24 -1
  422. package/dist/services/document-service/internationalization.js.map +1 -1
  423. package/dist/services/document-service/internationalization.mjs +25 -2
  424. package/dist/services/document-service/internationalization.mjs.map +1 -1
  425. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  426. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  427. package/dist/services/document-service/middlewares/errors.js +25 -0
  428. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  429. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  430. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  431. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  432. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  433. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  434. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  435. package/dist/services/document-service/{middlewares.js → middlewares/middleware-manager.js} +9 -6
  436. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  437. package/dist/services/document-service/{middlewares.mjs → middlewares/middleware-manager.mjs} +9 -6
  438. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  439. package/dist/services/document-service/params.d.ts +3 -1
  440. package/dist/services/document-service/params.d.ts.map +1 -1
  441. package/dist/services/{entity-service → document-service}/params.js +1 -1
  442. package/dist/services/document-service/params.js.map +1 -0
  443. package/dist/services/{entity-service → document-service}/params.mjs +1 -1
  444. package/dist/services/document-service/params.mjs.map +1 -0
  445. package/dist/services/document-service/repository.d.ts +3 -0
  446. package/dist/services/document-service/repository.d.ts.map +1 -0
  447. package/dist/services/document-service/repository.js +278 -0
  448. package/dist/services/document-service/repository.js.map +1 -0
  449. package/dist/services/document-service/repository.mjs +278 -0
  450. package/dist/services/document-service/repository.mjs.map +1 -0
  451. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  452. package/dist/services/document-service/transform/data.js +4 -2
  453. package/dist/services/document-service/transform/data.js.map +1 -1
  454. package/dist/services/document-service/transform/data.mjs +4 -2
  455. package/dist/services/document-service/transform/data.mjs.map +1 -1
  456. package/dist/services/document-service/transform/fields.d.ts +2 -2
  457. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  458. package/dist/services/document-service/transform/fields.js +11 -10
  459. package/dist/services/document-service/transform/fields.js.map +1 -1
  460. package/dist/services/document-service/transform/fields.mjs +11 -10
  461. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  462. package/dist/services/document-service/transform/id-map.d.ts +4 -4
  463. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  464. package/dist/services/document-service/transform/id-map.js +15 -9
  465. package/dist/services/document-service/transform/id-map.js.map +1 -1
  466. package/dist/services/document-service/transform/id-map.mjs +16 -10
  467. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  468. package/dist/services/document-service/transform/id-transform.d.ts +4 -25
  469. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  470. package/dist/services/document-service/transform/id-transform.js +19 -43
  471. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  472. package/dist/services/document-service/transform/id-transform.mjs +20 -44
  473. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  474. package/dist/services/document-service/transform/populate.d.ts +5 -2
  475. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  476. package/dist/services/document-service/transform/populate.js +1 -11
  477. package/dist/services/document-service/transform/populate.js.map +1 -1
  478. package/dist/services/document-service/transform/populate.mjs +1 -11
  479. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  480. package/dist/services/document-service/transform/query.d.ts +5 -0
  481. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  482. package/dist/services/document-service/transform/query.js +9 -0
  483. package/dist/services/document-service/transform/query.js.map +1 -0
  484. package/dist/services/document-service/transform/query.mjs +9 -0
  485. package/dist/services/document-service/transform/query.mjs.map +1 -0
  486. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  487. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  488. package/dist/services/document-service/transform/relations/extract/data-ids.js +45 -64
  489. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  490. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +45 -64
  491. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  492. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +9 -5
  493. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  494. package/dist/services/document-service/transform/relations/transform/data-ids.js +64 -103
  495. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  496. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +64 -103
  497. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  498. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  499. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  500. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  501. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  502. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  503. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  504. package/dist/services/document-service/transform/relations/utils/data.d.ts +2 -4
  505. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -1
  506. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  507. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  508. package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
  509. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  510. package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
  511. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  512. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +8 -8
  513. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  514. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  515. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  516. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  517. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  518. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  519. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  520. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  521. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  522. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  523. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  524. package/dist/services/document-service/transform/relations/utils/types.d.ts +15 -2
  525. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  526. package/dist/services/document-service/transform/types.d.ts +4 -4
  527. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  528. package/dist/services/document-service/utils/populate.d.ts +9 -2
  529. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  530. package/dist/services/document-service/utils/populate.js +5 -5
  531. package/dist/services/document-service/utils/populate.js.map +1 -1
  532. package/dist/services/document-service/utils/populate.mjs +5 -5
  533. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  534. package/dist/services/entity-service/index.d.ts +4 -6
  535. package/dist/services/entity-service/index.d.ts.map +1 -1
  536. package/dist/services/entity-service/index.js +44 -203
  537. package/dist/services/entity-service/index.js.map +1 -1
  538. package/dist/services/entity-service/index.mjs +38 -197
  539. package/dist/services/entity-service/index.mjs.map +1 -1
  540. package/dist/services/entity-validator/index.d.ts +2 -2
  541. package/dist/services/entity-validator/index.d.ts.map +1 -1
  542. package/dist/services/entity-validator/index.js +101 -90
  543. package/dist/services/entity-validator/index.js.map +1 -1
  544. package/dist/services/entity-validator/index.mjs +101 -90
  545. package/dist/services/entity-validator/index.mjs.map +1 -1
  546. package/dist/services/entity-validator/validators.d.ts +18 -18
  547. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  548. package/dist/services/entity-validator/validators.js +6 -1
  549. package/dist/services/entity-validator/validators.js.map +1 -1
  550. package/dist/services/entity-validator/validators.mjs +6 -1
  551. package/dist/services/entity-validator/validators.mjs.map +1 -1
  552. package/dist/services/event-hub.d.ts +1 -0
  553. package/dist/services/event-hub.d.ts.map +1 -1
  554. package/dist/services/event-hub.js +9 -4
  555. package/dist/services/event-hub.js.map +1 -1
  556. package/dist/services/event-hub.mjs +9 -4
  557. package/dist/services/event-hub.mjs.map +1 -1
  558. package/dist/services/features.d.ts +3 -3
  559. package/dist/services/features.d.ts.map +1 -1
  560. package/dist/services/features.js.map +1 -1
  561. package/dist/services/features.mjs.map +1 -1
  562. package/dist/services/fs.d.ts +2 -2
  563. package/dist/services/fs.d.ts.map +1 -1
  564. package/dist/services/fs.js.map +1 -1
  565. package/dist/services/fs.mjs.map +1 -1
  566. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  567. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  568. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  569. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  570. package/dist/services/metrics/index.d.ts +2 -2
  571. package/dist/services/metrics/index.d.ts.map +1 -1
  572. package/dist/services/metrics/index.js.map +1 -1
  573. package/dist/services/metrics/index.mjs.map +1 -1
  574. package/dist/services/metrics/middleware.d.ts +2 -2
  575. package/dist/services/metrics/middleware.d.ts.map +1 -1
  576. package/dist/services/metrics/middleware.js.map +1 -1
  577. package/dist/services/metrics/middleware.mjs.map +1 -1
  578. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  579. package/dist/services/metrics/rate-limiter.js.map +1 -1
  580. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  581. package/dist/services/metrics/sender.d.ts +3 -3
  582. package/dist/services/metrics/sender.d.ts.map +1 -1
  583. package/dist/services/metrics/sender.js.map +1 -1
  584. package/dist/services/metrics/sender.mjs.map +1 -1
  585. package/dist/services/query-params.d.ts +7 -0
  586. package/dist/services/query-params.d.ts.map +1 -0
  587. package/dist/services/query-params.js +12 -0
  588. package/dist/services/query-params.js.map +1 -0
  589. package/dist/services/query-params.mjs +13 -0
  590. package/dist/services/query-params.mjs.map +1 -0
  591. package/dist/services/reloader.d.ts +7 -0
  592. package/dist/services/reloader.d.ts.map +1 -0
  593. package/dist/services/reloader.js +36 -0
  594. package/dist/services/reloader.js.map +1 -0
  595. package/dist/services/reloader.mjs +36 -0
  596. package/dist/services/reloader.mjs.map +1 -0
  597. package/dist/services/server/admin-api.d.ts +3 -3
  598. package/dist/services/server/admin-api.d.ts.map +1 -1
  599. package/dist/services/server/admin-api.js.map +1 -1
  600. package/dist/services/server/admin-api.mjs.map +1 -1
  601. package/dist/services/server/api.d.ts +3 -3
  602. package/dist/services/server/api.d.ts.map +1 -1
  603. package/dist/services/server/api.js.map +1 -1
  604. package/dist/services/server/api.mjs.map +1 -1
  605. package/dist/services/server/compose-endpoint.d.ts +2 -2
  606. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  607. package/dist/services/server/compose-endpoint.js +1 -2
  608. package/dist/services/server/compose-endpoint.js.map +1 -1
  609. package/dist/services/server/compose-endpoint.mjs +2 -3
  610. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  611. package/dist/services/server/content-api.d.ts +3 -3
  612. package/dist/services/server/content-api.d.ts.map +1 -1
  613. package/dist/services/server/content-api.js.map +1 -1
  614. package/dist/services/server/content-api.mjs.map +1 -1
  615. package/dist/services/server/http-server.d.ts +2 -2
  616. package/dist/services/server/http-server.d.ts.map +1 -1
  617. package/dist/services/server/http-server.js.map +1 -1
  618. package/dist/services/server/http-server.mjs.map +1 -1
  619. package/dist/services/server/index.d.ts +2 -2
  620. package/dist/services/server/index.d.ts.map +1 -1
  621. package/dist/services/server/index.js +1 -2
  622. package/dist/services/server/index.js.map +1 -1
  623. package/dist/services/server/index.mjs +1 -2
  624. package/dist/services/server/index.mjs.map +1 -1
  625. package/dist/services/server/koa.d.ts.map +1 -1
  626. package/dist/services/server/koa.js +1 -1
  627. package/dist/services/server/koa.js.map +1 -1
  628. package/dist/services/server/koa.mjs +1 -1
  629. package/dist/services/server/koa.mjs.map +1 -1
  630. package/dist/services/server/middleware.d.ts +4 -4
  631. package/dist/services/server/middleware.d.ts.map +1 -1
  632. package/dist/services/server/middleware.js.map +1 -1
  633. package/dist/services/server/middleware.mjs.map +1 -1
  634. package/dist/services/server/policy.d.ts +3 -3
  635. package/dist/services/server/policy.d.ts.map +1 -1
  636. package/dist/services/server/policy.js +4 -4
  637. package/dist/services/server/policy.js.map +1 -1
  638. package/dist/services/server/policy.mjs +4 -4
  639. package/dist/services/server/policy.mjs.map +1 -1
  640. package/dist/services/server/register-middlewares.d.ts +2 -2
  641. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  642. package/dist/services/server/register-middlewares.js.map +1 -1
  643. package/dist/services/server/register-middlewares.mjs.map +1 -1
  644. package/dist/services/server/register-routes.d.ts +2 -2
  645. package/dist/services/server/register-routes.d.ts.map +1 -1
  646. package/dist/services/server/register-routes.js +3 -3
  647. package/dist/services/server/register-routes.js.map +1 -1
  648. package/dist/services/server/register-routes.mjs +3 -3
  649. package/dist/services/server/register-routes.mjs.map +1 -1
  650. package/dist/services/server/routing.d.ts +5 -5
  651. package/dist/services/server/routing.d.ts.map +1 -1
  652. package/dist/services/server/routing.js.map +1 -1
  653. package/dist/services/server/routing.mjs.map +1 -1
  654. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  655. package/dist/services/utils/dynamic-zones.js +2 -1
  656. package/dist/services/utils/dynamic-zones.js.map +1 -1
  657. package/dist/services/utils/dynamic-zones.mjs +2 -1
  658. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  659. package/dist/services/webhook-runner.d.ts +2 -1
  660. package/dist/services/webhook-runner.d.ts.map +1 -1
  661. package/dist/services/webhook-runner.js.map +1 -1
  662. package/dist/services/webhook-runner.mjs.map +1 -1
  663. package/dist/services/webhook-store.d.ts +2 -8
  664. package/dist/services/webhook-store.d.ts.map +1 -1
  665. package/dist/services/webhook-store.js +14 -8
  666. package/dist/services/webhook-store.js.map +1 -1
  667. package/dist/services/webhook-store.mjs +14 -8
  668. package/dist/services/webhook-store.mjs.map +1 -1
  669. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  670. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  671. package/dist/utils/convert-custom-field-type.js.map +1 -1
  672. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  673. package/dist/utils/fetch.d.ts +3 -3
  674. package/dist/utils/fetch.d.ts.map +1 -1
  675. package/dist/utils/fetch.js.map +1 -1
  676. package/dist/utils/fetch.mjs.map +1 -1
  677. package/dist/utils/index.d.ts +2 -1
  678. package/dist/utils/index.d.ts.map +1 -1
  679. package/dist/utils/is-initialized.d.ts +2 -2
  680. package/dist/utils/is-initialized.d.ts.map +1 -1
  681. package/dist/utils/is-initialized.js +1 -1
  682. package/dist/utils/is-initialized.js.map +1 -1
  683. package/dist/utils/is-initialized.mjs +1 -1
  684. package/dist/utils/is-initialized.mjs.map +1 -1
  685. package/dist/utils/load-config-file.js +1 -1
  686. package/dist/utils/load-config-file.js.map +1 -1
  687. package/dist/utils/load-config-file.mjs +2 -2
  688. package/dist/utils/load-config-file.mjs.map +1 -1
  689. package/dist/utils/load-files.d.ts.map +1 -1
  690. package/dist/utils/open-browser.d.ts +2 -2
  691. package/dist/utils/open-browser.d.ts.map +1 -1
  692. package/dist/utils/open-browser.js.map +1 -1
  693. package/dist/utils/open-browser.mjs.map +1 -1
  694. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  695. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  696. package/dist/utils/resolve-working-dirs.js +13 -0
  697. package/dist/utils/resolve-working-dirs.js.map +1 -0
  698. package/dist/utils/resolve-working-dirs.mjs +11 -0
  699. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  700. package/dist/utils/signals.d.ts +2 -2
  701. package/dist/utils/signals.d.ts.map +1 -1
  702. package/dist/utils/signals.js.map +1 -1
  703. package/dist/utils/signals.mjs.map +1 -1
  704. package/dist/utils/startup-logger.d.ts +2 -2
  705. package/dist/utils/startup-logger.d.ts.map +1 -1
  706. package/dist/utils/startup-logger.js.map +1 -1
  707. package/dist/utils/startup-logger.mjs.map +1 -1
  708. package/dist/utils/transform-content-types-to-models.d.ts +129 -3
  709. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  710. package/dist/utils/transform-content-types-to-models.js +134 -47
  711. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  712. package/dist/utils/transform-content-types-to-models.mjs +133 -47
  713. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  714. package/dist/utils/update-notifier/index.d.ts +2 -7
  715. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  716. package/dist/utils/update-notifier/index.js +11 -14
  717. package/dist/utils/update-notifier/index.js.map +1 -1
  718. package/dist/utils/update-notifier/index.mjs +11 -14
  719. package/dist/utils/update-notifier/index.mjs.map +1 -1
  720. package/package.json +29 -27
  721. package/dist/registries/config.d.ts +0 -4
  722. package/dist/registries/config.d.ts.map +0 -1
  723. package/dist/registries/config.js +0 -23
  724. package/dist/registries/config.js.map +0 -1
  725. package/dist/registries/config.mjs +0 -22
  726. package/dist/registries/config.mjs.map +0 -1
  727. package/dist/services/document-service/collection-type.d.ts +0 -4
  728. package/dist/services/document-service/collection-type.d.ts.map +0 -1
  729. package/dist/services/document-service/collection-type.js +0 -145
  730. package/dist/services/document-service/collection-type.js.map +0 -1
  731. package/dist/services/document-service/collection-type.mjs +0 -145
  732. package/dist/services/document-service/collection-type.mjs.map +0 -1
  733. package/dist/services/document-service/document-engine.d.ts +0 -8
  734. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  735. package/dist/services/document-service/document-engine.js +0 -249
  736. package/dist/services/document-service/document-engine.js.map +0 -1
  737. package/dist/services/document-service/document-engine.mjs +0 -250
  738. package/dist/services/document-service/document-engine.mjs.map +0 -1
  739. package/dist/services/document-service/middlewares.d.ts +0 -8
  740. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  741. package/dist/services/document-service/middlewares.js.map +0 -1
  742. package/dist/services/document-service/middlewares.mjs.map +0 -1
  743. package/dist/services/document-service/repository-factory.d.ts +0 -3
  744. package/dist/services/document-service/repository-factory.d.ts.map +0 -1
  745. package/dist/services/document-service/repository-factory.js +0 -12
  746. package/dist/services/document-service/repository-factory.js.map +0 -1
  747. package/dist/services/document-service/repository-factory.mjs +0 -12
  748. package/dist/services/document-service/repository-factory.mjs.map +0 -1
  749. package/dist/services/document-service/single-type.d.ts +0 -4
  750. package/dist/services/document-service/single-type.d.ts.map +0 -1
  751. package/dist/services/document-service/single-type.js +0 -92
  752. package/dist/services/document-service/single-type.js.map +0 -1
  753. package/dist/services/document-service/single-type.mjs +0 -92
  754. package/dist/services/document-service/single-type.mjs.map +0 -1
  755. package/dist/services/document-service/transform/filters.d.ts +0 -3
  756. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  757. package/dist/services/document-service/transform/filters.js +0 -49
  758. package/dist/services/document-service/transform/filters.js.map +0 -1
  759. package/dist/services/document-service/transform/filters.mjs +0 -49
  760. package/dist/services/document-service/transform/filters.mjs.map +0 -1
  761. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  762. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  763. package/dist/services/document-service/transform/relations/transform/output-ids.js +0 -26
  764. package/dist/services/document-service/transform/relations/transform/output-ids.js.map +0 -1
  765. package/dist/services/document-service/transform/relations/transform/output-ids.mjs +0 -26
  766. package/dist/services/document-service/transform/relations/transform/output-ids.mjs.map +0 -1
  767. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  768. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  769. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  770. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  771. package/dist/services/document-service/transform/sort.d.ts +0 -5
  772. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  773. package/dist/services/document-service/transform/sort.js +0 -44
  774. package/dist/services/document-service/transform/sort.js.map +0 -1
  775. package/dist/services/document-service/transform/sort.mjs +0 -44
  776. package/dist/services/document-service/transform/sort.mjs.map +0 -1
  777. package/dist/services/document-service/transform/utils.d.ts +0 -9
  778. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  779. package/dist/services/document-service/transform/utils.js +0 -23
  780. package/dist/services/document-service/transform/utils.js.map +0 -1
  781. package/dist/services/document-service/transform/utils.mjs +0 -23
  782. package/dist/services/document-service/transform/utils.mjs.map +0 -1
  783. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  784. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  785. package/dist/services/entity-service/attributes/index.js.map +0 -1
  786. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  787. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  788. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  789. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  790. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  791. package/dist/services/entity-service/components.d.ts +0 -23
  792. package/dist/services/entity-service/components.d.ts.map +0 -1
  793. package/dist/services/entity-service/components.js.map +0 -1
  794. package/dist/services/entity-service/components.mjs.map +0 -1
  795. package/dist/services/entity-service/params.d.ts +0 -8
  796. package/dist/services/entity-service/params.d.ts.map +0 -1
  797. package/dist/services/entity-service/params.js.map +0 -1
  798. package/dist/services/entity-service/params.mjs.map +0 -1
  799. package/dist/services/utils/upload-files.d.ts +0 -8
  800. package/dist/services/utils/upload-files.d.ts.map +0 -1
  801. package/dist/services/utils/upload-files.js +0 -64
  802. package/dist/services/utils/upload-files.js.map +0 -1
  803. package/dist/services/utils/upload-files.mjs +0 -63
  804. package/dist/services/utils/upload-files.mjs.map +0 -1
  805. package/dist/utils/get-dirs.d.ts +0 -9
  806. package/dist/utils/get-dirs.d.ts.map +0 -1
  807. package/dist/utils/get-dirs.js.map +0 -1
  808. package/dist/utils/get-dirs.mjs.map +0 -1
  809. /package/dist/services/{entity-service → document-service}/attributes/transforms.js +0 -0
  810. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
@@ -1,249 +0,0 @@
1
- "use strict";
2
- const strapiUtils = require("@strapi/utils");
3
- const _ = require("lodash/fp");
4
- const components = require("../entity-service/components.js");
5
- const transformContentTypesToModels = require("../../utils/transform-content-types-to-models.js");
6
- const index$1 = require("../entity-service/attributes/index.js");
7
- const index = require("../entity-validator/index.js");
8
- const params = require("../entity-service/params.js");
9
- const idTransform = require("./transform/id-transform.js");
10
- const populate = require("./utils/populate.js");
11
- const outputIds = require("./transform/relations/transform/output-ids.js");
12
- const data = require("./transform/data.js");
13
- const { transformParamsToQuery } = strapiUtils.convertQueryParams;
14
- const createPipeline = (data2, context) => {
15
- return index$1.applyTransforms(data2, context);
16
- };
17
- const updatePipeline = (data2, context) => {
18
- return index$1.applyTransforms(data2, context);
19
- };
20
- const createDocumentEngine = ({
21
- strapi,
22
- db
23
- }) => ({
24
- async findMany(uid, params2) {
25
- const query = await strapiUtils.pipeAsync(
26
- (params22) => idTransform.transformParamsDocumentId(uid, params22, { isDraft: true, locale: params22.locale }),
27
- (params22) => transformParamsToQuery(uid, params22),
28
- (query2) => _.set("where", { ...params2?.lookup, ...query2.where }, query2)
29
- )(params2 || {});
30
- return db.query(uid).findMany(query).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
31
- },
32
- async findFirst(uid, params2) {
33
- const query = await strapiUtils.pipeAsync(
34
- (params22) => idTransform.transformParamsDocumentId(uid, params22, { isDraft: true, locale: params22.locale }),
35
- (params22) => transformParamsToQuery(uid, params22)
36
- )(params2 || {});
37
- return db.query(uid).findOne({ ...query, where: { ...params2?.lookup, ...query.where } }).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
38
- },
39
- async findOne(uid, documentId, params2) {
40
- const query = await strapiUtils.pipeAsync(
41
- (params22) => idTransform.transformParamsDocumentId(uid, params22, { isDraft: true, locale: params22.locale }),
42
- (params22) => transformParamsToQuery(uid, params22)
43
- )(params2 || {});
44
- return db.query(uid).findOne({ ...query, where: { ...params2?.lookup, ...query.where, documentId } }).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
45
- },
46
- async delete(uid, documentId, params2 = {}) {
47
- const query = await strapiUtils.pipeAsync(
48
- // TODO: What if we are deleting more than one locale / publication state?
49
- (params22) => idTransform.transformParamsDocumentId(uid, params22, { isDraft: true, locale: params22.locale }),
50
- (params22) => transformParamsToQuery(uid, params22),
51
- (query2) => _.set("where", { ...params2?.lookup, ...query2.where, documentId }, query2)
52
- )(params2);
53
- if (params2.status === "draft") {
54
- throw new Error("Cannot delete a draft document");
55
- }
56
- const entriesToDelete = await db.query(uid).findMany(query);
57
- await strapiUtils.mapAsync(entriesToDelete, async (entryToDelete) => {
58
- await this.deleteEntry(uid, entryToDelete.id);
59
- });
60
- return { deletedEntries: entriesToDelete.length };
61
- },
62
- async deleteEntry(uid, entryId) {
63
- const componentsToDelete = await components.getComponents(uid, { id: entryId });
64
- await db.query(uid).delete({ where: { id: entryId } });
65
- await components.deleteComponents(uid, componentsToDelete, { loadComponents: false });
66
- },
67
- async create(uid, params$1) {
68
- const { data: data2, ...restParams } = await idTransform.transformParamsDocumentId(uid, params$1, {
69
- locale: params$1.locale,
70
- // @ts-expect-error - published at is not always present
71
- // User can not set publishedAt on create, but other methods in the engine can (publish)
72
- isDraft: !params$1.data?.publishedAt
73
- });
74
- const query = transformParamsToQuery(uid, params.pickSelectionParams(restParams));
75
- if (!params$1.data) {
76
- throw new Error("Create requires data attribute");
77
- }
78
- const contentType = strapi.contentType(uid);
79
- const validData = await index.validateEntityCreation(contentType, data2, {
80
- isDraft: !data2.publishedAt,
81
- locale: params$1?.locale
82
- });
83
- const componentData = await components.createComponents(uid, validData);
84
- const entryData = createPipeline(
85
- Object.assign(components.omitComponentData(contentType, validData), componentData),
86
- { contentType }
87
- );
88
- return db.query(uid).create({ ...query, data: entryData }).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
89
- },
90
- // NOTE: What happens if user doesn't provide specific publications state and locale to update?
91
- async update(uid, documentId, params$1) {
92
- const { data: data2, ...restParams } = await idTransform.transformParamsDocumentId(uid, params$1 || {}, {
93
- isDraft: true,
94
- locale: params$1?.locale
95
- });
96
- const query = transformParamsToQuery(uid, params.pickSelectionParams(restParams || {}));
97
- const model = strapi.contentType(uid);
98
- const entryToUpdate = await db.query(uid).findOne({ ...query, where: { ...params$1?.lookup, ...query?.where, documentId } });
99
- if (!entryToUpdate)
100
- return null;
101
- const validData = await index.validateEntityUpdate(
102
- model,
103
- data2,
104
- {
105
- isDraft: true,
106
- // Always update the draft version
107
- locale: params$1?.locale
108
- },
109
- entryToUpdate
110
- );
111
- const componentData = await components.updateComponents(uid, entryToUpdate, validData);
112
- const entryData = updatePipeline(
113
- Object.assign(components.omitComponentData(model, validData), componentData),
114
- { contentType: model }
115
- );
116
- return db.query(uid).update({ ...query, where: { id: entryToUpdate.id }, data: entryData }).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
117
- },
118
- async count(uid, params2 = void 0) {
119
- const query = await strapiUtils.pipeAsync(
120
- (params22) => idTransform.transformParamsDocumentId(uid, params22, { isDraft: true, locale: params22.locale }),
121
- (params22) => transformParamsToQuery(uid, params22),
122
- (query2) => _.set("where", { ...params2?.lookup, ...query2.where }, query2)
123
- )(params2 || {});
124
- return db.query(uid).count(query);
125
- },
126
- async clone(uid, documentId, params$1) {
127
- const { data: data2, ...restParams } = await idTransform.transformParamsDocumentId(uid, params$1 || {}, {
128
- isDraft: true,
129
- locale: params$1?.locale
130
- });
131
- const query = transformParamsToQuery(uid, params.pickSelectionParams(restParams));
132
- const model = strapi.contentType(uid);
133
- const entries = await db.query(uid).findMany({
134
- ...query,
135
- where: { ...params$1?.lookup, ...query.where, documentId }
136
- });
137
- if (!entries.length) {
138
- return null;
139
- }
140
- const newDocumentId = transformContentTypesToModels.createDocumentId();
141
- const versions = await strapiUtils.mapAsync(entries, async (entryToClone) => {
142
- const isDraft = strapiUtils.contentTypes.isDraft(data2);
143
- const validData = await index.validateEntityUpdate(
144
- model,
145
- // Omit id fields, the cloned entity id will be generated by the database
146
- _.omit(["id"], data2),
147
- { isDraft, ...params$1?.lookup },
148
- entryToClone
149
- );
150
- const componentData = await components.cloneComponents(uid, entryToClone, validData);
151
- const entityData = createPipeline(
152
- Object.assign(components.omitComponentData(model, validData), componentData),
153
- { contentType: model }
154
- );
155
- return db.query(uid).clone(entryToClone.id, {
156
- ...query,
157
- // Allows entityData to override the documentId (e.g. when publishing)
158
- data: { documentId: newDocumentId, ...entityData, locale: entryToClone.locale }
159
- }).then((doc) => idTransform.transformOutputDocumentId(uid, doc));
160
- });
161
- return { id: newDocumentId, versions };
162
- },
163
- // TODO: Handle relations so they target the published version
164
- async publish(uid, documentId, params2) {
165
- await this.delete(uid, documentId, {
166
- ...params2,
167
- lookup: { ...params2?.lookup, publishedAt: { $ne: null } }
168
- });
169
- const entriesToPublish = await strapi.db?.query(uid).findMany({
170
- where: {
171
- ...params2?.lookup,
172
- documentId,
173
- publishedAt: null
174
- },
175
- populate: populate.getDeepPopulate(uid)
176
- });
177
- const publishedEntries = await strapiUtils.mapAsync(
178
- entriesToPublish,
179
- strapiUtils.pipeAsync(
180
- _.set("publishedAt", /* @__PURE__ */ new Date()),
181
- _.set("documentId", documentId),
182
- _.omit("id"),
183
- // draft entryId -> documentId
184
- (entry) => outputIds.transformOutputIds(uid, entry),
185
- // documentId -> published entryId
186
- (entry) => {
187
- const opts = { uid, locale: entry.locale, isDraft: false, allowMissingId: true };
188
- return data.transformData(entry, opts);
189
- },
190
- // Create the published entry
191
- (data2) => this.create(uid, { ...params2, data: data2, locale: data2.locale })
192
- )
193
- );
194
- return { versions: publishedEntries };
195
- },
196
- async unpublish(uid, documentId, params2) {
197
- return this.delete(uid, documentId, {
198
- ...params2,
199
- lookup: { ...params2?.lookup, publishedAt: { $ne: null } }
200
- }).then(({ deletedEntries }) => ({ versions: deletedEntries }));
201
- },
202
- /**
203
- * Steps:
204
- * - Delete the matching draft versions (publishedAt = null)
205
- * - Clone the matching published versions into draft versions
206
- *
207
- * If the document has a published version, the draft version will be created from the published version.
208
- * If the document has no published version, the version will be removed.
209
- */
210
- async discardDraft(uid, documentId, params2) {
211
- await this.delete(uid, documentId, {
212
- ...params2,
213
- // Delete all drafts that match query
214
- lookup: { ...params2?.lookup, publishedAt: null }
215
- });
216
- const entriesToDraft = await strapi.db?.query(uid).findMany({
217
- where: {
218
- ...params2?.lookup,
219
- documentId,
220
- publishedAt: { $ne: null }
221
- },
222
- populate: populate.getDeepPopulate(uid)
223
- });
224
- const draftEntries = await strapiUtils.mapAsync(
225
- entriesToDraft,
226
- strapiUtils.pipeAsync(
227
- _.set("publishedAt", null),
228
- _.set("documentId", documentId),
229
- _.omit("id"),
230
- // published entryId -> document
231
- (entry) => outputIds.transformOutputIds(uid, entry),
232
- // documentId -> draft entryId
233
- (entry) => {
234
- const opts = { uid, locale: entry.locale, isDraft: true, allowMissingId: true };
235
- return data.transformData(entry, opts);
236
- },
237
- // Create the draft entry
238
- (data2) => this.create(uid, { ...params2, locale: data2.locale, data: data2 })
239
- )
240
- );
241
- return { versions: draftEntries };
242
- }
243
- });
244
- const createDocumentEngine$1 = (ctx) => {
245
- const implementation = createDocumentEngine(ctx);
246
- return implementation;
247
- };
248
- module.exports = createDocumentEngine$1;
249
- //# sourceMappingURL=document-engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-engine.js","sources":["../../../src/services/document-service/document-engine.ts"],"sourcesContent":["import type { Database } from '@strapi/database';\nimport type { Documents, Schema, Strapi } from '@strapi/types';\nimport {\n contentTypes as contentTypesUtils,\n convertQueryParams,\n mapAsync,\n pipeAsync,\n} from '@strapi/utils';\n\nimport { omit, set } from 'lodash/fp';\n\nimport {\n cloneComponents,\n createComponents,\n deleteComponents,\n getComponents,\n omitComponentData,\n updateComponents,\n} from '../entity-service/components';\n\nimport { createDocumentId } from '../../utils/transform-content-types-to-models';\nimport { applyTransforms } from '../entity-service/attributes';\nimport entityValidator from '../entity-validator';\nimport { pickSelectionParams } from './params';\nimport { transformParamsDocumentId, transformOutputDocumentId } from './transform/id-transform';\nimport { getDeepPopulate } from './utils/populate';\nimport { transformOutputIds } from './transform/relations/transform/output-ids';\nimport { transformData } from './transform/data';\n\nconst { transformParamsToQuery } = convertQueryParams;\n\n/**\n * TODO: Sanitization / validation built-in\n * TODO: i18n - Move logic to i18n package\n * TODO: Webhooks\n * TODO: Audit logs\n * TODO: replace 'any'\n * TODO: availableLocales\n *\n */\ntype Context = {\n contentType: Schema.ContentType;\n};\n\nconst createPipeline = (data: Record<string, unknown>, context: Context) => {\n return applyTransforms(data, context);\n};\n\nconst updatePipeline = (data: Record<string, unknown>, context: Context) => {\n return applyTransforms(data, context);\n};\n\nconst createDocumentEngine = ({\n strapi,\n db,\n}: {\n strapi: Strapi;\n db: Database;\n}): Documents.Engine => ({\n async findMany(uid, params) {\n const query = await pipeAsync(\n (params) => transformParamsDocumentId(uid, params, { isDraft: true, locale: params.locale }),\n (params) => transformParamsToQuery(uid, params),\n (query) => set('where', { ...params?.lookup, ...query.where }, query)\n )(params || {});\n\n return db\n .query(uid)\n .findMany(query)\n .then((doc) => transformOutputDocumentId(uid, doc));\n },\n\n async findFirst(uid, params) {\n const query = await pipeAsync(\n (params) => transformParamsDocumentId(uid, params, { isDraft: true, locale: params.locale }),\n (params) => transformParamsToQuery(uid, params)\n )(params || {});\n\n return db\n .query(uid)\n .findOne({ ...query, where: { ...params?.lookup, ...query.where } })\n .then((doc) => transformOutputDocumentId(uid, doc));\n },\n\n async findOne(uid, documentId, params) {\n const query = await pipeAsync(\n (params) => transformParamsDocumentId(uid, params, { isDraft: true, locale: params.locale }),\n (params) => transformParamsToQuery(uid, params)\n )(params || {});\n\n return db\n .query(uid)\n .findOne({ ...query, where: { ...params?.lookup, ...query.where, documentId } })\n .then((doc) => transformOutputDocumentId(uid, doc));\n },\n\n async delete(uid, documentId, params = {} as any) {\n const query = await pipeAsync(\n // TODO: What if we are deleting more than one locale / publication state?\n (params) => transformParamsDocumentId(uid, params, { isDraft: true, locale: params.locale }),\n (params) => transformParamsToQuery(uid, params),\n (query) => set('where', { ...params?.lookup, ...query.where, documentId }, query)\n )(params);\n\n if (params.status === 'draft') {\n throw new Error('Cannot delete a draft document');\n }\n\n const entriesToDelete = await db.query(uid).findMany(query);\n\n // Delete all matched entries and its components\n await mapAsync(entriesToDelete, async (entryToDelete: any) => {\n await this.deleteEntry(uid, entryToDelete.id);\n });\n\n return { deletedEntries: entriesToDelete.length };\n },\n\n async deleteEntry(uid, entryId) {\n const componentsToDelete = await getComponents(uid, { id: entryId });\n\n await db.query(uid).delete({ where: { id: entryId } });\n\n await deleteComponents(uid, componentsToDelete as any, { loadComponents: false });\n },\n\n async create(uid, params) {\n // Param parsing\n const { data, ...restParams } = await transformParamsDocumentId(uid, params, {\n locale: params.locale,\n // @ts-expect-error - published at is not always present\n // User can not set publishedAt on create, but other methods in the engine can (publish)\n isDraft: !params.data?.publishedAt,\n });\n\n const query = transformParamsToQuery(uid, pickSelectionParams(restParams) as any); // select / populate\n\n // Validation\n if (!params.data) {\n throw new Error('Create requires data attribute');\n }\n\n const contentType = strapi.contentType(uid);\n\n const validData = await entityValidator.validateEntityCreation(contentType, data, {\n isDraft: !data.publishedAt,\n locale: params?.locale,\n });\n\n // Component handling\n const componentData = await createComponents(uid, validData as any);\n const entryData = createPipeline(\n Object.assign(omitComponentData(contentType, validData), componentData),\n { contentType }\n );\n\n return db\n .query(uid)\n .create({ ...query, data: entryData })\n .then((doc) => transformOutputDocumentId(uid, doc));\n },\n\n // NOTE: What happens if user doesn't provide specific publications state and locale to update?\n async update(uid, documentId, params) {\n // TODO: Prevent updating a published document\n // TODO: File upload\n\n // Param parsing\n const { data, ...restParams } = await transformParamsDocumentId(uid, params || {}, {\n isDraft: true,\n locale: params?.locale,\n });\n const query = transformParamsToQuery(uid, pickSelectionParams(restParams || {}) as any);\n\n // Validation\n const model = strapi.contentType(uid);\n // Find if document exists\n const entryToUpdate = await db\n .query(uid)\n .findOne({ ...query, where: { ...params?.lookup, ...query?.where, documentId } });\n if (!entryToUpdate) return null;\n\n const validData = await entityValidator.validateEntityUpdate(\n model,\n data,\n {\n isDraft: true, // Always update the draft version\n locale: params?.locale,\n },\n entryToUpdate\n );\n\n // Component handling\n const componentData = await updateComponents(uid, entryToUpdate, validData as any);\n const entryData = updatePipeline(\n Object.assign(omitComponentData(model, validData), componentData),\n { contentType: model }\n );\n\n return db\n .query(uid)\n .update({ ...query, where: { id: entryToUpdate.id }, data: entryData })\n .then((doc) => transformOutputDocumentId(uid, doc));\n },\n\n async count(uid, params = undefined) {\n const query = await pipeAsync(\n (params) => transformParamsDocumentId(uid, params, { isDraft: true, locale: params.locale }),\n (params) => transformParamsToQuery(uid, params),\n (query) => set('where', { ...params?.lookup, ...query.where }, query)\n )(params || {});\n\n return db.query(uid).count(query);\n },\n\n async clone(uid, documentId, params) {\n // TODO: File upload\n // Param parsing\n const { data, ...restParams } = await transformParamsDocumentId(uid, params || {}, {\n isDraft: true,\n locale: params?.locale,\n });\n const query = transformParamsToQuery(uid, pickSelectionParams(restParams) as any);\n\n // Validation\n const model = strapi.contentType(uid);\n // Find all locales of the document\n const entries = await db.query(uid).findMany({\n ...query,\n where: { ...params?.lookup, ...query.where, documentId },\n });\n\n // Document does not exist\n if (!entries.length) {\n return null;\n }\n\n const newDocumentId = createDocumentId();\n\n const versions = await mapAsync(entries, async (entryToClone: any) => {\n const isDraft = contentTypesUtils.isDraft(data);\n // Todo: Merge data with entry to clone\n const validData = await entityValidator.validateEntityUpdate(\n model,\n // Omit id fields, the cloned entity id will be generated by the database\n omit(['id'], data),\n { isDraft, ...params?.lookup },\n entryToClone\n );\n\n const componentData = await cloneComponents(uid, entryToClone, validData);\n const entityData = createPipeline(\n Object.assign(omitComponentData(model, validData), componentData),\n { contentType: model }\n );\n\n // TODO: Transform params to query\n return db\n .query(uid)\n .clone(entryToClone.id, {\n ...query,\n // Allows entityData to override the documentId (e.g. when publishing)\n data: { documentId: newDocumentId, ...entityData, locale: entryToClone.locale },\n })\n .then((doc) => transformOutputDocumentId(uid, doc));\n });\n\n return { id: newDocumentId, versions };\n },\n\n // TODO: Handle relations so they target the published version\n async publish(uid, documentId, params) {\n // Delete already published versions that match the locales to be published\n await this.delete(uid, documentId, {\n ...params,\n lookup: { ...params?.lookup, publishedAt: { $ne: null } },\n });\n\n // Get deep populate\n const entriesToPublish = await strapi.db?.query(uid).findMany({\n where: {\n ...params?.lookup,\n documentId,\n publishedAt: null,\n },\n populate: getDeepPopulate(uid),\n });\n\n // Transform draft entry data and create published versions\n const publishedEntries = await mapAsync(\n entriesToPublish,\n pipeAsync(\n set('publishedAt', new Date()),\n set('documentId', documentId),\n omit('id'),\n // draft entryId -> documentId\n (entry) => transformOutputIds(uid, entry),\n // documentId -> published entryId\n (entry) => {\n const opts = { uid, locale: entry.locale, isDraft: false, allowMissingId: true };\n return transformData(entry, opts);\n },\n // Create the published entry\n (data) => this.create(uid, { ...params, data, locale: data.locale })\n )\n );\n\n return { versions: publishedEntries };\n },\n\n async unpublish(uid, documentId, params) {\n // Delete all published versions\n return this.delete(uid, documentId, {\n ...params,\n lookup: { ...params?.lookup, publishedAt: { $ne: null } },\n }).then(({ deletedEntries }) => ({ versions: deletedEntries })) as any;\n },\n\n /**\n * Steps:\n * - Delete the matching draft versions (publishedAt = null)\n * - Clone the matching published versions into draft versions\n *\n * If the document has a published version, the draft version will be created from the published version.\n * If the document has no published version, the version will be removed.\n */\n async discardDraft(uid, documentId, params) {\n // Delete draft versions, clone published versions into draft versions\n await this.delete(uid, documentId, {\n ...params,\n // Delete all drafts that match query\n lookup: { ...params?.lookup, publishedAt: null },\n });\n\n // Get deep populate of published versions\n const entriesToDraft = await strapi.db?.query(uid).findMany({\n where: {\n ...params?.lookup,\n documentId,\n publishedAt: { $ne: null },\n },\n populate: getDeepPopulate(uid),\n });\n\n // Transform published entry data and create draft versions\n const draftEntries = await mapAsync(\n entriesToDraft,\n pipeAsync(\n set('publishedAt', null),\n set('documentId', documentId),\n omit('id'),\n // published entryId -> document\n (entry) => transformOutputIds(uid, entry),\n // documentId -> draft entryId\n (entry) => {\n const opts = { uid, locale: entry.locale, isDraft: true, allowMissingId: true };\n return transformData(entry, opts);\n },\n // Create the draft entry\n (data) => this.create(uid, { ...params, locale: data.locale, data })\n )\n );\n\n return { versions: draftEntries };\n },\n});\n\nexport default (ctx: { strapi: Strapi; db: Database }): Documents.Engine => {\n const implementation = createDocumentEngine(ctx);\n\n // TODO: Wrap with database error handling\n return implementation;\n};\n"],"names":["convertQueryParams","data","applyTransforms","params","pipeAsync","transformParamsDocumentId","query","set","transformOutputDocumentId","mapAsync","getComponents","deleteComponents","pickSelectionParams","entityValidator","createComponents","omitComponentData","updateComponents","createDocumentId","contentTypesUtils","omit","cloneComponents","getDeepPopulate","transformOutputIds","transformData"],"mappings":"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"}
@@ -1,250 +0,0 @@
1
- import { pipeAsync, mapAsync, contentTypes, convertQueryParams } from "@strapi/utils";
2
- import { set, omit } from "lodash/fp";
3
- import { getComponents, deleteComponents, createComponents, omitComponentData, updateComponents, cloneComponents } from "../entity-service/components.mjs";
4
- import { createDocumentId } from "../../utils/transform-content-types-to-models.mjs";
5
- import { applyTransforms } from "../entity-service/attributes/index.mjs";
6
- import entityValidator from "../entity-validator/index.mjs";
7
- import { pickSelectionParams } from "../entity-service/params.mjs";
8
- import { transformParamsDocumentId, transformOutputDocumentId } from "./transform/id-transform.mjs";
9
- import { getDeepPopulate } from "./utils/populate.mjs";
10
- import { transformOutputIds } from "./transform/relations/transform/output-ids.mjs";
11
- import { transformData } from "./transform/data.mjs";
12
- const { transformParamsToQuery } = convertQueryParams;
13
- const createPipeline = (data, context) => {
14
- return applyTransforms(data, context);
15
- };
16
- const updatePipeline = (data, context) => {
17
- return applyTransforms(data, context);
18
- };
19
- const createDocumentEngine = ({
20
- strapi,
21
- db
22
- }) => ({
23
- async findMany(uid, params) {
24
- const query = await pipeAsync(
25
- (params2) => transformParamsDocumentId(uid, params2, { isDraft: true, locale: params2.locale }),
26
- (params2) => transformParamsToQuery(uid, params2),
27
- (query2) => set("where", { ...params?.lookup, ...query2.where }, query2)
28
- )(params || {});
29
- return db.query(uid).findMany(query).then((doc) => transformOutputDocumentId(uid, doc));
30
- },
31
- async findFirst(uid, params) {
32
- const query = await pipeAsync(
33
- (params2) => transformParamsDocumentId(uid, params2, { isDraft: true, locale: params2.locale }),
34
- (params2) => transformParamsToQuery(uid, params2)
35
- )(params || {});
36
- return db.query(uid).findOne({ ...query, where: { ...params?.lookup, ...query.where } }).then((doc) => transformOutputDocumentId(uid, doc));
37
- },
38
- async findOne(uid, documentId, params) {
39
- const query = await pipeAsync(
40
- (params2) => transformParamsDocumentId(uid, params2, { isDraft: true, locale: params2.locale }),
41
- (params2) => transformParamsToQuery(uid, params2)
42
- )(params || {});
43
- return db.query(uid).findOne({ ...query, where: { ...params?.lookup, ...query.where, documentId } }).then((doc) => transformOutputDocumentId(uid, doc));
44
- },
45
- async delete(uid, documentId, params = {}) {
46
- const query = await pipeAsync(
47
- // TODO: What if we are deleting more than one locale / publication state?
48
- (params2) => transformParamsDocumentId(uid, params2, { isDraft: true, locale: params2.locale }),
49
- (params2) => transformParamsToQuery(uid, params2),
50
- (query2) => set("where", { ...params?.lookup, ...query2.where, documentId }, query2)
51
- )(params);
52
- if (params.status === "draft") {
53
- throw new Error("Cannot delete a draft document");
54
- }
55
- const entriesToDelete = await db.query(uid).findMany(query);
56
- await mapAsync(entriesToDelete, async (entryToDelete) => {
57
- await this.deleteEntry(uid, entryToDelete.id);
58
- });
59
- return { deletedEntries: entriesToDelete.length };
60
- },
61
- async deleteEntry(uid, entryId) {
62
- const componentsToDelete = await getComponents(uid, { id: entryId });
63
- await db.query(uid).delete({ where: { id: entryId } });
64
- await deleteComponents(uid, componentsToDelete, { loadComponents: false });
65
- },
66
- async create(uid, params) {
67
- const { data, ...restParams } = await transformParamsDocumentId(uid, params, {
68
- locale: params.locale,
69
- // @ts-expect-error - published at is not always present
70
- // User can not set publishedAt on create, but other methods in the engine can (publish)
71
- isDraft: !params.data?.publishedAt
72
- });
73
- const query = transformParamsToQuery(uid, pickSelectionParams(restParams));
74
- if (!params.data) {
75
- throw new Error("Create requires data attribute");
76
- }
77
- const contentType = strapi.contentType(uid);
78
- const validData = await entityValidator.validateEntityCreation(contentType, data, {
79
- isDraft: !data.publishedAt,
80
- locale: params?.locale
81
- });
82
- const componentData = await createComponents(uid, validData);
83
- const entryData = createPipeline(
84
- Object.assign(omitComponentData(contentType, validData), componentData),
85
- { contentType }
86
- );
87
- return db.query(uid).create({ ...query, data: entryData }).then((doc) => transformOutputDocumentId(uid, doc));
88
- },
89
- // NOTE: What happens if user doesn't provide specific publications state and locale to update?
90
- async update(uid, documentId, params) {
91
- const { data, ...restParams } = await transformParamsDocumentId(uid, params || {}, {
92
- isDraft: true,
93
- locale: params?.locale
94
- });
95
- const query = transformParamsToQuery(uid, pickSelectionParams(restParams || {}));
96
- const model = strapi.contentType(uid);
97
- const entryToUpdate = await db.query(uid).findOne({ ...query, where: { ...params?.lookup, ...query?.where, documentId } });
98
- if (!entryToUpdate)
99
- return null;
100
- const validData = await entityValidator.validateEntityUpdate(
101
- model,
102
- data,
103
- {
104
- isDraft: true,
105
- // Always update the draft version
106
- locale: params?.locale
107
- },
108
- entryToUpdate
109
- );
110
- const componentData = await updateComponents(uid, entryToUpdate, validData);
111
- const entryData = updatePipeline(
112
- Object.assign(omitComponentData(model, validData), componentData),
113
- { contentType: model }
114
- );
115
- return db.query(uid).update({ ...query, where: { id: entryToUpdate.id }, data: entryData }).then((doc) => transformOutputDocumentId(uid, doc));
116
- },
117
- async count(uid, params = void 0) {
118
- const query = await pipeAsync(
119
- (params2) => transformParamsDocumentId(uid, params2, { isDraft: true, locale: params2.locale }),
120
- (params2) => transformParamsToQuery(uid, params2),
121
- (query2) => set("where", { ...params?.lookup, ...query2.where }, query2)
122
- )(params || {});
123
- return db.query(uid).count(query);
124
- },
125
- async clone(uid, documentId, params) {
126
- const { data, ...restParams } = await transformParamsDocumentId(uid, params || {}, {
127
- isDraft: true,
128
- locale: params?.locale
129
- });
130
- const query = transformParamsToQuery(uid, pickSelectionParams(restParams));
131
- const model = strapi.contentType(uid);
132
- const entries = await db.query(uid).findMany({
133
- ...query,
134
- where: { ...params?.lookup, ...query.where, documentId }
135
- });
136
- if (!entries.length) {
137
- return null;
138
- }
139
- const newDocumentId = createDocumentId();
140
- const versions = await mapAsync(entries, async (entryToClone) => {
141
- const isDraft = contentTypes.isDraft(data);
142
- const validData = await entityValidator.validateEntityUpdate(
143
- model,
144
- // Omit id fields, the cloned entity id will be generated by the database
145
- omit(["id"], data),
146
- { isDraft, ...params?.lookup },
147
- entryToClone
148
- );
149
- const componentData = await cloneComponents(uid, entryToClone, validData);
150
- const entityData = createPipeline(
151
- Object.assign(omitComponentData(model, validData), componentData),
152
- { contentType: model }
153
- );
154
- return db.query(uid).clone(entryToClone.id, {
155
- ...query,
156
- // Allows entityData to override the documentId (e.g. when publishing)
157
- data: { documentId: newDocumentId, ...entityData, locale: entryToClone.locale }
158
- }).then((doc) => transformOutputDocumentId(uid, doc));
159
- });
160
- return { id: newDocumentId, versions };
161
- },
162
- // TODO: Handle relations so they target the published version
163
- async publish(uid, documentId, params) {
164
- await this.delete(uid, documentId, {
165
- ...params,
166
- lookup: { ...params?.lookup, publishedAt: { $ne: null } }
167
- });
168
- const entriesToPublish = await strapi.db?.query(uid).findMany({
169
- where: {
170
- ...params?.lookup,
171
- documentId,
172
- publishedAt: null
173
- },
174
- populate: getDeepPopulate(uid)
175
- });
176
- const publishedEntries = await mapAsync(
177
- entriesToPublish,
178
- pipeAsync(
179
- set("publishedAt", /* @__PURE__ */ new Date()),
180
- set("documentId", documentId),
181
- omit("id"),
182
- // draft entryId -> documentId
183
- (entry) => transformOutputIds(uid, entry),
184
- // documentId -> published entryId
185
- (entry) => {
186
- const opts = { uid, locale: entry.locale, isDraft: false, allowMissingId: true };
187
- return transformData(entry, opts);
188
- },
189
- // Create the published entry
190
- (data) => this.create(uid, { ...params, data, locale: data.locale })
191
- )
192
- );
193
- return { versions: publishedEntries };
194
- },
195
- async unpublish(uid, documentId, params) {
196
- return this.delete(uid, documentId, {
197
- ...params,
198
- lookup: { ...params?.lookup, publishedAt: { $ne: null } }
199
- }).then(({ deletedEntries }) => ({ versions: deletedEntries }));
200
- },
201
- /**
202
- * Steps:
203
- * - Delete the matching draft versions (publishedAt = null)
204
- * - Clone the matching published versions into draft versions
205
- *
206
- * If the document has a published version, the draft version will be created from the published version.
207
- * If the document has no published version, the version will be removed.
208
- */
209
- async discardDraft(uid, documentId, params) {
210
- await this.delete(uid, documentId, {
211
- ...params,
212
- // Delete all drafts that match query
213
- lookup: { ...params?.lookup, publishedAt: null }
214
- });
215
- const entriesToDraft = await strapi.db?.query(uid).findMany({
216
- where: {
217
- ...params?.lookup,
218
- documentId,
219
- publishedAt: { $ne: null }
220
- },
221
- populate: getDeepPopulate(uid)
222
- });
223
- const draftEntries = await mapAsync(
224
- entriesToDraft,
225
- pipeAsync(
226
- set("publishedAt", null),
227
- set("documentId", documentId),
228
- omit("id"),
229
- // published entryId -> document
230
- (entry) => transformOutputIds(uid, entry),
231
- // documentId -> draft entryId
232
- (entry) => {
233
- const opts = { uid, locale: entry.locale, isDraft: true, allowMissingId: true };
234
- return transformData(entry, opts);
235
- },
236
- // Create the draft entry
237
- (data) => this.create(uid, { ...params, locale: data.locale, data })
238
- )
239
- );
240
- return { versions: draftEntries };
241
- }
242
- });
243
- const createDocumentEngine$1 = (ctx) => {
244
- const implementation = createDocumentEngine(ctx);
245
- return implementation;
246
- };
247
- export {
248
- createDocumentEngine$1 as default
249
- };
250
- //# sourceMappingURL=document-engine.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-engine.mjs","sources":["../../../src/services/document-service/document-engine.ts"],"sourcesContent":["import type { Database } from '@strapi/database';\nimport type { Documents, Schema, Strapi } from '@strapi/types';\nimport {\n contentTypes as contentTypesUtils,\n convertQueryParams,\n mapAsync,\n pipeAsync,\n} from '@strapi/utils';\n\nimport { omit, set } from 'lodash/fp';\n\nimport {\n cloneComponents,\n createComponents,\n deleteComponents,\n getComponents,\n omitComponentData,\n updateComponents,\n} from '../entity-service/components';\n\nimport { createDocumentId } from '../../utils/transform-content-types-to-models';\nimport { applyTransforms } from '../entity-service/attributes';\nimport entityValidator from '../entity-validator';\nimport { pickSelectionParams } from './params';\nimport { transformParamsDocumentId, transformOutputDocumentId } from './transform/id-transform';\nimport { getDeepPopulate } from './utils/populate';\nimport { transformOutputIds } from './transform/relations/transform/output-ids';\nimport { transformData } from './transform/data';\n\nconst { transformParamsToQuery } = convertQueryParams;\n\n/**\n * TODO: Sanitization / validation built-in\n * TODO: i18n - Move logic to i18n package\n * TODO: Webhooks\n * TODO: Audit logs\n * TODO: replace 'any'\n * TODO: availableLocales\n *\n */\ntype Context = {\n contentType: Schema.ContentType;\n};\n\nconst createPipeline = (data: Record<string, unknown>, context: Context) => {\n return applyTransforms(data, context);\n};\n\nconst updatePipeline = (data: Record<string, unknown>, context: Context) => {\n return applyTransforms(data, context);\n};\n\nconst createDocumentEngine = ({\n strapi,\n db,\n}: {\n strapi: Strapi;\n db: Database;\n}): Documents.Engine => ({\n async findMany(uid, params) {\n const query = await pipeAsync(\n (params) => transformParamsDocumentId(uid, params, { isDraft: true, locale: params.locale }),\n (params) => transformParamsToQuery(uid, params),\n (query) => set('where', { ...params?.lookup, ...query.where }, query)\n )(params || {});\n\n return db\n .query(uid)\n .findMany(query)\n .then((doc) => transformOutputDocumentId(uid, doc));\n },\n\n async findFirst(uid, params) {\n const query = await pipeAsync(\n (params) => transformParamsDocumentId(uid, params, { isDraft: true, locale: params.locale }),\n (params) => transformParamsToQuery(uid, params)\n )(params || {});\n\n return db\n .query(uid)\n .findOne({ ...query, where: { ...params?.lookup, ...query.where } })\n .then((doc) => transformOutputDocumentId(uid, doc));\n },\n\n async findOne(uid, documentId, params) {\n const query = await pipeAsync(\n (params) => transformParamsDocumentId(uid, params, { isDraft: true, locale: params.locale }),\n (params) => transformParamsToQuery(uid, params)\n )(params || {});\n\n return db\n .query(uid)\n .findOne({ ...query, where: { ...params?.lookup, ...query.where, documentId } })\n .then((doc) => transformOutputDocumentId(uid, doc));\n },\n\n async delete(uid, documentId, params = {} as any) {\n const query = await pipeAsync(\n // TODO: What if we are deleting more than one locale / publication state?\n (params) => transformParamsDocumentId(uid, params, { isDraft: true, locale: params.locale }),\n (params) => transformParamsToQuery(uid, params),\n (query) => set('where', { ...params?.lookup, ...query.where, documentId }, query)\n )(params);\n\n if (params.status === 'draft') {\n throw new Error('Cannot delete a draft document');\n }\n\n const entriesToDelete = await db.query(uid).findMany(query);\n\n // Delete all matched entries and its components\n await mapAsync(entriesToDelete, async (entryToDelete: any) => {\n await this.deleteEntry(uid, entryToDelete.id);\n });\n\n return { deletedEntries: entriesToDelete.length };\n },\n\n async deleteEntry(uid, entryId) {\n const componentsToDelete = await getComponents(uid, { id: entryId });\n\n await db.query(uid).delete({ where: { id: entryId } });\n\n await deleteComponents(uid, componentsToDelete as any, { loadComponents: false });\n },\n\n async create(uid, params) {\n // Param parsing\n const { data, ...restParams } = await transformParamsDocumentId(uid, params, {\n locale: params.locale,\n // @ts-expect-error - published at is not always present\n // User can not set publishedAt on create, but other methods in the engine can (publish)\n isDraft: !params.data?.publishedAt,\n });\n\n const query = transformParamsToQuery(uid, pickSelectionParams(restParams) as any); // select / populate\n\n // Validation\n if (!params.data) {\n throw new Error('Create requires data attribute');\n }\n\n const contentType = strapi.contentType(uid);\n\n const validData = await entityValidator.validateEntityCreation(contentType, data, {\n isDraft: !data.publishedAt,\n locale: params?.locale,\n });\n\n // Component handling\n const componentData = await createComponents(uid, validData as any);\n const entryData = createPipeline(\n Object.assign(omitComponentData(contentType, validData), componentData),\n { contentType }\n );\n\n return db\n .query(uid)\n .create({ ...query, data: entryData })\n .then((doc) => transformOutputDocumentId(uid, doc));\n },\n\n // NOTE: What happens if user doesn't provide specific publications state and locale to update?\n async update(uid, documentId, params) {\n // TODO: Prevent updating a published document\n // TODO: File upload\n\n // Param parsing\n const { data, ...restParams } = await transformParamsDocumentId(uid, params || {}, {\n isDraft: true,\n locale: params?.locale,\n });\n const query = transformParamsToQuery(uid, pickSelectionParams(restParams || {}) as any);\n\n // Validation\n const model = strapi.contentType(uid);\n // Find if document exists\n const entryToUpdate = await db\n .query(uid)\n .findOne({ ...query, where: { ...params?.lookup, ...query?.where, documentId } });\n if (!entryToUpdate) return null;\n\n const validData = await entityValidator.validateEntityUpdate(\n model,\n data,\n {\n isDraft: true, // Always update the draft version\n locale: params?.locale,\n },\n entryToUpdate\n );\n\n // Component handling\n const componentData = await updateComponents(uid, entryToUpdate, validData as any);\n const entryData = updatePipeline(\n Object.assign(omitComponentData(model, validData), componentData),\n { contentType: model }\n );\n\n return db\n .query(uid)\n .update({ ...query, where: { id: entryToUpdate.id }, data: entryData })\n .then((doc) => transformOutputDocumentId(uid, doc));\n },\n\n async count(uid, params = undefined) {\n const query = await pipeAsync(\n (params) => transformParamsDocumentId(uid, params, { isDraft: true, locale: params.locale }),\n (params) => transformParamsToQuery(uid, params),\n (query) => set('where', { ...params?.lookup, ...query.where }, query)\n )(params || {});\n\n return db.query(uid).count(query);\n },\n\n async clone(uid, documentId, params) {\n // TODO: File upload\n // Param parsing\n const { data, ...restParams } = await transformParamsDocumentId(uid, params || {}, {\n isDraft: true,\n locale: params?.locale,\n });\n const query = transformParamsToQuery(uid, pickSelectionParams(restParams) as any);\n\n // Validation\n const model = strapi.contentType(uid);\n // Find all locales of the document\n const entries = await db.query(uid).findMany({\n ...query,\n where: { ...params?.lookup, ...query.where, documentId },\n });\n\n // Document does not exist\n if (!entries.length) {\n return null;\n }\n\n const newDocumentId = createDocumentId();\n\n const versions = await mapAsync(entries, async (entryToClone: any) => {\n const isDraft = contentTypesUtils.isDraft(data);\n // Todo: Merge data with entry to clone\n const validData = await entityValidator.validateEntityUpdate(\n model,\n // Omit id fields, the cloned entity id will be generated by the database\n omit(['id'], data),\n { isDraft, ...params?.lookup },\n entryToClone\n );\n\n const componentData = await cloneComponents(uid, entryToClone, validData);\n const entityData = createPipeline(\n Object.assign(omitComponentData(model, validData), componentData),\n { contentType: model }\n );\n\n // TODO: Transform params to query\n return db\n .query(uid)\n .clone(entryToClone.id, {\n ...query,\n // Allows entityData to override the documentId (e.g. when publishing)\n data: { documentId: newDocumentId, ...entityData, locale: entryToClone.locale },\n })\n .then((doc) => transformOutputDocumentId(uid, doc));\n });\n\n return { id: newDocumentId, versions };\n },\n\n // TODO: Handle relations so they target the published version\n async publish(uid, documentId, params) {\n // Delete already published versions that match the locales to be published\n await this.delete(uid, documentId, {\n ...params,\n lookup: { ...params?.lookup, publishedAt: { $ne: null } },\n });\n\n // Get deep populate\n const entriesToPublish = await strapi.db?.query(uid).findMany({\n where: {\n ...params?.lookup,\n documentId,\n publishedAt: null,\n },\n populate: getDeepPopulate(uid),\n });\n\n // Transform draft entry data and create published versions\n const publishedEntries = await mapAsync(\n entriesToPublish,\n pipeAsync(\n set('publishedAt', new Date()),\n set('documentId', documentId),\n omit('id'),\n // draft entryId -> documentId\n (entry) => transformOutputIds(uid, entry),\n // documentId -> published entryId\n (entry) => {\n const opts = { uid, locale: entry.locale, isDraft: false, allowMissingId: true };\n return transformData(entry, opts);\n },\n // Create the published entry\n (data) => this.create(uid, { ...params, data, locale: data.locale })\n )\n );\n\n return { versions: publishedEntries };\n },\n\n async unpublish(uid, documentId, params) {\n // Delete all published versions\n return this.delete(uid, documentId, {\n ...params,\n lookup: { ...params?.lookup, publishedAt: { $ne: null } },\n }).then(({ deletedEntries }) => ({ versions: deletedEntries })) as any;\n },\n\n /**\n * Steps:\n * - Delete the matching draft versions (publishedAt = null)\n * - Clone the matching published versions into draft versions\n *\n * If the document has a published version, the draft version will be created from the published version.\n * If the document has no published version, the version will be removed.\n */\n async discardDraft(uid, documentId, params) {\n // Delete draft versions, clone published versions into draft versions\n await this.delete(uid, documentId, {\n ...params,\n // Delete all drafts that match query\n lookup: { ...params?.lookup, publishedAt: null },\n });\n\n // Get deep populate of published versions\n const entriesToDraft = await strapi.db?.query(uid).findMany({\n where: {\n ...params?.lookup,\n documentId,\n publishedAt: { $ne: null },\n },\n populate: getDeepPopulate(uid),\n });\n\n // Transform published entry data and create draft versions\n const draftEntries = await mapAsync(\n entriesToDraft,\n pipeAsync(\n set('publishedAt', null),\n set('documentId', documentId),\n omit('id'),\n // published entryId -> document\n (entry) => transformOutputIds(uid, entry),\n // documentId -> draft entryId\n (entry) => {\n const opts = { uid, locale: entry.locale, isDraft: true, allowMissingId: true };\n return transformData(entry, opts);\n },\n // Create the draft entry\n (data) => this.create(uid, { ...params, locale: data.locale, data })\n )\n );\n\n return { versions: draftEntries };\n },\n});\n\nexport default (ctx: { strapi: Strapi; db: Database }): Documents.Engine => {\n const implementation = createDocumentEngine(ctx);\n\n // TODO: Wrap with database error handling\n return implementation;\n};\n"],"names":["params","query","contentTypesUtils"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- type Middleware = (ctx: any, next: () => Promise<void>) => Promise<void>;
2
- export declare const createMiddlewareManager: () => {
3
- use(middleware: any): () => Middleware[];
4
- run(ctx: any, cb: () => void): Promise<void>;
5
- wrapObject<TSource extends Record<string, any>>(source: TSource, ctxDefaults?: {}): TSource;
6
- };
7
- export {};
8
- //# sourceMappingURL=middlewares.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/middlewares.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzE,eAAO,MAAM,uBAAuB;oBAIhB,GAAG;aAMJ,GAAG,MAAM,MAAM,IAAI;;CA4CrC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"middlewares.js","sources":["../../../src/services/document-service/middlewares.ts"],"sourcesContent":["type Middleware = (ctx: any, next: () => Promise<void>) => Promise<void>;\n\nexport const createMiddlewareManager = () => {\n const middlewares: Middleware[] = [];\n\n const manager = {\n use(middleware: any) {\n middlewares.push(middleware);\n\n return () => middlewares.splice(middlewares.indexOf(middleware), 1);\n },\n\n async run(ctx: any, cb: () => void) {\n let index = 0;\n const next = async () => {\n if (index < middlewares.length) {\n // eslint-disable-next-line no-plusplus\n return middlewares[index++](ctx, next);\n }\n\n return cb();\n };\n\n return next();\n },\n\n wrapObject<TSource extends Record<string, any>>(source: TSource, ctxDefaults = {}): TSource {\n const facade: TSource = {} as TSource;\n\n for (const key in source) {\n if (Object.hasOwnProperty.call(source, key)) {\n const prop = source[key];\n\n if (typeof prop === 'function') {\n const newMethod = async (...args: any[]) => {\n const ctx = {\n ...ctxDefaults,\n action: key,\n args,\n };\n\n return manager.run(ctx, () => prop(...ctx.args));\n };\n\n facade[key] = newMethod as typeof prop;\n } else {\n facade[key] = prop;\n }\n }\n }\n\n return facade;\n },\n };\n\n return manager;\n};\n"],"names":[],"mappings":";;AAEO,MAAM,0BAA0B,MAAM;AAC3C,QAAM,cAA4B,CAAA;AAElC,QAAM,UAAU;AAAA,IACd,IAAI,YAAiB;AACnB,kBAAY,KAAK,UAAU;AAE3B,aAAO,MAAM,YAAY,OAAO,YAAY,QAAQ,UAAU,GAAG,CAAC;AAAA,IACpE;AAAA,IAEA,MAAM,IAAI,KAAU,IAAgB;AAClC,UAAI,QAAQ;AACZ,YAAM,OAAO,YAAY;AACnB,YAAA,QAAQ,YAAY,QAAQ;AAE9B,iBAAO,YAAY,OAAO,EAAE,KAAK,IAAI;AAAA,QACvC;AAEA,eAAO,GAAG;AAAA,MAAA;AAGZ,aAAO,KAAK;AAAA,IACd;AAAA,IAEA,WAAgD,QAAiB,cAAc,IAAa;AAC1F,YAAM,SAAkB,CAAA;AAExB,iBAAW,OAAO,QAAQ;AACxB,YAAI,OAAO,eAAe,KAAK,QAAQ,GAAG,GAAG;AACrC,gBAAA,OAAO,OAAO,GAAG;AAEnB,cAAA,OAAO,SAAS,YAAY;AACxB,kBAAA,YAAY,UAAU,SAAgB;AAC1C,oBAAM,MAAM;AAAA,gBACV,GAAG;AAAA,gBACH,QAAQ;AAAA,gBACR;AAAA,cAAA;AAGK,qBAAA,QAAQ,IAAI,KAAK,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC;AAAA,YAAA;AAGjD,mBAAO,GAAG,IAAI;AAAA,UAAA,OACT;AACL,mBAAO,GAAG,IAAI;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IACT;AAAA,EAAA;AAGK,SAAA;AACT;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"middlewares.mjs","sources":["../../../src/services/document-service/middlewares.ts"],"sourcesContent":["type Middleware = (ctx: any, next: () => Promise<void>) => Promise<void>;\n\nexport const createMiddlewareManager = () => {\n const middlewares: Middleware[] = [];\n\n const manager = {\n use(middleware: any) {\n middlewares.push(middleware);\n\n return () => middlewares.splice(middlewares.indexOf(middleware), 1);\n },\n\n async run(ctx: any, cb: () => void) {\n let index = 0;\n const next = async () => {\n if (index < middlewares.length) {\n // eslint-disable-next-line no-plusplus\n return middlewares[index++](ctx, next);\n }\n\n return cb();\n };\n\n return next();\n },\n\n wrapObject<TSource extends Record<string, any>>(source: TSource, ctxDefaults = {}): TSource {\n const facade: TSource = {} as TSource;\n\n for (const key in source) {\n if (Object.hasOwnProperty.call(source, key)) {\n const prop = source[key];\n\n if (typeof prop === 'function') {\n const newMethod = async (...args: any[]) => {\n const ctx = {\n ...ctxDefaults,\n action: key,\n args,\n };\n\n return manager.run(ctx, () => prop(...ctx.args));\n };\n\n facade[key] = newMethod as typeof prop;\n } else {\n facade[key] = prop;\n }\n }\n }\n\n return facade;\n },\n };\n\n return manager;\n};\n"],"names":[],"mappings":"AAEO,MAAM,0BAA0B,MAAM;AAC3C,QAAM,cAA4B,CAAA;AAElC,QAAM,UAAU;AAAA,IACd,IAAI,YAAiB;AACnB,kBAAY,KAAK,UAAU;AAE3B,aAAO,MAAM,YAAY,OAAO,YAAY,QAAQ,UAAU,GAAG,CAAC;AAAA,IACpE;AAAA,IAEA,MAAM,IAAI,KAAU,IAAgB;AAClC,UAAI,QAAQ;AACZ,YAAM,OAAO,YAAY;AACnB,YAAA,QAAQ,YAAY,QAAQ;AAE9B,iBAAO,YAAY,OAAO,EAAE,KAAK,IAAI;AAAA,QACvC;AAEA,eAAO,GAAG;AAAA,MAAA;AAGZ,aAAO,KAAK;AAAA,IACd;AAAA,IAEA,WAAgD,QAAiB,cAAc,IAAa;AAC1F,YAAM,SAAkB,CAAA;AAExB,iBAAW,OAAO,QAAQ;AACxB,YAAI,OAAO,eAAe,KAAK,QAAQ,GAAG,GAAG;AACrC,gBAAA,OAAO,OAAO,GAAG;AAEnB,cAAA,OAAO,SAAS,YAAY;AACxB,kBAAA,YAAY,UAAU,SAAgB;AAC1C,oBAAM,MAAM;AAAA,gBACV,GAAG;AAAA,gBACH,QAAQ;AAAA,gBACR;AAAA,cAAA;AAGK,qBAAA,QAAQ,IAAI,KAAK,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC;AAAA,YAAA;AAGjD,mBAAO,GAAG,IAAI;AAAA,UAAA,OACT;AACL,mBAAO,GAAG,IAAI;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IACT;AAAA,EAAA;AAGK,SAAA;AACT;"}
@@ -1,3 +0,0 @@
1
- import type { Schema, Documents } from '@strapi/types';
2
- export declare const createContentTypeRepository: (contentType: Schema.SingleType | Schema.CollectionType) => Documents.ServiceInstance<Schema.SingleType | Schema.CollectionType>;
3
- //# sourceMappingURL=repository-factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository-factory.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/repository-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAKvD,eAAO,MAAM,2BAA2B,gBACzB,OAAO,UAAU,GAAG,OAAO,cAAc,KACrD,UAAU,eAAe,CAAC,OAAO,UAAU,GAAG,OAAO,cAAc,CAKrE,CAAC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const singleType = require("./single-type.js");
4
- const collectionType = require("./collection-type.js");
5
- const createContentTypeRepository = (contentType) => {
6
- if (contentType.kind === "singleType") {
7
- return singleType.createSingleTypeRepository(contentType);
8
- }
9
- return collectionType.createCollectionTypeRepository(contentType);
10
- };
11
- exports.createContentTypeRepository = createContentTypeRepository;
12
- //# sourceMappingURL=repository-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository-factory.js","sources":["../../../src/services/document-service/repository-factory.ts"],"sourcesContent":["import type { Schema, Documents } from '@strapi/types';\n\nimport { createSingleTypeRepository } from './single-type';\nimport { createCollectionTypeRepository } from './collection-type';\n\nexport const createContentTypeRepository = (\n contentType: Schema.SingleType | Schema.CollectionType\n): Documents.ServiceInstance<Schema.SingleType | Schema.CollectionType> => {\n if (contentType.kind === 'singleType') {\n return createSingleTypeRepository(contentType);\n }\n return createCollectionTypeRepository(contentType);\n};\n"],"names":["createSingleTypeRepository","createCollectionTypeRepository"],"mappings":";;;;AAKa,MAAA,8BAA8B,CACzC,gBACyE;AACrE,MAAA,YAAY,SAAS,cAAc;AACrC,WAAOA,WAAAA,2BAA2B,WAAW;AAAA,EAC/C;AACA,SAAOC,eAAAA,+BAA+B,WAAW;AACnD;;"}