@strapi/core 0.0.0-experimental.90ca9123352ed07e0a9cedaf4bcad1475e74137f → 0.0.0-experimental.931410e9ec44301eb4579640bf42aa347fb4a3b7

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

Potentially problematic release.


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

Files changed (1059) 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 +436 -428
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +427 -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 +4 -7
  24. package/dist/configuration/index.d.ts.map +1 -1
  25. package/dist/configuration/index.js +85 -72
  26. package/dist/configuration/index.js.map +1 -1
  27. package/dist/configuration/index.mjs +83 -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 +72 -0
  32. package/dist/configuration/urls.js.map +1 -0
  33. package/dist/configuration/urls.mjs +68 -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 +7 -6
  93. package/dist/core-api/service/single-type.d.ts.map +1 -1
  94. package/dist/core-api/service/single-type.js +44 -22
  95. package/dist/core-api/service/single-type.js.map +1 -1
  96. package/dist/core-api/service/single-type.mjs +43 -24
  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 +5 -2
  120. package/dist/ee/index.d.ts.map +1 -1
  121. package/dist/ee/index.js +171 -132
  122. package/dist/ee/index.js.map +1 -1
  123. package/dist/ee/index.mjs +170 -134
  124. package/dist/ee/index.mjs.map +1 -1
  125. package/dist/ee/license.d.ts +2 -2
  126. package/dist/ee/license.d.ts.map +1 -1
  127. package/dist/ee/license.js +99 -74
  128. package/dist/ee/license.js.map +1 -1
  129. package/dist/ee/license.mjs +98 -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 +182 -0
  328. package/dist/package.json.js.map +1 -0
  329. package/dist/package.json.mjs +159 -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.map +1 -1
  502. package/dist/services/core-store.js +115 -95
  503. package/dist/services/core-store.js.map +1 -1
  504. package/dist/services/core-store.mjs +114 -97
  505. package/dist/services/core-store.mjs.map +1 -1
  506. package/dist/services/cron.d.ts +5 -5
  507. package/dist/services/cron.d.ts.map +1 -1
  508. package/dist/services/cron.js +74 -60
  509. package/dist/services/cron.js.map +1 -1
  510. package/dist/services/cron.mjs +73 -62
  511. package/dist/services/cron.mjs.map +1 -1
  512. package/dist/services/custom-fields.d.ts +2 -2
  513. package/dist/services/custom-fields.d.ts.map +1 -1
  514. package/dist/services/custom-fields.js +9 -7
  515. package/dist/services/custom-fields.js.map +1 -1
  516. package/dist/services/custom-fields.mjs +8 -9
  517. package/dist/services/custom-fields.mjs.map +1 -1
  518. package/dist/services/document-service/attributes/index.d.ts +6 -0
  519. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  520. package/dist/services/document-service/attributes/index.js +27 -0
  521. package/dist/services/document-service/attributes/index.js.map +1 -0
  522. package/dist/services/document-service/attributes/index.mjs +25 -0
  523. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  524. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  525. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  526. package/dist/services/document-service/attributes/transforms.js +21 -0
  527. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  528. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  529. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  530. package/dist/services/document-service/common.d.ts +2 -2
  531. package/dist/services/document-service/common.d.ts.map +1 -1
  532. package/dist/services/document-service/common.js +5 -4
  533. package/dist/services/document-service/common.js.map +1 -1
  534. package/dist/services/document-service/common.mjs +4 -5
  535. package/dist/services/document-service/common.mjs.map +1 -1
  536. package/dist/services/document-service/components.d.ts +25 -1
  537. package/dist/services/document-service/components.d.ts.map +1 -1
  538. package/dist/services/document-service/components.js +286 -0
  539. package/dist/services/document-service/components.js.map +1 -0
  540. package/dist/services/document-service/components.mjs +278 -0
  541. package/dist/services/document-service/components.mjs.map +1 -0
  542. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  543. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  544. package/dist/services/document-service/draft-and-publish.js +104 -36
  545. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  546. package/dist/services/document-service/draft-and-publish.mjs +96 -35
  547. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  548. package/dist/services/document-service/entries.d.ts +10 -0
  549. package/dist/services/document-service/entries.d.ts.map +1 -0
  550. package/dist/services/document-service/entries.js +113 -0
  551. package/dist/services/document-service/entries.js.map +1 -0
  552. package/dist/services/document-service/entries.mjs +111 -0
  553. package/dist/services/document-service/entries.mjs.map +1 -0
  554. package/dist/services/document-service/events.d.ts +25 -0
  555. package/dist/services/document-service/events.d.ts.map +1 -0
  556. package/dist/services/document-service/events.js +59 -0
  557. package/dist/services/document-service/events.js.map +1 -0
  558. package/dist/services/document-service/events.mjs +57 -0
  559. package/dist/services/document-service/events.mjs.map +1 -0
  560. package/dist/services/document-service/index.d.ts +3 -4
  561. package/dist/services/document-service/index.d.ts.map +1 -1
  562. package/dist/services/document-service/index.js +53 -19
  563. package/dist/services/document-service/index.js.map +1 -1
  564. package/dist/services/document-service/index.mjs +52 -20
  565. package/dist/services/document-service/index.mjs.map +1 -1
  566. package/dist/services/document-service/internationalization.d.ts +6 -5
  567. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  568. package/dist/services/document-service/internationalization.js +68 -29
  569. package/dist/services/document-service/internationalization.js.map +1 -1
  570. package/dist/services/document-service/internationalization.mjs +63 -29
  571. package/dist/services/document-service/internationalization.mjs.map +1 -1
  572. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  573. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  574. package/dist/services/document-service/middlewares/errors.js +29 -0
  575. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  576. package/dist/services/document-service/middlewares/errors.mjs +27 -0
  577. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  578. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  579. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  580. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  581. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  582. package/dist/services/document-service/middlewares/middleware-manager.js +51 -0
  583. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  584. package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
  585. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  586. package/dist/services/document-service/params.d.ts +3 -1
  587. package/dist/services/document-service/params.d.ts.map +1 -1
  588. package/dist/services/document-service/params.js +14 -0
  589. package/dist/services/document-service/params.js.map +1 -0
  590. package/dist/services/document-service/params.mjs +12 -0
  591. package/dist/services/document-service/params.mjs.map +1 -0
  592. package/dist/services/document-service/repository.d.ts +3 -0
  593. package/dist/services/document-service/repository.d.ts.map +1 -0
  594. package/dist/services/document-service/repository.js +364 -0
  595. package/dist/services/document-service/repository.js.map +1 -0
  596. package/dist/services/document-service/repository.mjs +362 -0
  597. package/dist/services/document-service/repository.mjs.map +1 -0
  598. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  599. package/dist/services/document-service/transform/data.js +22 -10
  600. package/dist/services/document-service/transform/data.js.map +1 -1
  601. package/dist/services/document-service/transform/data.mjs +21 -11
  602. package/dist/services/document-service/transform/data.mjs.map +1 -1
  603. package/dist/services/document-service/transform/fields.d.ts +2 -2
  604. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  605. package/dist/services/document-service/transform/fields.js +29 -19
  606. package/dist/services/document-service/transform/fields.js.map +1 -1
  607. package/dist/services/document-service/transform/fields.mjs +28 -20
  608. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  609. package/dist/services/document-service/transform/id-map.d.ts +4 -4
  610. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  611. package/dist/services/document-service/transform/id-map.js +117 -64
  612. package/dist/services/document-service/transform/id-map.js.map +1 -1
  613. package/dist/services/document-service/transform/id-map.mjs +116 -65
  614. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  615. package/dist/services/document-service/transform/id-transform.d.ts +4 -25
  616. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  617. package/dist/services/document-service/transform/id-transform.js +39 -55
  618. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  619. package/dist/services/document-service/transform/id-transform.mjs +37 -55
  620. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  621. package/dist/services/document-service/transform/populate.d.ts +5 -2
  622. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  623. package/dist/services/document-service/transform/populate.js +23 -28
  624. package/dist/services/document-service/transform/populate.js.map +1 -1
  625. package/dist/services/document-service/transform/populate.mjs +22 -29
  626. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  627. package/dist/services/document-service/transform/query.d.ts +5 -0
  628. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  629. package/dist/services/document-service/transform/query.js +14 -0
  630. package/dist/services/document-service/transform/query.js.map +1 -0
  631. package/dist/services/document-service/transform/query.mjs +12 -0
  632. package/dist/services/document-service/transform/query.mjs.map +1 -0
  633. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  634. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  635. package/dist/services/document-service/transform/relations/extract/data-ids.js +75 -71
  636. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  637. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +74 -72
  638. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  639. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +9 -5
  640. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  641. package/dist/services/document-service/transform/relations/transform/data-ids.js +105 -110
  642. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  643. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +104 -111
  644. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  645. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  646. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  647. package/dist/services/document-service/transform/relations/transform/default-locale.js +50 -0
  648. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  649. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +48 -0
  650. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  651. package/dist/services/document-service/transform/relations/utils/data.d.ts +2 -4
  652. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -1
  653. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  654. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  655. package/dist/services/document-service/transform/relations/utils/dp.js +56 -0
  656. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  657. package/dist/services/document-service/transform/relations/utils/dp.mjs +54 -0
  658. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  659. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +8 -8
  660. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  661. package/dist/services/document-service/transform/relations/utils/i18n.js +19 -23
  662. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  663. package/dist/services/document-service/transform/relations/utils/i18n.mjs +18 -26
  664. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  665. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  666. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  667. package/dist/services/document-service/transform/relations/utils/map-relation.js +130 -0
  668. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  669. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +127 -0
  670. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  671. package/dist/services/document-service/transform/relations/utils/types.d.ts +15 -2
  672. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  673. package/dist/services/document-service/transform/types.d.ts +4 -4
  674. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  675. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  676. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  677. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  678. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  679. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  680. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  681. package/dist/services/document-service/utils/populate.d.ts +9 -2
  682. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  683. package/dist/services/document-service/utils/populate.js +67 -37
  684. package/dist/services/document-service/utils/populate.js.map +1 -1
  685. package/dist/services/document-service/utils/populate.mjs +66 -38
  686. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  687. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  688. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  689. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  690. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  691. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  692. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  693. package/dist/services/entity-service/index.d.ts +4 -6
  694. package/dist/services/entity-service/index.d.ts.map +1 -1
  695. package/dist/services/entity-service/index.js +229 -319
  696. package/dist/services/entity-service/index.js.map +1 -1
  697. package/dist/services/entity-service/index.mjs +228 -318
  698. package/dist/services/entity-service/index.mjs.map +1 -1
  699. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  700. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  701. package/dist/services/entity-validator/blocks-validator.js +137 -104
  702. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  703. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  704. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  705. package/dist/services/entity-validator/index.d.ts +16 -2
  706. package/dist/services/entity-validator/index.d.ts.map +1 -1
  707. package/dist/services/entity-validator/index.js +362 -300
  708. package/dist/services/entity-validator/index.js.map +1 -1
  709. package/dist/services/entity-validator/index.mjs +358 -297
  710. package/dist/services/entity-validator/index.mjs.map +1 -1
  711. package/dist/services/entity-validator/validators.d.ts +36 -25
  712. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  713. package/dist/services/entity-validator/validators.js +283 -105
  714. package/dist/services/entity-validator/validators.js.map +1 -1
  715. package/dist/services/entity-validator/validators.mjs +274 -103
  716. package/dist/services/entity-validator/validators.mjs.map +1 -1
  717. package/dist/services/errors.js +65 -65
  718. package/dist/services/errors.js.map +1 -1
  719. package/dist/services/errors.mjs +64 -66
  720. package/dist/services/errors.mjs.map +1 -1
  721. package/dist/services/event-hub.d.ts +1 -0
  722. package/dist/services/event-hub.d.ts.map +1 -1
  723. package/dist/services/event-hub.js +82 -64
  724. package/dist/services/event-hub.js.map +1 -1
  725. package/dist/services/event-hub.mjs +81 -66
  726. package/dist/services/event-hub.mjs.map +1 -1
  727. package/dist/services/features.d.ts +3 -3
  728. package/dist/services/features.d.ts.map +1 -1
  729. package/dist/services/features.js +19 -14
  730. package/dist/services/features.js.map +1 -1
  731. package/dist/services/features.mjs +18 -15
  732. package/dist/services/features.mjs.map +1 -1
  733. package/dist/services/fs.d.ts +2 -2
  734. package/dist/services/fs.d.ts.map +1 -1
  735. package/dist/services/fs.js +41 -40
  736. package/dist/services/fs.js.map +1 -1
  737. package/dist/services/fs.mjs +40 -39
  738. package/dist/services/fs.mjs.map +1 -1
  739. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  740. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  741. package/dist/services/metrics/admin-user-hash.js +13 -11
  742. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  743. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  744. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  745. package/dist/services/metrics/index.d.ts +2 -2
  746. package/dist/services/metrics/index.d.ts.map +1 -1
  747. package/dist/services/metrics/index.js +46 -40
  748. package/dist/services/metrics/index.js.map +1 -1
  749. package/dist/services/metrics/index.mjs +45 -42
  750. package/dist/services/metrics/index.mjs.map +1 -1
  751. package/dist/services/metrics/is-truthy.js +13 -6
  752. package/dist/services/metrics/is-truthy.js.map +1 -1
  753. package/dist/services/metrics/is-truthy.mjs +12 -6
  754. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  755. package/dist/services/metrics/middleware.d.ts +2 -2
  756. package/dist/services/metrics/middleware.d.ts.map +1 -1
  757. package/dist/services/metrics/middleware.js +37 -22
  758. package/dist/services/metrics/middleware.js.map +1 -1
  759. package/dist/services/metrics/middleware.mjs +36 -24
  760. package/dist/services/metrics/middleware.mjs.map +1 -1
  761. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  762. package/dist/services/metrics/rate-limiter.js +24 -19
  763. package/dist/services/metrics/rate-limiter.js.map +1 -1
  764. package/dist/services/metrics/rate-limiter.mjs +23 -21
  765. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  766. package/dist/services/metrics/sender.d.ts +3 -3
  767. package/dist/services/metrics/sender.d.ts.map +1 -1
  768. package/dist/services/metrics/sender.js +78 -69
  769. package/dist/services/metrics/sender.js.map +1 -1
  770. package/dist/services/metrics/sender.mjs +77 -64
  771. package/dist/services/metrics/sender.mjs.map +1 -1
  772. package/dist/services/query-params.d.ts +7 -0
  773. package/dist/services/query-params.d.ts.map +1 -0
  774. package/dist/services/query-params.js +15 -0
  775. package/dist/services/query-params.js.map +1 -0
  776. package/dist/services/query-params.mjs +13 -0
  777. package/dist/services/query-params.mjs.map +1 -0
  778. package/dist/services/reloader.d.ts +7 -0
  779. package/dist/services/reloader.d.ts.map +1 -0
  780. package/dist/services/reloader.js +39 -0
  781. package/dist/services/reloader.js.map +1 -0
  782. package/dist/services/reloader.mjs +37 -0
  783. package/dist/services/reloader.mjs.map +1 -0
  784. package/dist/services/request-context.js +11 -8
  785. package/dist/services/request-context.js.map +1 -1
  786. package/dist/services/request-context.mjs +10 -10
  787. package/dist/services/request-context.mjs.map +1 -1
  788. package/dist/services/server/admin-api.d.ts +3 -3
  789. package/dist/services/server/admin-api.d.ts.map +1 -1
  790. package/dist/services/server/admin-api.js +11 -10
  791. package/dist/services/server/admin-api.js.map +1 -1
  792. package/dist/services/server/admin-api.mjs +10 -11
  793. package/dist/services/server/admin-api.mjs.map +1 -1
  794. package/dist/services/server/api.d.ts +3 -3
  795. package/dist/services/server/api.d.ts.map +1 -1
  796. package/dist/services/server/api.js +33 -27
  797. package/dist/services/server/api.js.map +1 -1
  798. package/dist/services/server/api.mjs +32 -26
  799. package/dist/services/server/api.mjs.map +1 -1
  800. package/dist/services/server/compose-endpoint.d.ts +2 -2
  801. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  802. package/dist/services/server/compose-endpoint.js +116 -106
  803. package/dist/services/server/compose-endpoint.js.map +1 -1
  804. package/dist/services/server/compose-endpoint.mjs +115 -106
  805. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  806. package/dist/services/server/content-api.d.ts +3 -3
  807. package/dist/services/server/content-api.d.ts.map +1 -1
  808. package/dist/services/server/content-api.js +11 -9
  809. package/dist/services/server/content-api.js.map +1 -1
  810. package/dist/services/server/content-api.mjs +10 -10
  811. package/dist/services/server/content-api.mjs.map +1 -1
  812. package/dist/services/server/http-server.d.ts +2 -2
  813. package/dist/services/server/http-server.d.ts.map +1 -1
  814. package/dist/services/server/http-server.js +48 -44
  815. package/dist/services/server/http-server.js.map +1 -1
  816. package/dist/services/server/http-server.mjs +47 -43
  817. package/dist/services/server/http-server.mjs.map +1 -1
  818. package/dist/services/server/index.d.ts +2 -2
  819. package/dist/services/server/index.d.ts.map +1 -1
  820. package/dist/services/server/index.js +85 -83
  821. package/dist/services/server/index.js.map +1 -1
  822. package/dist/services/server/index.mjs +84 -82
  823. package/dist/services/server/index.mjs.map +1 -1
  824. package/dist/services/server/koa.d.ts.map +1 -1
  825. package/dist/services/server/koa.js +49 -47
  826. package/dist/services/server/koa.js.map +1 -1
  827. package/dist/services/server/koa.mjs +48 -44
  828. package/dist/services/server/koa.mjs.map +1 -1
  829. package/dist/services/server/middleware.d.ts +4 -4
  830. package/dist/services/server/middleware.d.ts.map +1 -1
  831. package/dist/services/server/middleware.js +86 -82
  832. package/dist/services/server/middleware.js.map +1 -1
  833. package/dist/services/server/middleware.mjs +85 -82
  834. package/dist/services/server/middleware.mjs.map +1 -1
  835. package/dist/services/server/policy.d.ts +3 -3
  836. package/dist/services/server/policy.d.ts.map +1 -1
  837. package/dist/services/server/policy.js +25 -18
  838. package/dist/services/server/policy.js.map +1 -1
  839. package/dist/services/server/policy.mjs +23 -18
  840. package/dist/services/server/policy.mjs.map +1 -1
  841. package/dist/services/server/register-middlewares.d.ts +2 -2
  842. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  843. package/dist/services/server/register-middlewares.js +68 -61
  844. package/dist/services/server/register-middlewares.js.map +1 -1
  845. package/dist/services/server/register-middlewares.mjs +67 -63
  846. package/dist/services/server/register-middlewares.mjs.map +1 -1
  847. package/dist/services/server/register-routes.d.ts +2 -2
  848. package/dist/services/server/register-routes.d.ts.map +1 -1
  849. package/dist/services/server/register-routes.js +90 -67
  850. package/dist/services/server/register-routes.js.map +1 -1
  851. package/dist/services/server/register-routes.mjs +89 -67
  852. package/dist/services/server/register-routes.mjs.map +1 -1
  853. package/dist/services/server/routing.d.ts +5 -5
  854. package/dist/services/server/routing.d.ts.map +1 -1
  855. package/dist/services/server/routing.js +94 -81
  856. package/dist/services/server/routing.js.map +1 -1
  857. package/dist/services/server/routing.mjs +93 -81
  858. package/dist/services/server/routing.mjs.map +1 -1
  859. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  860. package/dist/services/utils/dynamic-zones.js +13 -13
  861. package/dist/services/utils/dynamic-zones.js.map +1 -1
  862. package/dist/services/utils/dynamic-zones.mjs +12 -15
  863. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  864. package/dist/services/webhook-runner.d.ts +2 -1
  865. package/dist/services/webhook-runner.d.ts.map +1 -1
  866. package/dist/services/webhook-runner.js +124 -122
  867. package/dist/services/webhook-runner.js.map +1 -1
  868. package/dist/services/webhook-runner.mjs +123 -121
  869. package/dist/services/webhook-runner.mjs.map +1 -1
  870. package/dist/services/webhook-store.d.ts +2 -8
  871. package/dist/services/webhook-store.d.ts.map +1 -1
  872. package/dist/services/webhook-store.js +132 -93
  873. package/dist/services/webhook-store.js.map +1 -1
  874. package/dist/services/webhook-store.mjs +131 -95
  875. package/dist/services/webhook-store.mjs.map +1 -1
  876. package/dist/services/worker-queue.js +44 -49
  877. package/dist/services/worker-queue.js.map +1 -1
  878. package/dist/services/worker-queue.mjs +43 -49
  879. package/dist/services/worker-queue.mjs.map +1 -1
  880. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  881. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  882. package/dist/utils/convert-custom-field-type.js +17 -20
  883. package/dist/utils/convert-custom-field-type.js.map +1 -1
  884. package/dist/utils/convert-custom-field-type.mjs +16 -21
  885. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  886. package/dist/utils/cron.js +64 -30
  887. package/dist/utils/cron.js.map +1 -1
  888. package/dist/utils/cron.mjs +63 -31
  889. package/dist/utils/cron.mjs.map +1 -1
  890. package/dist/utils/fetch.d.ts +3 -3
  891. package/dist/utils/fetch.d.ts.map +1 -1
  892. package/dist/utils/fetch.js +24 -17
  893. package/dist/utils/fetch.js.map +1 -1
  894. package/dist/utils/fetch.mjs +23 -18
  895. package/dist/utils/fetch.mjs.map +1 -1
  896. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  897. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  898. package/dist/utils/filepath-to-prop-path.js +22 -9
  899. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  900. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  901. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  902. package/dist/utils/index.d.ts +2 -1
  903. package/dist/utils/index.d.ts.map +1 -1
  904. package/dist/utils/is-initialized.d.ts +2 -2
  905. package/dist/utils/is-initialized.d.ts.map +1 -1
  906. package/dist/utils/is-initialized.js +21 -12
  907. package/dist/utils/is-initialized.js.map +1 -1
  908. package/dist/utils/is-initialized.mjs +20 -13
  909. package/dist/utils/is-initialized.mjs.map +1 -1
  910. package/dist/utils/lifecycles.js +6 -5
  911. package/dist/utils/lifecycles.js.map +1 -1
  912. package/dist/utils/lifecycles.mjs +5 -6
  913. package/dist/utils/lifecycles.mjs.map +1 -1
  914. package/dist/utils/load-config-file.js +40 -38
  915. package/dist/utils/load-config-file.js.map +1 -1
  916. package/dist/utils/load-config-file.mjs +39 -36
  917. package/dist/utils/load-config-file.mjs.map +1 -1
  918. package/dist/utils/load-files.d.ts.map +1 -1
  919. package/dist/utils/load-files.js +40 -35
  920. package/dist/utils/load-files.js.map +1 -1
  921. package/dist/utils/load-files.mjs +39 -32
  922. package/dist/utils/load-files.mjs.map +1 -1
  923. package/dist/utils/open-browser.d.ts +2 -2
  924. package/dist/utils/open-browser.d.ts.map +1 -1
  925. package/dist/utils/open-browser.js +8 -8
  926. package/dist/utils/open-browser.js.map +1 -1
  927. package/dist/utils/open-browser.mjs +7 -7
  928. package/dist/utils/open-browser.mjs.map +1 -1
  929. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  930. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  931. package/dist/utils/resolve-working-dirs.js +26 -0
  932. package/dist/utils/resolve-working-dirs.js.map +1 -0
  933. package/dist/utils/resolve-working-dirs.mjs +24 -0
  934. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  935. package/dist/utils/signals.d.ts +2 -2
  936. package/dist/utils/signals.d.ts.map +1 -1
  937. package/dist/utils/signals.js +20 -14
  938. package/dist/utils/signals.js.map +1 -1
  939. package/dist/utils/signals.mjs +19 -15
  940. package/dist/utils/signals.mjs.map +1 -1
  941. package/dist/utils/startup-logger.d.ts +2 -2
  942. package/dist/utils/startup-logger.d.ts.map +1 -1
  943. package/dist/utils/startup-logger.js +107 -78
  944. package/dist/utils/startup-logger.js.map +1 -1
  945. package/dist/utils/startup-logger.mjs +106 -75
  946. package/dist/utils/startup-logger.mjs.map +1 -1
  947. package/dist/utils/transform-content-types-to-models.d.ts +461 -3
  948. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  949. package/dist/utils/transform-content-types-to-models.js +362 -183
  950. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  951. package/dist/utils/transform-content-types-to-models.mjs +351 -182
  952. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  953. package/dist/utils/update-notifier/index.d.ts +2 -7
  954. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  955. package/dist/utils/update-notifier/index.js +66 -74
  956. package/dist/utils/update-notifier/index.js.map +1 -1
  957. package/dist/utils/update-notifier/index.mjs +65 -68
  958. package/dist/utils/update-notifier/index.mjs.map +1 -1
  959. package/package.json +43 -40
  960. package/dist/registries/config.d.ts +0 -4
  961. package/dist/registries/config.d.ts.map +0 -1
  962. package/dist/registries/config.js +0 -23
  963. package/dist/registries/config.js.map +0 -1
  964. package/dist/registries/config.mjs +0 -22
  965. package/dist/registries/config.mjs.map +0 -1
  966. package/dist/services/document-service/collection-type.d.ts +0 -4
  967. package/dist/services/document-service/collection-type.d.ts.map +0 -1
  968. package/dist/services/document-service/collection-type.js +0 -145
  969. package/dist/services/document-service/collection-type.js.map +0 -1
  970. package/dist/services/document-service/collection-type.mjs +0 -145
  971. package/dist/services/document-service/collection-type.mjs.map +0 -1
  972. package/dist/services/document-service/document-engine.d.ts +0 -8
  973. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  974. package/dist/services/document-service/document-engine.js +0 -249
  975. package/dist/services/document-service/document-engine.js.map +0 -1
  976. package/dist/services/document-service/document-engine.mjs +0 -250
  977. package/dist/services/document-service/document-engine.mjs.map +0 -1
  978. package/dist/services/document-service/middlewares.d.ts +0 -8
  979. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  980. package/dist/services/document-service/middlewares.js +0 -46
  981. package/dist/services/document-service/middlewares.js.map +0 -1
  982. package/dist/services/document-service/middlewares.mjs +0 -46
  983. package/dist/services/document-service/middlewares.mjs.map +0 -1
  984. package/dist/services/document-service/repository-factory.d.ts +0 -3
  985. package/dist/services/document-service/repository-factory.d.ts.map +0 -1
  986. package/dist/services/document-service/repository-factory.js +0 -12
  987. package/dist/services/document-service/repository-factory.js.map +0 -1
  988. package/dist/services/document-service/repository-factory.mjs +0 -12
  989. package/dist/services/document-service/repository-factory.mjs.map +0 -1
  990. package/dist/services/document-service/single-type.d.ts +0 -4
  991. package/dist/services/document-service/single-type.d.ts.map +0 -1
  992. package/dist/services/document-service/single-type.js +0 -92
  993. package/dist/services/document-service/single-type.js.map +0 -1
  994. package/dist/services/document-service/single-type.mjs +0 -92
  995. package/dist/services/document-service/single-type.mjs.map +0 -1
  996. package/dist/services/document-service/transform/filters.d.ts +0 -3
  997. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  998. package/dist/services/document-service/transform/filters.js +0 -49
  999. package/dist/services/document-service/transform/filters.js.map +0 -1
  1000. package/dist/services/document-service/transform/filters.mjs +0 -49
  1001. package/dist/services/document-service/transform/filters.mjs.map +0 -1
  1002. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  1003. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  1004. package/dist/services/document-service/transform/relations/transform/output-ids.js +0 -26
  1005. package/dist/services/document-service/transform/relations/transform/output-ids.js.map +0 -1
  1006. package/dist/services/document-service/transform/relations/transform/output-ids.mjs +0 -26
  1007. package/dist/services/document-service/transform/relations/transform/output-ids.mjs.map +0 -1
  1008. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  1009. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  1010. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  1011. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  1012. package/dist/services/document-service/transform/sort.d.ts +0 -5
  1013. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  1014. package/dist/services/document-service/transform/sort.js +0 -44
  1015. package/dist/services/document-service/transform/sort.js.map +0 -1
  1016. package/dist/services/document-service/transform/sort.mjs +0 -44
  1017. package/dist/services/document-service/transform/sort.mjs.map +0 -1
  1018. package/dist/services/document-service/transform/utils.d.ts +0 -9
  1019. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  1020. package/dist/services/document-service/transform/utils.js +0 -23
  1021. package/dist/services/document-service/transform/utils.js.map +0 -1
  1022. package/dist/services/document-service/transform/utils.mjs +0 -23
  1023. package/dist/services/document-service/transform/utils.mjs.map +0 -1
  1024. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  1025. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  1026. package/dist/services/entity-service/attributes/index.js +0 -22
  1027. package/dist/services/entity-service/attributes/index.js.map +0 -1
  1028. package/dist/services/entity-service/attributes/index.mjs +0 -22
  1029. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  1030. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  1031. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  1032. package/dist/services/entity-service/attributes/transforms.js +0 -20
  1033. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  1034. package/dist/services/entity-service/attributes/transforms.mjs +0 -19
  1035. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  1036. package/dist/services/entity-service/components.d.ts +0 -23
  1037. package/dist/services/entity-service/components.d.ts.map +0 -1
  1038. package/dist/services/entity-service/components.js +0 -384
  1039. package/dist/services/entity-service/components.js.map +0 -1
  1040. package/dist/services/entity-service/components.mjs +0 -382
  1041. package/dist/services/entity-service/components.mjs.map +0 -1
  1042. package/dist/services/entity-service/params.d.ts +0 -8
  1043. package/dist/services/entity-service/params.d.ts.map +0 -1
  1044. package/dist/services/entity-service/params.js +0 -8
  1045. package/dist/services/entity-service/params.js.map +0 -1
  1046. package/dist/services/entity-service/params.mjs +0 -8
  1047. package/dist/services/entity-service/params.mjs.map +0 -1
  1048. package/dist/services/utils/upload-files.d.ts +0 -8
  1049. package/dist/services/utils/upload-files.d.ts.map +0 -1
  1050. package/dist/services/utils/upload-files.js +0 -64
  1051. package/dist/services/utils/upload-files.js.map +0 -1
  1052. package/dist/services/utils/upload-files.mjs +0 -63
  1053. package/dist/services/utils/upload-files.mjs.map +0 -1
  1054. package/dist/utils/get-dirs.d.ts +0 -9
  1055. package/dist/utils/get-dirs.d.ts.map +0 -1
  1056. package/dist/utils/get-dirs.js +0 -30
  1057. package/dist/utils/get-dirs.js.map +0 -1
  1058. package/dist/utils/get-dirs.mjs +0 -30
  1059. package/dist/utils/get-dirs.mjs.map +0 -1
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ var i18n = require('../utils/i18n.js');
4
+ var mapRelation = require('../utils/map-relation.js');
5
+
6
+ /**
7
+ * In scenarios like Non i18n CT -> i18n CT
8
+ * relations can be connected to multiple locales,
9
+ * in case user does not provide the locale, this sets it to the default one.
10
+ */ const setDefaultLocaleToRelations = (data, uid)=>{
11
+ // I18n CT -> anything will already have a locale set (source locale)
12
+ if (i18n.isLocalizedContentType(uid)) {
13
+ return data;
14
+ }
15
+ // Store the default locale to avoid multiple calls
16
+ let defaultLocale;
17
+ /**
18
+ * Traverse the entity input data and set the default locale to relations
19
+ */ return mapRelation.traverseEntityRelations(async ({ key, value }, { set })=>{
20
+ /**
21
+ * Assign default locale on long hand expressed relations
22
+ * e.g { documentId } -> { documentId, locale }
23
+ */ const relation = await mapRelation.mapRelation(async (relation)=>{
24
+ if (!relation || !relation?.documentId || relation?.locale) {
25
+ return relation;
26
+ }
27
+ // Set default locale if not provided
28
+ if (!defaultLocale) {
29
+ defaultLocale = await i18n.getDefaultLocale();
30
+ }
31
+ // Assign default locale to the positional argument
32
+ const position = relation.position;
33
+ if (position && typeof position === 'object' && !position.locale) {
34
+ relation.position.locale = defaultLocale;
35
+ }
36
+ return {
37
+ ...relation,
38
+ locale: defaultLocale
39
+ };
40
+ }, value);
41
+ // @ts-expect-error - fix type
42
+ set(key, relation);
43
+ }, {
44
+ schema: strapi.getModel(uid),
45
+ getModel: strapi.getModel.bind(strapi)
46
+ }, data);
47
+ };
48
+
49
+ exports.setDefaultLocaleToRelations = setDefaultLocaleToRelations;
50
+ //# sourceMappingURL=default-locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-locale.js","sources":["../../../../../../src/services/document-service/transform/relations/transform/default-locale.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\n\nimport { getDefaultLocale, isLocalizedContentType } from '../utils/i18n';\nimport { mapRelation, traverseEntityRelations } from '../utils/map-relation';\n\n/**\n * In scenarios like Non i18n CT -> i18n CT\n * relations can be connected to multiple locales,\n * in case user does not provide the locale, this sets it to the default one.\n */\nconst setDefaultLocaleToRelations = (data: Record<string, any>, uid: UID.Schema) => {\n // I18n CT -> anything will already have a locale set (source locale)\n if (isLocalizedContentType(uid)) {\n return data;\n }\n\n // Store the default locale to avoid multiple calls\n let defaultLocale: string;\n\n /**\n * Traverse the entity input data and set the default locale to relations\n */\n return traverseEntityRelations(\n async ({ key, value }, { set }) => {\n /**\n * Assign default locale on long hand expressed relations\n * e.g { documentId } -> { documentId, locale }\n */\n const relation = await mapRelation(async (relation) => {\n if (!relation || !relation?.documentId || relation?.locale) {\n return relation;\n }\n\n // Set default locale if not provided\n if (!defaultLocale) {\n defaultLocale = await getDefaultLocale();\n }\n\n // Assign default locale to the positional argument\n const position = relation.position;\n if (position && typeof position === 'object' && !position.locale) {\n relation.position.locale = defaultLocale;\n }\n\n return { ...relation, locale: defaultLocale };\n }, value as any);\n\n // @ts-expect-error - fix type\n set(key, relation);\n },\n { schema: strapi.getModel(uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n\nexport { setDefaultLocaleToRelations };\n"],"names":["setDefaultLocaleToRelations","data","uid","isLocalizedContentType","defaultLocale","traverseEntityRelations","key","value","set","relation","mapRelation","documentId","locale","getDefaultLocale","position","schema","strapi","getModel","bind"],"mappings":";;;;;AAKA;;;;IAKA,MAAMA,2BAA8B,GAAA,CAACC,IAA2BC,EAAAA,GAAAA,GAAAA;;AAE9D,IAAA,IAAIC,4BAAuBD,GAAM,CAAA,EAAA;QAC/B,OAAOD,IAAAA;AACT;;IAGA,IAAIG,aAAAA;AAEJ;;MAGA,OAAOC,mCACL,CAAA,OAAO,EAAEC,GAAG,EAAEC,KAAK,EAAE,EAAE,EAAEC,GAAG,EAAE,GAAA;AAC5B;;;AAGC,UACD,MAAMC,QAAAA,GAAW,MAAMC,uBAAAA,CAAY,OAAOD,QAAAA,GAAAA;AACxC,YAAA,IAAI,CAACA,QAAY,IAAA,CAACA,QAAUE,EAAAA,UAAAA,IAAcF,UAAUG,MAAQ,EAAA;gBAC1D,OAAOH,QAAAA;AACT;;AAGA,YAAA,IAAI,CAACL,aAAe,EAAA;AAClBA,gBAAAA,aAAAA,GAAgB,MAAMS,qBAAAA,EAAAA;AACxB;;YAGA,MAAMC,QAAAA,GAAWL,SAASK,QAAQ;AAClC,YAAA,IAAIA,YAAY,OAAOA,QAAAA,KAAa,YAAY,CAACA,QAAAA,CAASF,MAAM,EAAE;gBAChEH,QAASK,CAAAA,QAAQ,CAACF,MAAM,GAAGR,aAAAA;AAC7B;YAEA,OAAO;AAAE,gBAAA,GAAGK,QAAQ;gBAAEG,MAAQR,EAAAA;AAAc,aAAA;SAC3CG,EAAAA,KAAAA,CAAAA;;AAGHC,QAAAA,GAAAA,CAAIF,GAAKG,EAAAA,QAAAA,CAAAA;KAEX,EAAA;QAAEM,MAAQC,EAAAA,MAAAA,CAAOC,QAAQ,CAACf,GAAAA,CAAAA;AAAMe,QAAAA,QAAAA,EAAUD,MAAOC,CAAAA,QAAQ,CAACC,IAAI,CAACF,MAAAA;KAC/Df,EAAAA,IAAAA,CAAAA;AAEJ;;;;"}
@@ -0,0 +1,48 @@
1
+ import { isLocalizedContentType, getDefaultLocale } from '../utils/i18n.mjs';
2
+ import { traverseEntityRelations as traverseEntityRelationsCurried, mapRelation as mapRelationCurried } from '../utils/map-relation.mjs';
3
+
4
+ /**
5
+ * In scenarios like Non i18n CT -> i18n CT
6
+ * relations can be connected to multiple locales,
7
+ * in case user does not provide the locale, this sets it to the default one.
8
+ */ const setDefaultLocaleToRelations = (data, uid)=>{
9
+ // I18n CT -> anything will already have a locale set (source locale)
10
+ if (isLocalizedContentType(uid)) {
11
+ return data;
12
+ }
13
+ // Store the default locale to avoid multiple calls
14
+ let defaultLocale;
15
+ /**
16
+ * Traverse the entity input data and set the default locale to relations
17
+ */ return traverseEntityRelationsCurried(async ({ key, value }, { set })=>{
18
+ /**
19
+ * Assign default locale on long hand expressed relations
20
+ * e.g { documentId } -> { documentId, locale }
21
+ */ const relation = await mapRelationCurried(async (relation)=>{
22
+ if (!relation || !relation?.documentId || relation?.locale) {
23
+ return relation;
24
+ }
25
+ // Set default locale if not provided
26
+ if (!defaultLocale) {
27
+ defaultLocale = await getDefaultLocale();
28
+ }
29
+ // Assign default locale to the positional argument
30
+ const position = relation.position;
31
+ if (position && typeof position === 'object' && !position.locale) {
32
+ relation.position.locale = defaultLocale;
33
+ }
34
+ return {
35
+ ...relation,
36
+ locale: defaultLocale
37
+ };
38
+ }, value);
39
+ // @ts-expect-error - fix type
40
+ set(key, relation);
41
+ }, {
42
+ schema: strapi.getModel(uid),
43
+ getModel: strapi.getModel.bind(strapi)
44
+ }, data);
45
+ };
46
+
47
+ export { setDefaultLocaleToRelations };
48
+ //# sourceMappingURL=default-locale.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-locale.mjs","sources":["../../../../../../src/services/document-service/transform/relations/transform/default-locale.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\n\nimport { getDefaultLocale, isLocalizedContentType } from '../utils/i18n';\nimport { mapRelation, traverseEntityRelations } from '../utils/map-relation';\n\n/**\n * In scenarios like Non i18n CT -> i18n CT\n * relations can be connected to multiple locales,\n * in case user does not provide the locale, this sets it to the default one.\n */\nconst setDefaultLocaleToRelations = (data: Record<string, any>, uid: UID.Schema) => {\n // I18n CT -> anything will already have a locale set (source locale)\n if (isLocalizedContentType(uid)) {\n return data;\n }\n\n // Store the default locale to avoid multiple calls\n let defaultLocale: string;\n\n /**\n * Traverse the entity input data and set the default locale to relations\n */\n return traverseEntityRelations(\n async ({ key, value }, { set }) => {\n /**\n * Assign default locale on long hand expressed relations\n * e.g { documentId } -> { documentId, locale }\n */\n const relation = await mapRelation(async (relation) => {\n if (!relation || !relation?.documentId || relation?.locale) {\n return relation;\n }\n\n // Set default locale if not provided\n if (!defaultLocale) {\n defaultLocale = await getDefaultLocale();\n }\n\n // Assign default locale to the positional argument\n const position = relation.position;\n if (position && typeof position === 'object' && !position.locale) {\n relation.position.locale = defaultLocale;\n }\n\n return { ...relation, locale: defaultLocale };\n }, value as any);\n\n // @ts-expect-error - fix type\n set(key, relation);\n },\n { schema: strapi.getModel(uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n\nexport { setDefaultLocaleToRelations };\n"],"names":["setDefaultLocaleToRelations","data","uid","isLocalizedContentType","defaultLocale","traverseEntityRelations","key","value","set","relation","mapRelation","documentId","locale","getDefaultLocale","position","schema","strapi","getModel","bind"],"mappings":";;;AAKA;;;;IAKA,MAAMA,2BAA8B,GAAA,CAACC,IAA2BC,EAAAA,GAAAA,GAAAA;;AAE9D,IAAA,IAAIC,uBAAuBD,GAAM,CAAA,EAAA;QAC/B,OAAOD,IAAAA;AACT;;IAGA,IAAIG,aAAAA;AAEJ;;MAGA,OAAOC,8BACL,CAAA,OAAO,EAAEC,GAAG,EAAEC,KAAK,EAAE,EAAE,EAAEC,GAAG,EAAE,GAAA;AAC5B;;;AAGC,UACD,MAAMC,QAAAA,GAAW,MAAMC,kBAAAA,CAAY,OAAOD,QAAAA,GAAAA;AACxC,YAAA,IAAI,CAACA,QAAY,IAAA,CAACA,QAAUE,EAAAA,UAAAA,IAAcF,UAAUG,MAAQ,EAAA;gBAC1D,OAAOH,QAAAA;AACT;;AAGA,YAAA,IAAI,CAACL,aAAe,EAAA;AAClBA,gBAAAA,aAAAA,GAAgB,MAAMS,gBAAAA,EAAAA;AACxB;;YAGA,MAAMC,QAAAA,GAAWL,SAASK,QAAQ;AAClC,YAAA,IAAIA,YAAY,OAAOA,QAAAA,KAAa,YAAY,CAACA,QAAAA,CAASF,MAAM,EAAE;gBAChEH,QAASK,CAAAA,QAAQ,CAACF,MAAM,GAAGR,aAAAA;AAC7B;YAEA,OAAO;AAAE,gBAAA,GAAGK,QAAQ;gBAAEG,MAAQR,EAAAA;AAAc,aAAA;SAC3CG,EAAAA,KAAAA,CAAAA;;AAGHC,QAAAA,GAAAA,CAAIF,GAAKG,EAAAA,QAAAA,CAAAA;KAEX,EAAA;QAAEM,MAAQC,EAAAA,MAAAA,CAAOC,QAAQ,CAACf,GAAAA,CAAAA;AAAMe,QAAAA,QAAAA,EAAUD,MAAOC,CAAAA,QAAQ,CAACC,IAAI,CAACF,MAAAA;KAC/Df,EAAAA,IAAAA,CAAAA;AAEJ;;;;"}
@@ -1,6 +1,4 @@
1
- import { ID } from './types';
1
+ import { ID, LongHand } from './types';
2
2
  export declare const isShortHand: (relation: any) => relation is ID;
3
- export declare const isLongHand: (relation: any) => relation is {
4
- id: ID;
5
- };
3
+ export declare const isLongHand: (relation: any) => relation is LongHand;
6
4
  //# sourceMappingURL=data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,eAAO,MAAM,WAAW,aAAc,GAAG,mBAExC,CAAC;AAEF,eAAO,MAAM,UAAU,aAAc,GAAG;QAAqB,EAAE;CAE9D,CAAC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,WAAW,aAAc,GAAG,mBAExC,CAAC;AAEF,eAAO,MAAM,UAAU,aAAc,GAAG,yBAEvC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { UID } from '@strapi/types';
2
+ import { LongHandDocument } from './types';
3
+ type Status = 'draft' | 'published';
4
+ export declare const getRelationTargetStatus: (relation: Pick<LongHandDocument, 'documentId' | 'status'>, opts: {
5
+ targetUid: UID.Schema;
6
+ sourceUid: UID.Schema;
7
+ sourceStatus?: Status;
8
+ }) => Status[];
9
+ export {};
10
+ //# sourceMappingURL=dp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dp.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/dp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,KAAK,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;AAEpC,eAAO,MAAM,uBAAuB,aACxB,KAAK,gBAAgB,EAAE,YAAY,GAAG,QAAQ,CAAC,QACnD;IACJ,SAAS,EAAE,IAAI,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KACA,MAAM,EA2CR,CAAC"}
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var strapiUtils = require('@strapi/utils');
5
+
6
+ const getRelationTargetStatus = (relation, opts)=>{
7
+ // Ignore if the target content type does not have draft and publish enabled
8
+ const targetContentType = strapi.getModel(opts.targetUid);
9
+ const sourceContentType = strapi.getModel(opts.sourceUid);
10
+ const targetHasDP = strapiUtils.contentTypes.hasDraftAndPublish(targetContentType);
11
+ const sourceHasDP = strapiUtils.contentTypes.hasDraftAndPublish(sourceContentType);
12
+ if (!targetHasDP) {
13
+ return [
14
+ 'published'
15
+ ];
16
+ }
17
+ /**
18
+ * If both source and target have DP enabled,
19
+ * connect it to the same status as the source status
20
+ */ if (sourceHasDP && !fp.isNil(opts.sourceStatus)) {
21
+ return [
22
+ opts.sourceStatus
23
+ ];
24
+ }
25
+ /**
26
+ * Use the status from the relation if it's set
27
+ */ if (relation.status) {
28
+ switch(relation.status){
29
+ case 'published':
30
+ return [
31
+ 'published'
32
+ ];
33
+ default:
34
+ // Default to draft if it's an invalid status (e.g. modified)
35
+ return [
36
+ 'draft'
37
+ ];
38
+ }
39
+ }
40
+ /**
41
+ * If DP is disabled and relation does not specify any status
42
+ * Connect to both draft and published versions
43
+ */ if (!sourceHasDP) {
44
+ return [
45
+ 'draft',
46
+ 'published'
47
+ ];
48
+ }
49
+ // Default to draft as a fallback
50
+ return [
51
+ 'draft'
52
+ ];
53
+ };
54
+
55
+ exports.getRelationTargetStatus = getRelationTargetStatus;
56
+ //# sourceMappingURL=dp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dp.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/dp.ts"],"sourcesContent":["import { isNil } from 'lodash/fp';\n\nimport { contentTypes } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\n\nimport { LongHandDocument } from './types';\n\ntype Status = 'draft' | 'published';\n\nexport const getRelationTargetStatus = (\n relation: Pick<LongHandDocument, 'documentId' | 'status'>,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceStatus?: Status;\n }\n): Status[] => {\n // Ignore if the target content type does not have draft and publish enabled\n const targetContentType = strapi.getModel(opts.targetUid);\n const sourceContentType = strapi.getModel(opts.sourceUid);\n\n const targetHasDP = contentTypes.hasDraftAndPublish(targetContentType);\n const sourceHasDP = contentTypes.hasDraftAndPublish(sourceContentType);\n\n if (!targetHasDP) {\n return ['published'];\n }\n\n /**\n * If both source and target have DP enabled,\n * connect it to the same status as the source status\n */\n if (sourceHasDP && !isNil(opts.sourceStatus)) {\n return [opts.sourceStatus];\n }\n\n /**\n * Use the status from the relation if it's set\n */\n if (relation.status) {\n switch (relation.status) {\n case 'published':\n return ['published'];\n default:\n // Default to draft if it's an invalid status (e.g. modified)\n return ['draft'];\n }\n }\n\n /**\n * If DP is disabled and relation does not specify any status\n * Connect to both draft and published versions\n */\n if (!sourceHasDP) {\n return ['draft', 'published'];\n }\n\n // Default to draft as a fallback\n return ['draft'];\n};\n"],"names":["getRelationTargetStatus","relation","opts","targetContentType","strapi","getModel","targetUid","sourceContentType","sourceUid","targetHasDP","contentTypes","hasDraftAndPublish","sourceHasDP","isNil","sourceStatus","status"],"mappings":";;;;;AASO,MAAMA,uBAA0B,GAAA,CACrCC,QACAC,EAAAA,IAAAA,GAAAA;;AAOA,IAAA,MAAMC,iBAAoBC,GAAAA,MAAAA,CAAOC,QAAQ,CAACH,KAAKI,SAAS,CAAA;AACxD,IAAA,MAAMC,iBAAoBH,GAAAA,MAAAA,CAAOC,QAAQ,CAACH,KAAKM,SAAS,CAAA;IAExD,MAAMC,WAAAA,GAAcC,wBAAaC,CAAAA,kBAAkB,CAACR,iBAAAA,CAAAA;IACpD,MAAMS,WAAAA,GAAcF,wBAAaC,CAAAA,kBAAkB,CAACJ,iBAAAA,CAAAA;AAEpD,IAAA,IAAI,CAACE,WAAa,EAAA;QAChB,OAAO;AAAC,YAAA;AAAY,SAAA;AACtB;AAEA;;;AAGC,MACD,IAAIG,WAAe,IAAA,CAACC,QAAMX,CAAAA,IAAAA,CAAKY,YAAY,CAAG,EAAA;QAC5C,OAAO;AAACZ,YAAAA,IAAAA,CAAKY;AAAa,SAAA;AAC5B;AAEA;;MAGA,IAAIb,QAASc,CAAAA,MAAM,EAAE;AACnB,QAAA,OAAQd,SAASc,MAAM;YACrB,KAAK,WAAA;gBACH,OAAO;AAAC,oBAAA;AAAY,iBAAA;AACtB,YAAA;;gBAEE,OAAO;AAAC,oBAAA;AAAQ,iBAAA;AACpB;AACF;AAEA;;;MAIA,IAAI,CAACH,WAAa,EAAA;QAChB,OAAO;AAAC,YAAA,OAAA;AAAS,YAAA;AAAY,SAAA;AAC/B;;IAGA,OAAO;AAAC,QAAA;AAAQ,KAAA;AAClB;;;;"}
@@ -0,0 +1,54 @@
1
+ import { isNil } from 'lodash/fp';
2
+ import { contentTypes } from '@strapi/utils';
3
+
4
+ const getRelationTargetStatus = (relation, opts)=>{
5
+ // Ignore if the target content type does not have draft and publish enabled
6
+ const targetContentType = strapi.getModel(opts.targetUid);
7
+ const sourceContentType = strapi.getModel(opts.sourceUid);
8
+ const targetHasDP = contentTypes.hasDraftAndPublish(targetContentType);
9
+ const sourceHasDP = contentTypes.hasDraftAndPublish(sourceContentType);
10
+ if (!targetHasDP) {
11
+ return [
12
+ 'published'
13
+ ];
14
+ }
15
+ /**
16
+ * If both source and target have DP enabled,
17
+ * connect it to the same status as the source status
18
+ */ if (sourceHasDP && !isNil(opts.sourceStatus)) {
19
+ return [
20
+ opts.sourceStatus
21
+ ];
22
+ }
23
+ /**
24
+ * Use the status from the relation if it's set
25
+ */ if (relation.status) {
26
+ switch(relation.status){
27
+ case 'published':
28
+ return [
29
+ 'published'
30
+ ];
31
+ default:
32
+ // Default to draft if it's an invalid status (e.g. modified)
33
+ return [
34
+ 'draft'
35
+ ];
36
+ }
37
+ }
38
+ /**
39
+ * If DP is disabled and relation does not specify any status
40
+ * Connect to both draft and published versions
41
+ */ if (!sourceHasDP) {
42
+ return [
43
+ 'draft',
44
+ 'published'
45
+ ];
46
+ }
47
+ // Default to draft as a fallback
48
+ return [
49
+ 'draft'
50
+ ];
51
+ };
52
+
53
+ export { getRelationTargetStatus };
54
+ //# sourceMappingURL=dp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dp.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/dp.ts"],"sourcesContent":["import { isNil } from 'lodash/fp';\n\nimport { contentTypes } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\n\nimport { LongHandDocument } from './types';\n\ntype Status = 'draft' | 'published';\n\nexport const getRelationTargetStatus = (\n relation: Pick<LongHandDocument, 'documentId' | 'status'>,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceStatus?: Status;\n }\n): Status[] => {\n // Ignore if the target content type does not have draft and publish enabled\n const targetContentType = strapi.getModel(opts.targetUid);\n const sourceContentType = strapi.getModel(opts.sourceUid);\n\n const targetHasDP = contentTypes.hasDraftAndPublish(targetContentType);\n const sourceHasDP = contentTypes.hasDraftAndPublish(sourceContentType);\n\n if (!targetHasDP) {\n return ['published'];\n }\n\n /**\n * If both source and target have DP enabled,\n * connect it to the same status as the source status\n */\n if (sourceHasDP && !isNil(opts.sourceStatus)) {\n return [opts.sourceStatus];\n }\n\n /**\n * Use the status from the relation if it's set\n */\n if (relation.status) {\n switch (relation.status) {\n case 'published':\n return ['published'];\n default:\n // Default to draft if it's an invalid status (e.g. modified)\n return ['draft'];\n }\n }\n\n /**\n * If DP is disabled and relation does not specify any status\n * Connect to both draft and published versions\n */\n if (!sourceHasDP) {\n return ['draft', 'published'];\n }\n\n // Default to draft as a fallback\n return ['draft'];\n};\n"],"names":["getRelationTargetStatus","relation","opts","targetContentType","strapi","getModel","targetUid","sourceContentType","sourceUid","targetHasDP","contentTypes","hasDraftAndPublish","sourceHasDP","isNil","sourceStatus","status"],"mappings":";;;AASO,MAAMA,uBAA0B,GAAA,CACrCC,QACAC,EAAAA,IAAAA,GAAAA;;AAOA,IAAA,MAAMC,iBAAoBC,GAAAA,MAAAA,CAAOC,QAAQ,CAACH,KAAKI,SAAS,CAAA;AACxD,IAAA,MAAMC,iBAAoBH,GAAAA,MAAAA,CAAOC,QAAQ,CAACH,KAAKM,SAAS,CAAA;IAExD,MAAMC,WAAAA,GAAcC,YAAaC,CAAAA,kBAAkB,CAACR,iBAAAA,CAAAA;IACpD,MAAMS,WAAAA,GAAcF,YAAaC,CAAAA,kBAAkB,CAACJ,iBAAAA,CAAAA;AAEpD,IAAA,IAAI,CAACE,WAAa,EAAA;QAChB,OAAO;AAAC,YAAA;AAAY,SAAA;AACtB;AAEA;;;AAGC,MACD,IAAIG,WAAe,IAAA,CAACC,KAAMX,CAAAA,IAAAA,CAAKY,YAAY,CAAG,EAAA;QAC5C,OAAO;AAACZ,YAAAA,IAAAA,CAAKY;AAAa,SAAA;AAC5B;AAEA;;MAGA,IAAIb,QAASc,CAAAA,MAAM,EAAE;AACnB,QAAA,OAAQd,SAASc,MAAM;YACrB,KAAK,WAAA;gBACH,OAAO;AAAC,oBAAA;AAAY,iBAAA;AACtB,YAAA;;gBAEE,OAAO;AAAC,oBAAA;AAAQ,iBAAA;AACpB;AACF;AAEA;;;MAIA,IAAI,CAACH,WAAa,EAAA;QAChB,OAAO;AAAC,YAAA,OAAA;AAAS,YAAA;AAAY,SAAA;AAC/B;;IAGA,OAAO;AAAC,QAAA;AAAQ,KAAA;AAClB;;;;"}
@@ -1,10 +1,10 @@
1
- import { Common } from '@strapi/types';
2
- import { LongHand } from './types';
3
- export declare const isLocalizedContentType: (uid: Common.UID.Schema) => any;
4
- export declare const getDefaultLocale: () => string;
5
- export declare const getRelationTargetLocale: (relation: LongHand, opts: {
6
- targetUid: Common.UID.Schema;
7
- sourceUid: Common.UID.Schema;
1
+ import type { UID } from '@strapi/types';
2
+ import { LongHandDocument } from './types';
3
+ export declare const isLocalizedContentType: (uid: UID.Schema) => any;
4
+ export declare const getDefaultLocale: () => any;
5
+ export declare const getRelationTargetLocale: (relation: LongHandDocument, opts: {
6
+ targetUid: UID.Schema;
7
+ sourceUid: UID.Schema;
8
8
  sourceLocale?: string | null;
9
- }) => string | null;
9
+ }) => string | null | undefined;
10
10
  //# sourceMappingURL=i18n.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,eAAO,MAAM,sBAAsB,QAAS,OAAO,GAAG,CAAC,MAAM,QAG5D,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAI5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,aACxB,QAAQ,QACZ;IACJ,SAAS,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC;IAC7B,SAAS,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,kBAuBF,CAAC"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,sBAAsB,QAAS,IAAI,MAAM,QAGrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAE5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,aACxB,gBAAgB,QACpB;IACJ,SAAS,EAAE,IAAI,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,8BAiBF,CAAC"}
@@ -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 { LongHand } 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: LongHand,\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 { LongHand } 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: LongHand,\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":";;;;;AAOA,MAAMA,YAAY,CAACC,KAAAA,GAAAA;AACjB,IAAA,IAAIC,MAAMC,OAAO,CAACF,KAAQ,CAAA,EAAA,OAAO;IACjC,MAAMG,MAAAA,GAASC,SAASJ,KAAO,EAAA,EAAA,CAAA;IAC/B,OAAO,CAACK,MAAOC,CAAAA,KAAK,CAACH,MAAAA,CAAAA;AACvB,CAAA;AAEA,MAAMI,UAAU,CAACP,KAAAA,GAAAA;;IAEf,IAAIQ,QAAAA,CAAMR,QAAQ,OAAOA,KAAAA;AACzB,IAAA,IAAIC,KAAMC,CAAAA,OAAO,CAACF,KAAAA,CAAAA,EAAQ,OAAOA,KAAAA;IAEjC,OAAO;AAACA,QAAAA;AAAM,KAAA;AAChB,CAAA;AAEA;;;;;;;;;;;;;;;AAeC,IACD,MAAMS,WAAc,GAAA,OAClBC,QACAC,EAAAA,GAAAA,EACAC,cAAc,KAAK,GAAA;AAEnB,IAAA,IAAIC,QAAqBF,GAAAA,GAAAA;AAEzB,IAAA,MAAMG,YAAY,CAACd,KAAAA,GAAAA;;AAEjB,QAAA,IAAIY,WAAa,EAAA;YACf,OAAOZ,KAAAA;AACT;QACA,OAAO;AAAEe,YAAAA,GAAAA,EAAKR,OAAQP,CAAAA,KAAAA;AAAO,SAAA;AAC/B,KAAA;;AAGA,IAAA,IAAIQ,SAAMK,QAAW,CAAA,EAAA;AACnB,QAAA,OAAOH,QAASG,CAAAA,QAAAA,CAAAA;AAClB;;IAGA,IAAIZ,KAAAA,CAAMC,OAAO,CAACW,QAAW,CAAA,EAAA;QAC3B,OAAOG,iBAAAA,CACJC,GAAG,CAACJ,QAAAA,EAAU,CAACK,CAAgBT,GAAAA,WAAAA,CAAYC,UAAUQ,CAAG,EAAA,IAAA,CAAA,CAAA,CACxDC,IAAI,CAAC,CAACC,SAAgBA,MAAOC,CAAAA,IAAI,GAAGC,MAAM,CAACC,OAC3CJ,CAAAA,CAAAA,CAAAA,IAAI,CAACL,SAAAA,CAAAA;AACV;;AAGA,IAAA,IAAIU,YAASX,QAAW,CAAA,EAAA;;QAEtB,IAAI,IAAA,IAAQA,QAAY,IAAA,YAAA,IAAgBA,QAAU,EAAA;YAChD,MAAMO,MAAAA,GAAS,MAAMV,QAASG,CAAAA,QAAAA,CAAAA;AAC9B,YAAA,OAAOC,SAAUM,CAAAA,MAAAA,CAAAA;AACnB;;QAGA,IAAI,CAACP,QAASE,CAAAA,GAAG,IAAI,CAACF,QAASY,CAAAA,UAAU,IAAI,CAACZ,QAASa,CAAAA,OAAO,EAAE;AAC9D,YAAA,OAAOhB,QAASG,CAAAA,QAAAA,CAAAA;AAClB;;QAGA,IAAIA,QAAAA,CAASE,GAAG,EAAE;AAChB,YAAA,MAAMA,MAAW,MAAMN,WAAAA,CAAYC,QAAUG,EAAAA,QAAAA,CAASE,GAAG,EAAE,IAAA,CAAA;YAC3DF,QAAW,GAAA;AAAE,gBAAA,GAAGA,QAAQ;AAAEE,gBAAAA,GAAAA,EAAKR,OAAQQ,CAAAA,GAAAA;AAAK,aAAA;AAC9C;;QAGA,IAAIF,QAAAA,CAASY,UAAU,EAAE;AACvB,YAAA,MAAMA,aAAkB,MAAMhB,WAAAA,CAAYC,QAAUG,EAAAA,QAAAA,CAASY,UAAU,EAAE,IAAA,CAAA;YACzEZ,QAAW,GAAA;AAAE,gBAAA,GAAGA,QAAQ;AAAEY,gBAAAA,UAAAA,EAAYlB,OAAQkB,CAAAA,UAAAA;AAAY,aAAA;AAC5D;;QAGA,IAAIZ,QAAAA,CAASa,OAAO,EAAE;;AAEpB,YAAA,MAAMA,UAAe,MAAMjB,WAAAA,CAAYC,QAAUG,EAAAA,QAAAA,CAASa,OAAO,EAAE,IAAA,CAAA;YACnEb,QAAW,GAAA;AAAE,gBAAA,GAAGA,QAAQ;AAAEa,gBAAAA,OAAAA,EAASnB,OAAQmB,CAAAA,OAAAA;AAAS,aAAA;AACtD;QAEA,OAAOb,QAAAA;AACT;;AAGA,IAAA,IAAId,UAAUc,QAAW,CAAA,EAAA;QACvB,MAAMO,MAAAA,GAAS,MAAMV,QAAS,CAAA;YAAEiB,EAAId,EAAAA;AAAS,SAAA,CAAA;AAC7C,QAAA,OAAOC,SAAUM,CAAAA,MAAAA,CAAAA;AACnB;IAEA,IAAI,OAAOP,aAAa,QAAU,EAAA;QAChC,MAAMO,MAAAA,GAAS,MAAMV,QAAS,CAAA;YAAEkB,UAAYf,EAAAA;AAAS,SAAA,CAAA;AACrD,QAAA,OAAOC,SAAUM,CAAAA,MAAAA,CAAAA;AACnB;;AAGA,IAAA,OAAOV,QAASG,CAAAA,QAAAA,CAAAA;AAClB,CAAA;AAIA;;AAEC,IACD,MAAMgB,uBAAAA,GAA0B,OAC9BC,OAAAA,EACAC,OACAC,EAAAA,IAAAA,GAAAA;IAEA,OAAOC,0BAAAA,CACL,OAAOF,OAASG,EAAAA,KAAAA,GAAAA;QACd,MAAM,EAAEC,SAAS,EAAE,GAAGJ,OAAAA;AAEtB,QAAA,IAAI,CAACI,SAAW,EAAA;AACd,YAAA;AACF;QAEA,IAAIA,SAAAA,CAAUC,IAAI,KAAK,UAAY,EAAA;AACjC,YAAA;AACF;;QAGA,IAAID,SAAAA,CAAUE,YAAY,KAAK,KAAO,EAAA;AACpC,YAAA;AACF;AAEA,QAAA,OAAOP,QAAQC,OAASG,EAAAA,KAAAA,CAAAA;AAC1B,KAAA,EACAH,OACAC,EAAAA,IAAAA,CAAAA;AAEJ,CAAA;AAEA,MAAMM,qBAAqBC,QAAM9B,CAAAA,WAAAA;AACjC,MAAM+B,iCAAiCD,QAAMV,CAAAA,uBAAAA;;;;;"}