@strapi/core 0.0.0-experimental.6dbac0c205b0f8495781db5706c18cac1a62e62b → 0.0.0-experimental.727a0f9b729da91886ca93e88ec1d6d811d1beba

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @strapi/core might be problematic. Click here for more details.

Files changed (1305) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +53 -57
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +212 -217
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +185 -209
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/configuration/config-loader.d.ts.map +1 -0
  9. package/dist/configuration/config-loader.js +106 -0
  10. package/dist/configuration/config-loader.js.map +1 -0
  11. package/dist/configuration/config-loader.mjs +104 -0
  12. package/dist/configuration/config-loader.mjs.map +1 -0
  13. package/dist/configuration/get-dirs.d.ts +10 -0
  14. package/dist/configuration/get-dirs.d.ts.map +1 -0
  15. package/dist/configuration/get-dirs.js +31 -0
  16. package/dist/configuration/get-dirs.js.map +1 -0
  17. package/dist/configuration/get-dirs.mjs +31 -0
  18. package/dist/configuration/get-dirs.mjs.map +1 -0
  19. package/dist/configuration/index.d.ts +48 -0
  20. package/dist/configuration/index.d.ts.map +1 -0
  21. package/dist/configuration/index.js +80 -0
  22. package/dist/configuration/index.js.map +1 -0
  23. package/dist/configuration/index.mjs +75 -0
  24. package/dist/configuration/index.mjs.map +1 -0
  25. package/dist/configuration/urls.d.ts +8 -0
  26. package/dist/configuration/urls.d.ts.map +1 -0
  27. package/dist/configuration/urls.js +68 -0
  28. package/dist/configuration/urls.js.map +1 -0
  29. package/dist/configuration/urls.mjs +66 -0
  30. package/dist/configuration/urls.mjs.map +1 -0
  31. package/dist/container.d.ts +2 -2
  32. package/dist/container.d.ts.map +1 -1
  33. package/dist/container.js.map +1 -1
  34. package/dist/container.mjs.map +1 -1
  35. package/dist/core-api/controller/collection-type.d.ts +4 -4
  36. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  37. package/dist/core-api/controller/collection-type.js +15 -23
  38. package/dist/core-api/controller/collection-type.js.map +1 -1
  39. package/dist/core-api/controller/collection-type.mjs +11 -20
  40. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  41. package/dist/core-api/controller/index.d.ts +3 -3
  42. package/dist/core-api/controller/index.d.ts.map +1 -1
  43. package/dist/core-api/controller/index.js +15 -10
  44. package/dist/core-api/controller/index.js.map +1 -1
  45. package/dist/core-api/controller/index.mjs +14 -9
  46. package/dist/core-api/controller/index.mjs.map +1 -1
  47. package/dist/core-api/controller/single-type.d.ts +4 -4
  48. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  49. package/dist/core-api/controller/single-type.js +9 -13
  50. package/dist/core-api/controller/single-type.js.map +1 -1
  51. package/dist/core-api/controller/single-type.mjs +6 -11
  52. package/dist/core-api/controller/single-type.mjs.map +1 -1
  53. package/dist/core-api/controller/transform.d.ts +10 -18
  54. package/dist/core-api/controller/transform.d.ts.map +1 -1
  55. package/dist/core-api/controller/transform.js +17 -25
  56. package/dist/core-api/controller/transform.js.map +1 -1
  57. package/dist/core-api/controller/transform.mjs +10 -18
  58. package/dist/core-api/controller/transform.mjs.map +1 -1
  59. package/dist/core-api/routes/index.d.ts.map +1 -1
  60. package/dist/core-api/service/collection-type.d.ts +22 -5
  61. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  62. package/dist/core-api/service/collection-type.js +58 -49
  63. package/dist/core-api/service/collection-type.js.map +1 -1
  64. package/dist/core-api/service/collection-type.mjs +58 -50
  65. package/dist/core-api/service/collection-type.mjs.map +1 -1
  66. package/dist/core-api/service/core-service.d.ts +4 -0
  67. package/dist/core-api/service/core-service.d.ts.map +1 -0
  68. package/dist/core-api/service/core-service.js +12 -0
  69. package/dist/core-api/service/core-service.js.map +1 -0
  70. package/dist/core-api/service/core-service.mjs +12 -0
  71. package/dist/core-api/service/core-service.mjs.map +1 -0
  72. package/dist/core-api/service/index.d.ts +3 -3
  73. package/dist/core-api/service/index.d.ts.map +1 -1
  74. package/dist/core-api/service/index.js +2 -2
  75. package/dist/core-api/service/index.js.map +1 -1
  76. package/dist/core-api/service/index.mjs +4 -4
  77. package/dist/core-api/service/index.mjs.map +1 -1
  78. package/dist/core-api/service/pagination.d.ts +4 -15
  79. package/dist/core-api/service/pagination.d.ts.map +1 -1
  80. package/dist/core-api/service/pagination.js +18 -55
  81. package/dist/core-api/service/pagination.js.map +1 -1
  82. package/dist/core-api/service/pagination.mjs +16 -53
  83. package/dist/core-api/service/pagination.mjs.map +1 -1
  84. package/dist/core-api/service/single-type.d.ts +14 -8
  85. package/dist/core-api/service/single-type.d.ts.map +1 -1
  86. package/dist/core-api/service/single-type.js +42 -50
  87. package/dist/core-api/service/single-type.js.map +1 -1
  88. package/dist/core-api/service/single-type.mjs +41 -50
  89. package/dist/core-api/service/single-type.mjs.map +1 -1
  90. package/dist/domain/content-type/index.d.ts +10 -0
  91. package/dist/domain/content-type/index.d.ts.map +1 -0
  92. package/dist/domain/content-type/index.js +111 -0
  93. package/dist/domain/content-type/index.js.map +1 -0
  94. package/dist/domain/content-type/index.mjs +109 -0
  95. package/dist/domain/content-type/index.mjs.map +1 -0
  96. package/dist/domain/content-type/validator.d.ts.map +1 -0
  97. package/dist/domain/content-type/validator.js +77 -0
  98. package/dist/domain/content-type/validator.js.map +1 -0
  99. package/dist/domain/content-type/validator.mjs +75 -0
  100. package/dist/domain/content-type/validator.mjs.map +1 -0
  101. package/dist/domain/module/index.d.ts +40 -0
  102. package/dist/domain/module/index.d.ts.map +1 -0
  103. package/dist/domain/module/index.js +107 -0
  104. package/dist/domain/module/index.js.map +1 -0
  105. package/dist/domain/module/index.mjs +105 -0
  106. package/dist/domain/module/index.mjs.map +1 -0
  107. package/dist/domain/module/validation.d.ts.map +1 -0
  108. package/dist/domain/module/validation.js.map +1 -0
  109. package/dist/domain/module/validation.mjs.map +1 -0
  110. package/dist/ee/index.d.ts +4 -2
  111. package/dist/ee/index.d.ts.map +1 -1
  112. package/dist/ee/index.js +5 -5
  113. package/dist/ee/index.js.map +1 -1
  114. package/dist/ee/index.mjs +2 -2
  115. package/dist/ee/index.mjs.map +1 -1
  116. package/dist/ee/license.d.ts +2 -2
  117. package/dist/ee/license.d.ts.map +1 -1
  118. package/dist/ee/license.js +3 -1
  119. package/dist/ee/license.js.map +1 -1
  120. package/dist/ee/license.mjs +3 -1
  121. package/dist/ee/license.mjs.map +1 -1
  122. package/dist/factories.d.ts +11 -10
  123. package/dist/factories.d.ts.map +1 -1
  124. package/dist/factories.js +26 -17
  125. package/dist/factories.js.map +1 -1
  126. package/dist/factories.mjs +23 -14
  127. package/dist/factories.mjs.map +1 -1
  128. package/dist/index.d.ts +19 -2
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +27 -1
  131. package/dist/index.js.map +1 -1
  132. package/dist/index.mjs +28 -2
  133. package/dist/index.mjs.map +1 -1
  134. package/dist/loaders/admin.d.ts +3 -0
  135. package/dist/loaders/admin.d.ts.map +1 -0
  136. package/dist/loaders/admin.js +26 -0
  137. package/dist/loaders/admin.js.map +1 -0
  138. package/dist/loaders/admin.mjs +25 -0
  139. package/dist/loaders/admin.mjs.map +1 -0
  140. package/dist/loaders/apis.d.ts +3 -0
  141. package/dist/loaders/apis.d.ts.map +1 -0
  142. package/dist/loaders/apis.js +137 -0
  143. package/dist/loaders/apis.js.map +1 -0
  144. package/dist/loaders/apis.mjs +135 -0
  145. package/dist/loaders/apis.mjs.map +1 -0
  146. package/dist/loaders/components.d.ts +3 -0
  147. package/dist/loaders/components.d.ts.map +1 -0
  148. package/dist/loaders/components.js +38 -0
  149. package/dist/loaders/components.js.map +1 -0
  150. package/dist/loaders/components.mjs +37 -0
  151. package/dist/loaders/components.mjs.map +1 -0
  152. package/dist/loaders/index.d.ts +3 -0
  153. package/dist/loaders/index.d.ts.map +1 -0
  154. package/dist/loaders/index.js +24 -0
  155. package/dist/loaders/index.js.map +1 -0
  156. package/dist/loaders/index.mjs +24 -0
  157. package/dist/loaders/index.mjs.map +1 -0
  158. package/dist/loaders/middlewares.d.ts +3 -0
  159. package/dist/loaders/middlewares.d.ts.map +1 -0
  160. package/dist/loaders/middlewares.js +31 -0
  161. package/dist/loaders/middlewares.js.map +1 -0
  162. package/dist/loaders/middlewares.mjs +30 -0
  163. package/dist/loaders/middlewares.mjs.map +1 -0
  164. package/dist/loaders/plugins/get-enabled-plugins.d.ts +5 -0
  165. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -0
  166. package/dist/loaders/plugins/get-enabled-plugins.js +141 -0
  167. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -0
  168. package/dist/loaders/plugins/get-enabled-plugins.mjs +117 -0
  169. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
  170. package/dist/loaders/plugins/get-user-plugins-config.d.ts.map +1 -0
  171. package/dist/loaders/plugins/get-user-plugins-config.js +27 -0
  172. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -0
  173. package/dist/loaders/plugins/get-user-plugins-config.mjs +25 -0
  174. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
  175. package/dist/loaders/plugins/index.d.ts +3 -0
  176. package/dist/loaders/plugins/index.d.ts.map +1 -0
  177. package/dist/loaders/plugins/index.js +145 -0
  178. package/dist/loaders/plugins/index.js.map +1 -0
  179. package/dist/loaders/plugins/index.mjs +125 -0
  180. package/dist/loaders/plugins/index.mjs.map +1 -0
  181. package/dist/loaders/policies.d.ts +3 -0
  182. package/dist/loaders/policies.d.ts.map +1 -0
  183. package/dist/loaders/policies.js.map +1 -0
  184. package/dist/loaders/policies.mjs.map +1 -0
  185. package/dist/loaders/sanitizers.d.ts +4 -0
  186. package/dist/loaders/sanitizers.d.ts.map +1 -0
  187. package/dist/loaders/sanitizers.js.map +1 -0
  188. package/dist/loaders/sanitizers.mjs.map +1 -0
  189. package/dist/loaders/src-index.d.ts +4 -0
  190. package/dist/loaders/src-index.d.ts.map +1 -0
  191. package/dist/loaders/src-index.js.map +1 -0
  192. package/dist/loaders/src-index.mjs.map +1 -0
  193. package/dist/loaders/validators.d.ts +4 -0
  194. package/dist/loaders/validators.d.ts.map +1 -0
  195. package/dist/loaders/validators.js.map +1 -0
  196. package/dist/loaders/validators.mjs.map +1 -0
  197. package/dist/middlewares/body.d.ts +4 -4
  198. package/dist/middlewares/body.d.ts.map +1 -1
  199. package/dist/middlewares/body.js +6 -6
  200. package/dist/middlewares/body.js.map +1 -1
  201. package/dist/middlewares/body.mjs +4 -4
  202. package/dist/middlewares/body.mjs.map +1 -1
  203. package/dist/middlewares/compression.d.ts +2 -2
  204. package/dist/middlewares/compression.d.ts.map +1 -1
  205. package/dist/middlewares/compression.js.map +1 -1
  206. package/dist/middlewares/compression.mjs.map +1 -1
  207. package/dist/middlewares/cors.d.ts +2 -2
  208. package/dist/middlewares/cors.d.ts.map +1 -1
  209. package/dist/middlewares/cors.js +9 -7
  210. package/dist/middlewares/cors.js.map +1 -1
  211. package/dist/middlewares/cors.mjs +9 -7
  212. package/dist/middlewares/cors.mjs.map +1 -1
  213. package/dist/middlewares/errors.d.ts +2 -2
  214. package/dist/middlewares/errors.d.ts.map +1 -1
  215. package/dist/middlewares/errors.js.map +1 -1
  216. package/dist/middlewares/errors.mjs.map +1 -1
  217. package/dist/middlewares/favicon.d.ts +3 -2
  218. package/dist/middlewares/favicon.d.ts.map +1 -1
  219. package/dist/middlewares/favicon.js.map +1 -1
  220. package/dist/middlewares/favicon.mjs.map +1 -1
  221. package/dist/middlewares/index.d.ts +2 -2
  222. package/dist/middlewares/index.d.ts.map +1 -1
  223. package/dist/middlewares/index.js +2 -2
  224. package/dist/middlewares/index.js.map +1 -1
  225. package/dist/middlewares/index.mjs +1 -1
  226. package/dist/middlewares/index.mjs.map +1 -1
  227. package/dist/middlewares/ip.d.ts +2 -2
  228. package/dist/middlewares/ip.d.ts.map +1 -1
  229. package/dist/middlewares/ip.js.map +1 -1
  230. package/dist/middlewares/ip.mjs.map +1 -1
  231. package/dist/middlewares/logger.d.ts +2 -2
  232. package/dist/middlewares/logger.d.ts.map +1 -1
  233. package/dist/middlewares/logger.js.map +1 -1
  234. package/dist/middlewares/logger.mjs.map +1 -1
  235. package/dist/middlewares/powered-by.d.ts +2 -2
  236. package/dist/middlewares/powered-by.d.ts.map +1 -1
  237. package/dist/middlewares/powered-by.js.map +1 -1
  238. package/dist/middlewares/powered-by.mjs.map +1 -1
  239. package/dist/middlewares/public.d.ts +3 -0
  240. package/dist/middlewares/public.d.ts.map +1 -0
  241. package/dist/middlewares/public.js +34 -0
  242. package/dist/middlewares/public.js.map +1 -0
  243. package/dist/middlewares/public.mjs +32 -0
  244. package/dist/middlewares/public.mjs.map +1 -0
  245. package/dist/middlewares/query.d.ts +2 -2
  246. package/dist/middlewares/query.d.ts.map +1 -1
  247. package/dist/middlewares/query.js.map +1 -1
  248. package/dist/middlewares/query.mjs.map +1 -1
  249. package/dist/middlewares/response-time.d.ts +2 -2
  250. package/dist/middlewares/response-time.d.ts.map +1 -1
  251. package/dist/middlewares/response-time.js.map +1 -1
  252. package/dist/middlewares/response-time.mjs.map +1 -1
  253. package/dist/middlewares/responses.d.ts +3 -3
  254. package/dist/middlewares/responses.d.ts.map +1 -1
  255. package/dist/middlewares/responses.js +2 -2
  256. package/dist/middlewares/responses.js.map +1 -1
  257. package/dist/middlewares/responses.mjs.map +1 -1
  258. package/dist/middlewares/security.d.ts +2 -2
  259. package/dist/middlewares/security.d.ts.map +1 -1
  260. package/dist/middlewares/security.js +34 -6
  261. package/dist/middlewares/security.js.map +1 -1
  262. package/dist/middlewares/security.mjs +33 -5
  263. package/dist/middlewares/security.mjs.map +1 -1
  264. package/dist/middlewares/session.d.ts +2 -2
  265. package/dist/middlewares/session.d.ts.map +1 -1
  266. package/dist/middlewares/session.js +2 -2
  267. package/dist/middlewares/session.js.map +1 -1
  268. package/dist/middlewares/session.mjs.map +1 -1
  269. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  270. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  271. package/dist/migrations/database/5.0.0-discard-drafts.js +94 -0
  272. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  273. package/dist/migrations/database/5.0.0-discard-drafts.mjs +94 -0
  274. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  275. package/dist/migrations/draft-publish.d.ts +17 -0
  276. package/dist/migrations/draft-publish.d.ts.map +1 -0
  277. package/dist/migrations/draft-publish.js +42 -0
  278. package/dist/migrations/draft-publish.js.map +1 -0
  279. package/dist/migrations/draft-publish.mjs +42 -0
  280. package/dist/migrations/draft-publish.mjs.map +1 -0
  281. package/dist/migrations/i18n.d.ts +5 -0
  282. package/dist/migrations/i18n.d.ts.map +1 -0
  283. package/dist/migrations/i18n.js +54 -0
  284. package/dist/migrations/i18n.js.map +1 -0
  285. package/dist/migrations/i18n.mjs +54 -0
  286. package/dist/migrations/i18n.mjs.map +1 -0
  287. package/dist/migrations/index.d.ts +5 -0
  288. package/dist/migrations/index.d.ts.map +1 -0
  289. package/dist/migrations/index.js +15 -0
  290. package/dist/migrations/index.js.map +1 -0
  291. package/dist/migrations/index.mjs +15 -0
  292. package/dist/migrations/index.mjs.map +1 -0
  293. package/dist/providers/admin.d.ts +3 -0
  294. package/dist/providers/admin.d.ts.map +1 -0
  295. package/dist/providers/admin.js +20 -0
  296. package/dist/providers/admin.js.map +1 -0
  297. package/dist/providers/admin.mjs +21 -0
  298. package/dist/providers/admin.mjs.map +1 -0
  299. package/dist/providers/coreStore.d.ts +3 -0
  300. package/dist/providers/coreStore.d.ts.map +1 -0
  301. package/dist/providers/coreStore.js +11 -0
  302. package/dist/providers/coreStore.js.map +1 -0
  303. package/dist/providers/coreStore.mjs +12 -0
  304. package/dist/providers/coreStore.mjs.map +1 -0
  305. package/dist/providers/cron.d.ts +3 -0
  306. package/dist/providers/cron.d.ts.map +1 -0
  307. package/dist/providers/cron.js +20 -0
  308. package/dist/providers/cron.js.map +1 -0
  309. package/dist/providers/cron.mjs +21 -0
  310. package/dist/providers/cron.mjs.map +1 -0
  311. package/dist/providers/index.d.ts +3 -0
  312. package/dist/providers/index.d.ts.map +1 -0
  313. package/dist/providers/index.js +11 -0
  314. package/dist/providers/index.js.map +1 -0
  315. package/dist/providers/index.mjs +11 -0
  316. package/dist/providers/index.mjs.map +1 -0
  317. package/dist/providers/provider.d.ts +9 -0
  318. package/dist/providers/provider.d.ts.map +1 -0
  319. package/dist/providers/provider.js +5 -0
  320. package/dist/providers/provider.js.map +1 -0
  321. package/dist/providers/provider.mjs +5 -0
  322. package/dist/providers/provider.mjs.map +1 -0
  323. package/dist/providers/registries.d.ts +3 -0
  324. package/dist/providers/registries.d.ts.map +1 -0
  325. package/dist/providers/registries.js +35 -0
  326. package/dist/providers/registries.js.map +1 -0
  327. package/dist/providers/registries.mjs +36 -0
  328. package/dist/providers/registries.mjs.map +1 -0
  329. package/dist/providers/telemetry.d.ts +3 -0
  330. package/dist/providers/telemetry.d.ts.map +1 -0
  331. package/dist/providers/telemetry.js +19 -0
  332. package/dist/providers/telemetry.js.map +1 -0
  333. package/dist/providers/telemetry.mjs +20 -0
  334. package/dist/providers/telemetry.mjs.map +1 -0
  335. package/dist/providers/webhooks.d.ts +3 -0
  336. package/dist/providers/webhooks.d.ts.map +1 -0
  337. package/dist/providers/webhooks.js +30 -0
  338. package/dist/providers/webhooks.js.map +1 -0
  339. package/dist/providers/webhooks.mjs +31 -0
  340. package/dist/providers/webhooks.mjs.map +1 -0
  341. package/dist/registries/apis.d.ts +8 -0
  342. package/dist/registries/apis.d.ts.map +1 -0
  343. package/dist/registries/apis.js +23 -0
  344. package/dist/registries/apis.js.map +1 -0
  345. package/dist/registries/apis.mjs.map +1 -0
  346. package/dist/registries/components.d.ts +25 -0
  347. package/dist/registries/components.d.ts.map +1 -0
  348. package/dist/registries/components.js +45 -0
  349. package/dist/registries/components.js.map +1 -0
  350. package/dist/registries/components.mjs.map +1 -0
  351. package/dist/registries/content-types.d.ts +33 -0
  352. package/dist/registries/content-types.d.ts.map +1 -0
  353. package/dist/registries/content-types.js +70 -0
  354. package/dist/registries/content-types.js.map +1 -0
  355. package/dist/registries/content-types.mjs +71 -0
  356. package/dist/registries/content-types.mjs.map +1 -0
  357. package/dist/registries/controllers.d.ts +35 -0
  358. package/dist/registries/controllers.d.ts.map +1 -0
  359. package/dist/registries/controllers.js +80 -0
  360. package/dist/registries/controllers.js.map +1 -0
  361. package/dist/registries/controllers.mjs +81 -0
  362. package/dist/registries/controllers.mjs.map +1 -0
  363. package/dist/registries/custom-fields.d.ts +8 -0
  364. package/dist/registries/custom-fields.d.ts.map +1 -0
  365. package/dist/registries/custom-fields.js +71 -0
  366. package/dist/registries/custom-fields.js.map +1 -0
  367. package/dist/registries/custom-fields.mjs.map +1 -0
  368. package/dist/registries/hooks.d.ts.map +1 -0
  369. package/dist/registries/hooks.js +58 -0
  370. package/dist/registries/hooks.js.map +1 -0
  371. package/dist/registries/hooks.mjs +59 -0
  372. package/dist/registries/hooks.mjs.map +1 -0
  373. package/dist/registries/index.d.ts +15 -0
  374. package/dist/registries/index.d.ts.map +1 -0
  375. package/dist/registries/middlewares.d.ts +31 -0
  376. package/dist/registries/middlewares.d.ts.map +1 -0
  377. package/dist/registries/middlewares.js +60 -0
  378. package/dist/registries/middlewares.js.map +1 -0
  379. package/dist/registries/middlewares.mjs +61 -0
  380. package/dist/registries/middlewares.mjs.map +1 -0
  381. package/dist/registries/models.d.ts +6 -0
  382. package/dist/registries/models.d.ts.map +1 -0
  383. package/dist/registries/models.js +16 -0
  384. package/dist/registries/models.js.map +1 -0
  385. package/dist/registries/models.mjs +16 -0
  386. package/dist/registries/models.mjs.map +1 -0
  387. package/dist/registries/modules.d.ts +15 -0
  388. package/dist/registries/modules.d.ts.map +1 -0
  389. package/dist/registries/modules.js +39 -0
  390. package/dist/registries/modules.js.map +1 -0
  391. package/dist/registries/modules.mjs.map +1 -0
  392. package/dist/registries/namespace.d.ts +5 -0
  393. package/dist/registries/namespace.d.ts.map +1 -0
  394. package/dist/registries/namespace.js +27 -0
  395. package/dist/registries/namespace.js.map +1 -0
  396. package/dist/registries/namespace.mjs +27 -0
  397. package/dist/registries/namespace.mjs.map +1 -0
  398. package/dist/registries/plugins.d.ts +9 -0
  399. package/dist/registries/plugins.d.ts.map +1 -0
  400. package/dist/registries/plugins.js +23 -0
  401. package/dist/registries/plugins.js.map +1 -0
  402. package/dist/registries/plugins.mjs.map +1 -0
  403. package/dist/registries/policies.d.ts +46 -0
  404. package/dist/registries/policies.d.ts.map +1 -0
  405. package/dist/registries/policies.js +108 -0
  406. package/dist/registries/policies.js.map +1 -0
  407. package/dist/registries/policies.mjs +109 -0
  408. package/dist/registries/policies.mjs.map +1 -0
  409. package/dist/registries/sanitizers.d.ts.map +1 -0
  410. package/dist/registries/sanitizers.js.map +1 -0
  411. package/dist/registries/sanitizers.mjs.map +1 -0
  412. package/dist/registries/services.d.ts +35 -0
  413. package/dist/registries/services.d.ts.map +1 -0
  414. package/dist/registries/services.js +80 -0
  415. package/dist/registries/services.js.map +1 -0
  416. package/dist/registries/services.mjs +81 -0
  417. package/dist/registries/services.mjs.map +1 -0
  418. package/dist/registries/validators.d.ts.map +1 -0
  419. package/dist/registries/validators.js.map +1 -0
  420. package/dist/registries/validators.mjs.map +1 -0
  421. package/dist/services/auth/index.d.ts +4 -4
  422. package/dist/services/auth/index.d.ts.map +1 -1
  423. package/dist/services/auth/index.js +3 -3
  424. package/dist/services/auth/index.js.map +1 -1
  425. package/dist/services/auth/index.mjs.map +1 -1
  426. package/dist/services/config.d.ts +3 -0
  427. package/dist/services/config.d.ts.map +1 -0
  428. package/dist/services/config.js +47 -0
  429. package/dist/services/config.js.map +1 -0
  430. package/dist/services/config.mjs +47 -0
  431. package/dist/services/config.mjs.map +1 -0
  432. package/dist/services/content-api/index.d.ts +31 -15
  433. package/dist/services/content-api/index.d.ts.map +1 -1
  434. package/dist/services/content-api/index.js +28 -2
  435. package/dist/services/content-api/index.js.map +1 -1
  436. package/dist/services/content-api/index.mjs +28 -2
  437. package/dist/services/content-api/index.mjs.map +1 -1
  438. package/dist/services/content-api/permissions/index.d.ts +13 -15
  439. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  440. package/dist/services/content-api/permissions/index.js +1 -1
  441. package/dist/services/content-api/permissions/index.js.map +1 -1
  442. package/dist/services/content-api/permissions/index.mjs +1 -1
  443. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  444. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  445. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  446. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  447. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  448. package/dist/services/core-store.d.ts +2 -22
  449. package/dist/services/core-store.d.ts.map +1 -1
  450. package/dist/services/core-store.js +8 -4
  451. package/dist/services/core-store.js.map +1 -1
  452. package/dist/services/core-store.mjs +5 -1
  453. package/dist/services/core-store.mjs.map +1 -1
  454. package/dist/services/cron.d.ts +5 -5
  455. package/dist/services/cron.d.ts.map +1 -1
  456. package/dist/services/cron.js +3 -3
  457. package/dist/services/cron.js.map +1 -1
  458. package/dist/services/cron.mjs.map +1 -1
  459. package/dist/services/custom-fields.d.ts +2 -2
  460. package/dist/services/custom-fields.d.ts.map +1 -1
  461. package/dist/services/custom-fields.js.map +1 -1
  462. package/dist/services/custom-fields.mjs.map +1 -1
  463. package/dist/services/document-service/attributes/index.d.ts +6 -0
  464. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  465. package/dist/services/document-service/attributes/index.js +22 -0
  466. package/dist/services/document-service/attributes/index.js.map +1 -0
  467. package/dist/services/document-service/attributes/index.mjs +22 -0
  468. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  469. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  470. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  471. package/dist/services/document-service/attributes/transforms.js +20 -0
  472. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  473. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  474. package/dist/services/document-service/common.d.ts +4 -0
  475. package/dist/services/document-service/common.d.ts.map +1 -0
  476. package/dist/services/document-service/common.js +7 -0
  477. package/dist/services/document-service/common.js.map +1 -0
  478. package/dist/services/document-service/common.mjs +7 -0
  479. package/dist/services/document-service/common.mjs.map +1 -0
  480. package/dist/services/document-service/components.d.ts +25 -1
  481. package/dist/services/document-service/components.d.ts.map +1 -1
  482. package/dist/services/document-service/components.js +288 -0
  483. package/dist/services/document-service/components.js.map +1 -0
  484. package/dist/services/document-service/components.mjs +286 -0
  485. package/dist/services/document-service/components.mjs.map +1 -0
  486. package/dist/services/document-service/draft-and-publish.d.ts +10 -0
  487. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -0
  488. package/dist/services/document-service/draft-and-publish.js +69 -0
  489. package/dist/services/document-service/draft-and-publish.js.map +1 -0
  490. package/dist/services/document-service/draft-and-publish.mjs +69 -0
  491. package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
  492. package/dist/services/document-service/entries.d.ts +10 -0
  493. package/dist/services/document-service/entries.d.ts.map +1 -0
  494. package/dist/services/document-service/entries.js +96 -0
  495. package/dist/services/document-service/entries.js.map +1 -0
  496. package/dist/services/document-service/entries.mjs +96 -0
  497. package/dist/services/document-service/entries.mjs.map +1 -0
  498. package/dist/services/document-service/events.d.ts +25 -0
  499. package/dist/services/document-service/events.d.ts.map +1 -0
  500. package/dist/services/document-service/events.js +47 -0
  501. package/dist/services/document-service/events.js.map +1 -0
  502. package/dist/services/document-service/events.mjs +47 -0
  503. package/dist/services/document-service/events.mjs.map +1 -0
  504. package/dist/services/document-service/index.d.ts +16 -7
  505. package/dist/services/document-service/index.d.ts.map +1 -1
  506. package/dist/services/document-service/index.js +28 -187
  507. package/dist/services/document-service/index.js.map +1 -1
  508. package/dist/services/document-service/index.mjs +27 -187
  509. package/dist/services/document-service/index.mjs.map +1 -1
  510. package/dist/services/document-service/internationalization.d.ts +8 -0
  511. package/dist/services/document-service/internationalization.d.ts.map +1 -0
  512. package/dist/services/document-service/internationalization.js +63 -0
  513. package/dist/services/document-service/internationalization.js.map +1 -0
  514. package/dist/services/document-service/internationalization.mjs +63 -0
  515. package/dist/services/document-service/internationalization.mjs.map +1 -0
  516. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  517. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  518. package/dist/services/document-service/middlewares/errors.js +25 -0
  519. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  520. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  521. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  522. package/dist/services/document-service/middlewares/index.d.ts +2 -10
  523. package/dist/services/document-service/middlewares/index.d.ts.map +1 -1
  524. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  525. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  526. package/dist/services/document-service/middlewares/middleware-manager.js +49 -0
  527. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  528. package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
  529. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  530. package/dist/services/document-service/params.d.ts +3 -1
  531. package/dist/services/document-service/params.d.ts.map +1 -1
  532. package/dist/services/document-service/params.js +8 -0
  533. package/dist/services/document-service/params.js.map +1 -0
  534. package/dist/services/document-service/params.mjs +8 -0
  535. package/dist/services/document-service/params.mjs.map +1 -0
  536. package/dist/services/document-service/repository.d.ts +3 -0
  537. package/dist/services/document-service/repository.d.ts.map +1 -0
  538. package/dist/services/document-service/repository.js +314 -0
  539. package/dist/services/document-service/repository.js.map +1 -0
  540. package/dist/services/document-service/repository.mjs +314 -0
  541. package/dist/services/document-service/repository.mjs.map +1 -0
  542. package/dist/services/document-service/transform/data.d.ts +5 -0
  543. package/dist/services/document-service/transform/data.d.ts.map +1 -0
  544. package/dist/services/document-service/transform/data.js +15 -0
  545. package/dist/services/document-service/transform/data.js.map +1 -0
  546. package/dist/services/document-service/transform/data.mjs +15 -0
  547. package/dist/services/document-service/transform/data.mjs.map +1 -0
  548. package/dist/services/document-service/transform/fields.d.ts +5 -0
  549. package/dist/services/document-service/transform/fields.d.ts.map +1 -0
  550. package/dist/services/document-service/transform/fields.js +24 -0
  551. package/dist/services/document-service/transform/fields.js.map +1 -0
  552. package/dist/services/document-service/transform/fields.mjs +24 -0
  553. package/dist/services/document-service/transform/fields.mjs.map +1 -0
  554. package/dist/services/document-service/transform/id-map.d.ts +23 -0
  555. package/dist/services/document-service/transform/id-map.d.ts.map +1 -0
  556. package/dist/services/document-service/transform/id-map.js +78 -0
  557. package/dist/services/document-service/transform/id-map.js.map +1 -0
  558. package/dist/services/document-service/transform/id-map.mjs +78 -0
  559. package/dist/services/document-service/transform/id-map.mjs.map +1 -0
  560. package/dist/services/document-service/transform/id-transform.d.ts +5 -0
  561. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -0
  562. package/dist/services/document-service/transform/id-transform.js +33 -0
  563. package/dist/services/document-service/transform/id-transform.js.map +1 -0
  564. package/dist/services/document-service/transform/id-transform.mjs +33 -0
  565. package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
  566. package/dist/services/document-service/transform/populate.d.ts +6 -0
  567. package/dist/services/document-service/transform/populate.d.ts.map +1 -0
  568. package/dist/services/document-service/transform/populate.js +21 -0
  569. package/dist/services/document-service/transform/populate.js.map +1 -0
  570. package/dist/services/document-service/transform/populate.mjs +21 -0
  571. package/dist/services/document-service/transform/populate.mjs.map +1 -0
  572. package/dist/services/document-service/transform/query.d.ts +5 -0
  573. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  574. package/dist/services/document-service/transform/query.js +9 -0
  575. package/dist/services/document-service/transform/query.js.map +1 -0
  576. package/dist/services/document-service/transform/query.mjs +9 -0
  577. package/dist/services/document-service/transform/query.mjs.map +1 -0
  578. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +14 -0
  579. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -0
  580. package/dist/services/document-service/transform/relations/extract/data-ids.js +57 -0
  581. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
  582. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +57 -0
  583. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
  584. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +14 -0
  585. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -0
  586. package/dist/services/document-service/transform/relations/transform/data-ids.js +76 -0
  587. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
  588. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +76 -0
  589. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
  590. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  591. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  592. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  593. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  594. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  595. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  596. package/dist/services/document-service/transform/relations/utils/data.d.ts +4 -0
  597. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -0
  598. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  599. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  600. package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
  601. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  602. package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
  603. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  604. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +10 -0
  605. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -0
  606. package/dist/services/document-service/transform/relations/utils/i18n.js +25 -0
  607. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
  608. package/dist/services/document-service/transform/relations/utils/i18n.mjs +25 -0
  609. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
  610. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  611. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  612. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  613. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  614. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  615. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  616. package/dist/services/document-service/transform/relations/utils/types.d.ts +21 -0
  617. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -0
  618. package/dist/services/document-service/transform/types.d.ts +13 -0
  619. package/dist/services/document-service/transform/types.d.ts.map +1 -0
  620. package/dist/services/document-service/utils/populate.d.ts +10 -0
  621. package/dist/services/document-service/utils/populate.d.ts.map +1 -0
  622. package/dist/services/document-service/utils/populate.js +47 -0
  623. package/dist/services/document-service/utils/populate.js.map +1 -0
  624. package/dist/services/document-service/utils/populate.mjs +47 -0
  625. package/dist/services/document-service/utils/populate.mjs.map +1 -0
  626. package/dist/services/document-service/utils/unidirectional-relations.d.ts +33 -0
  627. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  628. package/dist/services/document-service/utils/unidirectional-relations.js +58 -0
  629. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  630. package/dist/services/document-service/utils/unidirectional-relations.mjs +58 -0
  631. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  632. package/dist/services/entity-service/index.d.ts +4 -6
  633. package/dist/services/entity-service/index.d.ts.map +1 -1
  634. package/dist/services/entity-service/index.js +44 -203
  635. package/dist/services/entity-service/index.js.map +1 -1
  636. package/dist/services/entity-service/index.mjs +38 -197
  637. package/dist/services/entity-service/index.mjs.map +1 -1
  638. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  639. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  640. package/dist/services/entity-validator/blocks-validator.js +26 -5
  641. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  642. package/dist/services/entity-validator/blocks-validator.mjs +25 -5
  643. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  644. package/dist/services/entity-validator/index.d.ts +16 -2
  645. package/dist/services/entity-validator/index.d.ts.map +1 -1
  646. package/dist/services/entity-validator/index.js +201 -131
  647. package/dist/services/entity-validator/index.js.map +1 -1
  648. package/dist/services/entity-validator/index.mjs +196 -126
  649. package/dist/services/entity-validator/index.mjs.map +1 -1
  650. package/dist/services/entity-validator/validators.d.ts +37 -25
  651. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  652. package/dist/services/entity-validator/validators.js +163 -39
  653. package/dist/services/entity-validator/validators.js.map +1 -1
  654. package/dist/services/entity-validator/validators.mjs +155 -31
  655. package/dist/services/entity-validator/validators.mjs.map +1 -1
  656. package/dist/services/event-hub.d.ts +1 -0
  657. package/dist/services/event-hub.d.ts.map +1 -1
  658. package/dist/services/event-hub.js +9 -4
  659. package/dist/services/event-hub.js.map +1 -1
  660. package/dist/services/event-hub.mjs +9 -4
  661. package/dist/services/event-hub.mjs.map +1 -1
  662. package/dist/services/features.d.ts +10 -0
  663. package/dist/services/features.d.ts.map +1 -0
  664. package/dist/services/features.js +17 -0
  665. package/dist/services/features.js.map +1 -0
  666. package/dist/services/features.mjs +17 -0
  667. package/dist/services/features.mjs.map +1 -0
  668. package/dist/services/fs.d.ts +2 -2
  669. package/dist/services/fs.d.ts.map +1 -1
  670. package/dist/services/fs.js.map +1 -1
  671. package/dist/services/fs.mjs.map +1 -1
  672. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  673. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  674. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  675. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  676. package/dist/services/metrics/index.d.ts +2 -2
  677. package/dist/services/metrics/index.d.ts.map +1 -1
  678. package/dist/services/metrics/index.js.map +1 -1
  679. package/dist/services/metrics/index.mjs.map +1 -1
  680. package/dist/services/metrics/middleware.d.ts +2 -2
  681. package/dist/services/metrics/middleware.d.ts.map +1 -1
  682. package/dist/services/metrics/middleware.js.map +1 -1
  683. package/dist/services/metrics/middleware.mjs.map +1 -1
  684. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  685. package/dist/services/metrics/rate-limiter.js.map +1 -1
  686. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  687. package/dist/services/metrics/sender.d.ts +3 -3
  688. package/dist/services/metrics/sender.d.ts.map +1 -1
  689. package/dist/services/metrics/sender.js.map +1 -1
  690. package/dist/services/metrics/sender.mjs.map +1 -1
  691. package/dist/services/query-params.d.ts +7 -0
  692. package/dist/services/query-params.d.ts.map +1 -0
  693. package/dist/services/query-params.js +12 -0
  694. package/dist/services/query-params.js.map +1 -0
  695. package/dist/services/query-params.mjs +13 -0
  696. package/dist/services/query-params.mjs.map +1 -0
  697. package/dist/services/reloader.d.ts +7 -0
  698. package/dist/services/reloader.d.ts.map +1 -0
  699. package/dist/services/reloader.js +36 -0
  700. package/dist/services/reloader.js.map +1 -0
  701. package/dist/services/reloader.mjs +36 -0
  702. package/dist/services/reloader.mjs.map +1 -0
  703. package/dist/services/server/admin-api.d.ts +3 -3
  704. package/dist/services/server/admin-api.d.ts.map +1 -1
  705. package/dist/services/server/admin-api.js.map +1 -1
  706. package/dist/services/server/admin-api.mjs.map +1 -1
  707. package/dist/services/server/api.d.ts +3 -3
  708. package/dist/services/server/api.d.ts.map +1 -1
  709. package/dist/services/server/api.js.map +1 -1
  710. package/dist/services/server/api.mjs.map +1 -1
  711. package/dist/services/server/compose-endpoint.d.ts +2 -2
  712. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  713. package/dist/services/server/compose-endpoint.js +11 -9
  714. package/dist/services/server/compose-endpoint.js.map +1 -1
  715. package/dist/services/server/compose-endpoint.mjs +5 -3
  716. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  717. package/dist/services/server/content-api.d.ts +3 -3
  718. package/dist/services/server/content-api.d.ts.map +1 -1
  719. package/dist/services/server/content-api.js.map +1 -1
  720. package/dist/services/server/content-api.mjs.map +1 -1
  721. package/dist/services/server/http-server.d.ts +2 -2
  722. package/dist/services/server/http-server.d.ts.map +1 -1
  723. package/dist/services/server/http-server.js.map +1 -1
  724. package/dist/services/server/http-server.mjs.map +1 -1
  725. package/dist/services/server/index.d.ts +2 -2
  726. package/dist/services/server/index.d.ts.map +1 -1
  727. package/dist/services/server/index.js +2 -3
  728. package/dist/services/server/index.js.map +1 -1
  729. package/dist/services/server/index.mjs +2 -3
  730. package/dist/services/server/index.mjs.map +1 -1
  731. package/dist/services/server/koa.d.ts.map +1 -1
  732. package/dist/services/server/koa.js +4 -4
  733. package/dist/services/server/koa.js.map +1 -1
  734. package/dist/services/server/koa.mjs +1 -1
  735. package/dist/services/server/koa.mjs.map +1 -1
  736. package/dist/services/server/middleware.d.ts +4 -8
  737. package/dist/services/server/middleware.d.ts.map +1 -1
  738. package/dist/services/server/middleware.js +3 -3
  739. package/dist/services/server/middleware.js.map +1 -1
  740. package/dist/services/server/middleware.mjs.map +1 -1
  741. package/dist/services/server/policy.d.ts +3 -3
  742. package/dist/services/server/policy.d.ts.map +1 -1
  743. package/dist/services/server/policy.js +4 -4
  744. package/dist/services/server/policy.js.map +1 -1
  745. package/dist/services/server/policy.mjs +4 -4
  746. package/dist/services/server/policy.mjs.map +1 -1
  747. package/dist/services/server/register-middlewares.d.ts +2 -2
  748. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  749. package/dist/services/server/register-middlewares.js +1 -1
  750. package/dist/services/server/register-middlewares.js.map +1 -1
  751. package/dist/services/server/register-middlewares.mjs +1 -1
  752. package/dist/services/server/register-middlewares.mjs.map +1 -1
  753. package/dist/services/server/register-routes.d.ts +2 -2
  754. package/dist/services/server/register-routes.d.ts.map +1 -1
  755. package/dist/services/server/register-routes.js +3 -3
  756. package/dist/services/server/register-routes.js.map +1 -1
  757. package/dist/services/server/register-routes.mjs +3 -3
  758. package/dist/services/server/register-routes.mjs.map +1 -1
  759. package/dist/services/server/routing.d.ts +5 -5
  760. package/dist/services/server/routing.d.ts.map +1 -1
  761. package/dist/services/server/routing.js +2 -2
  762. package/dist/services/server/routing.js.map +1 -1
  763. package/dist/services/server/routing.mjs.map +1 -1
  764. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  765. package/dist/services/utils/dynamic-zones.js +7 -6
  766. package/dist/services/utils/dynamic-zones.js.map +1 -1
  767. package/dist/services/utils/dynamic-zones.mjs +2 -1
  768. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  769. package/dist/services/webhook-runner.d.ts +12 -2
  770. package/dist/services/webhook-runner.d.ts.map +1 -1
  771. package/dist/services/webhook-runner.js.map +1 -1
  772. package/dist/services/webhook-runner.mjs.map +1 -1
  773. package/dist/services/webhook-store.d.ts +4 -30
  774. package/dist/services/webhook-store.d.ts.map +1 -1
  775. package/dist/services/webhook-store.js +20 -10
  776. package/dist/services/webhook-store.js.map +1 -1
  777. package/dist/services/webhook-store.mjs +20 -10
  778. package/dist/services/webhook-store.mjs.map +1 -1
  779. package/dist/utils/convert-custom-field-type.d.ts +2 -3
  780. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  781. package/dist/utils/convert-custom-field-type.js +2 -1
  782. package/dist/utils/convert-custom-field-type.js.map +1 -1
  783. package/dist/utils/convert-custom-field-type.mjs +1 -1
  784. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  785. package/dist/utils/cron.js +3 -3
  786. package/dist/utils/cron.js.map +1 -1
  787. package/dist/utils/ee.d.ts +1 -2
  788. package/dist/utils/ee.d.ts.map +1 -1
  789. package/dist/utils/fetch.d.ts +3 -2
  790. package/dist/utils/fetch.d.ts.map +1 -1
  791. package/dist/utils/fetch.js +6 -5
  792. package/dist/utils/fetch.js.map +1 -1
  793. package/dist/utils/fetch.mjs +6 -5
  794. package/dist/utils/fetch.mjs.map +1 -1
  795. package/dist/utils/filepath-to-prop-path.d.ts +5 -0
  796. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -0
  797. package/dist/utils/filepath-to-prop-path.js +33 -0
  798. package/dist/utils/filepath-to-prop-path.js.map +1 -0
  799. package/dist/utils/filepath-to-prop-path.mjs +30 -0
  800. package/dist/utils/filepath-to-prop-path.mjs.map +1 -0
  801. package/dist/utils/index.d.ts +12 -4
  802. package/dist/utils/index.d.ts.map +1 -1
  803. package/dist/utils/is-initialized.d.ts +2 -2
  804. package/dist/utils/is-initialized.d.ts.map +1 -1
  805. package/dist/utils/is-initialized.js +8 -7
  806. package/dist/utils/is-initialized.js.map +1 -1
  807. package/dist/utils/is-initialized.mjs +4 -4
  808. package/dist/utils/is-initialized.mjs.map +1 -1
  809. package/dist/utils/load-config-file.d.ts +2 -0
  810. package/dist/utils/load-config-file.d.ts.map +1 -0
  811. package/dist/utils/load-config-file.js +45 -0
  812. package/dist/utils/load-config-file.js.map +1 -0
  813. package/dist/utils/load-config-file.mjs +42 -0
  814. package/dist/utils/load-config-file.mjs.map +1 -0
  815. package/dist/utils/load-files.d.ts +11 -0
  816. package/dist/utils/load-files.d.ts.map +1 -0
  817. package/dist/utils/load-files.js +39 -0
  818. package/dist/utils/load-files.js.map +1 -0
  819. package/dist/utils/load-files.mjs +35 -0
  820. package/dist/utils/load-files.mjs.map +1 -0
  821. package/dist/utils/open-browser.d.ts +2 -3
  822. package/dist/utils/open-browser.d.ts.map +1 -1
  823. package/dist/utils/open-browser.js +5 -5
  824. package/dist/utils/open-browser.js.map +1 -1
  825. package/dist/utils/open-browser.mjs +4 -5
  826. package/dist/utils/open-browser.mjs.map +1 -1
  827. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  828. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  829. package/dist/utils/resolve-working-dirs.js +13 -0
  830. package/dist/utils/resolve-working-dirs.js.map +1 -0
  831. package/dist/utils/resolve-working-dirs.mjs +11 -0
  832. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  833. package/dist/utils/signals.d.ts +2 -2
  834. package/dist/utils/signals.d.ts.map +1 -1
  835. package/dist/utils/signals.js.map +1 -1
  836. package/dist/utils/signals.mjs.map +1 -1
  837. package/dist/utils/startup-logger.d.ts +2 -3
  838. package/dist/utils/startup-logger.d.ts.map +1 -1
  839. package/dist/utils/startup-logger.js +23 -17
  840. package/dist/utils/startup-logger.js.map +1 -1
  841. package/dist/utils/startup-logger.mjs +21 -16
  842. package/dist/utils/startup-logger.mjs.map +1 -1
  843. package/dist/utils/transform-content-types-to-models.d.ts +129 -3
  844. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  845. package/dist/utils/transform-content-types-to-models.js +254 -16
  846. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  847. package/dist/utils/transform-content-types-to-models.mjs +251 -16
  848. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  849. package/dist/utils/update-notifier/index.d.ts +2 -8
  850. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  851. package/dist/utils/update-notifier/index.js +13 -10
  852. package/dist/utils/update-notifier/index.js.map +1 -1
  853. package/dist/utils/update-notifier/index.mjs +12 -10
  854. package/dist/utils/update-notifier/index.mjs.map +1 -1
  855. package/package.json +37 -41
  856. package/bin/strapi.js +0 -2
  857. package/dist/admin.d.ts +0 -5
  858. package/dist/admin.d.ts.map +0 -1
  859. package/dist/cli.d.ts +0 -2
  860. package/dist/cli.d.ts.map +0 -1
  861. package/dist/commands/actions/admin/create-user/action.d.ts +0 -12
  862. package/dist/commands/actions/admin/create-user/action.d.ts.map +0 -1
  863. package/dist/commands/actions/admin/create-user/command.d.ts +0 -7
  864. package/dist/commands/actions/admin/create-user/command.d.ts.map +0 -1
  865. package/dist/commands/actions/admin/reset-user-password/action.d.ts +0 -10
  866. package/dist/commands/actions/admin/reset-user-password/action.d.ts.map +0 -1
  867. package/dist/commands/actions/admin/reset-user-password/command.d.ts +0 -7
  868. package/dist/commands/actions/admin/reset-user-password/command.d.ts.map +0 -1
  869. package/dist/commands/actions/components/list/action.d.ts +0 -3
  870. package/dist/commands/actions/components/list/action.d.ts.map +0 -1
  871. package/dist/commands/actions/components/list/command.d.ts +0 -7
  872. package/dist/commands/actions/components/list/command.d.ts.map +0 -1
  873. package/dist/commands/actions/configuration/dump/action.d.ts +0 -11
  874. package/dist/commands/actions/configuration/dump/action.d.ts.map +0 -1
  875. package/dist/commands/actions/configuration/dump/command.d.ts +0 -7
  876. package/dist/commands/actions/configuration/dump/command.d.ts.map +0 -1
  877. package/dist/commands/actions/configuration/restore/action.d.ts +0 -11
  878. package/dist/commands/actions/configuration/restore/action.d.ts.map +0 -1
  879. package/dist/commands/actions/configuration/restore/command.d.ts +0 -7
  880. package/dist/commands/actions/configuration/restore/command.d.ts.map +0 -1
  881. package/dist/commands/actions/console/action.d.ts +0 -6
  882. package/dist/commands/actions/console/action.d.ts.map +0 -1
  883. package/dist/commands/actions/console/command.d.ts +0 -7
  884. package/dist/commands/actions/console/command.d.ts.map +0 -1
  885. package/dist/commands/actions/content-types/list/action.d.ts +0 -3
  886. package/dist/commands/actions/content-types/list/action.d.ts.map +0 -1
  887. package/dist/commands/actions/content-types/list/command.d.ts +0 -7
  888. package/dist/commands/actions/content-types/list/command.d.ts.map +0 -1
  889. package/dist/commands/actions/controllers/list/action.d.ts +0 -3
  890. package/dist/commands/actions/controllers/list/action.d.ts.map +0 -1
  891. package/dist/commands/actions/controllers/list/command.d.ts +0 -7
  892. package/dist/commands/actions/controllers/list/command.d.ts.map +0 -1
  893. package/dist/commands/actions/generate/command.d.ts +0 -7
  894. package/dist/commands/actions/generate/command.d.ts.map +0 -1
  895. package/dist/commands/actions/hooks/list/action.d.ts +0 -3
  896. package/dist/commands/actions/hooks/list/action.d.ts.map +0 -1
  897. package/dist/commands/actions/hooks/list/command.d.ts +0 -7
  898. package/dist/commands/actions/hooks/list/command.d.ts.map +0 -1
  899. package/dist/commands/actions/install/action.d.ts +0 -3
  900. package/dist/commands/actions/install/action.d.ts.map +0 -1
  901. package/dist/commands/actions/install/command.d.ts +0 -7
  902. package/dist/commands/actions/install/command.d.ts.map +0 -1
  903. package/dist/commands/actions/middlewares/list/action.d.ts +0 -3
  904. package/dist/commands/actions/middlewares/list/action.d.ts.map +0 -1
  905. package/dist/commands/actions/middlewares/list/command.d.ts +0 -7
  906. package/dist/commands/actions/middlewares/list/command.d.ts.map +0 -1
  907. package/dist/commands/actions/new/action.d.ts +0 -8
  908. package/dist/commands/actions/new/action.d.ts.map +0 -1
  909. package/dist/commands/actions/new/command.d.ts +0 -7
  910. package/dist/commands/actions/new/command.d.ts.map +0 -1
  911. package/dist/commands/actions/plugin/build-command/action.d.ts +0 -7
  912. package/dist/commands/actions/plugin/build-command/action.d.ts.map +0 -1
  913. package/dist/commands/actions/plugin/build-command/command.d.ts +0 -7
  914. package/dist/commands/actions/plugin/build-command/command.d.ts.map +0 -1
  915. package/dist/commands/actions/plugin/watch/action.d.ts +0 -7
  916. package/dist/commands/actions/plugin/watch/action.d.ts.map +0 -1
  917. package/dist/commands/actions/plugin/watch/command.d.ts +0 -7
  918. package/dist/commands/actions/plugin/watch/command.d.ts.map +0 -1
  919. package/dist/commands/actions/policies/list/action.d.ts +0 -3
  920. package/dist/commands/actions/policies/list/action.d.ts.map +0 -1
  921. package/dist/commands/actions/policies/list/command.d.ts +0 -7
  922. package/dist/commands/actions/policies/list/command.d.ts.map +0 -1
  923. package/dist/commands/actions/report/action.d.ts +0 -8
  924. package/dist/commands/actions/report/action.d.ts.map +0 -1
  925. package/dist/commands/actions/report/command.d.ts +0 -7
  926. package/dist/commands/actions/report/command.d.ts.map +0 -1
  927. package/dist/commands/actions/routes/list/action.d.ts +0 -3
  928. package/dist/commands/actions/routes/list/action.d.ts.map +0 -1
  929. package/dist/commands/actions/routes/list/command.d.ts +0 -7
  930. package/dist/commands/actions/routes/list/command.d.ts.map +0 -1
  931. package/dist/commands/actions/services/list/action.d.ts +0 -3
  932. package/dist/commands/actions/services/list/action.d.ts.map +0 -1
  933. package/dist/commands/actions/services/list/command.d.ts +0 -7
  934. package/dist/commands/actions/services/list/command.d.ts.map +0 -1
  935. package/dist/commands/actions/start/action.d.ts +0 -6
  936. package/dist/commands/actions/start/action.d.ts.map +0 -1
  937. package/dist/commands/actions/start/command.d.ts +0 -7
  938. package/dist/commands/actions/start/command.d.ts.map +0 -1
  939. package/dist/commands/actions/telemetry/disable/action.d.ts +0 -2
  940. package/dist/commands/actions/telemetry/disable/action.d.ts.map +0 -1
  941. package/dist/commands/actions/telemetry/disable/command.d.ts +0 -7
  942. package/dist/commands/actions/telemetry/disable/command.d.ts.map +0 -1
  943. package/dist/commands/actions/telemetry/enable/action.d.ts +0 -3
  944. package/dist/commands/actions/telemetry/enable/action.d.ts.map +0 -1
  945. package/dist/commands/actions/telemetry/enable/command.d.ts +0 -7
  946. package/dist/commands/actions/telemetry/enable/command.d.ts.map +0 -1
  947. package/dist/commands/actions/templates/generate/action.d.ts +0 -2
  948. package/dist/commands/actions/templates/generate/action.d.ts.map +0 -1
  949. package/dist/commands/actions/templates/generate/command.d.ts +0 -7
  950. package/dist/commands/actions/templates/generate/command.d.ts.map +0 -1
  951. package/dist/commands/actions/ts/generate-types/action.d.ts +0 -9
  952. package/dist/commands/actions/ts/generate-types/action.d.ts.map +0 -1
  953. package/dist/commands/actions/ts/generate-types/command.d.ts +0 -7
  954. package/dist/commands/actions/ts/generate-types/command.d.ts.map +0 -1
  955. package/dist/commands/actions/uninstall/action.d.ts +0 -6
  956. package/dist/commands/actions/uninstall/action.d.ts.map +0 -1
  957. package/dist/commands/actions/uninstall/command.d.ts +0 -7
  958. package/dist/commands/actions/uninstall/command.d.ts.map +0 -1
  959. package/dist/commands/actions/version/command.d.ts +0 -7
  960. package/dist/commands/actions/version/command.d.ts.map +0 -1
  961. package/dist/commands/actions/watch-admin/action.d.ts +0 -7
  962. package/dist/commands/actions/watch-admin/action.d.ts.map +0 -1
  963. package/dist/commands/actions/watch-admin/command.d.ts +0 -7
  964. package/dist/commands/actions/watch-admin/command.d.ts.map +0 -1
  965. package/dist/commands/index.d.ts +0 -37
  966. package/dist/commands/index.d.ts.map +0 -1
  967. package/dist/commands/types.d.ts +0 -14
  968. package/dist/commands/types.d.ts.map +0 -1
  969. package/dist/commands/utils/commander.d.ts +0 -36
  970. package/dist/commands/utils/commander.d.ts.map +0 -1
  971. package/dist/commands/utils/helpers.d.ts +0 -49
  972. package/dist/commands/utils/helpers.d.ts.map +0 -1
  973. package/dist/commands/utils/logger.d.ts +0 -19
  974. package/dist/commands/utils/logger.d.ts.map +0 -1
  975. package/dist/commands/utils/pkg.d.ts +0 -119
  976. package/dist/commands/utils/pkg.d.ts.map +0 -1
  977. package/dist/commands/utils/tsconfig.d.ts +0 -19
  978. package/dist/commands/utils/tsconfig.d.ts.map +0 -1
  979. package/dist/core/app-configuration/config-loader.d.ts.map +0 -1
  980. package/dist/core/app-configuration/config-loader.js +0 -19
  981. package/dist/core/app-configuration/config-loader.js.map +0 -1
  982. package/dist/core/app-configuration/config-loader.mjs +0 -17
  983. package/dist/core/app-configuration/config-loader.mjs.map +0 -1
  984. package/dist/core/app-configuration/index.d.ts +0 -36
  985. package/dist/core/app-configuration/index.d.ts.map +0 -1
  986. package/dist/core/app-configuration/index.js +0 -55
  987. package/dist/core/app-configuration/index.js.map +0 -1
  988. package/dist/core/app-configuration/index.mjs +0 -51
  989. package/dist/core/app-configuration/index.mjs.map +0 -1
  990. package/dist/core/app-configuration/load-config-file.d.ts +0 -2
  991. package/dist/core/app-configuration/load-config-file.d.ts.map +0 -1
  992. package/dist/core/app-configuration/load-config-file.js +0 -45
  993. package/dist/core/app-configuration/load-config-file.js.map +0 -1
  994. package/dist/core/app-configuration/load-config-file.mjs +0 -42
  995. package/dist/core/app-configuration/load-config-file.mjs.map +0 -1
  996. package/dist/core/bootstrap.d.ts +0 -5
  997. package/dist/core/bootstrap.d.ts.map +0 -1
  998. package/dist/core/bootstrap.js +0 -28
  999. package/dist/core/bootstrap.js.map +0 -1
  1000. package/dist/core/bootstrap.mjs +0 -27
  1001. package/dist/core/bootstrap.mjs.map +0 -1
  1002. package/dist/core/domain/content-type/index.d.ts +0 -9
  1003. package/dist/core/domain/content-type/index.d.ts.map +0 -1
  1004. package/dist/core/domain/content-type/index.js +0 -122
  1005. package/dist/core/domain/content-type/index.js.map +0 -1
  1006. package/dist/core/domain/content-type/index.mjs +0 -120
  1007. package/dist/core/domain/content-type/index.mjs.map +0 -1
  1008. package/dist/core/domain/content-type/validator.d.ts.map +0 -1
  1009. package/dist/core/domain/content-type/validator.js +0 -77
  1010. package/dist/core/domain/content-type/validator.js.map +0 -1
  1011. package/dist/core/domain/content-type/validator.mjs +0 -75
  1012. package/dist/core/domain/content-type/validator.mjs.map +0 -1
  1013. package/dist/core/domain/module/index.d.ts +0 -39
  1014. package/dist/core/domain/module/index.d.ts.map +0 -1
  1015. package/dist/core/domain/module/index.js +0 -107
  1016. package/dist/core/domain/module/index.js.map +0 -1
  1017. package/dist/core/domain/module/index.mjs +0 -105
  1018. package/dist/core/domain/module/index.mjs.map +0 -1
  1019. package/dist/core/domain/module/validation.d.ts.map +0 -1
  1020. package/dist/core/domain/module/validation.js.map +0 -1
  1021. package/dist/core/domain/module/validation.mjs.map +0 -1
  1022. package/dist/core/loaders/admin.d.ts +0 -3
  1023. package/dist/core/loaders/admin.d.ts.map +0 -1
  1024. package/dist/core/loaders/admin.js +0 -16
  1025. package/dist/core/loaders/admin.js.map +0 -1
  1026. package/dist/core/loaders/admin.mjs +0 -15
  1027. package/dist/core/loaders/admin.mjs.map +0 -1
  1028. package/dist/core/loaders/apis.d.ts +0 -3
  1029. package/dist/core/loaders/apis.d.ts.map +0 -1
  1030. package/dist/core/loaders/apis.js +0 -130
  1031. package/dist/core/loaders/apis.js.map +0 -1
  1032. package/dist/core/loaders/apis.mjs +0 -128
  1033. package/dist/core/loaders/apis.mjs.map +0 -1
  1034. package/dist/core/loaders/components.d.ts +0 -3
  1035. package/dist/core/loaders/components.d.ts.map +0 -1
  1036. package/dist/core/loaders/components.js +0 -38
  1037. package/dist/core/loaders/components.js.map +0 -1
  1038. package/dist/core/loaders/components.mjs +0 -37
  1039. package/dist/core/loaders/components.mjs.map +0 -1
  1040. package/dist/core/loaders/index.d.ts +0 -3
  1041. package/dist/core/loaders/index.d.ts.map +0 -1
  1042. package/dist/core/loaders/index.js +0 -26
  1043. package/dist/core/loaders/index.js.map +0 -1
  1044. package/dist/core/loaders/index.mjs +0 -26
  1045. package/dist/core/loaders/index.mjs.map +0 -1
  1046. package/dist/core/loaders/middlewares.d.ts +0 -3
  1047. package/dist/core/loaders/middlewares.d.ts.map +0 -1
  1048. package/dist/core/loaders/middlewares.js +0 -31
  1049. package/dist/core/loaders/middlewares.js.map +0 -1
  1050. package/dist/core/loaders/middlewares.mjs +0 -30
  1051. package/dist/core/loaders/middlewares.mjs.map +0 -1
  1052. package/dist/core/loaders/plugins/get-enabled-plugins.d.ts +0 -5
  1053. package/dist/core/loaders/plugins/get-enabled-plugins.d.ts.map +0 -1
  1054. package/dist/core/loaders/plugins/get-enabled-plugins.js +0 -110
  1055. package/dist/core/loaders/plugins/get-enabled-plugins.js.map +0 -1
  1056. package/dist/core/loaders/plugins/get-enabled-plugins.mjs +0 -108
  1057. package/dist/core/loaders/plugins/get-enabled-plugins.mjs.map +0 -1
  1058. package/dist/core/loaders/plugins/get-user-plugins-config.d.ts.map +0 -1
  1059. package/dist/core/loaders/plugins/get-user-plugins-config.js +0 -27
  1060. package/dist/core/loaders/plugins/get-user-plugins-config.js.map +0 -1
  1061. package/dist/core/loaders/plugins/get-user-plugins-config.mjs +0 -25
  1062. package/dist/core/loaders/plugins/get-user-plugins-config.mjs.map +0 -1
  1063. package/dist/core/loaders/plugins/index.d.ts +0 -3
  1064. package/dist/core/loaders/plugins/index.d.ts.map +0 -1
  1065. package/dist/core/loaders/plugins/index.js +0 -105
  1066. package/dist/core/loaders/plugins/index.js.map +0 -1
  1067. package/dist/core/loaders/plugins/index.mjs +0 -104
  1068. package/dist/core/loaders/plugins/index.mjs.map +0 -1
  1069. package/dist/core/loaders/policies.d.ts +0 -3
  1070. package/dist/core/loaders/policies.d.ts.map +0 -1
  1071. package/dist/core/loaders/policies.js.map +0 -1
  1072. package/dist/core/loaders/policies.mjs.map +0 -1
  1073. package/dist/core/loaders/sanitizers.d.ts +0 -4
  1074. package/dist/core/loaders/sanitizers.d.ts.map +0 -1
  1075. package/dist/core/loaders/sanitizers.js.map +0 -1
  1076. package/dist/core/loaders/sanitizers.mjs.map +0 -1
  1077. package/dist/core/loaders/src-index.d.ts +0 -4
  1078. package/dist/core/loaders/src-index.d.ts.map +0 -1
  1079. package/dist/core/loaders/src-index.js.map +0 -1
  1080. package/dist/core/loaders/src-index.mjs.map +0 -1
  1081. package/dist/core/loaders/validators.d.ts +0 -4
  1082. package/dist/core/loaders/validators.d.ts.map +0 -1
  1083. package/dist/core/loaders/validators.js.map +0 -1
  1084. package/dist/core/loaders/validators.mjs.map +0 -1
  1085. package/dist/core/registries/apis.d.ts +0 -8
  1086. package/dist/core/registries/apis.d.ts.map +0 -1
  1087. package/dist/core/registries/apis.js +0 -23
  1088. package/dist/core/registries/apis.js.map +0 -1
  1089. package/dist/core/registries/apis.mjs.map +0 -1
  1090. package/dist/core/registries/components.d.ts +0 -25
  1091. package/dist/core/registries/components.d.ts.map +0 -1
  1092. package/dist/core/registries/components.js +0 -45
  1093. package/dist/core/registries/components.js.map +0 -1
  1094. package/dist/core/registries/components.mjs.map +0 -1
  1095. package/dist/core/registries/config.d.ts +0 -4
  1096. package/dist/core/registries/config.d.ts.map +0 -1
  1097. package/dist/core/registries/config.js +0 -23
  1098. package/dist/core/registries/config.js.map +0 -1
  1099. package/dist/core/registries/config.mjs +0 -22
  1100. package/dist/core/registries/config.mjs.map +0 -1
  1101. package/dist/core/registries/content-types.d.ts +0 -33
  1102. package/dist/core/registries/content-types.d.ts.map +0 -1
  1103. package/dist/core/registries/content-types.js +0 -71
  1104. package/dist/core/registries/content-types.js.map +0 -1
  1105. package/dist/core/registries/content-types.mjs +0 -72
  1106. package/dist/core/registries/content-types.mjs.map +0 -1
  1107. package/dist/core/registries/controllers.d.ts +0 -35
  1108. package/dist/core/registries/controllers.d.ts.map +0 -1
  1109. package/dist/core/registries/controllers.js +0 -80
  1110. package/dist/core/registries/controllers.js.map +0 -1
  1111. package/dist/core/registries/controllers.mjs +0 -81
  1112. package/dist/core/registries/controllers.mjs.map +0 -1
  1113. package/dist/core/registries/custom-fields.d.ts +0 -8
  1114. package/dist/core/registries/custom-fields.d.ts.map +0 -1
  1115. package/dist/core/registries/custom-fields.js +0 -71
  1116. package/dist/core/registries/custom-fields.js.map +0 -1
  1117. package/dist/core/registries/custom-fields.mjs.map +0 -1
  1118. package/dist/core/registries/hooks.d.ts.map +0 -1
  1119. package/dist/core/registries/hooks.js +0 -58
  1120. package/dist/core/registries/hooks.js.map +0 -1
  1121. package/dist/core/registries/hooks.mjs +0 -59
  1122. package/dist/core/registries/hooks.mjs.map +0 -1
  1123. package/dist/core/registries/index.d.ts +0 -15
  1124. package/dist/core/registries/index.d.ts.map +0 -1
  1125. package/dist/core/registries/middlewares.d.ts +0 -31
  1126. package/dist/core/registries/middlewares.d.ts.map +0 -1
  1127. package/dist/core/registries/middlewares.js +0 -60
  1128. package/dist/core/registries/middlewares.js.map +0 -1
  1129. package/dist/core/registries/middlewares.mjs +0 -61
  1130. package/dist/core/registries/middlewares.mjs.map +0 -1
  1131. package/dist/core/registries/modules.d.ts +0 -15
  1132. package/dist/core/registries/modules.d.ts.map +0 -1
  1133. package/dist/core/registries/modules.js +0 -39
  1134. package/dist/core/registries/modules.js.map +0 -1
  1135. package/dist/core/registries/modules.mjs.map +0 -1
  1136. package/dist/core/registries/plugins.d.ts +0 -9
  1137. package/dist/core/registries/plugins.d.ts.map +0 -1
  1138. package/dist/core/registries/plugins.js +0 -23
  1139. package/dist/core/registries/plugins.js.map +0 -1
  1140. package/dist/core/registries/plugins.mjs.map +0 -1
  1141. package/dist/core/registries/policies.d.ts +0 -34
  1142. package/dist/core/registries/policies.d.ts.map +0 -1
  1143. package/dist/core/registries/policies.js +0 -62
  1144. package/dist/core/registries/policies.js.map +0 -1
  1145. package/dist/core/registries/policies.mjs +0 -63
  1146. package/dist/core/registries/policies.mjs.map +0 -1
  1147. package/dist/core/registries/sanitizers.d.ts.map +0 -1
  1148. package/dist/core/registries/sanitizers.js.map +0 -1
  1149. package/dist/core/registries/sanitizers.mjs.map +0 -1
  1150. package/dist/core/registries/services.d.ts +0 -35
  1151. package/dist/core/registries/services.d.ts.map +0 -1
  1152. package/dist/core/registries/services.js +0 -80
  1153. package/dist/core/registries/services.js.map +0 -1
  1154. package/dist/core/registries/services.mjs +0 -81
  1155. package/dist/core/registries/services.mjs.map +0 -1
  1156. package/dist/core/registries/validators.d.ts.map +0 -1
  1157. package/dist/core/registries/validators.js.map +0 -1
  1158. package/dist/core/registries/validators.mjs.map +0 -1
  1159. package/dist/core/utils.d.ts +0 -5
  1160. package/dist/core/utils.d.ts.map +0 -1
  1161. package/dist/core/utils.js +0 -27
  1162. package/dist/core/utils.js.map +0 -1
  1163. package/dist/core/utils.mjs +0 -27
  1164. package/dist/core/utils.mjs.map +0 -1
  1165. package/dist/core-api/service/get-fetch-params.d.ts +0 -7
  1166. package/dist/core-api/service/get-fetch-params.d.ts.map +0 -1
  1167. package/dist/core-api/service/get-fetch-params.js +0 -14
  1168. package/dist/core-api/service/get-fetch-params.js.map +0 -1
  1169. package/dist/core-api/service/get-fetch-params.mjs +0 -14
  1170. package/dist/core-api/service/get-fetch-params.mjs.map +0 -1
  1171. package/dist/load/filepath-to-prop-path.d.ts +0 -6
  1172. package/dist/load/filepath-to-prop-path.d.ts.map +0 -1
  1173. package/dist/load/filepath-to-prop-path.js +0 -11
  1174. package/dist/load/filepath-to-prop-path.js.map +0 -1
  1175. package/dist/load/filepath-to-prop-path.mjs +0 -10
  1176. package/dist/load/filepath-to-prop-path.mjs.map +0 -1
  1177. package/dist/load/glob.d.ts +0 -7
  1178. package/dist/load/glob.d.ts.map +0 -1
  1179. package/dist/load/glob.js +0 -15
  1180. package/dist/load/glob.js.map +0 -1
  1181. package/dist/load/glob.mjs +0 -14
  1182. package/dist/load/glob.mjs.map +0 -1
  1183. package/dist/load/index.d.ts +0 -3
  1184. package/dist/load/index.d.ts.map +0 -1
  1185. package/dist/load/load-files.d.ts +0 -11
  1186. package/dist/load/load-files.d.ts.map +0 -1
  1187. package/dist/load/load-files.js +0 -38
  1188. package/dist/load/load-files.js.map +0 -1
  1189. package/dist/load/load-files.mjs +0 -35
  1190. package/dist/load/load-files.mjs.map +0 -1
  1191. package/dist/load/package-path.d.ts +0 -6
  1192. package/dist/load/package-path.d.ts.map +0 -1
  1193. package/dist/middlewares/public/assets/images/group_people_1.png +0 -0
  1194. package/dist/middlewares/public/assets/images/group_people_2.png +0 -0
  1195. package/dist/middlewares/public/assets/images/group_people_3.png +0 -0
  1196. package/dist/middlewares/public/assets/images/logo_login.png +0 -0
  1197. package/dist/middlewares/public/index.d.ts +0 -3
  1198. package/dist/middlewares/public/index.d.ts.map +0 -1
  1199. package/dist/middlewares/public/index.html +0 -66
  1200. package/dist/middlewares/public/index.js +0 -91
  1201. package/dist/middlewares/public/index.js.map +0 -1
  1202. package/dist/middlewares/public/index.mjs +0 -85
  1203. package/dist/middlewares/public/index.mjs.map +0 -1
  1204. package/dist/middlewares/public/serve-static.d.ts +0 -4
  1205. package/dist/middlewares/public/serve-static.d.ts.map +0 -1
  1206. package/dist/middlewares/public/serve-static.js +0 -24
  1207. package/dist/middlewares/public/serve-static.js.map +0 -1
  1208. package/dist/middlewares/public/serve-static.mjs +0 -21
  1209. package/dist/middlewares/public/serve-static.mjs.map +0 -1
  1210. package/dist/services/document-service/document-repository.d.ts +0 -21
  1211. package/dist/services/document-service/document-repository.d.ts.map +0 -1
  1212. package/dist/services/document-service/document-repository.js +0 -132
  1213. package/dist/services/document-service/document-repository.js.map +0 -1
  1214. package/dist/services/document-service/document-repository.mjs +0 -132
  1215. package/dist/services/document-service/document-repository.mjs.map +0 -1
  1216. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts +0 -26
  1217. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts.map +0 -1
  1218. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js +0 -58
  1219. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js.map +0 -1
  1220. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs +0 -58
  1221. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs.map +0 -1
  1222. package/dist/services/document-service/middlewares/defaults/index.d.ts +0 -3
  1223. package/dist/services/document-service/middlewares/defaults/index.d.ts.map +0 -1
  1224. package/dist/services/document-service/middlewares/defaults/index.js +0 -82
  1225. package/dist/services/document-service/middlewares/defaults/index.js.map +0 -1
  1226. package/dist/services/document-service/middlewares/defaults/index.mjs +0 -82
  1227. package/dist/services/document-service/middlewares/defaults/index.mjs.map +0 -1
  1228. package/dist/services/document-service/middlewares/defaults/locales.d.ts +0 -18
  1229. package/dist/services/document-service/middlewares/defaults/locales.d.ts.map +0 -1
  1230. package/dist/services/document-service/middlewares/defaults/locales.js +0 -40
  1231. package/dist/services/document-service/middlewares/defaults/locales.js.map +0 -1
  1232. package/dist/services/document-service/middlewares/defaults/locales.mjs +0 -40
  1233. package/dist/services/document-service/middlewares/defaults/locales.mjs.map +0 -1
  1234. package/dist/services/document-service/middlewares/index.js +0 -59
  1235. package/dist/services/document-service/middlewares/index.js.map +0 -1
  1236. package/dist/services/document-service/middlewares/index.mjs +0 -59
  1237. package/dist/services/document-service/middlewares/index.mjs.map +0 -1
  1238. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  1239. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  1240. package/dist/services/entity-service/attributes/index.js +0 -22
  1241. package/dist/services/entity-service/attributes/index.js.map +0 -1
  1242. package/dist/services/entity-service/attributes/index.mjs +0 -22
  1243. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  1244. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  1245. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  1246. package/dist/services/entity-service/attributes/transforms.js +0 -20
  1247. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  1248. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  1249. package/dist/services/entity-service/components.d.ts +0 -23
  1250. package/dist/services/entity-service/components.d.ts.map +0 -1
  1251. package/dist/services/entity-service/components.js +0 -384
  1252. package/dist/services/entity-service/components.js.map +0 -1
  1253. package/dist/services/entity-service/components.mjs +0 -382
  1254. package/dist/services/entity-service/components.mjs.map +0 -1
  1255. package/dist/services/entity-service/params.d.ts +0 -8
  1256. package/dist/services/entity-service/params.d.ts.map +0 -1
  1257. package/dist/services/entity-service/params.js +0 -8
  1258. package/dist/services/entity-service/params.js.map +0 -1
  1259. package/dist/services/entity-service/params.mjs +0 -8
  1260. package/dist/services/entity-service/params.mjs.map +0 -1
  1261. package/dist/services/utils/upload-files.d.ts +0 -8
  1262. package/dist/services/utils/upload-files.d.ts.map +0 -1
  1263. package/dist/services/utils/upload-files.js +0 -64
  1264. package/dist/services/utils/upload-files.js.map +0 -1
  1265. package/dist/services/utils/upload-files.mjs +0 -63
  1266. package/dist/services/utils/upload-files.mjs.map +0 -1
  1267. package/dist/utils/addSlash.d.ts +0 -3
  1268. package/dist/utils/addSlash.d.ts.map +0 -1
  1269. package/dist/utils/ee.js +0 -4
  1270. package/dist/utils/ee.js.map +0 -1
  1271. package/dist/utils/ee.mjs +0 -5
  1272. package/dist/utils/ee.mjs.map +0 -1
  1273. package/dist/utils/get-dirs.d.ts +0 -10
  1274. package/dist/utils/get-dirs.d.ts.map +0 -1
  1275. package/dist/utils/get-dirs.js +0 -29
  1276. package/dist/utils/get-dirs.js.map +0 -1
  1277. package/dist/utils/get-dirs.mjs +0 -30
  1278. package/dist/utils/get-dirs.mjs.map +0 -1
  1279. /package/dist/{core/app-configuration → configuration}/config-loader.d.ts +0 -0
  1280. /package/dist/{core/domain → domain}/content-type/validator.d.ts +0 -0
  1281. /package/dist/{core/domain → domain}/module/validation.d.ts +0 -0
  1282. /package/dist/{core/domain → domain}/module/validation.js +0 -0
  1283. /package/dist/{core/domain → domain}/module/validation.mjs +0 -0
  1284. /package/dist/{core/loaders → loaders}/plugins/get-user-plugins-config.d.ts +0 -0
  1285. /package/dist/{core/loaders → loaders}/policies.js +0 -0
  1286. /package/dist/{core/loaders → loaders}/policies.mjs +0 -0
  1287. /package/dist/{core/loaders → loaders}/sanitizers.js +0 -0
  1288. /package/dist/{core/loaders → loaders}/sanitizers.mjs +0 -0
  1289. /package/dist/{core/loaders → loaders}/src-index.js +0 -0
  1290. /package/dist/{core/loaders → loaders}/src-index.mjs +0 -0
  1291. /package/dist/{core/loaders → loaders}/validators.js +0 -0
  1292. /package/dist/{core/loaders → loaders}/validators.mjs +0 -0
  1293. /package/dist/{core/registries → registries}/apis.mjs +0 -0
  1294. /package/dist/{core/registries → registries}/components.mjs +0 -0
  1295. /package/dist/{core/registries → registries}/custom-fields.mjs +0 -0
  1296. /package/dist/{core/registries → registries}/hooks.d.ts +0 -0
  1297. /package/dist/{core/registries → registries}/modules.mjs +0 -0
  1298. /package/dist/{core/registries → registries}/plugins.mjs +0 -0
  1299. /package/dist/{core/registries → registries}/sanitizers.d.ts +0 -0
  1300. /package/dist/{core/registries → registries}/sanitizers.js +0 -0
  1301. /package/dist/{core/registries → registries}/sanitizers.mjs +0 -0
  1302. /package/dist/{core/registries → registries}/validators.d.ts +0 -0
  1303. /package/dist/{core/registries → registries}/validators.js +0 -0
  1304. /package/dist/{core/registries → registries}/validators.mjs +0 -0
  1305. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
@@ -1,194 +1,35 @@
1
1
  "use strict";
2
- const strapiUtils = require("@strapi/utils");
3
- const _ = require("lodash/fp");
4
- const uploadFiles = require("../utils/upload-files.js");
5
- const components = require("../entity-service/components.js");
6
- const transformContentTypesToModels = require("../../utils/transform-content-types-to-models.js");
7
- const index$1 = require("../entity-service/attributes/index.js");
8
- const index = require("../entity-validator/index.js");
9
- const params = require("../entity-service/params.js");
10
- const { transformParamsToQuery } = strapiUtils.convertQueryParams;
11
- const createPipeline = (data, context) => {
12
- return index$1.applyTransforms(data, context);
13
- };
14
- const updatePipeline = (data, context) => {
15
- return index$1.applyTransforms(data, context);
16
- };
17
- const createDocumentService = ({
18
- strapi,
19
- db
20
- }) => ({
21
- uploadFiles,
22
- async findMany(uid, params2) {
23
- const { kind } = strapi.getModel(uid);
24
- const query = transformParamsToQuery(uid, params2 || {});
25
- query.where = { ...params2?.lookup, ...query.where };
26
- if (kind === "singleType") {
27
- return db.query(uid).findOne(query);
28
- }
29
- return db.query(uid).findMany(query);
30
- },
31
- async findFirst(uid, params2) {
32
- const query = transformParamsToQuery(uid, params2 || {});
33
- return db.query(uid).findOne({ ...query, where: { ...params2?.lookup, ...query.where } });
34
- },
35
- async findOne(uid, documentId, params2) {
36
- const query = transformParamsToQuery(uid, params2 || {});
37
- return db.query(uid).findOne({ ...query, where: { ...params2?.lookup, ...query.where, documentId } });
38
- },
39
- async delete(uid, documentId, params2 = {}) {
40
- const query = transformParamsToQuery(uid, params2);
41
- if (params2.status === "draft") {
42
- throw new Error("Cannot delete a draft document");
43
- }
44
- const entriesToDelete = await db.query(uid).findMany({
45
- ...query,
46
- where: {
47
- ...params2.lookup,
48
- ...query?.where,
49
- documentId
50
- }
51
- });
52
- await strapiUtils.mapAsync(entriesToDelete, async (entryToDelete) => {
53
- const componentsToDelete = await components.getComponents(uid, entryToDelete);
54
- await db.query(uid).delete({ where: { id: entryToDelete.id } });
55
- await components.deleteComponents(uid, componentsToDelete, { loadComponents: false });
56
- });
57
- return { versions: entriesToDelete };
58
- },
59
- // TODO: should we provide two separate methods?
60
- async deleteMany(uid, paramsOrIds) {
61
- let queryParams;
62
- if (_.isArray(paramsOrIds)) {
63
- queryParams = { filter: { documentID: { $in: paramsOrIds } } };
64
- } else {
65
- queryParams = paramsOrIds;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const errors = require("./middlewares/errors.js");
4
+ const middlewareManager = require("./middlewares/middleware-manager.js");
5
+ const repository = require("./repository.js");
6
+ const data = require("./transform/data.js");
7
+ const createDocumentService = (strapi) => {
8
+ const repositories = /* @__PURE__ */ new Map();
9
+ const middlewares = middlewareManager.createMiddlewareManager();
10
+ middlewares.use(errors.databaseErrorsMiddleware);
11
+ const factory = function factory2(uid) {
12
+ if (repositories.has(uid)) {
13
+ return repositories.get(uid);
66
14
  }
67
- const query = transformParamsToQuery(uid, queryParams || {});
68
- return db.query(uid).deleteMany(query);
69
- },
70
- async create(uid, params$1) {
71
- const { data } = params$1;
72
- if (!data) {
73
- throw new Error("Create requires data attribute");
74
- }
75
- const model = strapi.getModel(uid);
76
- const validData = await index.validateEntityCreation(model, data, { isDraft: true });
77
- const componentData = await components.createComponents(uid, validData);
78
- const entryData = createPipeline(
79
- Object.assign(components.omitComponentData(model, validData), componentData),
15
+ const contentType = strapi.contentType(uid);
16
+ const repository$1 = repository.createContentTypeRepository(uid);
17
+ const instance = middlewares.wrapObject(
18
+ repository$1,
19
+ { uid, contentType },
80
20
  {
81
- contentType: model
21
+ exclude: ["updateComponents", "omitComponentData"]
82
22
  }
83
23
  );
84
- const query = transformParamsToQuery(uid, params.pickSelectionParams(params$1));
85
- return db.query(uid).create({ ...query, data: entryData });
86
- },
87
- // NOTE: What happens if user doesn't provide specific publications state and locale to update?
88
- async update(uid, documentId, params$1) {
89
- const { data } = params$1 || {};
90
- const model = strapi.getModel(uid);
91
- const query = transformParamsToQuery(uid, params.pickSelectionParams(params$1 || {}));
92
- const entryToUpdate = await db.query(uid).findOne({ ...query, where: { ...params$1?.lookup, ...query?.where, documentId } });
93
- if (!entryToUpdate) {
94
- return null;
95
- }
96
- const validData = await index.validateEntityUpdate(
97
- model,
98
- data,
99
- { isDraft: true },
100
- // Always update the draft version
101
- entryToUpdate
102
- );
103
- const componentData = await components.updateComponents(uid, entryToUpdate, validData);
104
- const entryData = updatePipeline(
105
- Object.assign(components.omitComponentData(model, validData), componentData),
106
- { contentType: model }
107
- );
108
- return db.query(uid).update({ ...query, where: { id: entryToUpdate.id }, data: entryData });
109
- },
110
- async count(uid, params2 = void 0) {
111
- const query = transformParamsToQuery(uid, params2 || {});
112
- query.where = { ...params2?.lookup, ...query.where };
113
- return db.query(uid).count(query);
114
- },
115
- async clone(uid, documentId, params$1) {
116
- const { data = {} } = params$1;
117
- const model = strapi.getModel(uid);
118
- const query = transformParamsToQuery(uid, params.pickSelectionParams(params$1));
119
- const entries = await db.query(uid).findMany({
120
- ...query,
121
- where: { ...params$1?.lookup, ...query.where, documentId }
122
- });
123
- if (!entries.length) {
124
- return null;
125
- }
126
- const newDocumentId = transformContentTypesToModels.createDocumentId();
127
- const versions = await strapiUtils.mapAsync(entries, async (entryToClone) => {
128
- const isDraft = strapiUtils.contentTypes.isDraft(data);
129
- const validData = await index.validateEntityUpdate(
130
- model,
131
- // Omit id fields, the cloned entity id will be generated by the database
132
- _.omit(["id"], data),
133
- { isDraft },
134
- entryToClone
135
- );
136
- const componentData = await components.cloneComponents(uid, entryToClone, validData);
137
- const entityData = createPipeline(
138
- Object.assign(components.omitComponentData(model, validData), componentData),
139
- { contentType: model }
140
- );
141
- return db.query(uid).clone(entryToClone.id, {
142
- ...query,
143
- // Allows entityData to override the documentId (e.g. when publishing)
144
- data: { documentId: newDocumentId, ...entityData, locale: entryToClone.locale }
145
- });
146
- });
147
- return { id: newDocumentId, versions };
148
- },
149
- // TODO: Handle relations so they target the published version
150
- async publish(uid, documentId, params2) {
151
- await this.delete(uid, documentId, {
152
- ...params2,
153
- lookup: { ...params2?.lookup, publishedAt: { $ne: null } }
154
- });
155
- const clonedDocuments = await this.clone(uid, documentId, {
156
- ...params2 || {},
157
- // @ts-expect-error - Generic type does not have publishedAt attribute by default
158
- data: { documentId, publishedAt: /* @__PURE__ */ new Date() }
159
- });
160
- return { versions: clonedDocuments?.versions || [] };
161
- },
162
- async unpublish(uid, documentId, params2) {
163
- return this.delete(uid, documentId, {
164
- ...params2,
165
- lookup: { ...params2?.lookup, publishedAt: { $ne: null } }
166
- });
167
- },
168
- /**
169
- * Steps:
170
- * - Delete the matching draft versions (publishedAt = null)
171
- * - Clone the matching published versions into draft versions
172
- */
173
- async discardDraft(uid, documentId, params2) {
174
- await this.delete(uid, documentId, {
175
- ...params2,
176
- // Delete all drafts that match query
177
- lookup: { ...params2?.lookup, publishedAt: null }
178
- });
179
- const clonedDocuments = await this.clone(uid, documentId, {
180
- ...params2 || {},
181
- // Clone only published versions
182
- lookup: { ...params2?.lookup, publishedAt: { $ne: null } },
183
- // @ts-expect-error - Generic type does not have publishedAt attribute by default
184
- data: { documentId, publishedAt: null }
185
- });
186
- return { versions: clonedDocuments?.versions || [] };
187
- }
188
- });
189
- const createDocumentService$1 = (ctx) => {
190
- const implementation = createDocumentService(ctx);
191
- return implementation;
24
+ repositories.set(uid, instance);
25
+ return instance;
26
+ };
27
+ return Object.assign(factory, {
28
+ utils: {
29
+ transformData: data.transformData
30
+ },
31
+ use: middlewares.use.bind(middlewares)
32
+ });
192
33
  };
193
- module.exports = createDocumentService$1;
34
+ exports.createDocumentService = createDocumentService;
194
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/services/document-service/index.ts"],"sourcesContent":["import type { Database } from '@strapi/database';\nimport type { Common, Documents, Schema, Shared, Strapi } from '@strapi/types';\nimport { contentTypes as contentTypesUtils, convertQueryParams, mapAsync } from '@strapi/utils';\n\nimport { isArray, omit } from 'lodash/fp';\nimport uploadFiles from '../utils/upload-files';\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';\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: Entity Validation - Uniqueness across same locale and publication status\n * TODO: File upload\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 createDocumentService = ({\n strapi,\n db,\n}: {\n strapi: Strapi;\n db: Database;\n}): Documents.Service => ({\n uploadFiles,\n\n async findMany(uid, params) {\n const { kind } = strapi.getModel(uid);\n\n const query = transformParamsToQuery(uid, params || ({} as any));\n query.where = { ...params?.lookup, ...query.where };\n\n if (kind === 'singleType') {\n return db.query(uid).findOne(query);\n }\n\n return db.query(uid).findMany(query);\n },\n\n async findFirst(uid, params) {\n const query = transformParamsToQuery(uid, params || ({} as any));\n\n return db.query(uid).findOne({ ...query, where: { ...params?.lookup, ...query.where } });\n },\n\n async findOne(uid, documentId, params) {\n const query = transformParamsToQuery(uid, params || ({} as any));\n return db\n .query(uid)\n .findOne({ ...query, where: { ...params?.lookup, ...query.where, documentId } });\n },\n\n async delete(uid, documentId, params = {} as any) {\n const query = transformParamsToQuery(uid, params as any);\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({\n ...query,\n where: {\n ...params.lookup,\n ...query?.where,\n documentId,\n },\n });\n\n // Delete all matched entries and its components\n await mapAsync(entriesToDelete, async (entryToDelete: any) => {\n const componentsToDelete = await getComponents(uid, entryToDelete);\n await db.query(uid).delete({ where: { id: entryToDelete.id } });\n await deleteComponents(uid, componentsToDelete as any, { loadComponents: false });\n });\n\n // TODO: Change return value to actual count\n return { versions: entriesToDelete };\n },\n\n // TODO: should we provide two separate methods?\n async deleteMany(uid, paramsOrIds) {\n let queryParams;\n if (isArray(paramsOrIds)) {\n queryParams = { filter: { documentID: { $in: paramsOrIds } } };\n } else {\n queryParams = paramsOrIds;\n }\n\n const query = transformParamsToQuery(uid, queryParams || ({} as any));\n\n return db.query(uid).deleteMany(query);\n },\n\n async create(uid, params) {\n // TODO: Entity validator.\n // TODO: File upload - Probably in the lifecycles?\n const { data } = params;\n\n if (!data) {\n throw new Error('Create requires data attribute');\n }\n\n const model = strapi.getModel(uid) as Shared.ContentTypes[Common.UID.ContentType];\n\n const validData = await entityValidator.validateEntityCreation(model, data, { isDraft: true });\n\n const componentData = await createComponents(uid, validData);\n const entryData = createPipeline(\n Object.assign(omitComponentData(model, validData), componentData),\n {\n contentType: model,\n }\n );\n\n // select / populate\n const query = transformParamsToQuery(uid, pickSelectionParams(params));\n\n return db.query(uid).create({ ...query, data: entryData });\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: Entity validator.\n // TODO: File upload\n const { data } = params || {};\n const model = strapi.getModel(uid) as Shared.ContentTypes[Common.UID.ContentType];\n\n const query = transformParamsToQuery(uid, pickSelectionParams(params || {}));\n\n // Find all locales of the document\n const entryToUpdate = await db\n .query(uid)\n .findOne({ ...query, where: { ...params?.lookup, ...query?.where, documentId } });\n\n // Document does not exist\n if (!entryToUpdate) {\n return null;\n }\n\n const validData = await entityValidator.validateEntityUpdate(\n model,\n data,\n { isDraft: true }, // Always update the draft version\n entryToUpdate\n );\n\n const componentData = await updateComponents(uid, entryToUpdate, validData);\n const entryData = updatePipeline(\n Object.assign(omitComponentData(model, validData), componentData),\n { contentType: model }\n );\n\n return db.query(uid).update({ ...query, where: { id: entryToUpdate.id }, data: entryData });\n },\n\n async count(uid, params = undefined) {\n const query = transformParamsToQuery(uid, params || ({} as any));\n query.where = { ...params?.lookup, ...query.where };\n\n return db.query(uid).count(query);\n },\n\n async clone(uid, documentId, params) {\n // TODO: File upload\n // TODO: Entity validator.\n const { data = {} as any } = params!;\n\n const model = strapi.getModel(uid);\n const query = transformParamsToQuery(uid, pickSelectionParams(params));\n\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 },\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.query(uid).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 });\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 // Clone every draft version to be published\n const clonedDocuments = (await this.clone(uid, documentId, {\n ...(params || {}),\n // @ts-expect-error - Generic type does not have publishedAt attribute by default\n data: { documentId, publishedAt: new Date() },\n })) as any;\n\n // TODO: Return actual count\n return { versions: clonedDocuments?.versions || [] };\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 }) 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 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 // Clone published versions into draft versions\n const clonedDocuments = (await this.clone(uid, documentId, {\n ...(params || {}),\n // Clone only published versions\n lookup: { ...params?.lookup, publishedAt: { $ne: null } },\n // @ts-expect-error - Generic type does not have publishedAt attribute by default\n data: { documentId, publishedAt: null },\n })) as any;\n\n return { versions: clonedDocuments?.versions || [] };\n },\n});\n\nexport default (ctx: { strapi: Strapi; db: Database }): Documents.Service => {\n const implementation = createDocumentService(ctx);\n\n // TODO: Wrap with database error handling\n return implementation;\n};\n"],"names":["convertQueryParams","applyTransforms","params","mapAsync","getComponents","deleteComponents","isArray","entityValidator","createComponents","omitComponentData","pickSelectionParams","updateComponents","createDocumentId","contentTypesUtils","omit","cloneComponents"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/services/document-service/index.ts"],"sourcesContent":["import type { Core, Modules, UID } from '@strapi/types';\n\nimport { createMiddlewareManager, databaseErrorsMiddleware } from './middlewares';\nimport { createContentTypeRepository } from './repository';\nimport { transformData } from './transform/data';\n\n/**\n * Repository to :\n * - Access documents via actions (findMany, findOne, create, update, delete, ...)\n * - Execute middlewares on document actions\n * - Apply default parameters to document actions\n *\n * @param strapi\n * @returns DocumentService\n *\n * @example Access documents\n * const article = strapi.documents('api::article.article').create(params)\n * const allArticles = strapi.documents('api::article.article').findMany(params)\n *\n */\nexport const createDocumentService = (strapi: Core.Strapi): Modules.Documents.Service => {\n // Cache the repositories (one per content type)\n const repositories = new Map<string, Modules.Documents.ServiceInstance>();\n\n // Manager to handle document service middlewares\n const middlewares = createMiddlewareManager();\n middlewares.use(databaseErrorsMiddleware);\n\n const factory = function factory(uid: UID.ContentType) {\n if (repositories.has(uid)) {\n return repositories.get(uid)!;\n }\n\n const contentType = strapi.contentType(uid);\n const repository = createContentTypeRepository(uid);\n\n const instance = middlewares.wrapObject(\n repository,\n { uid, contentType },\n {\n exclude: ['updateComponents', 'omitComponentData'],\n }\n );\n\n repositories.set(uid, instance);\n\n return instance;\n } as Modules.Documents.Service;\n\n return Object.assign(factory, {\n utils: {\n transformData,\n },\n use: middlewares.use.bind(middlewares),\n });\n};\n"],"names":["createMiddlewareManager","databaseErrorsMiddleware","factory","repository","createContentTypeRepository","transformData"],"mappings":";;;;;;AAoBa,MAAA,wBAAwB,CAAC,WAAmD;AAEjF,QAAA,mCAAmB;AAGzB,QAAM,cAAcA,kBAAAA;AACpB,cAAY,IAAIC,OAAAA,wBAAwB;AAElC,QAAA,UAAU,SAASC,SAAQ,KAAsB;AACjD,QAAA,aAAa,IAAI,GAAG,GAAG;AAClB,aAAA,aAAa,IAAI,GAAG;AAAA,IAC7B;AAEM,UAAA,cAAc,OAAO,YAAY,GAAG;AACpC,UAAAC,eAAaC,uCAA4B,GAAG;AAElD,UAAM,WAAW,YAAY;AAAA,MAC3BD;AAAAA,MACA,EAAE,KAAK,YAAY;AAAA,MACnB;AAAA,QACE,SAAS,CAAC,oBAAoB,mBAAmB;AAAA,MACnD;AAAA,IAAA;AAGW,iBAAA,IAAI,KAAK,QAAQ;AAEvB,WAAA;AAAA,EAAA;AAGF,SAAA,OAAO,OAAO,SAAS;AAAA,IAC5B,OAAO;AAAA,MAAA,eACLE,KAAA;AAAA,IACF;AAAA,IACA,KAAK,YAAY,IAAI,KAAK,WAAW;AAAA,EAAA,CACtC;AACH;;"}
@@ -1,195 +1,35 @@
1
- import { mapAsync, contentTypes, convertQueryParams } from "@strapi/utils";
2
- import { isArray, omit } from "lodash/fp";
3
- import uploadFile from "../utils/upload-files.mjs";
4
- import { getComponents, deleteComponents, createComponents, omitComponentData, updateComponents, cloneComponents } from "../entity-service/components.mjs";
5
- import { createDocumentId } from "../../utils/transform-content-types-to-models.mjs";
6
- import { applyTransforms } from "../entity-service/attributes/index.mjs";
7
- import entityValidator from "../entity-validator/index.mjs";
8
- import { pickSelectionParams } from "../entity-service/params.mjs";
9
- const { transformParamsToQuery } = convertQueryParams;
10
- const createPipeline = (data, context) => {
11
- return applyTransforms(data, context);
12
- };
13
- const updatePipeline = (data, context) => {
14
- return applyTransforms(data, context);
15
- };
16
- const createDocumentService = ({
17
- strapi,
18
- db
19
- }) => ({
20
- uploadFiles: uploadFile,
21
- async findMany(uid, params) {
22
- const { kind } = strapi.getModel(uid);
23
- const query = transformParamsToQuery(uid, params || {});
24
- query.where = { ...params?.lookup, ...query.where };
25
- if (kind === "singleType") {
26
- return db.query(uid).findOne(query);
27
- }
28
- return db.query(uid).findMany(query);
29
- },
30
- async findFirst(uid, params) {
31
- const query = transformParamsToQuery(uid, params || {});
32
- return db.query(uid).findOne({ ...query, where: { ...params?.lookup, ...query.where } });
33
- },
34
- async findOne(uid, documentId, params) {
35
- const query = transformParamsToQuery(uid, params || {});
36
- return db.query(uid).findOne({ ...query, where: { ...params?.lookup, ...query.where, documentId } });
37
- },
38
- async delete(uid, documentId, params = {}) {
39
- const query = transformParamsToQuery(uid, params);
40
- if (params.status === "draft") {
41
- throw new Error("Cannot delete a draft document");
42
- }
43
- const entriesToDelete = await db.query(uid).findMany({
44
- ...query,
45
- where: {
46
- ...params.lookup,
47
- ...query?.where,
48
- documentId
49
- }
50
- });
51
- await mapAsync(entriesToDelete, async (entryToDelete) => {
52
- const componentsToDelete = await getComponents(uid, entryToDelete);
53
- await db.query(uid).delete({ where: { id: entryToDelete.id } });
54
- await deleteComponents(uid, componentsToDelete, { loadComponents: false });
55
- });
56
- return { versions: entriesToDelete };
57
- },
58
- // TODO: should we provide two separate methods?
59
- async deleteMany(uid, paramsOrIds) {
60
- let queryParams;
61
- if (isArray(paramsOrIds)) {
62
- queryParams = { filter: { documentID: { $in: paramsOrIds } } };
63
- } else {
64
- queryParams = paramsOrIds;
1
+ import { databaseErrorsMiddleware } from "./middlewares/errors.mjs";
2
+ import { createMiddlewareManager } from "./middlewares/middleware-manager.mjs";
3
+ import { createContentTypeRepository } from "./repository.mjs";
4
+ import { transformData } from "./transform/data.mjs";
5
+ const createDocumentService = (strapi) => {
6
+ const repositories = /* @__PURE__ */ new Map();
7
+ const middlewares = createMiddlewareManager();
8
+ middlewares.use(databaseErrorsMiddleware);
9
+ const factory = function factory2(uid) {
10
+ if (repositories.has(uid)) {
11
+ return repositories.get(uid);
65
12
  }
66
- const query = transformParamsToQuery(uid, queryParams || {});
67
- return db.query(uid).deleteMany(query);
68
- },
69
- async create(uid, params) {
70
- const { data } = params;
71
- if (!data) {
72
- throw new Error("Create requires data attribute");
73
- }
74
- const model = strapi.getModel(uid);
75
- const validData = await entityValidator.validateEntityCreation(model, data, { isDraft: true });
76
- const componentData = await createComponents(uid, validData);
77
- const entryData = createPipeline(
78
- Object.assign(omitComponentData(model, validData), componentData),
13
+ const contentType = strapi.contentType(uid);
14
+ const repository = createContentTypeRepository(uid);
15
+ const instance = middlewares.wrapObject(
16
+ repository,
17
+ { uid, contentType },
79
18
  {
80
- contentType: model
19
+ exclude: ["updateComponents", "omitComponentData"]
81
20
  }
82
21
  );
83
- const query = transformParamsToQuery(uid, pickSelectionParams(params));
84
- return db.query(uid).create({ ...query, data: entryData });
85
- },
86
- // NOTE: What happens if user doesn't provide specific publications state and locale to update?
87
- async update(uid, documentId, params) {
88
- const { data } = params || {};
89
- const model = strapi.getModel(uid);
90
- const query = transformParamsToQuery(uid, pickSelectionParams(params || {}));
91
- const entryToUpdate = await db.query(uid).findOne({ ...query, where: { ...params?.lookup, ...query?.where, documentId } });
92
- if (!entryToUpdate) {
93
- return null;
94
- }
95
- const validData = await entityValidator.validateEntityUpdate(
96
- model,
97
- data,
98
- { isDraft: true },
99
- // Always update the draft version
100
- entryToUpdate
101
- );
102
- const componentData = await updateComponents(uid, entryToUpdate, validData);
103
- const entryData = updatePipeline(
104
- Object.assign(omitComponentData(model, validData), componentData),
105
- { contentType: model }
106
- );
107
- return db.query(uid).update({ ...query, where: { id: entryToUpdate.id }, data: entryData });
108
- },
109
- async count(uid, params = void 0) {
110
- const query = transformParamsToQuery(uid, params || {});
111
- query.where = { ...params?.lookup, ...query.where };
112
- return db.query(uid).count(query);
113
- },
114
- async clone(uid, documentId, params) {
115
- const { data = {} } = params;
116
- const model = strapi.getModel(uid);
117
- const query = transformParamsToQuery(uid, pickSelectionParams(params));
118
- const entries = await db.query(uid).findMany({
119
- ...query,
120
- where: { ...params?.lookup, ...query.where, documentId }
121
- });
122
- if (!entries.length) {
123
- return null;
124
- }
125
- const newDocumentId = createDocumentId();
126
- const versions = await mapAsync(entries, async (entryToClone) => {
127
- const isDraft = contentTypes.isDraft(data);
128
- const validData = await entityValidator.validateEntityUpdate(
129
- model,
130
- // Omit id fields, the cloned entity id will be generated by the database
131
- omit(["id"], data),
132
- { isDraft },
133
- entryToClone
134
- );
135
- const componentData = await cloneComponents(uid, entryToClone, validData);
136
- const entityData = createPipeline(
137
- Object.assign(omitComponentData(model, validData), componentData),
138
- { contentType: model }
139
- );
140
- return db.query(uid).clone(entryToClone.id, {
141
- ...query,
142
- // Allows entityData to override the documentId (e.g. when publishing)
143
- data: { documentId: newDocumentId, ...entityData, locale: entryToClone.locale }
144
- });
145
- });
146
- return { id: newDocumentId, versions };
147
- },
148
- // TODO: Handle relations so they target the published version
149
- async publish(uid, documentId, params) {
150
- await this.delete(uid, documentId, {
151
- ...params,
152
- lookup: { ...params?.lookup, publishedAt: { $ne: null } }
153
- });
154
- const clonedDocuments = await this.clone(uid, documentId, {
155
- ...params || {},
156
- // @ts-expect-error - Generic type does not have publishedAt attribute by default
157
- data: { documentId, publishedAt: /* @__PURE__ */ new Date() }
158
- });
159
- return { versions: clonedDocuments?.versions || [] };
160
- },
161
- async unpublish(uid, documentId, params) {
162
- return this.delete(uid, documentId, {
163
- ...params,
164
- lookup: { ...params?.lookup, publishedAt: { $ne: null } }
165
- });
166
- },
167
- /**
168
- * Steps:
169
- * - Delete the matching draft versions (publishedAt = null)
170
- * - Clone the matching published versions into draft versions
171
- */
172
- async discardDraft(uid, documentId, params) {
173
- await this.delete(uid, documentId, {
174
- ...params,
175
- // Delete all drafts that match query
176
- lookup: { ...params?.lookup, publishedAt: null }
177
- });
178
- const clonedDocuments = await this.clone(uid, documentId, {
179
- ...params || {},
180
- // Clone only published versions
181
- lookup: { ...params?.lookup, publishedAt: { $ne: null } },
182
- // @ts-expect-error - Generic type does not have publishedAt attribute by default
183
- data: { documentId, publishedAt: null }
184
- });
185
- return { versions: clonedDocuments?.versions || [] };
186
- }
187
- });
188
- const createDocumentService$1 = (ctx) => {
189
- const implementation = createDocumentService(ctx);
190
- return implementation;
22
+ repositories.set(uid, instance);
23
+ return instance;
24
+ };
25
+ return Object.assign(factory, {
26
+ utils: {
27
+ transformData
28
+ },
29
+ use: middlewares.use.bind(middlewares)
30
+ });
191
31
  };
192
32
  export {
193
- createDocumentService$1 as default
33
+ createDocumentService
194
34
  };
195
35
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/services/document-service/index.ts"],"sourcesContent":["import type { Database } from '@strapi/database';\nimport type { Common, Documents, Schema, Shared, Strapi } from '@strapi/types';\nimport { contentTypes as contentTypesUtils, convertQueryParams, mapAsync } from '@strapi/utils';\n\nimport { isArray, omit } from 'lodash/fp';\nimport uploadFiles from '../utils/upload-files';\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';\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: Entity Validation - Uniqueness across same locale and publication status\n * TODO: File upload\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 createDocumentService = ({\n strapi,\n db,\n}: {\n strapi: Strapi;\n db: Database;\n}): Documents.Service => ({\n uploadFiles,\n\n async findMany(uid, params) {\n const { kind } = strapi.getModel(uid);\n\n const query = transformParamsToQuery(uid, params || ({} as any));\n query.where = { ...params?.lookup, ...query.where };\n\n if (kind === 'singleType') {\n return db.query(uid).findOne(query);\n }\n\n return db.query(uid).findMany(query);\n },\n\n async findFirst(uid, params) {\n const query = transformParamsToQuery(uid, params || ({} as any));\n\n return db.query(uid).findOne({ ...query, where: { ...params?.lookup, ...query.where } });\n },\n\n async findOne(uid, documentId, params) {\n const query = transformParamsToQuery(uid, params || ({} as any));\n return db\n .query(uid)\n .findOne({ ...query, where: { ...params?.lookup, ...query.where, documentId } });\n },\n\n async delete(uid, documentId, params = {} as any) {\n const query = transformParamsToQuery(uid, params as any);\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({\n ...query,\n where: {\n ...params.lookup,\n ...query?.where,\n documentId,\n },\n });\n\n // Delete all matched entries and its components\n await mapAsync(entriesToDelete, async (entryToDelete: any) => {\n const componentsToDelete = await getComponents(uid, entryToDelete);\n await db.query(uid).delete({ where: { id: entryToDelete.id } });\n await deleteComponents(uid, componentsToDelete as any, { loadComponents: false });\n });\n\n // TODO: Change return value to actual count\n return { versions: entriesToDelete };\n },\n\n // TODO: should we provide two separate methods?\n async deleteMany(uid, paramsOrIds) {\n let queryParams;\n if (isArray(paramsOrIds)) {\n queryParams = { filter: { documentID: { $in: paramsOrIds } } };\n } else {\n queryParams = paramsOrIds;\n }\n\n const query = transformParamsToQuery(uid, queryParams || ({} as any));\n\n return db.query(uid).deleteMany(query);\n },\n\n async create(uid, params) {\n // TODO: Entity validator.\n // TODO: File upload - Probably in the lifecycles?\n const { data } = params;\n\n if (!data) {\n throw new Error('Create requires data attribute');\n }\n\n const model = strapi.getModel(uid) as Shared.ContentTypes[Common.UID.ContentType];\n\n const validData = await entityValidator.validateEntityCreation(model, data, { isDraft: true });\n\n const componentData = await createComponents(uid, validData);\n const entryData = createPipeline(\n Object.assign(omitComponentData(model, validData), componentData),\n {\n contentType: model,\n }\n );\n\n // select / populate\n const query = transformParamsToQuery(uid, pickSelectionParams(params));\n\n return db.query(uid).create({ ...query, data: entryData });\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: Entity validator.\n // TODO: File upload\n const { data } = params || {};\n const model = strapi.getModel(uid) as Shared.ContentTypes[Common.UID.ContentType];\n\n const query = transformParamsToQuery(uid, pickSelectionParams(params || {}));\n\n // Find all locales of the document\n const entryToUpdate = await db\n .query(uid)\n .findOne({ ...query, where: { ...params?.lookup, ...query?.where, documentId } });\n\n // Document does not exist\n if (!entryToUpdate) {\n return null;\n }\n\n const validData = await entityValidator.validateEntityUpdate(\n model,\n data,\n { isDraft: true }, // Always update the draft version\n entryToUpdate\n );\n\n const componentData = await updateComponents(uid, entryToUpdate, validData);\n const entryData = updatePipeline(\n Object.assign(omitComponentData(model, validData), componentData),\n { contentType: model }\n );\n\n return db.query(uid).update({ ...query, where: { id: entryToUpdate.id }, data: entryData });\n },\n\n async count(uid, params = undefined) {\n const query = transformParamsToQuery(uid, params || ({} as any));\n query.where = { ...params?.lookup, ...query.where };\n\n return db.query(uid).count(query);\n },\n\n async clone(uid, documentId, params) {\n // TODO: File upload\n // TODO: Entity validator.\n const { data = {} as any } = params!;\n\n const model = strapi.getModel(uid);\n const query = transformParamsToQuery(uid, pickSelectionParams(params));\n\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 },\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.query(uid).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 });\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 // Clone every draft version to be published\n const clonedDocuments = (await this.clone(uid, documentId, {\n ...(params || {}),\n // @ts-expect-error - Generic type does not have publishedAt attribute by default\n data: { documentId, publishedAt: new Date() },\n })) as any;\n\n // TODO: Return actual count\n return { versions: clonedDocuments?.versions || [] };\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 }) 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 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 // Clone published versions into draft versions\n const clonedDocuments = (await this.clone(uid, documentId, {\n ...(params || {}),\n // Clone only published versions\n lookup: { ...params?.lookup, publishedAt: { $ne: null } },\n // @ts-expect-error - Generic type does not have publishedAt attribute by default\n data: { documentId, publishedAt: null },\n })) as any;\n\n return { versions: clonedDocuments?.versions || [] };\n },\n});\n\nexport default (ctx: { strapi: Strapi; db: Database }): Documents.Service => {\n const implementation = createDocumentService(ctx);\n\n // TODO: Wrap with database error handling\n return implementation;\n};\n"],"names":["uploadFiles","contentTypesUtils"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/services/document-service/index.ts"],"sourcesContent":["import type { Core, Modules, UID } from '@strapi/types';\n\nimport { createMiddlewareManager, databaseErrorsMiddleware } from './middlewares';\nimport { createContentTypeRepository } from './repository';\nimport { transformData } from './transform/data';\n\n/**\n * Repository to :\n * - Access documents via actions (findMany, findOne, create, update, delete, ...)\n * - Execute middlewares on document actions\n * - Apply default parameters to document actions\n *\n * @param strapi\n * @returns DocumentService\n *\n * @example Access documents\n * const article = strapi.documents('api::article.article').create(params)\n * const allArticles = strapi.documents('api::article.article').findMany(params)\n *\n */\nexport const createDocumentService = (strapi: Core.Strapi): Modules.Documents.Service => {\n // Cache the repositories (one per content type)\n const repositories = new Map<string, Modules.Documents.ServiceInstance>();\n\n // Manager to handle document service middlewares\n const middlewares = createMiddlewareManager();\n middlewares.use(databaseErrorsMiddleware);\n\n const factory = function factory(uid: UID.ContentType) {\n if (repositories.has(uid)) {\n return repositories.get(uid)!;\n }\n\n const contentType = strapi.contentType(uid);\n const repository = createContentTypeRepository(uid);\n\n const instance = middlewares.wrapObject(\n repository,\n { uid, contentType },\n {\n exclude: ['updateComponents', 'omitComponentData'],\n }\n );\n\n repositories.set(uid, instance);\n\n return instance;\n } as Modules.Documents.Service;\n\n return Object.assign(factory, {\n utils: {\n transformData,\n },\n use: middlewares.use.bind(middlewares),\n });\n};\n"],"names":["factory"],"mappings":";;;;AAoBa,MAAA,wBAAwB,CAAC,WAAmD;AAEjF,QAAA,mCAAmB;AAGzB,QAAM,cAAc;AACpB,cAAY,IAAI,wBAAwB;AAElC,QAAA,UAAU,SAASA,SAAQ,KAAsB;AACjD,QAAA,aAAa,IAAI,GAAG,GAAG;AAClB,aAAA,aAAa,IAAI,GAAG;AAAA,IAC7B;AAEM,UAAA,cAAc,OAAO,YAAY,GAAG;AACpC,UAAA,aAAa,4BAA4B,GAAG;AAElD,UAAM,WAAW,YAAY;AAAA,MAC3B;AAAA,MACA,EAAE,KAAK,YAAY;AAAA,MACnB;AAAA,QACE,SAAS,CAAC,oBAAoB,mBAAmB;AAAA,MACnD;AAAA,IAAA;AAGW,iBAAA,IAAI,KAAK,QAAQ;AAEvB,WAAA;AAAA,EAAA;AAGF,SAAA,OAAO,OAAO,SAAS;AAAA,IAC5B,OAAO;AAAA,MACL;AAAA,IACF;AAAA,IACA,KAAK,YAAY,IAAI,KAAK,WAAW;AAAA,EAAA,CACtC;AACH;"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="lodash" />
2
+ import type { Struct, Modules } from '@strapi/types';
3
+ declare const defaultLocaleCurry: import("lodash").CurriedFunction2<Struct.SingleTypeSchema | Struct.CollectionTypeSchema, Modules.Documents.Params.All, Promise<Modules.Documents.Params.All>>;
4
+ declare const localeToLookupCurry: import("lodash").CurriedFunction2<Struct.SingleTypeSchema | Struct.CollectionTypeSchema, Modules.Documents.Params.All, Modules.Documents.Params.All>;
5
+ declare const multiLocaleToLookupCurry: import("lodash").CurriedFunction2<Struct.SingleTypeSchema | Struct.CollectionTypeSchema, Modules.Documents.Params.All, Modules.Documents.Params.All>;
6
+ declare const localeToDataCurry: import("lodash").CurriedFunction2<Struct.SingleTypeSchema | Struct.CollectionTypeSchema, Modules.Documents.Params.All, Modules.Documents.Params.All>;
7
+ export { defaultLocaleCurry as defaultLocale, localeToLookupCurry as localeToLookup, localeToDataCurry as localeToData, multiLocaleToLookupCurry as multiLocaleToLookup, };
8
+ //# sourceMappingURL=internationalization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internationalization.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/internationalization.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AA8FrD,QAAA,MAAM,kBAAkB,+JAAuB,CAAC;AAChD,QAAA,MAAM,mBAAmB,sJAAwB,CAAC;AAClD,QAAA,MAAM,wBAAwB,sJAA6B,CAAC;AAC5D,QAAA,MAAM,iBAAiB,sJAAsB,CAAC;AAE9C,OAAO,EACL,kBAAkB,IAAI,aAAa,EACnC,mBAAmB,IAAI,cAAc,EACrC,iBAAiB,IAAI,YAAY,EACjC,wBAAwB,IAAI,mBAAmB,GAChD,CAAC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const strapiUtils = require("@strapi/utils");
4
+ const fp = require("lodash/fp");
5
+ const getDefaultLocale = async () => {
6
+ return strapi.plugin("i18n").service("locales").getDefaultLocale();
7
+ };
8
+ const defaultLocale = async (contentType, params) => {
9
+ if (!strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
10
+ return params;
11
+ }
12
+ if (!params.locale) {
13
+ return fp.assoc("locale", await getDefaultLocale(), params);
14
+ }
15
+ return params;
16
+ };
17
+ const localeToLookup = (contentType, params) => {
18
+ if (!params.locale || !strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
19
+ return params;
20
+ }
21
+ if (typeof params.locale !== "string") {
22
+ throw new strapiUtils.errors.ValidationError(
23
+ `Invalid locale param ${String(params.locale)} provided. Document locales must be strings.`
24
+ );
25
+ }
26
+ return fp.assoc(["lookup", "locale"], params.locale, params);
27
+ };
28
+ const multiLocaleToLookup = (contentType, params) => {
29
+ if (!strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
30
+ return params;
31
+ }
32
+ if (params.locale) {
33
+ if (params.locale === "*") {
34
+ return params;
35
+ }
36
+ return fp.assoc(["lookup", "locale"], params.locale, params);
37
+ }
38
+ return params;
39
+ };
40
+ const localeToData = (contentType, params) => {
41
+ if (!strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
42
+ return params;
43
+ }
44
+ if (params.locale) {
45
+ const isValidLocale = typeof params.locale === "string" && params.locale !== "*";
46
+ if (isValidLocale) {
47
+ return fp.assoc(["data", "locale"], params.locale, params);
48
+ }
49
+ throw new strapiUtils.errors.ValidationError(
50
+ `Invalid locale param ${params.locale} provided. Document locales must be strings.`
51
+ );
52
+ }
53
+ return params;
54
+ };
55
+ const defaultLocaleCurry = fp.curry(defaultLocale);
56
+ const localeToLookupCurry = fp.curry(localeToLookup);
57
+ const multiLocaleToLookupCurry = fp.curry(multiLocaleToLookup);
58
+ const localeToDataCurry = fp.curry(localeToData);
59
+ exports.defaultLocale = defaultLocaleCurry;
60
+ exports.localeToData = localeToDataCurry;
61
+ exports.localeToLookup = localeToLookupCurry;
62
+ exports.multiLocaleToLookup = multiLocaleToLookupCurry;
63
+ //# sourceMappingURL=internationalization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internationalization.js","sources":["../../../src/services/document-service/internationalization.ts"],"sourcesContent":["import type { Struct, Modules } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport { curry, assoc } from 'lodash/fp';\n\ntype Transform = (\n contentType: Struct.SingleTypeSchema | Struct.CollectionTypeSchema,\n params: Modules.Documents.Params.All\n) => Modules.Documents.Params.All;\n\ntype AsyncTransform = (\n contentType: Struct.SingleTypeSchema | Struct.CollectionTypeSchema,\n params: Modules.Documents.Params.All\n) => Promise<Modules.Documents.Params.All>;\n\nconst getDefaultLocale = async (): Promise<string> => {\n return strapi.plugin('i18n').service('locales').getDefaultLocale();\n};\n\nconst defaultLocale: AsyncTransform = async (contentType, params) => {\n if (!strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {\n return params;\n }\n\n if (!params.locale) {\n return assoc('locale', await getDefaultLocale(), params);\n }\n\n return params;\n};\n\n/**\n * Add locale lookup query to the params\n */\nconst localeToLookup: Transform = (contentType, params) => {\n if (\n !params.locale ||\n !strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)\n ) {\n return params;\n }\n\n if (typeof params.locale !== 'string') {\n // localeToLookup accepts locales of '*'. This is because the document\n // service functions that use this transform work with the '*' locale\n // to return all locales.\n throw new errors.ValidationError(\n `Invalid locale param ${String(params.locale)} provided. Document locales must be strings.`\n );\n }\n\n return assoc(['lookup', 'locale'], params.locale, params);\n};\n\n/**\n * Add locale lookup query to the params\n */\nconst multiLocaleToLookup: Transform = (contentType, params) => {\n if (!strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {\n return params;\n }\n\n if (params.locale) {\n if (params.locale === '*') {\n return params;\n }\n\n return assoc(['lookup', 'locale'], params.locale, params);\n }\n\n return params;\n};\n\n/**\n * Translate locale status parameter into the data that will be saved\n */\nconst localeToData: Transform = (contentType, params) => {\n if (!strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {\n return params;\n }\n\n if (params.locale) {\n const isValidLocale = typeof params.locale === 'string' && params.locale !== '*';\n if (isValidLocale) {\n return assoc(['data', 'locale'], params.locale, params);\n }\n\n throw new errors.ValidationError(\n `Invalid locale param ${params.locale} provided. Document locales must be strings.`\n );\n }\n\n return params;\n};\n\nconst defaultLocaleCurry = curry(defaultLocale);\nconst localeToLookupCurry = curry(localeToLookup);\nconst multiLocaleToLookupCurry = curry(multiLocaleToLookup);\nconst localeToDataCurry = curry(localeToData);\n\nexport {\n defaultLocaleCurry as defaultLocale,\n localeToLookupCurry as localeToLookup,\n localeToDataCurry as localeToData,\n multiLocaleToLookupCurry as multiLocaleToLookup,\n};\n"],"names":["assoc","errors","curry"],"mappings":";;;;AAcA,MAAM,mBAAmB,YAA6B;AACpD,SAAO,OAAO,OAAO,MAAM,EAAE,QAAQ,SAAS,EAAE;AAClD;AAEA,MAAM,gBAAgC,OAAO,aAAa,WAAW;AAC/D,MAAA,CAAC,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,WAAW,GAAG;AAChF,WAAA;AAAA,EACT;AAEI,MAAA,CAAC,OAAO,QAAQ;AAClB,WAAOA,GAAM,MAAA,UAAU,MAAM,oBAAoB,MAAM;AAAA,EACzD;AAEO,SAAA;AACT;AAKA,MAAM,iBAA4B,CAAC,aAAa,WAAW;AACzD,MACE,CAAC,OAAO,UACR,CAAC,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,WAAW,GAClF;AACO,WAAA;AAAA,EACT;AAEI,MAAA,OAAO,OAAO,WAAW,UAAU;AAIrC,UAAM,IAAIC,YAAO,OAAA;AAAA,MACf,wBAAwB,OAAO,OAAO,MAAM,CAAC;AAAA,IAAA;AAAA,EAEjD;AAEA,SAAOD,GAAAA,MAAM,CAAC,UAAU,QAAQ,GAAG,OAAO,QAAQ,MAAM;AAC1D;AAKA,MAAM,sBAAiC,CAAC,aAAa,WAAW;AAC1D,MAAA,CAAC,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,WAAW,GAAG;AAChF,WAAA;AAAA,EACT;AAEA,MAAI,OAAO,QAAQ;AACb,QAAA,OAAO,WAAW,KAAK;AAClB,aAAA;AAAA,IACT;AAEA,WAAOA,GAAAA,MAAM,CAAC,UAAU,QAAQ,GAAG,OAAO,QAAQ,MAAM;AAAA,EAC1D;AAEO,SAAA;AACT;AAKA,MAAM,eAA0B,CAAC,aAAa,WAAW;AACnD,MAAA,CAAC,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,WAAW,GAAG;AAChF,WAAA;AAAA,EACT;AAEA,MAAI,OAAO,QAAQ;AACjB,UAAM,gBAAgB,OAAO,OAAO,WAAW,YAAY,OAAO,WAAW;AAC7E,QAAI,eAAe;AACjB,aAAOA,GAAAA,MAAM,CAAC,QAAQ,QAAQ,GAAG,OAAO,QAAQ,MAAM;AAAA,IACxD;AAEA,UAAM,IAAIC,YAAO,OAAA;AAAA,MACf,wBAAwB,OAAO,MAAM;AAAA,IAAA;AAAA,EAEzC;AAEO,SAAA;AACT;AAEM,MAAA,qBAAqBC,SAAM,aAAa;AACxC,MAAA,sBAAsBA,SAAM,cAAc;AAC1C,MAAA,2BAA2BA,SAAM,mBAAmB;AACpD,MAAA,oBAAoBA,SAAM,YAAY;;;;;"}