@strapi/core 0.0.0-experimental.e14656d3b8681880212c13260b9a2b340c182f2d → 0.0.0-experimental.e21fe90bf2ab9906267ea6e6ca620bdcc729906c

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 (730) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +427 -403
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +426 -402
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/compile.js +23 -14
  7. package/dist/compile.js.map +1 -1
  8. package/dist/compile.mjs +22 -14
  9. package/dist/compile.mjs.map +1 -1
  10. package/dist/configuration/config-loader.js +110 -97
  11. package/dist/configuration/config-loader.js.map +1 -1
  12. package/dist/configuration/config-loader.mjs +109 -96
  13. package/dist/configuration/config-loader.mjs.map +1 -1
  14. package/dist/configuration/get-dirs.js +31 -29
  15. package/dist/configuration/get-dirs.js.map +1 -1
  16. package/dist/configuration/get-dirs.mjs +30 -30
  17. package/dist/configuration/get-dirs.mjs.map +1 -1
  18. package/dist/configuration/index.d.ts.map +1 -1
  19. package/dist/configuration/index.js +84 -73
  20. package/dist/configuration/index.js.map +1 -1
  21. package/dist/configuration/index.mjs +83 -69
  22. package/dist/configuration/index.mjs.map +1 -1
  23. package/dist/configuration/urls.d.ts.map +1 -1
  24. package/dist/configuration/urls.js +74 -61
  25. package/dist/configuration/urls.js.map +1 -1
  26. package/dist/configuration/urls.mjs +73 -62
  27. package/dist/configuration/urls.mjs.map +1 -1
  28. package/dist/container.js +27 -23
  29. package/dist/container.js.map +1 -1
  30. package/dist/container.mjs +26 -24
  31. package/dist/container.mjs.map +1 -1
  32. package/dist/core-api/controller/collection-type.js +77 -76
  33. package/dist/core-api/controller/collection-type.js.map +1 -1
  34. package/dist/core-api/controller/collection-type.mjs +76 -77
  35. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  36. package/dist/core-api/controller/index.js +63 -48
  37. package/dist/core-api/controller/index.js.map +1 -1
  38. package/dist/core-api/controller/index.mjs +62 -49
  39. package/dist/core-api/controller/index.mjs.map +1 -1
  40. package/dist/core-api/controller/single-type.js +41 -40
  41. package/dist/core-api/controller/single-type.js.map +1 -1
  42. package/dist/core-api/controller/single-type.mjs +40 -41
  43. package/dist/core-api/controller/single-type.mjs.map +1 -1
  44. package/dist/core-api/controller/transform.js +72 -63
  45. package/dist/core-api/controller/transform.js.map +1 -1
  46. package/dist/core-api/controller/transform.mjs +71 -64
  47. package/dist/core-api/controller/transform.mjs.map +1 -1
  48. package/dist/core-api/routes/index.js +64 -62
  49. package/dist/core-api/routes/index.js.map +1 -1
  50. package/dist/core-api/routes/index.mjs +62 -62
  51. package/dist/core-api/routes/index.mjs.map +1 -1
  52. package/dist/core-api/service/collection-type.d.ts +2 -2
  53. package/dist/core-api/service/collection-type.js +73 -60
  54. package/dist/core-api/service/collection-type.js.map +1 -1
  55. package/dist/core-api/service/collection-type.mjs +72 -62
  56. package/dist/core-api/service/collection-type.mjs.map +1 -1
  57. package/dist/core-api/service/core-service.js +9 -8
  58. package/dist/core-api/service/core-service.js.map +1 -1
  59. package/dist/core-api/service/core-service.mjs +8 -9
  60. package/dist/core-api/service/core-service.mjs.map +1 -1
  61. package/dist/core-api/service/index.js +13 -13
  62. package/dist/core-api/service/index.js.map +1 -1
  63. package/dist/core-api/service/index.mjs +12 -14
  64. package/dist/core-api/service/index.mjs.map +1 -1
  65. package/dist/core-api/service/pagination.js +69 -43
  66. package/dist/core-api/service/pagination.js.map +1 -1
  67. package/dist/core-api/service/pagination.mjs +68 -47
  68. package/dist/core-api/service/pagination.mjs.map +1 -1
  69. package/dist/core-api/service/single-type.js +43 -39
  70. package/dist/core-api/service/single-type.js.map +1 -1
  71. package/dist/core-api/service/single-type.mjs +42 -41
  72. package/dist/core-api/service/single-type.mjs.map +1 -1
  73. package/dist/domain/content-type/index.js +95 -100
  74. package/dist/domain/content-type/index.js.map +1 -1
  75. package/dist/domain/content-type/index.mjs +94 -100
  76. package/dist/domain/content-type/index.mjs.map +1 -1
  77. package/dist/domain/content-type/validator.js +84 -69
  78. package/dist/domain/content-type/validator.js.map +1 -1
  79. package/dist/domain/content-type/validator.mjs +83 -68
  80. package/dist/domain/content-type/validator.mjs.map +1 -1
  81. package/dist/domain/module/index.js +109 -100
  82. package/dist/domain/module/index.js.map +1 -1
  83. package/dist/domain/module/index.mjs +108 -99
  84. package/dist/domain/module/index.mjs.map +1 -1
  85. package/dist/domain/module/validation.js +25 -20
  86. package/dist/domain/module/validation.js.map +1 -1
  87. package/dist/domain/module/validation.mjs +24 -21
  88. package/dist/domain/module/validation.mjs.map +1 -1
  89. package/dist/ee/index.d.ts +1 -0
  90. package/dist/ee/index.d.ts.map +1 -1
  91. package/dist/ee/index.js +171 -132
  92. package/dist/ee/index.js.map +1 -1
  93. package/dist/ee/index.mjs +170 -134
  94. package/dist/ee/index.mjs.map +1 -1
  95. package/dist/ee/license.d.ts.map +1 -1
  96. package/dist/ee/license.js +99 -75
  97. package/dist/ee/license.js.map +1 -1
  98. package/dist/ee/license.mjs +98 -76
  99. package/dist/ee/license.mjs.map +1 -1
  100. package/dist/factories.js +72 -67
  101. package/dist/factories.js.map +1 -1
  102. package/dist/factories.mjs +71 -71
  103. package/dist/factories.mjs.map +1 -1
  104. package/dist/index.js +29 -26
  105. package/dist/index.js.map +1 -1
  106. package/dist/index.mjs +29 -29
  107. package/dist/index.mjs.map +1 -1
  108. package/dist/loaders/admin.d.ts.map +1 -1
  109. package/dist/loaders/admin.js +21 -20
  110. package/dist/loaders/admin.js.map +1 -1
  111. package/dist/loaders/admin.mjs +20 -20
  112. package/dist/loaders/admin.mjs.map +1 -1
  113. package/dist/loaders/apis.js +143 -120
  114. package/dist/loaders/apis.js.map +1 -1
  115. package/dist/loaders/apis.mjs +142 -119
  116. package/dist/loaders/apis.mjs.map +1 -1
  117. package/dist/loaders/components.js +33 -34
  118. package/dist/loaders/components.js.map +1 -1
  119. package/dist/loaders/components.mjs +32 -34
  120. package/dist/loaders/components.mjs.map +1 -1
  121. package/dist/loaders/index.js +22 -20
  122. package/dist/loaders/index.js.map +1 -1
  123. package/dist/loaders/index.mjs +21 -21
  124. package/dist/loaders/index.mjs.map +1 -1
  125. package/dist/loaders/middlewares.js +29 -25
  126. package/dist/loaders/middlewares.js.map +1 -1
  127. package/dist/loaders/middlewares.mjs +28 -25
  128. package/dist/loaders/middlewares.mjs.map +1 -1
  129. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  130. package/dist/loaders/plugins/get-enabled-plugins.js +125 -127
  131. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  132. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -104
  133. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  134. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  135. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  136. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  137. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  138. package/dist/loaders/plugins/index.d.ts.map +1 -1
  139. package/dist/loaders/plugins/index.js +141 -104
  140. package/dist/loaders/plugins/index.js.map +1 -1
  141. package/dist/loaders/plugins/index.mjs +121 -104
  142. package/dist/loaders/plugins/index.mjs.map +1 -1
  143. package/dist/loaders/policies.js +24 -20
  144. package/dist/loaders/policies.js.map +1 -1
  145. package/dist/loaders/policies.mjs +23 -20
  146. package/dist/loaders/policies.mjs.map +1 -1
  147. package/dist/loaders/sanitizers.js +10 -4
  148. package/dist/loaders/sanitizers.js.map +1 -1
  149. package/dist/loaders/sanitizers.mjs +9 -6
  150. package/dist/loaders/sanitizers.mjs.map +1 -1
  151. package/dist/loaders/src-index.js +35 -27
  152. package/dist/loaders/src-index.js.map +1 -1
  153. package/dist/loaders/src-index.mjs +34 -29
  154. package/dist/loaders/src-index.mjs.map +1 -1
  155. package/dist/loaders/validators.js +9 -4
  156. package/dist/loaders/validators.js.map +1 -1
  157. package/dist/loaders/validators.mjs +8 -6
  158. package/dist/loaders/validators.mjs.map +1 -1
  159. package/dist/middlewares/body.d.ts.map +1 -1
  160. package/dist/middlewares/body.js +58 -54
  161. package/dist/middlewares/body.js.map +1 -1
  162. package/dist/middlewares/body.mjs +57 -51
  163. package/dist/middlewares/body.mjs.map +1 -1
  164. package/dist/middlewares/compression.js +6 -6
  165. package/dist/middlewares/compression.js.map +1 -1
  166. package/dist/middlewares/compression.mjs +5 -5
  167. package/dist/middlewares/compression.mjs.map +1 -1
  168. package/dist/middlewares/cors.js +59 -48
  169. package/dist/middlewares/cors.js.map +1 -1
  170. package/dist/middlewares/cors.mjs +58 -47
  171. package/dist/middlewares/cors.mjs.map +1 -1
  172. package/dist/middlewares/errors.js +32 -30
  173. package/dist/middlewares/errors.js.map +1 -1
  174. package/dist/middlewares/errors.mjs +31 -31
  175. package/dist/middlewares/errors.mjs.map +1 -1
  176. package/dist/middlewares/favicon.js +27 -17
  177. package/dist/middlewares/favicon.js.map +1 -1
  178. package/dist/middlewares/favicon.mjs +26 -16
  179. package/dist/middlewares/favicon.mjs.map +1 -1
  180. package/dist/middlewares/index.js +32 -30
  181. package/dist/middlewares/index.js.map +1 -1
  182. package/dist/middlewares/index.mjs +31 -31
  183. package/dist/middlewares/index.mjs.map +1 -1
  184. package/dist/middlewares/ip.js +6 -6
  185. package/dist/middlewares/ip.js.map +1 -1
  186. package/dist/middlewares/ip.mjs +5 -5
  187. package/dist/middlewares/ip.mjs.map +1 -1
  188. package/dist/middlewares/logger.js +10 -9
  189. package/dist/middlewares/logger.js.map +1 -1
  190. package/dist/middlewares/logger.mjs +9 -10
  191. package/dist/middlewares/logger.mjs.map +1 -1
  192. package/dist/middlewares/powered-by.js +13 -9
  193. package/dist/middlewares/powered-by.js.map +1 -1
  194. package/dist/middlewares/powered-by.mjs +12 -10
  195. package/dist/middlewares/powered-by.mjs.map +1 -1
  196. package/dist/middlewares/public.js +33 -29
  197. package/dist/middlewares/public.js.map +1 -1
  198. package/dist/middlewares/public.mjs +32 -28
  199. package/dist/middlewares/public.mjs.map +1 -1
  200. package/dist/middlewares/query.js +35 -32
  201. package/dist/middlewares/query.js.map +1 -1
  202. package/dist/middlewares/query.mjs +34 -31
  203. package/dist/middlewares/query.mjs.map +1 -1
  204. package/dist/middlewares/response-time.js +10 -9
  205. package/dist/middlewares/response-time.js.map +1 -1
  206. package/dist/middlewares/response-time.mjs +9 -10
  207. package/dist/middlewares/response-time.mjs.map +1 -1
  208. package/dist/middlewares/responses.js +14 -12
  209. package/dist/middlewares/responses.js.map +1 -1
  210. package/dist/middlewares/responses.mjs +13 -13
  211. package/dist/middlewares/responses.mjs.map +1 -1
  212. package/dist/middlewares/security.d.ts.map +1 -1
  213. package/dist/middlewares/security.js +109 -71
  214. package/dist/middlewares/security.js.map +1 -1
  215. package/dist/middlewares/security.mjs +108 -70
  216. package/dist/middlewares/security.mjs.map +1 -1
  217. package/dist/middlewares/session.js +26 -25
  218. package/dist/middlewares/session.js.map +1 -1
  219. package/dist/middlewares/session.mjs +25 -24
  220. package/dist/middlewares/session.mjs.map +1 -1
  221. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +14 -11
  222. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  223. package/dist/migrations/database/5.0.0-discard-drafts.js +153 -35
  224. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  225. package/dist/migrations/database/5.0.0-discard-drafts.mjs +152 -37
  226. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  227. package/dist/migrations/draft-publish.d.ts +2 -2
  228. package/dist/migrations/draft-publish.d.ts.map +1 -1
  229. package/dist/migrations/draft-publish.js +61 -34
  230. package/dist/migrations/draft-publish.js.map +1 -1
  231. package/dist/migrations/draft-publish.mjs +60 -36
  232. package/dist/migrations/draft-publish.mjs.map +1 -1
  233. package/dist/migrations/i18n.d.ts +5 -0
  234. package/dist/migrations/i18n.d.ts.map +1 -0
  235. package/dist/migrations/i18n.js +71 -0
  236. package/dist/migrations/i18n.js.map +1 -0
  237. package/dist/migrations/i18n.mjs +68 -0
  238. package/dist/migrations/i18n.mjs.map +1 -0
  239. package/dist/migrations/index.d.ts +5 -0
  240. package/dist/migrations/index.d.ts.map +1 -0
  241. package/dist/migrations/index.js +29 -0
  242. package/dist/migrations/index.js.map +1 -0
  243. package/dist/migrations/index.mjs +26 -0
  244. package/dist/migrations/index.mjs.map +1 -0
  245. package/dist/package.json.js +182 -0
  246. package/dist/package.json.js.map +1 -0
  247. package/dist/package.json.mjs +159 -0
  248. package/dist/package.json.mjs.map +1 -0
  249. package/dist/providers/admin.d.ts.map +1 -1
  250. package/dist/providers/admin.js +27 -17
  251. package/dist/providers/admin.js.map +1 -1
  252. package/dist/providers/admin.mjs +26 -19
  253. package/dist/providers/admin.mjs.map +1 -1
  254. package/dist/providers/coreStore.js +13 -8
  255. package/dist/providers/coreStore.js.map +1 -1
  256. package/dist/providers/coreStore.mjs +12 -10
  257. package/dist/providers/coreStore.mjs.map +1 -1
  258. package/dist/providers/cron.js +19 -16
  259. package/dist/providers/cron.js.map +1 -1
  260. package/dist/providers/cron.mjs +18 -18
  261. package/dist/providers/cron.mjs.map +1 -1
  262. package/dist/providers/index.js +18 -9
  263. package/dist/providers/index.js.map +1 -1
  264. package/dist/providers/index.mjs +17 -10
  265. package/dist/providers/index.mjs.map +1 -1
  266. package/dist/providers/provider.js +4 -3
  267. package/dist/providers/provider.js.map +1 -1
  268. package/dist/providers/provider.mjs +3 -4
  269. package/dist/providers/provider.mjs.map +1 -1
  270. package/dist/providers/registries.js +37 -32
  271. package/dist/providers/registries.js.map +1 -1
  272. package/dist/providers/registries.mjs +36 -34
  273. package/dist/providers/registries.mjs.map +1 -1
  274. package/dist/providers/telemetry.js +19 -16
  275. package/dist/providers/telemetry.js.map +1 -1
  276. package/dist/providers/telemetry.mjs +18 -18
  277. package/dist/providers/telemetry.mjs.map +1 -1
  278. package/dist/providers/webhooks.js +28 -26
  279. package/dist/providers/webhooks.js.map +1 -1
  280. package/dist/providers/webhooks.mjs +27 -28
  281. package/dist/providers/webhooks.mjs.map +1 -1
  282. package/dist/registries/apis.js +23 -20
  283. package/dist/registries/apis.js.map +1 -1
  284. package/dist/registries/apis.mjs +22 -22
  285. package/dist/registries/apis.mjs.map +1 -1
  286. package/dist/registries/components.js +35 -37
  287. package/dist/registries/components.js.map +1 -1
  288. package/dist/registries/components.mjs +34 -39
  289. package/dist/registries/components.mjs.map +1 -1
  290. package/dist/registries/content-types.js +54 -59
  291. package/dist/registries/content-types.js.map +1 -1
  292. package/dist/registries/content-types.mjs +53 -61
  293. package/dist/registries/content-types.mjs.map +1 -1
  294. package/dist/registries/controllers.js +70 -71
  295. package/dist/registries/controllers.js.map +1 -1
  296. package/dist/registries/controllers.mjs +69 -73
  297. package/dist/registries/controllers.mjs.map +1 -1
  298. package/dist/registries/custom-fields.js +75 -65
  299. package/dist/registries/custom-fields.js.map +1 -1
  300. package/dist/registries/custom-fields.mjs +74 -67
  301. package/dist/registries/custom-fields.mjs.map +1 -1
  302. package/dist/registries/hooks.js +46 -49
  303. package/dist/registries/hooks.js.map +1 -1
  304. package/dist/registries/hooks.mjs +45 -51
  305. package/dist/registries/hooks.mjs.map +1 -1
  306. package/dist/registries/middlewares.js +49 -51
  307. package/dist/registries/middlewares.js.map +1 -1
  308. package/dist/registries/middlewares.mjs +48 -53
  309. package/dist/registries/middlewares.mjs.map +1 -1
  310. package/dist/registries/models.js +14 -13
  311. package/dist/registries/models.js.map +1 -1
  312. package/dist/registries/models.mjs +13 -14
  313. package/dist/registries/models.mjs.map +1 -1
  314. package/dist/registries/modules.js +39 -36
  315. package/dist/registries/modules.js.map +1 -1
  316. package/dist/registries/modules.mjs +38 -38
  317. package/dist/registries/modules.mjs.map +1 -1
  318. package/dist/registries/namespace.js +21 -20
  319. package/dist/registries/namespace.js.map +1 -1
  320. package/dist/registries/namespace.mjs +20 -23
  321. package/dist/registries/namespace.mjs.map +1 -1
  322. package/dist/registries/plugins.js +23 -20
  323. package/dist/registries/plugins.js.map +1 -1
  324. package/dist/registries/plugins.mjs +22 -22
  325. package/dist/registries/plugins.mjs.map +1 -1
  326. package/dist/registries/policies.js +103 -96
  327. package/dist/registries/policies.js.map +1 -1
  328. package/dist/registries/policies.mjs +102 -98
  329. package/dist/registries/policies.mjs.map +1 -1
  330. package/dist/registries/sanitizers.js +23 -22
  331. package/dist/registries/sanitizers.js.map +1 -1
  332. package/dist/registries/sanitizers.mjs +22 -22
  333. package/dist/registries/sanitizers.mjs.map +1 -1
  334. package/dist/registries/services.js +71 -71
  335. package/dist/registries/services.js.map +1 -1
  336. package/dist/registries/services.mjs +70 -73
  337. package/dist/registries/services.mjs.map +1 -1
  338. package/dist/registries/validators.js +23 -22
  339. package/dist/registries/validators.js.map +1 -1
  340. package/dist/registries/validators.mjs +22 -22
  341. package/dist/registries/validators.mjs.map +1 -1
  342. package/dist/services/auth/index.js +74 -74
  343. package/dist/services/auth/index.js.map +1 -1
  344. package/dist/services/auth/index.mjs +73 -74
  345. package/dist/services/auth/index.mjs.map +1 -1
  346. package/dist/services/config.js +47 -43
  347. package/dist/services/config.js.map +1 -1
  348. package/dist/services/config.mjs +46 -44
  349. package/dist/services/config.mjs.map +1 -1
  350. package/dist/services/content-api/index.d.ts +6 -2
  351. package/dist/services/content-api/index.d.ts.map +1 -1
  352. package/dist/services/content-api/index.js +80 -79
  353. package/dist/services/content-api/index.js.map +1 -1
  354. package/dist/services/content-api/index.mjs +79 -79
  355. package/dist/services/content-api/index.mjs.map +1 -1
  356. package/dist/services/content-api/permissions/engine.js +8 -5
  357. package/dist/services/content-api/permissions/engine.js.map +1 -1
  358. package/dist/services/content-api/permissions/engine.mjs +7 -5
  359. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  360. package/dist/services/content-api/permissions/index.d.ts +6 -2
  361. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  362. package/dist/services/content-api/permissions/index.js +101 -81
  363. package/dist/services/content-api/permissions/index.js.map +1 -1
  364. package/dist/services/content-api/permissions/index.mjs +100 -81
  365. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  366. package/dist/services/content-api/permissions/providers/action.d.ts +3 -1
  367. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  368. package/dist/services/content-api/permissions/providers/action.js +17 -14
  369. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  370. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  371. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  372. package/dist/services/content-api/permissions/providers/condition.d.ts +3 -1
  373. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  374. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  375. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  376. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  377. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  378. package/dist/services/core-store.js +115 -95
  379. package/dist/services/core-store.js.map +1 -1
  380. package/dist/services/core-store.mjs +114 -97
  381. package/dist/services/core-store.mjs.map +1 -1
  382. package/dist/services/cron.d.ts +3 -3
  383. package/dist/services/cron.d.ts.map +1 -1
  384. package/dist/services/cron.js +74 -60
  385. package/dist/services/cron.js.map +1 -1
  386. package/dist/services/cron.mjs +73 -62
  387. package/dist/services/cron.mjs.map +1 -1
  388. package/dist/services/custom-fields.js +9 -7
  389. package/dist/services/custom-fields.js.map +1 -1
  390. package/dist/services/custom-fields.mjs +8 -9
  391. package/dist/services/custom-fields.mjs.map +1 -1
  392. package/dist/services/document-service/attributes/index.js +23 -18
  393. package/dist/services/document-service/attributes/index.js.map +1 -1
  394. package/dist/services/document-service/attributes/index.mjs +22 -19
  395. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  396. package/dist/services/document-service/attributes/transforms.js +16 -15
  397. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  398. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  399. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  400. package/dist/services/document-service/common.d.ts +1 -1
  401. package/dist/services/document-service/common.d.ts.map +1 -1
  402. package/dist/services/document-service/common.js +5 -4
  403. package/dist/services/document-service/common.js.map +1 -1
  404. package/dist/services/document-service/common.mjs +4 -5
  405. package/dist/services/document-service/common.mjs.map +1 -1
  406. package/dist/services/document-service/components.d.ts.map +1 -1
  407. package/dist/services/document-service/components.js +255 -257
  408. package/dist/services/document-service/components.js.map +1 -1
  409. package/dist/services/document-service/components.mjs +254 -262
  410. package/dist/services/document-service/components.mjs.map +1 -1
  411. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  412. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  413. package/dist/services/document-service/draft-and-publish.js +88 -48
  414. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  415. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  416. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  417. package/dist/services/document-service/entries.d.ts +2 -2
  418. package/dist/services/document-service/entries.d.ts.map +1 -1
  419. package/dist/services/document-service/entries.js +109 -92
  420. package/dist/services/document-service/entries.js.map +1 -1
  421. package/dist/services/document-service/entries.mjs +108 -93
  422. package/dist/services/document-service/entries.mjs.map +1 -1
  423. package/dist/services/document-service/events.d.ts +1 -1
  424. package/dist/services/document-service/events.d.ts.map +1 -1
  425. package/dist/services/document-service/events.js +52 -40
  426. package/dist/services/document-service/events.js.map +1 -1
  427. package/dist/services/document-service/events.mjs +51 -41
  428. package/dist/services/document-service/events.mjs.map +1 -1
  429. package/dist/services/document-service/index.d.ts +2 -1
  430. package/dist/services/document-service/index.d.ts.map +1 -1
  431. package/dist/services/document-service/index.js +53 -32
  432. package/dist/services/document-service/index.js.map +1 -1
  433. package/dist/services/document-service/index.mjs +52 -33
  434. package/dist/services/document-service/index.mjs.map +1 -1
  435. package/dist/services/document-service/internationalization.js +62 -46
  436. package/dist/services/document-service/internationalization.js.map +1 -1
  437. package/dist/services/document-service/internationalization.mjs +61 -50
  438. package/dist/services/document-service/internationalization.mjs.map +1 -1
  439. package/dist/services/document-service/middlewares/errors.js +23 -19
  440. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  441. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  442. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  443. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  444. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  445. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  446. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  447. package/dist/services/document-service/params.js +11 -5
  448. package/dist/services/document-service/params.js.map +1 -1
  449. package/dist/services/document-service/params.mjs +10 -6
  450. package/dist/services/document-service/params.mjs.map +1 -1
  451. package/dist/services/document-service/repository.d.ts.map +1 -1
  452. package/dist/services/document-service/repository.js +355 -269
  453. package/dist/services/document-service/repository.js.map +1 -1
  454. package/dist/services/document-service/repository.mjs +354 -270
  455. package/dist/services/document-service/repository.mjs.map +1 -1
  456. package/dist/services/document-service/transform/data.js +22 -12
  457. package/dist/services/document-service/transform/data.js.map +1 -1
  458. package/dist/services/document-service/transform/data.mjs +21 -13
  459. package/dist/services/document-service/transform/data.mjs.map +1 -1
  460. package/dist/services/document-service/transform/fields.js +26 -17
  461. package/dist/services/document-service/transform/fields.js.map +1 -1
  462. package/dist/services/document-service/transform/fields.mjs +25 -18
  463. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  464. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  465. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  466. package/dist/services/document-service/transform/id-map.js +116 -69
  467. package/dist/services/document-service/transform/id-map.js.map +1 -1
  468. package/dist/services/document-service/transform/id-map.mjs +115 -70
  469. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  470. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  471. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  472. package/dist/services/document-service/transform/id-transform.js +37 -29
  473. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  474. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  475. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  476. package/dist/services/document-service/transform/populate.js +23 -18
  477. package/dist/services/document-service/transform/populate.js.map +1 -1
  478. package/dist/services/document-service/transform/populate.mjs +22 -19
  479. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  480. package/dist/services/document-service/transform/query.js +11 -6
  481. package/dist/services/document-service/transform/query.js.map +1 -1
  482. package/dist/services/document-service/transform/query.mjs +10 -7
  483. package/dist/services/document-service/transform/query.mjs.map +1 -1
  484. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  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 +71 -48
  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 +70 -49
  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.map +1 -1
  491. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  492. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  493. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  494. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  495. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  496. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  497. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  498. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  499. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  500. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  501. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  502. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  503. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  504. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  505. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  506. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  507. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  508. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  509. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  510. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  511. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  512. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  513. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  514. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  515. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  516. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  517. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  518. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  519. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  520. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  521. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  522. package/dist/services/document-service/utils/populate.d.ts +1 -1
  523. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  524. package/dist/services/document-service/utils/populate.js +67 -41
  525. package/dist/services/document-service/utils/populate.js.map +1 -1
  526. package/dist/services/document-service/utils/populate.mjs +66 -42
  527. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  528. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  529. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  530. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  531. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  532. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  533. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  534. package/dist/services/entity-service/index.js +230 -161
  535. package/dist/services/entity-service/index.js.map +1 -1
  536. package/dist/services/entity-service/index.mjs +229 -160
  537. package/dist/services/entity-service/index.mjs.map +1 -1
  538. package/dist/services/entity-validator/blocks-validator.js +135 -103
  539. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  540. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  541. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  542. package/dist/services/entity-validator/index.d.ts +1 -1
  543. package/dist/services/entity-validator/index.d.ts.map +1 -1
  544. package/dist/services/entity-validator/index.js +362 -363
  545. package/dist/services/entity-validator/index.js.map +1 -1
  546. package/dist/services/entity-validator/index.mjs +358 -360
  547. package/dist/services/entity-validator/index.mjs.map +1 -1
  548. package/dist/services/entity-validator/validators.js +268 -210
  549. package/dist/services/entity-validator/validators.js.map +1 -1
  550. package/dist/services/entity-validator/validators.mjs +267 -216
  551. package/dist/services/entity-validator/validators.mjs.map +1 -1
  552. package/dist/services/errors.js +65 -65
  553. package/dist/services/errors.js.map +1 -1
  554. package/dist/services/errors.mjs +64 -66
  555. package/dist/services/errors.mjs.map +1 -1
  556. package/dist/services/event-hub.js +82 -69
  557. package/dist/services/event-hub.js.map +1 -1
  558. package/dist/services/event-hub.mjs +81 -71
  559. package/dist/services/event-hub.mjs.map +1 -1
  560. package/dist/services/features.js +19 -14
  561. package/dist/services/features.js.map +1 -1
  562. package/dist/services/features.mjs +18 -15
  563. package/dist/services/features.mjs.map +1 -1
  564. package/dist/services/fs.js +41 -40
  565. package/dist/services/fs.js.map +1 -1
  566. package/dist/services/fs.mjs +40 -39
  567. package/dist/services/fs.mjs.map +1 -1
  568. package/dist/services/metrics/admin-user-hash.js +13 -11
  569. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  570. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  571. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  572. package/dist/services/metrics/index.js +46 -40
  573. package/dist/services/metrics/index.js.map +1 -1
  574. package/dist/services/metrics/index.mjs +45 -42
  575. package/dist/services/metrics/index.mjs.map +1 -1
  576. package/dist/services/metrics/is-truthy.js +13 -6
  577. package/dist/services/metrics/is-truthy.js.map +1 -1
  578. package/dist/services/metrics/is-truthy.mjs +12 -6
  579. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  580. package/dist/services/metrics/middleware.d.ts.map +1 -1
  581. package/dist/services/metrics/middleware.js +37 -22
  582. package/dist/services/metrics/middleware.js.map +1 -1
  583. package/dist/services/metrics/middleware.mjs +36 -24
  584. package/dist/services/metrics/middleware.mjs.map +1 -1
  585. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  586. package/dist/services/metrics/rate-limiter.js +24 -19
  587. package/dist/services/metrics/rate-limiter.js.map +1 -1
  588. package/dist/services/metrics/rate-limiter.mjs +23 -21
  589. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  590. package/dist/services/metrics/sender.js +78 -69
  591. package/dist/services/metrics/sender.js.map +1 -1
  592. package/dist/services/metrics/sender.mjs +77 -64
  593. package/dist/services/metrics/sender.mjs.map +1 -1
  594. package/dist/services/query-params.js +13 -10
  595. package/dist/services/query-params.js.map +1 -1
  596. package/dist/services/query-params.mjs +12 -12
  597. package/dist/services/query-params.mjs.map +1 -1
  598. package/dist/services/reloader.js +35 -32
  599. package/dist/services/reloader.js.map +1 -1
  600. package/dist/services/reloader.mjs +34 -33
  601. package/dist/services/reloader.mjs.map +1 -1
  602. package/dist/services/request-context.js +11 -8
  603. package/dist/services/request-context.js.map +1 -1
  604. package/dist/services/request-context.mjs +10 -10
  605. package/dist/services/request-context.mjs.map +1 -1
  606. package/dist/services/server/admin-api.js +11 -10
  607. package/dist/services/server/admin-api.js.map +1 -1
  608. package/dist/services/server/admin-api.mjs +10 -11
  609. package/dist/services/server/admin-api.mjs.map +1 -1
  610. package/dist/services/server/api.js +33 -27
  611. package/dist/services/server/api.js.map +1 -1
  612. package/dist/services/server/api.mjs +32 -26
  613. package/dist/services/server/api.mjs.map +1 -1
  614. package/dist/services/server/compose-endpoint.js +116 -105
  615. package/dist/services/server/compose-endpoint.js.map +1 -1
  616. package/dist/services/server/compose-endpoint.mjs +115 -105
  617. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  618. package/dist/services/server/content-api.js +11 -9
  619. package/dist/services/server/content-api.js.map +1 -1
  620. package/dist/services/server/content-api.mjs +10 -10
  621. package/dist/services/server/content-api.mjs.map +1 -1
  622. package/dist/services/server/http-server.js +48 -44
  623. package/dist/services/server/http-server.js.map +1 -1
  624. package/dist/services/server/http-server.mjs +47 -43
  625. package/dist/services/server/http-server.mjs.map +1 -1
  626. package/dist/services/server/index.js +85 -82
  627. package/dist/services/server/index.js.map +1 -1
  628. package/dist/services/server/index.mjs +84 -81
  629. package/dist/services/server/index.mjs.map +1 -1
  630. package/dist/services/server/koa.js +49 -47
  631. package/dist/services/server/koa.js.map +1 -1
  632. package/dist/services/server/koa.mjs +48 -44
  633. package/dist/services/server/koa.mjs.map +1 -1
  634. package/dist/services/server/middleware.js +86 -82
  635. package/dist/services/server/middleware.js.map +1 -1
  636. package/dist/services/server/middleware.mjs +85 -82
  637. package/dist/services/server/middleware.mjs.map +1 -1
  638. package/dist/services/server/policy.js +24 -17
  639. package/dist/services/server/policy.js.map +1 -1
  640. package/dist/services/server/policy.mjs +23 -18
  641. package/dist/services/server/policy.mjs.map +1 -1
  642. package/dist/services/server/register-middlewares.js +68 -61
  643. package/dist/services/server/register-middlewares.js.map +1 -1
  644. package/dist/services/server/register-middlewares.mjs +67 -63
  645. package/dist/services/server/register-middlewares.mjs.map +1 -1
  646. package/dist/services/server/register-routes.js +90 -67
  647. package/dist/services/server/register-routes.js.map +1 -1
  648. package/dist/services/server/register-routes.mjs +89 -67
  649. package/dist/services/server/register-routes.mjs.map +1 -1
  650. package/dist/services/server/routing.js +94 -81
  651. package/dist/services/server/routing.js.map +1 -1
  652. package/dist/services/server/routing.mjs +93 -81
  653. package/dist/services/server/routing.mjs.map +1 -1
  654. package/dist/services/utils/dynamic-zones.js +13 -14
  655. package/dist/services/utils/dynamic-zones.js.map +1 -1
  656. package/dist/services/utils/dynamic-zones.mjs +12 -16
  657. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  658. package/dist/services/webhook-runner.js +124 -122
  659. package/dist/services/webhook-runner.js.map +1 -1
  660. package/dist/services/webhook-runner.mjs +123 -121
  661. package/dist/services/webhook-runner.mjs.map +1 -1
  662. package/dist/services/webhook-store.js +132 -99
  663. package/dist/services/webhook-store.js.map +1 -1
  664. package/dist/services/webhook-store.mjs +131 -101
  665. package/dist/services/webhook-store.mjs.map +1 -1
  666. package/dist/services/worker-queue.js +44 -49
  667. package/dist/services/worker-queue.js.map +1 -1
  668. package/dist/services/worker-queue.mjs +43 -49
  669. package/dist/services/worker-queue.mjs.map +1 -1
  670. package/dist/utils/convert-custom-field-type.js +17 -20
  671. package/dist/utils/convert-custom-field-type.js.map +1 -1
  672. package/dist/utils/convert-custom-field-type.mjs +16 -21
  673. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  674. package/dist/utils/cron.js +64 -30
  675. package/dist/utils/cron.js.map +1 -1
  676. package/dist/utils/cron.mjs +63 -31
  677. package/dist/utils/cron.mjs.map +1 -1
  678. package/dist/utils/fetch.js +24 -18
  679. package/dist/utils/fetch.js.map +1 -1
  680. package/dist/utils/fetch.mjs +23 -19
  681. package/dist/utils/fetch.mjs.map +1 -1
  682. package/dist/utils/filepath-to-prop-path.js +20 -28
  683. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  684. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  685. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  686. package/dist/utils/is-initialized.js +21 -12
  687. package/dist/utils/is-initialized.js.map +1 -1
  688. package/dist/utils/is-initialized.mjs +20 -13
  689. package/dist/utils/is-initialized.mjs.map +1 -1
  690. package/dist/utils/lifecycles.js +6 -5
  691. package/dist/utils/lifecycles.js.map +1 -1
  692. package/dist/utils/lifecycles.mjs +5 -6
  693. package/dist/utils/lifecycles.mjs.map +1 -1
  694. package/dist/utils/load-config-file.js +40 -38
  695. package/dist/utils/load-config-file.js.map +1 -1
  696. package/dist/utils/load-config-file.mjs +39 -36
  697. package/dist/utils/load-config-file.mjs.map +1 -1
  698. package/dist/utils/load-files.js +40 -35
  699. package/dist/utils/load-files.js.map +1 -1
  700. package/dist/utils/load-files.mjs +39 -32
  701. package/dist/utils/load-files.mjs.map +1 -1
  702. package/dist/utils/open-browser.js +8 -8
  703. package/dist/utils/open-browser.js.map +1 -1
  704. package/dist/utils/open-browser.mjs +7 -7
  705. package/dist/utils/open-browser.mjs.map +1 -1
  706. package/dist/utils/resolve-working-dirs.js +23 -10
  707. package/dist/utils/resolve-working-dirs.js.map +1 -1
  708. package/dist/utils/resolve-working-dirs.mjs +22 -9
  709. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  710. package/dist/utils/signals.js +20 -14
  711. package/dist/utils/signals.js.map +1 -1
  712. package/dist/utils/signals.mjs +19 -15
  713. package/dist/utils/signals.mjs.map +1 -1
  714. package/dist/utils/startup-logger.d.ts.map +1 -1
  715. package/dist/utils/startup-logger.js +107 -78
  716. package/dist/utils/startup-logger.js.map +1 -1
  717. package/dist/utils/startup-logger.mjs +106 -75
  718. package/dist/utils/startup-logger.mjs.map +1 -1
  719. package/dist/utils/transform-content-types-to-models.d.ts +353 -21
  720. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  721. package/dist/utils/transform-content-types-to-models.js +350 -261
  722. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  723. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  724. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  725. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  726. package/dist/utils/update-notifier/index.js +68 -73
  727. package/dist/utils/update-notifier/index.js.map +1 -1
  728. package/dist/utils/update-notifier/index.mjs +67 -67
  729. package/dist/utils/update-notifier/index.mjs.map +1 -1
  730. package/package.json +30 -31
@@ -1 +1 @@
1
- {"version":3,"file":"data-ids.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/extract/data-ids.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAMrC,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;CAChC;AA8BD;;;GAGG;AACH,QAAA,MAAM,cAAc,UAAW,KAAK,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,UAAU,OAAO,qDAkC/E,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"data-ids.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/extract/data-ids.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAQrC,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;CAChC;AA8BD;;;GAGG;AACH,QAAA,MAAM,cAAc,UAAW,KAAK,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,UAAU,OAAO,qDA2C/E,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,57 +1,80 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const fp = require("lodash/fp");
4
- const i18n = require("../utils/i18n.js");
5
- const dp = require("../utils/dp.js");
6
- const mapRelation = require("../utils/map-relation.js");
7
- const addRelationDocId = fp.curry(
8
- (idMap, targetUid, source, relation) => {
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var strapiUtils = require('@strapi/utils');
5
+ var i18n = require('../utils/i18n.js');
6
+ var dp = require('../utils/dp.js');
7
+ var mapRelation = require('../utils/map-relation.js');
8
+
9
+ const { isPolymorphic } = strapiUtils.relations;
10
+ /**
11
+ * Load a relation documentId into the idMap.
12
+ */ const addRelationDocId = fp.curry((idMap, source, targetUid, relation)=>{
9
13
  const targetLocale = i18n.getRelationTargetLocale(relation, {
10
- targetUid,
11
- sourceUid: source.uid,
12
- sourceLocale: source.locale
14
+ targetUid,
15
+ sourceUid: source.uid,
16
+ sourceLocale: source.locale
13
17
  });
14
18
  const targetStatus = dp.getRelationTargetStatus(relation, {
15
- targetUid,
16
- sourceUid: source.uid,
17
- sourceStatus: source.status
19
+ targetUid,
20
+ sourceUid: source.uid,
21
+ sourceStatus: source.status
18
22
  });
19
- targetStatus.forEach((status) => {
20
- idMap.add({
21
- uid: targetUid,
22
- documentId: relation.documentId,
23
- locale: targetLocale,
24
- status
25
- });
23
+ targetStatus.forEach((status)=>{
24
+ idMap.add({
25
+ uid: targetUid,
26
+ documentId: relation.documentId,
27
+ locale: targetLocale,
28
+ status
29
+ });
26
30
  });
27
- }
28
- );
29
- const extractDataIds = (idMap, data, source) => {
30
- return mapRelation.traverseEntityRelations(
31
- async ({ attribute, value }) => {
32
- if (!attribute) {
33
- return;
34
- }
35
- const targetUid = attribute.target;
36
- const addDocId = addRelationDocId(idMap, targetUid, source);
37
- return mapRelation.mapRelation((relation) => {
38
- if (!relation || !relation.documentId) {
39
- return relation;
31
+ });
32
+ /**
33
+ * Iterate over all relations of a data object and extract all relational document ids.
34
+ * Those will later be transformed to entity ids.
35
+ */ const extractDataIds = (idMap, data, source)=>{
36
+ return mapRelation.traverseEntityRelations(async ({ attribute, value })=>{
37
+ if (!attribute) {
38
+ return;
40
39
  }
41
- addDocId(relation);
42
- const position = relation.position;
43
- if (position?.before) {
44
- addDocId({ ...relation, ...position, documentId: position.before });
45
- }
46
- if (position?.after) {
47
- addDocId({ ...relation, ...position, documentId: position.after });
48
- }
49
- return relation;
50
- }, value);
51
- },
52
- { schema: strapi.getModel(source.uid), getModel: strapi.getModel.bind(strapi) },
53
- data
54
- );
40
+ const isPolymorphicRelation = isPolymorphic(attribute);
41
+ const addDocId = addRelationDocId(idMap, source);
42
+ return mapRelation.mapRelation((relation)=>{
43
+ if (!relation || !relation.documentId) {
44
+ return relation;
45
+ }
46
+ // Regular relations will always target the same target
47
+ // if its a polymorphic relation we need to get it from the data itself
48
+ const targetUid = isPolymorphicRelation ? relation.__type : attribute.target;
49
+ addDocId(targetUid, relation);
50
+ // Handle positional arguments
51
+ const position = relation.position;
52
+ // The positional relation target uid can be different for polymorphic relations
53
+ let positionTargetUid = targetUid;
54
+ if (isPolymorphicRelation && position?.__type) {
55
+ positionTargetUid = position.__type;
56
+ }
57
+ if (position?.before) {
58
+ addDocId(positionTargetUid, {
59
+ ...relation,
60
+ ...position,
61
+ documentId: position.before
62
+ });
63
+ }
64
+ if (position?.after) {
65
+ addDocId(positionTargetUid, {
66
+ ...relation,
67
+ ...position,
68
+ documentId: position.after
69
+ });
70
+ }
71
+ return relation;
72
+ }, value);
73
+ }, {
74
+ schema: strapi.getModel(source.uid),
75
+ getModel: strapi.getModel.bind(strapi)
76
+ }, data);
55
77
  };
78
+
56
79
  exports.extractDataIds = extractDataIds;
57
80
  //# sourceMappingURL=data-ids.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-ids.js","sources":["../../../../../../src/services/document-service/transform/relations/extract/data-ids.ts"],"sourcesContent":["import { curry } from 'lodash/fp';\n\nimport { UID } from '@strapi/types';\n\nimport { IdMap } from '../../id-map';\nimport { getRelationTargetLocale } from '../utils/i18n';\nimport { getRelationTargetStatus } from '../utils/dp';\nimport { mapRelation, traverseEntityRelations } from '../utils/map-relation';\nimport { LongHandDocument } from '../utils/types';\n\ninterface Options {\n uid: UID.Schema;\n locale?: string | null;\n status?: 'draft' | 'published';\n}\n\n/**\n * Load a relation documentId into the idMap.\n */\nconst addRelationDocId = curry(\n (idMap: IdMap, targetUid: UID.Schema, source: Options, relation: LongHandDocument) => {\n const targetLocale = getRelationTargetLocale(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceLocale: source.locale,\n });\n\n const targetStatus = getRelationTargetStatus(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceStatus: source.status,\n });\n\n targetStatus.forEach((status) => {\n idMap.add({\n uid: targetUid,\n documentId: relation.documentId,\n locale: targetLocale,\n status,\n });\n });\n }\n);\n\n/**\n * Iterate over all relations of a data object and extract all relational document ids.\n * Those will later be transformed to entity ids.\n */\nconst extractDataIds = (idMap: IdMap, data: Record<string, any>, source: Options) => {\n return traverseEntityRelations(\n async ({ attribute, value }) => {\n if (!attribute) {\n return;\n }\n\n const targetUid = attribute.target!;\n const addDocId = addRelationDocId(idMap, targetUid, source);\n\n return mapRelation((relation) => {\n if (!relation || !relation.documentId) {\n return relation;\n }\n\n addDocId(relation);\n\n // Handle positional arguments\n const position = relation.position;\n\n if (position?.before) {\n addDocId({ ...relation, ...position, documentId: position.before });\n }\n\n if (position?.after) {\n addDocId({ ...relation, ...position, documentId: position.after });\n }\n\n return relation;\n }, value as any);\n },\n { schema: strapi.getModel(source.uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n\nexport { extractDataIds };\n"],"names":["curry","getRelationTargetLocale","getRelationTargetStatus","traverseEntityRelations","mapRelation"],"mappings":";;;;;;AAmBA,MAAM,mBAAmBA,GAAA;AAAA,EACvB,CAAC,OAAc,WAAuB,QAAiB,aAA+B;AAC9E,UAAA,eAAeC,6BAAwB,UAAU;AAAA,MACrD;AAAA,MACA,WAAW,OAAO;AAAA,MAClB,cAAc,OAAO;AAAA,IAAA,CACtB;AAEK,UAAA,eAAeC,2BAAwB,UAAU;AAAA,MACrD;AAAA,MACA,WAAW,OAAO;AAAA,MAClB,cAAc,OAAO;AAAA,IAAA,CACtB;AAEY,iBAAA,QAAQ,CAAC,WAAW;AAC/B,YAAM,IAAI;AAAA,QACR,KAAK;AAAA,QACL,YAAY,SAAS;AAAA,QACrB,QAAQ;AAAA,QACR;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EACH;AACF;AAMA,MAAM,iBAAiB,CAAC,OAAc,MAA2B,WAAoB;AAC5E,SAAAC,YAAA;AAAA,IACL,OAAO,EAAE,WAAW,YAAY;AAC9B,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAEA,YAAM,YAAY,UAAU;AAC5B,YAAM,WAAW,iBAAiB,OAAO,WAAW,MAAM;AAEnD,aAAAC,YAAAA,YAAY,CAAC,aAAa;AAC/B,YAAI,CAAC,YAAY,CAAC,SAAS,YAAY;AAC9B,iBAAA;AAAA,QACT;AAEA,iBAAS,QAAQ;AAGjB,cAAM,WAAW,SAAS;AAE1B,YAAI,UAAU,QAAQ;AACX,mBAAA,EAAE,GAAG,UAAU,GAAG,UAAU,YAAY,SAAS,QAAQ;AAAA,QACpE;AAEA,YAAI,UAAU,OAAO;AACV,mBAAA,EAAE,GAAG,UAAU,GAAG,UAAU,YAAY,SAAS,OAAO;AAAA,QACnE;AAEO,eAAA;AAAA,SACN,KAAY;AAAA,IACjB;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,OAAO,GAAG,GAAG,UAAU,OAAO,SAAS,KAAK,MAAM,EAAE;AAAA,IAC9E;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"data-ids.js","sources":["../../../../../../src/services/document-service/transform/relations/extract/data-ids.ts"],"sourcesContent":["import { curry } from 'lodash/fp';\n\nimport type { UID } from '@strapi/types';\nimport { relations } from '@strapi/utils';\nimport { IdMap } from '../../id-map';\nimport { getRelationTargetLocale } from '../utils/i18n';\nimport { getRelationTargetStatus } from '../utils/dp';\nimport { mapRelation, traverseEntityRelations } from '../utils/map-relation';\nimport { LongHandDocument } from '../utils/types';\n\nconst { isPolymorphic } = relations;\n\ninterface Options {\n uid: UID.Schema;\n locale?: string | null;\n status?: 'draft' | 'published';\n}\n\n/**\n * Load a relation documentId into the idMap.\n */\nconst addRelationDocId = curry(\n (idMap: IdMap, source: Options, targetUid: UID.Schema, relation: LongHandDocument) => {\n const targetLocale = getRelationTargetLocale(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceLocale: source.locale,\n });\n\n const targetStatus = getRelationTargetStatus(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceStatus: source.status,\n });\n\n targetStatus.forEach((status) => {\n idMap.add({\n uid: targetUid,\n documentId: relation.documentId,\n locale: targetLocale,\n status,\n });\n });\n }\n);\n\n/**\n * Iterate over all relations of a data object and extract all relational document ids.\n * Those will later be transformed to entity ids.\n */\nconst extractDataIds = (idMap: IdMap, data: Record<string, any>, source: Options) => {\n return traverseEntityRelations(\n async ({ attribute, value }) => {\n if (!attribute) {\n return;\n }\n const isPolymorphicRelation = isPolymorphic(attribute);\n const addDocId = addRelationDocId(idMap, source);\n\n return mapRelation((relation) => {\n if (!relation || !relation.documentId) {\n return relation;\n }\n\n // Regular relations will always target the same target\n // if its a polymorphic relation we need to get it from the data itself\n const targetUid = isPolymorphicRelation ? relation.__type : attribute.target;\n\n addDocId(targetUid, relation);\n\n // Handle positional arguments\n const position = relation.position;\n\n // The positional relation target uid can be different for polymorphic relations\n let positionTargetUid = targetUid;\n if (isPolymorphicRelation && position?.__type) {\n positionTargetUid = position.__type;\n }\n\n if (position?.before) {\n addDocId(positionTargetUid, { ...relation, ...position, documentId: position.before });\n }\n\n if (position?.after) {\n addDocId(positionTargetUid, { ...relation, ...position, documentId: position.after });\n }\n\n return relation;\n }, value as any);\n },\n { schema: strapi.getModel(source.uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n\nexport { extractDataIds };\n"],"names":["isPolymorphic","relations","addRelationDocId","curry","idMap","source","targetUid","relation","targetLocale","getRelationTargetLocale","sourceUid","uid","sourceLocale","locale","targetStatus","getRelationTargetStatus","sourceStatus","status","forEach","add","documentId","extractDataIds","data","traverseEntityRelations","attribute","value","isPolymorphicRelation","addDocId","mapRelation","__type","target","position","positionTargetUid","before","after","schema","strapi","getModel","bind"],"mappings":";;;;;;;;AAUA,MAAM,EAAEA,aAAa,EAAE,GAAGC,qBAAAA;AAQ1B;;AAEC,IACD,MAAMC,gBAAmBC,GAAAA,QAAAA,CACvB,CAACC,KAAAA,EAAcC,QAAiBC,SAAuBC,EAAAA,QAAAA,GAAAA;IACrD,MAAMC,YAAAA,GAAeC,6BAAwBF,QAAU,EAAA;AACrDD,QAAAA,SAAAA;AACAI,QAAAA,SAAAA,EAAWL,OAAOM,GAAG;AACrBC,QAAAA,YAAAA,EAAcP,OAAOQ;AACvB,KAAA,CAAA;IAEA,MAAMC,YAAAA,GAAeC,2BAAwBR,QAAU,EAAA;AACrDD,QAAAA,SAAAA;AACAI,QAAAA,SAAAA,EAAWL,OAAOM,GAAG;AACrBK,QAAAA,YAAAA,EAAcX,OAAOY;AACvB,KAAA,CAAA;IAEAH,YAAaI,CAAAA,OAAO,CAAC,CAACD,MAAAA,GAAAA;AACpBb,QAAAA,KAAAA,CAAMe,GAAG,CAAC;YACRR,GAAKL,EAAAA,SAAAA;AACLc,YAAAA,UAAAA,EAAYb,SAASa,UAAU;YAC/BP,MAAQL,EAAAA,YAAAA;AACRS,YAAAA;AACF,SAAA,CAAA;AACF,KAAA,CAAA;AACF,CAAA,CAAA;AAGF;;;AAGC,IACKI,MAAAA,cAAAA,GAAiB,CAACjB,KAAAA,EAAckB,IAA2BjB,EAAAA,MAAAA,GAAAA;AAC/D,IAAA,OAAOkB,oCACL,OAAO,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAA;AACzB,QAAA,IAAI,CAACD,SAAW,EAAA;AACd,YAAA;AACF;AACA,QAAA,MAAME,wBAAwB1B,aAAcwB,CAAAA,SAAAA,CAAAA;QAC5C,MAAMG,QAAAA,GAAWzB,iBAAiBE,KAAOC,EAAAA,MAAAA,CAAAA;AAEzC,QAAA,OAAOuB,wBAAY,CAACrB,QAAAA,GAAAA;AAClB,YAAA,IAAI,CAACA,QAAAA,IAAY,CAACA,QAAAA,CAASa,UAAU,EAAE;gBACrC,OAAOb,QAAAA;AACT;;;AAIA,YAAA,MAAMD,YAAYoB,qBAAwBnB,GAAAA,QAAAA,CAASsB,MAAM,GAAGL,UAAUM,MAAM;AAE5EH,YAAAA,QAAAA,CAASrB,SAAWC,EAAAA,QAAAA,CAAAA;;YAGpB,MAAMwB,QAAAA,GAAWxB,SAASwB,QAAQ;;AAGlC,YAAA,IAAIC,iBAAoB1B,GAAAA,SAAAA;YACxB,IAAIoB,qBAAAA,IAAyBK,UAAUF,MAAQ,EAAA;AAC7CG,gBAAAA,iBAAAA,GAAoBD,SAASF,MAAM;AACrC;AAEA,YAAA,IAAIE,UAAUE,MAAQ,EAAA;AACpBN,gBAAAA,QAAAA,CAASK,iBAAmB,EAAA;AAAE,oBAAA,GAAGzB,QAAQ;AAAE,oBAAA,GAAGwB,QAAQ;AAAEX,oBAAAA,UAAAA,EAAYW,SAASE;AAAO,iBAAA,CAAA;AACtF;AAEA,YAAA,IAAIF,UAAUG,KAAO,EAAA;AACnBP,gBAAAA,QAAAA,CAASK,iBAAmB,EAAA;AAAE,oBAAA,GAAGzB,QAAQ;AAAE,oBAAA,GAAGwB,QAAQ;AAAEX,oBAAAA,UAAAA,EAAYW,SAASG;AAAM,iBAAA,CAAA;AACrF;YAEA,OAAO3B,QAAAA;SACNkB,EAAAA,KAAAA,CAAAA;KAEL,EAAA;AAAEU,QAAAA,MAAAA,EAAQC,MAAOC,CAAAA,QAAQ,CAAChC,MAAAA,CAAOM,GAAG,CAAA;AAAG0B,QAAAA,QAAAA,EAAUD,MAAOC,CAAAA,QAAQ,CAACC,IAAI,CAACF,MAAAA;KACtEd,EAAAA,IAAAA,CAAAA;AAEJ;;;;"}
@@ -1,57 +1,78 @@
1
- import { curry } from "lodash/fp";
2
- import { getRelationTargetLocale } from "../utils/i18n.mjs";
3
- import { getRelationTargetStatus } from "../utils/dp.mjs";
4
- import { traverseEntityRelations as traverseEntityRelationsCurried, mapRelation as mapRelationCurried } from "../utils/map-relation.mjs";
5
- const addRelationDocId = curry(
6
- (idMap, targetUid, source, relation) => {
1
+ import { curry } from 'lodash/fp';
2
+ import { relations } from '@strapi/utils';
3
+ import { getRelationTargetLocale } from '../utils/i18n.mjs';
4
+ import { getRelationTargetStatus } from '../utils/dp.mjs';
5
+ import { traverseEntityRelations as traverseEntityRelationsCurried, mapRelation as mapRelationCurried } from '../utils/map-relation.mjs';
6
+
7
+ const { isPolymorphic } = relations;
8
+ /**
9
+ * Load a relation documentId into the idMap.
10
+ */ const addRelationDocId = curry((idMap, source, targetUid, relation)=>{
7
11
  const targetLocale = getRelationTargetLocale(relation, {
8
- targetUid,
9
- sourceUid: source.uid,
10
- sourceLocale: source.locale
12
+ targetUid,
13
+ sourceUid: source.uid,
14
+ sourceLocale: source.locale
11
15
  });
12
16
  const targetStatus = getRelationTargetStatus(relation, {
13
- targetUid,
14
- sourceUid: source.uid,
15
- sourceStatus: source.status
17
+ targetUid,
18
+ sourceUid: source.uid,
19
+ sourceStatus: source.status
16
20
  });
17
- targetStatus.forEach((status) => {
18
- idMap.add({
19
- uid: targetUid,
20
- documentId: relation.documentId,
21
- locale: targetLocale,
22
- status
23
- });
21
+ targetStatus.forEach((status)=>{
22
+ idMap.add({
23
+ uid: targetUid,
24
+ documentId: relation.documentId,
25
+ locale: targetLocale,
26
+ status
27
+ });
24
28
  });
25
- }
26
- );
27
- const extractDataIds = (idMap, data, source) => {
28
- return traverseEntityRelationsCurried(
29
- async ({ attribute, value }) => {
30
- if (!attribute) {
31
- return;
32
- }
33
- const targetUid = attribute.target;
34
- const addDocId = addRelationDocId(idMap, targetUid, source);
35
- return mapRelationCurried((relation) => {
36
- if (!relation || !relation.documentId) {
37
- return relation;
29
+ });
30
+ /**
31
+ * Iterate over all relations of a data object and extract all relational document ids.
32
+ * Those will later be transformed to entity ids.
33
+ */ const extractDataIds = (idMap, data, source)=>{
34
+ return traverseEntityRelationsCurried(async ({ attribute, value })=>{
35
+ if (!attribute) {
36
+ return;
38
37
  }
39
- addDocId(relation);
40
- const position = relation.position;
41
- if (position?.before) {
42
- addDocId({ ...relation, ...position, documentId: position.before });
43
- }
44
- if (position?.after) {
45
- addDocId({ ...relation, ...position, documentId: position.after });
46
- }
47
- return relation;
48
- }, value);
49
- },
50
- { schema: strapi.getModel(source.uid), getModel: strapi.getModel.bind(strapi) },
51
- data
52
- );
53
- };
54
- export {
55
- extractDataIds
38
+ const isPolymorphicRelation = isPolymorphic(attribute);
39
+ const addDocId = addRelationDocId(idMap, source);
40
+ return mapRelationCurried((relation)=>{
41
+ if (!relation || !relation.documentId) {
42
+ return relation;
43
+ }
44
+ // Regular relations will always target the same target
45
+ // if its a polymorphic relation we need to get it from the data itself
46
+ const targetUid = isPolymorphicRelation ? relation.__type : attribute.target;
47
+ addDocId(targetUid, relation);
48
+ // Handle positional arguments
49
+ const position = relation.position;
50
+ // The positional relation target uid can be different for polymorphic relations
51
+ let positionTargetUid = targetUid;
52
+ if (isPolymorphicRelation && position?.__type) {
53
+ positionTargetUid = position.__type;
54
+ }
55
+ if (position?.before) {
56
+ addDocId(positionTargetUid, {
57
+ ...relation,
58
+ ...position,
59
+ documentId: position.before
60
+ });
61
+ }
62
+ if (position?.after) {
63
+ addDocId(positionTargetUid, {
64
+ ...relation,
65
+ ...position,
66
+ documentId: position.after
67
+ });
68
+ }
69
+ return relation;
70
+ }, value);
71
+ }, {
72
+ schema: strapi.getModel(source.uid),
73
+ getModel: strapi.getModel.bind(strapi)
74
+ }, data);
56
75
  };
76
+
77
+ export { extractDataIds };
57
78
  //# sourceMappingURL=data-ids.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-ids.mjs","sources":["../../../../../../src/services/document-service/transform/relations/extract/data-ids.ts"],"sourcesContent":["import { curry } from 'lodash/fp';\n\nimport { UID } from '@strapi/types';\n\nimport { IdMap } from '../../id-map';\nimport { getRelationTargetLocale } from '../utils/i18n';\nimport { getRelationTargetStatus } from '../utils/dp';\nimport { mapRelation, traverseEntityRelations } from '../utils/map-relation';\nimport { LongHandDocument } from '../utils/types';\n\ninterface Options {\n uid: UID.Schema;\n locale?: string | null;\n status?: 'draft' | 'published';\n}\n\n/**\n * Load a relation documentId into the idMap.\n */\nconst addRelationDocId = curry(\n (idMap: IdMap, targetUid: UID.Schema, source: Options, relation: LongHandDocument) => {\n const targetLocale = getRelationTargetLocale(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceLocale: source.locale,\n });\n\n const targetStatus = getRelationTargetStatus(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceStatus: source.status,\n });\n\n targetStatus.forEach((status) => {\n idMap.add({\n uid: targetUid,\n documentId: relation.documentId,\n locale: targetLocale,\n status,\n });\n });\n }\n);\n\n/**\n * Iterate over all relations of a data object and extract all relational document ids.\n * Those will later be transformed to entity ids.\n */\nconst extractDataIds = (idMap: IdMap, data: Record<string, any>, source: Options) => {\n return traverseEntityRelations(\n async ({ attribute, value }) => {\n if (!attribute) {\n return;\n }\n\n const targetUid = attribute.target!;\n const addDocId = addRelationDocId(idMap, targetUid, source);\n\n return mapRelation((relation) => {\n if (!relation || !relation.documentId) {\n return relation;\n }\n\n addDocId(relation);\n\n // Handle positional arguments\n const position = relation.position;\n\n if (position?.before) {\n addDocId({ ...relation, ...position, documentId: position.before });\n }\n\n if (position?.after) {\n addDocId({ ...relation, ...position, documentId: position.after });\n }\n\n return relation;\n }, value as any);\n },\n { schema: strapi.getModel(source.uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n\nexport { extractDataIds };\n"],"names":["traverseEntityRelations","mapRelation"],"mappings":";;;;AAmBA,MAAM,mBAAmB;AAAA,EACvB,CAAC,OAAc,WAAuB,QAAiB,aAA+B;AAC9E,UAAA,eAAe,wBAAwB,UAAU;AAAA,MACrD;AAAA,MACA,WAAW,OAAO;AAAA,MAClB,cAAc,OAAO;AAAA,IAAA,CACtB;AAEK,UAAA,eAAe,wBAAwB,UAAU;AAAA,MACrD;AAAA,MACA,WAAW,OAAO;AAAA,MAClB,cAAc,OAAO;AAAA,IAAA,CACtB;AAEY,iBAAA,QAAQ,CAAC,WAAW;AAC/B,YAAM,IAAI;AAAA,QACR,KAAK;AAAA,QACL,YAAY,SAAS;AAAA,QACrB,QAAQ;AAAA,QACR;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EACH;AACF;AAMA,MAAM,iBAAiB,CAAC,OAAc,MAA2B,WAAoB;AAC5E,SAAAA;AAAAA,IACL,OAAO,EAAE,WAAW,YAAY;AAC9B,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAEA,YAAM,YAAY,UAAU;AAC5B,YAAM,WAAW,iBAAiB,OAAO,WAAW,MAAM;AAEnD,aAAAC,mBAAY,CAAC,aAAa;AAC/B,YAAI,CAAC,YAAY,CAAC,SAAS,YAAY;AAC9B,iBAAA;AAAA,QACT;AAEA,iBAAS,QAAQ;AAGjB,cAAM,WAAW,SAAS;AAE1B,YAAI,UAAU,QAAQ;AACX,mBAAA,EAAE,GAAG,UAAU,GAAG,UAAU,YAAY,SAAS,QAAQ;AAAA,QACpE;AAEA,YAAI,UAAU,OAAO;AACV,mBAAA,EAAE,GAAG,UAAU,GAAG,UAAU,YAAY,SAAS,OAAO;AAAA,QACnE;AAEO,eAAA;AAAA,SACN,KAAY;AAAA,IACjB;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,OAAO,GAAG,GAAG,UAAU,OAAO,SAAS,KAAK,MAAM,EAAE;AAAA,IAC9E;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"data-ids.mjs","sources":["../../../../../../src/services/document-service/transform/relations/extract/data-ids.ts"],"sourcesContent":["import { curry } from 'lodash/fp';\n\nimport type { UID } from '@strapi/types';\nimport { relations } from '@strapi/utils';\nimport { IdMap } from '../../id-map';\nimport { getRelationTargetLocale } from '../utils/i18n';\nimport { getRelationTargetStatus } from '../utils/dp';\nimport { mapRelation, traverseEntityRelations } from '../utils/map-relation';\nimport { LongHandDocument } from '../utils/types';\n\nconst { isPolymorphic } = relations;\n\ninterface Options {\n uid: UID.Schema;\n locale?: string | null;\n status?: 'draft' | 'published';\n}\n\n/**\n * Load a relation documentId into the idMap.\n */\nconst addRelationDocId = curry(\n (idMap: IdMap, source: Options, targetUid: UID.Schema, relation: LongHandDocument) => {\n const targetLocale = getRelationTargetLocale(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceLocale: source.locale,\n });\n\n const targetStatus = getRelationTargetStatus(relation, {\n targetUid,\n sourceUid: source.uid,\n sourceStatus: source.status,\n });\n\n targetStatus.forEach((status) => {\n idMap.add({\n uid: targetUid,\n documentId: relation.documentId,\n locale: targetLocale,\n status,\n });\n });\n }\n);\n\n/**\n * Iterate over all relations of a data object and extract all relational document ids.\n * Those will later be transformed to entity ids.\n */\nconst extractDataIds = (idMap: IdMap, data: Record<string, any>, source: Options) => {\n return traverseEntityRelations(\n async ({ attribute, value }) => {\n if (!attribute) {\n return;\n }\n const isPolymorphicRelation = isPolymorphic(attribute);\n const addDocId = addRelationDocId(idMap, source);\n\n return mapRelation((relation) => {\n if (!relation || !relation.documentId) {\n return relation;\n }\n\n // Regular relations will always target the same target\n // if its a polymorphic relation we need to get it from the data itself\n const targetUid = isPolymorphicRelation ? relation.__type : attribute.target;\n\n addDocId(targetUid, relation);\n\n // Handle positional arguments\n const position = relation.position;\n\n // The positional relation target uid can be different for polymorphic relations\n let positionTargetUid = targetUid;\n if (isPolymorphicRelation && position?.__type) {\n positionTargetUid = position.__type;\n }\n\n if (position?.before) {\n addDocId(positionTargetUid, { ...relation, ...position, documentId: position.before });\n }\n\n if (position?.after) {\n addDocId(positionTargetUid, { ...relation, ...position, documentId: position.after });\n }\n\n return relation;\n }, value as any);\n },\n { schema: strapi.getModel(source.uid), getModel: strapi.getModel.bind(strapi) },\n data\n );\n};\n\nexport { extractDataIds };\n"],"names":["isPolymorphic","relations","addRelationDocId","curry","idMap","source","targetUid","relation","targetLocale","getRelationTargetLocale","sourceUid","uid","sourceLocale","locale","targetStatus","getRelationTargetStatus","sourceStatus","status","forEach","add","documentId","extractDataIds","data","traverseEntityRelations","attribute","value","isPolymorphicRelation","addDocId","mapRelation","__type","target","position","positionTargetUid","before","after","schema","strapi","getModel","bind"],"mappings":";;;;;;AAUA,MAAM,EAAEA,aAAa,EAAE,GAAGC,SAAAA;AAQ1B;;AAEC,IACD,MAAMC,gBAAmBC,GAAAA,KAAAA,CACvB,CAACC,KAAAA,EAAcC,QAAiBC,SAAuBC,EAAAA,QAAAA,GAAAA;IACrD,MAAMC,YAAAA,GAAeC,wBAAwBF,QAAU,EAAA;AACrDD,QAAAA,SAAAA;AACAI,QAAAA,SAAAA,EAAWL,OAAOM,GAAG;AACrBC,QAAAA,YAAAA,EAAcP,OAAOQ;AACvB,KAAA,CAAA;IAEA,MAAMC,YAAAA,GAAeC,wBAAwBR,QAAU,EAAA;AACrDD,QAAAA,SAAAA;AACAI,QAAAA,SAAAA,EAAWL,OAAOM,GAAG;AACrBK,QAAAA,YAAAA,EAAcX,OAAOY;AACvB,KAAA,CAAA;IAEAH,YAAaI,CAAAA,OAAO,CAAC,CAACD,MAAAA,GAAAA;AACpBb,QAAAA,KAAAA,CAAMe,GAAG,CAAC;YACRR,GAAKL,EAAAA,SAAAA;AACLc,YAAAA,UAAAA,EAAYb,SAASa,UAAU;YAC/BP,MAAQL,EAAAA,YAAAA;AACRS,YAAAA;AACF,SAAA,CAAA;AACF,KAAA,CAAA;AACF,CAAA,CAAA;AAGF;;;AAGC,IACKI,MAAAA,cAAAA,GAAiB,CAACjB,KAAAA,EAAckB,IAA2BjB,EAAAA,MAAAA,GAAAA;AAC/D,IAAA,OAAOkB,+BACL,OAAO,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAA;AACzB,QAAA,IAAI,CAACD,SAAW,EAAA;AACd,YAAA;AACF;AACA,QAAA,MAAME,wBAAwB1B,aAAcwB,CAAAA,SAAAA,CAAAA;QAC5C,MAAMG,QAAAA,GAAWzB,iBAAiBE,KAAOC,EAAAA,MAAAA,CAAAA;AAEzC,QAAA,OAAOuB,mBAAY,CAACrB,QAAAA,GAAAA;AAClB,YAAA,IAAI,CAACA,QAAAA,IAAY,CAACA,QAAAA,CAASa,UAAU,EAAE;gBACrC,OAAOb,QAAAA;AACT;;;AAIA,YAAA,MAAMD,YAAYoB,qBAAwBnB,GAAAA,QAAAA,CAASsB,MAAM,GAAGL,UAAUM,MAAM;AAE5EH,YAAAA,QAAAA,CAASrB,SAAWC,EAAAA,QAAAA,CAAAA;;YAGpB,MAAMwB,QAAAA,GAAWxB,SAASwB,QAAQ;;AAGlC,YAAA,IAAIC,iBAAoB1B,GAAAA,SAAAA;YACxB,IAAIoB,qBAAAA,IAAyBK,UAAUF,MAAQ,EAAA;AAC7CG,gBAAAA,iBAAAA,GAAoBD,SAASF,MAAM;AACrC;AAEA,YAAA,IAAIE,UAAUE,MAAQ,EAAA;AACpBN,gBAAAA,QAAAA,CAASK,iBAAmB,EAAA;AAAE,oBAAA,GAAGzB,QAAQ;AAAE,oBAAA,GAAGwB,QAAQ;AAAEX,oBAAAA,UAAAA,EAAYW,SAASE;AAAO,iBAAA,CAAA;AACtF;AAEA,YAAA,IAAIF,UAAUG,KAAO,EAAA;AACnBP,gBAAAA,QAAAA,CAASK,iBAAmB,EAAA;AAAE,oBAAA,GAAGzB,QAAQ;AAAE,oBAAA,GAAGwB,QAAQ;AAAEX,oBAAAA,UAAAA,EAAYW,SAASG;AAAM,iBAAA,CAAA;AACrF;YAEA,OAAO3B,QAAAA;SACNkB,EAAAA,KAAAA,CAAAA;KAEL,EAAA;AAAEU,QAAAA,MAAAA,EAAQC,MAAOC,CAAAA,QAAQ,CAAChC,MAAAA,CAAOM,GAAG,CAAA;AAAG0B,QAAAA,QAAAA,EAAUD,MAAOC,CAAAA,QAAQ,CAACC,IAAI,CAACF,MAAAA;KACtEd,EAAAA,IAAAA,CAAAA;AAEJ;;;;"}
@@ -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,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"}
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;AAOrC,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,qDA8DxF,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,76 +1,110 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const fp = require("lodash/fp");
4
- const strapiUtils = require("@strapi/utils");
5
- const i18n = require("../utils/i18n.js");
6
- const dp = require("../utils/dp.js");
7
- const mapRelation = require("../utils/map-relation.js");
8
- const getRelationIds = fp.curry(
9
- (idMap, targetUid, source, relation) => {
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var strapiUtils = require('@strapi/utils');
5
+ var i18n = require('../utils/i18n.js');
6
+ var dp = require('../utils/dp.js');
7
+ var mapRelation = require('../utils/map-relation.js');
8
+
9
+ const { isPolymorphic } = strapiUtils.relations;
10
+ /**
11
+ * Get the entry ids for a given documentId.
12
+ */ const getRelationIds = fp.curry((idMap, source, targetUid, relation)=>{
13
+ // locale to connect to
10
14
  const targetLocale = i18n.getRelationTargetLocale(relation, {
11
- targetUid,
12
- sourceUid: source.uid,
13
- sourceLocale: source.locale
15
+ targetUid,
16
+ sourceUid: source.uid,
17
+ sourceLocale: source.locale
14
18
  });
19
+ // status(es) to connect to
15
20
  const targetStatus = dp.getRelationTargetStatus(relation, {
16
- targetUid,
17
- sourceUid: source.uid,
18
- sourceStatus: source.status
21
+ targetUid,
22
+ sourceUid: source.uid,
23
+ sourceStatus: source.status
19
24
  });
20
25
  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);
26
+ // Find mapping between documentID -> id(s).
27
+ // There are scenarios where a single documentID can map to multiple ids.
28
+ // e.g when connecting Non DP -> DP and connecting to both the draft and publish version at the same time
29
+ for (const tStatus of targetStatus){
30
+ const entryId = idMap.get({
31
+ uid: targetUid,
32
+ documentId: relation.documentId,
33
+ locale: targetLocale,
34
+ status: tStatus
35
+ });
36
+ if (entryId) ids.push(entryId);
30
37
  }
31
38
  if (!ids.length && !source.allowMissingId) {
32
- throw new strapiUtils.errors.ValidationError(
33
- `Document with id "${relation.documentId}", locale "${targetLocale}" not found`
34
- );
39
+ throw new strapiUtils.errors.ValidationError(`Document with id "${relation.documentId}", locale "${targetLocale}" not found`);
35
40
  }
36
41
  return ids;
37
- }
38
- );
39
- const transformDataIdsVisitor = (idMap, data, source) => {
40
- return mapRelation.traverseEntityRelations(
41
- async ({ key, value, attribute }, { set }) => {
42
- if (!attribute) {
43
- return;
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);
42
+ });
43
+ /**
44
+ * Iterate over all relations of a data object and transform all relational document ids to entity ids.
45
+ */ const transformDataIdsVisitor = (idMap, data, source)=>{
46
+ return mapRelation.traverseEntityRelations(async ({ key, value, attribute }, { set })=>{
47
+ if (!attribute) {
48
+ return;
56
49
  }
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);
70
- },
71
- { schema: strapi.getModel(source.uid), getModel: strapi.getModel.bind(strapi) },
72
- data
73
- );
50
+ const isPolymorphicRelation = isPolymorphic(attribute);
51
+ const getIds = getRelationIds(idMap, source);
52
+ // Transform the relation documentId to entity id
53
+ const newRelation = await mapRelation.mapRelation((relation)=>{
54
+ if (!relation || !relation.documentId) {
55
+ return relation;
56
+ }
57
+ // Find relational attributes, and return the document ids
58
+ // if its a polymorphic relation we need to get it from the data itself
59
+ const targetUid = isPolymorphicRelation ? relation.__type : attribute.target;
60
+ const ids = getIds(targetUid, relation);
61
+ // Handle positional arguments
62
+ const position = {
63
+ ...relation.position
64
+ };
65
+ // The positional relation target uid can be different for polymorphic relations
66
+ let positionTargetUid = targetUid;
67
+ if (isPolymorphicRelation && position?.__type) {
68
+ positionTargetUid = position.__type;
69
+ }
70
+ if (position.before) {
71
+ const beforeRelation = {
72
+ ...relation,
73
+ ...position,
74
+ documentId: position.before
75
+ };
76
+ const beforeIds = getIds(positionTargetUid, beforeRelation);
77
+ position.before = beforeIds.at(0);
78
+ }
79
+ if (position.after) {
80
+ const afterRelation = {
81
+ ...relation,
82
+ ...position,
83
+ documentId: position.after
84
+ };
85
+ position.after = getIds(positionTargetUid, afterRelation).at(0);
86
+ }
87
+ // Transform all ids to new relations
88
+ return ids?.map((id)=>{
89
+ const newRelation = {
90
+ id
91
+ };
92
+ if (relation.position) {
93
+ newRelation.position = position;
94
+ }
95
+ // Insert type if its a polymorphic relation
96
+ if (isPolymorphicRelation) {
97
+ newRelation.__type = targetUid;
98
+ }
99
+ return newRelation;
100
+ });
101
+ }, value);
102
+ set(key, newRelation);
103
+ }, {
104
+ schema: strapi.getModel(source.uid),
105
+ getModel: strapi.getModel.bind(strapi)
106
+ }, data);
74
107
  };
108
+
75
109
  exports.transformDataIdsVisitor = transformDataIdsVisitor;
76
110
  //# sourceMappingURL=data-ids.js.map
@@ -1 +1 @@
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,GAAA;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
+ {"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, relations } 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\nconst { isPolymorphic } = relations;\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, source: Options, targetUid: UID.Schema, 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 const isPolymorphicRelation = isPolymorphic(attribute);\n const getIds = getRelationIds(idMap, 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 // Find relational attributes, and return the document ids\n // if its a polymorphic relation we need to get it from the data itself\n const targetUid: UID.Schema = isPolymorphicRelation ? relation.__type : attribute.target;\n const ids: ID[] = getIds(targetUid, relation);\n\n // Handle positional arguments\n const position = { ...relation.position };\n\n // The positional relation target uid can be different for polymorphic relations\n let positionTargetUid: UID.Schema = targetUid;\n if (isPolymorphicRelation && position?.__type) {\n positionTargetUid = position.__type;\n }\n\n if (position.before) {\n const beforeRelation = { ...relation, ...position, documentId: position.before };\n const beforeIds: ID[] = getIds(positionTargetUid, beforeRelation);\n position.before = beforeIds.at(0);\n }\n\n if (position.after) {\n const afterRelation = { ...relation, ...position, documentId: position.after };\n position.after = getIds(positionTargetUid, 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\n if (relation.position) {\n newRelation.position = position;\n }\n\n // Insert type if its a polymorphic relation\n if (isPolymorphicRelation) {\n newRelation.__type = targetUid;\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":["isPolymorphic","relations","getRelationIds","curry","idMap","source","targetUid","relation","targetLocale","getRelationTargetLocale","sourceUid","uid","sourceLocale","locale","targetStatus","getRelationTargetStatus","sourceStatus","status","ids","tStatus","entryId","get","documentId","push","length","allowMissingId","errors","ValidationError","transformDataIdsVisitor","data","traverseEntityRelations","key","value","attribute","set","isPolymorphicRelation","getIds","newRelation","mapRelation","__type","target","position","positionTargetUid","before","beforeRelation","beforeIds","at","after","afterRelation","map","id","schema","strapi","getModel","bind"],"mappings":";;;;;;;;AAWA,MAAM,EAAEA,aAAa,EAAE,GAAGC,qBAAAA;AAS1B;;AAEC,IACD,MAAMC,cAAiBC,GAAAA,QAAAA,CACrB,CAACC,KAAAA,EAAcC,QAAiBC,SAAuBC,EAAAA,QAAAA,GAAAA;;IAErD,MAAMC,YAAAA,GAAeC,6BAAwBF,QAAU,EAAA;AACrDD,QAAAA,SAAAA;AACAI,QAAAA,SAAAA,EAAWL,OAAOM,GAAG;AACrBC,QAAAA,YAAAA,EAAcP,OAAOQ;AACvB,KAAA,CAAA;;IAGA,MAAMC,YAAAA,GAAeC,2BAAwBR,QAAU,EAAA;AACrDD,QAAAA,SAAAA;AACAI,QAAAA,SAAAA,EAAWL,OAAOM,GAAG;AACrBK,QAAAA,YAAAA,EAAcX,OAAOY;AACvB,KAAA,CAAA;AAEA,IAAA,MAAMC,MAAY,EAAE;;;;IAKpB,KAAK,MAAMC,WAAWL,YAAc,CAAA;QAClC,MAAMM,OAAAA,GAAUhB,KAAMiB,CAAAA,GAAG,CAAC;YACxBV,GAAKL,EAAAA,SAAAA;AACLgB,YAAAA,UAAAA,EAAYf,SAASe,UAAU;YAC/BT,MAAQL,EAAAA,YAAAA;YACRS,MAAQE,EAAAA;AACV,SAAA,CAAA;QAEA,IAAIC,OAAAA,EAASF,GAAIK,CAAAA,IAAI,CAACH,OAAAA,CAAAA;AACxB;AAEA,IAAA,IAAI,CAACF,GAAIM,CAAAA,MAAM,IAAI,CAACnB,MAAAA,CAAOoB,cAAc,EAAE;AACzC,QAAA,MAAM,IAAIC,kBAAAA,CAAOC,eAAe,CAC9B,CAAC,kBAAkB,EAAEpB,QAASe,CAAAA,UAAU,CAAC,WAAW,EAAEd,YAAAA,CAAa,WAAW,CAAC,CAAA;AAEnF;IAEA,OAAOU,GAAAA;AACT,CAAA,CAAA;AAGF;;AAEC,IACKU,MAAAA,uBAAAA,GAA0B,CAACxB,KAAAA,EAAcyB,IAA2BxB,EAAAA,MAAAA,GAAAA;AACxE,IAAA,OAAOyB,mCACL,CAAA,OAAO,EAAEC,GAAG,EAAEC,KAAK,EAAEC,SAAS,EAAE,EAAE,EAAEC,GAAG,EAAE,GAAA;AACvC,QAAA,IAAI,CAACD,SAAW,EAAA;AACd,YAAA;AACF;AACA,QAAA,MAAME,wBAAwBnC,aAAciC,CAAAA,SAAAA,CAAAA;QAC5C,MAAMG,MAAAA,GAASlC,eAAeE,KAAOC,EAAAA,MAAAA,CAAAA;;QAGrC,MAAMgC,WAAAA,GAAc,MAAMC,uBAAAA,CAAY,CAAC/B,QAAAA,GAAAA;AACrC,YAAA,IAAI,CAACA,QAAAA,IAAY,CAACA,QAAAA,CAASe,UAAU,EAAE;gBACrC,OAAOf,QAAAA;AACT;;;AAIA,YAAA,MAAMD,YAAwB6B,qBAAwB5B,GAAAA,QAAAA,CAASgC,MAAM,GAAGN,UAAUO,MAAM;YACxF,MAAMtB,GAAAA,GAAYkB,OAAO9B,SAAWC,EAAAA,QAAAA,CAAAA;;AAGpC,YAAA,MAAMkC,QAAW,GAAA;AAAE,gBAAA,GAAGlC,SAASkC;AAAS,aAAA;;AAGxC,YAAA,IAAIC,iBAAgCpC,GAAAA,SAAAA;YACpC,IAAI6B,qBAAAA,IAAyBM,UAAUF,MAAQ,EAAA;AAC7CG,gBAAAA,iBAAAA,GAAoBD,SAASF,MAAM;AACrC;YAEA,IAAIE,QAAAA,CAASE,MAAM,EAAE;AACnB,gBAAA,MAAMC,cAAiB,GAAA;AAAE,oBAAA,GAAGrC,QAAQ;AAAE,oBAAA,GAAGkC,QAAQ;AAAEnB,oBAAAA,UAAAA,EAAYmB,SAASE;AAAO,iBAAA;gBAC/E,MAAME,SAAAA,GAAkBT,OAAOM,iBAAmBE,EAAAA,cAAAA,CAAAA;AAClDH,gBAAAA,QAAAA,CAASE,MAAM,GAAGE,SAAUC,CAAAA,EAAE,CAAC,CAAA,CAAA;AACjC;YAEA,IAAIL,QAAAA,CAASM,KAAK,EAAE;AAClB,gBAAA,MAAMC,aAAgB,GAAA;AAAE,oBAAA,GAAGzC,QAAQ;AAAE,oBAAA,GAAGkC,QAAQ;AAAEnB,oBAAAA,UAAAA,EAAYmB,SAASM;AAAM,iBAAA;AAC7EN,gBAAAA,QAAAA,CAASM,KAAK,GAAGX,MAAAA,CAAOM,iBAAmBM,EAAAA,aAAAA,CAAAA,CAAeF,EAAE,CAAC,CAAA,CAAA;AAC/D;;YAGA,OAAO5B,GAAAA,EAAK+B,IAAI,CAACC,EAAAA,GAAAA;AACf,gBAAA,MAAMb,WAAc,GAAA;AAAEa,oBAAAA;AAAG,iBAAA;gBAEzB,IAAI3C,QAAAA,CAASkC,QAAQ,EAAE;AACrBJ,oBAAAA,WAAAA,CAAYI,QAAQ,GAAGA,QAAAA;AACzB;;AAGA,gBAAA,IAAIN,qBAAuB,EAAA;AACzBE,oBAAAA,WAAAA,CAAYE,MAAM,GAAGjC,SAAAA;AACvB;gBAEA,OAAO+B,WAAAA;AACT,aAAA,CAAA;SACCL,EAAAA,KAAAA,CAAAA;AAEHE,QAAAA,GAAAA,CAAIH,GAAKM,EAAAA,WAAAA,CAAAA;KAEX,EAAA;AAAEc,QAAAA,MAAAA,EAAQC,MAAOC,CAAAA,QAAQ,CAAChD,MAAAA,CAAOM,GAAG,CAAA;AAAG0C,QAAAA,QAAAA,EAAUD,MAAOC,CAAAA,QAAQ,CAACC,IAAI,CAACF,MAAAA;KACtEvB,EAAAA,IAAAA,CAAAA;AAEJ;;;;"}