@strapi/core 0.0.0-experimental.e9122b401c96877b6707775c4f893660eab93ae3 → 0.0.0-experimental.eb2d102c03f0984bece7258f6e0e8ab9ee39c82d

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 (698) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/configuration/index.d.ts +1 -0
  3. package/dist/configuration/index.d.ts.map +1 -1
  4. package/dist/ee/index.d.ts.map +1 -1
  5. package/dist/ee/license.d.ts.map +1 -1
  6. package/dist/index.js +10105 -27
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.mjs +10083 -29
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  11. package/dist/loaders/plugins/index.d.ts.map +1 -1
  12. package/dist/middlewares/body.d.ts.map +1 -1
  13. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +14 -11
  14. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  15. package/dist/migrations/draft-publish.d.ts +2 -2
  16. package/dist/migrations/draft-publish.d.ts.map +1 -1
  17. package/dist/migrations/i18n.d.ts +5 -0
  18. package/dist/migrations/i18n.d.ts.map +1 -0
  19. package/dist/migrations/index.d.ts +5 -0
  20. package/dist/migrations/index.d.ts.map +1 -0
  21. package/dist/providers/admin.d.ts.map +1 -1
  22. package/dist/services/document-service/common.d.ts +1 -1
  23. package/dist/services/document-service/common.d.ts.map +1 -1
  24. package/dist/services/document-service/components.d.ts.map +1 -1
  25. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  26. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  27. package/dist/services/document-service/entries.d.ts +2 -2
  28. package/dist/services/document-service/entries.d.ts.map +1 -1
  29. package/dist/services/document-service/events.d.ts +1 -1
  30. package/dist/services/document-service/events.d.ts.map +1 -1
  31. package/dist/services/document-service/index.d.ts +2 -1
  32. package/dist/services/document-service/index.d.ts.map +1 -1
  33. package/dist/services/document-service/repository.d.ts.map +1 -1
  34. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  35. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  36. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  37. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  38. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  39. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  40. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  41. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  42. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  43. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  44. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  45. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  46. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  47. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  48. package/dist/services/document-service/utils/populate.d.ts +1 -1
  49. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  50. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  51. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  52. package/dist/services/entity-validator/index.d.ts +1 -1
  53. package/dist/services/entity-validator/index.d.ts.map +1 -1
  54. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  55. package/dist/services/metrics/middleware.d.ts.map +1 -1
  56. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  57. package/dist/services/metrics/sender.d.ts.map +1 -1
  58. package/dist/utils/startup-logger.d.ts.map +1 -1
  59. package/dist/utils/transform-content-types-to-models.d.ts +353 -21
  60. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  61. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  62. package/package.json +28 -28
  63. package/dist/Strapi.js +0 -431
  64. package/dist/Strapi.js.map +0 -1
  65. package/dist/Strapi.mjs +0 -410
  66. package/dist/Strapi.mjs.map +0 -1
  67. package/dist/compile.js +0 -18
  68. package/dist/compile.js.map +0 -1
  69. package/dist/compile.mjs +0 -17
  70. package/dist/compile.mjs.map +0 -1
  71. package/dist/configuration/config-loader.js +0 -106
  72. package/dist/configuration/config-loader.js.map +0 -1
  73. package/dist/configuration/config-loader.mjs +0 -104
  74. package/dist/configuration/config-loader.mjs.map +0 -1
  75. package/dist/configuration/get-dirs.js +0 -31
  76. package/dist/configuration/get-dirs.js.map +0 -1
  77. package/dist/configuration/get-dirs.mjs +0 -31
  78. package/dist/configuration/get-dirs.mjs.map +0 -1
  79. package/dist/configuration/index.js +0 -80
  80. package/dist/configuration/index.js.map +0 -1
  81. package/dist/configuration/index.mjs +0 -75
  82. package/dist/configuration/index.mjs.map +0 -1
  83. package/dist/configuration/urls.js +0 -68
  84. package/dist/configuration/urls.js.map +0 -1
  85. package/dist/configuration/urls.mjs +0 -66
  86. package/dist/configuration/urls.mjs.map +0 -1
  87. package/dist/container.js +0 -30
  88. package/dist/container.js.map +0 -1
  89. package/dist/container.mjs +0 -30
  90. package/dist/container.mjs.map +0 -1
  91. package/dist/core-api/controller/collection-type.js +0 -84
  92. package/dist/core-api/controller/collection-type.js.map +0 -1
  93. package/dist/core-api/controller/collection-type.mjs +0 -84
  94. package/dist/core-api/controller/collection-type.mjs.map +0 -1
  95. package/dist/core-api/controller/index.js +0 -52
  96. package/dist/core-api/controller/index.js.map +0 -1
  97. package/dist/core-api/controller/index.mjs +0 -52
  98. package/dist/core-api/controller/index.mjs.map +0 -1
  99. package/dist/core-api/controller/single-type.js +0 -46
  100. package/dist/core-api/controller/single-type.js.map +0 -1
  101. package/dist/core-api/controller/single-type.mjs +0 -46
  102. package/dist/core-api/controller/single-type.mjs.map +0 -1
  103. package/dist/core-api/controller/transform.js +0 -76
  104. package/dist/core-api/controller/transform.js.map +0 -1
  105. package/dist/core-api/controller/transform.mjs +0 -76
  106. package/dist/core-api/controller/transform.mjs.map +0 -1
  107. package/dist/core-api/routes/index.js +0 -67
  108. package/dist/core-api/routes/index.js.map +0 -1
  109. package/dist/core-api/routes/index.mjs +0 -67
  110. package/dist/core-api/routes/index.mjs.map +0 -1
  111. package/dist/core-api/service/collection-type.js +0 -67
  112. package/dist/core-api/service/collection-type.js.map +0 -1
  113. package/dist/core-api/service/collection-type.mjs +0 -67
  114. package/dist/core-api/service/collection-type.mjs.map +0 -1
  115. package/dist/core-api/service/core-service.js +0 -12
  116. package/dist/core-api/service/core-service.js.map +0 -1
  117. package/dist/core-api/service/core-service.mjs +0 -12
  118. package/dist/core-api/service/core-service.mjs.map +0 -1
  119. package/dist/core-api/service/index.js +0 -16
  120. package/dist/core-api/service/index.js.map +0 -1
  121. package/dist/core-api/service/index.mjs +0 -16
  122. package/dist/core-api/service/index.mjs.map +0 -1
  123. package/dist/core-api/service/pagination.js +0 -52
  124. package/dist/core-api/service/pagination.js.map +0 -1
  125. package/dist/core-api/service/pagination.mjs +0 -52
  126. package/dist/core-api/service/pagination.mjs.map +0 -1
  127. package/dist/core-api/service/single-type.js +0 -46
  128. package/dist/core-api/service/single-type.js.map +0 -1
  129. package/dist/core-api/service/single-type.mjs +0 -46
  130. package/dist/core-api/service/single-type.mjs.map +0 -1
  131. package/dist/domain/content-type/index.js +0 -111
  132. package/dist/domain/content-type/index.js.map +0 -1
  133. package/dist/domain/content-type/index.mjs +0 -109
  134. package/dist/domain/content-type/index.mjs.map +0 -1
  135. package/dist/domain/content-type/validator.js +0 -77
  136. package/dist/domain/content-type/validator.js.map +0 -1
  137. package/dist/domain/content-type/validator.mjs +0 -75
  138. package/dist/domain/content-type/validator.mjs.map +0 -1
  139. package/dist/domain/module/index.js +0 -107
  140. package/dist/domain/module/index.js.map +0 -1
  141. package/dist/domain/module/index.mjs +0 -105
  142. package/dist/domain/module/index.mjs.map +0 -1
  143. package/dist/domain/module/validation.js +0 -25
  144. package/dist/domain/module/validation.js.map +0 -1
  145. package/dist/domain/module/validation.mjs +0 -25
  146. package/dist/domain/module/validation.mjs.map +0 -1
  147. package/dist/ee/index.js +0 -153
  148. package/dist/ee/index.js.map +0 -1
  149. package/dist/ee/index.mjs +0 -154
  150. package/dist/ee/index.mjs.map +0 -1
  151. package/dist/ee/license.js +0 -91
  152. package/dist/ee/license.js.map +0 -1
  153. package/dist/ee/license.mjs +0 -88
  154. package/dist/ee/license.mjs.map +0 -1
  155. package/dist/factories.js +0 -80
  156. package/dist/factories.js.map +0 -1
  157. package/dist/factories.mjs +0 -80
  158. package/dist/factories.mjs.map +0 -1
  159. package/dist/loaders/admin.js +0 -26
  160. package/dist/loaders/admin.js.map +0 -1
  161. package/dist/loaders/admin.mjs +0 -25
  162. package/dist/loaders/admin.mjs.map +0 -1
  163. package/dist/loaders/apis.js +0 -137
  164. package/dist/loaders/apis.js.map +0 -1
  165. package/dist/loaders/apis.mjs +0 -135
  166. package/dist/loaders/apis.mjs.map +0 -1
  167. package/dist/loaders/components.js +0 -38
  168. package/dist/loaders/components.js.map +0 -1
  169. package/dist/loaders/components.mjs +0 -37
  170. package/dist/loaders/components.mjs.map +0 -1
  171. package/dist/loaders/index.js +0 -24
  172. package/dist/loaders/index.js.map +0 -1
  173. package/dist/loaders/index.mjs +0 -24
  174. package/dist/loaders/index.mjs.map +0 -1
  175. package/dist/loaders/middlewares.js +0 -31
  176. package/dist/loaders/middlewares.js.map +0 -1
  177. package/dist/loaders/middlewares.mjs +0 -30
  178. package/dist/loaders/middlewares.mjs.map +0 -1
  179. package/dist/loaders/plugins/get-enabled-plugins.js +0 -138
  180. package/dist/loaders/plugins/get-enabled-plugins.js.map +0 -1
  181. package/dist/loaders/plugins/get-enabled-plugins.mjs +0 -114
  182. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +0 -1
  183. package/dist/loaders/plugins/get-user-plugins-config.js +0 -27
  184. package/dist/loaders/plugins/get-user-plugins-config.js.map +0 -1
  185. package/dist/loaders/plugins/get-user-plugins-config.mjs +0 -25
  186. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +0 -1
  187. package/dist/loaders/plugins/index.js +0 -118
  188. package/dist/loaders/plugins/index.js.map +0 -1
  189. package/dist/loaders/plugins/index.mjs +0 -117
  190. package/dist/loaders/plugins/index.mjs.map +0 -1
  191. package/dist/loaders/policies.js +0 -25
  192. package/dist/loaders/policies.js.map +0 -1
  193. package/dist/loaders/policies.mjs +0 -24
  194. package/dist/loaders/policies.mjs.map +0 -1
  195. package/dist/loaders/sanitizers.js +0 -6
  196. package/dist/loaders/sanitizers.js.map +0 -1
  197. package/dist/loaders/sanitizers.mjs +0 -7
  198. package/dist/loaders/sanitizers.mjs.map +0 -1
  199. package/dist/loaders/src-index.js +0 -33
  200. package/dist/loaders/src-index.js.map +0 -1
  201. package/dist/loaders/src-index.mjs +0 -34
  202. package/dist/loaders/src-index.mjs.map +0 -1
  203. package/dist/loaders/validators.js +0 -6
  204. package/dist/loaders/validators.js.map +0 -1
  205. package/dist/loaders/validators.mjs +0 -7
  206. package/dist/loaders/validators.mjs.map +0 -1
  207. package/dist/middlewares/body.js +0 -65
  208. package/dist/middlewares/body.js.map +0 -1
  209. package/dist/middlewares/body.mjs +0 -61
  210. package/dist/middlewares/body.mjs.map +0 -1
  211. package/dist/middlewares/compression.js +0 -8
  212. package/dist/middlewares/compression.js.map +0 -1
  213. package/dist/middlewares/compression.mjs +0 -6
  214. package/dist/middlewares/compression.mjs.map +0 -1
  215. package/dist/middlewares/cors.js +0 -53
  216. package/dist/middlewares/cors.js.map +0 -1
  217. package/dist/middlewares/cors.mjs +0 -51
  218. package/dist/middlewares/cors.mjs.map +0 -1
  219. package/dist/middlewares/errors.js +0 -33
  220. package/dist/middlewares/errors.js.map +0 -1
  221. package/dist/middlewares/errors.mjs +0 -33
  222. package/dist/middlewares/errors.mjs.map +0 -1
  223. package/dist/middlewares/favicon.js +0 -22
  224. package/dist/middlewares/favicon.js.map +0 -1
  225. package/dist/middlewares/favicon.mjs +0 -20
  226. package/dist/middlewares/favicon.mjs.map +0 -1
  227. package/dist/middlewares/index.js +0 -34
  228. package/dist/middlewares/index.js.map +0 -1
  229. package/dist/middlewares/index.mjs +0 -34
  230. package/dist/middlewares/index.mjs.map +0 -1
  231. package/dist/middlewares/ip.js +0 -8
  232. package/dist/middlewares/ip.js.map +0 -1
  233. package/dist/middlewares/ip.mjs +0 -6
  234. package/dist/middlewares/ip.mjs.map +0 -1
  235. package/dist/middlewares/logger.js +0 -12
  236. package/dist/middlewares/logger.js.map +0 -1
  237. package/dist/middlewares/logger.mjs +0 -12
  238. package/dist/middlewares/logger.mjs.map +0 -1
  239. package/dist/middlewares/powered-by.js +0 -14
  240. package/dist/middlewares/powered-by.js.map +0 -1
  241. package/dist/middlewares/powered-by.mjs +0 -14
  242. package/dist/middlewares/powered-by.mjs.map +0 -1
  243. package/dist/middlewares/public.js +0 -34
  244. package/dist/middlewares/public.js.map +0 -1
  245. package/dist/middlewares/public.mjs +0 -32
  246. package/dist/middlewares/public.mjs.map +0 -1
  247. package/dist/middlewares/query.js +0 -40
  248. package/dist/middlewares/query.js.map +0 -1
  249. package/dist/middlewares/query.mjs +0 -38
  250. package/dist/middlewares/query.mjs.map +0 -1
  251. package/dist/middlewares/response-time.js +0 -12
  252. package/dist/middlewares/response-time.js.map +0 -1
  253. package/dist/middlewares/response-time.mjs +0 -12
  254. package/dist/middlewares/response-time.mjs.map +0 -1
  255. package/dist/middlewares/responses.js +0 -15
  256. package/dist/middlewares/responses.js.map +0 -1
  257. package/dist/middlewares/responses.mjs +0 -15
  258. package/dist/middlewares/responses.mjs.map +0 -1
  259. package/dist/middlewares/security.js +0 -78
  260. package/dist/middlewares/security.js.map +0 -1
  261. package/dist/middlewares/security.mjs +0 -76
  262. package/dist/middlewares/security.mjs.map +0 -1
  263. package/dist/middlewares/session.js +0 -30
  264. package/dist/middlewares/session.js.map +0 -1
  265. package/dist/middlewares/session.mjs +0 -28
  266. package/dist/middlewares/session.mjs.map +0 -1
  267. package/dist/migrations/database/5.0.0-discard-drafts.js +0 -50
  268. package/dist/migrations/database/5.0.0-discard-drafts.js.map +0 -1
  269. package/dist/migrations/database/5.0.0-discard-drafts.mjs +0 -50
  270. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +0 -1
  271. package/dist/migrations/draft-publish.js +0 -42
  272. package/dist/migrations/draft-publish.js.map +0 -1
  273. package/dist/migrations/draft-publish.mjs +0 -42
  274. package/dist/migrations/draft-publish.mjs.map +0 -1
  275. package/dist/providers/admin.js +0 -20
  276. package/dist/providers/admin.js.map +0 -1
  277. package/dist/providers/admin.mjs +0 -21
  278. package/dist/providers/admin.mjs.map +0 -1
  279. package/dist/providers/coreStore.js +0 -11
  280. package/dist/providers/coreStore.js.map +0 -1
  281. package/dist/providers/coreStore.mjs +0 -12
  282. package/dist/providers/coreStore.mjs.map +0 -1
  283. package/dist/providers/cron.js +0 -20
  284. package/dist/providers/cron.js.map +0 -1
  285. package/dist/providers/cron.mjs +0 -21
  286. package/dist/providers/cron.mjs.map +0 -1
  287. package/dist/providers/index.js +0 -11
  288. package/dist/providers/index.js.map +0 -1
  289. package/dist/providers/index.mjs +0 -11
  290. package/dist/providers/index.mjs.map +0 -1
  291. package/dist/providers/provider.js +0 -5
  292. package/dist/providers/provider.js.map +0 -1
  293. package/dist/providers/provider.mjs +0 -5
  294. package/dist/providers/provider.mjs.map +0 -1
  295. package/dist/providers/registries.js +0 -35
  296. package/dist/providers/registries.js.map +0 -1
  297. package/dist/providers/registries.mjs +0 -36
  298. package/dist/providers/registries.mjs.map +0 -1
  299. package/dist/providers/telemetry.js +0 -19
  300. package/dist/providers/telemetry.js.map +0 -1
  301. package/dist/providers/telemetry.mjs +0 -20
  302. package/dist/providers/telemetry.mjs.map +0 -1
  303. package/dist/providers/webhooks.js +0 -30
  304. package/dist/providers/webhooks.js.map +0 -1
  305. package/dist/providers/webhooks.mjs +0 -31
  306. package/dist/providers/webhooks.mjs.map +0 -1
  307. package/dist/registries/apis.js +0 -23
  308. package/dist/registries/apis.js.map +0 -1
  309. package/dist/registries/apis.mjs +0 -24
  310. package/dist/registries/apis.mjs.map +0 -1
  311. package/dist/registries/components.js +0 -45
  312. package/dist/registries/components.js.map +0 -1
  313. package/dist/registries/components.mjs +0 -46
  314. package/dist/registries/components.mjs.map +0 -1
  315. package/dist/registries/content-types.js +0 -70
  316. package/dist/registries/content-types.js.map +0 -1
  317. package/dist/registries/content-types.mjs +0 -71
  318. package/dist/registries/content-types.mjs.map +0 -1
  319. package/dist/registries/controllers.js +0 -80
  320. package/dist/registries/controllers.js.map +0 -1
  321. package/dist/registries/controllers.mjs +0 -81
  322. package/dist/registries/controllers.mjs.map +0 -1
  323. package/dist/registries/custom-fields.js +0 -71
  324. package/dist/registries/custom-fields.js.map +0 -1
  325. package/dist/registries/custom-fields.mjs +0 -72
  326. package/dist/registries/custom-fields.mjs.map +0 -1
  327. package/dist/registries/hooks.js +0 -58
  328. package/dist/registries/hooks.js.map +0 -1
  329. package/dist/registries/hooks.mjs +0 -59
  330. package/dist/registries/hooks.mjs.map +0 -1
  331. package/dist/registries/middlewares.js +0 -60
  332. package/dist/registries/middlewares.js.map +0 -1
  333. package/dist/registries/middlewares.mjs +0 -61
  334. package/dist/registries/middlewares.mjs.map +0 -1
  335. package/dist/registries/models.js +0 -16
  336. package/dist/registries/models.js.map +0 -1
  337. package/dist/registries/models.mjs +0 -16
  338. package/dist/registries/models.mjs.map +0 -1
  339. package/dist/registries/modules.js +0 -39
  340. package/dist/registries/modules.js.map +0 -1
  341. package/dist/registries/modules.mjs +0 -40
  342. package/dist/registries/modules.mjs.map +0 -1
  343. package/dist/registries/namespace.js +0 -27
  344. package/dist/registries/namespace.js.map +0 -1
  345. package/dist/registries/namespace.mjs +0 -27
  346. package/dist/registries/namespace.mjs.map +0 -1
  347. package/dist/registries/plugins.js +0 -23
  348. package/dist/registries/plugins.js.map +0 -1
  349. package/dist/registries/plugins.mjs +0 -24
  350. package/dist/registries/plugins.mjs.map +0 -1
  351. package/dist/registries/policies.js +0 -108
  352. package/dist/registries/policies.js.map +0 -1
  353. package/dist/registries/policies.mjs +0 -109
  354. package/dist/registries/policies.mjs.map +0 -1
  355. package/dist/registries/sanitizers.js +0 -25
  356. package/dist/registries/sanitizers.js.map +0 -1
  357. package/dist/registries/sanitizers.mjs +0 -24
  358. package/dist/registries/sanitizers.mjs.map +0 -1
  359. package/dist/registries/services.js +0 -80
  360. package/dist/registries/services.js.map +0 -1
  361. package/dist/registries/services.mjs +0 -81
  362. package/dist/registries/services.mjs.map +0 -1
  363. package/dist/registries/validators.js +0 -25
  364. package/dist/registries/validators.js.map +0 -1
  365. package/dist/registries/validators.mjs +0 -24
  366. package/dist/registries/validators.mjs.map +0 -1
  367. package/dist/services/auth/index.js +0 -81
  368. package/dist/services/auth/index.js.map +0 -1
  369. package/dist/services/auth/index.mjs +0 -80
  370. package/dist/services/auth/index.mjs.map +0 -1
  371. package/dist/services/config.js +0 -47
  372. package/dist/services/config.js.map +0 -1
  373. package/dist/services/config.mjs +0 -47
  374. package/dist/services/config.mjs.map +0 -1
  375. package/dist/services/content-api/index.js +0 -85
  376. package/dist/services/content-api/index.js.map +0 -1
  377. package/dist/services/content-api/index.mjs +0 -84
  378. package/dist/services/content-api/index.mjs.map +0 -1
  379. package/dist/services/content-api/permissions/engine.js +0 -7
  380. package/dist/services/content-api/permissions/engine.js.map +0 -1
  381. package/dist/services/content-api/permissions/engine.mjs +0 -6
  382. package/dist/services/content-api/permissions/engine.mjs.map +0 -1
  383. package/dist/services/content-api/permissions/index.js +0 -87
  384. package/dist/services/content-api/permissions/index.js.map +0 -1
  385. package/dist/services/content-api/permissions/index.mjs +0 -86
  386. package/dist/services/content-api/permissions/index.mjs.map +0 -1
  387. package/dist/services/content-api/permissions/providers/action.js +0 -16
  388. package/dist/services/content-api/permissions/providers/action.js.map +0 -1
  389. package/dist/services/content-api/permissions/providers/action.mjs +0 -17
  390. package/dist/services/content-api/permissions/providers/action.mjs.map +0 -1
  391. package/dist/services/content-api/permissions/providers/condition.js +0 -16
  392. package/dist/services/content-api/permissions/providers/condition.js.map +0 -1
  393. package/dist/services/content-api/permissions/providers/condition.mjs +0 -17
  394. package/dist/services/content-api/permissions/providers/condition.mjs.map +0 -1
  395. package/dist/services/core-store.js +0 -107
  396. package/dist/services/core-store.js.map +0 -1
  397. package/dist/services/core-store.mjs +0 -107
  398. package/dist/services/core-store.mjs.map +0 -1
  399. package/dist/services/cron.js +0 -63
  400. package/dist/services/cron.js.map +0 -1
  401. package/dist/services/cron.mjs +0 -64
  402. package/dist/services/cron.mjs.map +0 -1
  403. package/dist/services/custom-fields.js +0 -10
  404. package/dist/services/custom-fields.js.map +0 -1
  405. package/dist/services/custom-fields.mjs +0 -11
  406. package/dist/services/custom-fields.mjs.map +0 -1
  407. package/dist/services/document-service/attributes/index.js +0 -22
  408. package/dist/services/document-service/attributes/index.js.map +0 -1
  409. package/dist/services/document-service/attributes/index.mjs +0 -22
  410. package/dist/services/document-service/attributes/index.mjs.map +0 -1
  411. package/dist/services/document-service/attributes/transforms.js +0 -20
  412. package/dist/services/document-service/attributes/transforms.js.map +0 -1
  413. package/dist/services/document-service/attributes/transforms.mjs +0 -19
  414. package/dist/services/document-service/attributes/transforms.mjs.map +0 -1
  415. package/dist/services/document-service/common.js +0 -7
  416. package/dist/services/document-service/common.js.map +0 -1
  417. package/dist/services/document-service/common.mjs +0 -7
  418. package/dist/services/document-service/common.mjs.map +0 -1
  419. package/dist/services/document-service/components.js +0 -288
  420. package/dist/services/document-service/components.js.map +0 -1
  421. package/dist/services/document-service/components.mjs +0 -286
  422. package/dist/services/document-service/components.mjs.map +0 -1
  423. package/dist/services/document-service/draft-and-publish.js +0 -69
  424. package/dist/services/document-service/draft-and-publish.js.map +0 -1
  425. package/dist/services/document-service/draft-and-publish.mjs +0 -69
  426. package/dist/services/document-service/draft-and-publish.mjs.map +0 -1
  427. package/dist/services/document-service/entries.js +0 -96
  428. package/dist/services/document-service/entries.js.map +0 -1
  429. package/dist/services/document-service/entries.mjs +0 -96
  430. package/dist/services/document-service/entries.mjs.map +0 -1
  431. package/dist/services/document-service/events.js +0 -47
  432. package/dist/services/document-service/events.js.map +0 -1
  433. package/dist/services/document-service/events.mjs +0 -47
  434. package/dist/services/document-service/events.mjs.map +0 -1
  435. package/dist/services/document-service/index.js +0 -35
  436. package/dist/services/document-service/index.js.map +0 -1
  437. package/dist/services/document-service/index.mjs +0 -35
  438. package/dist/services/document-service/index.mjs.map +0 -1
  439. package/dist/services/document-service/internationalization.js +0 -63
  440. package/dist/services/document-service/internationalization.js.map +0 -1
  441. package/dist/services/document-service/internationalization.mjs +0 -63
  442. package/dist/services/document-service/internationalization.mjs.map +0 -1
  443. package/dist/services/document-service/middlewares/errors.js +0 -25
  444. package/dist/services/document-service/middlewares/errors.js.map +0 -1
  445. package/dist/services/document-service/middlewares/errors.mjs +0 -25
  446. package/dist/services/document-service/middlewares/errors.mjs.map +0 -1
  447. package/dist/services/document-service/middlewares/middleware-manager.js +0 -49
  448. package/dist/services/document-service/middlewares/middleware-manager.js.map +0 -1
  449. package/dist/services/document-service/middlewares/middleware-manager.mjs +0 -49
  450. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +0 -1
  451. package/dist/services/document-service/params.js +0 -8
  452. package/dist/services/document-service/params.js.map +0 -1
  453. package/dist/services/document-service/params.mjs +0 -8
  454. package/dist/services/document-service/params.mjs.map +0 -1
  455. package/dist/services/document-service/repository.js +0 -309
  456. package/dist/services/document-service/repository.js.map +0 -1
  457. package/dist/services/document-service/repository.mjs +0 -309
  458. package/dist/services/document-service/repository.mjs.map +0 -1
  459. package/dist/services/document-service/transform/data.js +0 -15
  460. package/dist/services/document-service/transform/data.js.map +0 -1
  461. package/dist/services/document-service/transform/data.mjs +0 -15
  462. package/dist/services/document-service/transform/data.mjs.map +0 -1
  463. package/dist/services/document-service/transform/fields.js +0 -24
  464. package/dist/services/document-service/transform/fields.js.map +0 -1
  465. package/dist/services/document-service/transform/fields.mjs +0 -24
  466. package/dist/services/document-service/transform/fields.mjs.map +0 -1
  467. package/dist/services/document-service/transform/id-map.js +0 -78
  468. package/dist/services/document-service/transform/id-map.js.map +0 -1
  469. package/dist/services/document-service/transform/id-map.mjs +0 -78
  470. package/dist/services/document-service/transform/id-map.mjs.map +0 -1
  471. package/dist/services/document-service/transform/id-transform.js +0 -33
  472. package/dist/services/document-service/transform/id-transform.js.map +0 -1
  473. package/dist/services/document-service/transform/id-transform.mjs +0 -33
  474. package/dist/services/document-service/transform/id-transform.mjs.map +0 -1
  475. package/dist/services/document-service/transform/populate.js +0 -21
  476. package/dist/services/document-service/transform/populate.js.map +0 -1
  477. package/dist/services/document-service/transform/populate.mjs +0 -21
  478. package/dist/services/document-service/transform/populate.mjs.map +0 -1
  479. package/dist/services/document-service/transform/query.js +0 -9
  480. package/dist/services/document-service/transform/query.js.map +0 -1
  481. package/dist/services/document-service/transform/query.mjs +0 -9
  482. package/dist/services/document-service/transform/query.mjs.map +0 -1
  483. package/dist/services/document-service/transform/relations/extract/data-ids.js +0 -57
  484. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +0 -1
  485. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +0 -57
  486. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +0 -1
  487. package/dist/services/document-service/transform/relations/transform/data-ids.js +0 -76
  488. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +0 -1
  489. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +0 -76
  490. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +0 -1
  491. package/dist/services/document-service/transform/relations/transform/default-locale.js +0 -32
  492. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +0 -1
  493. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +0 -32
  494. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +0 -1
  495. package/dist/services/document-service/transform/relations/utils/dp.js +0 -30
  496. package/dist/services/document-service/transform/relations/utils/dp.js.map +0 -1
  497. package/dist/services/document-service/transform/relations/utils/dp.mjs +0 -30
  498. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +0 -1
  499. package/dist/services/document-service/transform/relations/utils/i18n.js +0 -25
  500. package/dist/services/document-service/transform/relations/utils/i18n.js.map +0 -1
  501. package/dist/services/document-service/transform/relations/utils/i18n.mjs +0 -25
  502. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +0 -1
  503. package/dist/services/document-service/transform/relations/utils/map-relation.js +0 -91
  504. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +0 -1
  505. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +0 -91
  506. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +0 -1
  507. package/dist/services/document-service/utils/populate.js +0 -45
  508. package/dist/services/document-service/utils/populate.js.map +0 -1
  509. package/dist/services/document-service/utils/populate.mjs +0 -45
  510. package/dist/services/document-service/utils/populate.mjs.map +0 -1
  511. package/dist/services/entity-service/index.js +0 -169
  512. package/dist/services/entity-service/index.js.map +0 -1
  513. package/dist/services/entity-service/index.mjs +0 -167
  514. package/dist/services/entity-service/index.mjs.map +0 -1
  515. package/dist/services/entity-validator/blocks-validator.js +0 -128
  516. package/dist/services/entity-validator/blocks-validator.js.map +0 -1
  517. package/dist/services/entity-validator/blocks-validator.mjs +0 -128
  518. package/dist/services/entity-validator/blocks-validator.mjs.map +0 -1
  519. package/dist/services/entity-validator/index.js +0 -385
  520. package/dist/services/entity-validator/index.js.map +0 -1
  521. package/dist/services/entity-validator/index.mjs +0 -384
  522. package/dist/services/entity-validator/index.mjs.map +0 -1
  523. package/dist/services/entity-validator/validators.js +0 -241
  524. package/dist/services/entity-validator/validators.js.map +0 -1
  525. package/dist/services/entity-validator/validators.mjs +0 -239
  526. package/dist/services/entity-validator/validators.mjs.map +0 -1
  527. package/dist/services/errors.js +0 -76
  528. package/dist/services/errors.js.map +0 -1
  529. package/dist/services/errors.mjs +0 -74
  530. package/dist/services/errors.mjs.map +0 -1
  531. package/dist/services/event-hub.js +0 -72
  532. package/dist/services/event-hub.js.map +0 -1
  533. package/dist/services/event-hub.mjs +0 -73
  534. package/dist/services/event-hub.mjs.map +0 -1
  535. package/dist/services/features.js +0 -17
  536. package/dist/services/features.js.map +0 -1
  537. package/dist/services/features.mjs +0 -17
  538. package/dist/services/features.mjs.map +0 -1
  539. package/dist/services/fs.js +0 -51
  540. package/dist/services/fs.js.map +0 -1
  541. package/dist/services/fs.mjs +0 -49
  542. package/dist/services/fs.mjs.map +0 -1
  543. package/dist/services/metrics/admin-user-hash.js +0 -14
  544. package/dist/services/metrics/admin-user-hash.js.map +0 -1
  545. package/dist/services/metrics/admin-user-hash.mjs +0 -12
  546. package/dist/services/metrics/admin-user-hash.mjs.map +0 -1
  547. package/dist/services/metrics/index.js +0 -45
  548. package/dist/services/metrics/index.js.map +0 -1
  549. package/dist/services/metrics/index.mjs +0 -46
  550. package/dist/services/metrics/index.mjs.map +0 -1
  551. package/dist/services/metrics/is-truthy.js +0 -9
  552. package/dist/services/metrics/is-truthy.js.map +0 -1
  553. package/dist/services/metrics/is-truthy.mjs +0 -8
  554. package/dist/services/metrics/is-truthy.mjs.map +0 -1
  555. package/dist/services/metrics/middleware.js +0 -25
  556. package/dist/services/metrics/middleware.js.map +0 -1
  557. package/dist/services/metrics/middleware.mjs +0 -26
  558. package/dist/services/metrics/middleware.mjs.map +0 -1
  559. package/dist/services/metrics/rate-limiter.js +0 -21
  560. package/dist/services/metrics/rate-limiter.js.map +0 -1
  561. package/dist/services/metrics/rate-limiter.mjs +0 -22
  562. package/dist/services/metrics/rate-limiter.mjs.map +0 -1
  563. package/dist/services/metrics/sender.js +0 -76
  564. package/dist/services/metrics/sender.js.map +0 -1
  565. package/dist/services/metrics/sender.mjs +0 -70
  566. package/dist/services/metrics/sender.mjs.map +0 -1
  567. package/dist/services/query-params.js +0 -12
  568. package/dist/services/query-params.js.map +0 -1
  569. package/dist/services/query-params.mjs +0 -13
  570. package/dist/services/query-params.mjs.map +0 -1
  571. package/dist/services/reloader.js +0 -36
  572. package/dist/services/reloader.js.map +0 -1
  573. package/dist/services/reloader.mjs +0 -36
  574. package/dist/services/reloader.mjs.map +0 -1
  575. package/dist/services/request-context.js +0 -13
  576. package/dist/services/request-context.js.map +0 -1
  577. package/dist/services/request-context.mjs +0 -14
  578. package/dist/services/request-context.mjs.map +0 -1
  579. package/dist/services/server/admin-api.js +0 -13
  580. package/dist/services/server/admin-api.js.map +0 -1
  581. package/dist/services/server/admin-api.mjs +0 -13
  582. package/dist/services/server/admin-api.mjs.map +0 -1
  583. package/dist/services/server/api.js +0 -30
  584. package/dist/services/server/api.js.map +0 -1
  585. package/dist/services/server/api.mjs +0 -28
  586. package/dist/services/server/api.mjs.map +0 -1
  587. package/dist/services/server/compose-endpoint.js +0 -117
  588. package/dist/services/server/compose-endpoint.js.map +0 -1
  589. package/dist/services/server/compose-endpoint.mjs +0 -116
  590. package/dist/services/server/compose-endpoint.mjs.map +0 -1
  591. package/dist/services/server/content-api.js +0 -12
  592. package/dist/services/server/content-api.js.map +0 -1
  593. package/dist/services/server/content-api.mjs +0 -12
  594. package/dist/services/server/content-api.mjs.map +0 -1
  595. package/dist/services/server/http-server.js +0 -50
  596. package/dist/services/server/http-server.js.map +0 -1
  597. package/dist/services/server/http-server.mjs +0 -48
  598. package/dist/services/server/http-server.mjs.map +0 -1
  599. package/dist/services/server/index.js +0 -87
  600. package/dist/services/server/index.js.map +0 -1
  601. package/dist/services/server/index.mjs +0 -85
  602. package/dist/services/server/index.mjs.map +0 -1
  603. package/dist/services/server/koa.js +0 -52
  604. package/dist/services/server/koa.js.map +0 -1
  605. package/dist/services/server/koa.mjs +0 -48
  606. package/dist/services/server/koa.mjs.map +0 -1
  607. package/dist/services/server/middleware.js +0 -92
  608. package/dist/services/server/middleware.js.map +0 -1
  609. package/dist/services/server/middleware.mjs +0 -90
  610. package/dist/services/server/middleware.mjs.map +0 -1
  611. package/dist/services/server/policy.js +0 -20
  612. package/dist/services/server/policy.js.map +0 -1
  613. package/dist/services/server/policy.mjs +0 -20
  614. package/dist/services/server/policy.mjs.map +0 -1
  615. package/dist/services/server/register-middlewares.js +0 -72
  616. package/dist/services/server/register-middlewares.js.map +0 -1
  617. package/dist/services/server/register-middlewares.mjs +0 -73
  618. package/dist/services/server/register-middlewares.mjs.map +0 -1
  619. package/dist/services/server/register-routes.js +0 -76
  620. package/dist/services/server/register-routes.js.map +0 -1
  621. package/dist/services/server/register-routes.mjs +0 -75
  622. package/dist/services/server/register-routes.mjs.map +0 -1
  623. package/dist/services/server/routing.js +0 -91
  624. package/dist/services/server/routing.js.map +0 -1
  625. package/dist/services/server/routing.mjs +0 -89
  626. package/dist/services/server/routing.mjs.map +0 -1
  627. package/dist/services/utils/dynamic-zones.js +0 -17
  628. package/dist/services/utils/dynamic-zones.js.map +0 -1
  629. package/dist/services/utils/dynamic-zones.mjs +0 -18
  630. package/dist/services/utils/dynamic-zones.mjs.map +0 -1
  631. package/dist/services/webhook-runner.js +0 -133
  632. package/dist/services/webhook-runner.js.map +0 -1
  633. package/dist/services/webhook-runner.mjs +0 -131
  634. package/dist/services/webhook-runner.mjs.map +0 -1
  635. package/dist/services/webhook-store.js +0 -110
  636. package/dist/services/webhook-store.js.map +0 -1
  637. package/dist/services/webhook-store.mjs +0 -110
  638. package/dist/services/webhook-store.mjs.map +0 -1
  639. package/dist/services/worker-queue.js +0 -56
  640. package/dist/services/worker-queue.js.map +0 -1
  641. package/dist/services/worker-queue.mjs +0 -55
  642. package/dist/services/worker-queue.mjs.map +0 -1
  643. package/dist/utils/convert-custom-field-type.js +0 -24
  644. package/dist/utils/convert-custom-field-type.js.map +0 -1
  645. package/dist/utils/convert-custom-field-type.mjs +0 -24
  646. package/dist/utils/convert-custom-field-type.mjs.map +0 -1
  647. package/dist/utils/cron.js +0 -38
  648. package/dist/utils/cron.js.map +0 -1
  649. package/dist/utils/cron.mjs +0 -38
  650. package/dist/utils/cron.mjs.map +0 -1
  651. package/dist/utils/fetch.js +0 -21
  652. package/dist/utils/fetch.js.map +0 -1
  653. package/dist/utils/fetch.mjs +0 -21
  654. package/dist/utils/fetch.mjs.map +0 -1
  655. package/dist/utils/filepath-to-prop-path.js +0 -33
  656. package/dist/utils/filepath-to-prop-path.js.map +0 -1
  657. package/dist/utils/filepath-to-prop-path.mjs +0 -30
  658. package/dist/utils/filepath-to-prop-path.mjs.map +0 -1
  659. package/dist/utils/is-initialized.js +0 -16
  660. package/dist/utils/is-initialized.js.map +0 -1
  661. package/dist/utils/is-initialized.mjs +0 -16
  662. package/dist/utils/is-initialized.mjs.map +0 -1
  663. package/dist/utils/lifecycles.js +0 -9
  664. package/dist/utils/lifecycles.js.map +0 -1
  665. package/dist/utils/lifecycles.mjs +0 -9
  666. package/dist/utils/lifecycles.mjs.map +0 -1
  667. package/dist/utils/load-config-file.js +0 -45
  668. package/dist/utils/load-config-file.js.map +0 -1
  669. package/dist/utils/load-config-file.mjs +0 -42
  670. package/dist/utils/load-config-file.mjs.map +0 -1
  671. package/dist/utils/load-files.js +0 -39
  672. package/dist/utils/load-files.js.map +0 -1
  673. package/dist/utils/load-files.mjs +0 -35
  674. package/dist/utils/load-files.mjs.map +0 -1
  675. package/dist/utils/open-browser.js +0 -11
  676. package/dist/utils/open-browser.js.map +0 -1
  677. package/dist/utils/open-browser.mjs +0 -9
  678. package/dist/utils/open-browser.mjs.map +0 -1
  679. package/dist/utils/resolve-working-dirs.js +0 -13
  680. package/dist/utils/resolve-working-dirs.js.map +0 -1
  681. package/dist/utils/resolve-working-dirs.mjs +0 -11
  682. package/dist/utils/resolve-working-dirs.mjs.map +0 -1
  683. package/dist/utils/signals.js +0 -17
  684. package/dist/utils/signals.js.map +0 -1
  685. package/dist/utils/signals.mjs +0 -17
  686. package/dist/utils/signals.mjs.map +0 -1
  687. package/dist/utils/startup-logger.js +0 -81
  688. package/dist/utils/startup-logger.js.map +0 -1
  689. package/dist/utils/startup-logger.mjs +0 -77
  690. package/dist/utils/startup-logger.mjs.map +0 -1
  691. package/dist/utils/transform-content-types-to-models.js +0 -288
  692. package/dist/utils/transform-content-types-to-models.js.map +0 -1
  693. package/dist/utils/transform-content-types-to-models.mjs +0 -285
  694. package/dist/utils/transform-content-types-to-models.mjs.map +0 -1
  695. package/dist/utils/update-notifier/index.js +0 -85
  696. package/dist/utils/update-notifier/index.js.map +0 -1
  697. package/dist/utils/update-notifier/index.mjs +0 -78
  698. package/dist/utils/update-notifier/index.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"dp.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/dp.ts"],"sourcesContent":["import { isNil } from 'lodash/fp';\n\nimport { contentTypes } from '@strapi/utils';\nimport { UID } from '@strapi/types';\n\nimport { LongHandDocument } from './types';\n\ntype Status = 'draft' | 'published';\n\nexport const getRelationTargetStatus = (\n relation: Pick<LongHandDocument, 'documentId' | 'status'>,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceStatus?: Status;\n }\n): Status[] => {\n // Ignore if the target content type does not have draft and publish enabled\n const targetContentType = strapi.getModel(opts.targetUid);\n const sourceContentType = strapi.getModel(opts.sourceUid);\n\n const targetHasDP = contentTypes.hasDraftAndPublish(targetContentType);\n const sourceHasDP = contentTypes.hasDraftAndPublish(sourceContentType);\n\n if (!targetHasDP) {\n return ['published'];\n }\n\n /**\n * If both source and target have DP enabled,\n * connect it to the same status as the source status\n */\n if (sourceHasDP && !isNil(opts.sourceStatus)) {\n return [opts.sourceStatus];\n }\n\n /**\n * Use the status from the relation if it's set\n */\n if (relation.status) {\n switch (relation.status) {\n case 'published':\n return ['published'];\n default:\n // Default to draft if it's an invalid status (e.g. modified)\n return ['draft'];\n }\n }\n\n /**\n * If DP is disabled and relation does not specify any status\n * Connect to both draft and published versions\n */\n if (!sourceHasDP) {\n return ['draft', 'published'];\n }\n\n // Default to draft as a fallback\n return ['draft'];\n};\n"],"names":[],"mappings":";;AASa,MAAA,0BAA0B,CACrC,UACA,SAKa;AAEb,QAAM,oBAAoB,OAAO,SAAS,KAAK,SAAS;AACxD,QAAM,oBAAoB,OAAO,SAAS,KAAK,SAAS;AAElD,QAAA,cAAc,aAAa,mBAAmB,iBAAiB;AAC/D,QAAA,cAAc,aAAa,mBAAmB,iBAAiB;AAErE,MAAI,CAAC,aAAa;AAChB,WAAO,CAAC,WAAW;AAAA,EACrB;AAMA,MAAI,eAAe,CAAC,MAAM,KAAK,YAAY,GAAG;AACrC,WAAA,CAAC,KAAK,YAAY;AAAA,EAC3B;AAKA,MAAI,SAAS,QAAQ;AACnB,YAAQ,SAAS,QAAQ;AAAA,MACvB,KAAK;AACH,eAAO,CAAC,WAAW;AAAA,MACrB;AAEE,eAAO,CAAC,OAAO;AAAA,IACnB;AAAA,EACF;AAMA,MAAI,CAAC,aAAa;AACT,WAAA,CAAC,SAAS,WAAW;AAAA,EAC9B;AAGA,SAAO,CAAC,OAAO;AACjB;"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const isLocalizedContentType = (uid) => {
4
- const model = strapi.getModel(uid);
5
- return strapi.plugin("i18n").service("content-types").isLocalizedContentType(model);
6
- };
7
- const getDefaultLocale = () => {
8
- return strapi.plugin("i18n").service("locales").getDefaultLocale();
9
- };
10
- const getRelationTargetLocale = (relation, opts) => {
11
- const targetLocale = relation.locale || opts.sourceLocale;
12
- const isTargetLocalized = isLocalizedContentType(opts.targetUid);
13
- const isSourceLocalized = isLocalizedContentType(opts.sourceUid);
14
- if (isSourceLocalized && isTargetLocalized) {
15
- return opts.sourceLocale;
16
- }
17
- if (isTargetLocalized) {
18
- return targetLocale;
19
- }
20
- return null;
21
- };
22
- exports.getDefaultLocale = getDefaultLocale;
23
- exports.getRelationTargetLocale = getRelationTargetLocale;
24
- exports.isLocalizedContentType = isLocalizedContentType;
25
- //# sourceMappingURL=i18n.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i18n.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import { UID } from '@strapi/types';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n return strapi.plugin('i18n').service('locales').getDefaultLocale();\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const targetLocale = relation.locale || opts.sourceLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Both source and target locales should match\n if (isSourceLocalized && isTargetLocalized) {\n return opts.sourceLocale;\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":[],"mappings":";;AAGa,MAAA,yBAAyB,CAAC,QAAoB;AACnD,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEO,MAAM,mBAAmB,MAAM;AACpC,SAAO,OAAO,OAAO,MAAM,EAAE,QAAQ,SAAS,EAAE;AAClD;AAEa,MAAA,0BAA0B,CACrC,UACA,SAKG;AACG,QAAA,eAAe,SAAS,UAAU,KAAK;AAEvC,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AACzD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AAG/D,MAAI,qBAAqB,mBAAmB;AAC1C,WAAO,KAAK;AAAA,EACd;AAEA,MAAI,mBAAmB;AACd,WAAA;AAAA,EACT;AAEO,SAAA;AACT;;;;"}
@@ -1,25 +0,0 @@
1
- const isLocalizedContentType = (uid) => {
2
- const model = strapi.getModel(uid);
3
- return strapi.plugin("i18n").service("content-types").isLocalizedContentType(model);
4
- };
5
- const getDefaultLocale = () => {
6
- return strapi.plugin("i18n").service("locales").getDefaultLocale();
7
- };
8
- const getRelationTargetLocale = (relation, opts) => {
9
- const targetLocale = relation.locale || opts.sourceLocale;
10
- const isTargetLocalized = isLocalizedContentType(opts.targetUid);
11
- const isSourceLocalized = isLocalizedContentType(opts.sourceUid);
12
- if (isSourceLocalized && isTargetLocalized) {
13
- return opts.sourceLocale;
14
- }
15
- if (isTargetLocalized) {
16
- return targetLocale;
17
- }
18
- return null;
19
- };
20
- export {
21
- getDefaultLocale,
22
- getRelationTargetLocale,
23
- isLocalizedContentType
24
- };
25
- //# sourceMappingURL=i18n.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i18n.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import { UID } from '@strapi/types';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n return strapi.plugin('i18n').service('locales').getDefaultLocale();\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const targetLocale = relation.locale || opts.sourceLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Both source and target locales should match\n if (isSourceLocalized && isTargetLocalized) {\n return opts.sourceLocale;\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":[],"mappings":"AAGa,MAAA,yBAAyB,CAAC,QAAoB;AACnD,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEO,MAAM,mBAAmB,MAAM;AACpC,SAAO,OAAO,OAAO,MAAM,EAAE,QAAQ,SAAS,EAAE;AAClD;AAEa,MAAA,0BAA0B,CACrC,UACA,SAKG;AACG,QAAA,eAAe,SAAS,UAAU,KAAK;AAEvC,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AACzD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AAG/D,MAAI,qBAAqB,mBAAmB;AAC1C,WAAO,KAAK;AAAA,EACd;AAEA,MAAI,mBAAmB;AACd,WAAA;AAAA,EACT;AAEO,SAAA;AACT;"}
@@ -1,91 +0,0 @@
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 isNumeric = (value) => {
6
- if (Array.isArray(value))
7
- return false;
8
- const parsed = parseInt(value, 10);
9
- return !Number.isNaN(parsed);
10
- };
11
- const toArray = (value) => {
12
- if (fp.isNil(value))
13
- return value;
14
- if (Array.isArray(value))
15
- return value;
16
- return [value];
17
- };
18
- const mapRelation = async (callback, rel, isRecursive = false) => {
19
- let relation = rel;
20
- const wrapInSet = (value) => {
21
- if (isRecursive) {
22
- return value;
23
- }
24
- return { set: toArray(value) };
25
- };
26
- if (fp.isNil(relation)) {
27
- return callback(relation);
28
- }
29
- if (Array.isArray(relation)) {
30
- return strapiUtils.async.map(relation, (r) => mapRelation(callback, r, true)).then((result) => result.flat().filter(Boolean)).then(wrapInSet);
31
- }
32
- if (fp.isObject(relation)) {
33
- if ("id" in relation || "documentId" in relation) {
34
- const result = await callback(relation);
35
- return wrapInSet(result);
36
- }
37
- if (!relation.set && !relation.disconnect && !relation.connect) {
38
- return callback(relation);
39
- }
40
- if (relation.set) {
41
- const set = await mapRelation(callback, relation.set, true);
42
- relation = { ...relation, set: toArray(set) };
43
- }
44
- if (relation.disconnect) {
45
- const disconnect = await mapRelation(callback, relation.disconnect, true);
46
- relation = { ...relation, disconnect: toArray(disconnect) };
47
- }
48
- if (relation.connect) {
49
- const connect = await mapRelation(callback, relation.connect, true);
50
- relation = { ...relation, connect: toArray(connect) };
51
- }
52
- return relation;
53
- }
54
- if (isNumeric(relation)) {
55
- const result = await callback({ id: relation });
56
- return wrapInSet(result);
57
- }
58
- if (typeof relation === "string") {
59
- const result = await callback({ documentId: relation });
60
- return wrapInSet(result);
61
- }
62
- return callback(relation);
63
- };
64
- const traverseEntityRelations = async (visitor, options, data) => {
65
- return strapiUtils.traverseEntity(
66
- async (options2, utils) => {
67
- const { attribute } = options2;
68
- if (!attribute) {
69
- return;
70
- }
71
- if (attribute.type !== "relation") {
72
- return;
73
- }
74
- if (attribute.useJoinTable === false) {
75
- return;
76
- }
77
- const target = attribute.target;
78
- if (!target) {
79
- return;
80
- }
81
- return visitor(options2, utils);
82
- },
83
- options,
84
- data
85
- );
86
- };
87
- const mapRelationCurried = fp.curry(mapRelation);
88
- const traverseEntityRelationsCurried = fp.curry(traverseEntityRelations);
89
- exports.mapRelation = mapRelationCurried;
90
- exports.traverseEntityRelations = traverseEntityRelationsCurried;
91
- //# sourceMappingURL=map-relation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map-relation.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/map-relation.ts"],"sourcesContent":["/* eslint-disable node/no-callback-literal */\nimport { isObject, curry, isNil } from 'lodash/fp';\n\nimport type { UID } from '@strapi/types';\nimport { traverseEntity, async } from '@strapi/utils';\n\nimport { Relation } from './types';\n\nconst isNumeric = (value: any): value is number => {\n if (Array.isArray(value)) return false; // Handle [1, 'docId'] case\n const parsed = parseInt(value, 10);\n return !Number.isNaN(parsed);\n};\n\nconst toArray = (value: any) => {\n // Keep value as it is if it's a nullish value\n if (isNil(value)) return value;\n if (Array.isArray(value)) return value;\n\n return [value];\n};\n\n/**\n * There are multiple ways to create Strapi relations.\n * This is a utility to traverse and transform relation data\n *\n *\n * For consistency and ease of use, the response will always be an object with the following shape:\n * { set: [{...}], connect: [{...}], disconnect: [{...}] }\n *\n * @example\n * transformRelationData({\n * onLongHand: (relation) => {\n * // Change the id of the relation\n * return { id: 'other' };\n * },\n * }, relation)\n */\nconst mapRelation = async (\n callback: (relation: any) => any,\n rel: Relation,\n isRecursive = false\n): Promise<Relation> => {\n let relation: Relation = rel;\n\n const wrapInSet = (value: any) => {\n // Ignore wrapping if it's a recursive call\n if (isRecursive) {\n return value;\n }\n return { set: toArray(value) };\n };\n\n // undefined | null\n if (isNil(relation)) {\n return callback(relation);\n }\n\n // LongHand[] | ShortHand[]\n if (Array.isArray(relation)) {\n return async\n .map(relation, (r: Relation) => mapRelation(callback, r, true))\n .then((result: any) => result.flat().filter(Boolean))\n .then(wrapInSet);\n }\n\n // LongHand\n if (isObject(relation)) {\n // { id: 1 } || { documentId: 1 }\n if ('id' in relation || 'documentId' in relation) {\n const result = await callback(relation);\n return wrapInSet(result);\n }\n\n // If not connecting anything, return default visitor\n if (!relation.set && !relation.disconnect && !relation.connect) {\n return callback(relation);\n }\n\n // { set }\n if (relation.set) {\n const set: any = await mapRelation(callback, relation.set, true);\n relation = { ...relation, set: toArray(set) };\n }\n\n // { disconnect}\n if (relation.disconnect) {\n const disconnect: any = await mapRelation(callback, relation.disconnect, true);\n relation = { ...relation, disconnect: toArray(disconnect) };\n }\n\n // { connect }\n if (relation.connect) {\n // Transform the relation to connect\n const connect: any = await mapRelation(callback, relation.connect, true);\n relation = { ...relation, connect: toArray(connect) };\n }\n\n return relation;\n }\n\n // ShortHand\n if (isNumeric(relation)) {\n const result = await callback({ id: relation });\n return wrapInSet(result);\n }\n\n if (typeof relation === 'string') {\n const result = await callback({ documentId: relation });\n return wrapInSet(result);\n }\n\n // Anything else\n return callback(relation);\n};\n\ntype TraverseEntity = Parameters<typeof traverseEntity>;\n\n/**\n * Utility function, same as `traverseEntity` but only for relations.\n */\nconst traverseEntityRelations = async (\n visitor: TraverseEntity[0],\n options: TraverseEntity[1],\n data: TraverseEntity[2]\n) => {\n return traverseEntity(\n async (options, utils) => {\n const { attribute } = options;\n\n if (!attribute) {\n return;\n }\n\n if (attribute.type !== 'relation') {\n return;\n }\n\n // TODO: Handle join columns\n if (attribute.useJoinTable === false) {\n return;\n }\n\n // TODO: Handle morph relations (they have multiple targets)\n const target = attribute.target as UID.Schema | undefined;\n if (!target) {\n return;\n }\n\n return visitor(options, utils);\n },\n options,\n data\n );\n};\n\nconst mapRelationCurried = curry(mapRelation);\nconst traverseEntityRelationsCurried = curry(traverseEntityRelations);\n\nexport {\n mapRelationCurried as mapRelation,\n traverseEntityRelationsCurried as traverseEntityRelations,\n};\n"],"names":["isNil","async","isObject","traverseEntity","options","curry"],"mappings":";;;;AAQA,MAAM,YAAY,CAAC,UAAgC;AAC7C,MAAA,MAAM,QAAQ,KAAK;AAAU,WAAA;AAC3B,QAAA,SAAS,SAAS,OAAO,EAAE;AAC1B,SAAA,CAAC,OAAO,MAAM,MAAM;AAC7B;AAEA,MAAM,UAAU,CAAC,UAAe;AAE9B,MAAIA,GAAAA,MAAM,KAAK;AAAU,WAAA;AACrB,MAAA,MAAM,QAAQ,KAAK;AAAU,WAAA;AAEjC,SAAO,CAAC,KAAK;AACf;AAkBA,MAAM,cAAc,OAClB,UACA,KACA,cAAc,UACQ;AACtB,MAAI,WAAqB;AAEnB,QAAA,YAAY,CAAC,UAAe;AAEhC,QAAI,aAAa;AACR,aAAA;AAAA,IACT;AACA,WAAO,EAAE,KAAK,QAAQ,KAAK,EAAE;AAAA,EAAA;AAI3B,MAAAA,GAAAA,MAAM,QAAQ,GAAG;AACnB,WAAO,SAAS,QAAQ;AAAA,EAC1B;AAGI,MAAA,MAAM,QAAQ,QAAQ,GAAG;AACpB,WAAAC,YAAA,MACJ,IAAI,UAAU,CAAC,MAAgB,YAAY,UAAU,GAAG,IAAI,CAAC,EAC7D,KAAK,CAAC,WAAgB,OAAO,OAAO,OAAO,OAAO,CAAC,EACnD,KAAK,SAAS;AAAA,EACnB;AAGI,MAAAC,GAAAA,SAAS,QAAQ,GAAG;AAElB,QAAA,QAAQ,YAAY,gBAAgB,UAAU;AAC1C,YAAA,SAAS,MAAM,SAAS,QAAQ;AACtC,aAAO,UAAU,MAAM;AAAA,IACzB;AAGI,QAAA,CAAC,SAAS,OAAO,CAAC,SAAS,cAAc,CAAC,SAAS,SAAS;AAC9D,aAAO,SAAS,QAAQ;AAAA,IAC1B;AAGA,QAAI,SAAS,KAAK;AAChB,YAAM,MAAW,MAAM,YAAY,UAAU,SAAS,KAAK,IAAI;AAC/D,iBAAW,EAAE,GAAG,UAAU,KAAK,QAAQ,GAAG;IAC5C;AAGA,QAAI,SAAS,YAAY;AACvB,YAAM,aAAkB,MAAM,YAAY,UAAU,SAAS,YAAY,IAAI;AAC7E,iBAAW,EAAE,GAAG,UAAU,YAAY,QAAQ,UAAU;IAC1D;AAGA,QAAI,SAAS,SAAS;AAEpB,YAAM,UAAe,MAAM,YAAY,UAAU,SAAS,SAAS,IAAI;AACvE,iBAAW,EAAE,GAAG,UAAU,SAAS,QAAQ,OAAO;IACpD;AAEO,WAAA;AAAA,EACT;AAGI,MAAA,UAAU,QAAQ,GAAG;AACvB,UAAM,SAAS,MAAM,SAAS,EAAE,IAAI,SAAU,CAAA;AAC9C,WAAO,UAAU,MAAM;AAAA,EACzB;AAEI,MAAA,OAAO,aAAa,UAAU;AAChC,UAAM,SAAS,MAAM,SAAS,EAAE,YAAY,SAAU,CAAA;AACtD,WAAO,UAAU,MAAM;AAAA,EACzB;AAGA,SAAO,SAAS,QAAQ;AAC1B;AAOA,MAAM,0BAA0B,OAC9B,SACA,SACA,SACG;AACI,SAAAC,YAAA;AAAA,IACL,OAAOC,UAAS,UAAU;AAClB,YAAA,EAAE,UAAcA,IAAAA;AAEtB,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAEI,UAAA,UAAU,SAAS,YAAY;AACjC;AAAA,MACF;AAGI,UAAA,UAAU,iBAAiB,OAAO;AACpC;AAAA,MACF;AAGA,YAAM,SAAS,UAAU;AACzB,UAAI,CAAC,QAAQ;AACX;AAAA,MACF;AAEO,aAAA,QAAQA,UAAS,KAAK;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEM,MAAA,qBAAqBC,SAAM,WAAW;AACtC,MAAA,iCAAiCA,SAAM,uBAAuB;;;"}
@@ -1,91 +0,0 @@
1
- import { curry, isNil, isObject } from "lodash/fp";
2
- import { async, traverseEntity } from "@strapi/utils";
3
- const isNumeric = (value) => {
4
- if (Array.isArray(value))
5
- return false;
6
- const parsed = parseInt(value, 10);
7
- return !Number.isNaN(parsed);
8
- };
9
- const toArray = (value) => {
10
- if (isNil(value))
11
- return value;
12
- if (Array.isArray(value))
13
- return value;
14
- return [value];
15
- };
16
- const mapRelation = async (callback, rel, isRecursive = false) => {
17
- let relation = rel;
18
- const wrapInSet = (value) => {
19
- if (isRecursive) {
20
- return value;
21
- }
22
- return { set: toArray(value) };
23
- };
24
- if (isNil(relation)) {
25
- return callback(relation);
26
- }
27
- if (Array.isArray(relation)) {
28
- return async.map(relation, (r) => mapRelation(callback, r, true)).then((result) => result.flat().filter(Boolean)).then(wrapInSet);
29
- }
30
- if (isObject(relation)) {
31
- if ("id" in relation || "documentId" in relation) {
32
- const result = await callback(relation);
33
- return wrapInSet(result);
34
- }
35
- if (!relation.set && !relation.disconnect && !relation.connect) {
36
- return callback(relation);
37
- }
38
- if (relation.set) {
39
- const set = await mapRelation(callback, relation.set, true);
40
- relation = { ...relation, set: toArray(set) };
41
- }
42
- if (relation.disconnect) {
43
- const disconnect = await mapRelation(callback, relation.disconnect, true);
44
- relation = { ...relation, disconnect: toArray(disconnect) };
45
- }
46
- if (relation.connect) {
47
- const connect = await mapRelation(callback, relation.connect, true);
48
- relation = { ...relation, connect: toArray(connect) };
49
- }
50
- return relation;
51
- }
52
- if (isNumeric(relation)) {
53
- const result = await callback({ id: relation });
54
- return wrapInSet(result);
55
- }
56
- if (typeof relation === "string") {
57
- const result = await callback({ documentId: relation });
58
- return wrapInSet(result);
59
- }
60
- return callback(relation);
61
- };
62
- const traverseEntityRelations = async (visitor, options, data) => {
63
- return traverseEntity(
64
- async (options2, utils) => {
65
- const { attribute } = options2;
66
- if (!attribute) {
67
- return;
68
- }
69
- if (attribute.type !== "relation") {
70
- return;
71
- }
72
- if (attribute.useJoinTable === false) {
73
- return;
74
- }
75
- const target = attribute.target;
76
- if (!target) {
77
- return;
78
- }
79
- return visitor(options2, utils);
80
- },
81
- options,
82
- data
83
- );
84
- };
85
- const mapRelationCurried = curry(mapRelation);
86
- const traverseEntityRelationsCurried = curry(traverseEntityRelations);
87
- export {
88
- mapRelationCurried as mapRelation,
89
- traverseEntityRelationsCurried as traverseEntityRelations
90
- };
91
- //# sourceMappingURL=map-relation.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map-relation.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/map-relation.ts"],"sourcesContent":["/* eslint-disable node/no-callback-literal */\nimport { isObject, curry, isNil } from 'lodash/fp';\n\nimport type { UID } from '@strapi/types';\nimport { traverseEntity, async } from '@strapi/utils';\n\nimport { Relation } from './types';\n\nconst isNumeric = (value: any): value is number => {\n if (Array.isArray(value)) return false; // Handle [1, 'docId'] case\n const parsed = parseInt(value, 10);\n return !Number.isNaN(parsed);\n};\n\nconst toArray = (value: any) => {\n // Keep value as it is if it's a nullish value\n if (isNil(value)) return value;\n if (Array.isArray(value)) return value;\n\n return [value];\n};\n\n/**\n * There are multiple ways to create Strapi relations.\n * This is a utility to traverse and transform relation data\n *\n *\n * For consistency and ease of use, the response will always be an object with the following shape:\n * { set: [{...}], connect: [{...}], disconnect: [{...}] }\n *\n * @example\n * transformRelationData({\n * onLongHand: (relation) => {\n * // Change the id of the relation\n * return { id: 'other' };\n * },\n * }, relation)\n */\nconst mapRelation = async (\n callback: (relation: any) => any,\n rel: Relation,\n isRecursive = false\n): Promise<Relation> => {\n let relation: Relation = rel;\n\n const wrapInSet = (value: any) => {\n // Ignore wrapping if it's a recursive call\n if (isRecursive) {\n return value;\n }\n return { set: toArray(value) };\n };\n\n // undefined | null\n if (isNil(relation)) {\n return callback(relation);\n }\n\n // LongHand[] | ShortHand[]\n if (Array.isArray(relation)) {\n return async\n .map(relation, (r: Relation) => mapRelation(callback, r, true))\n .then((result: any) => result.flat().filter(Boolean))\n .then(wrapInSet);\n }\n\n // LongHand\n if (isObject(relation)) {\n // { id: 1 } || { documentId: 1 }\n if ('id' in relation || 'documentId' in relation) {\n const result = await callback(relation);\n return wrapInSet(result);\n }\n\n // If not connecting anything, return default visitor\n if (!relation.set && !relation.disconnect && !relation.connect) {\n return callback(relation);\n }\n\n // { set }\n if (relation.set) {\n const set: any = await mapRelation(callback, relation.set, true);\n relation = { ...relation, set: toArray(set) };\n }\n\n // { disconnect}\n if (relation.disconnect) {\n const disconnect: any = await mapRelation(callback, relation.disconnect, true);\n relation = { ...relation, disconnect: toArray(disconnect) };\n }\n\n // { connect }\n if (relation.connect) {\n // Transform the relation to connect\n const connect: any = await mapRelation(callback, relation.connect, true);\n relation = { ...relation, connect: toArray(connect) };\n }\n\n return relation;\n }\n\n // ShortHand\n if (isNumeric(relation)) {\n const result = await callback({ id: relation });\n return wrapInSet(result);\n }\n\n if (typeof relation === 'string') {\n const result = await callback({ documentId: relation });\n return wrapInSet(result);\n }\n\n // Anything else\n return callback(relation);\n};\n\ntype TraverseEntity = Parameters<typeof traverseEntity>;\n\n/**\n * Utility function, same as `traverseEntity` but only for relations.\n */\nconst traverseEntityRelations = async (\n visitor: TraverseEntity[0],\n options: TraverseEntity[1],\n data: TraverseEntity[2]\n) => {\n return traverseEntity(\n async (options, utils) => {\n const { attribute } = options;\n\n if (!attribute) {\n return;\n }\n\n if (attribute.type !== 'relation') {\n return;\n }\n\n // TODO: Handle join columns\n if (attribute.useJoinTable === false) {\n return;\n }\n\n // TODO: Handle morph relations (they have multiple targets)\n const target = attribute.target as UID.Schema | undefined;\n if (!target) {\n return;\n }\n\n return visitor(options, utils);\n },\n options,\n data\n );\n};\n\nconst mapRelationCurried = curry(mapRelation);\nconst traverseEntityRelationsCurried = curry(traverseEntityRelations);\n\nexport {\n mapRelationCurried as mapRelation,\n traverseEntityRelationsCurried as traverseEntityRelations,\n};\n"],"names":["options"],"mappings":";;AAQA,MAAM,YAAY,CAAC,UAAgC;AAC7C,MAAA,MAAM,QAAQ,KAAK;AAAU,WAAA;AAC3B,QAAA,SAAS,SAAS,OAAO,EAAE;AAC1B,SAAA,CAAC,OAAO,MAAM,MAAM;AAC7B;AAEA,MAAM,UAAU,CAAC,UAAe;AAE9B,MAAI,MAAM,KAAK;AAAU,WAAA;AACrB,MAAA,MAAM,QAAQ,KAAK;AAAU,WAAA;AAEjC,SAAO,CAAC,KAAK;AACf;AAkBA,MAAM,cAAc,OAClB,UACA,KACA,cAAc,UACQ;AACtB,MAAI,WAAqB;AAEnB,QAAA,YAAY,CAAC,UAAe;AAEhC,QAAI,aAAa;AACR,aAAA;AAAA,IACT;AACA,WAAO,EAAE,KAAK,QAAQ,KAAK,EAAE;AAAA,EAAA;AAI3B,MAAA,MAAM,QAAQ,GAAG;AACnB,WAAO,SAAS,QAAQ;AAAA,EAC1B;AAGI,MAAA,MAAM,QAAQ,QAAQ,GAAG;AACpB,WAAA,MACJ,IAAI,UAAU,CAAC,MAAgB,YAAY,UAAU,GAAG,IAAI,CAAC,EAC7D,KAAK,CAAC,WAAgB,OAAO,OAAO,OAAO,OAAO,CAAC,EACnD,KAAK,SAAS;AAAA,EACnB;AAGI,MAAA,SAAS,QAAQ,GAAG;AAElB,QAAA,QAAQ,YAAY,gBAAgB,UAAU;AAC1C,YAAA,SAAS,MAAM,SAAS,QAAQ;AACtC,aAAO,UAAU,MAAM;AAAA,IACzB;AAGI,QAAA,CAAC,SAAS,OAAO,CAAC,SAAS,cAAc,CAAC,SAAS,SAAS;AAC9D,aAAO,SAAS,QAAQ;AAAA,IAC1B;AAGA,QAAI,SAAS,KAAK;AAChB,YAAM,MAAW,MAAM,YAAY,UAAU,SAAS,KAAK,IAAI;AAC/D,iBAAW,EAAE,GAAG,UAAU,KAAK,QAAQ,GAAG;IAC5C;AAGA,QAAI,SAAS,YAAY;AACvB,YAAM,aAAkB,MAAM,YAAY,UAAU,SAAS,YAAY,IAAI;AAC7E,iBAAW,EAAE,GAAG,UAAU,YAAY,QAAQ,UAAU;IAC1D;AAGA,QAAI,SAAS,SAAS;AAEpB,YAAM,UAAe,MAAM,YAAY,UAAU,SAAS,SAAS,IAAI;AACvE,iBAAW,EAAE,GAAG,UAAU,SAAS,QAAQ,OAAO;IACpD;AAEO,WAAA;AAAA,EACT;AAGI,MAAA,UAAU,QAAQ,GAAG;AACvB,UAAM,SAAS,MAAM,SAAS,EAAE,IAAI,SAAU,CAAA;AAC9C,WAAO,UAAU,MAAM;AAAA,EACzB;AAEI,MAAA,OAAO,aAAa,UAAU;AAChC,UAAM,SAAS,MAAM,SAAS,EAAE,YAAY,SAAU,CAAA;AACtD,WAAO,UAAU,MAAM;AAAA,EACzB;AAGA,SAAO,SAAS,QAAQ;AAC1B;AAOA,MAAM,0BAA0B,OAC9B,SACA,SACA,SACG;AACI,SAAA;AAAA,IACL,OAAOA,UAAS,UAAU;AAClB,YAAA,EAAE,UAAcA,IAAAA;AAEtB,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAEI,UAAA,UAAU,SAAS,YAAY;AACjC;AAAA,MACF;AAGI,UAAA,UAAU,iBAAiB,OAAO;AACpC;AAAA,MACF;AAGA,YAAM,SAAS,UAAU;AACzB,UAAI,CAAC,QAAQ;AACX;AAAA,MACF;AAEO,aAAA,QAAQA,UAAS,KAAK;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEM,MAAA,qBAAqB,MAAM,WAAW;AACtC,MAAA,iCAAiC,MAAM,uBAAuB;"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const strapiUtils = require("@strapi/utils");
4
- const getDeepPopulate = (uid, opts = {}) => {
5
- const model = strapi.getModel(uid);
6
- const attributes = Object.entries(model.attributes);
7
- return attributes.reduce((acc, [attributeName, attribute]) => {
8
- switch (attribute.type) {
9
- case "relation": {
10
- const isMorphRelation = attribute.relation.toLowerCase().startsWith("morph");
11
- if (isMorphRelation) {
12
- break;
13
- }
14
- const isVisible = strapiUtils.contentTypes.isVisibleAttribute(model, attributeName);
15
- if (isVisible) {
16
- acc[attributeName] = { select: opts.relationalFields };
17
- }
18
- break;
19
- }
20
- case "media": {
21
- acc[attributeName] = { select: ["id"] };
22
- break;
23
- }
24
- case "component": {
25
- const populate = getDeepPopulate(attribute.component, opts);
26
- acc[attributeName] = { populate };
27
- break;
28
- }
29
- case "dynamiczone": {
30
- const populatedComponents = (attribute.components || []).reduce(
31
- (acc2, componentUID) => {
32
- acc2[componentUID] = { populate: getDeepPopulate(componentUID, opts) };
33
- return acc2;
34
- },
35
- {}
36
- );
37
- acc[attributeName] = { on: populatedComponents };
38
- break;
39
- }
40
- }
41
- return acc;
42
- }, {});
43
- };
44
- exports.getDeepPopulate = getDeepPopulate;
45
- //# sourceMappingURL=populate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"populate.js","sources":["../../../../src/services/document-service/utils/populate.ts"],"sourcesContent":["import { UID } from '@strapi/types';\nimport { contentTypes } from '@strapi/utils';\n\ninterface Options {\n /**\n * Fields to select when populating relations\n */\n relationalFields?: string[];\n}\n\n// We want to build a populate object based on the schema\nexport const getDeepPopulate = (uid: UID.Schema, opts: Options = {}) => {\n const model = strapi.getModel(uid);\n const attributes = Object.entries(model.attributes);\n\n return attributes.reduce((acc: any, [attributeName, attribute]) => {\n switch (attribute.type) {\n case 'relation': {\n // TODO: Support polymorphic relations\n const isMorphRelation = attribute.relation.toLowerCase().startsWith('morph');\n if (isMorphRelation) {\n break;\n }\n\n // TODO: Should this just be a plain list?\n // Ignore createdBy, updatedBy, ...\n const isVisible = contentTypes.isVisibleAttribute(model, attributeName);\n if (isVisible) {\n acc[attributeName] = { select: opts.relationalFields };\n }\n break;\n }\n\n case 'media': {\n acc[attributeName] = { select: ['id'] };\n break;\n }\n\n case 'component': {\n const populate = getDeepPopulate(attribute.component, opts);\n acc[attributeName] = { populate };\n break;\n }\n\n case 'dynamiczone': {\n // Use fragments to populate the dynamic zone components\n const populatedComponents = (attribute.components || []).reduce(\n (acc: any, componentUID: UID.Component) => {\n acc[componentUID] = { populate: getDeepPopulate(componentUID, opts) };\n return acc;\n },\n {}\n );\n\n acc[attributeName] = { on: populatedComponents };\n break;\n }\n default:\n break;\n }\n\n return acc;\n }, {});\n};\n"],"names":["contentTypes","acc"],"mappings":";;;AAWO,MAAM,kBAAkB,CAAC,KAAiB,OAAgB,OAAO;AAChE,QAAA,QAAQ,OAAO,SAAS,GAAG;AACjC,QAAM,aAAa,OAAO,QAAQ,MAAM,UAAU;AAElD,SAAO,WAAW,OAAO,CAAC,KAAU,CAAC,eAAe,SAAS,MAAM;AACjE,YAAQ,UAAU,MAAM;AAAA,MACtB,KAAK,YAAY;AAEf,cAAM,kBAAkB,UAAU,SAAS,YAAY,EAAE,WAAW,OAAO;AAC3E,YAAI,iBAAiB;AACnB;AAAA,QACF;AAIA,cAAM,YAAYA,YAAA,aAAa,mBAAmB,OAAO,aAAa;AACtE,YAAI,WAAW;AACb,cAAI,aAAa,IAAI,EAAE,QAAQ,KAAK,iBAAiB;AAAA,QACvD;AACA;AAAA,MACF;AAAA,MAEA,KAAK,SAAS;AACZ,YAAI,aAAa,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;AACtC;AAAA,MACF;AAAA,MAEA,KAAK,aAAa;AAChB,cAAM,WAAW,gBAAgB,UAAU,WAAW,IAAI;AACtD,YAAA,aAAa,IAAI,EAAE;AACvB;AAAA,MACF;AAAA,MAEA,KAAK,eAAe;AAElB,cAAM,uBAAuB,UAAU,cAAc,CAAI,GAAA;AAAA,UACvD,CAACC,MAAU,iBAAgC;AACzCA,iBAAI,YAAY,IAAI,EAAE,UAAU,gBAAgB,cAAc,IAAI;AAC3DA,mBAAAA;AAAAA,UACT;AAAA,UACA,CAAC;AAAA,QAAA;AAGH,YAAI,aAAa,IAAI,EAAE,IAAI,oBAAoB;AAC/C;AAAA,MACF;AAAA,IAGF;AAEO,WAAA;AAAA,EACT,GAAG,CAAE,CAAA;AACP;;"}
@@ -1,45 +0,0 @@
1
- import { contentTypes } from "@strapi/utils";
2
- const getDeepPopulate = (uid, opts = {}) => {
3
- const model = strapi.getModel(uid);
4
- const attributes = Object.entries(model.attributes);
5
- return attributes.reduce((acc, [attributeName, attribute]) => {
6
- switch (attribute.type) {
7
- case "relation": {
8
- const isMorphRelation = attribute.relation.toLowerCase().startsWith("morph");
9
- if (isMorphRelation) {
10
- break;
11
- }
12
- const isVisible = contentTypes.isVisibleAttribute(model, attributeName);
13
- if (isVisible) {
14
- acc[attributeName] = { select: opts.relationalFields };
15
- }
16
- break;
17
- }
18
- case "media": {
19
- acc[attributeName] = { select: ["id"] };
20
- break;
21
- }
22
- case "component": {
23
- const populate = getDeepPopulate(attribute.component, opts);
24
- acc[attributeName] = { populate };
25
- break;
26
- }
27
- case "dynamiczone": {
28
- const populatedComponents = (attribute.components || []).reduce(
29
- (acc2, componentUID) => {
30
- acc2[componentUID] = { populate: getDeepPopulate(componentUID, opts) };
31
- return acc2;
32
- },
33
- {}
34
- );
35
- acc[attributeName] = { on: populatedComponents };
36
- break;
37
- }
38
- }
39
- return acc;
40
- }, {});
41
- };
42
- export {
43
- getDeepPopulate
44
- };
45
- //# sourceMappingURL=populate.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"populate.mjs","sources":["../../../../src/services/document-service/utils/populate.ts"],"sourcesContent":["import { UID } from '@strapi/types';\nimport { contentTypes } from '@strapi/utils';\n\ninterface Options {\n /**\n * Fields to select when populating relations\n */\n relationalFields?: string[];\n}\n\n// We want to build a populate object based on the schema\nexport const getDeepPopulate = (uid: UID.Schema, opts: Options = {}) => {\n const model = strapi.getModel(uid);\n const attributes = Object.entries(model.attributes);\n\n return attributes.reduce((acc: any, [attributeName, attribute]) => {\n switch (attribute.type) {\n case 'relation': {\n // TODO: Support polymorphic relations\n const isMorphRelation = attribute.relation.toLowerCase().startsWith('morph');\n if (isMorphRelation) {\n break;\n }\n\n // TODO: Should this just be a plain list?\n // Ignore createdBy, updatedBy, ...\n const isVisible = contentTypes.isVisibleAttribute(model, attributeName);\n if (isVisible) {\n acc[attributeName] = { select: opts.relationalFields };\n }\n break;\n }\n\n case 'media': {\n acc[attributeName] = { select: ['id'] };\n break;\n }\n\n case 'component': {\n const populate = getDeepPopulate(attribute.component, opts);\n acc[attributeName] = { populate };\n break;\n }\n\n case 'dynamiczone': {\n // Use fragments to populate the dynamic zone components\n const populatedComponents = (attribute.components || []).reduce(\n (acc: any, componentUID: UID.Component) => {\n acc[componentUID] = { populate: getDeepPopulate(componentUID, opts) };\n return acc;\n },\n {}\n );\n\n acc[attributeName] = { on: populatedComponents };\n break;\n }\n default:\n break;\n }\n\n return acc;\n }, {});\n};\n"],"names":["acc"],"mappings":";AAWO,MAAM,kBAAkB,CAAC,KAAiB,OAAgB,OAAO;AAChE,QAAA,QAAQ,OAAO,SAAS,GAAG;AACjC,QAAM,aAAa,OAAO,QAAQ,MAAM,UAAU;AAElD,SAAO,WAAW,OAAO,CAAC,KAAU,CAAC,eAAe,SAAS,MAAM;AACjE,YAAQ,UAAU,MAAM;AAAA,MACtB,KAAK,YAAY;AAEf,cAAM,kBAAkB,UAAU,SAAS,YAAY,EAAE,WAAW,OAAO;AAC3E,YAAI,iBAAiB;AACnB;AAAA,QACF;AAIA,cAAM,YAAY,aAAa,mBAAmB,OAAO,aAAa;AACtE,YAAI,WAAW;AACb,cAAI,aAAa,IAAI,EAAE,QAAQ,KAAK,iBAAiB;AAAA,QACvD;AACA;AAAA,MACF;AAAA,MAEA,KAAK,SAAS;AACZ,YAAI,aAAa,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;AACtC;AAAA,MACF;AAAA,MAEA,KAAK,aAAa;AAChB,cAAM,WAAW,gBAAgB,UAAU,WAAW,IAAI;AACtD,YAAA,aAAa,IAAI,EAAE;AACvB;AAAA,MACF;AAAA,MAEA,KAAK,eAAe;AAElB,cAAM,uBAAuB,UAAU,cAAc,CAAI,GAAA;AAAA,UACvD,CAACA,MAAU,iBAAgC;AACzCA,iBAAI,YAAY,IAAI,EAAE,UAAU,gBAAgB,cAAc,IAAI;AAC3DA,mBAAAA;AAAAA,UACT;AAAA,UACA,CAAC;AAAA,QAAA;AAGH,YAAI,aAAa,IAAI,EAAE,IAAI,oBAAoB;AAC/C;AAAA,MACF;AAAA,IAGF;AAEO,WAAA;AAAA,EACT,GAAG,CAAE,CAAA;AACP;"}
@@ -1,169 +0,0 @@
1
- "use strict";
2
- const _ = require("lodash");
3
- const delegate = require("delegates");
4
- const database = require("@strapi/database");
5
- const strapiUtils = require("@strapi/utils");
6
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
7
- const ___default = /* @__PURE__ */ _interopDefault(_);
8
- const delegate__default = /* @__PURE__ */ _interopDefault(delegate);
9
- const transformLoadParamsToQuery = (uid, field, params, pagination = {}) => {
10
- const query = strapi.get("query-params").transform(uid, { populate: { [field]: params } });
11
- const res = {
12
- ...query.populate[field],
13
- ...pagination
14
- };
15
- return res;
16
- };
17
- const databaseErrorsToTransform = [
18
- database.errors.InvalidTimeError,
19
- database.errors.InvalidDateTimeError,
20
- database.errors.InvalidDateError,
21
- database.errors.InvalidRelationError
22
- ];
23
- const createDefaultImplementation = ({
24
- strapi: strapi2,
25
- db
26
- }) => ({
27
- async wrapParams(options = {}) {
28
- return options;
29
- },
30
- async wrapResult(result = {}) {
31
- return result;
32
- },
33
- async findMany(uid, opts) {
34
- const { kind } = strapi2.getModel(uid);
35
- const wrappedParams = await this.wrapParams(opts, { uid, action: "findMany" });
36
- if (kind === "singleType") {
37
- const entity = strapi2.documents(uid).findFirst(wrappedParams);
38
- return this.wrapResult(entity, { uid, action: "findOne" });
39
- }
40
- const entities = await strapi2.documents(uid).findMany(wrappedParams);
41
- return this.wrapResult(entities, { uid, action: "findMany" });
42
- },
43
- async findPage(uid, opts) {
44
- const wrappedParams = await this.wrapParams(opts, { uid, action: "findPage" });
45
- const query = strapi2.get("query-params").transform(uid, wrappedParams);
46
- const entities = await db.query(uid).findPage(query);
47
- return this.wrapResult(entities, { uid, action: "findMany" });
48
- },
49
- async findOne(uid, entityId, opts) {
50
- const wrappedParams = await this.wrapParams(opts, { uid, action: "findOne" });
51
- const res = await db.query(uid).findOne({ where: { id: entityId } });
52
- if (!res) {
53
- return this.wrapResult(null, { uid, action: "findOne" });
54
- }
55
- const entity = await strapi2.documents(uid).findOne({
56
- ...wrappedParams,
57
- documentId: res.documentId
58
- });
59
- return this.wrapResult(entity, { uid, action: "findOne" });
60
- },
61
- async count(uid, opts) {
62
- const wrappedParams = await this.wrapParams(opts, { uid, action: "count" });
63
- return strapi2.documents(uid).count(wrappedParams);
64
- },
65
- async create(uid, params) {
66
- const wrappedParams = await this.wrapParams(params, { uid, action: "create" });
67
- const { data } = wrappedParams;
68
- if (!data) {
69
- throw new Error("cannot create");
70
- }
71
- const shouldPublish = !strapiUtils.contentTypes.isDraft(data, strapi2.getModel(uid));
72
- const entity = await strapi2.documents(uid).create({
73
- ...wrappedParams,
74
- status: shouldPublish ? "published" : "draft"
75
- });
76
- return this.wrapResult(entity, { uid, action: "create" });
77
- },
78
- async update(uid, entityId, opts) {
79
- const wrappedParams = await this.wrapParams(opts, {
80
- uid,
81
- action: "update"
82
- });
83
- const entityToUpdate = await db.query(uid).findOne({ where: { id: entityId } });
84
- if (!entityToUpdate) {
85
- return this.wrapResult(null, { uid, action: "update" });
86
- }
87
- const shouldPublish = !strapiUtils.contentTypes.isDraft(entityToUpdate, strapi2.getModel(uid));
88
- const entity = strapi2.documents(uid).update({
89
- ...wrappedParams,
90
- status: shouldPublish ? "published" : "draft",
91
- documentId: entityToUpdate.documentId
92
- });
93
- return this.wrapResult(entity, { uid, action: "update" });
94
- },
95
- async delete(uid, entityId, opts) {
96
- const wrappedParams = await this.wrapParams(opts, { uid, action: "delete" });
97
- const entityToDelete = await db.query(uid).findOne({ where: { id: entityId } });
98
- if (!entityToDelete) {
99
- return this.wrapResult(null, { uid, action: "delete" });
100
- }
101
- await strapi2.documents(uid).delete({
102
- ...wrappedParams,
103
- documentId: entityToDelete.documentId
104
- });
105
- return this.wrapResult(entityToDelete, { uid, action: "delete" });
106
- },
107
- async load(uid, entity, field, params) {
108
- if (!___default.default.isString(field)) {
109
- throw new Error(`Invalid load. Expected "${field}" to be a string`);
110
- }
111
- const loadedEntity = await db.query(uid).load(entity, field, transformLoadParamsToQuery(uid, field, params ?? {}));
112
- return this.wrapResult(loadedEntity, { uid, field, action: "load" });
113
- },
114
- async loadPages(uid, entity, field, params, pagination = {}) {
115
- if (!___default.default.isString(field)) {
116
- throw new Error(`Invalid load. Expected "${field}" to be a string`);
117
- }
118
- const { attributes } = strapi2.getModel(uid);
119
- const attribute = attributes[field];
120
- if (!strapiUtils.relations.isAnyToMany(attribute)) {
121
- throw new Error(`Invalid load. Expected "${field}" to be an anyToMany relational attribute`);
122
- }
123
- const query = transformLoadParamsToQuery(uid, field, params ?? {}, pagination);
124
- const loadedPage = await db.query(uid).loadPages(entity, field, query);
125
- return {
126
- ...loadedPage,
127
- results: await this.wrapResult(loadedPage.results, { uid, field, action: "load" })
128
- };
129
- }
130
- });
131
- const createEntityService = (ctx) => {
132
- const implementation = createDefaultImplementation(ctx);
133
- const service = {
134
- implementation,
135
- decorate(decorator) {
136
- if (typeof decorator !== "function") {
137
- throw new Error(`Decorator must be a function, received ${typeof decorator}`);
138
- }
139
- this.implementation = { ...this.implementation, ...decorator(this.implementation) };
140
- return this;
141
- }
142
- };
143
- const delegator = delegate__default.default(service, "implementation");
144
- Object.keys(service.implementation).forEach((key) => delegator.method(key));
145
- service.decorate((oldService) => {
146
- const newService = ___default.default.mapValues(
147
- oldService,
148
- (method, methodName) => async function(...args) {
149
- try {
150
- return await oldService[methodName].call(this, ...args);
151
- } catch (error) {
152
- if (databaseErrorsToTransform.some(
153
- (errorToTransform) => error instanceof errorToTransform
154
- )) {
155
- if (error instanceof Error) {
156
- throw new strapiUtils.errors.ValidationError(error.message);
157
- }
158
- throw error;
159
- }
160
- throw error;
161
- }
162
- }
163
- );
164
- return newService;
165
- });
166
- return service;
167
- };
168
- module.exports = createEntityService;
169
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/services/entity-service/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport delegate from 'delegates';\nimport { errors as databaseErrors } from '@strapi/database';\nimport {\n contentTypes as contentTypesUtils,\n errors,\n relations as relationUtils,\n} from '@strapi/utils';\nimport type { Database } from '@strapi/database';\nimport type { Core, Modules, Utils } from '@strapi/types';\n\ntype Decoratable<T> = T & {\n decorate(\n decorator: (old: Modules.EntityService.EntityService) => Modules.EntityService.EntityService & {\n [key: string]: unknown;\n }\n ): void;\n};\n\nconst transformLoadParamsToQuery = (\n uid: string,\n field: string,\n params: Record<string, unknown>,\n pagination = {}\n) => {\n const query = strapi\n .get('query-params')\n .transform(uid, { populate: { [field]: params } as any }) as any;\n\n const res = {\n ...query.populate[field],\n ...pagination,\n };\n\n return res;\n};\n\nconst databaseErrorsToTransform = [\n databaseErrors.InvalidTimeError,\n databaseErrors.InvalidDateTimeError,\n databaseErrors.InvalidDateError,\n databaseErrors.InvalidRelationError,\n];\n\nconst createDefaultImplementation = ({\n strapi,\n db,\n}: {\n strapi: Core.Strapi;\n db: Database;\n}): Modules.EntityService.EntityService => ({\n async wrapParams(options: any = {}) {\n return options;\n },\n\n async wrapResult(result: any = {}) {\n return result;\n },\n\n async findMany(uid, opts) {\n const { kind } = strapi.getModel(uid);\n\n const wrappedParams = await this.wrapParams(opts, { uid, action: 'findMany' });\n\n if (kind === 'singleType') {\n const entity = strapi.documents!(uid).findFirst(wrappedParams);\n return this.wrapResult(entity, { uid, action: 'findOne' });\n }\n\n const entities = await strapi.documents!(uid).findMany(wrappedParams);\n return this.wrapResult(entities, { uid, action: 'findMany' });\n },\n\n async findPage(uid, opts) {\n const wrappedParams = await this.wrapParams(opts, { uid, action: 'findPage' });\n\n const query = strapi.get('query-params').transform(uid, wrappedParams);\n\n const entities = await db.query(uid).findPage(query);\n return this.wrapResult(entities, { uid, action: 'findMany' });\n },\n\n async findOne(uid, entityId, opts) {\n const wrappedParams = await this.wrapParams(opts, { uid, action: 'findOne' });\n\n const res = await db.query(uid).findOne({ where: { id: entityId } });\n\n if (!res) {\n return this.wrapResult(null, { uid, action: 'findOne' });\n }\n\n const entity = await strapi.documents!(uid).findOne({\n ...wrappedParams,\n documentId: res.documentId,\n });\n return this.wrapResult(entity, { uid, action: 'findOne' });\n },\n\n async count(uid, opts) {\n const wrappedParams = await this.wrapParams(opts, { uid, action: 'count' });\n\n return strapi.documents!(uid).count(wrappedParams);\n },\n\n async create(uid, params) {\n const wrappedParams = await this.wrapParams<\n Modules.EntityService.Params.Pick<typeof uid, 'data' | 'fields' | 'populate'>\n >(params, { uid, action: 'create' });\n const { data } = wrappedParams;\n\n if (!data) {\n throw new Error('cannot create');\n }\n\n const shouldPublish = !contentTypesUtils.isDraft(data, strapi.getModel(uid));\n\n const entity = await strapi.documents!(uid).create({\n ...(wrappedParams as any),\n status: shouldPublish ? 'published' : 'draft',\n });\n\n return this.wrapResult(entity, { uid, action: 'create' });\n },\n\n async update(uid, entityId, opts) {\n const wrappedParams = await this.wrapParams<\n Modules.EntityService.Params.Pick<typeof uid, 'data:partial' | 'fields' | 'populate'>\n >(opts, {\n uid,\n action: 'update',\n });\n const entityToUpdate = await db.query(uid).findOne({ where: { id: entityId } });\n\n if (!entityToUpdate) {\n return this.wrapResult(null, { uid, action: 'update' });\n }\n\n const shouldPublish = !contentTypesUtils.isDraft(entityToUpdate, strapi.getModel(uid));\n\n const entity = strapi.documents!(uid).update({\n ...(wrappedParams as any),\n status: shouldPublish ? 'published' : 'draft',\n documentId: entityToUpdate.documentId,\n });\n\n return this.wrapResult(entity, { uid, action: 'update' });\n },\n\n async delete(uid, entityId, opts) {\n const wrappedParams = await this.wrapParams(opts, { uid, action: 'delete' });\n\n const entityToDelete = await db.query(uid).findOne({ where: { id: entityId } });\n\n if (!entityToDelete) {\n return this.wrapResult(null, { uid, action: 'delete' });\n }\n\n await strapi.documents!(uid).delete({\n ...wrappedParams,\n documentId: entityToDelete.documentId,\n });\n\n return this.wrapResult(entityToDelete, { uid, action: 'delete' });\n },\n\n async load(uid, entity, field, params) {\n if (!_.isString(field)) {\n throw new Error(`Invalid load. Expected \"${field}\" to be a string`);\n }\n\n const loadedEntity = await db\n .query(uid)\n .load(entity, field, transformLoadParamsToQuery(uid, field, params ?? {}));\n\n return this.wrapResult(loadedEntity, { uid, field, action: 'load' });\n },\n\n async loadPages(uid, entity, field, params, pagination = {}) {\n if (!_.isString(field)) {\n throw new Error(`Invalid load. Expected \"${field}\" to be a string`);\n }\n\n const { attributes } = strapi.getModel(uid);\n const attribute = attributes[field];\n\n if (!relationUtils.isAnyToMany(attribute)) {\n throw new Error(`Invalid load. Expected \"${field}\" to be an anyToMany relational attribute`);\n }\n\n const query = transformLoadParamsToQuery(uid, field, params ?? {}, pagination);\n\n const loadedPage = await db.query(uid).loadPages(entity, field, query);\n\n return {\n ...loadedPage,\n results: await this.wrapResult(loadedPage.results, { uid, field, action: 'load' }),\n };\n },\n});\n\nexport default (ctx: {\n strapi: Core.Strapi;\n db: Database;\n}): Decoratable<Modules.EntityService.EntityService> => {\n const implementation = createDefaultImplementation(ctx);\n\n const service = {\n implementation,\n decorate<T extends object>(decorator: (current: typeof implementation) => T) {\n if (typeof decorator !== 'function') {\n throw new Error(`Decorator must be a function, received ${typeof decorator}`);\n }\n\n this.implementation = { ...this.implementation, ...decorator(this.implementation) };\n return this;\n },\n };\n\n const delegator = delegate(service, 'implementation');\n\n // delegate every method in implementation\n Object.keys(service.implementation).forEach((key) => delegator.method(key));\n\n // wrap methods to handle Database Errors\n service.decorate((oldService: Modules.EntityService.EntityService) => {\n const newService = _.mapValues(\n oldService,\n (method, methodName: keyof Modules.EntityService.EntityService) =>\n async function (this: Modules.EntityService.EntityService, ...args: []) {\n try {\n return await (oldService[methodName] as Utils.Function.AnyPromise).call(this, ...args);\n } catch (error) {\n if (\n databaseErrorsToTransform.some(\n (errorToTransform) => error instanceof errorToTransform\n )\n ) {\n if (error instanceof Error) {\n throw new errors.ValidationError(error.message);\n }\n\n throw error;\n }\n throw error;\n }\n }\n );\n\n return newService;\n });\n\n return service as unknown as Decoratable<Modules.EntityService.EntityService>;\n};\n"],"names":["databaseErrors","strapi","contentTypesUtils","_","relationUtils","delegate","errors"],"mappings":"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"}