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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (778) hide show
  1. package/dist/Strapi.d.ts +49 -58
  2. package/dist/Strapi.d.ts.map +1 -1
  3. package/dist/Strapi.js +149 -208
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +140 -200
  6. package/dist/Strapi.mjs.map +1 -1
  7. package/dist/configuration/config-loader.d.ts.map +1 -1
  8. package/dist/configuration/config-loader.js +9 -5
  9. package/dist/configuration/config-loader.js.map +1 -1
  10. package/dist/configuration/config-loader.mjs +9 -5
  11. package/dist/configuration/config-loader.mjs.map +1 -1
  12. package/dist/configuration/get-dirs.d.ts +10 -0
  13. package/dist/configuration/get-dirs.d.ts.map +1 -0
  14. package/dist/{utils → configuration}/get-dirs.js +3 -2
  15. package/dist/configuration/get-dirs.js.map +1 -0
  16. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  17. package/dist/configuration/get-dirs.mjs.map +1 -0
  18. package/dist/configuration/index.d.ts +4 -7
  19. package/dist/configuration/index.d.ts.map +1 -1
  20. package/dist/configuration/index.js +10 -8
  21. package/dist/configuration/index.js.map +1 -1
  22. package/dist/configuration/index.mjs +6 -5
  23. package/dist/configuration/index.mjs.map +1 -1
  24. package/dist/configuration/urls.d.ts +8 -0
  25. package/dist/configuration/urls.d.ts.map +1 -0
  26. package/dist/configuration/urls.js +68 -0
  27. package/dist/configuration/urls.js.map +1 -0
  28. package/dist/configuration/urls.mjs +66 -0
  29. package/dist/configuration/urls.mjs.map +1 -0
  30. package/dist/container.d.ts +2 -2
  31. package/dist/container.d.ts.map +1 -1
  32. package/dist/container.js.map +1 -1
  33. package/dist/container.mjs.map +1 -1
  34. package/dist/core-api/controller/collection-type.d.ts +3 -3
  35. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  36. package/dist/core-api/controller/collection-type.js +3 -0
  37. package/dist/core-api/controller/collection-type.js.map +1 -1
  38. package/dist/core-api/controller/collection-type.mjs +3 -0
  39. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  40. package/dist/core-api/controller/index.d.ts +3 -3
  41. package/dist/core-api/controller/index.d.ts.map +1 -1
  42. package/dist/core-api/controller/index.js +11 -6
  43. package/dist/core-api/controller/index.js.map +1 -1
  44. package/dist/core-api/controller/index.mjs +12 -7
  45. package/dist/core-api/controller/index.mjs.map +1 -1
  46. package/dist/core-api/controller/single-type.d.ts +3 -3
  47. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  48. package/dist/core-api/controller/single-type.js +1 -0
  49. package/dist/core-api/controller/single-type.js.map +1 -1
  50. package/dist/core-api/controller/single-type.mjs +1 -0
  51. package/dist/core-api/controller/single-type.mjs.map +1 -1
  52. package/dist/core-api/controller/transform.d.ts +10 -9
  53. package/dist/core-api/controller/transform.d.ts.map +1 -1
  54. package/dist/core-api/controller/transform.js +19 -13
  55. package/dist/core-api/controller/transform.js.map +1 -1
  56. package/dist/core-api/controller/transform.mjs +19 -13
  57. package/dist/core-api/controller/transform.mjs.map +1 -1
  58. package/dist/core-api/routes/index.d.ts.map +1 -1
  59. package/dist/core-api/service/collection-type.d.ts +11 -17
  60. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  61. package/dist/core-api/service/collection-type.js +18 -7
  62. package/dist/core-api/service/collection-type.js.map +1 -1
  63. package/dist/core-api/service/collection-type.mjs +19 -8
  64. package/dist/core-api/service/collection-type.mjs.map +1 -1
  65. package/dist/core-api/service/index.d.ts +3 -3
  66. package/dist/core-api/service/index.d.ts.map +1 -1
  67. package/dist/core-api/service/index.js.map +1 -1
  68. package/dist/core-api/service/index.mjs.map +1 -1
  69. package/dist/core-api/service/pagination.d.ts +4 -11
  70. package/dist/core-api/service/pagination.d.ts.map +1 -1
  71. package/dist/core-api/service/pagination.js +14 -40
  72. package/dist/core-api/service/pagination.js.map +1 -1
  73. package/dist/core-api/service/pagination.mjs +16 -42
  74. package/dist/core-api/service/pagination.mjs.map +1 -1
  75. package/dist/core-api/service/single-type.d.ts +5 -5
  76. package/dist/core-api/service/single-type.d.ts.map +1 -1
  77. package/dist/core-api/service/single-type.js +12 -6
  78. package/dist/core-api/service/single-type.js.map +1 -1
  79. package/dist/core-api/service/single-type.mjs +12 -6
  80. package/dist/core-api/service/single-type.mjs.map +1 -1
  81. package/dist/domain/content-type/index.d.ts +1 -1
  82. package/dist/domain/content-type/index.d.ts.map +1 -1
  83. package/dist/domain/content-type/index.js +3 -0
  84. package/dist/domain/content-type/index.js.map +1 -1
  85. package/dist/domain/content-type/index.mjs +3 -0
  86. package/dist/domain/content-type/index.mjs.map +1 -1
  87. package/dist/domain/content-type/validator.d.ts.map +1 -1
  88. package/dist/domain/content-type/validator.js +1 -1
  89. package/dist/domain/content-type/validator.js.map +1 -1
  90. package/dist/domain/content-type/validator.mjs +2 -2
  91. package/dist/domain/content-type/validator.mjs.map +1 -1
  92. package/dist/domain/module/index.d.ts +24 -23
  93. package/dist/domain/module/index.d.ts.map +1 -1
  94. package/dist/domain/module/index.js +3 -3
  95. package/dist/domain/module/index.js.map +1 -1
  96. package/dist/domain/module/index.mjs +4 -4
  97. package/dist/domain/module/index.mjs.map +1 -1
  98. package/dist/ee/index.d.ts +4 -2
  99. package/dist/ee/index.d.ts.map +1 -1
  100. package/dist/ee/index.js.map +1 -1
  101. package/dist/ee/index.mjs.map +1 -1
  102. package/dist/ee/license.d.ts +2 -2
  103. package/dist/ee/license.d.ts.map +1 -1
  104. package/dist/ee/license.js +2 -1
  105. package/dist/ee/license.js.map +1 -1
  106. package/dist/ee/license.mjs +2 -1
  107. package/dist/ee/license.mjs.map +1 -1
  108. package/dist/factories.d.ts +10 -10
  109. package/dist/factories.d.ts.map +1 -1
  110. package/dist/factories.js +6 -2
  111. package/dist/factories.js.map +1 -1
  112. package/dist/factories.mjs +6 -2
  113. package/dist/factories.mjs.map +1 -1
  114. package/dist/index.d.ts +4 -2
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +25 -1
  117. package/dist/index.js.map +1 -1
  118. package/dist/index.mjs +27 -3
  119. package/dist/index.mjs.map +1 -1
  120. package/dist/loaders/admin.d.ts +2 -2
  121. package/dist/loaders/admin.d.ts.map +1 -1
  122. package/dist/loaders/admin.js +0 -1
  123. package/dist/loaders/admin.js.map +1 -1
  124. package/dist/loaders/admin.mjs +0 -1
  125. package/dist/loaders/admin.mjs.map +1 -1
  126. package/dist/loaders/apis.d.ts +2 -2
  127. package/dist/loaders/apis.d.ts.map +1 -1
  128. package/dist/loaders/apis.js +11 -11
  129. package/dist/loaders/apis.js.map +1 -1
  130. package/dist/loaders/apis.mjs +12 -12
  131. package/dist/loaders/apis.mjs.map +1 -1
  132. package/dist/loaders/components.d.ts +2 -2
  133. package/dist/loaders/components.d.ts.map +1 -1
  134. package/dist/loaders/components.js.map +1 -1
  135. package/dist/loaders/components.mjs.map +1 -1
  136. package/dist/loaders/index.d.ts +2 -2
  137. package/dist/loaders/index.d.ts.map +1 -1
  138. package/dist/loaders/index.js +0 -2
  139. package/dist/loaders/index.js.map +1 -1
  140. package/dist/loaders/index.mjs +0 -2
  141. package/dist/loaders/index.mjs.map +1 -1
  142. package/dist/loaders/middlewares.d.ts +2 -2
  143. package/dist/loaders/middlewares.d.ts.map +1 -1
  144. package/dist/loaders/middlewares.js.map +1 -1
  145. package/dist/loaders/middlewares.mjs.map +1 -1
  146. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  147. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  148. package/dist/loaders/plugins/get-enabled-plugins.js +8 -6
  149. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  150. package/dist/loaders/plugins/get-enabled-plugins.mjs +9 -7
  151. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  152. package/dist/loaders/plugins/index.d.ts +2 -2
  153. package/dist/loaders/plugins/index.d.ts.map +1 -1
  154. package/dist/loaders/plugins/index.js.map +1 -1
  155. package/dist/loaders/plugins/index.mjs.map +1 -1
  156. package/dist/loaders/policies.d.ts +2 -2
  157. package/dist/loaders/policies.d.ts.map +1 -1
  158. package/dist/loaders/policies.js.map +1 -1
  159. package/dist/loaders/policies.mjs.map +1 -1
  160. package/dist/loaders/sanitizers.d.ts +2 -2
  161. package/dist/loaders/sanitizers.d.ts.map +1 -1
  162. package/dist/loaders/sanitizers.js.map +1 -1
  163. package/dist/loaders/sanitizers.mjs.map +1 -1
  164. package/dist/loaders/src-index.d.ts +2 -2
  165. package/dist/loaders/src-index.d.ts.map +1 -1
  166. package/dist/loaders/src-index.js.map +1 -1
  167. package/dist/loaders/src-index.mjs.map +1 -1
  168. package/dist/loaders/validators.d.ts +2 -2
  169. package/dist/loaders/validators.d.ts.map +1 -1
  170. package/dist/loaders/validators.js.map +1 -1
  171. package/dist/loaders/validators.mjs.map +1 -1
  172. package/dist/middlewares/body.d.ts +4 -4
  173. package/dist/middlewares/body.d.ts.map +1 -1
  174. package/dist/middlewares/body.js +4 -4
  175. package/dist/middlewares/body.js.map +1 -1
  176. package/dist/middlewares/body.mjs +4 -4
  177. package/dist/middlewares/body.mjs.map +1 -1
  178. package/dist/middlewares/compression.d.ts +2 -2
  179. package/dist/middlewares/compression.d.ts.map +1 -1
  180. package/dist/middlewares/compression.js.map +1 -1
  181. package/dist/middlewares/compression.mjs.map +1 -1
  182. package/dist/middlewares/cors.d.ts +2 -2
  183. package/dist/middlewares/cors.d.ts.map +1 -1
  184. package/dist/middlewares/cors.js +6 -8
  185. package/dist/middlewares/cors.js.map +1 -1
  186. package/dist/middlewares/cors.mjs +6 -8
  187. package/dist/middlewares/cors.mjs.map +1 -1
  188. package/dist/middlewares/errors.d.ts +2 -2
  189. package/dist/middlewares/errors.d.ts.map +1 -1
  190. package/dist/middlewares/errors.js.map +1 -1
  191. package/dist/middlewares/errors.mjs.map +1 -1
  192. package/dist/middlewares/favicon.d.ts +2 -2
  193. package/dist/middlewares/favicon.d.ts.map +1 -1
  194. package/dist/middlewares/favicon.js.map +1 -1
  195. package/dist/middlewares/favicon.mjs.map +1 -1
  196. package/dist/middlewares/index.d.ts +2 -2
  197. package/dist/middlewares/index.d.ts.map +1 -1
  198. package/dist/middlewares/index.js.map +1 -1
  199. package/dist/middlewares/index.mjs.map +1 -1
  200. package/dist/middlewares/ip.d.ts +2 -2
  201. package/dist/middlewares/ip.d.ts.map +1 -1
  202. package/dist/middlewares/ip.js.map +1 -1
  203. package/dist/middlewares/ip.mjs.map +1 -1
  204. package/dist/middlewares/logger.d.ts +2 -2
  205. package/dist/middlewares/logger.d.ts.map +1 -1
  206. package/dist/middlewares/logger.js.map +1 -1
  207. package/dist/middlewares/logger.mjs.map +1 -1
  208. package/dist/middlewares/powered-by.d.ts +2 -2
  209. package/dist/middlewares/powered-by.d.ts.map +1 -1
  210. package/dist/middlewares/powered-by.js.map +1 -1
  211. package/dist/middlewares/powered-by.mjs.map +1 -1
  212. package/dist/middlewares/public.d.ts +2 -2
  213. package/dist/middlewares/public.d.ts.map +1 -1
  214. package/dist/middlewares/public.js +1 -1
  215. package/dist/middlewares/public.js.map +1 -1
  216. package/dist/middlewares/public.mjs +1 -1
  217. package/dist/middlewares/public.mjs.map +1 -1
  218. package/dist/middlewares/query.d.ts +2 -2
  219. package/dist/middlewares/query.d.ts.map +1 -1
  220. package/dist/middlewares/query.js.map +1 -1
  221. package/dist/middlewares/query.mjs.map +1 -1
  222. package/dist/middlewares/response-time.d.ts +2 -2
  223. package/dist/middlewares/response-time.d.ts.map +1 -1
  224. package/dist/middlewares/response-time.js.map +1 -1
  225. package/dist/middlewares/response-time.mjs.map +1 -1
  226. package/dist/middlewares/responses.d.ts +3 -3
  227. package/dist/middlewares/responses.d.ts.map +1 -1
  228. package/dist/middlewares/responses.js.map +1 -1
  229. package/dist/middlewares/responses.mjs.map +1 -1
  230. package/dist/middlewares/security.d.ts +2 -2
  231. package/dist/middlewares/security.d.ts.map +1 -1
  232. package/dist/middlewares/security.js +11 -4
  233. package/dist/middlewares/security.js.map +1 -1
  234. package/dist/middlewares/security.mjs +12 -5
  235. package/dist/middlewares/security.mjs.map +1 -1
  236. package/dist/middlewares/session.d.ts +2 -2
  237. package/dist/middlewares/session.d.ts.map +1 -1
  238. package/dist/middlewares/session.js.map +1 -1
  239. package/dist/middlewares/session.mjs.map +1 -1
  240. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +30 -0
  241. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  242. package/dist/migrations/database/5.0.0-discard-drafts.js +50 -0
  243. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  244. package/dist/migrations/database/5.0.0-discard-drafts.mjs +50 -0
  245. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  246. package/dist/migrations/draft-publish.d.ts +17 -0
  247. package/dist/migrations/draft-publish.d.ts.map +1 -0
  248. package/dist/migrations/draft-publish.js +42 -0
  249. package/dist/migrations/draft-publish.js.map +1 -0
  250. package/dist/migrations/draft-publish.mjs +42 -0
  251. package/dist/migrations/draft-publish.mjs.map +1 -0
  252. package/dist/providers/admin.d.ts +3 -0
  253. package/dist/providers/admin.d.ts.map +1 -0
  254. package/dist/providers/admin.js +20 -0
  255. package/dist/providers/admin.js.map +1 -0
  256. package/dist/providers/admin.mjs +21 -0
  257. package/dist/providers/admin.mjs.map +1 -0
  258. package/dist/providers/coreStore.d.ts +3 -0
  259. package/dist/providers/coreStore.d.ts.map +1 -0
  260. package/dist/providers/coreStore.js +11 -0
  261. package/dist/providers/coreStore.js.map +1 -0
  262. package/dist/providers/coreStore.mjs +12 -0
  263. package/dist/providers/coreStore.mjs.map +1 -0
  264. package/dist/providers/cron.d.ts +3 -0
  265. package/dist/providers/cron.d.ts.map +1 -0
  266. package/dist/providers/cron.js +20 -0
  267. package/dist/providers/cron.js.map +1 -0
  268. package/dist/providers/cron.mjs +21 -0
  269. package/dist/providers/cron.mjs.map +1 -0
  270. package/dist/providers/index.d.ts +3 -0
  271. package/dist/providers/index.d.ts.map +1 -0
  272. package/dist/providers/index.js +11 -0
  273. package/dist/providers/index.js.map +1 -0
  274. package/dist/providers/index.mjs +11 -0
  275. package/dist/providers/index.mjs.map +1 -0
  276. package/dist/providers/provider.d.ts +9 -0
  277. package/dist/providers/provider.d.ts.map +1 -0
  278. package/dist/providers/provider.js +5 -0
  279. package/dist/providers/provider.js.map +1 -0
  280. package/dist/providers/provider.mjs +5 -0
  281. package/dist/providers/provider.mjs.map +1 -0
  282. package/dist/providers/registries.d.ts +3 -0
  283. package/dist/providers/registries.d.ts.map +1 -0
  284. package/dist/providers/registries.js +35 -0
  285. package/dist/providers/registries.js.map +1 -0
  286. package/dist/providers/registries.mjs +36 -0
  287. package/dist/providers/registries.mjs.map +1 -0
  288. package/dist/providers/telemetry.d.ts +3 -0
  289. package/dist/providers/telemetry.d.ts.map +1 -0
  290. package/dist/providers/telemetry.js +19 -0
  291. package/dist/providers/telemetry.js.map +1 -0
  292. package/dist/providers/telemetry.mjs +20 -0
  293. package/dist/providers/telemetry.mjs.map +1 -0
  294. package/dist/providers/webhooks.d.ts +3 -0
  295. package/dist/providers/webhooks.d.ts.map +1 -0
  296. package/dist/providers/webhooks.js +30 -0
  297. package/dist/providers/webhooks.js.map +1 -0
  298. package/dist/providers/webhooks.mjs +31 -0
  299. package/dist/providers/webhooks.mjs.map +1 -0
  300. package/dist/registries/apis.d.ts +2 -2
  301. package/dist/registries/apis.d.ts.map +1 -1
  302. package/dist/registries/apis.js.map +1 -1
  303. package/dist/registries/apis.mjs.map +1 -1
  304. package/dist/registries/components.d.ts +6 -6
  305. package/dist/registries/components.d.ts.map +1 -1
  306. package/dist/registries/components.js.map +1 -1
  307. package/dist/registries/components.mjs.map +1 -1
  308. package/dist/registries/content-types.d.ts +5 -5
  309. package/dist/registries/content-types.d.ts.map +1 -1
  310. package/dist/registries/content-types.js.map +1 -1
  311. package/dist/registries/content-types.mjs.map +1 -1
  312. package/dist/registries/controllers.d.ts +10 -10
  313. package/dist/registries/controllers.d.ts.map +1 -1
  314. package/dist/registries/controllers.js.map +1 -1
  315. package/dist/registries/controllers.mjs.map +1 -1
  316. package/dist/registries/custom-fields.d.ts +3 -3
  317. package/dist/registries/custom-fields.d.ts.map +1 -1
  318. package/dist/registries/custom-fields.js.map +1 -1
  319. package/dist/registries/custom-fields.mjs.map +1 -1
  320. package/dist/registries/index.d.ts +0 -1
  321. package/dist/registries/index.d.ts.map +1 -1
  322. package/dist/registries/middlewares.d.ts +6 -6
  323. package/dist/registries/middlewares.d.ts.map +1 -1
  324. package/dist/registries/middlewares.js.map +1 -1
  325. package/dist/registries/middlewares.mjs.map +1 -1
  326. package/dist/registries/modules.d.ts +2 -2
  327. package/dist/registries/modules.d.ts.map +1 -1
  328. package/dist/registries/modules.js.map +1 -1
  329. package/dist/registries/modules.mjs.map +1 -1
  330. package/dist/registries/plugins.d.ts +5 -5
  331. package/dist/registries/plugins.d.ts.map +1 -1
  332. package/dist/registries/plugins.js.map +1 -1
  333. package/dist/registries/plugins.mjs.map +1 -1
  334. package/dist/registries/policies.d.ts +23 -11
  335. package/dist/registries/policies.d.ts.map +1 -1
  336. package/dist/registries/policies.js +64 -18
  337. package/dist/registries/policies.js.map +1 -1
  338. package/dist/registries/policies.mjs +65 -19
  339. package/dist/registries/policies.mjs.map +1 -1
  340. package/dist/registries/services.d.ts +8 -8
  341. package/dist/registries/services.d.ts.map +1 -1
  342. package/dist/registries/services.js.map +1 -1
  343. package/dist/registries/services.mjs.map +1 -1
  344. package/dist/services/auth/index.d.ts +4 -4
  345. package/dist/services/auth/index.d.ts.map +1 -1
  346. package/dist/services/auth/index.js.map +1 -1
  347. package/dist/services/auth/index.mjs.map +1 -1
  348. package/dist/services/config.d.ts +3 -0
  349. package/dist/services/config.d.ts.map +1 -0
  350. package/dist/services/config.js +47 -0
  351. package/dist/services/config.js.map +1 -0
  352. package/dist/services/config.mjs +47 -0
  353. package/dist/services/config.mjs.map +1 -0
  354. package/dist/services/content-api/index.d.ts +21 -3
  355. package/dist/services/content-api/index.d.ts.map +1 -1
  356. package/dist/services/content-api/index.js +28 -2
  357. package/dist/services/content-api/index.js.map +1 -1
  358. package/dist/services/content-api/index.mjs +28 -2
  359. package/dist/services/content-api/index.mjs.map +1 -1
  360. package/dist/services/content-api/permissions/index.d.ts +3 -3
  361. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  362. package/dist/services/content-api/permissions/index.js +1 -1
  363. package/dist/services/content-api/permissions/index.js.map +1 -1
  364. package/dist/services/content-api/permissions/index.mjs +1 -1
  365. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  366. package/dist/services/core-store.d.ts.map +1 -1
  367. package/dist/services/cron.d.ts +2 -2
  368. package/dist/services/cron.d.ts.map +1 -1
  369. package/dist/services/cron.js.map +1 -1
  370. package/dist/services/cron.mjs.map +1 -1
  371. package/dist/services/custom-fields.d.ts +2 -2
  372. package/dist/services/custom-fields.d.ts.map +1 -1
  373. package/dist/services/custom-fields.js.map +1 -1
  374. package/dist/services/custom-fields.mjs.map +1 -1
  375. package/dist/services/document-service/attributes/index.d.ts +6 -0
  376. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  377. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  378. package/dist/services/document-service/attributes/index.js.map +1 -0
  379. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  380. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  381. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  382. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  383. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  384. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  385. package/dist/services/document-service/common.d.ts +2 -2
  386. package/dist/services/document-service/common.d.ts.map +1 -1
  387. package/dist/services/document-service/common.js.map +1 -1
  388. package/dist/services/document-service/common.mjs.map +1 -1
  389. package/dist/services/document-service/components.d.ts +25 -1
  390. package/dist/services/document-service/components.d.ts.map +1 -1
  391. package/dist/services/{entity-service → document-service}/components.js +46 -142
  392. package/dist/services/document-service/components.js.map +1 -0
  393. package/dist/services/{entity-service → document-service}/components.mjs +48 -144
  394. package/dist/services/document-service/components.mjs.map +1 -0
  395. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  396. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  397. package/dist/services/document-service/draft-and-publish.js +37 -9
  398. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  399. package/dist/services/document-service/draft-and-publish.mjs +38 -10
  400. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  401. package/dist/services/document-service/entries.d.ts +10 -0
  402. package/dist/services/document-service/entries.d.ts.map +1 -0
  403. package/dist/services/document-service/entries.js +96 -0
  404. package/dist/services/document-service/entries.js.map +1 -0
  405. package/dist/services/document-service/entries.mjs +96 -0
  406. package/dist/services/document-service/entries.mjs.map +1 -0
  407. package/dist/services/document-service/events.d.ts +25 -0
  408. package/dist/services/document-service/events.d.ts.map +1 -0
  409. package/dist/services/document-service/events.js +47 -0
  410. package/dist/services/document-service/events.js.map +1 -0
  411. package/dist/services/document-service/events.mjs +47 -0
  412. package/dist/services/document-service/events.mjs.map +1 -0
  413. package/dist/services/document-service/index.d.ts +2 -4
  414. package/dist/services/document-service/index.d.ts.map +1 -1
  415. package/dist/services/document-service/index.js +21 -8
  416. package/dist/services/document-service/index.js.map +1 -1
  417. package/dist/services/document-service/index.mjs +17 -4
  418. package/dist/services/document-service/index.mjs.map +1 -1
  419. package/dist/services/document-service/internationalization.d.ts +5 -5
  420. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  421. package/dist/services/document-service/internationalization.js +14 -5
  422. package/dist/services/document-service/internationalization.js.map +1 -1
  423. package/dist/services/document-service/internationalization.mjs +14 -5
  424. package/dist/services/document-service/internationalization.mjs.map +1 -1
  425. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  426. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  427. package/dist/services/document-service/middlewares/errors.js +25 -0
  428. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  429. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  430. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  431. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  432. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  433. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  434. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  435. package/dist/services/document-service/{middlewares.js → middlewares/middleware-manager.js} +9 -6
  436. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  437. package/dist/services/document-service/{middlewares.mjs → middlewares/middleware-manager.mjs} +9 -6
  438. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  439. package/dist/services/document-service/params.d.ts +3 -1
  440. package/dist/services/document-service/params.d.ts.map +1 -1
  441. package/dist/services/{entity-service → document-service}/params.js +1 -1
  442. package/dist/services/document-service/params.js.map +1 -0
  443. package/dist/services/{entity-service → document-service}/params.mjs +1 -1
  444. package/dist/services/document-service/params.mjs.map +1 -0
  445. package/dist/services/document-service/repository.d.ts +3 -0
  446. package/dist/services/document-service/repository.d.ts.map +1 -0
  447. package/dist/services/document-service/repository.js +278 -0
  448. package/dist/services/document-service/repository.js.map +1 -0
  449. package/dist/services/document-service/repository.mjs +278 -0
  450. package/dist/services/document-service/repository.mjs.map +1 -0
  451. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  452. package/dist/services/document-service/transform/data.js +4 -2
  453. package/dist/services/document-service/transform/data.js.map +1 -1
  454. package/dist/services/document-service/transform/data.mjs +4 -2
  455. package/dist/services/document-service/transform/data.mjs.map +1 -1
  456. package/dist/services/document-service/transform/fields.d.ts +2 -2
  457. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  458. package/dist/services/document-service/transform/fields.js.map +1 -1
  459. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  460. package/dist/services/document-service/transform/id-map.d.ts +4 -4
  461. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  462. package/dist/services/document-service/transform/id-map.js +15 -9
  463. package/dist/services/document-service/transform/id-map.js.map +1 -1
  464. package/dist/services/document-service/transform/id-map.mjs +16 -10
  465. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  466. package/dist/services/document-service/transform/id-transform.d.ts +4 -18
  467. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  468. package/dist/services/document-service/transform/id-transform.js +18 -12
  469. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  470. package/dist/services/document-service/transform/id-transform.mjs +18 -12
  471. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  472. package/dist/services/document-service/transform/populate.d.ts +5 -2
  473. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  474. package/dist/services/document-service/transform/populate.js +1 -1
  475. package/dist/services/document-service/transform/populate.js.map +1 -1
  476. package/dist/services/document-service/transform/populate.mjs +1 -1
  477. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  478. package/dist/services/document-service/transform/query.d.ts +5 -0
  479. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  480. package/dist/services/document-service/transform/query.js +9 -0
  481. package/dist/services/document-service/transform/query.js.map +1 -0
  482. package/dist/services/document-service/transform/query.mjs +9 -0
  483. package/dist/services/document-service/transform/query.mjs.map +1 -0
  484. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  485. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  486. package/dist/services/document-service/transform/relations/extract/data-ids.js +45 -67
  487. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  488. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +45 -67
  489. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  490. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +9 -5
  491. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  492. package/dist/services/document-service/transform/relations/transform/data-ids.js +63 -104
  493. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  494. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +64 -105
  495. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  496. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  497. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  498. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  499. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  500. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  501. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  502. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  503. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  504. package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
  505. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  506. package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
  507. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  508. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  509. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  510. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  511. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  512. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  513. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  514. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  515. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  516. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  517. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  518. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  519. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  520. package/dist/services/document-service/transform/relations/utils/types.d.ts +10 -1
  521. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  522. package/dist/services/document-service/transform/types.d.ts +4 -4
  523. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  524. package/dist/services/document-service/utils/populate.d.ts +9 -2
  525. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  526. package/dist/services/document-service/utils/populate.js +5 -5
  527. package/dist/services/document-service/utils/populate.js.map +1 -1
  528. package/dist/services/document-service/utils/populate.mjs +5 -5
  529. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  530. package/dist/services/entity-service/index.d.ts +4 -6
  531. package/dist/services/entity-service/index.d.ts.map +1 -1
  532. package/dist/services/entity-service/index.js +44 -203
  533. package/dist/services/entity-service/index.js.map +1 -1
  534. package/dist/services/entity-service/index.mjs +38 -197
  535. package/dist/services/entity-service/index.mjs.map +1 -1
  536. package/dist/services/entity-validator/index.d.ts +2 -2
  537. package/dist/services/entity-validator/index.d.ts.map +1 -1
  538. package/dist/services/entity-validator/index.js +101 -90
  539. package/dist/services/entity-validator/index.js.map +1 -1
  540. package/dist/services/entity-validator/index.mjs +101 -90
  541. package/dist/services/entity-validator/index.mjs.map +1 -1
  542. package/dist/services/entity-validator/validators.d.ts +18 -18
  543. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  544. package/dist/services/entity-validator/validators.js +6 -1
  545. package/dist/services/entity-validator/validators.js.map +1 -1
  546. package/dist/services/entity-validator/validators.mjs +6 -1
  547. package/dist/services/entity-validator/validators.mjs.map +1 -1
  548. package/dist/services/event-hub.d.ts +1 -0
  549. package/dist/services/event-hub.d.ts.map +1 -1
  550. package/dist/services/event-hub.js +9 -4
  551. package/dist/services/event-hub.js.map +1 -1
  552. package/dist/services/event-hub.mjs +9 -4
  553. package/dist/services/event-hub.mjs.map +1 -1
  554. package/dist/services/features.d.ts +3 -3
  555. package/dist/services/features.d.ts.map +1 -1
  556. package/dist/services/features.js.map +1 -1
  557. package/dist/services/features.mjs.map +1 -1
  558. package/dist/services/fs.d.ts +2 -2
  559. package/dist/services/fs.d.ts.map +1 -1
  560. package/dist/services/fs.js.map +1 -1
  561. package/dist/services/fs.mjs.map +1 -1
  562. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  563. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  564. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  565. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  566. package/dist/services/metrics/index.d.ts +2 -2
  567. package/dist/services/metrics/index.d.ts.map +1 -1
  568. package/dist/services/metrics/index.js.map +1 -1
  569. package/dist/services/metrics/index.mjs.map +1 -1
  570. package/dist/services/metrics/middleware.d.ts +2 -2
  571. package/dist/services/metrics/middleware.d.ts.map +1 -1
  572. package/dist/services/metrics/middleware.js.map +1 -1
  573. package/dist/services/metrics/middleware.mjs.map +1 -1
  574. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  575. package/dist/services/metrics/rate-limiter.js.map +1 -1
  576. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  577. package/dist/services/metrics/sender.d.ts +3 -3
  578. package/dist/services/metrics/sender.d.ts.map +1 -1
  579. package/dist/services/metrics/sender.js.map +1 -1
  580. package/dist/services/metrics/sender.mjs.map +1 -1
  581. package/dist/services/query-params.d.ts +7 -0
  582. package/dist/services/query-params.d.ts.map +1 -0
  583. package/dist/services/query-params.js +12 -0
  584. package/dist/services/query-params.js.map +1 -0
  585. package/dist/services/query-params.mjs +13 -0
  586. package/dist/services/query-params.mjs.map +1 -0
  587. package/dist/services/reloader.d.ts +7 -0
  588. package/dist/services/reloader.d.ts.map +1 -0
  589. package/dist/services/reloader.js +36 -0
  590. package/dist/services/reloader.js.map +1 -0
  591. package/dist/services/reloader.mjs +36 -0
  592. package/dist/services/reloader.mjs.map +1 -0
  593. package/dist/services/server/admin-api.d.ts +3 -3
  594. package/dist/services/server/admin-api.d.ts.map +1 -1
  595. package/dist/services/server/admin-api.js.map +1 -1
  596. package/dist/services/server/admin-api.mjs.map +1 -1
  597. package/dist/services/server/api.d.ts +3 -3
  598. package/dist/services/server/api.d.ts.map +1 -1
  599. package/dist/services/server/api.js.map +1 -1
  600. package/dist/services/server/api.mjs.map +1 -1
  601. package/dist/services/server/compose-endpoint.d.ts +2 -2
  602. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  603. package/dist/services/server/compose-endpoint.js +1 -2
  604. package/dist/services/server/compose-endpoint.js.map +1 -1
  605. package/dist/services/server/compose-endpoint.mjs +2 -3
  606. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  607. package/dist/services/server/content-api.d.ts +3 -3
  608. package/dist/services/server/content-api.d.ts.map +1 -1
  609. package/dist/services/server/content-api.js.map +1 -1
  610. package/dist/services/server/content-api.mjs.map +1 -1
  611. package/dist/services/server/http-server.d.ts +2 -2
  612. package/dist/services/server/http-server.d.ts.map +1 -1
  613. package/dist/services/server/http-server.js.map +1 -1
  614. package/dist/services/server/http-server.mjs.map +1 -1
  615. package/dist/services/server/index.d.ts +2 -2
  616. package/dist/services/server/index.d.ts.map +1 -1
  617. package/dist/services/server/index.js +1 -2
  618. package/dist/services/server/index.js.map +1 -1
  619. package/dist/services/server/index.mjs +1 -2
  620. package/dist/services/server/index.mjs.map +1 -1
  621. package/dist/services/server/koa.d.ts.map +1 -1
  622. package/dist/services/server/koa.js +1 -1
  623. package/dist/services/server/koa.js.map +1 -1
  624. package/dist/services/server/koa.mjs +1 -1
  625. package/dist/services/server/koa.mjs.map +1 -1
  626. package/dist/services/server/middleware.d.ts +4 -4
  627. package/dist/services/server/middleware.d.ts.map +1 -1
  628. package/dist/services/server/middleware.js.map +1 -1
  629. package/dist/services/server/middleware.mjs.map +1 -1
  630. package/dist/services/server/policy.d.ts +3 -3
  631. package/dist/services/server/policy.d.ts.map +1 -1
  632. package/dist/services/server/policy.js +4 -4
  633. package/dist/services/server/policy.js.map +1 -1
  634. package/dist/services/server/policy.mjs +4 -4
  635. package/dist/services/server/policy.mjs.map +1 -1
  636. package/dist/services/server/register-middlewares.d.ts +2 -2
  637. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  638. package/dist/services/server/register-middlewares.js.map +1 -1
  639. package/dist/services/server/register-middlewares.mjs.map +1 -1
  640. package/dist/services/server/register-routes.d.ts +2 -2
  641. package/dist/services/server/register-routes.d.ts.map +1 -1
  642. package/dist/services/server/register-routes.js +3 -3
  643. package/dist/services/server/register-routes.js.map +1 -1
  644. package/dist/services/server/register-routes.mjs +3 -3
  645. package/dist/services/server/register-routes.mjs.map +1 -1
  646. package/dist/services/server/routing.d.ts +5 -5
  647. package/dist/services/server/routing.d.ts.map +1 -1
  648. package/dist/services/server/routing.js.map +1 -1
  649. package/dist/services/server/routing.mjs.map +1 -1
  650. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  651. package/dist/services/utils/dynamic-zones.js +2 -1
  652. package/dist/services/utils/dynamic-zones.js.map +1 -1
  653. package/dist/services/utils/dynamic-zones.mjs +2 -1
  654. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  655. package/dist/services/webhook-runner.d.ts +2 -1
  656. package/dist/services/webhook-runner.d.ts.map +1 -1
  657. package/dist/services/webhook-runner.js.map +1 -1
  658. package/dist/services/webhook-runner.mjs.map +1 -1
  659. package/dist/services/webhook-store.d.ts +2 -8
  660. package/dist/services/webhook-store.d.ts.map +1 -1
  661. package/dist/services/webhook-store.js +14 -8
  662. package/dist/services/webhook-store.js.map +1 -1
  663. package/dist/services/webhook-store.mjs +14 -8
  664. package/dist/services/webhook-store.mjs.map +1 -1
  665. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  666. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  667. package/dist/utils/convert-custom-field-type.js.map +1 -1
  668. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  669. package/dist/utils/fetch.d.ts +3 -3
  670. package/dist/utils/fetch.d.ts.map +1 -1
  671. package/dist/utils/fetch.js.map +1 -1
  672. package/dist/utils/fetch.mjs.map +1 -1
  673. package/dist/utils/index.d.ts +2 -1
  674. package/dist/utils/index.d.ts.map +1 -1
  675. package/dist/utils/is-initialized.d.ts +2 -2
  676. package/dist/utils/is-initialized.d.ts.map +1 -1
  677. package/dist/utils/is-initialized.js +1 -1
  678. package/dist/utils/is-initialized.js.map +1 -1
  679. package/dist/utils/is-initialized.mjs +1 -1
  680. package/dist/utils/is-initialized.mjs.map +1 -1
  681. package/dist/utils/load-config-file.js +1 -1
  682. package/dist/utils/load-config-file.js.map +1 -1
  683. package/dist/utils/load-config-file.mjs +2 -2
  684. package/dist/utils/load-config-file.mjs.map +1 -1
  685. package/dist/utils/load-files.d.ts.map +1 -1
  686. package/dist/utils/open-browser.d.ts +2 -2
  687. package/dist/utils/open-browser.d.ts.map +1 -1
  688. package/dist/utils/open-browser.js.map +1 -1
  689. package/dist/utils/open-browser.mjs.map +1 -1
  690. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  691. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  692. package/dist/utils/resolve-working-dirs.js +13 -0
  693. package/dist/utils/resolve-working-dirs.js.map +1 -0
  694. package/dist/utils/resolve-working-dirs.mjs +11 -0
  695. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  696. package/dist/utils/signals.d.ts +2 -2
  697. package/dist/utils/signals.d.ts.map +1 -1
  698. package/dist/utils/signals.js.map +1 -1
  699. package/dist/utils/signals.mjs.map +1 -1
  700. package/dist/utils/startup-logger.d.ts +2 -2
  701. package/dist/utils/startup-logger.d.ts.map +1 -1
  702. package/dist/utils/startup-logger.js.map +1 -1
  703. package/dist/utils/startup-logger.mjs.map +1 -1
  704. package/dist/utils/transform-content-types-to-models.d.ts +54 -99
  705. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  706. package/dist/utils/transform-content-types-to-models.js +105 -57
  707. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  708. package/dist/utils/transform-content-types-to-models.mjs +105 -57
  709. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  710. package/dist/utils/update-notifier/index.d.ts +2 -7
  711. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  712. package/dist/utils/update-notifier/index.js +11 -14
  713. package/dist/utils/update-notifier/index.js.map +1 -1
  714. package/dist/utils/update-notifier/index.mjs +11 -14
  715. package/dist/utils/update-notifier/index.mjs.map +1 -1
  716. package/package.json +29 -27
  717. package/dist/registries/config.d.ts +0 -4
  718. package/dist/registries/config.d.ts.map +0 -1
  719. package/dist/registries/config.js +0 -23
  720. package/dist/registries/config.js.map +0 -1
  721. package/dist/registries/config.mjs +0 -22
  722. package/dist/registries/config.mjs.map +0 -1
  723. package/dist/services/document-service/document-engine.d.ts +0 -8
  724. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  725. package/dist/services/document-service/document-engine.js +0 -241
  726. package/dist/services/document-service/document-engine.js.map +0 -1
  727. package/dist/services/document-service/document-engine.mjs +0 -242
  728. package/dist/services/document-service/document-engine.mjs.map +0 -1
  729. package/dist/services/document-service/middlewares.d.ts +0 -8
  730. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  731. package/dist/services/document-service/middlewares.js.map +0 -1
  732. package/dist/services/document-service/middlewares.mjs.map +0 -1
  733. package/dist/services/document-service/repositories/content-type.d.ts +0 -3
  734. package/dist/services/document-service/repositories/content-type.d.ts.map +0 -1
  735. package/dist/services/document-service/repositories/content-type.js +0 -139
  736. package/dist/services/document-service/repositories/content-type.js.map +0 -1
  737. package/dist/services/document-service/repositories/content-type.mjs +0 -139
  738. package/dist/services/document-service/repositories/content-type.mjs.map +0 -1
  739. package/dist/services/document-service/transform/filters.d.ts +0 -3
  740. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  741. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  742. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  743. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  744. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  745. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  746. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  747. package/dist/services/document-service/transform/sort.d.ts +0 -5
  748. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  749. package/dist/services/document-service/transform/utils.d.ts +0 -9
  750. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  751. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  752. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  753. package/dist/services/entity-service/attributes/index.js.map +0 -1
  754. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  755. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  756. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  757. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  758. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  759. package/dist/services/entity-service/components.d.ts +0 -23
  760. package/dist/services/entity-service/components.d.ts.map +0 -1
  761. package/dist/services/entity-service/components.js.map +0 -1
  762. package/dist/services/entity-service/components.mjs.map +0 -1
  763. package/dist/services/entity-service/params.d.ts +0 -8
  764. package/dist/services/entity-service/params.d.ts.map +0 -1
  765. package/dist/services/entity-service/params.js.map +0 -1
  766. package/dist/services/entity-service/params.mjs.map +0 -1
  767. package/dist/services/utils/upload-files.d.ts +0 -8
  768. package/dist/services/utils/upload-files.d.ts.map +0 -1
  769. package/dist/services/utils/upload-files.js +0 -64
  770. package/dist/services/utils/upload-files.js.map +0 -1
  771. package/dist/services/utils/upload-files.mjs +0 -63
  772. package/dist/services/utils/upload-files.mjs.map +0 -1
  773. package/dist/utils/get-dirs.d.ts +0 -9
  774. package/dist/utils/get-dirs.d.ts.map +0 -1
  775. package/dist/utils/get-dirs.js.map +0 -1
  776. package/dist/utils/get-dirs.mjs.map +0 -1
  777. /package/dist/services/{entity-service → document-service}/attributes/transforms.js +0 -0
  778. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
@@ -1,10 +1,14 @@
1
- import { Common } from '@strapi/types';
1
+ import type { UID } from '@strapi/types';
2
2
  import { IdMap } from '../../id-map';
3
- declare const transformDataIdsVisitor: (idMap: IdMap, data: Record<string, any>, opts: {
4
- uid: Common.UID.Schema;
3
+ interface Options {
4
+ uid: UID.Schema;
5
5
  locale?: string | null;
6
- isDraft?: boolean;
6
+ status?: 'draft' | 'published';
7
7
  allowMissingId?: boolean;
8
- }) => Promise<import("@strapi/utils/dist/types").Data>;
8
+ }
9
+ /**
10
+ * Iterate over all relations of a data object and transform all relational document ids to entity ids.
11
+ */
12
+ declare const transformDataIdsVisitor: (idMap: IdMap, data: Record<string, any>, source: Options) => Promise<import("@strapi/utils/dist/types").Data>;
9
13
  export { transformDataIdsVisitor };
10
14
  //# sourceMappingURL=data-ids.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-ids.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/transform/data-ids.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,MAAM,EAAE,MAAM,eAAe,CAAC;AAKjE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AA8GrC,QAAA,MAAM,uBAAuB,UACpB,KAAK,QACN,OAAO,MAAM,EAAE,GAAG,CAAC,QACnB;IACJ,GAAG,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,qDAwCF,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"data-ids.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/transform/data-ids.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAKrC,UAAU,OAAO;IACf,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AA+CD;;GAEG;AACH,QAAA,MAAM,uBAAuB,UAAW,KAAK,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,UAAU,OAAO,qDAgDxF,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -2,115 +2,74 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const _ = require("lodash/fp");
4
4
  const strapiUtils = require("@strapi/utils");
5
- const data = require("../utils/data.js");
6
5
  const i18n = require("../utils/i18n.js");
7
- const isNumeric = (value) => {
8
- if (Array.isArray(value))
9
- return false;
10
- const parsed = parseInt(value, 10);
11
- return !Number.isNaN(parsed);
12
- };
13
- const transformPrimitive = (relation, getId) => {
14
- if (isNumeric(relation)) {
15
- return relation;
16
- }
17
- if (_.isNil(relation)) {
18
- return relation;
19
- }
20
- if (data.isShortHand(relation)) {
21
- return getId(relation);
22
- }
23
- if (data.isLongHand(relation)) {
24
- if (!("documentId" in relation))
25
- return relation;
26
- const entryId = getId(relation.documentId, relation.locale);
27
- if (!entryId)
28
- return void 0;
29
- return { ...relation, id: entryId };
30
- }
31
- if (Array.isArray(relation)) {
32
- return relation.map((item) => transformPrimitive(item, getId)).filter(Boolean);
33
- }
34
- return void 0;
35
- };
36
- const transformRelationIdsVisitor = (relation, getId) => {
37
- const map = transformPrimitive(relation, getId);
38
- if (map)
39
- return map;
40
- if (!_.isObject(relation))
41
- return relation;
42
- if ("set" in relation) {
43
- relation.set = transformPrimitive(relation.set, getId);
44
- }
45
- if ("disconnect" in relation) {
46
- relation.disconnect = transformPrimitive(relation.disconnect, getId);
47
- }
48
- if ("connect" in relation) {
49
- relation.connect = transformPrimitive(relation.connect, getId);
50
- const mapPosition = (relation2) => {
51
- if (data.isShortHand(relation2) || !("position" in relation2))
52
- return relation2;
53
- const { position } = relation2;
54
- if (position?.before) {
55
- const { id } = transformPrimitive({ ...position, documentId: position.before }, getId);
56
- position.before = id;
57
- }
58
- if (position?.after) {
59
- const { id } = transformPrimitive({ ...position, documentId: position.after }, getId);
60
- position.after = id;
61
- }
62
- return relation2;
63
- };
64
- if (Array.isArray(relation.connect)) {
65
- relation.connect = relation.connect.map(mapPosition);
66
- } else {
67
- relation.connect = mapPosition(relation.connect);
6
+ const dp = require("../utils/dp.js");
7
+ const mapRelation = require("../utils/map-relation.js");
8
+ const getRelationIds = _.curry(
9
+ (idMap, targetUid, source, relation) => {
10
+ const targetLocale = i18n.getRelationTargetLocale(relation, {
11
+ targetUid,
12
+ sourceUid: source.uid,
13
+ sourceLocale: source.locale
14
+ });
15
+ const targetStatus = dp.getRelationTargetStatus(relation, {
16
+ targetUid,
17
+ sourceUid: source.uid,
18
+ sourceStatus: source.status
19
+ });
20
+ const ids = [];
21
+ for (const tStatus of targetStatus) {
22
+ const entryId = idMap.get({
23
+ uid: targetUid,
24
+ documentId: relation.documentId,
25
+ locale: targetLocale,
26
+ status: tStatus
27
+ });
28
+ if (entryId)
29
+ ids.push(entryId);
30
+ }
31
+ if (!ids.length && !source.allowMissingId) {
32
+ throw new strapiUtils.errors.ValidationError(
33
+ `Document with id "${relation.documentId}", locale "${targetLocale}" not found`
34
+ );
68
35
  }
36
+ return ids;
69
37
  }
70
- return relation;
71
- };
72
- const EXCLUDED_FIELDS = [
73
- "createdBy",
74
- "updatedBy",
75
- "localizations",
76
- "strapi_stage",
77
- "strapi_assignee"
78
- ];
79
- const transformDataIdsVisitor = (idMap, data2, opts) => {
80
- return strapiUtils.traverseEntity(
81
- ({ key, value, attribute }, { set }) => {
82
- if (attribute.type === "relation") {
83
- const target = attribute.target;
84
- if (!target)
85
- return;
86
- if (EXCLUDED_FIELDS.includes(key))
87
- return;
88
- const getId = (documentId, locale) => {
89
- const entryId = idMap.get({
90
- uid: target,
91
- documentId,
92
- locale: i18n.getRelationTargetLocale(
93
- { documentId, locale },
94
- {
95
- targetUid: target,
96
- sourceUid: opts.uid,
97
- sourceLocale: opts.locale
98
- }
99
- ),
100
- isDraft: opts.isDraft
101
- });
102
- if (entryId)
103
- return entryId;
104
- if (opts.allowMissingId)
105
- return null;
106
- throw new strapiUtils.errors.ValidationError(`Document with id "${documentId}" not found`);
107
- };
108
- const newRelation = transformRelationIdsVisitor(value, getId);
109
- set(key, newRelation);
38
+ );
39
+ const transformDataIdsVisitor = (idMap, data, source) => {
40
+ return mapRelation.traverseEntityRelations(
41
+ async ({ key, value, attribute }, { set }) => {
42
+ if (!attribute) {
43
+ return;
110
44
  }
45
+ const targetUid = attribute.target;
46
+ const getIds = getRelationIds(idMap, targetUid, source);
47
+ const newRelation = await mapRelation.mapRelation((relation) => {
48
+ if (!relation || !relation.documentId) {
49
+ return relation;
50
+ }
51
+ const ids = getIds(relation);
52
+ const position = { ...relation.position };
53
+ if (position.before) {
54
+ const beforeRelation = { ...relation, ...position, documentId: position.before };
55
+ position.before = getIds(beforeRelation).at(0);
56
+ }
57
+ if (position.after) {
58
+ const afterRelation = { ...relation, ...position, documentId: position.after };
59
+ position.after = getIds(afterRelation).at(0);
60
+ }
61
+ return ids?.map((id) => {
62
+ const newRelation2 = { id };
63
+ if (relation.position) {
64
+ newRelation2.position = position;
65
+ }
66
+ return newRelation2;
67
+ });
68
+ }, value);
69
+ set(key, newRelation);
111
70
  },
112
- { schema: strapi.getModel(opts.uid) },
113
- data2
71
+ { schema: strapi.getModel(source.uid), getModel: strapi.getModel.bind(strapi) },
72
+ data
114
73
  );
115
74
  };
116
75
  exports.transformDataIdsVisitor = transformDataIdsVisitor;
@@ -1 +1 @@
1
- {"version":3,"file":"data-ids.js","sources":["../../../../../../src/services/document-service/transform/relations/transform/data-ids.ts"],"sourcesContent":["import { isObject, isNil } from 'lodash/fp';\n\nimport { EntityService, Attribute, Common } from '@strapi/types';\nimport { traverseEntity, errors } from '@strapi/utils';\n\nimport { ShortHand, LongHand, ID, GetId } from '../utils/types';\nimport { isShortHand, isLongHand } from '../utils/data';\nimport { IdMap } from '../../id-map';\nimport { getRelationTargetLocale } from '../utils/i18n';\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 transformPrimitive = <T extends ShortHand | LongHand>(\n relation: T | T[] | null | undefined,\n getId: GetId\n): T | T[] | undefined => {\n // TODO: Remove this, we should use the long hand version with 'id' for this case\n // If id value is a number, return it as is, it's already an entry id\n if (isNumeric(relation)) {\n return relation;\n }\n\n // null\n if (isNil(relation)) {\n return relation as T | undefined;\n }\n\n // id\n if (isShortHand(relation)) {\n return getId(relation) as T;\n }\n\n // { id }\n if (isLongHand(relation)) {\n // If the id is already an entry id, return it as is\n if (!('documentId' in relation)) return relation;\n\n // @ts-expect-error - TODO: Add relation type\n const entryId = getId(relation.documentId, relation.locale) as T;\n\n // If the id is not found, return undefined\n if (!entryId) return undefined;\n\n return { ...(relation as object), id: entryId } as T;\n }\n\n // id[]\n if (Array.isArray(relation)) {\n return relation.map((item) => transformPrimitive(item, getId)).filter(Boolean) as T[];\n }\n return undefined;\n};\n\nconst transformRelationIdsVisitor = <T extends Attribute.RelationKind.Any>(\n relation: EntityService.Params.Attribute.RelationInputValue<T>,\n getId: GetId\n): EntityService.Params.Attribute.RelationInputValue<T> => {\n const map = transformPrimitive(relation as any, getId);\n if (map) return map;\n\n if (!isObject(relation)) return relation;\n\n // set: id[]\n // what if result of mapPrimitive is undefined?\n if ('set' in relation) {\n relation.set = transformPrimitive(relation.set as any, getId);\n }\n if ('disconnect' in relation) {\n relation.disconnect = transformPrimitive(relation.disconnect as any, getId);\n }\n\n if ('connect' in relation) {\n // connect: id[] | { id } | ...\n relation.connect = transformPrimitive(relation.connect as any, getId);\n\n const mapPosition = (relation: any) => {\n if (isShortHand(relation) || !('position' in relation)) return relation;\n\n const { position } = relation;\n\n // { connect: { id: id, position: { before: id } } }\n if (position?.before) {\n const { id } = transformPrimitive({ ...position, documentId: position.before }, getId);\n position.before = id;\n }\n\n // { connect: { id: id, position: { after: id } } }\n if (position?.after) {\n const { id } = transformPrimitive({ ...position, documentId: position.after }, getId);\n position.after = id;\n }\n\n return relation;\n };\n\n if (Array.isArray(relation.connect)) {\n relation.connect = relation.connect.map(mapPosition);\n } else {\n relation.connect = mapPosition(relation.connect);\n }\n }\n\n return relation;\n};\n\nconst EXCLUDED_FIELDS = [\n 'createdBy',\n 'updatedBy',\n 'localizations',\n 'strapi_stage',\n 'strapi_assignee',\n];\n\nconst transformDataIdsVisitor = (\n idMap: IdMap,\n data: Record<string, any>,\n opts: {\n uid: Common.UID.Schema;\n locale?: string | null;\n isDraft?: boolean;\n allowMissingId?: boolean; // Whether to ignore missing ids and not throw any error\n }\n) => {\n return traverseEntity(\n ({ key, value, attribute }, { set }) => {\n // Find relational attributes, and return the document ids\n if (attribute.type === 'relation') {\n const target = attribute.target;\n // TODO: Handle polymorphic relations\n if (!target) return;\n // TODO: Handle this differently\n if (EXCLUDED_FIELDS.includes(key)) return;\n\n const getId = (documentId: ID, locale?: string): ID | null => {\n const entryId = idMap.get({\n uid: target,\n documentId,\n locale: getRelationTargetLocale(\n { documentId, locale },\n {\n targetUid: target as Common.UID.Schema,\n sourceUid: opts.uid,\n sourceLocale: opts.locale,\n }\n ),\n isDraft: opts.isDraft,\n });\n\n if (entryId) return entryId;\n if (opts.allowMissingId) return null;\n\n throw new errors.ValidationError(`Document with id \"${documentId}\" not found`);\n };\n\n const newRelation = transformRelationIdsVisitor(value as any, getId);\n set(key, newRelation as any);\n }\n },\n { schema: strapi.getModel(opts.uid) },\n data\n );\n};\n\nexport { transformDataIdsVisitor };\n"],"names":["isNil","isShortHand","isLongHand","isObject","relation","data","traverseEntity","getRelationTargetLocale","errors"],"mappings":"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"}
1
+ {"version":3,"file":"data-ids.js","sources":["../../../../../../src/services/document-service/transform/relations/transform/data-ids.ts"],"sourcesContent":["import { curry } from 'lodash/fp';\n\nimport type { UID } from '@strapi/types';\nimport { errors } from '@strapi/utils';\n\nimport { ID, LongHandDocument } from '../utils/types';\nimport { IdMap } from '../../id-map';\nimport { getRelationTargetLocale } from '../utils/i18n';\nimport { getRelationTargetStatus } from '../utils/dp';\nimport { mapRelation, traverseEntityRelations } from '../utils/map-relation';\n\ninterface Options {\n uid: UID.Schema;\n locale?: string | null;\n status?: 'draft' | 'published';\n allowMissingId?: boolean; // Whether to ignore missing ids and not throw any error\n}\n\n/**\n * Get the entry ids for a given documentId.\n */\nconst getRelationIds = curry(\n (idMap: IdMap, targetUid: UID.Schema, source: Options, relation: LongHandDocument) => {\n // locale to connect to\n const targetLocale = getRelationTargetLocale(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceLocale: source.locale,\n });\n\n // status(es) to connect to\n const targetStatus = getRelationTargetStatus(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceStatus: source.status,\n });\n\n const ids: ID[] = [];\n\n // Find mapping between documentID -> id(s).\n // There are scenarios where a single documentID can map to multiple ids.\n // e.g when connecting Non DP -> DP and connecting to both the draft and publish version at the same time\n for (const tStatus of targetStatus) {\n const entryId = idMap.get({\n uid: targetUid,\n documentId: relation.documentId,\n locale: targetLocale,\n status: tStatus,\n });\n\n if (entryId) ids.push(entryId);\n }\n\n if (!ids.length && !source.allowMissingId) {\n throw new errors.ValidationError(\n `Document with id \"${relation.documentId}\", locale \"${targetLocale}\" not found`\n );\n }\n\n return ids;\n }\n);\n\n/**\n * Iterate over all relations of a data object and transform all relational document ids to entity ids.\n */\nconst transformDataIdsVisitor = (idMap: IdMap, data: Record<string, any>, source: Options) => {\n return traverseEntityRelations(\n async ({ key, value, attribute }, { set }) => {\n if (!attribute) {\n return;\n }\n\n // Find relational attributes, and return the document ids\n const targetUid = attribute.target!;\n const getIds = getRelationIds(idMap, targetUid, source);\n\n // Transform the relation documentId to entity id\n const newRelation = await mapRelation((relation) => {\n if (!relation || !relation.documentId) {\n return relation;\n }\n\n const ids = getIds(relation);\n\n // Handle positional arguments\n const position = { ...relation.position };\n\n if (position.before) {\n const beforeRelation = { ...relation, ...position, documentId: position.before };\n position.before = getIds(beforeRelation).at(0);\n }\n\n if (position.after) {\n const afterRelation = { ...relation, ...position, documentId: position.after };\n position.after = getIds(afterRelation).at(0);\n }\n\n // Transform all ids to new relations\n return ids?.map((id) => {\n const newRelation = { id } as typeof relation;\n if (relation.position) {\n newRelation.position = position;\n }\n\n return newRelation;\n });\n }, value as any);\n\n set(key, newRelation as any);\n },\n { schema: strapi.getModel(source.uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n\nexport { transformDataIdsVisitor };\n"],"names":["curry","getRelationTargetLocale","getRelationTargetStatus","errors","traverseEntityRelations","mapRelation","newRelation"],"mappings":";;;;;;;AAqBA,MAAM,iBAAiBA,EAAA;AAAA,EACrB,CAAC,OAAc,WAAuB,QAAiB,aAA+B;AAE9E,UAAA,eAAeC,6BAAwB,UAAU;AAAA,MACrD;AAAA,MACA,WAAW,OAAO;AAAA,MAClB,cAAc,OAAO;AAAA,IAAA,CACtB;AAGK,UAAA,eAAeC,2BAAwB,UAAU;AAAA,MACrD;AAAA,MACA,WAAW,OAAO;AAAA,MAClB,cAAc,OAAO;AAAA,IAAA,CACtB;AAED,UAAM,MAAY,CAAA;AAKlB,eAAW,WAAW,cAAc;AAC5B,YAAA,UAAU,MAAM,IAAI;AAAA,QACxB,KAAK;AAAA,QACL,YAAY,SAAS;AAAA,QACrB,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA,CACT;AAEG,UAAA;AAAS,YAAI,KAAK,OAAO;AAAA,IAC/B;AAEA,QAAI,CAAC,IAAI,UAAU,CAAC,OAAO,gBAAgB;AACzC,YAAM,IAAIC,YAAO,OAAA;AAAA,QACf,qBAAqB,SAAS,UAAU,cAAc,YAAY;AAAA,MAAA;AAAA,IAEtE;AAEO,WAAA;AAAA,EACT;AACF;AAKA,MAAM,0BAA0B,CAAC,OAAc,MAA2B,WAAoB;AACrF,SAAAC,YAAA;AAAA,IACL,OAAO,EAAE,KAAK,OAAO,aAAa,EAAE,UAAU;AAC5C,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAGA,YAAM,YAAY,UAAU;AAC5B,YAAM,SAAS,eAAe,OAAO,WAAW,MAAM;AAGtD,YAAM,cAAc,MAAMC,wBAAY,CAAC,aAAa;AAClD,YAAI,CAAC,YAAY,CAAC,SAAS,YAAY;AAC9B,iBAAA;AAAA,QACT;AAEM,cAAA,MAAM,OAAO,QAAQ;AAG3B,cAAM,WAAW,EAAE,GAAG,SAAS,SAAS;AAExC,YAAI,SAAS,QAAQ;AACb,gBAAA,iBAAiB,EAAE,GAAG,UAAU,GAAG,UAAU,YAAY,SAAS;AACxE,mBAAS,SAAS,OAAO,cAAc,EAAE,GAAG,CAAC;AAAA,QAC/C;AAEA,YAAI,SAAS,OAAO;AACZ,gBAAA,gBAAgB,EAAE,GAAG,UAAU,GAAG,UAAU,YAAY,SAAS;AACvE,mBAAS,QAAQ,OAAO,aAAa,EAAE,GAAG,CAAC;AAAA,QAC7C;AAGO,eAAA,KAAK,IAAI,CAAC,OAAO;AAChBC,gBAAAA,eAAc,EAAE;AACtB,cAAI,SAAS,UAAU;AACrBA,yBAAY,WAAW;AAAA,UACzB;AAEOA,iBAAAA;AAAAA,QAAA,CACR;AAAA,SACA,KAAY;AAEf,UAAI,KAAK,WAAkB;AAAA,IAC7B;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,OAAO,GAAG,GAAG,UAAU,OAAO,SAAS,KAAK,MAAM,EAAE;AAAA,IAC9E;AAAA,EAAA;AAEJ;;"}
@@ -1,113 +1,72 @@
1
- import { isObject, isNil } from "lodash/fp";
2
- import { traverseEntity, errors } from "@strapi/utils";
3
- import { isShortHand, isLongHand } from "../utils/data.mjs";
1
+ import { curry } from "lodash/fp";
2
+ import { errors } from "@strapi/utils";
4
3
  import { getRelationTargetLocale } from "../utils/i18n.mjs";
5
- const isNumeric = (value) => {
6
- if (Array.isArray(value))
7
- return false;
8
- const parsed = parseInt(value, 10);
9
- return !Number.isNaN(parsed);
10
- };
11
- const transformPrimitive = (relation, getId) => {
12
- if (isNumeric(relation)) {
13
- return relation;
14
- }
15
- if (isNil(relation)) {
16
- return relation;
17
- }
18
- if (isShortHand(relation)) {
19
- return getId(relation);
20
- }
21
- if (isLongHand(relation)) {
22
- if (!("documentId" in relation))
23
- return relation;
24
- const entryId = getId(relation.documentId, relation.locale);
25
- if (!entryId)
26
- return void 0;
27
- return { ...relation, id: entryId };
28
- }
29
- if (Array.isArray(relation)) {
30
- return relation.map((item) => transformPrimitive(item, getId)).filter(Boolean);
31
- }
32
- return void 0;
33
- };
34
- const transformRelationIdsVisitor = (relation, getId) => {
35
- const map = transformPrimitive(relation, getId);
36
- if (map)
37
- return map;
38
- if (!isObject(relation))
39
- return relation;
40
- if ("set" in relation) {
41
- relation.set = transformPrimitive(relation.set, getId);
42
- }
43
- if ("disconnect" in relation) {
44
- relation.disconnect = transformPrimitive(relation.disconnect, getId);
45
- }
46
- if ("connect" in relation) {
47
- relation.connect = transformPrimitive(relation.connect, getId);
48
- const mapPosition = (relation2) => {
49
- if (isShortHand(relation2) || !("position" in relation2))
50
- return relation2;
51
- const { position } = relation2;
52
- if (position?.before) {
53
- const { id } = transformPrimitive({ ...position, documentId: position.before }, getId);
54
- position.before = id;
55
- }
56
- if (position?.after) {
57
- const { id } = transformPrimitive({ ...position, documentId: position.after }, getId);
58
- position.after = id;
59
- }
60
- return relation2;
61
- };
62
- if (Array.isArray(relation.connect)) {
63
- relation.connect = relation.connect.map(mapPosition);
64
- } else {
65
- relation.connect = mapPosition(relation.connect);
4
+ import { getRelationTargetStatus } from "../utils/dp.mjs";
5
+ import { traverseEntityRelations as traverseEntityRelationsCurried, mapRelation as mapRelationCurried } from "../utils/map-relation.mjs";
6
+ const getRelationIds = curry(
7
+ (idMap, targetUid, source, relation) => {
8
+ const targetLocale = getRelationTargetLocale(relation, {
9
+ targetUid,
10
+ sourceUid: source.uid,
11
+ sourceLocale: source.locale
12
+ });
13
+ const targetStatus = getRelationTargetStatus(relation, {
14
+ targetUid,
15
+ sourceUid: source.uid,
16
+ sourceStatus: source.status
17
+ });
18
+ const ids = [];
19
+ for (const tStatus of targetStatus) {
20
+ const entryId = idMap.get({
21
+ uid: targetUid,
22
+ documentId: relation.documentId,
23
+ locale: targetLocale,
24
+ status: tStatus
25
+ });
26
+ if (entryId)
27
+ ids.push(entryId);
28
+ }
29
+ if (!ids.length && !source.allowMissingId) {
30
+ throw new errors.ValidationError(
31
+ `Document with id "${relation.documentId}", locale "${targetLocale}" not found`
32
+ );
66
33
  }
34
+ return ids;
67
35
  }
68
- return relation;
69
- };
70
- const EXCLUDED_FIELDS = [
71
- "createdBy",
72
- "updatedBy",
73
- "localizations",
74
- "strapi_stage",
75
- "strapi_assignee"
76
- ];
77
- const transformDataIdsVisitor = (idMap, data, opts) => {
78
- return traverseEntity(
79
- ({ key, value, attribute }, { set }) => {
80
- if (attribute.type === "relation") {
81
- const target = attribute.target;
82
- if (!target)
83
- return;
84
- if (EXCLUDED_FIELDS.includes(key))
85
- return;
86
- const getId = (documentId, locale) => {
87
- const entryId = idMap.get({
88
- uid: target,
89
- documentId,
90
- locale: getRelationTargetLocale(
91
- { documentId, locale },
92
- {
93
- targetUid: target,
94
- sourceUid: opts.uid,
95
- sourceLocale: opts.locale
96
- }
97
- ),
98
- isDraft: opts.isDraft
99
- });
100
- if (entryId)
101
- return entryId;
102
- if (opts.allowMissingId)
103
- return null;
104
- throw new errors.ValidationError(`Document with id "${documentId}" not found`);
105
- };
106
- const newRelation = transformRelationIdsVisitor(value, getId);
107
- set(key, newRelation);
36
+ );
37
+ const transformDataIdsVisitor = (idMap, data, source) => {
38
+ return traverseEntityRelationsCurried(
39
+ async ({ key, value, attribute }, { set }) => {
40
+ if (!attribute) {
41
+ return;
108
42
  }
43
+ const targetUid = attribute.target;
44
+ const getIds = getRelationIds(idMap, targetUid, source);
45
+ const newRelation = await mapRelationCurried((relation) => {
46
+ if (!relation || !relation.documentId) {
47
+ return relation;
48
+ }
49
+ const ids = getIds(relation);
50
+ const position = { ...relation.position };
51
+ if (position.before) {
52
+ const beforeRelation = { ...relation, ...position, documentId: position.before };
53
+ position.before = getIds(beforeRelation).at(0);
54
+ }
55
+ if (position.after) {
56
+ const afterRelation = { ...relation, ...position, documentId: position.after };
57
+ position.after = getIds(afterRelation).at(0);
58
+ }
59
+ return ids?.map((id) => {
60
+ const newRelation2 = { id };
61
+ if (relation.position) {
62
+ newRelation2.position = position;
63
+ }
64
+ return newRelation2;
65
+ });
66
+ }, value);
67
+ set(key, newRelation);
109
68
  },
110
- { schema: strapi.getModel(opts.uid) },
69
+ { schema: strapi.getModel(source.uid), getModel: strapi.getModel.bind(strapi) },
111
70
  data
112
71
  );
113
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"data-ids.mjs","sources":["../../../../../../src/services/document-service/transform/relations/transform/data-ids.ts"],"sourcesContent":["import { isObject, isNil } from 'lodash/fp';\n\nimport { EntityService, Attribute, Common } from '@strapi/types';\nimport { traverseEntity, errors } from '@strapi/utils';\n\nimport { ShortHand, LongHand, ID, GetId } from '../utils/types';\nimport { isShortHand, isLongHand } from '../utils/data';\nimport { IdMap } from '../../id-map';\nimport { getRelationTargetLocale } from '../utils/i18n';\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 transformPrimitive = <T extends ShortHand | LongHand>(\n relation: T | T[] | null | undefined,\n getId: GetId\n): T | T[] | undefined => {\n // TODO: Remove this, we should use the long hand version with 'id' for this case\n // If id value is a number, return it as is, it's already an entry id\n if (isNumeric(relation)) {\n return relation;\n }\n\n // null\n if (isNil(relation)) {\n return relation as T | undefined;\n }\n\n // id\n if (isShortHand(relation)) {\n return getId(relation) as T;\n }\n\n // { id }\n if (isLongHand(relation)) {\n // If the id is already an entry id, return it as is\n if (!('documentId' in relation)) return relation;\n\n // @ts-expect-error - TODO: Add relation type\n const entryId = getId(relation.documentId, relation.locale) as T;\n\n // If the id is not found, return undefined\n if (!entryId) return undefined;\n\n return { ...(relation as object), id: entryId } as T;\n }\n\n // id[]\n if (Array.isArray(relation)) {\n return relation.map((item) => transformPrimitive(item, getId)).filter(Boolean) as T[];\n }\n return undefined;\n};\n\nconst transformRelationIdsVisitor = <T extends Attribute.RelationKind.Any>(\n relation: EntityService.Params.Attribute.RelationInputValue<T>,\n getId: GetId\n): EntityService.Params.Attribute.RelationInputValue<T> => {\n const map = transformPrimitive(relation as any, getId);\n if (map) return map;\n\n if (!isObject(relation)) return relation;\n\n // set: id[]\n // what if result of mapPrimitive is undefined?\n if ('set' in relation) {\n relation.set = transformPrimitive(relation.set as any, getId);\n }\n if ('disconnect' in relation) {\n relation.disconnect = transformPrimitive(relation.disconnect as any, getId);\n }\n\n if ('connect' in relation) {\n // connect: id[] | { id } | ...\n relation.connect = transformPrimitive(relation.connect as any, getId);\n\n const mapPosition = (relation: any) => {\n if (isShortHand(relation) || !('position' in relation)) return relation;\n\n const { position } = relation;\n\n // { connect: { id: id, position: { before: id } } }\n if (position?.before) {\n const { id } = transformPrimitive({ ...position, documentId: position.before }, getId);\n position.before = id;\n }\n\n // { connect: { id: id, position: { after: id } } }\n if (position?.after) {\n const { id } = transformPrimitive({ ...position, documentId: position.after }, getId);\n position.after = id;\n }\n\n return relation;\n };\n\n if (Array.isArray(relation.connect)) {\n relation.connect = relation.connect.map(mapPosition);\n } else {\n relation.connect = mapPosition(relation.connect);\n }\n }\n\n return relation;\n};\n\nconst EXCLUDED_FIELDS = [\n 'createdBy',\n 'updatedBy',\n 'localizations',\n 'strapi_stage',\n 'strapi_assignee',\n];\n\nconst transformDataIdsVisitor = (\n idMap: IdMap,\n data: Record<string, any>,\n opts: {\n uid: Common.UID.Schema;\n locale?: string | null;\n isDraft?: boolean;\n allowMissingId?: boolean; // Whether to ignore missing ids and not throw any error\n }\n) => {\n return traverseEntity(\n ({ key, value, attribute }, { set }) => {\n // Find relational attributes, and return the document ids\n if (attribute.type === 'relation') {\n const target = attribute.target;\n // TODO: Handle polymorphic relations\n if (!target) return;\n // TODO: Handle this differently\n if (EXCLUDED_FIELDS.includes(key)) return;\n\n const getId = (documentId: ID, locale?: string): ID | null => {\n const entryId = idMap.get({\n uid: target,\n documentId,\n locale: getRelationTargetLocale(\n { documentId, locale },\n {\n targetUid: target as Common.UID.Schema,\n sourceUid: opts.uid,\n sourceLocale: opts.locale,\n }\n ),\n isDraft: opts.isDraft,\n });\n\n if (entryId) return entryId;\n if (opts.allowMissingId) return null;\n\n throw new errors.ValidationError(`Document with id \"${documentId}\" not found`);\n };\n\n const newRelation = transformRelationIdsVisitor(value as any, getId);\n set(key, newRelation as any);\n }\n },\n { schema: strapi.getModel(opts.uid) },\n data\n );\n};\n\nexport { transformDataIdsVisitor };\n"],"names":["relation"],"mappings":"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"}
1
+ {"version":3,"file":"data-ids.mjs","sources":["../../../../../../src/services/document-service/transform/relations/transform/data-ids.ts"],"sourcesContent":["import { curry } from 'lodash/fp';\n\nimport type { UID } from '@strapi/types';\nimport { errors } from '@strapi/utils';\n\nimport { ID, LongHandDocument } from '../utils/types';\nimport { IdMap } from '../../id-map';\nimport { getRelationTargetLocale } from '../utils/i18n';\nimport { getRelationTargetStatus } from '../utils/dp';\nimport { mapRelation, traverseEntityRelations } from '../utils/map-relation';\n\ninterface Options {\n uid: UID.Schema;\n locale?: string | null;\n status?: 'draft' | 'published';\n allowMissingId?: boolean; // Whether to ignore missing ids and not throw any error\n}\n\n/**\n * Get the entry ids for a given documentId.\n */\nconst getRelationIds = curry(\n (idMap: IdMap, targetUid: UID.Schema, source: Options, relation: LongHandDocument) => {\n // locale to connect to\n const targetLocale = getRelationTargetLocale(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceLocale: source.locale,\n });\n\n // status(es) to connect to\n const targetStatus = getRelationTargetStatus(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceStatus: source.status,\n });\n\n const ids: ID[] = [];\n\n // Find mapping between documentID -> id(s).\n // There are scenarios where a single documentID can map to multiple ids.\n // e.g when connecting Non DP -> DP and connecting to both the draft and publish version at the same time\n for (const tStatus of targetStatus) {\n const entryId = idMap.get({\n uid: targetUid,\n documentId: relation.documentId,\n locale: targetLocale,\n status: tStatus,\n });\n\n if (entryId) ids.push(entryId);\n }\n\n if (!ids.length && !source.allowMissingId) {\n throw new errors.ValidationError(\n `Document with id \"${relation.documentId}\", locale \"${targetLocale}\" not found`\n );\n }\n\n return ids;\n }\n);\n\n/**\n * Iterate over all relations of a data object and transform all relational document ids to entity ids.\n */\nconst transformDataIdsVisitor = (idMap: IdMap, data: Record<string, any>, source: Options) => {\n return traverseEntityRelations(\n async ({ key, value, attribute }, { set }) => {\n if (!attribute) {\n return;\n }\n\n // Find relational attributes, and return the document ids\n const targetUid = attribute.target!;\n const getIds = getRelationIds(idMap, targetUid, source);\n\n // Transform the relation documentId to entity id\n const newRelation = await mapRelation((relation) => {\n if (!relation || !relation.documentId) {\n return relation;\n }\n\n const ids = getIds(relation);\n\n // Handle positional arguments\n const position = { ...relation.position };\n\n if (position.before) {\n const beforeRelation = { ...relation, ...position, documentId: position.before };\n position.before = getIds(beforeRelation).at(0);\n }\n\n if (position.after) {\n const afterRelation = { ...relation, ...position, documentId: position.after };\n position.after = getIds(afterRelation).at(0);\n }\n\n // Transform all ids to new relations\n return ids?.map((id) => {\n const newRelation = { id } as typeof relation;\n if (relation.position) {\n newRelation.position = position;\n }\n\n return newRelation;\n });\n }, value as any);\n\n set(key, newRelation as any);\n },\n { schema: strapi.getModel(source.uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n\nexport { transformDataIdsVisitor };\n"],"names":["traverseEntityRelations","mapRelation","newRelation"],"mappings":";;;;;AAqBA,MAAM,iBAAiB;AAAA,EACrB,CAAC,OAAc,WAAuB,QAAiB,aAA+B;AAE9E,UAAA,eAAe,wBAAwB,UAAU;AAAA,MACrD;AAAA,MACA,WAAW,OAAO;AAAA,MAClB,cAAc,OAAO;AAAA,IAAA,CACtB;AAGK,UAAA,eAAe,wBAAwB,UAAU;AAAA,MACrD;AAAA,MACA,WAAW,OAAO;AAAA,MAClB,cAAc,OAAO;AAAA,IAAA,CACtB;AAED,UAAM,MAAY,CAAA;AAKlB,eAAW,WAAW,cAAc;AAC5B,YAAA,UAAU,MAAM,IAAI;AAAA,QACxB,KAAK;AAAA,QACL,YAAY,SAAS;AAAA,QACrB,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA,CACT;AAEG,UAAA;AAAS,YAAI,KAAK,OAAO;AAAA,IAC/B;AAEA,QAAI,CAAC,IAAI,UAAU,CAAC,OAAO,gBAAgB;AACzC,YAAM,IAAI,OAAO;AAAA,QACf,qBAAqB,SAAS,UAAU,cAAc,YAAY;AAAA,MAAA;AAAA,IAEtE;AAEO,WAAA;AAAA,EACT;AACF;AAKA,MAAM,0BAA0B,CAAC,OAAc,MAA2B,WAAoB;AACrF,SAAAA;AAAAA,IACL,OAAO,EAAE,KAAK,OAAO,aAAa,EAAE,UAAU;AAC5C,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAGA,YAAM,YAAY,UAAU;AAC5B,YAAM,SAAS,eAAe,OAAO,WAAW,MAAM;AAGtD,YAAM,cAAc,MAAMC,mBAAY,CAAC,aAAa;AAClD,YAAI,CAAC,YAAY,CAAC,SAAS,YAAY;AAC9B,iBAAA;AAAA,QACT;AAEM,cAAA,MAAM,OAAO,QAAQ;AAG3B,cAAM,WAAW,EAAE,GAAG,SAAS,SAAS;AAExC,YAAI,SAAS,QAAQ;AACb,gBAAA,iBAAiB,EAAE,GAAG,UAAU,GAAG,UAAU,YAAY,SAAS;AACxE,mBAAS,SAAS,OAAO,cAAc,EAAE,GAAG,CAAC;AAAA,QAC/C;AAEA,YAAI,SAAS,OAAO;AACZ,gBAAA,gBAAgB,EAAE,GAAG,UAAU,GAAG,UAAU,YAAY,SAAS;AACvE,mBAAS,QAAQ,OAAO,aAAa,EAAE,GAAG,CAAC;AAAA,QAC7C;AAGO,eAAA,KAAK,IAAI,CAAC,OAAO;AAChBC,gBAAAA,eAAc,EAAE;AACtB,cAAI,SAAS,UAAU;AACrBA,yBAAY,WAAW;AAAA,UACzB;AAEOA,iBAAAA;AAAAA,QAAA,CACR;AAAA,SACA,KAAY;AAEf,UAAI,KAAK,WAAkB;AAAA,IAC7B;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,OAAO,GAAG,GAAG,UAAU,OAAO,SAAS,KAAK,MAAM,EAAE;AAAA,IAC9E;AAAA,EAAA;AAEJ;"}
@@ -0,0 +1,9 @@
1
+ import type { UID } from '@strapi/types';
2
+ /**
3
+ * In scenarios like Non i18n CT -> i18n CT
4
+ * relations can be connected to multiple locales,
5
+ * in case user does not provide the locale, this sets it to the default one.
6
+ */
7
+ declare const setDefaultLocaleToRelations: (data: Record<string, any>, uid: UID.Schema) => Record<string, any> | Promise<import("@strapi/utils/dist/types").Data>;
8
+ export { setDefaultLocaleToRelations };
9
+ //# sourceMappingURL=default-locale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-locale.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/transform/default-locale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAKzC;;;;GAIG;AACH,QAAA,MAAM,2BAA2B,SAAU,OAAO,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,MAAM,2EA2C9E,CAAC;AAEF,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const i18n = require("../utils/i18n.js");
4
+ const mapRelation = require("../utils/map-relation.js");
5
+ const setDefaultLocaleToRelations = (data, uid) => {
6
+ if (i18n.isLocalizedContentType(uid)) {
7
+ return data;
8
+ }
9
+ let defaultLocale;
10
+ return mapRelation.traverseEntityRelations(
11
+ async ({ key, value }, { set }) => {
12
+ const relation = await mapRelation.mapRelation(async (relation2) => {
13
+ if (!relation2 || !relation2?.documentId || relation2?.locale) {
14
+ return relation2;
15
+ }
16
+ if (!defaultLocale) {
17
+ defaultLocale = await i18n.getDefaultLocale();
18
+ }
19
+ const position = relation2.position;
20
+ if (position && typeof position === "object" && !position.locale) {
21
+ relation2.position.locale = defaultLocale;
22
+ }
23
+ return { ...relation2, locale: defaultLocale };
24
+ }, value);
25
+ set(key, relation);
26
+ },
27
+ { schema: strapi.getModel(uid), getModel: strapi.getModel.bind(strapi) },
28
+ data
29
+ );
30
+ };
31
+ exports.setDefaultLocaleToRelations = setDefaultLocaleToRelations;
32
+ //# 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":["isLocalizedContentType","traverseEntityRelations","mapRelation","relation","getDefaultLocale"],"mappings":";;;;AAUM,MAAA,8BAA8B,CAAC,MAA2B,QAAoB;AAE9E,MAAAA,KAAAA,uBAAuB,GAAG,GAAG;AACxB,WAAA;AAAA,EACT;AAGI,MAAA;AAKG,SAAAC,YAAA;AAAA,IACL,OAAO,EAAE,KAAK,SAAS,EAAE,UAAU;AAKjC,YAAM,WAAW,MAAMC,wBAAY,OAAOC,cAAa;AACrD,YAAI,CAACA,aAAY,CAACA,WAAU,cAAcA,WAAU,QAAQ;AACnDA,iBAAAA;AAAAA,QACT;AAGA,YAAI,CAAC,eAAe;AAClB,0BAAgB,MAAMC,KAAAA;QACxB;AAGA,cAAM,WAAWD,UAAS;AAC1B,YAAI,YAAY,OAAO,aAAa,YAAY,CAAC,SAAS,QAAQ;AAChEA,oBAAS,SAAS,SAAS;AAAA,QAC7B;AAEA,eAAO,EAAE,GAAGA,WAAU,QAAQ,cAAc;AAAA,SAC3C,KAAY;AAGf,UAAI,KAAK,QAAQ;AAAA,IACnB;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,GAAG,GAAG,UAAU,OAAO,SAAS,KAAK,MAAM,EAAE;AAAA,IACvE;AAAA,EAAA;AAEJ;;"}
@@ -0,0 +1,32 @@
1
+ import { isLocalizedContentType, getDefaultLocale } from "../utils/i18n.mjs";
2
+ import { traverseEntityRelations as traverseEntityRelationsCurried, mapRelation as mapRelationCurried } from "../utils/map-relation.mjs";
3
+ const setDefaultLocaleToRelations = (data, uid) => {
4
+ if (isLocalizedContentType(uid)) {
5
+ return data;
6
+ }
7
+ let defaultLocale;
8
+ return traverseEntityRelationsCurried(
9
+ async ({ key, value }, { set }) => {
10
+ const relation = await mapRelationCurried(async (relation2) => {
11
+ if (!relation2 || !relation2?.documentId || relation2?.locale) {
12
+ return relation2;
13
+ }
14
+ if (!defaultLocale) {
15
+ defaultLocale = await getDefaultLocale();
16
+ }
17
+ const position = relation2.position;
18
+ if (position && typeof position === "object" && !position.locale) {
19
+ relation2.position.locale = defaultLocale;
20
+ }
21
+ return { ...relation2, locale: defaultLocale };
22
+ }, value);
23
+ set(key, relation);
24
+ },
25
+ { schema: strapi.getModel(uid), getModel: strapi.getModel.bind(strapi) },
26
+ data
27
+ );
28
+ };
29
+ export {
30
+ setDefaultLocaleToRelations
31
+ };
32
+ //# 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":["traverseEntityRelations","mapRelation","relation"],"mappings":";;AAUM,MAAA,8BAA8B,CAAC,MAA2B,QAAoB;AAE9E,MAAA,uBAAuB,GAAG,GAAG;AACxB,WAAA;AAAA,EACT;AAGI,MAAA;AAKG,SAAAA;AAAAA,IACL,OAAO,EAAE,KAAK,SAAS,EAAE,UAAU;AAKjC,YAAM,WAAW,MAAMC,mBAAY,OAAOC,cAAa;AACrD,YAAI,CAACA,aAAY,CAACA,WAAU,cAAcA,WAAU,QAAQ;AACnDA,iBAAAA;AAAAA,QACT;AAGA,YAAI,CAAC,eAAe;AAClB,0BAAgB,MAAM;QACxB;AAGA,cAAM,WAAWA,UAAS;AAC1B,YAAI,YAAY,OAAO,aAAa,YAAY,CAAC,SAAS,QAAQ;AAChEA,oBAAS,SAAS,SAAS;AAAA,QAC7B;AAEA,eAAO,EAAE,GAAGA,WAAU,QAAQ,cAAc;AAAA,SAC3C,KAAY;AAGf,UAAI,KAAK,QAAQ;AAAA,IACnB;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,GAAG,GAAG,UAAU,OAAO,SAAS,KAAK,MAAM,EAAE;AAAA,IACvE;AAAA,EAAA;AAEJ;"}
@@ -0,0 +1,10 @@
1
+ import { 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,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,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"}