@strapi/core 0.0.0-experimental.a407f3bc8fb79a53cf7975140864526b6ddbac4b → 0.0.0-experimental.a43f40178ac76e3f2bd6860c987e0197be9da379

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1036) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +52 -59
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +438 -428
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +429 -439
  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 +8 -0
  30. package/dist/configuration/urls.d.ts.map +1 -0
  31. package/dist/configuration/urls.js +81 -0
  32. package/dist/configuration/urls.js.map +1 -0
  33. package/dist/configuration/urls.mjs +77 -0
  34. package/dist/configuration/urls.mjs.map +1 -0
  35. package/dist/container.d.ts +2 -2
  36. package/dist/container.d.ts.map +1 -1
  37. package/dist/container.js +27 -23
  38. package/dist/container.js.map +1 -1
  39. package/dist/container.mjs +26 -24
  40. package/dist/container.mjs.map +1 -1
  41. package/dist/core-api/controller/collection-type.d.ts +3 -3
  42. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  43. package/dist/core-api/controller/collection-type.js +77 -73
  44. package/dist/core-api/controller/collection-type.js.map +1 -1
  45. package/dist/core-api/controller/collection-type.mjs +76 -74
  46. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  47. package/dist/core-api/controller/index.d.ts +3 -3
  48. package/dist/core-api/controller/index.d.ts.map +1 -1
  49. package/dist/core-api/controller/index.js +63 -43
  50. package/dist/core-api/controller/index.js.map +1 -1
  51. package/dist/core-api/controller/index.mjs +62 -44
  52. package/dist/core-api/controller/index.mjs.map +1 -1
  53. package/dist/core-api/controller/single-type.d.ts +3 -3
  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 +10 -9
  60. package/dist/core-api/controller/transform.d.ts.map +1 -1
  61. package/dist/core-api/controller/transform.js +73 -58
  62. package/dist/core-api/controller/transform.js.map +1 -1
  63. package/dist/core-api/controller/transform.mjs +72 -59
  64. package/dist/core-api/controller/transform.mjs.map +1 -1
  65. package/dist/core-api/routes/index.d.ts.map +1 -1
  66. package/dist/core-api/routes/index.js +64 -62
  67. package/dist/core-api/routes/index.js.map +1 -1
  68. package/dist/core-api/routes/index.mjs +62 -62
  69. package/dist/core-api/routes/index.mjs.map +1 -1
  70. package/dist/core-api/service/collection-type.d.ts +11 -17
  71. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  72. package/dist/core-api/service/collection-type.js +73 -49
  73. package/dist/core-api/service/collection-type.js.map +1 -1
  74. package/dist/core-api/service/collection-type.mjs +72 -51
  75. package/dist/core-api/service/collection-type.mjs.map +1 -1
  76. package/dist/core-api/service/core-service.js +9 -8
  77. package/dist/core-api/service/core-service.js.map +1 -1
  78. package/dist/core-api/service/core-service.mjs +8 -9
  79. package/dist/core-api/service/core-service.mjs.map +1 -1
  80. package/dist/core-api/service/index.d.ts +3 -3
  81. package/dist/core-api/service/index.d.ts.map +1 -1
  82. package/dist/core-api/service/index.js +13 -13
  83. package/dist/core-api/service/index.js.map +1 -1
  84. package/dist/core-api/service/index.mjs +12 -14
  85. package/dist/core-api/service/index.mjs.map +1 -1
  86. package/dist/core-api/service/pagination.d.ts +4 -11
  87. package/dist/core-api/service/pagination.d.ts.map +1 -1
  88. package/dist/core-api/service/pagination.js +68 -68
  89. package/dist/core-api/service/pagination.js.map +1 -1
  90. package/dist/core-api/service/pagination.mjs +66 -71
  91. package/dist/core-api/service/pagination.mjs.map +1 -1
  92. package/dist/core-api/service/single-type.d.ts +5 -5
  93. package/dist/core-api/service/single-type.d.ts.map +1 -1
  94. package/dist/core-api/service/single-type.js +43 -33
  95. package/dist/core-api/service/single-type.js.map +1 -1
  96. package/dist/core-api/service/single-type.mjs +42 -35
  97. package/dist/core-api/service/single-type.mjs.map +1 -1
  98. package/dist/domain/content-type/index.d.ts +1 -1
  99. package/dist/domain/content-type/index.d.ts.map +1 -1
  100. package/dist/domain/content-type/index.js +95 -97
  101. package/dist/domain/content-type/index.js.map +1 -1
  102. package/dist/domain/content-type/index.mjs +94 -97
  103. package/dist/domain/content-type/index.mjs.map +1 -1
  104. package/dist/domain/content-type/validator.d.ts.map +1 -1
  105. package/dist/domain/content-type/validator.js +84 -69
  106. package/dist/domain/content-type/validator.js.map +1 -1
  107. package/dist/domain/content-type/validator.mjs +83 -68
  108. package/dist/domain/content-type/validator.mjs.map +1 -1
  109. package/dist/domain/module/index.d.ts +24 -23
  110. package/dist/domain/module/index.d.ts.map +1 -1
  111. package/dist/domain/module/index.js +109 -100
  112. package/dist/domain/module/index.js.map +1 -1
  113. package/dist/domain/module/index.mjs +108 -99
  114. package/dist/domain/module/index.mjs.map +1 -1
  115. package/dist/domain/module/validation.js +25 -20
  116. package/dist/domain/module/validation.js.map +1 -1
  117. package/dist/domain/module/validation.mjs +24 -21
  118. package/dist/domain/module/validation.mjs.map +1 -1
  119. package/dist/ee/index.d.ts +11 -2
  120. package/dist/ee/index.d.ts.map +1 -1
  121. package/dist/ee/index.js +197 -132
  122. package/dist/ee/index.js.map +1 -1
  123. package/dist/ee/index.mjs +196 -134
  124. package/dist/ee/index.mjs.map +1 -1
  125. package/dist/ee/license.d.ts +5 -3
  126. package/dist/ee/license.d.ts.map +1 -1
  127. package/dist/ee/license.js +105 -74
  128. package/dist/ee/license.js.map +1 -1
  129. package/dist/ee/license.mjs +103 -75
  130. package/dist/ee/license.mjs.map +1 -1
  131. package/dist/factories.d.ts +10 -10
  132. package/dist/factories.d.ts.map +1 -1
  133. package/dist/factories.js +72 -63
  134. package/dist/factories.js.map +1 -1
  135. package/dist/factories.mjs +71 -67
  136. package/dist/factories.mjs.map +1 -1
  137. package/dist/index.d.ts +18 -2
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +32 -5
  140. package/dist/index.js.map +1 -1
  141. package/dist/index.mjs +29 -5
  142. package/dist/index.mjs.map +1 -1
  143. package/dist/loaders/admin.d.ts +2 -2
  144. package/dist/loaders/admin.d.ts.map +1 -1
  145. package/dist/loaders/admin.js +21 -21
  146. package/dist/loaders/admin.js.map +1 -1
  147. package/dist/loaders/admin.mjs +20 -21
  148. package/dist/loaders/admin.mjs.map +1 -1
  149. package/dist/loaders/apis.d.ts +2 -2
  150. package/dist/loaders/apis.d.ts.map +1 -1
  151. package/dist/loaders/apis.js +143 -120
  152. package/dist/loaders/apis.js.map +1 -1
  153. package/dist/loaders/apis.mjs +142 -119
  154. package/dist/loaders/apis.mjs.map +1 -1
  155. package/dist/loaders/components.d.ts +2 -2
  156. package/dist/loaders/components.d.ts.map +1 -1
  157. package/dist/loaders/components.js +33 -34
  158. package/dist/loaders/components.js.map +1 -1
  159. package/dist/loaders/components.mjs +32 -34
  160. package/dist/loaders/components.mjs.map +1 -1
  161. package/dist/loaders/index.d.ts +2 -2
  162. package/dist/loaders/index.d.ts.map +1 -1
  163. package/dist/loaders/index.js +22 -22
  164. package/dist/loaders/index.js.map +1 -1
  165. package/dist/loaders/index.mjs +21 -23
  166. package/dist/loaders/index.mjs.map +1 -1
  167. package/dist/loaders/middlewares.d.ts +2 -2
  168. package/dist/loaders/middlewares.d.ts.map +1 -1
  169. package/dist/loaders/middlewares.js +29 -25
  170. package/dist/loaders/middlewares.js.map +1 -1
  171. package/dist/loaders/middlewares.mjs +28 -25
  172. package/dist/loaders/middlewares.mjs.map +1 -1
  173. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  174. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  175. package/dist/loaders/plugins/get-enabled-plugins.js +125 -100
  176. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  177. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -99
  178. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  179. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  180. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  181. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  182. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  183. package/dist/loaders/plugins/index.d.ts +2 -2
  184. package/dist/loaders/plugins/index.d.ts.map +1 -1
  185. package/dist/loaders/plugins/index.js +141 -104
  186. package/dist/loaders/plugins/index.js.map +1 -1
  187. package/dist/loaders/plugins/index.mjs +121 -104
  188. package/dist/loaders/plugins/index.mjs.map +1 -1
  189. package/dist/loaders/policies.d.ts +2 -2
  190. package/dist/loaders/policies.d.ts.map +1 -1
  191. package/dist/loaders/policies.js +24 -20
  192. package/dist/loaders/policies.js.map +1 -1
  193. package/dist/loaders/policies.mjs +23 -20
  194. package/dist/loaders/policies.mjs.map +1 -1
  195. package/dist/loaders/sanitizers.d.ts +2 -2
  196. package/dist/loaders/sanitizers.d.ts.map +1 -1
  197. package/dist/loaders/sanitizers.js +10 -4
  198. package/dist/loaders/sanitizers.js.map +1 -1
  199. package/dist/loaders/sanitizers.mjs +9 -6
  200. package/dist/loaders/sanitizers.mjs.map +1 -1
  201. package/dist/loaders/src-index.d.ts +2 -2
  202. package/dist/loaders/src-index.d.ts.map +1 -1
  203. package/dist/loaders/src-index.js +35 -27
  204. package/dist/loaders/src-index.js.map +1 -1
  205. package/dist/loaders/src-index.mjs +34 -29
  206. package/dist/loaders/src-index.mjs.map +1 -1
  207. package/dist/loaders/validators.d.ts +2 -2
  208. package/dist/loaders/validators.d.ts.map +1 -1
  209. package/dist/loaders/validators.js +9 -4
  210. package/dist/loaders/validators.js.map +1 -1
  211. package/dist/loaders/validators.mjs +8 -6
  212. package/dist/loaders/validators.mjs.map +1 -1
  213. package/dist/middlewares/body.d.ts +4 -4
  214. package/dist/middlewares/body.d.ts.map +1 -1
  215. package/dist/middlewares/body.js +58 -54
  216. package/dist/middlewares/body.js.map +1 -1
  217. package/dist/middlewares/body.mjs +57 -51
  218. package/dist/middlewares/body.mjs.map +1 -1
  219. package/dist/middlewares/compression.d.ts +2 -2
  220. package/dist/middlewares/compression.d.ts.map +1 -1
  221. package/dist/middlewares/compression.js +6 -6
  222. package/dist/middlewares/compression.js.map +1 -1
  223. package/dist/middlewares/compression.mjs +5 -5
  224. package/dist/middlewares/compression.mjs.map +1 -1
  225. package/dist/middlewares/cors.d.ts +2 -2
  226. package/dist/middlewares/cors.d.ts.map +1 -1
  227. package/dist/middlewares/cors.js +59 -46
  228. package/dist/middlewares/cors.js.map +1 -1
  229. package/dist/middlewares/cors.mjs +58 -45
  230. package/dist/middlewares/cors.mjs.map +1 -1
  231. package/dist/middlewares/errors.d.ts +2 -2
  232. package/dist/middlewares/errors.d.ts.map +1 -1
  233. package/dist/middlewares/errors.js +32 -30
  234. package/dist/middlewares/errors.js.map +1 -1
  235. package/dist/middlewares/errors.mjs +31 -31
  236. package/dist/middlewares/errors.mjs.map +1 -1
  237. package/dist/middlewares/favicon.d.ts +2 -2
  238. package/dist/middlewares/favicon.d.ts.map +1 -1
  239. package/dist/middlewares/favicon.js +27 -17
  240. package/dist/middlewares/favicon.js.map +1 -1
  241. package/dist/middlewares/favicon.mjs +26 -16
  242. package/dist/middlewares/favicon.mjs.map +1 -1
  243. package/dist/middlewares/index.d.ts +2 -2
  244. package/dist/middlewares/index.d.ts.map +1 -1
  245. package/dist/middlewares/index.js +32 -30
  246. package/dist/middlewares/index.js.map +1 -1
  247. package/dist/middlewares/index.mjs +31 -31
  248. package/dist/middlewares/index.mjs.map +1 -1
  249. package/dist/middlewares/ip.d.ts +2 -2
  250. package/dist/middlewares/ip.d.ts.map +1 -1
  251. package/dist/middlewares/ip.js +6 -6
  252. package/dist/middlewares/ip.js.map +1 -1
  253. package/dist/middlewares/ip.mjs +5 -5
  254. package/dist/middlewares/ip.mjs.map +1 -1
  255. package/dist/middlewares/logger.d.ts +2 -2
  256. package/dist/middlewares/logger.d.ts.map +1 -1
  257. package/dist/middlewares/logger.js +10 -9
  258. package/dist/middlewares/logger.js.map +1 -1
  259. package/dist/middlewares/logger.mjs +9 -10
  260. package/dist/middlewares/logger.mjs.map +1 -1
  261. package/dist/middlewares/powered-by.d.ts +2 -2
  262. package/dist/middlewares/powered-by.d.ts.map +1 -1
  263. package/dist/middlewares/powered-by.js +13 -9
  264. package/dist/middlewares/powered-by.js.map +1 -1
  265. package/dist/middlewares/powered-by.mjs +12 -10
  266. package/dist/middlewares/powered-by.mjs.map +1 -1
  267. package/dist/middlewares/public.d.ts +2 -2
  268. package/dist/middlewares/public.d.ts.map +1 -1
  269. package/dist/middlewares/public.js +33 -29
  270. package/dist/middlewares/public.js.map +1 -1
  271. package/dist/middlewares/public.mjs +32 -28
  272. package/dist/middlewares/public.mjs.map +1 -1
  273. package/dist/middlewares/query.d.ts +2 -2
  274. package/dist/middlewares/query.d.ts.map +1 -1
  275. package/dist/middlewares/query.js +35 -32
  276. package/dist/middlewares/query.js.map +1 -1
  277. package/dist/middlewares/query.mjs +34 -31
  278. package/dist/middlewares/query.mjs.map +1 -1
  279. package/dist/middlewares/response-time.d.ts +2 -2
  280. package/dist/middlewares/response-time.d.ts.map +1 -1
  281. package/dist/middlewares/response-time.js +10 -9
  282. package/dist/middlewares/response-time.js.map +1 -1
  283. package/dist/middlewares/response-time.mjs +9 -10
  284. package/dist/middlewares/response-time.mjs.map +1 -1
  285. package/dist/middlewares/responses.d.ts +3 -3
  286. package/dist/middlewares/responses.d.ts.map +1 -1
  287. package/dist/middlewares/responses.js +14 -12
  288. package/dist/middlewares/responses.js.map +1 -1
  289. package/dist/middlewares/responses.mjs +13 -13
  290. package/dist/middlewares/responses.mjs.map +1 -1
  291. package/dist/middlewares/security.d.ts +2 -2
  292. package/dist/middlewares/security.d.ts.map +1 -1
  293. package/dist/middlewares/security.js +110 -65
  294. package/dist/middlewares/security.js.map +1 -1
  295. package/dist/middlewares/security.mjs +108 -63
  296. package/dist/middlewares/security.mjs.map +1 -1
  297. package/dist/middlewares/session.d.ts +2 -2
  298. package/dist/middlewares/session.d.ts.map +1 -1
  299. package/dist/middlewares/session.js +26 -25
  300. package/dist/middlewares/session.js.map +1 -1
  301. package/dist/middlewares/session.mjs +25 -24
  302. package/dist/middlewares/session.mjs.map +1 -1
  303. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  304. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  305. package/dist/migrations/database/5.0.0-discard-drafts.js +168 -0
  306. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  307. package/dist/migrations/database/5.0.0-discard-drafts.mjs +165 -0
  308. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  309. package/dist/migrations/draft-publish.d.ts +17 -0
  310. package/dist/migrations/draft-publish.d.ts.map +1 -0
  311. package/dist/migrations/draft-publish.js +69 -0
  312. package/dist/migrations/draft-publish.js.map +1 -0
  313. package/dist/migrations/draft-publish.mjs +66 -0
  314. package/dist/migrations/draft-publish.mjs.map +1 -0
  315. package/dist/migrations/i18n.d.ts +5 -0
  316. package/dist/migrations/i18n.d.ts.map +1 -0
  317. package/dist/migrations/i18n.js +71 -0
  318. package/dist/migrations/i18n.js.map +1 -0
  319. package/dist/migrations/i18n.mjs +68 -0
  320. package/dist/migrations/i18n.mjs.map +1 -0
  321. package/dist/migrations/index.d.ts +5 -0
  322. package/dist/migrations/index.d.ts.map +1 -0
  323. package/dist/migrations/index.js +29 -0
  324. package/dist/migrations/index.js.map +1 -0
  325. package/dist/migrations/index.mjs +26 -0
  326. package/dist/migrations/index.mjs.map +1 -0
  327. package/dist/package.json.js +184 -0
  328. package/dist/package.json.js.map +1 -0
  329. package/dist/package.json.mjs +161 -0
  330. package/dist/package.json.mjs.map +1 -0
  331. package/dist/providers/admin.d.ts +3 -0
  332. package/dist/providers/admin.d.ts.map +1 -0
  333. package/dist/providers/admin.js +30 -0
  334. package/dist/providers/admin.js.map +1 -0
  335. package/dist/providers/admin.mjs +28 -0
  336. package/dist/providers/admin.mjs.map +1 -0
  337. package/dist/providers/coreStore.d.ts +3 -0
  338. package/dist/providers/coreStore.d.ts.map +1 -0
  339. package/dist/providers/coreStore.js +16 -0
  340. package/dist/providers/coreStore.js.map +1 -0
  341. package/dist/providers/coreStore.mjs +14 -0
  342. package/dist/providers/coreStore.mjs.map +1 -0
  343. package/dist/providers/cron.d.ts +3 -0
  344. package/dist/providers/cron.d.ts.map +1 -0
  345. package/dist/providers/cron.js +23 -0
  346. package/dist/providers/cron.js.map +1 -0
  347. package/dist/providers/cron.mjs +21 -0
  348. package/dist/providers/cron.mjs.map +1 -0
  349. package/dist/providers/index.d.ts +3 -0
  350. package/dist/providers/index.d.ts.map +1 -0
  351. package/dist/providers/index.js +20 -0
  352. package/dist/providers/index.js.map +1 -0
  353. package/dist/providers/index.mjs +18 -0
  354. package/dist/providers/index.mjs.map +1 -0
  355. package/dist/providers/provider.d.ts +9 -0
  356. package/dist/providers/provider.d.ts.map +1 -0
  357. package/dist/providers/provider.js +6 -0
  358. package/dist/providers/provider.js.map +1 -0
  359. package/dist/providers/provider.mjs +4 -0
  360. package/dist/providers/provider.mjs.map +1 -0
  361. package/dist/providers/registries.d.ts +3 -0
  362. package/dist/providers/registries.d.ts.map +1 -0
  363. package/dist/providers/registries.js +40 -0
  364. package/dist/providers/registries.js.map +1 -0
  365. package/dist/providers/registries.mjs +38 -0
  366. package/dist/providers/registries.mjs.map +1 -0
  367. package/dist/providers/telemetry.d.ts +3 -0
  368. package/dist/providers/telemetry.d.ts.map +1 -0
  369. package/dist/providers/telemetry.js +22 -0
  370. package/dist/providers/telemetry.js.map +1 -0
  371. package/dist/providers/telemetry.mjs +20 -0
  372. package/dist/providers/telemetry.mjs.map +1 -0
  373. package/dist/providers/webhooks.d.ts +3 -0
  374. package/dist/providers/webhooks.d.ts.map +1 -0
  375. package/dist/providers/webhooks.js +32 -0
  376. package/dist/providers/webhooks.js.map +1 -0
  377. package/dist/providers/webhooks.mjs +30 -0
  378. package/dist/providers/webhooks.mjs.map +1 -0
  379. package/dist/registries/apis.d.ts +2 -2
  380. package/dist/registries/apis.d.ts.map +1 -1
  381. package/dist/registries/apis.js +23 -20
  382. package/dist/registries/apis.js.map +1 -1
  383. package/dist/registries/apis.mjs +22 -22
  384. package/dist/registries/apis.mjs.map +1 -1
  385. package/dist/registries/components.d.ts +6 -6
  386. package/dist/registries/components.d.ts.map +1 -1
  387. package/dist/registries/components.js +35 -37
  388. package/dist/registries/components.js.map +1 -1
  389. package/dist/registries/components.mjs +34 -39
  390. package/dist/registries/components.mjs.map +1 -1
  391. package/dist/registries/content-types.d.ts +5 -5
  392. package/dist/registries/content-types.d.ts.map +1 -1
  393. package/dist/registries/content-types.js +54 -59
  394. package/dist/registries/content-types.js.map +1 -1
  395. package/dist/registries/content-types.mjs +53 -61
  396. package/dist/registries/content-types.mjs.map +1 -1
  397. package/dist/registries/controllers.d.ts +10 -10
  398. package/dist/registries/controllers.d.ts.map +1 -1
  399. package/dist/registries/controllers.js +70 -71
  400. package/dist/registries/controllers.js.map +1 -1
  401. package/dist/registries/controllers.mjs +69 -73
  402. package/dist/registries/controllers.mjs.map +1 -1
  403. package/dist/registries/custom-fields.d.ts +3 -3
  404. package/dist/registries/custom-fields.d.ts.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.d.ts +6 -6
  416. package/dist/registries/middlewares.d.ts.map +1 -1
  417. package/dist/registries/middlewares.js +49 -51
  418. package/dist/registries/middlewares.js.map +1 -1
  419. package/dist/registries/middlewares.mjs +48 -53
  420. package/dist/registries/middlewares.mjs.map +1 -1
  421. package/dist/registries/models.js +14 -13
  422. package/dist/registries/models.js.map +1 -1
  423. package/dist/registries/models.mjs +13 -14
  424. package/dist/registries/models.mjs.map +1 -1
  425. package/dist/registries/modules.d.ts +2 -2
  426. package/dist/registries/modules.d.ts.map +1 -1
  427. package/dist/registries/modules.js +39 -36
  428. package/dist/registries/modules.js.map +1 -1
  429. package/dist/registries/modules.mjs +38 -38
  430. package/dist/registries/modules.mjs.map +1 -1
  431. package/dist/registries/namespace.js +21 -20
  432. package/dist/registries/namespace.js.map +1 -1
  433. package/dist/registries/namespace.mjs +20 -23
  434. package/dist/registries/namespace.mjs.map +1 -1
  435. package/dist/registries/plugins.d.ts +5 -5
  436. package/dist/registries/plugins.d.ts.map +1 -1
  437. package/dist/registries/plugins.js +23 -20
  438. package/dist/registries/plugins.js.map +1 -1
  439. package/dist/registries/plugins.mjs +22 -22
  440. package/dist/registries/plugins.mjs.map +1 -1
  441. package/dist/registries/policies.d.ts +22 -10
  442. package/dist/registries/policies.d.ts.map +1 -1
  443. package/dist/registries/policies.js +107 -54
  444. package/dist/registries/policies.js.map +1 -1
  445. package/dist/registries/policies.mjs +106 -56
  446. package/dist/registries/policies.mjs.map +1 -1
  447. package/dist/registries/sanitizers.js +23 -22
  448. package/dist/registries/sanitizers.js.map +1 -1
  449. package/dist/registries/sanitizers.mjs +22 -22
  450. package/dist/registries/sanitizers.mjs.map +1 -1
  451. package/dist/registries/services.d.ts +8 -8
  452. package/dist/registries/services.d.ts.map +1 -1
  453. package/dist/registries/services.js +71 -71
  454. package/dist/registries/services.js.map +1 -1
  455. package/dist/registries/services.mjs +70 -73
  456. package/dist/registries/services.mjs.map +1 -1
  457. package/dist/registries/validators.js +23 -22
  458. package/dist/registries/validators.js.map +1 -1
  459. package/dist/registries/validators.mjs +22 -22
  460. package/dist/registries/validators.mjs.map +1 -1
  461. package/dist/services/auth/index.d.ts +4 -4
  462. package/dist/services/auth/index.d.ts.map +1 -1
  463. package/dist/services/auth/index.js +74 -74
  464. package/dist/services/auth/index.js.map +1 -1
  465. package/dist/services/auth/index.mjs +73 -74
  466. package/dist/services/auth/index.mjs.map +1 -1
  467. package/dist/services/config.d.ts +3 -0
  468. package/dist/services/config.d.ts.map +1 -0
  469. package/dist/services/config.js +51 -0
  470. package/dist/services/config.js.map +1 -0
  471. package/dist/services/config.mjs +49 -0
  472. package/dist/services/config.mjs.map +1 -0
  473. package/dist/services/content-api/index.d.ts +31 -15
  474. package/dist/services/content-api/index.d.ts.map +1 -1
  475. package/dist/services/content-api/index.js +80 -53
  476. package/dist/services/content-api/index.js.map +1 -1
  477. package/dist/services/content-api/index.mjs +79 -53
  478. package/dist/services/content-api/index.mjs.map +1 -1
  479. package/dist/services/content-api/permissions/engine.js +8 -5
  480. package/dist/services/content-api/permissions/engine.js.map +1 -1
  481. package/dist/services/content-api/permissions/engine.mjs +7 -5
  482. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  483. package/dist/services/content-api/permissions/index.d.ts +13 -15
  484. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  485. package/dist/services/content-api/permissions/index.js +101 -81
  486. package/dist/services/content-api/permissions/index.js.map +1 -1
  487. package/dist/services/content-api/permissions/index.mjs +100 -81
  488. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  489. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  490. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  491. package/dist/services/content-api/permissions/providers/action.js +17 -14
  492. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  493. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  494. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  495. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  496. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  497. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  498. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  499. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  500. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  501. package/dist/services/core-store.d.ts +2 -2
  502. package/dist/services/core-store.d.ts.map +1 -1
  503. package/dist/services/core-store.js +115 -95
  504. package/dist/services/core-store.js.map +1 -1
  505. package/dist/services/core-store.mjs +114 -97
  506. package/dist/services/core-store.mjs.map +1 -1
  507. package/dist/services/cron.d.ts +5 -5
  508. package/dist/services/cron.d.ts.map +1 -1
  509. package/dist/services/cron.js +74 -60
  510. package/dist/services/cron.js.map +1 -1
  511. package/dist/services/cron.mjs +73 -62
  512. package/dist/services/cron.mjs.map +1 -1
  513. package/dist/services/custom-fields.d.ts +2 -2
  514. package/dist/services/custom-fields.d.ts.map +1 -1
  515. package/dist/services/custom-fields.js +9 -7
  516. package/dist/services/custom-fields.js.map +1 -1
  517. package/dist/services/custom-fields.mjs +8 -9
  518. package/dist/services/custom-fields.mjs.map +1 -1
  519. package/dist/services/document-service/attributes/index.d.ts +6 -0
  520. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  521. package/dist/services/document-service/attributes/index.js +27 -0
  522. package/dist/services/document-service/attributes/index.js.map +1 -0
  523. package/dist/services/document-service/attributes/index.mjs +25 -0
  524. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  525. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  526. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  527. package/dist/services/document-service/attributes/transforms.js +21 -0
  528. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  529. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  530. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  531. package/dist/services/document-service/common.d.ts +2 -2
  532. package/dist/services/document-service/common.d.ts.map +1 -1
  533. package/dist/services/document-service/common.js +5 -4
  534. package/dist/services/document-service/common.js.map +1 -1
  535. package/dist/services/document-service/common.mjs +4 -5
  536. package/dist/services/document-service/common.mjs.map +1 -1
  537. package/dist/services/document-service/components.d.ts +25 -1
  538. package/dist/services/document-service/components.d.ts.map +1 -1
  539. package/dist/services/document-service/components.js +286 -0
  540. package/dist/services/document-service/components.js.map +1 -0
  541. package/dist/services/document-service/components.mjs +278 -0
  542. package/dist/services/document-service/components.mjs.map +1 -0
  543. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  544. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  545. package/dist/services/document-service/draft-and-publish.js +104 -36
  546. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  547. package/dist/services/document-service/draft-and-publish.mjs +96 -35
  548. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  549. package/dist/services/document-service/entries.d.ts +10 -0
  550. package/dist/services/document-service/entries.d.ts.map +1 -0
  551. package/dist/services/document-service/entries.js +155 -0
  552. package/dist/services/document-service/entries.js.map +1 -0
  553. package/dist/services/document-service/entries.mjs +153 -0
  554. package/dist/services/document-service/entries.mjs.map +1 -0
  555. package/dist/services/document-service/events.d.ts +25 -0
  556. package/dist/services/document-service/events.d.ts.map +1 -0
  557. package/dist/services/document-service/events.js +59 -0
  558. package/dist/services/document-service/events.js.map +1 -0
  559. package/dist/services/document-service/events.mjs +57 -0
  560. package/dist/services/document-service/events.mjs.map +1 -0
  561. package/dist/services/document-service/index.d.ts +3 -4
  562. package/dist/services/document-service/index.d.ts.map +1 -1
  563. package/dist/services/document-service/index.js +53 -19
  564. package/dist/services/document-service/index.js.map +1 -1
  565. package/dist/services/document-service/index.mjs +52 -20
  566. package/dist/services/document-service/index.mjs.map +1 -1
  567. package/dist/services/document-service/internationalization.d.ts +11 -6
  568. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  569. package/dist/services/document-service/internationalization.js +98 -41
  570. package/dist/services/document-service/internationalization.js.map +1 -1
  571. package/dist/services/document-service/internationalization.mjs +92 -41
  572. package/dist/services/document-service/internationalization.mjs.map +1 -1
  573. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  574. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  575. package/dist/services/document-service/middlewares/errors.js +29 -0
  576. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  577. package/dist/services/document-service/middlewares/errors.mjs +27 -0
  578. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  579. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  580. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  581. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  582. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  583. package/dist/services/document-service/middlewares/middleware-manager.js +51 -0
  584. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  585. package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
  586. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  587. package/dist/services/document-service/params.d.ts +3 -1
  588. package/dist/services/document-service/params.d.ts.map +1 -1
  589. package/dist/services/document-service/params.js +14 -0
  590. package/dist/services/document-service/params.js.map +1 -0
  591. package/dist/services/document-service/params.mjs +12 -0
  592. package/dist/services/document-service/params.mjs.map +1 -0
  593. package/dist/services/document-service/repository.d.ts +3 -0
  594. package/dist/services/document-service/repository.d.ts.map +1 -0
  595. package/dist/services/document-service/repository.js +365 -0
  596. package/dist/services/document-service/repository.js.map +1 -0
  597. package/dist/services/document-service/repository.mjs +363 -0
  598. package/dist/services/document-service/repository.mjs.map +1 -0
  599. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  600. package/dist/services/document-service/transform/data.js +22 -10
  601. package/dist/services/document-service/transform/data.js.map +1 -1
  602. package/dist/services/document-service/transform/data.mjs +21 -11
  603. package/dist/services/document-service/transform/data.mjs.map +1 -1
  604. package/dist/services/document-service/transform/fields.d.ts +2 -2
  605. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  606. package/dist/services/document-service/transform/fields.js +26 -17
  607. package/dist/services/document-service/transform/fields.js.map +1 -1
  608. package/dist/services/document-service/transform/fields.mjs +25 -18
  609. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  610. package/dist/services/document-service/transform/id-map.d.ts +4 -4
  611. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  612. package/dist/services/document-service/transform/id-map.js +117 -64
  613. package/dist/services/document-service/transform/id-map.js.map +1 -1
  614. package/dist/services/document-service/transform/id-map.mjs +116 -65
  615. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  616. package/dist/services/document-service/transform/id-transform.d.ts +4 -18
  617. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  618. package/dist/services/document-service/transform/id-transform.js +39 -25
  619. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  620. package/dist/services/document-service/transform/id-transform.mjs +37 -25
  621. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  622. package/dist/services/document-service/transform/populate.d.ts +5 -2
  623. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  624. package/dist/services/document-service/transform/populate.js +23 -18
  625. package/dist/services/document-service/transform/populate.js.map +1 -1
  626. package/dist/services/document-service/transform/populate.mjs +22 -19
  627. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  628. package/dist/services/document-service/transform/query.d.ts +5 -0
  629. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  630. package/dist/services/document-service/transform/query.js +14 -0
  631. package/dist/services/document-service/transform/query.js.map +1 -0
  632. package/dist/services/document-service/transform/query.mjs +12 -0
  633. package/dist/services/document-service/transform/query.mjs.map +1 -0
  634. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  635. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  636. package/dist/services/document-service/transform/relations/extract/data-ids.js +74 -73
  637. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  638. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +73 -74
  639. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  640. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +9 -5
  641. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  642. package/dist/services/document-service/transform/relations/transform/data-ids.js +105 -112
  643. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  644. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +104 -113
  645. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  646. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  647. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  648. package/dist/services/document-service/transform/relations/transform/default-locale.js +50 -0
  649. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  650. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +48 -0
  651. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  652. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  653. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  654. package/dist/services/document-service/transform/relations/utils/dp.js +56 -0
  655. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  656. package/dist/services/document-service/transform/relations/utils/dp.mjs +54 -0
  657. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  658. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  659. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  660. package/dist/services/document-service/transform/relations/utils/i18n.js +19 -23
  661. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  662. package/dist/services/document-service/transform/relations/utils/i18n.mjs +18 -26
  663. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  664. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  665. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  666. package/dist/services/document-service/transform/relations/utils/map-relation.js +130 -0
  667. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  668. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +127 -0
  669. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  670. package/dist/services/document-service/transform/relations/utils/types.d.ts +10 -1
  671. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  672. package/dist/services/document-service/transform/types.d.ts +4 -4
  673. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  674. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  675. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  676. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  677. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  678. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  679. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  680. package/dist/services/document-service/utils/populate.d.ts +9 -2
  681. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  682. package/dist/services/document-service/utils/populate.js +67 -37
  683. package/dist/services/document-service/utils/populate.js.map +1 -1
  684. package/dist/services/document-service/utils/populate.mjs +66 -38
  685. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  686. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  687. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  688. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  689. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  690. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  691. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  692. package/dist/services/entity-service/index.d.ts +4 -6
  693. package/dist/services/entity-service/index.d.ts.map +1 -1
  694. package/dist/services/entity-service/index.js +229 -319
  695. package/dist/services/entity-service/index.js.map +1 -1
  696. package/dist/services/entity-service/index.mjs +228 -318
  697. package/dist/services/entity-service/index.mjs.map +1 -1
  698. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  699. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  700. package/dist/services/entity-validator/blocks-validator.js +137 -104
  701. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  702. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  703. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  704. package/dist/services/entity-validator/index.d.ts +16 -2
  705. package/dist/services/entity-validator/index.d.ts.map +1 -1
  706. package/dist/services/entity-validator/index.js +371 -300
  707. package/dist/services/entity-validator/index.js.map +1 -1
  708. package/dist/services/entity-validator/index.mjs +367 -297
  709. package/dist/services/entity-validator/index.mjs.map +1 -1
  710. package/dist/services/entity-validator/validators.d.ts +37 -25
  711. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  712. package/dist/services/entity-validator/validators.js +286 -105
  713. package/dist/services/entity-validator/validators.js.map +1 -1
  714. package/dist/services/entity-validator/validators.mjs +277 -103
  715. package/dist/services/entity-validator/validators.mjs.map +1 -1
  716. package/dist/services/errors.js +65 -65
  717. package/dist/services/errors.js.map +1 -1
  718. package/dist/services/errors.mjs +64 -66
  719. package/dist/services/errors.mjs.map +1 -1
  720. package/dist/services/event-hub.d.ts +1 -0
  721. package/dist/services/event-hub.d.ts.map +1 -1
  722. package/dist/services/event-hub.js +82 -64
  723. package/dist/services/event-hub.js.map +1 -1
  724. package/dist/services/event-hub.mjs +81 -66
  725. package/dist/services/event-hub.mjs.map +1 -1
  726. package/dist/services/features.d.ts +3 -3
  727. package/dist/services/features.d.ts.map +1 -1
  728. package/dist/services/features.js +19 -14
  729. package/dist/services/features.js.map +1 -1
  730. package/dist/services/features.mjs +18 -15
  731. package/dist/services/features.mjs.map +1 -1
  732. package/dist/services/fs.d.ts +2 -2
  733. package/dist/services/fs.d.ts.map +1 -1
  734. package/dist/services/fs.js +41 -40
  735. package/dist/services/fs.js.map +1 -1
  736. package/dist/services/fs.mjs +40 -39
  737. package/dist/services/fs.mjs.map +1 -1
  738. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  739. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  740. package/dist/services/metrics/admin-user-hash.js +13 -11
  741. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  742. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  743. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  744. package/dist/services/metrics/index.d.ts +2 -2
  745. package/dist/services/metrics/index.d.ts.map +1 -1
  746. package/dist/services/metrics/index.js +46 -40
  747. package/dist/services/metrics/index.js.map +1 -1
  748. package/dist/services/metrics/index.mjs +45 -42
  749. package/dist/services/metrics/index.mjs.map +1 -1
  750. package/dist/services/metrics/is-truthy.js +13 -6
  751. package/dist/services/metrics/is-truthy.js.map +1 -1
  752. package/dist/services/metrics/is-truthy.mjs +12 -6
  753. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  754. package/dist/services/metrics/middleware.d.ts +2 -2
  755. package/dist/services/metrics/middleware.d.ts.map +1 -1
  756. package/dist/services/metrics/middleware.js +37 -22
  757. package/dist/services/metrics/middleware.js.map +1 -1
  758. package/dist/services/metrics/middleware.mjs +36 -24
  759. package/dist/services/metrics/middleware.mjs.map +1 -1
  760. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  761. package/dist/services/metrics/rate-limiter.js +24 -19
  762. package/dist/services/metrics/rate-limiter.js.map +1 -1
  763. package/dist/services/metrics/rate-limiter.mjs +23 -21
  764. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  765. package/dist/services/metrics/sender.d.ts +3 -3
  766. package/dist/services/metrics/sender.d.ts.map +1 -1
  767. package/dist/services/metrics/sender.js +78 -69
  768. package/dist/services/metrics/sender.js.map +1 -1
  769. package/dist/services/metrics/sender.mjs +77 -64
  770. package/dist/services/metrics/sender.mjs.map +1 -1
  771. package/dist/services/query-params.d.ts +7 -0
  772. package/dist/services/query-params.d.ts.map +1 -0
  773. package/dist/services/query-params.js +15 -0
  774. package/dist/services/query-params.js.map +1 -0
  775. package/dist/services/query-params.mjs +13 -0
  776. package/dist/services/query-params.mjs.map +1 -0
  777. package/dist/services/reloader.d.ts +7 -0
  778. package/dist/services/reloader.d.ts.map +1 -0
  779. package/dist/services/reloader.js +39 -0
  780. package/dist/services/reloader.js.map +1 -0
  781. package/dist/services/reloader.mjs +37 -0
  782. package/dist/services/reloader.mjs.map +1 -0
  783. package/dist/services/request-context.js +11 -8
  784. package/dist/services/request-context.js.map +1 -1
  785. package/dist/services/request-context.mjs +10 -10
  786. package/dist/services/request-context.mjs.map +1 -1
  787. package/dist/services/server/admin-api.d.ts +3 -3
  788. package/dist/services/server/admin-api.d.ts.map +1 -1
  789. package/dist/services/server/admin-api.js +11 -10
  790. package/dist/services/server/admin-api.js.map +1 -1
  791. package/dist/services/server/admin-api.mjs +10 -11
  792. package/dist/services/server/admin-api.mjs.map +1 -1
  793. package/dist/services/server/api.d.ts +3 -3
  794. package/dist/services/server/api.d.ts.map +1 -1
  795. package/dist/services/server/api.js +33 -27
  796. package/dist/services/server/api.js.map +1 -1
  797. package/dist/services/server/api.mjs +32 -26
  798. package/dist/services/server/api.mjs.map +1 -1
  799. package/dist/services/server/compose-endpoint.d.ts +2 -2
  800. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  801. package/dist/services/server/compose-endpoint.js +116 -106
  802. package/dist/services/server/compose-endpoint.js.map +1 -1
  803. package/dist/services/server/compose-endpoint.mjs +115 -106
  804. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  805. package/dist/services/server/content-api.d.ts +3 -3
  806. package/dist/services/server/content-api.d.ts.map +1 -1
  807. package/dist/services/server/content-api.js +11 -9
  808. package/dist/services/server/content-api.js.map +1 -1
  809. package/dist/services/server/content-api.mjs +10 -10
  810. package/dist/services/server/content-api.mjs.map +1 -1
  811. package/dist/services/server/http-server.d.ts +2 -2
  812. package/dist/services/server/http-server.d.ts.map +1 -1
  813. package/dist/services/server/http-server.js +48 -44
  814. package/dist/services/server/http-server.js.map +1 -1
  815. package/dist/services/server/http-server.mjs +47 -43
  816. package/dist/services/server/http-server.mjs.map +1 -1
  817. package/dist/services/server/index.d.ts +2 -2
  818. package/dist/services/server/index.d.ts.map +1 -1
  819. package/dist/services/server/index.js +85 -83
  820. package/dist/services/server/index.js.map +1 -1
  821. package/dist/services/server/index.mjs +84 -82
  822. package/dist/services/server/index.mjs.map +1 -1
  823. package/dist/services/server/koa.d.ts.map +1 -1
  824. package/dist/services/server/koa.js +49 -47
  825. package/dist/services/server/koa.js.map +1 -1
  826. package/dist/services/server/koa.mjs +48 -44
  827. package/dist/services/server/koa.mjs.map +1 -1
  828. package/dist/services/server/middleware.d.ts +4 -4
  829. package/dist/services/server/middleware.d.ts.map +1 -1
  830. package/dist/services/server/middleware.js +86 -82
  831. package/dist/services/server/middleware.js.map +1 -1
  832. package/dist/services/server/middleware.mjs +85 -82
  833. package/dist/services/server/middleware.mjs.map +1 -1
  834. package/dist/services/server/policy.d.ts +3 -3
  835. package/dist/services/server/policy.d.ts.map +1 -1
  836. package/dist/services/server/policy.js +25 -18
  837. package/dist/services/server/policy.js.map +1 -1
  838. package/dist/services/server/policy.mjs +23 -18
  839. package/dist/services/server/policy.mjs.map +1 -1
  840. package/dist/services/server/register-middlewares.d.ts +2 -2
  841. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  842. package/dist/services/server/register-middlewares.js +68 -61
  843. package/dist/services/server/register-middlewares.js.map +1 -1
  844. package/dist/services/server/register-middlewares.mjs +67 -63
  845. package/dist/services/server/register-middlewares.mjs.map +1 -1
  846. package/dist/services/server/register-routes.d.ts +2 -2
  847. package/dist/services/server/register-routes.d.ts.map +1 -1
  848. package/dist/services/server/register-routes.js +90 -67
  849. package/dist/services/server/register-routes.js.map +1 -1
  850. package/dist/services/server/register-routes.mjs +89 -67
  851. package/dist/services/server/register-routes.mjs.map +1 -1
  852. package/dist/services/server/routing.d.ts +5 -5
  853. package/dist/services/server/routing.d.ts.map +1 -1
  854. package/dist/services/server/routing.js +94 -81
  855. package/dist/services/server/routing.js.map +1 -1
  856. package/dist/services/server/routing.mjs +93 -81
  857. package/dist/services/server/routing.mjs.map +1 -1
  858. package/dist/services/utils/conditional-fields.d.ts +3 -0
  859. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  860. package/dist/services/utils/conditional-fields.js +22 -0
  861. package/dist/services/utils/conditional-fields.js.map +1 -0
  862. package/dist/services/utils/conditional-fields.mjs +20 -0
  863. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  864. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  865. package/dist/services/utils/dynamic-zones.js +13 -13
  866. package/dist/services/utils/dynamic-zones.js.map +1 -1
  867. package/dist/services/utils/dynamic-zones.mjs +12 -15
  868. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  869. package/dist/services/webhook-runner.d.ts +2 -1
  870. package/dist/services/webhook-runner.d.ts.map +1 -1
  871. package/dist/services/webhook-runner.js +124 -122
  872. package/dist/services/webhook-runner.js.map +1 -1
  873. package/dist/services/webhook-runner.mjs +123 -121
  874. package/dist/services/webhook-runner.mjs.map +1 -1
  875. package/dist/services/webhook-store.d.ts +2 -8
  876. package/dist/services/webhook-store.d.ts.map +1 -1
  877. package/dist/services/webhook-store.js +132 -93
  878. package/dist/services/webhook-store.js.map +1 -1
  879. package/dist/services/webhook-store.mjs +131 -95
  880. package/dist/services/webhook-store.mjs.map +1 -1
  881. package/dist/services/worker-queue.js +44 -49
  882. package/dist/services/worker-queue.js.map +1 -1
  883. package/dist/services/worker-queue.mjs +43 -49
  884. package/dist/services/worker-queue.mjs.map +1 -1
  885. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  886. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  887. package/dist/utils/convert-custom-field-type.js +17 -20
  888. package/dist/utils/convert-custom-field-type.js.map +1 -1
  889. package/dist/utils/convert-custom-field-type.mjs +16 -21
  890. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  891. package/dist/utils/cron.js +64 -30
  892. package/dist/utils/cron.js.map +1 -1
  893. package/dist/utils/cron.mjs +63 -31
  894. package/dist/utils/cron.mjs.map +1 -1
  895. package/dist/utils/fetch.d.ts +7 -3
  896. package/dist/utils/fetch.d.ts.map +1 -1
  897. package/dist/utils/fetch.js +28 -17
  898. package/dist/utils/fetch.js.map +1 -1
  899. package/dist/utils/fetch.mjs +27 -18
  900. package/dist/utils/fetch.mjs.map +1 -1
  901. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  902. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  903. package/dist/utils/filepath-to-prop-path.js +22 -9
  904. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  905. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  906. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  907. package/dist/utils/index.d.ts +2 -1
  908. package/dist/utils/index.d.ts.map +1 -1
  909. package/dist/utils/is-initialized.d.ts +2 -2
  910. package/dist/utils/is-initialized.d.ts.map +1 -1
  911. package/dist/utils/is-initialized.js +21 -12
  912. package/dist/utils/is-initialized.js.map +1 -1
  913. package/dist/utils/is-initialized.mjs +20 -13
  914. package/dist/utils/is-initialized.mjs.map +1 -1
  915. package/dist/utils/lifecycles.js +6 -5
  916. package/dist/utils/lifecycles.js.map +1 -1
  917. package/dist/utils/lifecycles.mjs +5 -6
  918. package/dist/utils/lifecycles.mjs.map +1 -1
  919. package/dist/utils/load-config-file.js +40 -38
  920. package/dist/utils/load-config-file.js.map +1 -1
  921. package/dist/utils/load-config-file.mjs +39 -36
  922. package/dist/utils/load-config-file.mjs.map +1 -1
  923. package/dist/utils/load-files.d.ts.map +1 -1
  924. package/dist/utils/load-files.js +40 -35
  925. package/dist/utils/load-files.js.map +1 -1
  926. package/dist/utils/load-files.mjs +39 -32
  927. package/dist/utils/load-files.mjs.map +1 -1
  928. package/dist/utils/open-browser.d.ts +2 -2
  929. package/dist/utils/open-browser.d.ts.map +1 -1
  930. package/dist/utils/open-browser.js +8 -8
  931. package/dist/utils/open-browser.js.map +1 -1
  932. package/dist/utils/open-browser.mjs +7 -7
  933. package/dist/utils/open-browser.mjs.map +1 -1
  934. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  935. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  936. package/dist/utils/resolve-working-dirs.js +26 -0
  937. package/dist/utils/resolve-working-dirs.js.map +1 -0
  938. package/dist/utils/resolve-working-dirs.mjs +24 -0
  939. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  940. package/dist/utils/signals.d.ts +2 -2
  941. package/dist/utils/signals.d.ts.map +1 -1
  942. package/dist/utils/signals.js +20 -14
  943. package/dist/utils/signals.js.map +1 -1
  944. package/dist/utils/signals.mjs +19 -15
  945. package/dist/utils/signals.mjs.map +1 -1
  946. package/dist/utils/startup-logger.d.ts +2 -2
  947. package/dist/utils/startup-logger.d.ts.map +1 -1
  948. package/dist/utils/startup-logger.js +107 -78
  949. package/dist/utils/startup-logger.js.map +1 -1
  950. package/dist/utils/startup-logger.mjs +106 -75
  951. package/dist/utils/startup-logger.mjs.map +1 -1
  952. package/dist/utils/transform-content-types-to-models.d.ts +574 -90
  953. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  954. package/dist/utils/transform-content-types-to-models.js +357 -217
  955. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  956. package/dist/utils/transform-content-types-to-models.mjs +351 -220
  957. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  958. package/dist/utils/update-notifier/index.d.ts +2 -7
  959. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  960. package/dist/utils/update-notifier/index.js +66 -74
  961. package/dist/utils/update-notifier/index.js.map +1 -1
  962. package/dist/utils/update-notifier/index.mjs +65 -68
  963. package/dist/utils/update-notifier/index.mjs.map +1 -1
  964. package/package.json +45 -40
  965. package/dist/registries/config.d.ts +0 -4
  966. package/dist/registries/config.d.ts.map +0 -1
  967. package/dist/registries/config.js +0 -23
  968. package/dist/registries/config.js.map +0 -1
  969. package/dist/registries/config.mjs +0 -22
  970. package/dist/registries/config.mjs.map +0 -1
  971. package/dist/services/document-service/document-engine.d.ts +0 -8
  972. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  973. package/dist/services/document-service/document-engine.js +0 -241
  974. package/dist/services/document-service/document-engine.js.map +0 -1
  975. package/dist/services/document-service/document-engine.mjs +0 -242
  976. package/dist/services/document-service/document-engine.mjs.map +0 -1
  977. package/dist/services/document-service/middlewares.d.ts +0 -8
  978. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  979. package/dist/services/document-service/middlewares.js +0 -46
  980. package/dist/services/document-service/middlewares.js.map +0 -1
  981. package/dist/services/document-service/middlewares.mjs +0 -46
  982. package/dist/services/document-service/middlewares.mjs.map +0 -1
  983. package/dist/services/document-service/repositories/content-type.d.ts +0 -3
  984. package/dist/services/document-service/repositories/content-type.d.ts.map +0 -1
  985. package/dist/services/document-service/repositories/content-type.js +0 -139
  986. package/dist/services/document-service/repositories/content-type.js.map +0 -1
  987. package/dist/services/document-service/repositories/content-type.mjs +0 -139
  988. package/dist/services/document-service/repositories/content-type.mjs.map +0 -1
  989. package/dist/services/document-service/transform/filters.d.ts +0 -3
  990. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  991. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  992. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  993. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  994. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  995. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  996. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  997. package/dist/services/document-service/transform/sort.d.ts +0 -5
  998. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  999. package/dist/services/document-service/transform/utils.d.ts +0 -9
  1000. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  1001. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  1002. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  1003. package/dist/services/entity-service/attributes/index.js +0 -22
  1004. package/dist/services/entity-service/attributes/index.js.map +0 -1
  1005. package/dist/services/entity-service/attributes/index.mjs +0 -22
  1006. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  1007. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  1008. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  1009. package/dist/services/entity-service/attributes/transforms.js +0 -20
  1010. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  1011. package/dist/services/entity-service/attributes/transforms.mjs +0 -19
  1012. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  1013. package/dist/services/entity-service/components.d.ts +0 -23
  1014. package/dist/services/entity-service/components.d.ts.map +0 -1
  1015. package/dist/services/entity-service/components.js +0 -384
  1016. package/dist/services/entity-service/components.js.map +0 -1
  1017. package/dist/services/entity-service/components.mjs +0 -382
  1018. package/dist/services/entity-service/components.mjs.map +0 -1
  1019. package/dist/services/entity-service/params.d.ts +0 -8
  1020. package/dist/services/entity-service/params.d.ts.map +0 -1
  1021. package/dist/services/entity-service/params.js +0 -8
  1022. package/dist/services/entity-service/params.js.map +0 -1
  1023. package/dist/services/entity-service/params.mjs +0 -8
  1024. package/dist/services/entity-service/params.mjs.map +0 -1
  1025. package/dist/services/utils/upload-files.d.ts +0 -8
  1026. package/dist/services/utils/upload-files.d.ts.map +0 -1
  1027. package/dist/services/utils/upload-files.js +0 -64
  1028. package/dist/services/utils/upload-files.js.map +0 -1
  1029. package/dist/services/utils/upload-files.mjs +0 -63
  1030. package/dist/services/utils/upload-files.mjs.map +0 -1
  1031. package/dist/utils/get-dirs.d.ts +0 -9
  1032. package/dist/utils/get-dirs.d.ts.map +0 -1
  1033. package/dist/utils/get-dirs.js +0 -30
  1034. package/dist/utils/get-dirs.js.map +0 -1
  1035. package/dist/utils/get-dirs.mjs +0 -30
  1036. package/dist/utils/get-dirs.mjs.map +0 -1
@@ -1,30 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const strapiUtils = require("@strapi/utils");
4
- const isLocalizedContentType = (uid) => {
5
- const model = strapi.getModel(uid);
6
- return strapi.plugin("i18n").service("content-types").isLocalizedContentType(model);
1
+ 'use strict';
2
+
3
+ const isLocalizedContentType = (uid)=>{
4
+ const model = strapi.getModel(uid);
5
+ return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);
7
6
  };
8
- const getDefaultLocale = () => {
9
- return "en";
7
+ const getDefaultLocale = ()=>{
8
+ return strapi.plugin('i18n').service('locales').getDefaultLocale();
10
9
  };
11
- const getRelationTargetLocale = (relation, opts) => {
12
- const defaultLocale = getDefaultLocale();
13
- const targetLocale = relation.locale || opts.sourceLocale || defaultLocale;
14
- const isTargetLocalized = isLocalizedContentType(opts.targetUid);
15
- const isSourceLocalized = isLocalizedContentType(opts.sourceUid);
16
- if (isSourceLocalized && isTargetLocalized) {
17
- if (targetLocale !== opts.sourceLocale) {
18
- throw new strapiUtils.errors.ValidationError(
19
- `Relation locale does not match the source locale ${JSON.stringify(relation)}`
20
- );
10
+ const getRelationTargetLocale = (relation, opts)=>{
11
+ const targetLocale = relation.locale || opts.sourceLocale;
12
+ const isTargetLocalized = isLocalizedContentType(opts.targetUid);
13
+ const isSourceLocalized = isLocalizedContentType(opts.sourceUid);
14
+ // Both source and target locales should match
15
+ if (isSourceLocalized && isTargetLocalized) {
16
+ return opts.sourceLocale;
21
17
  }
22
- }
23
- if (isTargetLocalized) {
24
- return targetLocale;
25
- }
26
- return null;
18
+ if (isTargetLocalized) {
19
+ return targetLocale;
20
+ }
21
+ return null;
27
22
  };
23
+
28
24
  exports.getDefaultLocale = getDefaultLocale;
29
25
  exports.getRelationTargetLocale = getRelationTargetLocale;
30
26
  exports.isLocalizedContentType = isLocalizedContentType;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import { Common } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: Common.UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n // TODO: Fix this\n // return strapi.plugin('i18n').service('locales').getDefaultLocale();\n return 'en';\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: Common.UID.Schema;\n sourceUid: Common.UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const defaultLocale = getDefaultLocale();\n const targetLocale = relation.locale || opts.sourceLocale || defaultLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Locale validations\n if (isSourceLocalized && isTargetLocalized) {\n // Check the targetLocale matches\n if (targetLocale !== opts.sourceLocale) {\n throw new errors.ValidationError(\n `Relation locale does not match the source locale ${JSON.stringify(relation)}`\n );\n }\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":["errors"],"mappings":";;;AAIa,MAAA,yBAAyB,CAAC,QAA2B;AAC1D,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEO,MAAM,mBAAmB,MAAM;AAG7B,SAAA;AACT;AAEa,MAAA,0BAA0B,CACrC,UACA,SAKG;AACH,QAAM,gBAAgB;AACtB,QAAM,eAAe,SAAS,UAAU,KAAK,gBAAgB;AAEvD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AACzD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AAG/D,MAAI,qBAAqB,mBAAmB;AAEtC,QAAA,iBAAiB,KAAK,cAAc;AACtC,YAAM,IAAIA,YAAO,OAAA;AAAA,QACf,oDAAoD,KAAK,UAAU,QAAQ,CAAC;AAAA,MAAA;AAAA,IAEhF;AAAA,EACF;AAEA,MAAI,mBAAmB;AACd,WAAA;AAAA,EACT;AAEO,SAAA;AACT;;;;"}
1
+ {"version":3,"file":"i18n.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n return strapi.plugin('i18n').service('locales').getDefaultLocale();\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const targetLocale = relation.locale || opts.sourceLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Both source and target locales should match\n if (isSourceLocalized && isTargetLocalized) {\n return opts.sourceLocale;\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":["isLocalizedContentType","uid","model","strapi","getModel","plugin","service","getDefaultLocale","getRelationTargetLocale","relation","opts","targetLocale","locale","sourceLocale","isTargetLocalized","targetUid","isSourceLocalized","sourceUid"],"mappings":";;AAGO,MAAMA,yBAAyB,CAACC,GAAAA,GAAAA;IACrC,MAAMC,KAAAA,GAAQC,MAAOC,CAAAA,QAAQ,CAACH,GAAAA,CAAAA;IAC9B,OAAOE,MAAAA,CAAOE,MAAM,CAAC,MAAA,CAAA,CAAQC,OAAO,CAAC,eAAA,CAAA,CAAiBN,sBAAsB,CAACE,KAAAA,CAAAA;AAC/E;MAEaK,gBAAmB,GAAA,IAAA;AAC9B,IAAA,OAAOJ,OAAOE,MAAM,CAAC,QAAQC,OAAO,CAAC,WAAWC,gBAAgB,EAAA;AAClE;AAEO,MAAMC,uBAA0B,GAAA,CACrCC,QACAC,EAAAA,IAAAA,GAAAA;AAMA,IAAA,MAAMC,YAAeF,GAAAA,QAAAA,CAASG,MAAM,IAAIF,KAAKG,YAAY;IAEzD,MAAMC,iBAAAA,GAAoBd,sBAAuBU,CAAAA,IAAAA,CAAKK,SAAS,CAAA;IAC/D,MAAMC,iBAAAA,GAAoBhB,sBAAuBU,CAAAA,IAAAA,CAAKO,SAAS,CAAA;;AAG/D,IAAA,IAAID,qBAAqBF,iBAAmB,EAAA;AAC1C,QAAA,OAAOJ,KAAKG,YAAY;AAC1B;AAEA,IAAA,IAAIC,iBAAmB,EAAA;QACrB,OAAOH,YAAAA;AACT;IAEA,OAAO,IAAA;AACT;;;;;;"}
@@ -1,31 +1,23 @@
1
- import { errors } from "@strapi/utils";
2
- const isLocalizedContentType = (uid) => {
3
- const model = strapi.getModel(uid);
4
- return strapi.plugin("i18n").service("content-types").isLocalizedContentType(model);
1
+ const isLocalizedContentType = (uid)=>{
2
+ const model = strapi.getModel(uid);
3
+ return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);
5
4
  };
6
- const getDefaultLocale = () => {
7
- return "en";
5
+ const getDefaultLocale = ()=>{
6
+ return strapi.plugin('i18n').service('locales').getDefaultLocale();
8
7
  };
9
- const getRelationTargetLocale = (relation, opts) => {
10
- const defaultLocale = getDefaultLocale();
11
- const targetLocale = relation.locale || opts.sourceLocale || defaultLocale;
12
- const isTargetLocalized = isLocalizedContentType(opts.targetUid);
13
- const isSourceLocalized = isLocalizedContentType(opts.sourceUid);
14
- if (isSourceLocalized && isTargetLocalized) {
15
- if (targetLocale !== opts.sourceLocale) {
16
- throw new errors.ValidationError(
17
- `Relation locale does not match the source locale ${JSON.stringify(relation)}`
18
- );
8
+ const getRelationTargetLocale = (relation, opts)=>{
9
+ const targetLocale = relation.locale || opts.sourceLocale;
10
+ const isTargetLocalized = isLocalizedContentType(opts.targetUid);
11
+ const isSourceLocalized = isLocalizedContentType(opts.sourceUid);
12
+ // Both source and target locales should match
13
+ if (isSourceLocalized && isTargetLocalized) {
14
+ return opts.sourceLocale;
19
15
  }
20
- }
21
- if (isTargetLocalized) {
22
- return targetLocale;
23
- }
24
- return null;
25
- };
26
- export {
27
- getDefaultLocale,
28
- getRelationTargetLocale,
29
- isLocalizedContentType
16
+ if (isTargetLocalized) {
17
+ return targetLocale;
18
+ }
19
+ return null;
30
20
  };
21
+
22
+ export { getDefaultLocale, getRelationTargetLocale, isLocalizedContentType };
31
23
  //# sourceMappingURL=i18n.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import { Common } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: Common.UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n // TODO: Fix this\n // return strapi.plugin('i18n').service('locales').getDefaultLocale();\n return 'en';\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: Common.UID.Schema;\n sourceUid: Common.UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const defaultLocale = getDefaultLocale();\n const targetLocale = relation.locale || opts.sourceLocale || defaultLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Locale validations\n if (isSourceLocalized && isTargetLocalized) {\n // Check the targetLocale matches\n if (targetLocale !== opts.sourceLocale) {\n throw new errors.ValidationError(\n `Relation locale does not match the source locale ${JSON.stringify(relation)}`\n );\n }\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":[],"mappings":";AAIa,MAAA,yBAAyB,CAAC,QAA2B;AAC1D,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEO,MAAM,mBAAmB,MAAM;AAG7B,SAAA;AACT;AAEa,MAAA,0BAA0B,CACrC,UACA,SAKG;AACH,QAAM,gBAAgB;AACtB,QAAM,eAAe,SAAS,UAAU,KAAK,gBAAgB;AAEvD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AACzD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AAG/D,MAAI,qBAAqB,mBAAmB;AAEtC,QAAA,iBAAiB,KAAK,cAAc;AACtC,YAAM,IAAI,OAAO;AAAA,QACf,oDAAoD,KAAK,UAAU,QAAQ,CAAC;AAAA,MAAA;AAAA,IAEhF;AAAA,EACF;AAEA,MAAI,mBAAmB;AACd,WAAA;AAAA,EACT;AAEO,SAAA;AACT;"}
1
+ {"version":3,"file":"i18n.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n return strapi.plugin('i18n').service('locales').getDefaultLocale();\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const targetLocale = relation.locale || opts.sourceLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Both source and target locales should match\n if (isSourceLocalized && isTargetLocalized) {\n return opts.sourceLocale;\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":["isLocalizedContentType","uid","model","strapi","getModel","plugin","service","getDefaultLocale","getRelationTargetLocale","relation","opts","targetLocale","locale","sourceLocale","isTargetLocalized","targetUid","isSourceLocalized","sourceUid"],"mappings":"AAGO,MAAMA,yBAAyB,CAACC,GAAAA,GAAAA;IACrC,MAAMC,KAAAA,GAAQC,MAAOC,CAAAA,QAAQ,CAACH,GAAAA,CAAAA;IAC9B,OAAOE,MAAAA,CAAOE,MAAM,CAAC,MAAA,CAAA,CAAQC,OAAO,CAAC,eAAA,CAAA,CAAiBN,sBAAsB,CAACE,KAAAA,CAAAA;AAC/E;MAEaK,gBAAmB,GAAA,IAAA;AAC9B,IAAA,OAAOJ,OAAOE,MAAM,CAAC,QAAQC,OAAO,CAAC,WAAWC,gBAAgB,EAAA;AAClE;AAEO,MAAMC,uBAA0B,GAAA,CACrCC,QACAC,EAAAA,IAAAA,GAAAA;AAMA,IAAA,MAAMC,YAAeF,GAAAA,QAAAA,CAASG,MAAM,IAAIF,KAAKG,YAAY;IAEzD,MAAMC,iBAAAA,GAAoBd,sBAAuBU,CAAAA,IAAAA,CAAKK,SAAS,CAAA;IAC/D,MAAMC,iBAAAA,GAAoBhB,sBAAuBU,CAAAA,IAAAA,CAAKO,SAAS,CAAA;;AAG/D,IAAA,IAAID,qBAAqBF,iBAAmB,EAAA;AAC1C,QAAA,OAAOJ,KAAKG,YAAY;AAC1B;AAEA,IAAA,IAAIC,iBAAmB,EAAA;QACrB,OAAOH,YAAAA;AACT;IAEA,OAAO,IAAA;AACT;;;;"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="lodash" />
2
+ import { Relation } from './types';
3
+ declare const mapRelationCurried: import("lodash").CurriedFunction2<(relation: any) => any, Relation, Promise<Relation>>;
4
+ declare const traverseEntityRelationsCurried: import("lodash").CurriedFunction3<import("@strapi/utils/dist/traverse-entity").Visitor, import("@strapi/utils/dist/traverse-entity").TraverseOptions, import("@strapi/utils/dist/types").Data, Promise<import("@strapi/utils/dist/types").Data>>;
5
+ export { mapRelationCurried as mapRelation, traverseEntityRelationsCurried as traverseEntityRelations, };
6
+ //# sourceMappingURL=map-relation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-relation.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/map-relation.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAgJnC,QAAA,MAAM,kBAAkB,+CA/GD,GAAG,KAAK,GAAG,8BA+GW,CAAC;AAC9C,QAAA,MAAM,8BAA8B,kPAAiC,CAAC;AAEtE,OAAO,EACL,kBAAkB,IAAI,WAAW,EACjC,8BAA8B,IAAI,uBAAuB,GAC1D,CAAC"}
@@ -0,0 +1,130 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var strapiUtils = require('@strapi/utils');
5
+
6
+ const isNumeric = (value)=>{
7
+ if (Array.isArray(value)) return false; // Handle [1, 'docId'] case
8
+ const parsed = parseInt(value, 10);
9
+ return !Number.isNaN(parsed);
10
+ };
11
+ const toArray = (value)=>{
12
+ // Keep value as it is if it's a nullish value
13
+ if (fp.isNil(value)) return value;
14
+ if (Array.isArray(value)) return value;
15
+ return [
16
+ value
17
+ ];
18
+ };
19
+ /**
20
+ * There are multiple ways to create Strapi relations.
21
+ * This is a utility to traverse and transform relation data
22
+ *
23
+ *
24
+ * For consistency and ease of use, the response will always be an object with the following shape:
25
+ * { set: [{...}], connect: [{...}], disconnect: [{...}] }
26
+ *
27
+ * @example
28
+ * transformRelationData({
29
+ * onLongHand: (relation) => {
30
+ * // Change the id of the relation
31
+ * return { id: 'other' };
32
+ * },
33
+ * }, relation)
34
+ */ const mapRelation = async (callback, rel, isRecursive = false)=>{
35
+ let relation = rel;
36
+ const wrapInSet = (value)=>{
37
+ // Ignore wrapping if it's a recursive call
38
+ if (isRecursive) {
39
+ return value;
40
+ }
41
+ return {
42
+ set: toArray(value)
43
+ };
44
+ };
45
+ // undefined | null
46
+ if (fp.isNil(relation)) {
47
+ return callback(relation);
48
+ }
49
+ // LongHand[] | ShortHand[]
50
+ if (Array.isArray(relation)) {
51
+ return strapiUtils.async.map(relation, (r)=>mapRelation(callback, r, true)).then((result)=>result.flat().filter(Boolean)).then(wrapInSet);
52
+ }
53
+ // LongHand
54
+ if (fp.isObject(relation)) {
55
+ // { id: 1 } || { documentId: 1 }
56
+ if ('id' in relation || 'documentId' in relation) {
57
+ const result = await callback(relation);
58
+ return wrapInSet(result);
59
+ }
60
+ // If not connecting anything, return default visitor
61
+ if (!relation.set && !relation.disconnect && !relation.connect) {
62
+ return callback(relation);
63
+ }
64
+ // { set }
65
+ if (relation.set) {
66
+ const set = await mapRelation(callback, relation.set, true);
67
+ relation = {
68
+ ...relation,
69
+ set: toArray(set)
70
+ };
71
+ }
72
+ // { disconnect}
73
+ if (relation.disconnect) {
74
+ const disconnect = await mapRelation(callback, relation.disconnect, true);
75
+ relation = {
76
+ ...relation,
77
+ disconnect: toArray(disconnect)
78
+ };
79
+ }
80
+ // { connect }
81
+ if (relation.connect) {
82
+ // Transform the relation to connect
83
+ const connect = await mapRelation(callback, relation.connect, true);
84
+ relation = {
85
+ ...relation,
86
+ connect: toArray(connect)
87
+ };
88
+ }
89
+ return relation;
90
+ }
91
+ // ShortHand
92
+ if (isNumeric(relation)) {
93
+ const result = await callback({
94
+ id: relation
95
+ });
96
+ return wrapInSet(result);
97
+ }
98
+ if (typeof relation === 'string') {
99
+ const result = await callback({
100
+ documentId: relation
101
+ });
102
+ return wrapInSet(result);
103
+ }
104
+ // Anything else
105
+ return callback(relation);
106
+ };
107
+ /**
108
+ * Utility function, same as `traverseEntity` but only for relations.
109
+ */ const traverseEntityRelations = async (visitor, options, data)=>{
110
+ return strapiUtils.traverseEntity(async (options, utils)=>{
111
+ const { attribute } = options;
112
+ if (!attribute) {
113
+ return;
114
+ }
115
+ if (attribute.type !== 'relation') {
116
+ return;
117
+ }
118
+ // TODO: Handle join columns
119
+ if (attribute.useJoinTable === false) {
120
+ return;
121
+ }
122
+ return visitor(options, utils);
123
+ }, options, data);
124
+ };
125
+ const mapRelationCurried = fp.curry(mapRelation);
126
+ const traverseEntityRelationsCurried = fp.curry(traverseEntityRelations);
127
+
128
+ exports.mapRelation = mapRelationCurried;
129
+ exports.traverseEntityRelations = traverseEntityRelationsCurried;
130
+ //# sourceMappingURL=map-relation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-relation.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/map-relation.ts"],"sourcesContent":["/* eslint-disable node/no-callback-literal */\nimport { isObject, curry, isNil } from 'lodash/fp';\n\nimport { traverseEntity, async } from '@strapi/utils';\n\nimport { Relation } from './types';\n\nconst isNumeric = (value: any): value is number => {\n if (Array.isArray(value)) return false; // Handle [1, 'docId'] case\n const parsed = parseInt(value, 10);\n return !Number.isNaN(parsed);\n};\n\nconst toArray = (value: any) => {\n // Keep value as it is if it's a nullish value\n if (isNil(value)) return value;\n if (Array.isArray(value)) return value;\n\n return [value];\n};\n\n/**\n * There are multiple ways to create Strapi relations.\n * This is a utility to traverse and transform relation data\n *\n *\n * For consistency and ease of use, the response will always be an object with the following shape:\n * { set: [{...}], connect: [{...}], disconnect: [{...}] }\n *\n * @example\n * transformRelationData({\n * onLongHand: (relation) => {\n * // Change the id of the relation\n * return { id: 'other' };\n * },\n * }, relation)\n */\nconst mapRelation = async (\n callback: (relation: any) => any,\n rel: Relation,\n isRecursive = false\n): Promise<Relation> => {\n let relation: Relation = rel;\n\n const wrapInSet = (value: any) => {\n // Ignore wrapping if it's a recursive call\n if (isRecursive) {\n return value;\n }\n return { set: toArray(value) };\n };\n\n // undefined | null\n if (isNil(relation)) {\n return callback(relation);\n }\n\n // LongHand[] | ShortHand[]\n if (Array.isArray(relation)) {\n return async\n .map(relation, (r: Relation) => mapRelation(callback, r, true))\n .then((result: any) => result.flat().filter(Boolean))\n .then(wrapInSet);\n }\n\n // LongHand\n if (isObject(relation)) {\n // { id: 1 } || { documentId: 1 }\n if ('id' in relation || 'documentId' in relation) {\n const result = await callback(relation);\n return wrapInSet(result);\n }\n\n // If not connecting anything, return default visitor\n if (!relation.set && !relation.disconnect && !relation.connect) {\n return callback(relation);\n }\n\n // { set }\n if (relation.set) {\n const set: any = await mapRelation(callback, relation.set, true);\n relation = { ...relation, set: toArray(set) };\n }\n\n // { disconnect}\n if (relation.disconnect) {\n const disconnect: any = await mapRelation(callback, relation.disconnect, true);\n relation = { ...relation, disconnect: toArray(disconnect) };\n }\n\n // { connect }\n if (relation.connect) {\n // Transform the relation to connect\n const connect: any = await mapRelation(callback, relation.connect, true);\n relation = { ...relation, connect: toArray(connect) };\n }\n\n return relation;\n }\n\n // ShortHand\n if (isNumeric(relation)) {\n const result = await callback({ id: relation });\n return wrapInSet(result);\n }\n\n if (typeof relation === 'string') {\n const result = await callback({ documentId: relation });\n return wrapInSet(result);\n }\n\n // Anything else\n return callback(relation);\n};\n\ntype TraverseEntity = Parameters<typeof traverseEntity>;\n\n/**\n * Utility function, same as `traverseEntity` but only for relations.\n */\nconst traverseEntityRelations = async (\n visitor: TraverseEntity[0],\n options: TraverseEntity[1],\n data: TraverseEntity[2]\n) => {\n return traverseEntity(\n async (options, utils) => {\n const { attribute } = options;\n\n if (!attribute) {\n return;\n }\n\n if (attribute.type !== 'relation') {\n return;\n }\n\n // TODO: Handle join columns\n if (attribute.useJoinTable === false) {\n return;\n }\n\n return visitor(options, utils);\n },\n options,\n data\n );\n};\n\nconst mapRelationCurried = curry(mapRelation);\nconst traverseEntityRelationsCurried = curry(traverseEntityRelations);\n\nexport {\n mapRelationCurried as mapRelation,\n traverseEntityRelationsCurried as traverseEntityRelations,\n};\n"],"names":["isNumeric","value","Array","isArray","parsed","parseInt","Number","isNaN","toArray","isNil","mapRelation","callback","rel","isRecursive","relation","wrapInSet","set","async","map","r","then","result","flat","filter","Boolean","isObject","disconnect","connect","id","documentId","traverseEntityRelations","visitor","options","data","traverseEntity","utils","attribute","type","useJoinTable","mapRelationCurried","curry","traverseEntityRelationsCurried"],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ import { curry, isNil, isObject } from 'lodash/fp';
2
+ import { async, traverseEntity } from '@strapi/utils';
3
+
4
+ const isNumeric = (value)=>{
5
+ if (Array.isArray(value)) return false; // Handle [1, 'docId'] case
6
+ const parsed = parseInt(value, 10);
7
+ return !Number.isNaN(parsed);
8
+ };
9
+ const toArray = (value)=>{
10
+ // Keep value as it is if it's a nullish value
11
+ if (isNil(value)) return value;
12
+ if (Array.isArray(value)) return value;
13
+ return [
14
+ value
15
+ ];
16
+ };
17
+ /**
18
+ * There are multiple ways to create Strapi relations.
19
+ * This is a utility to traverse and transform relation data
20
+ *
21
+ *
22
+ * For consistency and ease of use, the response will always be an object with the following shape:
23
+ * { set: [{...}], connect: [{...}], disconnect: [{...}] }
24
+ *
25
+ * @example
26
+ * transformRelationData({
27
+ * onLongHand: (relation) => {
28
+ * // Change the id of the relation
29
+ * return { id: 'other' };
30
+ * },
31
+ * }, relation)
32
+ */ const mapRelation = async (callback, rel, isRecursive = false)=>{
33
+ let relation = rel;
34
+ const wrapInSet = (value)=>{
35
+ // Ignore wrapping if it's a recursive call
36
+ if (isRecursive) {
37
+ return value;
38
+ }
39
+ return {
40
+ set: toArray(value)
41
+ };
42
+ };
43
+ // undefined | null
44
+ if (isNil(relation)) {
45
+ return callback(relation);
46
+ }
47
+ // LongHand[] | ShortHand[]
48
+ if (Array.isArray(relation)) {
49
+ return async.map(relation, (r)=>mapRelation(callback, r, true)).then((result)=>result.flat().filter(Boolean)).then(wrapInSet);
50
+ }
51
+ // LongHand
52
+ if (isObject(relation)) {
53
+ // { id: 1 } || { documentId: 1 }
54
+ if ('id' in relation || 'documentId' in relation) {
55
+ const result = await callback(relation);
56
+ return wrapInSet(result);
57
+ }
58
+ // If not connecting anything, return default visitor
59
+ if (!relation.set && !relation.disconnect && !relation.connect) {
60
+ return callback(relation);
61
+ }
62
+ // { set }
63
+ if (relation.set) {
64
+ const set = await mapRelation(callback, relation.set, true);
65
+ relation = {
66
+ ...relation,
67
+ set: toArray(set)
68
+ };
69
+ }
70
+ // { disconnect}
71
+ if (relation.disconnect) {
72
+ const disconnect = await mapRelation(callback, relation.disconnect, true);
73
+ relation = {
74
+ ...relation,
75
+ disconnect: toArray(disconnect)
76
+ };
77
+ }
78
+ // { connect }
79
+ if (relation.connect) {
80
+ // Transform the relation to connect
81
+ const connect = await mapRelation(callback, relation.connect, true);
82
+ relation = {
83
+ ...relation,
84
+ connect: toArray(connect)
85
+ };
86
+ }
87
+ return relation;
88
+ }
89
+ // ShortHand
90
+ if (isNumeric(relation)) {
91
+ const result = await callback({
92
+ id: relation
93
+ });
94
+ return wrapInSet(result);
95
+ }
96
+ if (typeof relation === 'string') {
97
+ const result = await callback({
98
+ documentId: relation
99
+ });
100
+ return wrapInSet(result);
101
+ }
102
+ // Anything else
103
+ return callback(relation);
104
+ };
105
+ /**
106
+ * Utility function, same as `traverseEntity` but only for relations.
107
+ */ const traverseEntityRelations = async (visitor, options, data)=>{
108
+ return traverseEntity(async (options, utils)=>{
109
+ const { attribute } = options;
110
+ if (!attribute) {
111
+ return;
112
+ }
113
+ if (attribute.type !== 'relation') {
114
+ return;
115
+ }
116
+ // TODO: Handle join columns
117
+ if (attribute.useJoinTable === false) {
118
+ return;
119
+ }
120
+ return visitor(options, utils);
121
+ }, options, data);
122
+ };
123
+ const mapRelationCurried = curry(mapRelation);
124
+ const traverseEntityRelationsCurried = curry(traverseEntityRelations);
125
+
126
+ export { mapRelationCurried as mapRelation, traverseEntityRelationsCurried as traverseEntityRelations };
127
+ //# sourceMappingURL=map-relation.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-relation.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/map-relation.ts"],"sourcesContent":["/* eslint-disable node/no-callback-literal */\nimport { isObject, curry, isNil } from 'lodash/fp';\n\nimport { traverseEntity, async } from '@strapi/utils';\n\nimport { Relation } from './types';\n\nconst isNumeric = (value: any): value is number => {\n if (Array.isArray(value)) return false; // Handle [1, 'docId'] case\n const parsed = parseInt(value, 10);\n return !Number.isNaN(parsed);\n};\n\nconst toArray = (value: any) => {\n // Keep value as it is if it's a nullish value\n if (isNil(value)) return value;\n if (Array.isArray(value)) return value;\n\n return [value];\n};\n\n/**\n * There are multiple ways to create Strapi relations.\n * This is a utility to traverse and transform relation data\n *\n *\n * For consistency and ease of use, the response will always be an object with the following shape:\n * { set: [{...}], connect: [{...}], disconnect: [{...}] }\n *\n * @example\n * transformRelationData({\n * onLongHand: (relation) => {\n * // Change the id of the relation\n * return { id: 'other' };\n * },\n * }, relation)\n */\nconst mapRelation = async (\n callback: (relation: any) => any,\n rel: Relation,\n isRecursive = false\n): Promise<Relation> => {\n let relation: Relation = rel;\n\n const wrapInSet = (value: any) => {\n // Ignore wrapping if it's a recursive call\n if (isRecursive) {\n return value;\n }\n return { set: toArray(value) };\n };\n\n // undefined | null\n if (isNil(relation)) {\n return callback(relation);\n }\n\n // LongHand[] | ShortHand[]\n if (Array.isArray(relation)) {\n return async\n .map(relation, (r: Relation) => mapRelation(callback, r, true))\n .then((result: any) => result.flat().filter(Boolean))\n .then(wrapInSet);\n }\n\n // LongHand\n if (isObject(relation)) {\n // { id: 1 } || { documentId: 1 }\n if ('id' in relation || 'documentId' in relation) {\n const result = await callback(relation);\n return wrapInSet(result);\n }\n\n // If not connecting anything, return default visitor\n if (!relation.set && !relation.disconnect && !relation.connect) {\n return callback(relation);\n }\n\n // { set }\n if (relation.set) {\n const set: any = await mapRelation(callback, relation.set, true);\n relation = { ...relation, set: toArray(set) };\n }\n\n // { disconnect}\n if (relation.disconnect) {\n const disconnect: any = await mapRelation(callback, relation.disconnect, true);\n relation = { ...relation, disconnect: toArray(disconnect) };\n }\n\n // { connect }\n if (relation.connect) {\n // Transform the relation to connect\n const connect: any = await mapRelation(callback, relation.connect, true);\n relation = { ...relation, connect: toArray(connect) };\n }\n\n return relation;\n }\n\n // ShortHand\n if (isNumeric(relation)) {\n const result = await callback({ id: relation });\n return wrapInSet(result);\n }\n\n if (typeof relation === 'string') {\n const result = await callback({ documentId: relation });\n return wrapInSet(result);\n }\n\n // Anything else\n return callback(relation);\n};\n\ntype TraverseEntity = Parameters<typeof traverseEntity>;\n\n/**\n * Utility function, same as `traverseEntity` but only for relations.\n */\nconst traverseEntityRelations = async (\n visitor: TraverseEntity[0],\n options: TraverseEntity[1],\n data: TraverseEntity[2]\n) => {\n return traverseEntity(\n async (options, utils) => {\n const { attribute } = options;\n\n if (!attribute) {\n return;\n }\n\n if (attribute.type !== 'relation') {\n return;\n }\n\n // TODO: Handle join columns\n if (attribute.useJoinTable === false) {\n return;\n }\n\n return visitor(options, utils);\n },\n options,\n data\n );\n};\n\nconst mapRelationCurried = curry(mapRelation);\nconst traverseEntityRelationsCurried = curry(traverseEntityRelations);\n\nexport {\n mapRelationCurried as mapRelation,\n traverseEntityRelationsCurried as traverseEntityRelations,\n};\n"],"names":["isNumeric","value","Array","isArray","parsed","parseInt","Number","isNaN","toArray","isNil","mapRelation","callback","rel","isRecursive","relation","wrapInSet","set","async","map","r","then","result","flat","filter","Boolean","isObject","disconnect","connect","id","documentId","traverseEntityRelations","visitor","options","data","traverseEntity","utils","attribute","type","useJoinTable","mapRelationCurried","curry","traverseEntityRelationsCurried"],"mappings":"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"}
@@ -2,11 +2,20 @@ export type ID = string | number;
2
2
  export type ShortHand = ID;
3
3
  export type LongHandEntity = {
4
4
  id: ID;
5
+ position?: object;
5
6
  };
6
7
  export type LongHandDocument = {
7
8
  documentId: ID;
8
9
  locale?: string;
10
+ status?: 'draft' | 'published';
11
+ position?: object;
9
12
  };
10
13
  export type LongHand = LongHandEntity | LongHandDocument;
11
- export type GetId = (relation: ID) => ID | null;
14
+ export type RelationPrimitives = ShortHand | LongHand | ShortHand[] | LongHand[] | null | undefined;
15
+ export type Relation = RelationPrimitives | {
16
+ connect?: RelationPrimitives;
17
+ disconnect?: RelationPrimitives;
18
+ set?: RelationPrimitives;
19
+ };
20
+ export type GetIds = (relation: ID) => ID[] | null;
12
21
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,SAAS,GAAG,EAAE,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,CAAC;AACxC,MAAM,MAAM,gBAAgB,GAAG;IAAE,UAAU,EAAE,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACnE,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEzD,MAAM,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,SAAS,GAAG,EAAE,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,gBAAgB,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AACpG,MAAM,MAAM,QAAQ,GAChB,kBAAkB,GAClB;IAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAAC,GAAG,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAEhG,MAAM,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC"}
@@ -1,13 +1,13 @@
1
- import { Common } from '@strapi/types';
2
- import { type ID } from './relations/utils/types';
1
+ import type { UID } from '@strapi/types';
2
+ import type { ID } from './relations/utils/types';
3
3
  export type Data = {
4
4
  id?: ID | object;
5
5
  documentId?: ID | object;
6
6
  [key: string]: any;
7
7
  };
8
8
  export type Options = {
9
- uid: Common.UID.Schema;
9
+ uid: UID.Schema;
10
10
  locale?: string | null;
11
- isDraft: boolean;
11
+ status: 'draft' | 'published';
12
12
  };
13
13
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/transform/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAElD,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/transform/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAElD,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC;CAC/B,CAAC"}
@@ -0,0 +1,95 @@
1
+ import type { UID } from '@strapi/types';
2
+ interface LoadContext {
3
+ oldVersions: {
4
+ id: string;
5
+ locale: string;
6
+ }[];
7
+ newVersions: {
8
+ id: string;
9
+ locale: string;
10
+ }[];
11
+ }
12
+ /**
13
+ * Loads all bidirectional relations that need to be synchronized when content entries change state
14
+ * (e.g., during publish/unpublish operations).
15
+ *
16
+ * In Strapi, bidirectional relations allow maintaining order from both sides of the relation.
17
+ * When an entry is published, the following occurs:
18
+ *
19
+ * 1. The old published entry is deleted
20
+ * 2. A new entry is created with all its relations
21
+ *
22
+ * This process affects relation ordering in the following way:
23
+ *
24
+ * Initial state (Entry A related to X, Y, Z):
25
+ * ```
26
+ * Entry A (draft) Entry A (published)
27
+ * │ │
28
+ * ├──(1)→ X ├──(1)→ X
29
+ * ├──(2)→ Y ├──(2)→ Y
30
+ * └──(3)→ Z └──(3)→ Z
31
+ *
32
+ * X's perspective: Y's perspective: Z's perspective:
33
+ * └──(2)→ Entry A └──(1)→ Entry A └──(3)→ Entry A
34
+ * ```
35
+ *
36
+ * After publishing Entry A (without relation order sync):
37
+ * ```
38
+ * Entry A (draft) Entry A (new published)
39
+ * │ │
40
+ * ├──(1)→ X ├──(1)→ X
41
+ * ├──(2)→ Y ├──(2)→ Y
42
+ * └──(3)→ Z └──(3)→ Z
43
+ *
44
+ * X's perspective: Y's perspective: Z's perspective:
45
+ * └──(3)→ Entry A └──(3)→ Entry A └──(3)→ Entry A
46
+ * (all relations appear last in order)
47
+ * ```
48
+ *
49
+ * This module preserves the original ordering from both perspectives by:
50
+ * 1. Capturing the relation order before the entry state changes
51
+ * 2. Restoring this order after the new relations are created
52
+ *
53
+ * @param uid - The unique identifier of the content type being processed
54
+ * @param context - Object containing arrays of old and new entry versions
55
+ * @returns Array of objects containing join table metadata and relations to be updated
56
+ */
57
+ declare const load: (uid: UID.ContentType, { oldVersions }: LoadContext) => Promise<any>;
58
+ /**
59
+ * Synchronizes the order of bidirectional relations after content entries have changed state.
60
+ *
61
+ * When entries change state (e.g., draft → published), their IDs change and all relations are recreated.
62
+ * While the order of relations from the entry's perspective is maintained (as they're created in order),
63
+ * the inverse relations (from related entries' perspective) would all appear last in order since they're new.
64
+ *
65
+ * Example:
66
+ * ```
67
+ * Before publish:
68
+ * Article(id:1) →(order:1)→ Category(id:5)
69
+ * Category(id:5) →(order:3)→ Article(id:1)
70
+ *
71
+ * After publish (without sync):
72
+ * Article(id:2) →(order:1)→ Category(id:5) [order preserved]
73
+ * Category(id:5) →(order:99)→ Article(id:2) [order lost - appears last]
74
+ *
75
+ * After sync:
76
+ * Article(id:2) →(order:1)→ Category(id:5) [order preserved]
77
+ * Category(id:5) →(order:3)→ Article(id:2) [order restored]
78
+ * ```
79
+ *
80
+ * @param oldEntries - Array of previous entry versions with their IDs and locales
81
+ * @param newEntries - Array of new entry versions with their IDs and locales
82
+ * @param existingRelations - Array of join table data containing the relations to be updated
83
+ */
84
+ declare const sync: (oldEntries: {
85
+ id: string;
86
+ locale: string;
87
+ }[], newEntries: {
88
+ id: string;
89
+ locale: string;
90
+ }[], existingRelations: {
91
+ joinTable: any;
92
+ relations: any[];
93
+ }[]) => Promise<void>;
94
+ export { load, sync };
95
+ //# sourceMappingURL=bidirectional-relations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bidirectional-relations.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/utils/bidirectional-relations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAU,MAAM,eAAe,CAAC;AAEjD,UAAU,WAAW;IACnB,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,QAAA,MAAM,IAAI,QAAe,IAAI,WAAW,mBAAmB,WAAW,iBAmDrE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,QAAA,MAAM,IAAI,eACI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,cAChC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,qBACzB;IAAE,SAAS,EAAE,GAAG,CAAC;IAAC,SAAS,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,kBA6C1D,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC"}