@strapi/core 0.0.0-experimental.80cf2c74a2003f3c0602abc81888dd9f36dc68a3 → 0.0.0-experimental.80d3ba906e416cd717a3e334f2905460b7648735

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 (974) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +38 -46
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +454 -442
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +445 -453
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/compile.js +23 -14
  9. package/dist/compile.js.map +1 -1
  10. package/dist/compile.mjs +22 -14
  11. package/dist/compile.mjs.map +1 -1
  12. package/dist/configuration/config-loader.d.ts.map +1 -1
  13. package/dist/configuration/config-loader.js +110 -93
  14. package/dist/configuration/config-loader.js.map +1 -1
  15. package/dist/configuration/config-loader.mjs +109 -92
  16. package/dist/configuration/config-loader.mjs.map +1 -1
  17. package/dist/configuration/get-dirs.d.ts +10 -0
  18. package/dist/configuration/get-dirs.d.ts.map +1 -0
  19. package/dist/configuration/get-dirs.js +33 -0
  20. package/dist/configuration/get-dirs.js.map +1 -0
  21. package/dist/configuration/get-dirs.mjs +31 -0
  22. package/dist/configuration/get-dirs.mjs.map +1 -0
  23. package/dist/configuration/index.d.ts +5 -7
  24. package/dist/configuration/index.d.ts.map +1 -1
  25. package/dist/configuration/index.js +86 -72
  26. package/dist/configuration/index.js.map +1 -1
  27. package/dist/configuration/index.mjs +84 -68
  28. package/dist/configuration/index.mjs.map +1 -1
  29. package/dist/configuration/urls.d.ts.map +1 -1
  30. package/dist/configuration/urls.js +74 -61
  31. package/dist/configuration/urls.js.map +1 -1
  32. package/dist/configuration/urls.mjs +73 -62
  33. package/dist/configuration/urls.mjs.map +1 -1
  34. package/dist/constants.d.ts +3 -0
  35. package/dist/constants.d.ts.map +1 -0
  36. package/dist/constants.js +6 -0
  37. package/dist/constants.js.map +1 -0
  38. package/dist/constants.mjs +4 -0
  39. package/dist/constants.mjs.map +1 -0
  40. package/dist/container.js +27 -23
  41. package/dist/container.js.map +1 -1
  42. package/dist/container.mjs +26 -24
  43. package/dist/container.mjs.map +1 -1
  44. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  45. package/dist/core-api/controller/collection-type.js +77 -73
  46. package/dist/core-api/controller/collection-type.js.map +1 -1
  47. package/dist/core-api/controller/collection-type.mjs +76 -74
  48. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  49. package/dist/core-api/controller/index.d.ts.map +1 -1
  50. package/dist/core-api/controller/index.js +64 -48
  51. package/dist/core-api/controller/index.js.map +1 -1
  52. package/dist/core-api/controller/index.mjs +63 -49
  53. package/dist/core-api/controller/index.mjs.map +1 -1
  54. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  55. package/dist/core-api/controller/single-type.js +41 -39
  56. package/dist/core-api/controller/single-type.js.map +1 -1
  57. package/dist/core-api/controller/single-type.mjs +40 -40
  58. package/dist/core-api/controller/single-type.mjs.map +1 -1
  59. package/dist/core-api/controller/transform.d.ts +3 -2
  60. package/dist/core-api/controller/transform.d.ts.map +1 -1
  61. package/dist/core-api/controller/transform.js +83 -64
  62. package/dist/core-api/controller/transform.js.map +1 -1
  63. package/dist/core-api/controller/transform.mjs +82 -65
  64. package/dist/core-api/controller/transform.mjs.map +1 -1
  65. package/dist/core-api/routes/index.d.ts +4 -22
  66. package/dist/core-api/routes/index.d.ts.map +1 -1
  67. package/dist/core-api/routes/index.js +205 -61
  68. package/dist/core-api/routes/index.js.map +1 -1
  69. package/dist/core-api/routes/index.mjs +185 -62
  70. package/dist/core-api/routes/index.mjs.map +1 -1
  71. package/dist/core-api/routes/validation/attributes.d.ts +244 -0
  72. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -0
  73. package/dist/core-api/routes/validation/attributes.js +560 -0
  74. package/dist/core-api/routes/validation/attributes.js.map +1 -0
  75. package/dist/core-api/routes/validation/attributes.mjs +521 -0
  76. package/dist/core-api/routes/validation/attributes.mjs.map +1 -0
  77. package/dist/core-api/routes/validation/common.d.ts +105 -0
  78. package/dist/core-api/routes/validation/common.d.ts.map +1 -0
  79. package/dist/core-api/routes/validation/common.js +116 -0
  80. package/dist/core-api/routes/validation/common.js.map +1 -0
  81. package/dist/core-api/routes/validation/common.mjs +95 -0
  82. package/dist/core-api/routes/validation/common.mjs.map +1 -0
  83. package/dist/core-api/routes/validation/component.d.ts +34 -0
  84. package/dist/core-api/routes/validation/component.d.ts.map +1 -0
  85. package/dist/core-api/routes/validation/component.js +45 -0
  86. package/dist/core-api/routes/validation/component.js.map +1 -0
  87. package/dist/core-api/routes/validation/component.mjs +43 -0
  88. package/dist/core-api/routes/validation/component.mjs.map +1 -0
  89. package/dist/core-api/routes/validation/constants.d.ts +8 -0
  90. package/dist/core-api/routes/validation/constants.d.ts.map +1 -0
  91. package/dist/core-api/routes/validation/constants.js +18 -0
  92. package/dist/core-api/routes/validation/constants.js.map +1 -0
  93. package/dist/core-api/routes/validation/constants.mjs +16 -0
  94. package/dist/core-api/routes/validation/constants.mjs.map +1 -0
  95. package/dist/core-api/routes/validation/content-type.d.ts +128 -0
  96. package/dist/core-api/routes/validation/content-type.d.ts.map +1 -0
  97. package/dist/core-api/routes/validation/content-type.js +201 -0
  98. package/dist/core-api/routes/validation/content-type.js.map +1 -0
  99. package/dist/core-api/routes/validation/content-type.mjs +180 -0
  100. package/dist/core-api/routes/validation/content-type.mjs.map +1 -0
  101. package/dist/core-api/routes/validation/index.d.ts +5 -0
  102. package/dist/core-api/routes/validation/index.d.ts.map +1 -0
  103. package/dist/core-api/routes/validation/mappers.d.ts +105 -0
  104. package/dist/core-api/routes/validation/mappers.d.ts.map +1 -0
  105. package/dist/core-api/routes/validation/mappers.js +273 -0
  106. package/dist/core-api/routes/validation/mappers.js.map +1 -0
  107. package/dist/core-api/routes/validation/mappers.mjs +249 -0
  108. package/dist/core-api/routes/validation/mappers.mjs.map +1 -0
  109. package/dist/core-api/routes/validation/utils.d.ts +47 -0
  110. package/dist/core-api/routes/validation/utils.d.ts.map +1 -0
  111. package/dist/core-api/routes/validation/utils.js +128 -0
  112. package/dist/core-api/routes/validation/utils.js.map +1 -0
  113. package/dist/core-api/routes/validation/utils.mjs +106 -0
  114. package/dist/core-api/routes/validation/utils.mjs.map +1 -0
  115. package/dist/core-api/service/collection-type.d.ts +3 -9
  116. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  117. package/dist/core-api/service/collection-type.js +73 -49
  118. package/dist/core-api/service/collection-type.js.map +1 -1
  119. package/dist/core-api/service/collection-type.mjs +72 -51
  120. package/dist/core-api/service/collection-type.mjs.map +1 -1
  121. package/dist/core-api/service/core-service.js +9 -8
  122. package/dist/core-api/service/core-service.js.map +1 -1
  123. package/dist/core-api/service/core-service.mjs +8 -9
  124. package/dist/core-api/service/core-service.mjs.map +1 -1
  125. package/dist/core-api/service/index.js +13 -13
  126. package/dist/core-api/service/index.js.map +1 -1
  127. package/dist/core-api/service/index.mjs +12 -14
  128. package/dist/core-api/service/index.mjs.map +1 -1
  129. package/dist/core-api/service/pagination.d.ts +4 -11
  130. package/dist/core-api/service/pagination.d.ts.map +1 -1
  131. package/dist/core-api/service/pagination.js +68 -68
  132. package/dist/core-api/service/pagination.js.map +1 -1
  133. package/dist/core-api/service/pagination.mjs +66 -71
  134. package/dist/core-api/service/pagination.mjs.map +1 -1
  135. package/dist/core-api/service/single-type.d.ts.map +1 -1
  136. package/dist/core-api/service/single-type.js +43 -32
  137. package/dist/core-api/service/single-type.js.map +1 -1
  138. package/dist/core-api/service/single-type.mjs +42 -34
  139. package/dist/core-api/service/single-type.mjs.map +1 -1
  140. package/dist/domain/content-type/index.d.ts.map +1 -1
  141. package/dist/domain/content-type/index.js +110 -99
  142. package/dist/domain/content-type/index.js.map +1 -1
  143. package/dist/domain/content-type/index.mjs +109 -99
  144. package/dist/domain/content-type/index.mjs.map +1 -1
  145. package/dist/domain/content-type/validator.js +84 -69
  146. package/dist/domain/content-type/validator.js.map +1 -1
  147. package/dist/domain/content-type/validator.mjs +83 -68
  148. package/dist/domain/content-type/validator.mjs.map +1 -1
  149. package/dist/domain/module/index.d.ts.map +1 -1
  150. package/dist/domain/module/index.js +112 -100
  151. package/dist/domain/module/index.js.map +1 -1
  152. package/dist/domain/module/index.mjs +111 -99
  153. package/dist/domain/module/index.mjs.map +1 -1
  154. package/dist/domain/module/validation.js +25 -20
  155. package/dist/domain/module/validation.js.map +1 -1
  156. package/dist/domain/module/validation.mjs +24 -21
  157. package/dist/domain/module/validation.mjs.map +1 -1
  158. package/dist/ee/index.d.ts +9 -0
  159. package/dist/ee/index.d.ts.map +1 -1
  160. package/dist/ee/index.js +197 -132
  161. package/dist/ee/index.js.map +1 -1
  162. package/dist/ee/index.mjs +196 -134
  163. package/dist/ee/index.mjs.map +1 -1
  164. package/dist/ee/license.d.ts +3 -1
  165. package/dist/ee/license.d.ts.map +1 -1
  166. package/dist/ee/license.js +104 -74
  167. package/dist/ee/license.js.map +1 -1
  168. package/dist/ee/license.mjs +102 -75
  169. package/dist/ee/license.mjs.map +1 -1
  170. package/dist/factories.d.ts +5 -3
  171. package/dist/factories.d.ts.map +1 -1
  172. package/dist/factories.js +80 -67
  173. package/dist/factories.js.map +1 -1
  174. package/dist/factories.mjs +77 -70
  175. package/dist/factories.mjs.map +1 -1
  176. package/dist/index.d.ts +18 -2
  177. package/dist/index.d.ts.map +1 -1
  178. package/dist/index.js +32 -5
  179. package/dist/index.js.map +1 -1
  180. package/dist/index.mjs +29 -5
  181. package/dist/index.mjs.map +1 -1
  182. package/dist/loaders/admin.d.ts.map +1 -1
  183. package/dist/loaders/admin.js +21 -21
  184. package/dist/loaders/admin.js.map +1 -1
  185. package/dist/loaders/admin.mjs +20 -21
  186. package/dist/loaders/admin.mjs.map +1 -1
  187. package/dist/loaders/apis.d.ts.map +1 -1
  188. package/dist/loaders/apis.js +143 -120
  189. package/dist/loaders/apis.js.map +1 -1
  190. package/dist/loaders/apis.mjs +142 -119
  191. package/dist/loaders/apis.mjs.map +1 -1
  192. package/dist/loaders/components.js +33 -34
  193. package/dist/loaders/components.js.map +1 -1
  194. package/dist/loaders/components.mjs +32 -34
  195. package/dist/loaders/components.mjs.map +1 -1
  196. package/dist/loaders/index.d.ts.map +1 -1
  197. package/dist/loaders/index.js +22 -22
  198. package/dist/loaders/index.js.map +1 -1
  199. package/dist/loaders/index.mjs +21 -23
  200. package/dist/loaders/index.mjs.map +1 -1
  201. package/dist/loaders/middlewares.js +29 -25
  202. package/dist/loaders/middlewares.js.map +1 -1
  203. package/dist/loaders/middlewares.mjs +28 -25
  204. package/dist/loaders/middlewares.mjs.map +1 -1
  205. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  206. package/dist/loaders/plugins/get-enabled-plugins.js +125 -101
  207. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  208. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -100
  209. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  210. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  211. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  212. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  213. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  214. package/dist/loaders/plugins/index.d.ts.map +1 -1
  215. package/dist/loaders/plugins/index.js +141 -104
  216. package/dist/loaders/plugins/index.js.map +1 -1
  217. package/dist/loaders/plugins/index.mjs +121 -104
  218. package/dist/loaders/plugins/index.mjs.map +1 -1
  219. package/dist/loaders/policies.js +24 -20
  220. package/dist/loaders/policies.js.map +1 -1
  221. package/dist/loaders/policies.mjs +23 -20
  222. package/dist/loaders/policies.mjs.map +1 -1
  223. package/dist/loaders/sanitizers.js +10 -4
  224. package/dist/loaders/sanitizers.js.map +1 -1
  225. package/dist/loaders/sanitizers.mjs +9 -6
  226. package/dist/loaders/sanitizers.mjs.map +1 -1
  227. package/dist/loaders/src-index.js +35 -27
  228. package/dist/loaders/src-index.js.map +1 -1
  229. package/dist/loaders/src-index.mjs +34 -29
  230. package/dist/loaders/src-index.mjs.map +1 -1
  231. package/dist/loaders/validators.js +9 -4
  232. package/dist/loaders/validators.js.map +1 -1
  233. package/dist/loaders/validators.mjs +8 -6
  234. package/dist/loaders/validators.mjs.map +1 -1
  235. package/dist/middlewares/body.d.ts +2 -2
  236. package/dist/middlewares/body.d.ts.map +1 -1
  237. package/dist/middlewares/body.js +58 -54
  238. package/dist/middlewares/body.js.map +1 -1
  239. package/dist/middlewares/body.mjs +57 -51
  240. package/dist/middlewares/body.mjs.map +1 -1
  241. package/dist/middlewares/compression.js +6 -6
  242. package/dist/middlewares/compression.js.map +1 -1
  243. package/dist/middlewares/compression.mjs +5 -5
  244. package/dist/middlewares/compression.mjs.map +1 -1
  245. package/dist/middlewares/cors.d.ts +9 -1
  246. package/dist/middlewares/cors.d.ts.map +1 -1
  247. package/dist/middlewares/cors.js +81 -46
  248. package/dist/middlewares/cors.js.map +1 -1
  249. package/dist/middlewares/cors.mjs +78 -44
  250. package/dist/middlewares/cors.mjs.map +1 -1
  251. package/dist/middlewares/errors.js +32 -30
  252. package/dist/middlewares/errors.js.map +1 -1
  253. package/dist/middlewares/errors.mjs +31 -31
  254. package/dist/middlewares/errors.mjs.map +1 -1
  255. package/dist/middlewares/favicon.js +27 -17
  256. package/dist/middlewares/favicon.js.map +1 -1
  257. package/dist/middlewares/favicon.mjs +26 -16
  258. package/dist/middlewares/favicon.mjs.map +1 -1
  259. package/dist/middlewares/index.js +32 -30
  260. package/dist/middlewares/index.js.map +1 -1
  261. package/dist/middlewares/index.mjs +31 -31
  262. package/dist/middlewares/index.mjs.map +1 -1
  263. package/dist/middlewares/ip.js +6 -6
  264. package/dist/middlewares/ip.js.map +1 -1
  265. package/dist/middlewares/ip.mjs +5 -5
  266. package/dist/middlewares/ip.mjs.map +1 -1
  267. package/dist/middlewares/logger.js +10 -9
  268. package/dist/middlewares/logger.js.map +1 -1
  269. package/dist/middlewares/logger.mjs +9 -10
  270. package/dist/middlewares/logger.mjs.map +1 -1
  271. package/dist/middlewares/powered-by.js +13 -9
  272. package/dist/middlewares/powered-by.js.map +1 -1
  273. package/dist/middlewares/powered-by.mjs +12 -10
  274. package/dist/middlewares/powered-by.mjs.map +1 -1
  275. package/dist/middlewares/public.js +33 -29
  276. package/dist/middlewares/public.js.map +1 -1
  277. package/dist/middlewares/public.mjs +32 -28
  278. package/dist/middlewares/public.mjs.map +1 -1
  279. package/dist/middlewares/query.d.ts.map +1 -1
  280. package/dist/middlewares/query.js +35 -32
  281. package/dist/middlewares/query.js.map +1 -1
  282. package/dist/middlewares/query.mjs +34 -31
  283. package/dist/middlewares/query.mjs.map +1 -1
  284. package/dist/middlewares/response-time.js +10 -9
  285. package/dist/middlewares/response-time.js.map +1 -1
  286. package/dist/middlewares/response-time.mjs +9 -10
  287. package/dist/middlewares/response-time.mjs.map +1 -1
  288. package/dist/middlewares/responses.js +14 -12
  289. package/dist/middlewares/responses.js.map +1 -1
  290. package/dist/middlewares/responses.mjs +13 -13
  291. package/dist/middlewares/responses.mjs.map +1 -1
  292. package/dist/middlewares/security.d.ts.map +1 -1
  293. package/dist/middlewares/security.js +97 -65
  294. package/dist/middlewares/security.js.map +1 -1
  295. package/dist/middlewares/security.mjs +95 -63
  296. package/dist/middlewares/security.mjs.map +1 -1
  297. package/dist/middlewares/session.js +26 -25
  298. package/dist/middlewares/session.js.map +1 -1
  299. package/dist/middlewares/session.mjs +25 -24
  300. package/dist/middlewares/session.mjs.map +1 -1
  301. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +47 -0
  302. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  303. package/dist/migrations/database/5.0.0-discard-drafts.js +1611 -0
  304. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  305. package/dist/migrations/database/5.0.0-discard-drafts.mjs +1608 -0
  306. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  307. package/dist/migrations/draft-publish.d.ts +2 -2
  308. package/dist/migrations/draft-publish.d.ts.map +1 -1
  309. package/dist/migrations/draft-publish.js +59 -49
  310. package/dist/migrations/draft-publish.js.map +1 -1
  311. package/dist/migrations/draft-publish.mjs +58 -51
  312. package/dist/migrations/draft-publish.mjs.map +1 -1
  313. package/dist/migrations/first-published-at.d.ts +4 -0
  314. package/dist/migrations/first-published-at.d.ts.map +1 -0
  315. package/dist/migrations/first-published-at.js +51 -0
  316. package/dist/migrations/first-published-at.js.map +1 -0
  317. package/dist/migrations/first-published-at.mjs +49 -0
  318. package/dist/migrations/first-published-at.mjs.map +1 -0
  319. package/dist/migrations/i18n.d.ts +5 -0
  320. package/dist/migrations/i18n.d.ts.map +1 -0
  321. package/dist/migrations/i18n.js +71 -0
  322. package/dist/migrations/i18n.js.map +1 -0
  323. package/dist/migrations/i18n.mjs +68 -0
  324. package/dist/migrations/i18n.mjs.map +1 -0
  325. package/dist/migrations/index.d.ts +5 -0
  326. package/dist/migrations/index.d.ts.map +1 -0
  327. package/dist/migrations/index.js +34 -0
  328. package/dist/migrations/index.js.map +1 -0
  329. package/dist/migrations/index.mjs +31 -0
  330. package/dist/migrations/index.mjs.map +1 -0
  331. package/dist/package.json.js +187 -0
  332. package/dist/package.json.js.map +1 -0
  333. package/dist/package.json.mjs +164 -0
  334. package/dist/package.json.mjs.map +1 -0
  335. package/dist/providers/admin.d.ts +3 -0
  336. package/dist/providers/admin.d.ts.map +1 -0
  337. package/dist/providers/admin.js +30 -0
  338. package/dist/providers/admin.js.map +1 -0
  339. package/dist/providers/admin.mjs +28 -0
  340. package/dist/providers/admin.mjs.map +1 -0
  341. package/dist/providers/coreStore.d.ts +3 -0
  342. package/dist/providers/coreStore.d.ts.map +1 -0
  343. package/dist/providers/coreStore.js +16 -0
  344. package/dist/providers/coreStore.js.map +1 -0
  345. package/dist/providers/coreStore.mjs +14 -0
  346. package/dist/providers/coreStore.mjs.map +1 -0
  347. package/dist/providers/cron.d.ts +3 -0
  348. package/dist/providers/cron.d.ts.map +1 -0
  349. package/dist/providers/cron.js +23 -0
  350. package/dist/providers/cron.js.map +1 -0
  351. package/dist/providers/cron.mjs +21 -0
  352. package/dist/providers/cron.mjs.map +1 -0
  353. package/dist/providers/index.d.ts +3 -0
  354. package/dist/providers/index.d.ts.map +1 -0
  355. package/dist/providers/index.js +22 -0
  356. package/dist/providers/index.js.map +1 -0
  357. package/dist/providers/index.mjs +20 -0
  358. package/dist/providers/index.mjs.map +1 -0
  359. package/dist/providers/provider.d.ts +9 -0
  360. package/dist/providers/provider.d.ts.map +1 -0
  361. package/dist/providers/provider.js +6 -0
  362. package/dist/providers/provider.js.map +1 -0
  363. package/dist/providers/provider.mjs +4 -0
  364. package/dist/providers/provider.mjs.map +1 -0
  365. package/dist/providers/registries.d.ts +3 -0
  366. package/dist/providers/registries.d.ts.map +1 -0
  367. package/dist/providers/registries.js +40 -0
  368. package/dist/providers/registries.js.map +1 -0
  369. package/dist/providers/registries.mjs +38 -0
  370. package/dist/providers/registries.mjs.map +1 -0
  371. package/dist/providers/session-manager.d.ts +3 -0
  372. package/dist/providers/session-manager.d.ts.map +1 -0
  373. package/dist/providers/session-manager.js +23 -0
  374. package/dist/providers/session-manager.js.map +1 -0
  375. package/dist/providers/session-manager.mjs +21 -0
  376. package/dist/providers/session-manager.mjs.map +1 -0
  377. package/dist/providers/telemetry.d.ts +3 -0
  378. package/dist/providers/telemetry.d.ts.map +1 -0
  379. package/dist/providers/telemetry.js +22 -0
  380. package/dist/providers/telemetry.js.map +1 -0
  381. package/dist/providers/telemetry.mjs +20 -0
  382. package/dist/providers/telemetry.mjs.map +1 -0
  383. package/dist/providers/webhooks.d.ts +3 -0
  384. package/dist/providers/webhooks.d.ts.map +1 -0
  385. package/dist/providers/webhooks.js +32 -0
  386. package/dist/providers/webhooks.js.map +1 -0
  387. package/dist/providers/webhooks.mjs +30 -0
  388. package/dist/providers/webhooks.mjs.map +1 -0
  389. package/dist/registries/apis.js +23 -20
  390. package/dist/registries/apis.js.map +1 -1
  391. package/dist/registries/apis.mjs +22 -22
  392. package/dist/registries/apis.mjs.map +1 -1
  393. package/dist/registries/components.js +35 -37
  394. package/dist/registries/components.js.map +1 -1
  395. package/dist/registries/components.mjs +34 -39
  396. package/dist/registries/components.mjs.map +1 -1
  397. package/dist/registries/content-types.js +54 -59
  398. package/dist/registries/content-types.js.map +1 -1
  399. package/dist/registries/content-types.mjs +53 -61
  400. package/dist/registries/content-types.mjs.map +1 -1
  401. package/dist/registries/controllers.js +70 -71
  402. package/dist/registries/controllers.js.map +1 -1
  403. package/dist/registries/controllers.mjs +69 -73
  404. package/dist/registries/controllers.mjs.map +1 -1
  405. package/dist/registries/custom-fields.js +75 -65
  406. package/dist/registries/custom-fields.js.map +1 -1
  407. package/dist/registries/custom-fields.mjs +74 -67
  408. package/dist/registries/custom-fields.mjs.map +1 -1
  409. package/dist/registries/hooks.js +46 -49
  410. package/dist/registries/hooks.js.map +1 -1
  411. package/dist/registries/hooks.mjs +45 -51
  412. package/dist/registries/hooks.mjs.map +1 -1
  413. package/dist/registries/index.d.ts +0 -1
  414. package/dist/registries/index.d.ts.map +1 -1
  415. package/dist/registries/middlewares.js +49 -51
  416. package/dist/registries/middlewares.js.map +1 -1
  417. package/dist/registries/middlewares.mjs +48 -53
  418. package/dist/registries/middlewares.mjs.map +1 -1
  419. package/dist/registries/models.js +14 -13
  420. package/dist/registries/models.js.map +1 -1
  421. package/dist/registries/models.mjs +13 -14
  422. package/dist/registries/models.mjs.map +1 -1
  423. package/dist/registries/modules.js +39 -36
  424. package/dist/registries/modules.js.map +1 -1
  425. package/dist/registries/modules.mjs +38 -38
  426. package/dist/registries/modules.mjs.map +1 -1
  427. package/dist/registries/namespace.js +21 -20
  428. package/dist/registries/namespace.js.map +1 -1
  429. package/dist/registries/namespace.mjs +20 -23
  430. package/dist/registries/namespace.mjs.map +1 -1
  431. package/dist/registries/plugins.js +23 -20
  432. package/dist/registries/plugins.js.map +1 -1
  433. package/dist/registries/plugins.mjs +22 -22
  434. package/dist/registries/plugins.mjs.map +1 -1
  435. package/dist/registries/policies.d.ts +21 -9
  436. package/dist/registries/policies.d.ts.map +1 -1
  437. package/dist/registries/policies.js +107 -54
  438. package/dist/registries/policies.js.map +1 -1
  439. package/dist/registries/policies.mjs +106 -56
  440. package/dist/registries/policies.mjs.map +1 -1
  441. package/dist/registries/sanitizers.js +23 -22
  442. package/dist/registries/sanitizers.js.map +1 -1
  443. package/dist/registries/sanitizers.mjs +22 -22
  444. package/dist/registries/sanitizers.mjs.map +1 -1
  445. package/dist/registries/services.js +71 -71
  446. package/dist/registries/services.js.map +1 -1
  447. package/dist/registries/services.mjs +70 -73
  448. package/dist/registries/services.mjs.map +1 -1
  449. package/dist/registries/validators.js +23 -22
  450. package/dist/registries/validators.js.map +1 -1
  451. package/dist/registries/validators.mjs +22 -22
  452. package/dist/registries/validators.mjs.map +1 -1
  453. package/dist/services/auth/index.js +74 -74
  454. package/dist/services/auth/index.js.map +1 -1
  455. package/dist/services/auth/index.mjs +73 -74
  456. package/dist/services/auth/index.mjs.map +1 -1
  457. package/dist/services/config.d.ts +3 -0
  458. package/dist/services/config.d.ts.map +1 -0
  459. package/dist/services/config.js +51 -0
  460. package/dist/services/config.js.map +1 -0
  461. package/dist/services/config.mjs +49 -0
  462. package/dist/services/config.mjs.map +1 -0
  463. package/dist/services/content-api/index.d.ts +29 -13
  464. package/dist/services/content-api/index.d.ts.map +1 -1
  465. package/dist/services/content-api/index.js +80 -53
  466. package/dist/services/content-api/index.js.map +1 -1
  467. package/dist/services/content-api/index.mjs +79 -53
  468. package/dist/services/content-api/index.mjs.map +1 -1
  469. package/dist/services/content-api/permissions/engine.js +8 -5
  470. package/dist/services/content-api/permissions/engine.js.map +1 -1
  471. package/dist/services/content-api/permissions/engine.mjs +7 -5
  472. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  473. package/dist/services/content-api/permissions/index.d.ts +10 -12
  474. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  475. package/dist/services/content-api/permissions/index.js +101 -81
  476. package/dist/services/content-api/permissions/index.js.map +1 -1
  477. package/dist/services/content-api/permissions/index.mjs +100 -81
  478. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  479. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  480. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  481. package/dist/services/content-api/permissions/providers/action.js +17 -14
  482. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  483. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  484. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  485. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  486. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  487. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  488. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  489. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  490. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  491. package/dist/services/content-source-maps.d.ts +13 -0
  492. package/dist/services/content-source-maps.d.ts.map +1 -0
  493. package/dist/services/content-source-maps.js +108 -0
  494. package/dist/services/content-source-maps.js.map +1 -0
  495. package/dist/services/content-source-maps.mjs +106 -0
  496. package/dist/services/content-source-maps.mjs.map +1 -0
  497. package/dist/services/core-store.d.ts +2 -2
  498. package/dist/services/core-store.d.ts.map +1 -1
  499. package/dist/services/core-store.js +115 -95
  500. package/dist/services/core-store.js.map +1 -1
  501. package/dist/services/core-store.mjs +114 -97
  502. package/dist/services/core-store.mjs.map +1 -1
  503. package/dist/services/cron.d.ts +3 -3
  504. package/dist/services/cron.d.ts.map +1 -1
  505. package/dist/services/cron.js +74 -60
  506. package/dist/services/cron.js.map +1 -1
  507. package/dist/services/cron.mjs +73 -62
  508. package/dist/services/cron.mjs.map +1 -1
  509. package/dist/services/custom-fields.js +9 -7
  510. package/dist/services/custom-fields.js.map +1 -1
  511. package/dist/services/custom-fields.mjs +8 -9
  512. package/dist/services/custom-fields.mjs.map +1 -1
  513. package/dist/services/document-service/attributes/index.d.ts +6 -0
  514. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  515. package/dist/services/document-service/attributes/index.js +27 -0
  516. package/dist/services/document-service/attributes/index.js.map +1 -0
  517. package/dist/services/document-service/attributes/index.mjs +25 -0
  518. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  519. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  520. package/dist/services/document-service/attributes/transforms.js +21 -0
  521. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  522. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  523. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  524. package/dist/services/document-service/common.d.ts +1 -1
  525. package/dist/services/document-service/common.d.ts.map +1 -1
  526. package/dist/services/document-service/common.js +5 -4
  527. package/dist/services/document-service/common.js.map +1 -1
  528. package/dist/services/document-service/common.mjs +4 -5
  529. package/dist/services/document-service/common.mjs.map +1 -1
  530. package/dist/services/document-service/components.d.ts +55 -1
  531. package/dist/services/document-service/components.d.ts.map +1 -1
  532. package/dist/services/document-service/components.js +395 -0
  533. package/dist/services/document-service/components.js.map +1 -0
  534. package/dist/services/document-service/components.mjs +384 -0
  535. package/dist/services/document-service/components.mjs.map +1 -0
  536. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  537. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  538. package/dist/services/document-service/draft-and-publish.js +94 -54
  539. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  540. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  541. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  542. package/dist/services/document-service/entries.d.ts +10 -0
  543. package/dist/services/document-service/entries.d.ts.map +1 -0
  544. package/dist/services/document-service/entries.js +155 -0
  545. package/dist/services/document-service/entries.js.map +1 -0
  546. package/dist/services/document-service/entries.mjs +153 -0
  547. package/dist/services/document-service/entries.mjs.map +1 -0
  548. package/dist/services/document-service/events.d.ts +25 -0
  549. package/dist/services/document-service/events.d.ts.map +1 -0
  550. package/dist/services/document-service/events.js +59 -0
  551. package/dist/services/document-service/events.js.map +1 -0
  552. package/dist/services/document-service/events.mjs +57 -0
  553. package/dist/services/document-service/events.mjs.map +1 -0
  554. package/dist/services/document-service/first-published-at.d.ts +7 -0
  555. package/dist/services/document-service/first-published-at.d.ts.map +1 -0
  556. package/dist/services/document-service/first-published-at.js +31 -0
  557. package/dist/services/document-service/first-published-at.js.map +1 -0
  558. package/dist/services/document-service/first-published-at.mjs +28 -0
  559. package/dist/services/document-service/first-published-at.mjs.map +1 -0
  560. package/dist/services/document-service/index.d.ts +2 -3
  561. package/dist/services/document-service/index.d.ts.map +1 -1
  562. package/dist/services/document-service/index.js +53 -21
  563. package/dist/services/document-service/index.js.map +1 -1
  564. package/dist/services/document-service/index.mjs +52 -22
  565. package/dist/services/document-service/index.mjs.map +1 -1
  566. package/dist/services/document-service/internationalization.d.ts +6 -1
  567. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  568. package/dist/services/document-service/internationalization.js +98 -41
  569. package/dist/services/document-service/internationalization.js.map +1 -1
  570. package/dist/services/document-service/internationalization.mjs +92 -41
  571. package/dist/services/document-service/internationalization.mjs.map +1 -1
  572. package/dist/services/document-service/middlewares/errors.js +23 -19
  573. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  574. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  575. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  576. package/dist/services/document-service/middlewares/middleware-manager.d.ts +5 -2
  577. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -1
  578. package/dist/services/document-service/middlewares/middleware-manager.js +46 -41
  579. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  580. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -42
  581. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  582. package/dist/services/document-service/params.d.ts +3 -1
  583. package/dist/services/document-service/params.d.ts.map +1 -1
  584. package/dist/services/document-service/params.js +14 -0
  585. package/dist/services/document-service/params.js.map +1 -0
  586. package/dist/services/document-service/params.mjs +12 -0
  587. package/dist/services/document-service/params.mjs.map +1 -0
  588. package/dist/services/document-service/repository.d.ts.map +1 -1
  589. package/dist/services/document-service/repository.js +362 -287
  590. package/dist/services/document-service/repository.js.map +1 -1
  591. package/dist/services/document-service/repository.mjs +361 -288
  592. package/dist/services/document-service/repository.mjs.map +1 -1
  593. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  594. package/dist/services/document-service/transform/data.js +22 -10
  595. package/dist/services/document-service/transform/data.js.map +1 -1
  596. package/dist/services/document-service/transform/data.mjs +21 -11
  597. package/dist/services/document-service/transform/data.mjs.map +1 -1
  598. package/dist/services/document-service/transform/fields.js +26 -17
  599. package/dist/services/document-service/transform/fields.js.map +1 -1
  600. package/dist/services/document-service/transform/fields.mjs +25 -18
  601. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  602. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  603. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  604. package/dist/services/document-service/transform/id-map.js +116 -69
  605. package/dist/services/document-service/transform/id-map.js.map +1 -1
  606. package/dist/services/document-service/transform/id-map.mjs +115 -70
  607. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  608. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  609. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  610. package/dist/services/document-service/transform/id-transform.js +38 -30
  611. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  612. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  613. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  614. package/dist/services/document-service/transform/populate.js +23 -18
  615. package/dist/services/document-service/transform/populate.js.map +1 -1
  616. package/dist/services/document-service/transform/populate.mjs +22 -19
  617. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  618. package/dist/services/document-service/transform/query.d.ts +5 -0
  619. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  620. package/dist/services/document-service/transform/query.js +14 -0
  621. package/dist/services/document-service/transform/query.js.map +1 -0
  622. package/dist/services/document-service/transform/query.mjs +12 -0
  623. package/dist/services/document-service/transform/query.mjs.map +1 -0
  624. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  625. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  626. package/dist/services/document-service/transform/relations/extract/data-ids.js +75 -85
  627. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  628. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +74 -86
  629. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  630. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +7 -3
  631. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  632. package/dist/services/document-service/transform/relations/transform/data-ids.js +103 -134
  633. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  634. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +102 -135
  635. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  636. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  637. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  638. package/dist/services/document-service/transform/relations/transform/default-locale.js +50 -0
  639. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  640. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +48 -0
  641. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  642. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  643. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  644. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  645. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  646. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  647. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  648. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +3 -3
  649. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  650. package/dist/services/document-service/transform/relations/utils/i18n.js +19 -23
  651. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  652. package/dist/services/document-service/transform/relations/utils/i18n.mjs +18 -26
  653. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  654. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  655. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  656. package/dist/services/document-service/transform/relations/utils/map-relation.js +130 -0
  657. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  658. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +127 -0
  659. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  660. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  661. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  662. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  663. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  664. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  665. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  666. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  667. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  668. package/dist/services/document-service/utils/clean-component-join-table.d.ts +7 -0
  669. package/dist/services/document-service/utils/clean-component-join-table.d.ts.map +1 -0
  670. package/dist/services/document-service/utils/clean-component-join-table.js +145 -0
  671. package/dist/services/document-service/utils/clean-component-join-table.js.map +1 -0
  672. package/dist/services/document-service/utils/clean-component-join-table.mjs +143 -0
  673. package/dist/services/document-service/utils/clean-component-join-table.mjs.map +1 -0
  674. package/dist/services/document-service/utils/populate.d.ts +1 -1
  675. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  676. package/dist/services/document-service/utils/populate.js +67 -37
  677. package/dist/services/document-service/utils/populate.js.map +1 -1
  678. package/dist/services/document-service/utils/populate.mjs +66 -38
  679. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  680. package/dist/services/document-service/utils/unidirectional-relations.d.ts +53 -0
  681. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  682. package/dist/services/document-service/utils/unidirectional-relations.js +131 -0
  683. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  684. package/dist/services/document-service/utils/unidirectional-relations.mjs +128 -0
  685. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  686. package/dist/services/entity-service/index.d.ts.map +1 -1
  687. package/dist/services/entity-service/index.js +230 -155
  688. package/dist/services/entity-service/index.js.map +1 -1
  689. package/dist/services/entity-service/index.mjs +229 -154
  690. package/dist/services/entity-service/index.mjs.map +1 -1
  691. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  692. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  693. package/dist/services/entity-validator/blocks-validator.js +137 -104
  694. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  695. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  696. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  697. package/dist/services/entity-validator/index.d.ts +15 -1
  698. package/dist/services/entity-validator/index.d.ts.map +1 -1
  699. package/dist/services/entity-validator/index.js +371 -305
  700. package/dist/services/entity-validator/index.js.map +1 -1
  701. package/dist/services/entity-validator/index.mjs +367 -302
  702. package/dist/services/entity-validator/index.mjs.map +1 -1
  703. package/dist/services/entity-validator/validators.d.ts +37 -25
  704. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  705. package/dist/services/entity-validator/validators.js +286 -110
  706. package/dist/services/entity-validator/validators.js.map +1 -1
  707. package/dist/services/entity-validator/validators.mjs +277 -108
  708. package/dist/services/entity-validator/validators.mjs.map +1 -1
  709. package/dist/services/errors.js +65 -65
  710. package/dist/services/errors.js.map +1 -1
  711. package/dist/services/errors.mjs +64 -66
  712. package/dist/services/errors.mjs.map +1 -1
  713. package/dist/services/event-hub.d.ts +1 -0
  714. package/dist/services/event-hub.d.ts.map +1 -1
  715. package/dist/services/event-hub.js +82 -64
  716. package/dist/services/event-hub.js.map +1 -1
  717. package/dist/services/event-hub.mjs +81 -66
  718. package/dist/services/event-hub.mjs.map +1 -1
  719. package/dist/services/features.js +19 -14
  720. package/dist/services/features.js.map +1 -1
  721. package/dist/services/features.mjs +18 -15
  722. package/dist/services/features.mjs.map +1 -1
  723. package/dist/services/fs.js +41 -40
  724. package/dist/services/fs.js.map +1 -1
  725. package/dist/services/fs.mjs +40 -39
  726. package/dist/services/fs.mjs.map +1 -1
  727. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  728. package/dist/services/metrics/admin-user-hash.js +13 -11
  729. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  730. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  731. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  732. package/dist/services/metrics/index.d.ts +1 -1
  733. package/dist/services/metrics/index.d.ts.map +1 -1
  734. package/dist/services/metrics/index.js +48 -40
  735. package/dist/services/metrics/index.js.map +1 -1
  736. package/dist/services/metrics/index.mjs +47 -42
  737. package/dist/services/metrics/index.mjs.map +1 -1
  738. package/dist/services/metrics/is-truthy.js +13 -6
  739. package/dist/services/metrics/is-truthy.js.map +1 -1
  740. package/dist/services/metrics/is-truthy.mjs +12 -6
  741. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  742. package/dist/services/metrics/middleware.d.ts +2 -1
  743. package/dist/services/metrics/middleware.d.ts.map +1 -1
  744. package/dist/services/metrics/middleware.js +37 -22
  745. package/dist/services/metrics/middleware.js.map +1 -1
  746. package/dist/services/metrics/middleware.mjs +36 -24
  747. package/dist/services/metrics/middleware.mjs.map +1 -1
  748. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  749. package/dist/services/metrics/rate-limiter.js +24 -19
  750. package/dist/services/metrics/rate-limiter.js.map +1 -1
  751. package/dist/services/metrics/rate-limiter.mjs +23 -21
  752. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  753. package/dist/services/metrics/sender.d.ts.map +1 -1
  754. package/dist/services/metrics/sender.js +79 -69
  755. package/dist/services/metrics/sender.js.map +1 -1
  756. package/dist/services/metrics/sender.mjs +78 -64
  757. package/dist/services/metrics/sender.mjs.map +1 -1
  758. package/dist/services/query-params.d.ts +7 -0
  759. package/dist/services/query-params.d.ts.map +1 -0
  760. package/dist/services/query-params.js +15 -0
  761. package/dist/services/query-params.js.map +1 -0
  762. package/dist/services/query-params.mjs +13 -0
  763. package/dist/services/query-params.mjs.map +1 -0
  764. package/dist/services/reloader.d.ts +7 -0
  765. package/dist/services/reloader.d.ts.map +1 -0
  766. package/dist/services/reloader.js +39 -0
  767. package/dist/services/reloader.js.map +1 -0
  768. package/dist/services/reloader.mjs +37 -0
  769. package/dist/services/reloader.mjs.map +1 -0
  770. package/dist/services/request-context.js +11 -8
  771. package/dist/services/request-context.js.map +1 -1
  772. package/dist/services/request-context.mjs +10 -10
  773. package/dist/services/request-context.mjs.map +1 -1
  774. package/dist/services/server/admin-api.js +11 -10
  775. package/dist/services/server/admin-api.js.map +1 -1
  776. package/dist/services/server/admin-api.mjs +10 -11
  777. package/dist/services/server/admin-api.mjs.map +1 -1
  778. package/dist/services/server/api.js +33 -27
  779. package/dist/services/server/api.js.map +1 -1
  780. package/dist/services/server/api.mjs +32 -26
  781. package/dist/services/server/api.mjs.map +1 -1
  782. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  783. package/dist/services/server/compose-endpoint.js +116 -106
  784. package/dist/services/server/compose-endpoint.js.map +1 -1
  785. package/dist/services/server/compose-endpoint.mjs +115 -106
  786. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  787. package/dist/services/server/content-api.js +11 -9
  788. package/dist/services/server/content-api.js.map +1 -1
  789. package/dist/services/server/content-api.mjs +10 -10
  790. package/dist/services/server/content-api.mjs.map +1 -1
  791. package/dist/services/server/http-server.js +48 -44
  792. package/dist/services/server/http-server.js.map +1 -1
  793. package/dist/services/server/http-server.mjs +47 -43
  794. package/dist/services/server/http-server.mjs.map +1 -1
  795. package/dist/services/server/index.js +85 -82
  796. package/dist/services/server/index.js.map +1 -1
  797. package/dist/services/server/index.mjs +84 -81
  798. package/dist/services/server/index.mjs.map +1 -1
  799. package/dist/services/server/koa.d.ts.map +1 -1
  800. package/dist/services/server/koa.js +49 -47
  801. package/dist/services/server/koa.js.map +1 -1
  802. package/dist/services/server/koa.mjs +48 -44
  803. package/dist/services/server/koa.mjs.map +1 -1
  804. package/dist/services/server/middleware.js +86 -82
  805. package/dist/services/server/middleware.js.map +1 -1
  806. package/dist/services/server/middleware.mjs +85 -82
  807. package/dist/services/server/middleware.mjs.map +1 -1
  808. package/dist/services/server/policy.d.ts +2 -2
  809. package/dist/services/server/policy.d.ts.map +1 -1
  810. package/dist/services/server/policy.js +25 -18
  811. package/dist/services/server/policy.js.map +1 -1
  812. package/dist/services/server/policy.mjs +23 -18
  813. package/dist/services/server/policy.mjs.map +1 -1
  814. package/dist/services/server/register-middlewares.js +68 -61
  815. package/dist/services/server/register-middlewares.js.map +1 -1
  816. package/dist/services/server/register-middlewares.mjs +67 -63
  817. package/dist/services/server/register-middlewares.mjs.map +1 -1
  818. package/dist/services/server/register-routes.js +109 -66
  819. package/dist/services/server/register-routes.js.map +1 -1
  820. package/dist/services/server/register-routes.mjs +108 -66
  821. package/dist/services/server/register-routes.mjs.map +1 -1
  822. package/dist/services/server/routing.d.ts +11 -1
  823. package/dist/services/server/routing.d.ts.map +1 -1
  824. package/dist/services/server/routing.js +100 -81
  825. package/dist/services/server/routing.js.map +1 -1
  826. package/dist/services/server/routing.mjs +99 -81
  827. package/dist/services/server/routing.mjs.map +1 -1
  828. package/dist/services/session-manager.d.ts +167 -0
  829. package/dist/services/session-manager.d.ts.map +1 -0
  830. package/dist/services/session-manager.js +529 -0
  831. package/dist/services/session-manager.js.map +1 -0
  832. package/dist/services/session-manager.mjs +526 -0
  833. package/dist/services/session-manager.mjs.map +1 -0
  834. package/dist/services/utils/conditional-fields.d.ts +3 -0
  835. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  836. package/dist/services/utils/conditional-fields.js +22 -0
  837. package/dist/services/utils/conditional-fields.js.map +1 -0
  838. package/dist/services/utils/conditional-fields.mjs +20 -0
  839. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  840. package/dist/services/utils/dynamic-zones.js +13 -14
  841. package/dist/services/utils/dynamic-zones.js.map +1 -1
  842. package/dist/services/utils/dynamic-zones.mjs +12 -16
  843. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  844. package/dist/services/webhook-runner.d.ts +2 -1
  845. package/dist/services/webhook-runner.d.ts.map +1 -1
  846. package/dist/services/webhook-runner.js +124 -122
  847. package/dist/services/webhook-runner.js.map +1 -1
  848. package/dist/services/webhook-runner.mjs +123 -121
  849. package/dist/services/webhook-runner.mjs.map +1 -1
  850. package/dist/services/webhook-store.d.ts +2 -8
  851. package/dist/services/webhook-store.d.ts.map +1 -1
  852. package/dist/services/webhook-store.js +132 -93
  853. package/dist/services/webhook-store.js.map +1 -1
  854. package/dist/services/webhook-store.mjs +131 -95
  855. package/dist/services/webhook-store.mjs.map +1 -1
  856. package/dist/services/worker-queue.js +44 -49
  857. package/dist/services/worker-queue.js.map +1 -1
  858. package/dist/services/worker-queue.mjs +43 -49
  859. package/dist/services/worker-queue.mjs.map +1 -1
  860. package/dist/utils/convert-custom-field-type.js +17 -20
  861. package/dist/utils/convert-custom-field-type.js.map +1 -1
  862. package/dist/utils/convert-custom-field-type.mjs +16 -21
  863. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  864. package/dist/utils/cron.js +64 -30
  865. package/dist/utils/cron.js.map +1 -1
  866. package/dist/utils/cron.mjs +63 -31
  867. package/dist/utils/cron.mjs.map +1 -1
  868. package/dist/utils/fetch.d.ts +5 -1
  869. package/dist/utils/fetch.d.ts.map +1 -1
  870. package/dist/utils/fetch.js +28 -17
  871. package/dist/utils/fetch.js.map +1 -1
  872. package/dist/utils/fetch.mjs +27 -18
  873. package/dist/utils/fetch.mjs.map +1 -1
  874. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  875. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  876. package/dist/utils/filepath-to-prop-path.js +22 -9
  877. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  878. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  879. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  880. package/dist/utils/index.d.ts +2 -1
  881. package/dist/utils/index.d.ts.map +1 -1
  882. package/dist/utils/is-initialized.js +21 -12
  883. package/dist/utils/is-initialized.js.map +1 -1
  884. package/dist/utils/is-initialized.mjs +20 -13
  885. package/dist/utils/is-initialized.mjs.map +1 -1
  886. package/dist/utils/lifecycles.js +6 -5
  887. package/dist/utils/lifecycles.js.map +1 -1
  888. package/dist/utils/lifecycles.mjs +5 -6
  889. package/dist/utils/lifecycles.mjs.map +1 -1
  890. package/dist/utils/load-config-file.js +40 -38
  891. package/dist/utils/load-config-file.js.map +1 -1
  892. package/dist/utils/load-config-file.mjs +39 -36
  893. package/dist/utils/load-config-file.mjs.map +1 -1
  894. package/dist/utils/load-files.d.ts.map +1 -1
  895. package/dist/utils/load-files.js +40 -35
  896. package/dist/utils/load-files.js.map +1 -1
  897. package/dist/utils/load-files.mjs +39 -32
  898. package/dist/utils/load-files.mjs.map +1 -1
  899. package/dist/utils/open-browser.js +8 -8
  900. package/dist/utils/open-browser.js.map +1 -1
  901. package/dist/utils/open-browser.mjs +7 -7
  902. package/dist/utils/open-browser.mjs.map +1 -1
  903. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  904. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  905. package/dist/utils/resolve-working-dirs.js +26 -0
  906. package/dist/utils/resolve-working-dirs.js.map +1 -0
  907. package/dist/utils/resolve-working-dirs.mjs +24 -0
  908. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  909. package/dist/utils/signals.js +20 -14
  910. package/dist/utils/signals.js.map +1 -1
  911. package/dist/utils/signals.mjs +19 -15
  912. package/dist/utils/signals.mjs.map +1 -1
  913. package/dist/utils/startup-logger.d.ts.map +1 -1
  914. package/dist/utils/startup-logger.js +107 -78
  915. package/dist/utils/startup-logger.js.map +1 -1
  916. package/dist/utils/startup-logger.mjs +106 -75
  917. package/dist/utils/startup-logger.mjs.map +1 -1
  918. package/dist/utils/transform-content-types-to-models.d.ts +566 -37
  919. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  920. package/dist/utils/transform-content-types-to-models.js +350 -256
  921. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  922. package/dist/utils/transform-content-types-to-models.mjs +349 -264
  923. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  924. package/dist/utils/update-notifier/index.d.ts +1 -6
  925. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  926. package/dist/utils/update-notifier/index.js +66 -74
  927. package/dist/utils/update-notifier/index.js.map +1 -1
  928. package/dist/utils/update-notifier/index.mjs +65 -68
  929. package/dist/utils/update-notifier/index.mjs.map +1 -1
  930. package/package.json +49 -41
  931. package/dist/registries/config.d.ts +0 -4
  932. package/dist/registries/config.d.ts.map +0 -1
  933. package/dist/registries/config.js +0 -43
  934. package/dist/registries/config.js.map +0 -1
  935. package/dist/registries/config.mjs +0 -44
  936. package/dist/registries/config.mjs.map +0 -1
  937. package/dist/services/document-service/document-engine.d.ts +0 -2
  938. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  939. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -2
  940. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  941. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  942. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  943. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  944. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  945. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  946. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  947. package/dist/services/entity-service/attributes/index.js +0 -22
  948. package/dist/services/entity-service/attributes/index.js.map +0 -1
  949. package/dist/services/entity-service/attributes/index.mjs +0 -22
  950. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  951. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  952. package/dist/services/entity-service/attributes/transforms.js +0 -20
  953. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  954. package/dist/services/entity-service/attributes/transforms.mjs +0 -19
  955. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  956. package/dist/services/entity-service/components.d.ts +0 -95
  957. package/dist/services/entity-service/components.d.ts.map +0 -1
  958. package/dist/services/entity-service/components.js +0 -298
  959. package/dist/services/entity-service/components.js.map +0 -1
  960. package/dist/services/entity-service/components.mjs +0 -296
  961. package/dist/services/entity-service/components.mjs.map +0 -1
  962. package/dist/services/entity-service/params.d.ts +0 -8
  963. package/dist/services/entity-service/params.d.ts.map +0 -1
  964. package/dist/services/entity-service/params.js +0 -8
  965. package/dist/services/entity-service/params.js.map +0 -1
  966. package/dist/services/entity-service/params.mjs +0 -8
  967. package/dist/services/entity-service/params.mjs.map +0 -1
  968. package/dist/utils/get-dirs.d.ts +0 -9
  969. package/dist/utils/get-dirs.d.ts.map +0 -1
  970. package/dist/utils/get-dirs.js +0 -30
  971. package/dist/utils/get-dirs.js.map +0 -1
  972. package/dist/utils/get-dirs.mjs +0 -30
  973. package/dist/utils/get-dirs.mjs.map +0 -1
  974. /package/dist/services/{entity-service → document-service}/attributes/transforms.d.ts +0 -0
@@ -1,52 +1,109 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
4
- const getDefaultLocale = async () => {
5
- return strapi.plugin("i18n").service("locales").getDefaultLocale();
1
+ 'use strict';
2
+
3
+ var strapiUtils = require('@strapi/utils');
4
+ var fp = require('lodash/fp');
5
+
6
+ const getDefaultLocale = async ()=>{
7
+ return strapi.plugin('i18n').service('locales').getDefaultLocale();
6
8
  };
7
- const defaultLocale = async (contentType, params) => {
8
- if (!strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
9
+ const defaultLocale = async (contentType, params)=>{
10
+ if (!strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {
11
+ return params;
12
+ }
13
+ if (!params.locale) {
14
+ return fp.assoc('locale', await getDefaultLocale(), params);
15
+ }
9
16
  return params;
10
- }
11
- if (!params.locale) {
12
- return _.assoc("locale", await getDefaultLocale(), params);
13
- }
14
- return params;
15
17
  };
16
- const localeToLookup = (contentType, params) => {
17
- if (!strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
18
- return params;
19
- }
20
- if (params.locale) {
21
- return _.assoc(["lookup", "locale"], params.locale, params);
22
- }
23
- return params;
18
+ /**
19
+ * Add locale lookup query to the params
20
+ */ const localeToLookup = (contentType, params)=>{
21
+ if (!params.locale || !strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {
22
+ return params;
23
+ }
24
+ if (typeof params.locale !== 'string') {
25
+ // localeToLookup accepts locales of '*'. This is because the document
26
+ // service functions that use this transform work with the '*' locale
27
+ // to return all locales.
28
+ throw new strapiUtils.errors.ValidationError(`Invalid locale param ${String(params.locale)} provided. Document locales must be strings.`);
29
+ }
30
+ return fp.assoc([
31
+ 'lookup',
32
+ 'locale'
33
+ ], params.locale, params);
24
34
  };
25
- const multiLocaleToLookup = (contentType, params) => {
26
- if (!strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
35
+ /**
36
+ * Add locale lookup query to the params
37
+ */ const multiLocaleToLookup = (contentType, params)=>{
38
+ if (!strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {
39
+ return params;
40
+ }
41
+ if (params.locale) {
42
+ if (params.locale === '*') {
43
+ return params;
44
+ }
45
+ return fp.assoc([
46
+ 'lookup',
47
+ 'locale'
48
+ ], params.locale, params);
49
+ }
27
50
  return params;
28
- }
29
- if (params.locale) {
30
- if (params.locale === "*") {
31
- return params;
32
- }
33
- return _.assoc(["lookup", "locale"], params.locale, params);
34
- }
35
- return params;
36
51
  };
37
- const localeToData = (contentType, params) => {
38
- if (!strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
52
+ /**
53
+ * Translate locale status parameter into the data that will be saved
54
+ */ const localeToData = (contentType, params)=>{
55
+ if (!strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {
56
+ return params;
57
+ }
58
+ if (params.locale) {
59
+ const isValidLocale = typeof params.locale === 'string' && params.locale !== '*';
60
+ if (isValidLocale) {
61
+ return fp.assoc([
62
+ 'data',
63
+ 'locale'
64
+ ], params.locale, params);
65
+ }
66
+ throw new strapiUtils.errors.ValidationError(`Invalid locale param ${params.locale} provided. Document locales must be strings.`);
67
+ }
39
68
  return params;
40
- }
41
- if (params.locale) {
42
- return _.assoc(["data", "locale"], params.locale, params);
43
- }
44
- return params;
45
69
  };
46
- const defaultLocaleCurry = _.curry(defaultLocale);
47
- const localeToLookupCurry = _.curry(localeToLookup);
48
- const multiLocaleToLookupCurry = _.curry(multiLocaleToLookup);
49
- const localeToDataCurry = _.curry(localeToData);
70
+ /**
71
+ * Copy non-localized fields from an existing entry to a new entry being created
72
+ * for a different locale of the same document. Returns a new object with the merged data.
73
+ */ const copyNonLocalizedFields = async (contentType, documentId, dataToCreate)=>{
74
+ // Check if this is a localized content type and if i18n plugin is available
75
+ const i18nService = strapi.plugin('i18n')?.service('content-types');
76
+ if (!i18nService?.isLocalizedContentType(contentType)) {
77
+ return dataToCreate;
78
+ }
79
+ // Find an existing entry for the same document to copy unlocalized fields from
80
+ const existingEntry = await strapi.db.query(contentType.uid).findOne({
81
+ where: {
82
+ documentId
83
+ },
84
+ // Prefer published entry, but fall back to any entry
85
+ orderBy: {
86
+ publishedAt: 'desc'
87
+ }
88
+ });
89
+ // If an entry exists in another locale, copy its non-localized fields
90
+ if (existingEntry) {
91
+ const mergedData = {
92
+ ...dataToCreate
93
+ };
94
+ i18nService.fillNonLocalizedAttributes(mergedData, existingEntry, {
95
+ model: contentType.uid
96
+ });
97
+ return mergedData;
98
+ }
99
+ return dataToCreate;
100
+ };
101
+ const defaultLocaleCurry = fp.curry(defaultLocale);
102
+ const localeToLookupCurry = fp.curry(localeToLookup);
103
+ const multiLocaleToLookupCurry = fp.curry(multiLocaleToLookup);
104
+ const localeToDataCurry = fp.curry(localeToData);
105
+
106
+ exports.copyNonLocalizedFields = copyNonLocalizedFields;
50
107
  exports.defaultLocale = defaultLocaleCurry;
51
108
  exports.localeToData = localeToDataCurry;
52
109
  exports.localeToLookup = localeToLookupCurry;
@@ -1 +1 @@
1
- {"version":3,"file":"internationalization.js","sources":["../../../src/services/document-service/internationalization.ts"],"sourcesContent":["import type { Struct, Modules } from '@strapi/types';\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 // TODO: Load default locale from db in i18n\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 (!strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {\n return params;\n }\n\n if (params.locale) {\n return assoc(['lookup', 'locale'], params.locale, params);\n }\n\n return 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 return assoc(['data', 'locale'], params.locale, params);\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","curry"],"mappings":";;;AAaA,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;AAElB,WAAOA,EAAM,MAAA,UAAU,MAAM,oBAAoB,MAAM;AAAA,EACzD;AAEO,SAAA;AACT;AAKA,MAAM,iBAA4B,CAAC,aAAa,WAAW;AACrD,MAAA,CAAC,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,WAAW,GAAG;AAChF,WAAA;AAAA,EACT;AAEA,MAAI,OAAO,QAAQ;AACjB,WAAOA,EAAAA,MAAM,CAAC,UAAU,QAAQ,GAAG,OAAO,QAAQ,MAAM;AAAA,EAC1D;AAEO,SAAA;AACT;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,EAAAA,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,WAAOA,EAAAA,MAAM,CAAC,QAAQ,QAAQ,GAAG,OAAO,QAAQ,MAAM;AAAA,EACxD;AAEO,SAAA;AACT;AAEM,MAAA,qBAAqBC,QAAM,aAAa;AACxC,MAAA,sBAAsBA,QAAM,cAAc;AAC1C,MAAA,2BAA2BA,QAAM,mBAAmB;AACpD,MAAA,oBAAoBA,QAAM,YAAY;;;;;"}
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\n/**\n * Copy non-localized fields from an existing entry to a new entry being created\n * for a different locale of the same document. Returns a new object with the merged data.\n */\nconst copyNonLocalizedFields = async (\n contentType: Struct.SingleTypeSchema | Struct.CollectionTypeSchema,\n documentId: string,\n dataToCreate: Record<string, any>\n): Promise<Record<string, any>> => {\n // Check if this is a localized content type and if i18n plugin is available\n const i18nService = strapi.plugin('i18n')?.service('content-types');\n if (!i18nService?.isLocalizedContentType(contentType)) {\n return dataToCreate;\n }\n\n // Find an existing entry for the same document to copy unlocalized fields from\n const existingEntry = await strapi.db.query(contentType.uid).findOne({\n where: { documentId },\n // Prefer published entry, but fall back to any entry\n orderBy: { publishedAt: 'desc' },\n });\n\n // If an entry exists in another locale, copy its non-localized fields\n if (existingEntry) {\n const mergedData = { ...dataToCreate };\n i18nService.fillNonLocalizedAttributes(mergedData, existingEntry, {\n model: contentType.uid,\n });\n return mergedData;\n }\n\n return dataToCreate;\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 copyNonLocalizedFields,\n};\n"],"names":["getDefaultLocale","strapi","plugin","service","defaultLocale","contentType","params","isLocalizedContentType","locale","assoc","localeToLookup","errors","ValidationError","String","multiLocaleToLookup","localeToData","isValidLocale","copyNonLocalizedFields","documentId","dataToCreate","i18nService","existingEntry","db","query","uid","findOne","where","orderBy","publishedAt","mergedData","fillNonLocalizedAttributes","model","defaultLocaleCurry","curry","localeToLookupCurry","multiLocaleToLookupCurry","localeToDataCurry"],"mappings":"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"}
@@ -1,54 +1,105 @@
1
- import { curry, assoc } from "lodash/fp";
2
- const getDefaultLocale = async () => {
3
- return strapi.plugin("i18n").service("locales").getDefaultLocale();
1
+ import { errors } from '@strapi/utils';
2
+ import { curry, assoc } from 'lodash/fp';
3
+
4
+ const getDefaultLocale = async ()=>{
5
+ return strapi.plugin('i18n').service('locales').getDefaultLocale();
4
6
  };
5
- const defaultLocale = async (contentType, params) => {
6
- if (!strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
7
+ const defaultLocale = async (contentType, params)=>{
8
+ if (!strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {
9
+ return params;
10
+ }
11
+ if (!params.locale) {
12
+ return assoc('locale', await getDefaultLocale(), params);
13
+ }
7
14
  return params;
8
- }
9
- if (!params.locale) {
10
- return assoc("locale", await getDefaultLocale(), params);
11
- }
12
- return params;
13
15
  };
14
- const localeToLookup = (contentType, params) => {
15
- if (!strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
16
- return params;
17
- }
18
- if (params.locale) {
19
- return assoc(["lookup", "locale"], params.locale, params);
20
- }
21
- return params;
16
+ /**
17
+ * Add locale lookup query to the params
18
+ */ const localeToLookup = (contentType, params)=>{
19
+ if (!params.locale || !strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {
20
+ return params;
21
+ }
22
+ if (typeof params.locale !== 'string') {
23
+ // localeToLookup accepts locales of '*'. This is because the document
24
+ // service functions that use this transform work with the '*' locale
25
+ // to return all locales.
26
+ throw new errors.ValidationError(`Invalid locale param ${String(params.locale)} provided. Document locales must be strings.`);
27
+ }
28
+ return assoc([
29
+ 'lookup',
30
+ 'locale'
31
+ ], params.locale, params);
22
32
  };
23
- const multiLocaleToLookup = (contentType, params) => {
24
- if (!strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
33
+ /**
34
+ * Add locale lookup query to the params
35
+ */ const multiLocaleToLookup = (contentType, params)=>{
36
+ if (!strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {
37
+ return params;
38
+ }
39
+ if (params.locale) {
40
+ if (params.locale === '*') {
41
+ return params;
42
+ }
43
+ return assoc([
44
+ 'lookup',
45
+ 'locale'
46
+ ], params.locale, params);
47
+ }
25
48
  return params;
26
- }
27
- if (params.locale) {
28
- if (params.locale === "*") {
29
- return params;
30
- }
31
- return assoc(["lookup", "locale"], params.locale, params);
32
- }
33
- return params;
34
49
  };
35
- const localeToData = (contentType, params) => {
36
- if (!strapi.plugin("i18n").service("content-types").isLocalizedContentType(contentType)) {
50
+ /**
51
+ * Translate locale status parameter into the data that will be saved
52
+ */ const localeToData = (contentType, params)=>{
53
+ if (!strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {
54
+ return params;
55
+ }
56
+ if (params.locale) {
57
+ const isValidLocale = typeof params.locale === 'string' && params.locale !== '*';
58
+ if (isValidLocale) {
59
+ return assoc([
60
+ 'data',
61
+ 'locale'
62
+ ], params.locale, params);
63
+ }
64
+ throw new errors.ValidationError(`Invalid locale param ${params.locale} provided. Document locales must be strings.`);
65
+ }
37
66
  return params;
38
- }
39
- if (params.locale) {
40
- return assoc(["data", "locale"], params.locale, params);
41
- }
42
- return params;
67
+ };
68
+ /**
69
+ * Copy non-localized fields from an existing entry to a new entry being created
70
+ * for a different locale of the same document. Returns a new object with the merged data.
71
+ */ const copyNonLocalizedFields = async (contentType, documentId, dataToCreate)=>{
72
+ // Check if this is a localized content type and if i18n plugin is available
73
+ const i18nService = strapi.plugin('i18n')?.service('content-types');
74
+ if (!i18nService?.isLocalizedContentType(contentType)) {
75
+ return dataToCreate;
76
+ }
77
+ // Find an existing entry for the same document to copy unlocalized fields from
78
+ const existingEntry = await strapi.db.query(contentType.uid).findOne({
79
+ where: {
80
+ documentId
81
+ },
82
+ // Prefer published entry, but fall back to any entry
83
+ orderBy: {
84
+ publishedAt: 'desc'
85
+ }
86
+ });
87
+ // If an entry exists in another locale, copy its non-localized fields
88
+ if (existingEntry) {
89
+ const mergedData = {
90
+ ...dataToCreate
91
+ };
92
+ i18nService.fillNonLocalizedAttributes(mergedData, existingEntry, {
93
+ model: contentType.uid
94
+ });
95
+ return mergedData;
96
+ }
97
+ return dataToCreate;
43
98
  };
44
99
  const defaultLocaleCurry = curry(defaultLocale);
45
100
  const localeToLookupCurry = curry(localeToLookup);
46
101
  const multiLocaleToLookupCurry = curry(multiLocaleToLookup);
47
102
  const localeToDataCurry = curry(localeToData);
48
- export {
49
- defaultLocaleCurry as defaultLocale,
50
- localeToDataCurry as localeToData,
51
- localeToLookupCurry as localeToLookup,
52
- multiLocaleToLookupCurry as multiLocaleToLookup
53
- };
103
+
104
+ export { copyNonLocalizedFields, defaultLocaleCurry as defaultLocale, localeToDataCurry as localeToData, localeToLookupCurry as localeToLookup, multiLocaleToLookupCurry as multiLocaleToLookup };
54
105
  //# sourceMappingURL=internationalization.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"internationalization.mjs","sources":["../../../src/services/document-service/internationalization.ts"],"sourcesContent":["import type { Struct, Modules } from '@strapi/types';\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 // TODO: Load default locale from db in i18n\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 (!strapi.plugin('i18n').service('content-types').isLocalizedContentType(contentType)) {\n return params;\n }\n\n if (params.locale) {\n return assoc(['lookup', 'locale'], params.locale, params);\n }\n\n return 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 return assoc(['data', 'locale'], params.locale, params);\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":[],"mappings":";AAaA,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;AAElB,WAAO,MAAM,UAAU,MAAM,oBAAoB,MAAM;AAAA,EACzD;AAEO,SAAA;AACT;AAKA,MAAM,iBAA4B,CAAC,aAAa,WAAW;AACrD,MAAA,CAAC,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,WAAW,GAAG;AAChF,WAAA;AAAA,EACT;AAEA,MAAI,OAAO,QAAQ;AACjB,WAAO,MAAM,CAAC,UAAU,QAAQ,GAAG,OAAO,QAAQ,MAAM;AAAA,EAC1D;AAEO,SAAA;AACT;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,WAAO,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,WAAO,MAAM,CAAC,QAAQ,QAAQ,GAAG,OAAO,QAAQ,MAAM;AAAA,EACxD;AAEO,SAAA;AACT;AAEM,MAAA,qBAAqB,MAAM,aAAa;AACxC,MAAA,sBAAsB,MAAM,cAAc;AAC1C,MAAA,2BAA2B,MAAM,mBAAmB;AACpD,MAAA,oBAAoB,MAAM,YAAY;"}
1
+ {"version":3,"file":"internationalization.mjs","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\n/**\n * Copy non-localized fields from an existing entry to a new entry being created\n * for a different locale of the same document. Returns a new object with the merged data.\n */\nconst copyNonLocalizedFields = async (\n contentType: Struct.SingleTypeSchema | Struct.CollectionTypeSchema,\n documentId: string,\n dataToCreate: Record<string, any>\n): Promise<Record<string, any>> => {\n // Check if this is a localized content type and if i18n plugin is available\n const i18nService = strapi.plugin('i18n')?.service('content-types');\n if (!i18nService?.isLocalizedContentType(contentType)) {\n return dataToCreate;\n }\n\n // Find an existing entry for the same document to copy unlocalized fields from\n const existingEntry = await strapi.db.query(contentType.uid).findOne({\n where: { documentId },\n // Prefer published entry, but fall back to any entry\n orderBy: { publishedAt: 'desc' },\n });\n\n // If an entry exists in another locale, copy its non-localized fields\n if (existingEntry) {\n const mergedData = { ...dataToCreate };\n i18nService.fillNonLocalizedAttributes(mergedData, existingEntry, {\n model: contentType.uid,\n });\n return mergedData;\n }\n\n return dataToCreate;\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 copyNonLocalizedFields,\n};\n"],"names":["getDefaultLocale","strapi","plugin","service","defaultLocale","contentType","params","isLocalizedContentType","locale","assoc","localeToLookup","errors","ValidationError","String","multiLocaleToLookup","localeToData","isValidLocale","copyNonLocalizedFields","documentId","dataToCreate","i18nService","existingEntry","db","query","uid","findOne","where","orderBy","publishedAt","mergedData","fillNonLocalizedAttributes","model","defaultLocaleCurry","curry","localeToLookupCurry","multiLocaleToLookupCurry","localeToDataCurry"],"mappings":"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"}
@@ -1,25 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const database = require("@strapi/database");
4
- const strapiUtils = require("@strapi/utils");
1
+ 'use strict';
2
+
3
+ var database = require('@strapi/database');
4
+ var strapiUtils = require('@strapi/utils');
5
+
5
6
  const databaseErrorsToTransform = [
6
- database.errors.InvalidTimeError,
7
- database.errors.InvalidDateTimeError,
8
- database.errors.InvalidDateError,
9
- database.errors.InvalidRelationError
7
+ database.errors.InvalidTimeError,
8
+ database.errors.InvalidDateTimeError,
9
+ database.errors.InvalidDateError,
10
+ database.errors.InvalidRelationError
10
11
  ];
11
- const databaseErrorsMiddleware = async (ctx, next) => {
12
- try {
13
- return await next();
14
- } catch (error) {
15
- if (databaseErrorsToTransform.some((errorToTransform) => error instanceof errorToTransform)) {
16
- if (error instanceof Error) {
17
- throw new strapiUtils.errors.ValidationError(error.message);
18
- }
19
- throw error;
12
+ /**
13
+ * Handle database errors
14
+ */ const databaseErrorsMiddleware = async (ctx, next)=>{
15
+ try {
16
+ return await next();
17
+ } catch (error) {
18
+ if (databaseErrorsToTransform.some((errorToTransform)=>error instanceof errorToTransform)) {
19
+ if (error instanceof Error) {
20
+ throw new strapiUtils.errors.ValidationError(error.message);
21
+ }
22
+ throw error;
23
+ }
24
+ throw error;
20
25
  }
21
- throw error;
22
- }
23
26
  };
27
+
24
28
  exports.databaseErrorsMiddleware = databaseErrorsMiddleware;
25
29
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sources":["../../../../src/services/document-service/middlewares/errors.ts"],"sourcesContent":["import { errors as databaseErrors } from '@strapi/database';\nimport { errors } from '@strapi/utils';\n\nimport type { Middleware } from './middleware-manager';\n\nconst databaseErrorsToTransform = [\n databaseErrors.InvalidTimeError,\n databaseErrors.InvalidDateTimeError,\n databaseErrors.InvalidDateError,\n databaseErrors.InvalidRelationError,\n];\n\n/**\n * Handle database errors\n */\nexport const databaseErrorsMiddleware: Middleware = async (ctx, next) => {\n try {\n return await next();\n } catch (error) {\n if (databaseErrorsToTransform.some((errorToTransform) => error instanceof errorToTransform)) {\n if (error instanceof Error) {\n throw new errors.ValidationError(error.message);\n }\n\n throw error;\n }\n throw error;\n }\n};\n"],"names":["databaseErrors","errors"],"mappings":";;;;AAKA,MAAM,4BAA4B;AAAA,EAChCA,SAAAA,OAAe;AAAA,EACfA,SAAAA,OAAe;AAAA,EACfA,SAAAA,OAAe;AAAA,EACfA,SAAAA,OAAe;AACjB;AAKa,MAAA,2BAAuC,OAAO,KAAK,SAAS;AACnE,MAAA;AACF,WAAO,MAAM,KAAK;AAAA,WACX,OAAO;AACd,QAAI,0BAA0B,KAAK,CAAC,qBAAqB,iBAAiB,gBAAgB,GAAG;AAC3F,UAAI,iBAAiB,OAAO;AAC1B,cAAM,IAAIC,YAAAA,OAAO,gBAAgB,MAAM,OAAO;AAAA,MAChD;AAEM,YAAA;AAAA,IACR;AACM,UAAA;AAAA,EACR;AACF;;"}
1
+ {"version":3,"file":"errors.js","sources":["../../../../src/services/document-service/middlewares/errors.ts"],"sourcesContent":["import { errors as databaseErrors } from '@strapi/database';\nimport { errors } from '@strapi/utils';\n\nimport type { Middleware } from './middleware-manager';\n\nconst databaseErrorsToTransform = [\n databaseErrors.InvalidTimeError,\n databaseErrors.InvalidDateTimeError,\n databaseErrors.InvalidDateError,\n databaseErrors.InvalidRelationError,\n];\n\n/**\n * Handle database errors\n */\nexport const databaseErrorsMiddleware: Middleware = async (ctx, next) => {\n try {\n return await next();\n } catch (error) {\n if (databaseErrorsToTransform.some((errorToTransform) => error instanceof errorToTransform)) {\n if (error instanceof Error) {\n throw new errors.ValidationError(error.message);\n }\n\n throw error;\n }\n throw error;\n }\n};\n"],"names":["databaseErrorsToTransform","databaseErrors","InvalidTimeError","InvalidDateTimeError","InvalidDateError","InvalidRelationError","databaseErrorsMiddleware","ctx","next","error","some","errorToTransform","Error","errors","ValidationError","message"],"mappings":";;;;;AAKA,MAAMA,yBAA4B,GAAA;AAChCC,IAAAA,eAAAA,CAAeC,gBAAgB;AAC/BD,IAAAA,eAAAA,CAAeE,oBAAoB;AACnCF,IAAAA,eAAAA,CAAeG,gBAAgB;AAC/BH,IAAAA,eAAAA,CAAeI;AAChB,CAAA;AAED;;AAEC,IACM,MAAMC,wBAAuC,GAAA,OAAOC,GAAKC,EAAAA,IAAAA,GAAAA;IAC9D,IAAI;AACF,QAAA,OAAO,MAAMA,IAAAA,EAAAA;AACf,KAAA,CAAE,OAAOC,KAAO,EAAA;AACd,QAAA,IAAIT,0BAA0BU,IAAI,CAAC,CAACC,gBAAAA,GAAqBF,iBAAiBE,gBAAmB,CAAA,EAAA;AAC3F,YAAA,IAAIF,iBAAiBG,KAAO,EAAA;AAC1B,gBAAA,MAAM,IAAIC,kBAAAA,CAAOC,eAAe,CAACL,MAAMM,OAAO,CAAA;AAChD;YAEA,MAAMN,KAAAA;AACR;QACA,MAAMA,KAAAA;AACR;AACF;;;;"}
@@ -1,25 +1,27 @@
1
- import { errors } from "@strapi/database";
2
- import { errors as errors$1 } from "@strapi/utils";
1
+ import { errors } from '@strapi/database';
2
+ import { errors as errors$1 } from '@strapi/utils';
3
+
3
4
  const databaseErrorsToTransform = [
4
- errors.InvalidTimeError,
5
- errors.InvalidDateTimeError,
6
- errors.InvalidDateError,
7
- errors.InvalidRelationError
5
+ errors.InvalidTimeError,
6
+ errors.InvalidDateTimeError,
7
+ errors.InvalidDateError,
8
+ errors.InvalidRelationError
8
9
  ];
9
- const databaseErrorsMiddleware = async (ctx, next) => {
10
- try {
11
- return await next();
12
- } catch (error) {
13
- if (databaseErrorsToTransform.some((errorToTransform) => error instanceof errorToTransform)) {
14
- if (error instanceof Error) {
15
- throw new errors$1.ValidationError(error.message);
16
- }
17
- throw error;
10
+ /**
11
+ * Handle database errors
12
+ */ const databaseErrorsMiddleware = async (ctx, next)=>{
13
+ try {
14
+ return await next();
15
+ } catch (error) {
16
+ if (databaseErrorsToTransform.some((errorToTransform)=>error instanceof errorToTransform)) {
17
+ if (error instanceof Error) {
18
+ throw new errors$1.ValidationError(error.message);
19
+ }
20
+ throw error;
21
+ }
22
+ throw error;
18
23
  }
19
- throw error;
20
- }
21
- };
22
- export {
23
- databaseErrorsMiddleware
24
24
  };
25
+
26
+ export { databaseErrorsMiddleware };
25
27
  //# sourceMappingURL=errors.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.mjs","sources":["../../../../src/services/document-service/middlewares/errors.ts"],"sourcesContent":["import { errors as databaseErrors } from '@strapi/database';\nimport { errors } from '@strapi/utils';\n\nimport type { Middleware } from './middleware-manager';\n\nconst databaseErrorsToTransform = [\n databaseErrors.InvalidTimeError,\n databaseErrors.InvalidDateTimeError,\n databaseErrors.InvalidDateError,\n databaseErrors.InvalidRelationError,\n];\n\n/**\n * Handle database errors\n */\nexport const databaseErrorsMiddleware: Middleware = async (ctx, next) => {\n try {\n return await next();\n } catch (error) {\n if (databaseErrorsToTransform.some((errorToTransform) => error instanceof errorToTransform)) {\n if (error instanceof Error) {\n throw new errors.ValidationError(error.message);\n }\n\n throw error;\n }\n throw error;\n }\n};\n"],"names":["databaseErrors","errors"],"mappings":";;AAKA,MAAM,4BAA4B;AAAA,EAChCA,OAAe;AAAA,EACfA,OAAe;AAAA,EACfA,OAAe;AAAA,EACfA,OAAe;AACjB;AAKa,MAAA,2BAAuC,OAAO,KAAK,SAAS;AACnE,MAAA;AACF,WAAO,MAAM,KAAK;AAAA,WACX,OAAO;AACd,QAAI,0BAA0B,KAAK,CAAC,qBAAqB,iBAAiB,gBAAgB,GAAG;AAC3F,UAAI,iBAAiB,OAAO;AAC1B,cAAM,IAAIC,SAAO,gBAAgB,MAAM,OAAO;AAAA,MAChD;AAEM,YAAA;AAAA,IACR;AACM,UAAA;AAAA,EACR;AACF;"}
1
+ {"version":3,"file":"errors.mjs","sources":["../../../../src/services/document-service/middlewares/errors.ts"],"sourcesContent":["import { errors as databaseErrors } from '@strapi/database';\nimport { errors } from '@strapi/utils';\n\nimport type { Middleware } from './middleware-manager';\n\nconst databaseErrorsToTransform = [\n databaseErrors.InvalidTimeError,\n databaseErrors.InvalidDateTimeError,\n databaseErrors.InvalidDateError,\n databaseErrors.InvalidRelationError,\n];\n\n/**\n * Handle database errors\n */\nexport const databaseErrorsMiddleware: Middleware = async (ctx, next) => {\n try {\n return await next();\n } catch (error) {\n if (databaseErrorsToTransform.some((errorToTransform) => error instanceof errorToTransform)) {\n if (error instanceof Error) {\n throw new errors.ValidationError(error.message);\n }\n\n throw error;\n }\n throw error;\n }\n};\n"],"names":["databaseErrorsToTransform","databaseErrors","InvalidTimeError","InvalidDateTimeError","InvalidDateError","InvalidRelationError","databaseErrorsMiddleware","ctx","next","error","some","errorToTransform","Error","errors","ValidationError","message"],"mappings":";;;AAKA,MAAMA,yBAA4B,GAAA;AAChCC,IAAAA,MAAAA,CAAeC,gBAAgB;AAC/BD,IAAAA,MAAAA,CAAeE,oBAAoB;AACnCF,IAAAA,MAAAA,CAAeG,gBAAgB;AAC/BH,IAAAA,MAAAA,CAAeI;AAChB,CAAA;AAED;;AAEC,IACM,MAAMC,wBAAuC,GAAA,OAAOC,GAAKC,EAAAA,IAAAA,GAAAA;IAC9D,IAAI;AACF,QAAA,OAAO,MAAMA,IAAAA,EAAAA;AACf,KAAA,CAAE,OAAOC,KAAO,EAAA;AACd,QAAA,IAAIT,0BAA0BU,IAAI,CAAC,CAACC,gBAAAA,GAAqBF,iBAAiBE,gBAAmB,CAAA,EAAA;AAC3F,YAAA,IAAIF,iBAAiBG,KAAO,EAAA;AAC1B,gBAAA,MAAM,IAAIC,QAAAA,CAAOC,eAAe,CAACL,MAAMM,OAAO,CAAA;AAChD;YAEA,MAAMN,KAAAA;AACR;QACA,MAAMA,KAAAA;AACR;AACF;;;;"}
@@ -1,7 +1,10 @@
1
- export type Middleware = (ctx: any, next: () => Promise<void>) => Promise<void>;
1
+ export type Middleware = (ctx: any, next: () => Promise<void>) => Promise<void> | void;
2
+ export type Options = {
3
+ exclude?: string[];
4
+ };
2
5
  export declare const createMiddlewareManager: () => {
3
6
  use(middleware: Middleware): () => Middleware[];
4
7
  run(ctx: any, cb: () => void): Promise<void>;
5
- wrapObject<TSource extends Record<string, any>>(source: TSource, ctxDefaults?: {}): TSource;
8
+ wrapObject<TSource>(source: TSource, ctxDefaults?: {}, opts?: Options): TSource;
6
9
  };
7
10
  //# sourceMappingURL=middleware-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware-manager.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/middlewares/middleware-manager.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhF,eAAO,MAAM,uBAAuB;oBAIhB,UAAU;aAMX,GAAG,MAAM,MAAM,IAAI;;CA4CrC,CAAC"}
1
+ {"version":3,"file":"middleware-manager.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/middlewares/middleware-manager.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEvF,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,uBAAuB;oBAIhB,UAAU;aAMX,GAAG,MAAM,MAAM,IAAI;gCAcN,OAAO,2BAA0B,OAAO,GAAQ,OAAO;CAiCtF,CAAC"}
@@ -1,46 +1,51 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const createMiddlewareManager = () => {
4
- const middlewares = [];
5
- const manager = {
6
- use(middleware) {
7
- middlewares.push(middleware);
8
- return () => middlewares.splice(middlewares.indexOf(middleware), 1);
9
- },
10
- async run(ctx, cb) {
11
- let index = 0;
12
- const next = async () => {
13
- if (index < middlewares.length) {
14
- return middlewares[index++](ctx, next);
15
- }
16
- return cb();
17
- };
18
- return next();
19
- },
20
- wrapObject(source, ctxDefaults = {}) {
21
- const facade = {};
22
- for (const key in source) {
23
- if (Object.hasOwnProperty.call(source, key)) {
24
- const prop = source[key];
25
- if (typeof prop === "function") {
26
- const newMethod = async (...args) => {
27
- const ctx = {
28
- ...ctxDefaults,
29
- action: key,
30
- args
31
- };
32
- return manager.run(ctx, () => prop(...ctx.args));
1
+ 'use strict';
2
+
3
+ const createMiddlewareManager = ()=>{
4
+ const middlewares = [];
5
+ const manager = {
6
+ use (middleware) {
7
+ middlewares.push(middleware);
8
+ return ()=>middlewares.splice(middlewares.indexOf(middleware), 1);
9
+ },
10
+ async run (ctx, cb) {
11
+ let index = 0;
12
+ const next = async ()=>{
13
+ if (index < middlewares.length) {
14
+ // eslint-disable-next-line no-plusplus
15
+ return middlewares[index++](ctx, next);
16
+ }
17
+ return cb();
33
18
  };
34
- facade[key] = newMethod;
35
- } else {
36
- facade[key] = prop;
37
- }
19
+ return next();
20
+ },
21
+ wrapObject (source, ctxDefaults = {}, opts = {}) {
22
+ const facade = {};
23
+ const { exclude = [] } = opts;
24
+ for(const key in source){
25
+ if (Object.hasOwnProperty.call(source, key)) {
26
+ const prop = source[key];
27
+ if (exclude.includes(key)) {
28
+ facade[key] = prop;
29
+ } else if (typeof prop === 'function') {
30
+ const newMethod = async (params = {})=>{
31
+ const ctx = {
32
+ ...ctxDefaults,
33
+ action: key,
34
+ params
35
+ };
36
+ return manager.run(ctx, ()=>prop(ctx.params));
37
+ };
38
+ facade[key] = newMethod;
39
+ } else {
40
+ facade[key] = prop;
41
+ }
42
+ }
43
+ }
44
+ return facade;
38
45
  }
39
- }
40
- return facade;
41
- }
42
- };
43
- return manager;
46
+ };
47
+ return manager;
44
48
  };
49
+
45
50
  exports.createMiddlewareManager = createMiddlewareManager;
46
51
  //# sourceMappingURL=middleware-manager.js.map