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

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 (563) hide show
  1. package/dist/Strapi.d.ts +38 -36
  2. package/dist/Strapi.d.ts.map +1 -1
  3. package/dist/Strapi.js +31 -12
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +31 -12
  6. package/dist/Strapi.mjs.map +1 -1
  7. package/dist/configuration/index.d.ts.map +1 -1
  8. package/dist/configuration/index.js +4 -4
  9. package/dist/configuration/index.js.map +1 -1
  10. package/dist/configuration/index.mjs +1 -1
  11. package/dist/configuration/index.mjs.map +1 -1
  12. package/dist/configuration/urls.d.ts +8 -0
  13. package/dist/configuration/urls.d.ts.map +1 -0
  14. package/dist/configuration/urls.js +68 -0
  15. package/dist/configuration/urls.js.map +1 -0
  16. package/dist/configuration/urls.mjs +66 -0
  17. package/dist/configuration/urls.mjs.map +1 -0
  18. package/dist/container.d.ts +2 -2
  19. package/dist/container.d.ts.map +1 -1
  20. package/dist/container.js.map +1 -1
  21. package/dist/container.mjs.map +1 -1
  22. package/dist/core-api/controller/collection-type.d.ts +3 -3
  23. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  24. package/dist/core-api/controller/collection-type.js.map +1 -1
  25. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  26. package/dist/core-api/controller/index.d.ts +3 -3
  27. package/dist/core-api/controller/index.d.ts.map +1 -1
  28. package/dist/core-api/controller/index.js +11 -6
  29. package/dist/core-api/controller/index.js.map +1 -1
  30. package/dist/core-api/controller/index.mjs +12 -7
  31. package/dist/core-api/controller/index.mjs.map +1 -1
  32. package/dist/core-api/controller/single-type.d.ts +3 -3
  33. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  34. package/dist/core-api/controller/single-type.js.map +1 -1
  35. package/dist/core-api/controller/single-type.mjs.map +1 -1
  36. package/dist/core-api/controller/transform.d.ts +10 -9
  37. package/dist/core-api/controller/transform.d.ts.map +1 -1
  38. package/dist/core-api/controller/transform.js +19 -13
  39. package/dist/core-api/controller/transform.js.map +1 -1
  40. package/dist/core-api/controller/transform.mjs +19 -13
  41. package/dist/core-api/controller/transform.mjs.map +1 -1
  42. package/dist/core-api/service/collection-type.d.ts +10 -10
  43. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  44. package/dist/core-api/service/collection-type.js.map +1 -1
  45. package/dist/core-api/service/collection-type.mjs.map +1 -1
  46. package/dist/core-api/service/index.d.ts +3 -3
  47. package/dist/core-api/service/index.d.ts.map +1 -1
  48. package/dist/core-api/service/index.js.map +1 -1
  49. package/dist/core-api/service/index.mjs.map +1 -1
  50. package/dist/core-api/service/single-type.d.ts +5 -5
  51. package/dist/core-api/service/single-type.d.ts.map +1 -1
  52. package/dist/core-api/service/single-type.js +3 -4
  53. package/dist/core-api/service/single-type.js.map +1 -1
  54. package/dist/core-api/service/single-type.mjs +3 -4
  55. package/dist/core-api/service/single-type.mjs.map +1 -1
  56. package/dist/domain/content-type/index.d.ts +1 -1
  57. package/dist/domain/content-type/index.d.ts.map +1 -1
  58. package/dist/domain/content-type/index.js +3 -0
  59. package/dist/domain/content-type/index.js.map +1 -1
  60. package/dist/domain/content-type/index.mjs +3 -0
  61. package/dist/domain/content-type/index.mjs.map +1 -1
  62. package/dist/domain/content-type/validator.d.ts.map +1 -1
  63. package/dist/domain/content-type/validator.js +1 -1
  64. package/dist/domain/content-type/validator.js.map +1 -1
  65. package/dist/domain/content-type/validator.mjs +2 -2
  66. package/dist/domain/content-type/validator.mjs.map +1 -1
  67. package/dist/domain/module/index.d.ts +24 -23
  68. package/dist/domain/module/index.d.ts.map +1 -1
  69. package/dist/domain/module/index.js +3 -3
  70. package/dist/domain/module/index.js.map +1 -1
  71. package/dist/domain/module/index.mjs +4 -4
  72. package/dist/domain/module/index.mjs.map +1 -1
  73. package/dist/ee/index.d.ts +2 -2
  74. package/dist/ee/index.d.ts.map +1 -1
  75. package/dist/ee/index.js.map +1 -1
  76. package/dist/ee/index.mjs.map +1 -1
  77. package/dist/ee/license.d.ts +2 -2
  78. package/dist/ee/license.d.ts.map +1 -1
  79. package/dist/ee/license.js.map +1 -1
  80. package/dist/ee/license.mjs.map +1 -1
  81. package/dist/factories.d.ts +10 -10
  82. package/dist/factories.d.ts.map +1 -1
  83. package/dist/factories.js +6 -2
  84. package/dist/factories.js.map +1 -1
  85. package/dist/factories.mjs +6 -2
  86. package/dist/factories.mjs.map +1 -1
  87. package/dist/loaders/admin.d.ts +2 -2
  88. package/dist/loaders/admin.d.ts.map +1 -1
  89. package/dist/loaders/admin.js.map +1 -1
  90. package/dist/loaders/admin.mjs.map +1 -1
  91. package/dist/loaders/apis.d.ts +2 -2
  92. package/dist/loaders/apis.d.ts.map +1 -1
  93. package/dist/loaders/apis.js +1 -1
  94. package/dist/loaders/apis.js.map +1 -1
  95. package/dist/loaders/apis.mjs +2 -2
  96. package/dist/loaders/apis.mjs.map +1 -1
  97. package/dist/loaders/components.d.ts +2 -2
  98. package/dist/loaders/components.d.ts.map +1 -1
  99. package/dist/loaders/components.js.map +1 -1
  100. package/dist/loaders/components.mjs.map +1 -1
  101. package/dist/loaders/index.d.ts +2 -2
  102. package/dist/loaders/index.d.ts.map +1 -1
  103. package/dist/loaders/index.js.map +1 -1
  104. package/dist/loaders/index.mjs.map +1 -1
  105. package/dist/loaders/middlewares.d.ts +2 -2
  106. package/dist/loaders/middlewares.d.ts.map +1 -1
  107. package/dist/loaders/middlewares.js.map +1 -1
  108. package/dist/loaders/middlewares.mjs.map +1 -1
  109. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  110. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  111. package/dist/loaders/plugins/get-enabled-plugins.js +2 -1
  112. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  113. package/dist/loaders/plugins/get-enabled-plugins.mjs +3 -2
  114. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  115. package/dist/loaders/plugins/index.d.ts +2 -2
  116. package/dist/loaders/plugins/index.d.ts.map +1 -1
  117. package/dist/loaders/plugins/index.js.map +1 -1
  118. package/dist/loaders/plugins/index.mjs.map +1 -1
  119. package/dist/loaders/policies.d.ts +2 -2
  120. package/dist/loaders/policies.d.ts.map +1 -1
  121. package/dist/loaders/policies.js.map +1 -1
  122. package/dist/loaders/policies.mjs.map +1 -1
  123. package/dist/loaders/sanitizers.d.ts +2 -2
  124. package/dist/loaders/sanitizers.d.ts.map +1 -1
  125. package/dist/loaders/sanitizers.js.map +1 -1
  126. package/dist/loaders/sanitizers.mjs.map +1 -1
  127. package/dist/loaders/src-index.d.ts +2 -2
  128. package/dist/loaders/src-index.d.ts.map +1 -1
  129. package/dist/loaders/src-index.js.map +1 -1
  130. package/dist/loaders/src-index.mjs.map +1 -1
  131. package/dist/loaders/validators.d.ts +2 -2
  132. package/dist/loaders/validators.d.ts.map +1 -1
  133. package/dist/loaders/validators.js.map +1 -1
  134. package/dist/loaders/validators.mjs.map +1 -1
  135. package/dist/middlewares/body.d.ts +2 -2
  136. package/dist/middlewares/body.d.ts.map +1 -1
  137. package/dist/middlewares/body.js.map +1 -1
  138. package/dist/middlewares/body.mjs.map +1 -1
  139. package/dist/middlewares/compression.d.ts +2 -2
  140. package/dist/middlewares/compression.d.ts.map +1 -1
  141. package/dist/middlewares/compression.js.map +1 -1
  142. package/dist/middlewares/compression.mjs.map +1 -1
  143. package/dist/middlewares/cors.d.ts +2 -2
  144. package/dist/middlewares/cors.d.ts.map +1 -1
  145. package/dist/middlewares/cors.js.map +1 -1
  146. package/dist/middlewares/cors.mjs.map +1 -1
  147. package/dist/middlewares/errors.d.ts +2 -2
  148. package/dist/middlewares/errors.d.ts.map +1 -1
  149. package/dist/middlewares/errors.js.map +1 -1
  150. package/dist/middlewares/errors.mjs.map +1 -1
  151. package/dist/middlewares/favicon.d.ts +2 -2
  152. package/dist/middlewares/favicon.d.ts.map +1 -1
  153. package/dist/middlewares/favicon.js.map +1 -1
  154. package/dist/middlewares/favicon.mjs.map +1 -1
  155. package/dist/middlewares/index.d.ts +2 -2
  156. package/dist/middlewares/index.d.ts.map +1 -1
  157. package/dist/middlewares/index.js.map +1 -1
  158. package/dist/middlewares/index.mjs.map +1 -1
  159. package/dist/middlewares/ip.d.ts +2 -2
  160. package/dist/middlewares/ip.d.ts.map +1 -1
  161. package/dist/middlewares/ip.js.map +1 -1
  162. package/dist/middlewares/ip.mjs.map +1 -1
  163. package/dist/middlewares/logger.d.ts +2 -2
  164. package/dist/middlewares/logger.d.ts.map +1 -1
  165. package/dist/middlewares/logger.js.map +1 -1
  166. package/dist/middlewares/logger.mjs.map +1 -1
  167. package/dist/middlewares/powered-by.d.ts +2 -2
  168. package/dist/middlewares/powered-by.d.ts.map +1 -1
  169. package/dist/middlewares/powered-by.js.map +1 -1
  170. package/dist/middlewares/powered-by.mjs.map +1 -1
  171. package/dist/middlewares/public.d.ts +2 -2
  172. package/dist/middlewares/public.d.ts.map +1 -1
  173. package/dist/middlewares/public.js.map +1 -1
  174. package/dist/middlewares/public.mjs.map +1 -1
  175. package/dist/middlewares/query.d.ts +2 -2
  176. package/dist/middlewares/query.d.ts.map +1 -1
  177. package/dist/middlewares/query.js.map +1 -1
  178. package/dist/middlewares/query.mjs.map +1 -1
  179. package/dist/middlewares/response-time.d.ts +2 -2
  180. package/dist/middlewares/response-time.d.ts.map +1 -1
  181. package/dist/middlewares/response-time.js.map +1 -1
  182. package/dist/middlewares/response-time.mjs.map +1 -1
  183. package/dist/middlewares/responses.d.ts +3 -3
  184. package/dist/middlewares/responses.d.ts.map +1 -1
  185. package/dist/middlewares/responses.js.map +1 -1
  186. package/dist/middlewares/responses.mjs.map +1 -1
  187. package/dist/middlewares/security.d.ts +2 -2
  188. package/dist/middlewares/security.d.ts.map +1 -1
  189. package/dist/middlewares/security.js +2 -2
  190. package/dist/middlewares/security.js.map +1 -1
  191. package/dist/middlewares/security.mjs +2 -2
  192. package/dist/middlewares/security.mjs.map +1 -1
  193. package/dist/middlewares/session.d.ts +2 -2
  194. package/dist/middlewares/session.d.ts.map +1 -1
  195. package/dist/middlewares/session.js.map +1 -1
  196. package/dist/middlewares/session.mjs.map +1 -1
  197. package/dist/migrations/draft-publish.d.ts +17 -0
  198. package/dist/migrations/draft-publish.d.ts.map +1 -0
  199. package/dist/migrations/draft-publish.js +59 -0
  200. package/dist/migrations/draft-publish.js.map +1 -0
  201. package/dist/migrations/draft-publish.mjs +59 -0
  202. package/dist/migrations/draft-publish.mjs.map +1 -0
  203. package/dist/registries/apis.d.ts +2 -2
  204. package/dist/registries/apis.d.ts.map +1 -1
  205. package/dist/registries/apis.js.map +1 -1
  206. package/dist/registries/apis.mjs.map +1 -1
  207. package/dist/registries/components.d.ts +6 -6
  208. package/dist/registries/components.d.ts.map +1 -1
  209. package/dist/registries/components.js.map +1 -1
  210. package/dist/registries/components.mjs.map +1 -1
  211. package/dist/registries/config.d.ts +2 -2
  212. package/dist/registries/config.d.ts.map +1 -1
  213. package/dist/registries/config.js +26 -6
  214. package/dist/registries/config.js.map +1 -1
  215. package/dist/registries/config.mjs +27 -5
  216. package/dist/registries/config.mjs.map +1 -1
  217. package/dist/registries/content-types.d.ts +5 -5
  218. package/dist/registries/content-types.d.ts.map +1 -1
  219. package/dist/registries/content-types.js.map +1 -1
  220. package/dist/registries/content-types.mjs.map +1 -1
  221. package/dist/registries/controllers.d.ts +10 -10
  222. package/dist/registries/controllers.d.ts.map +1 -1
  223. package/dist/registries/controllers.js.map +1 -1
  224. package/dist/registries/controllers.mjs.map +1 -1
  225. package/dist/registries/custom-fields.d.ts +3 -3
  226. package/dist/registries/custom-fields.d.ts.map +1 -1
  227. package/dist/registries/custom-fields.js.map +1 -1
  228. package/dist/registries/custom-fields.mjs.map +1 -1
  229. package/dist/registries/middlewares.d.ts +6 -6
  230. package/dist/registries/middlewares.d.ts.map +1 -1
  231. package/dist/registries/middlewares.js.map +1 -1
  232. package/dist/registries/middlewares.mjs.map +1 -1
  233. package/dist/registries/modules.d.ts +2 -2
  234. package/dist/registries/modules.d.ts.map +1 -1
  235. package/dist/registries/modules.js.map +1 -1
  236. package/dist/registries/modules.mjs.map +1 -1
  237. package/dist/registries/plugins.d.ts +5 -5
  238. package/dist/registries/plugins.d.ts.map +1 -1
  239. package/dist/registries/plugins.js.map +1 -1
  240. package/dist/registries/plugins.mjs.map +1 -1
  241. package/dist/registries/policies.d.ts +23 -11
  242. package/dist/registries/policies.d.ts.map +1 -1
  243. package/dist/registries/policies.js +64 -18
  244. package/dist/registries/policies.js.map +1 -1
  245. package/dist/registries/policies.mjs +65 -19
  246. package/dist/registries/policies.mjs.map +1 -1
  247. package/dist/registries/services.d.ts +8 -8
  248. package/dist/registries/services.d.ts.map +1 -1
  249. package/dist/registries/services.js.map +1 -1
  250. package/dist/registries/services.mjs.map +1 -1
  251. package/dist/services/auth/index.d.ts +4 -4
  252. package/dist/services/auth/index.d.ts.map +1 -1
  253. package/dist/services/auth/index.js.map +1 -1
  254. package/dist/services/auth/index.mjs.map +1 -1
  255. package/dist/services/content-api/index.d.ts +21 -3
  256. package/dist/services/content-api/index.d.ts.map +1 -1
  257. package/dist/services/content-api/index.js +27 -1
  258. package/dist/services/content-api/index.js.map +1 -1
  259. package/dist/services/content-api/index.mjs +27 -1
  260. package/dist/services/content-api/index.mjs.map +1 -1
  261. package/dist/services/content-api/permissions/index.d.ts +3 -3
  262. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  263. package/dist/services/content-api/permissions/index.js.map +1 -1
  264. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  265. package/dist/services/cron.d.ts +2 -2
  266. package/dist/services/cron.d.ts.map +1 -1
  267. package/dist/services/cron.js.map +1 -1
  268. package/dist/services/cron.mjs.map +1 -1
  269. package/dist/services/custom-fields.d.ts +2 -2
  270. package/dist/services/custom-fields.d.ts.map +1 -1
  271. package/dist/services/custom-fields.js.map +1 -1
  272. package/dist/services/custom-fields.mjs.map +1 -1
  273. package/dist/services/document-service/common.d.ts +2 -2
  274. package/dist/services/document-service/common.d.ts.map +1 -1
  275. package/dist/services/document-service/common.js.map +1 -1
  276. package/dist/services/document-service/common.mjs.map +1 -1
  277. package/dist/services/document-service/document-engine.d.ts +1 -7
  278. package/dist/services/document-service/document-engine.d.ts.map +1 -1
  279. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  280. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  281. package/dist/services/document-service/draft-and-publish.js +37 -9
  282. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  283. package/dist/services/document-service/draft-and-publish.mjs +38 -10
  284. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  285. package/dist/services/document-service/index.d.ts +2 -2
  286. package/dist/services/document-service/index.d.ts.map +1 -1
  287. package/dist/services/document-service/index.js +10 -8
  288. package/dist/services/document-service/index.js.map +1 -1
  289. package/dist/services/document-service/index.mjs +4 -2
  290. package/dist/services/document-service/index.mjs.map +1 -1
  291. package/dist/services/document-service/internationalization.d.ts +5 -5
  292. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  293. package/dist/services/document-service/internationalization.js.map +1 -1
  294. package/dist/services/document-service/internationalization.mjs.map +1 -1
  295. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  296. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  297. package/dist/services/document-service/middlewares/errors.js +25 -0
  298. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  299. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  300. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  301. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  302. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  303. package/dist/services/document-service/{middlewares.d.ts → middlewares/middleware-manager.d.ts} +3 -4
  304. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  305. package/dist/services/document-service/{middlewares.js → middlewares/middleware-manager.js} +1 -1
  306. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  307. package/dist/services/document-service/{middlewares.mjs → middlewares/middleware-manager.mjs} +1 -1
  308. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  309. package/dist/services/document-service/repository.d.ts +3 -0
  310. package/dist/services/document-service/repository.d.ts.map +1 -0
  311. package/dist/services/document-service/repository.js +297 -0
  312. package/dist/services/document-service/repository.js.map +1 -0
  313. package/dist/services/document-service/repository.mjs +297 -0
  314. package/dist/services/document-service/repository.mjs.map +1 -0
  315. package/dist/services/document-service/transform/fields.d.ts +2 -2
  316. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  317. package/dist/services/document-service/transform/fields.js.map +1 -1
  318. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  319. package/dist/services/document-service/transform/id-map.d.ts +4 -4
  320. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  321. package/dist/services/document-service/transform/id-map.js +15 -9
  322. package/dist/services/document-service/transform/id-map.js.map +1 -1
  323. package/dist/services/document-service/transform/id-map.mjs +16 -10
  324. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  325. package/dist/services/document-service/transform/id-transform.d.ts +4 -18
  326. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  327. package/dist/services/document-service/transform/id-transform.js +18 -12
  328. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  329. package/dist/services/document-service/transform/id-transform.mjs +18 -12
  330. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  331. package/dist/services/document-service/transform/populate.d.ts +5 -2
  332. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  333. package/dist/services/document-service/transform/populate.js +1 -1
  334. package/dist/services/document-service/transform/populate.js.map +1 -1
  335. package/dist/services/document-service/transform/populate.mjs +1 -1
  336. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  337. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +3 -3
  338. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  339. package/dist/services/document-service/transform/relations/extract/data-ids.js +24 -13
  340. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  341. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +24 -13
  342. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  343. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +3 -3
  344. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  345. package/dist/services/document-service/transform/relations/transform/data-ids.js +62 -38
  346. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  347. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +63 -39
  348. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  349. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +1 -3
  350. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +1 -1
  351. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  352. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  353. package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
  354. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  355. package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
  356. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  357. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +4 -4
  358. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  359. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  360. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  361. package/dist/services/document-service/transform/relations/utils/types.d.ts +4 -1
  362. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  363. package/dist/services/document-service/transform/types.d.ts +4 -4
  364. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  365. package/dist/services/document-service/utils/populate.d.ts +9 -2
  366. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  367. package/dist/services/document-service/utils/populate.js +5 -5
  368. package/dist/services/document-service/utils/populate.js.map +1 -1
  369. package/dist/services/document-service/utils/populate.mjs +5 -5
  370. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  371. package/dist/services/entity-service/attributes/index.d.ts +4 -4
  372. package/dist/services/entity-service/attributes/index.d.ts.map +1 -1
  373. package/dist/services/entity-service/attributes/index.js.map +1 -1
  374. package/dist/services/entity-service/attributes/index.mjs.map +1 -1
  375. package/dist/services/entity-service/attributes/transforms.d.ts +3 -3
  376. package/dist/services/entity-service/attributes/transforms.d.ts.map +1 -1
  377. package/dist/services/entity-service/attributes/transforms.js.map +1 -1
  378. package/dist/services/entity-service/attributes/transforms.mjs.map +1 -1
  379. package/dist/services/entity-service/components.d.ts +88 -16
  380. package/dist/services/entity-service/components.d.ts.map +1 -1
  381. package/dist/services/entity-service/components.js +13 -99
  382. package/dist/services/entity-service/components.js.map +1 -1
  383. package/dist/services/entity-service/components.mjs +14 -100
  384. package/dist/services/entity-service/components.mjs.map +1 -1
  385. package/dist/services/entity-service/index.d.ts +4 -6
  386. package/dist/services/entity-service/index.d.ts.map +1 -1
  387. package/dist/services/entity-service/index.js +38 -204
  388. package/dist/services/entity-service/index.js.map +1 -1
  389. package/dist/services/entity-service/index.mjs +32 -198
  390. package/dist/services/entity-service/index.mjs.map +1 -1
  391. package/dist/services/entity-service/params.d.ts +5 -5
  392. package/dist/services/entity-service/params.d.ts.map +1 -1
  393. package/dist/services/entity-service/params.js +1 -1
  394. package/dist/services/entity-service/params.js.map +1 -1
  395. package/dist/services/entity-service/params.mjs +1 -1
  396. package/dist/services/entity-service/params.mjs.map +1 -1
  397. package/dist/services/entity-validator/index.d.ts +2 -2
  398. package/dist/services/entity-validator/index.d.ts.map +1 -1
  399. package/dist/services/entity-validator/index.js +8 -3
  400. package/dist/services/entity-validator/index.js.map +1 -1
  401. package/dist/services/entity-validator/index.mjs +8 -3
  402. package/dist/services/entity-validator/index.mjs.map +1 -1
  403. package/dist/services/entity-validator/validators.d.ts +18 -18
  404. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  405. package/dist/services/entity-validator/validators.js +6 -1
  406. package/dist/services/entity-validator/validators.js.map +1 -1
  407. package/dist/services/entity-validator/validators.mjs +6 -1
  408. package/dist/services/entity-validator/validators.mjs.map +1 -1
  409. package/dist/services/features.d.ts +3 -3
  410. package/dist/services/features.d.ts.map +1 -1
  411. package/dist/services/features.js.map +1 -1
  412. package/dist/services/features.mjs.map +1 -1
  413. package/dist/services/fs.d.ts +2 -2
  414. package/dist/services/fs.d.ts.map +1 -1
  415. package/dist/services/fs.js.map +1 -1
  416. package/dist/services/fs.mjs.map +1 -1
  417. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  418. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  419. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  420. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  421. package/dist/services/metrics/index.d.ts +2 -2
  422. package/dist/services/metrics/index.d.ts.map +1 -1
  423. package/dist/services/metrics/index.js.map +1 -1
  424. package/dist/services/metrics/index.mjs.map +1 -1
  425. package/dist/services/metrics/middleware.d.ts +2 -2
  426. package/dist/services/metrics/middleware.d.ts.map +1 -1
  427. package/dist/services/metrics/middleware.js.map +1 -1
  428. package/dist/services/metrics/middleware.mjs.map +1 -1
  429. package/dist/services/metrics/sender.d.ts +3 -3
  430. package/dist/services/metrics/sender.d.ts.map +1 -1
  431. package/dist/services/metrics/sender.js.map +1 -1
  432. package/dist/services/metrics/sender.mjs.map +1 -1
  433. package/dist/services/query-params.d.ts +7 -0
  434. package/dist/services/query-params.d.ts.map +1 -0
  435. package/dist/services/query-params.js +12 -0
  436. package/dist/services/query-params.js.map +1 -0
  437. package/dist/services/query-params.mjs +13 -0
  438. package/dist/services/query-params.mjs.map +1 -0
  439. package/dist/services/server/admin-api.d.ts +3 -3
  440. package/dist/services/server/admin-api.d.ts.map +1 -1
  441. package/dist/services/server/admin-api.js.map +1 -1
  442. package/dist/services/server/admin-api.mjs.map +1 -1
  443. package/dist/services/server/api.d.ts +3 -3
  444. package/dist/services/server/api.d.ts.map +1 -1
  445. package/dist/services/server/api.js.map +1 -1
  446. package/dist/services/server/api.mjs.map +1 -1
  447. package/dist/services/server/compose-endpoint.d.ts +2 -2
  448. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  449. package/dist/services/server/compose-endpoint.js +1 -2
  450. package/dist/services/server/compose-endpoint.js.map +1 -1
  451. package/dist/services/server/compose-endpoint.mjs +2 -3
  452. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  453. package/dist/services/server/content-api.d.ts +3 -3
  454. package/dist/services/server/content-api.d.ts.map +1 -1
  455. package/dist/services/server/content-api.js.map +1 -1
  456. package/dist/services/server/content-api.mjs.map +1 -1
  457. package/dist/services/server/http-server.d.ts +2 -2
  458. package/dist/services/server/http-server.d.ts.map +1 -1
  459. package/dist/services/server/http-server.js.map +1 -1
  460. package/dist/services/server/http-server.mjs.map +1 -1
  461. package/dist/services/server/index.d.ts +2 -2
  462. package/dist/services/server/index.d.ts.map +1 -1
  463. package/dist/services/server/index.js +1 -2
  464. package/dist/services/server/index.js.map +1 -1
  465. package/dist/services/server/index.mjs +1 -2
  466. package/dist/services/server/index.mjs.map +1 -1
  467. package/dist/services/server/middleware.d.ts +4 -4
  468. package/dist/services/server/middleware.d.ts.map +1 -1
  469. package/dist/services/server/middleware.js.map +1 -1
  470. package/dist/services/server/middleware.mjs.map +1 -1
  471. package/dist/services/server/policy.d.ts +3 -3
  472. package/dist/services/server/policy.d.ts.map +1 -1
  473. package/dist/services/server/policy.js +4 -4
  474. package/dist/services/server/policy.js.map +1 -1
  475. package/dist/services/server/policy.mjs +4 -4
  476. package/dist/services/server/policy.mjs.map +1 -1
  477. package/dist/services/server/register-middlewares.d.ts +2 -2
  478. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  479. package/dist/services/server/register-middlewares.js.map +1 -1
  480. package/dist/services/server/register-middlewares.mjs.map +1 -1
  481. package/dist/services/server/register-routes.d.ts +2 -2
  482. package/dist/services/server/register-routes.d.ts.map +1 -1
  483. package/dist/services/server/register-routes.js.map +1 -1
  484. package/dist/services/server/register-routes.mjs.map +1 -1
  485. package/dist/services/server/routing.d.ts +4 -4
  486. package/dist/services/server/routing.d.ts.map +1 -1
  487. package/dist/services/server/routing.js.map +1 -1
  488. package/dist/services/server/routing.mjs.map +1 -1
  489. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  490. package/dist/services/utils/dynamic-zones.js +2 -1
  491. package/dist/services/utils/dynamic-zones.js.map +1 -1
  492. package/dist/services/utils/dynamic-zones.mjs +2 -1
  493. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  494. package/dist/services/webhook-runner.js.map +1 -1
  495. package/dist/services/webhook-runner.mjs.map +1 -1
  496. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  497. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  498. package/dist/utils/convert-custom-field-type.js.map +1 -1
  499. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  500. package/dist/utils/fetch.d.ts +3 -3
  501. package/dist/utils/fetch.d.ts.map +1 -1
  502. package/dist/utils/fetch.js.map +1 -1
  503. package/dist/utils/fetch.mjs.map +1 -1
  504. package/dist/utils/get-dirs.d.ts +3 -3
  505. package/dist/utils/get-dirs.d.ts.map +1 -1
  506. package/dist/utils/get-dirs.js.map +1 -1
  507. package/dist/utils/get-dirs.mjs.map +1 -1
  508. package/dist/utils/is-initialized.d.ts +2 -2
  509. package/dist/utils/is-initialized.d.ts.map +1 -1
  510. package/dist/utils/is-initialized.js +1 -1
  511. package/dist/utils/is-initialized.js.map +1 -1
  512. package/dist/utils/is-initialized.mjs +1 -1
  513. package/dist/utils/is-initialized.mjs.map +1 -1
  514. package/dist/utils/load-config-file.js +1 -1
  515. package/dist/utils/load-config-file.js.map +1 -1
  516. package/dist/utils/load-config-file.mjs +2 -2
  517. package/dist/utils/load-config-file.mjs.map +1 -1
  518. package/dist/utils/open-browser.d.ts +2 -2
  519. package/dist/utils/open-browser.d.ts.map +1 -1
  520. package/dist/utils/open-browser.js.map +1 -1
  521. package/dist/utils/open-browser.mjs.map +1 -1
  522. package/dist/utils/signals.d.ts +2 -2
  523. package/dist/utils/signals.d.ts.map +1 -1
  524. package/dist/utils/signals.js.map +1 -1
  525. package/dist/utils/signals.mjs.map +1 -1
  526. package/dist/utils/startup-logger.d.ts +2 -2
  527. package/dist/utils/startup-logger.d.ts.map +1 -1
  528. package/dist/utils/startup-logger.js.map +1 -1
  529. package/dist/utils/startup-logger.mjs.map +1 -1
  530. package/dist/utils/transform-content-types-to-models.d.ts +34 -84
  531. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  532. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  533. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  534. package/dist/utils/update-notifier/index.d.ts +2 -2
  535. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  536. package/dist/utils/update-notifier/index.js.map +1 -1
  537. package/dist/utils/update-notifier/index.mjs.map +1 -1
  538. package/package.json +15 -15
  539. package/dist/services/document-service/document-engine.js +0 -241
  540. package/dist/services/document-service/document-engine.js.map +0 -1
  541. package/dist/services/document-service/document-engine.mjs +0 -242
  542. package/dist/services/document-service/document-engine.mjs.map +0 -1
  543. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  544. package/dist/services/document-service/middlewares.js.map +0 -1
  545. package/dist/services/document-service/middlewares.mjs.map +0 -1
  546. package/dist/services/document-service/repositories/content-type.d.ts +0 -3
  547. package/dist/services/document-service/repositories/content-type.d.ts.map +0 -1
  548. package/dist/services/document-service/repositories/content-type.js +0 -139
  549. package/dist/services/document-service/repositories/content-type.js.map +0 -1
  550. package/dist/services/document-service/repositories/content-type.mjs +0 -139
  551. package/dist/services/document-service/repositories/content-type.mjs.map +0 -1
  552. package/dist/services/document-service/transform/filters.d.ts +0 -3
  553. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  554. package/dist/services/document-service/transform/sort.d.ts +0 -5
  555. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  556. package/dist/services/document-service/transform/utils.d.ts +0 -9
  557. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  558. package/dist/services/utils/upload-files.d.ts +0 -8
  559. package/dist/services/utils/upload-files.d.ts.map +0 -1
  560. package/dist/services/utils/upload-files.js +0 -64
  561. package/dist/services/utils/upload-files.js.map +0 -1
  562. package/dist/services/utils/upload-files.mjs +0 -63
  563. package/dist/services/utils/upload-files.mjs.map +0 -1
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const _ = require("lodash/fp");
4
+ const strapiUtils = require("@strapi/utils");
5
+ const getRelationTargetStatus = (relation, opts) => {
6
+ const targetContentType = strapi.getModel(opts.targetUid);
7
+ const sourceContentType = strapi.getModel(opts.sourceUid);
8
+ const targetHasDP = strapiUtils.contentTypes.hasDraftAndPublish(targetContentType);
9
+ const sourceHasDP = strapiUtils.contentTypes.hasDraftAndPublish(sourceContentType);
10
+ if (!targetHasDP) {
11
+ return ["published"];
12
+ }
13
+ if (sourceHasDP && !_.isNil(opts.sourceStatus)) {
14
+ return [opts.sourceStatus];
15
+ }
16
+ if (relation.status) {
17
+ switch (relation.status) {
18
+ case "published":
19
+ return ["published"];
20
+ default:
21
+ return ["draft"];
22
+ }
23
+ }
24
+ if (!sourceHasDP) {
25
+ return ["draft", "published"];
26
+ }
27
+ return ["draft"];
28
+ };
29
+ exports.getRelationTargetStatus = getRelationTargetStatus;
30
+ //# sourceMappingURL=dp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dp.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/dp.ts"],"sourcesContent":["import { isNil } from 'lodash/fp';\n\nimport { contentTypes } from '@strapi/utils';\nimport { 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":["contentTypes","isNil"],"mappings":";;;;AASa,MAAA,0BAA0B,CACrC,UACA,SAKa;AAEb,QAAM,oBAAoB,OAAO,SAAS,KAAK,SAAS;AACxD,QAAM,oBAAoB,OAAO,SAAS,KAAK,SAAS;AAElD,QAAA,cAAcA,YAAAA,aAAa,mBAAmB,iBAAiB;AAC/D,QAAA,cAAcA,YAAAA,aAAa,mBAAmB,iBAAiB;AAErE,MAAI,CAAC,aAAa;AAChB,WAAO,CAAC,WAAW;AAAA,EACrB;AAMA,MAAI,eAAe,CAACC,EAAAA,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;;"}
@@ -0,0 +1,30 @@
1
+ import { isNil } from "lodash/fp";
2
+ import { contentTypes } from "@strapi/utils";
3
+ const getRelationTargetStatus = (relation, opts) => {
4
+ const targetContentType = strapi.getModel(opts.targetUid);
5
+ const sourceContentType = strapi.getModel(opts.sourceUid);
6
+ const targetHasDP = contentTypes.hasDraftAndPublish(targetContentType);
7
+ const sourceHasDP = contentTypes.hasDraftAndPublish(sourceContentType);
8
+ if (!targetHasDP) {
9
+ return ["published"];
10
+ }
11
+ if (sourceHasDP && !isNil(opts.sourceStatus)) {
12
+ return [opts.sourceStatus];
13
+ }
14
+ if (relation.status) {
15
+ switch (relation.status) {
16
+ case "published":
17
+ return ["published"];
18
+ default:
19
+ return ["draft"];
20
+ }
21
+ }
22
+ if (!sourceHasDP) {
23
+ return ["draft", "published"];
24
+ }
25
+ return ["draft"];
26
+ };
27
+ export {
28
+ getRelationTargetStatus
29
+ };
30
+ //# sourceMappingURL=dp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dp.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/dp.ts"],"sourcesContent":["import { isNil } from 'lodash/fp';\n\nimport { contentTypes } from '@strapi/utils';\nimport { 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,10 +1,10 @@
1
- import { Common } from '@strapi/types';
1
+ import { UID } from '@strapi/types';
2
2
  import { LongHandDocument } from './types';
3
- export declare const isLocalizedContentType: (uid: Common.UID.Schema) => any;
3
+ export declare const isLocalizedContentType: (uid: UID.Schema) => any;
4
4
  export declare const getDefaultLocale: () => string;
5
5
  export declare const getRelationTargetLocale: (relation: LongHandDocument, opts: {
6
- targetUid: Common.UID.Schema;
7
- sourceUid: Common.UID.Schema;
6
+ targetUid: UID.Schema;
7
+ sourceUid: UID.Schema;
8
8
  sourceLocale?: string | null;
9
9
  }) => string | null;
10
10
  //# sourceMappingURL=i18n.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,sBAAsB,QAAS,OAAO,GAAG,CAAC,MAAM,QAG5D,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAI5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,aACxB,gBAAgB,QACpB;IACJ,SAAS,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC;IAC7B,SAAS,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,kBAuBF,CAAC"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,sBAAsB,QAAS,IAAI,MAAM,QAGrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAI5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,aACxB,gBAAgB,QACpB;IACJ,SAAS,EAAE,IAAI,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,kBAuBF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import { Common } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: Common.UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n // TODO: Fix this\n // return strapi.plugin('i18n').service('locales').getDefaultLocale();\n return 'en';\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: Common.UID.Schema;\n sourceUid: Common.UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const defaultLocale = getDefaultLocale();\n const targetLocale = relation.locale || opts.sourceLocale || defaultLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Locale validations\n if (isSourceLocalized && isTargetLocalized) {\n // Check the targetLocale matches\n if (targetLocale !== opts.sourceLocale) {\n throw new errors.ValidationError(\n `Relation locale does not match the source locale ${JSON.stringify(relation)}`\n );\n }\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":["errors"],"mappings":";;;AAIa,MAAA,yBAAyB,CAAC,QAA2B;AAC1D,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEO,MAAM,mBAAmB,MAAM;AAG7B,SAAA;AACT;AAEa,MAAA,0BAA0B,CACrC,UACA,SAKG;AACH,QAAM,gBAAgB;AACtB,QAAM,eAAe,SAAS,UAAU,KAAK,gBAAgB;AAEvD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AACzD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AAG/D,MAAI,qBAAqB,mBAAmB;AAEtC,QAAA,iBAAiB,KAAK,cAAc;AACtC,YAAM,IAAIA,YAAO,OAAA;AAAA,QACf,oDAAoD,KAAK,UAAU,QAAQ,CAAC;AAAA,MAAA;AAAA,IAEhF;AAAA,EACF;AAEA,MAAI,mBAAmB;AACd,WAAA;AAAA,EACT;AAEO,SAAA;AACT;;;;"}
1
+ {"version":3,"file":"i18n.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import { UID } from '@strapi/types';\nimport { errors } from '@strapi/utils';\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 // TODO: V5 make this more performant\n // return strapi.plugin('i18n').service('locales').getDefaultLocale();\n return 'en';\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 defaultLocale = getDefaultLocale();\n const targetLocale = relation.locale || opts.sourceLocale || defaultLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Locale validations\n if (isSourceLocalized && isTargetLocalized) {\n // Check the targetLocale matches\n if (targetLocale !== opts.sourceLocale) {\n throw new errors.ValidationError(\n `Relation locale does not match the source locale ${JSON.stringify(relation)}`\n );\n }\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":["errors"],"mappings":";;;AAIa,MAAA,yBAAyB,CAAC,QAAoB;AACnD,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEO,MAAM,mBAAmB,MAAM;AAG7B,SAAA;AACT;AAEa,MAAA,0BAA0B,CACrC,UACA,SAKG;AACH,QAAM,gBAAgB;AACtB,QAAM,eAAe,SAAS,UAAU,KAAK,gBAAgB;AAEvD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AACzD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AAG/D,MAAI,qBAAqB,mBAAmB;AAEtC,QAAA,iBAAiB,KAAK,cAAc;AACtC,YAAM,IAAIA,YAAO,OAAA;AAAA,QACf,oDAAoD,KAAK,UAAU,QAAQ,CAAC;AAAA,MAAA;AAAA,IAEhF;AAAA,EACF;AAEA,MAAI,mBAAmB;AACd,WAAA;AAAA,EACT;AAEO,SAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import { Common } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: Common.UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n // TODO: Fix this\n // return strapi.plugin('i18n').service('locales').getDefaultLocale();\n return 'en';\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: Common.UID.Schema;\n sourceUid: Common.UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const defaultLocale = getDefaultLocale();\n const targetLocale = relation.locale || opts.sourceLocale || defaultLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Locale validations\n if (isSourceLocalized && isTargetLocalized) {\n // Check the targetLocale matches\n if (targetLocale !== opts.sourceLocale) {\n throw new errors.ValidationError(\n `Relation locale does not match the source locale ${JSON.stringify(relation)}`\n );\n }\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":[],"mappings":";AAIa,MAAA,yBAAyB,CAAC,QAA2B;AAC1D,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEO,MAAM,mBAAmB,MAAM;AAG7B,SAAA;AACT;AAEa,MAAA,0BAA0B,CACrC,UACA,SAKG;AACH,QAAM,gBAAgB;AACtB,QAAM,eAAe,SAAS,UAAU,KAAK,gBAAgB;AAEvD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AACzD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AAG/D,MAAI,qBAAqB,mBAAmB;AAEtC,QAAA,iBAAiB,KAAK,cAAc;AACtC,YAAM,IAAI,OAAO;AAAA,QACf,oDAAoD,KAAK,UAAU,QAAQ,CAAC;AAAA,MAAA;AAAA,IAEhF;AAAA,EACF;AAEA,MAAI,mBAAmB;AACd,WAAA;AAAA,EACT;AAEO,SAAA;AACT;"}
1
+ {"version":3,"file":"i18n.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import { UID } from '@strapi/types';\nimport { errors } from '@strapi/utils';\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 // TODO: V5 make this more performant\n // return strapi.plugin('i18n').service('locales').getDefaultLocale();\n return 'en';\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 defaultLocale = getDefaultLocale();\n const targetLocale = relation.locale || opts.sourceLocale || defaultLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Locale validations\n if (isSourceLocalized && isTargetLocalized) {\n // Check the targetLocale matches\n if (targetLocale !== opts.sourceLocale) {\n throw new errors.ValidationError(\n `Relation locale does not match the source locale ${JSON.stringify(relation)}`\n );\n }\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":[],"mappings":";AAIa,MAAA,yBAAyB,CAAC,QAAoB;AACnD,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEO,MAAM,mBAAmB,MAAM;AAG7B,SAAA;AACT;AAEa,MAAA,0BAA0B,CACrC,UACA,SAKG;AACH,QAAM,gBAAgB;AACtB,QAAM,eAAe,SAAS,UAAU,KAAK,gBAAgB;AAEvD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AACzD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AAG/D,MAAI,qBAAqB,mBAAmB;AAEtC,QAAA,iBAAiB,KAAK,cAAc;AACtC,YAAM,IAAI,OAAO;AAAA,QACf,oDAAoD,KAAK,UAAU,QAAQ,CAAC;AAAA,MAAA;AAAA,IAEhF;AAAA,EACF;AAEA,MAAI,mBAAmB;AACd,WAAA;AAAA,EACT;AAEO,SAAA;AACT;"}
@@ -2,11 +2,14 @@ export type ID = string | number;
2
2
  export type ShortHand = ID;
3
3
  export type LongHandEntity = {
4
4
  id: ID;
5
+ position?: object;
5
6
  };
6
7
  export type LongHandDocument = {
7
8
  documentId: ID;
8
9
  locale?: string;
10
+ status?: 'draft' | 'published';
11
+ position?: object;
9
12
  };
10
13
  export type LongHand = LongHandEntity | LongHandDocument;
11
- export type GetId = (relation: ID) => ID | null;
14
+ export type GetIds = (relation: ID) => ID[] | null;
12
15
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,SAAS,GAAG,EAAE,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,CAAC;AACxC,MAAM,MAAM,gBAAgB,GAAG;IAAE,UAAU,EAAE,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACnE,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEzD,MAAM,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,SAAS,GAAG,EAAE,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEzD,MAAM,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC"}
@@ -1,13 +1,13 @@
1
- import { Common } from '@strapi/types';
2
- import { type ID } from './relations/utils/types';
1
+ import type { UID } from '@strapi/types';
2
+ import type { ID } from './relations/utils/types';
3
3
  export type Data = {
4
4
  id?: ID | object;
5
5
  documentId?: ID | object;
6
6
  [key: string]: any;
7
7
  };
8
8
  export type Options = {
9
- uid: Common.UID.Schema;
9
+ uid: UID.Schema;
10
10
  locale?: string | null;
11
- isDraft: boolean;
11
+ status: 'draft' | 'published';
12
12
  };
13
13
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/transform/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAElD,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/transform/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAElD,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC;CAC/B,CAAC"}
@@ -1,3 +1,10 @@
1
- import { Common } from '@strapi/types';
2
- export declare const getDeepPopulate: (uid: Common.UID.Schema) => any;
1
+ import { UID } from '@strapi/types';
2
+ interface Options {
3
+ /**
4
+ * Fields to select when populating relations
5
+ */
6
+ relationalFields?: string[];
7
+ }
8
+ export declare const getDeepPopulate: (uid: UID.Schema, opts?: Options) => any;
9
+ export {};
3
10
  //# sourceMappingURL=populate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/utils/populate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAIvC,eAAO,MAAM,eAAe,QAAS,OAAO,GAAG,CAAC,MAAM,QA8CrD,CAAC"}
1
+ {"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/utils/populate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGpC,UAAU,OAAO;IACf;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAGD,eAAO,MAAM,eAAe,QAAS,IAAI,MAAM,SAAQ,OAAO,QA8C7D,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const strapiUtils = require("@strapi/utils");
4
- const getDeepPopulate = (uid) => {
4
+ const getDeepPopulate = (uid, opts = {}) => {
5
5
  const model = strapi.getModel(uid);
6
6
  const attributes = Object.entries(model.attributes);
7
7
  return attributes.reduce((acc, [attributeName, attribute]) => {
@@ -9,23 +9,23 @@ const getDeepPopulate = (uid) => {
9
9
  case "relation": {
10
10
  const isVisible = strapiUtils.contentTypes.isVisibleAttribute(model, attributeName);
11
11
  if (isVisible) {
12
- acc[attributeName] = { fields: ["document_id", "locale"] };
12
+ acc[attributeName] = { select: opts.relationalFields };
13
13
  }
14
14
  break;
15
15
  }
16
16
  case "media": {
17
- acc[attributeName] = { fields: ["id"] };
17
+ acc[attributeName] = { select: ["id"] };
18
18
  break;
19
19
  }
20
20
  case "component": {
21
- const populate = getDeepPopulate(attribute.component);
21
+ const populate = getDeepPopulate(attribute.component, opts);
22
22
  acc[attributeName] = { populate };
23
23
  break;
24
24
  }
25
25
  case "dynamiczone": {
26
26
  const populatedComponents = (attribute.components || []).reduce(
27
27
  (acc2, componentUID) => {
28
- acc2[componentUID] = { populate: getDeepPopulate(componentUID) };
28
+ acc2[componentUID] = { populate: getDeepPopulate(componentUID, opts) };
29
29
  return acc2;
30
30
  },
31
31
  {}
@@ -1 +1 @@
1
- {"version":3,"file":"populate.js","sources":["../../../../src/services/document-service/utils/populate.ts"],"sourcesContent":["import { Common } from '@strapi/types';\nimport { contentTypes } from '@strapi/utils';\n\n// We want to build a populate object based on the schema\nexport const getDeepPopulate = (uid: Common.UID.Schema) => {\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: Should this just be a plain list?\n // Ignore createdBy, updatedBy, ...\n const isVisible = contentTypes.isVisibleAttribute(model, attributeName);\n if (isVisible) {\n acc[attributeName] = { fields: ['document_id', 'locale'] };\n }\n break;\n }\n\n case 'media': {\n acc[attributeName] = { fields: ['id'] };\n break;\n }\n\n case 'component': {\n const populate = getDeepPopulate(attribute.component);\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: Common.UID.Component) => {\n acc[componentUID] = { populate: getDeepPopulate(componentUID) };\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":";;;AAIa,MAAA,kBAAkB,CAAC,QAA2B;AACnD,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;AAGf,cAAM,YAAYA,YAAA,aAAa,mBAAmB,OAAO,aAAa;AACtE,YAAI,WAAW;AACb,cAAI,aAAa,IAAI,EAAE,QAAQ,CAAC,eAAe,QAAQ;QACzD;AACA;AAAA,MACF;AAAA,MAEA,KAAK,SAAS;AACZ,YAAI,aAAa,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;AACtC;AAAA,MACF;AAAA,MAEA,KAAK,aAAa;AACV,cAAA,WAAW,gBAAgB,UAAU,SAAS;AAChD,YAAA,aAAa,IAAI,EAAE;AACvB;AAAA,MACF;AAAA,MAEA,KAAK,eAAe;AAElB,cAAM,uBAAuB,UAAU,cAAc,CAAI,GAAA;AAAA,UACvD,CAACC,MAAU,iBAAuC;AAChDA,iBAAI,YAAY,IAAI,EAAE,UAAU,gBAAgB,YAAY;AACrDA,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
+ {"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: 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;AAGf,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,5 +1,5 @@
1
1
  import { contentTypes } from "@strapi/utils";
2
- const getDeepPopulate = (uid) => {
2
+ const getDeepPopulate = (uid, opts = {}) => {
3
3
  const model = strapi.getModel(uid);
4
4
  const attributes = Object.entries(model.attributes);
5
5
  return attributes.reduce((acc, [attributeName, attribute]) => {
@@ -7,23 +7,23 @@ const getDeepPopulate = (uid) => {
7
7
  case "relation": {
8
8
  const isVisible = contentTypes.isVisibleAttribute(model, attributeName);
9
9
  if (isVisible) {
10
- acc[attributeName] = { fields: ["document_id", "locale"] };
10
+ acc[attributeName] = { select: opts.relationalFields };
11
11
  }
12
12
  break;
13
13
  }
14
14
  case "media": {
15
- acc[attributeName] = { fields: ["id"] };
15
+ acc[attributeName] = { select: ["id"] };
16
16
  break;
17
17
  }
18
18
  case "component": {
19
- const populate = getDeepPopulate(attribute.component);
19
+ const populate = getDeepPopulate(attribute.component, opts);
20
20
  acc[attributeName] = { populate };
21
21
  break;
22
22
  }
23
23
  case "dynamiczone": {
24
24
  const populatedComponents = (attribute.components || []).reduce(
25
25
  (acc2, componentUID) => {
26
- acc2[componentUID] = { populate: getDeepPopulate(componentUID) };
26
+ acc2[componentUID] = { populate: getDeepPopulate(componentUID, opts) };
27
27
  return acc2;
28
28
  },
29
29
  {}
@@ -1 +1 @@
1
- {"version":3,"file":"populate.mjs","sources":["../../../../src/services/document-service/utils/populate.ts"],"sourcesContent":["import { Common } from '@strapi/types';\nimport { contentTypes } from '@strapi/utils';\n\n// We want to build a populate object based on the schema\nexport const getDeepPopulate = (uid: Common.UID.Schema) => {\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: Should this just be a plain list?\n // Ignore createdBy, updatedBy, ...\n const isVisible = contentTypes.isVisibleAttribute(model, attributeName);\n if (isVisible) {\n acc[attributeName] = { fields: ['document_id', 'locale'] };\n }\n break;\n }\n\n case 'media': {\n acc[attributeName] = { fields: ['id'] };\n break;\n }\n\n case 'component': {\n const populate = getDeepPopulate(attribute.component);\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: Common.UID.Component) => {\n acc[componentUID] = { populate: getDeepPopulate(componentUID) };\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":";AAIa,MAAA,kBAAkB,CAAC,QAA2B;AACnD,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;AAGf,cAAM,YAAY,aAAa,mBAAmB,OAAO,aAAa;AACtE,YAAI,WAAW;AACb,cAAI,aAAa,IAAI,EAAE,QAAQ,CAAC,eAAe,QAAQ;QACzD;AACA;AAAA,MACF;AAAA,MAEA,KAAK,SAAS;AACZ,YAAI,aAAa,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;AACtC;AAAA,MACF;AAAA,MAEA,KAAK,aAAa;AACV,cAAA,WAAW,gBAAgB,UAAU,SAAS;AAChD,YAAA,aAAa,IAAI,EAAE;AACvB;AAAA,MACF;AAAA,MAEA,KAAK,eAAe;AAElB,cAAM,uBAAuB,UAAU,cAAc,CAAI,GAAA;AAAA,UACvD,CAACA,MAAU,iBAAuC;AAChDA,iBAAI,YAAY,IAAI,EAAE,UAAU,gBAAgB,YAAY;AACrDA,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
+ {"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: 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;AAGf,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,6 +1,6 @@
1
- import type { Common, Shared, EntityService } from '@strapi/types';
2
- declare const applyTransforms: <TUID extends Common.UID.ContentType>(data: EntityService.Params.Data.Input<TUID>, context: {
3
- contentType: Shared.ContentTypes[TUID];
4
- }) => EntityService.Params.Data.Input<TUID>;
1
+ import type { UID, Modules, Schema } from '@strapi/types';
2
+ declare const applyTransforms: <TUID extends UID.ContentType>(data: Modules.EntityService.Params.Data.Input<TUID>, context: {
3
+ contentType: Schema.ContentType<TUID>;
4
+ }) => Modules.EntityService.Params.Data.Input<TUID>;
5
5
  export { applyTransforms };
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/entity-service/attributes/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnE,QAAA,MAAM,eAAe;;2CA6BpB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/entity-service/attributes/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG1D,QAAA,MAAM,eAAe;;mDA6BpB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/services/entity-service/attributes/index.ts"],"sourcesContent":["import type { Common, Shared, EntityService } from '@strapi/types';\nimport transforms from './transforms';\n\nconst applyTransforms = <TUID extends Common.UID.ContentType>(\n data: EntityService.Params.Data.Input<TUID>,\n context: {\n contentType: Shared.ContentTypes[TUID];\n }\n) => {\n const { contentType } = context;\n\n const attributeNames = Object.keys(data) as Array<keyof typeof data & string>;\n\n for (const attributeName of attributeNames) {\n const value = data[attributeName];\n\n const attribute = contentType.attributes[attributeName];\n\n if (!attribute) {\n continue;\n }\n\n const transform = transforms[attribute.type];\n\n if (transform) {\n const attributeContext = { ...context, attributeName, attribute };\n\n data[attributeName] = transform(value, attributeContext);\n }\n }\n\n return data;\n};\n\nexport { applyTransforms };\n"],"names":[],"mappings":";;;AAGM,MAAA,kBAAkB,CACtB,MACA,YAGG;AACG,QAAA,EAAE,YAAgB,IAAA;AAElB,QAAA,iBAAiB,OAAO,KAAK,IAAI;AAEvC,aAAW,iBAAiB,gBAAgB;AACpC,UAAA,QAAQ,KAAK,aAAa;AAE1B,UAAA,YAAY,YAAY,WAAW,aAAa;AAEtD,QAAI,CAAC,WAAW;AACd;AAAA,IACF;AAEM,UAAA,YAAY,WAAW,UAAU,IAAI;AAE3C,QAAI,WAAW;AACb,YAAM,mBAAmB,EAAE,GAAG,SAAS,eAAe,UAAU;AAEhE,WAAK,aAAa,IAAI,UAAU,OAAO,gBAAgB;AAAA,IACzD;AAAA,EACF;AAEO,SAAA;AACT;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/services/entity-service/attributes/index.ts"],"sourcesContent":["import type { UID, Modules, Schema } from '@strapi/types';\nimport transforms from './transforms';\n\nconst applyTransforms = <TUID extends UID.ContentType>(\n data: Modules.EntityService.Params.Data.Input<TUID>,\n context: {\n contentType: Schema.ContentType<TUID>;\n }\n) => {\n const { contentType } = context;\n\n const attributeNames = Object.keys(data) as Array<keyof typeof data & string>;\n\n for (const attributeName of attributeNames) {\n const value = data[attributeName];\n\n const attribute = contentType.attributes[attributeName];\n\n if (!attribute) {\n continue;\n }\n\n const transform = transforms[attribute.type];\n\n if (transform) {\n const attributeContext = { ...context, attributeName, attribute };\n\n data[attributeName] = transform(value, attributeContext);\n }\n }\n\n return data;\n};\n\nexport { applyTransforms };\n"],"names":[],"mappings":";;;AAGM,MAAA,kBAAkB,CACtB,MACA,YAGG;AACG,QAAA,EAAE,YAAgB,IAAA;AAElB,QAAA,iBAAiB,OAAO,KAAK,IAAI;AAEvC,aAAW,iBAAiB,gBAAgB;AACpC,UAAA,QAAQ,KAAK,aAAa;AAE1B,UAAA,YAAY,YAAY,WAAW,aAAa;AAEtD,QAAI,CAAC,WAAW;AACd;AAAA,IACF;AAEM,UAAA,YAAY,WAAW,UAAU,IAAI;AAE3C,QAAI,WAAW;AACb,YAAM,mBAAmB,EAAE,GAAG,SAAS,eAAe,UAAU;AAEhE,WAAK,aAAa,IAAI,UAAU,OAAO,gBAAgB;AAAA,IACzD;AAAA,EACF;AAEO,SAAA;AACT;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../src/services/entity-service/attributes/index.ts"],"sourcesContent":["import type { Common, Shared, EntityService } from '@strapi/types';\nimport transforms from './transforms';\n\nconst applyTransforms = <TUID extends Common.UID.ContentType>(\n data: EntityService.Params.Data.Input<TUID>,\n context: {\n contentType: Shared.ContentTypes[TUID];\n }\n) => {\n const { contentType } = context;\n\n const attributeNames = Object.keys(data) as Array<keyof typeof data & string>;\n\n for (const attributeName of attributeNames) {\n const value = data[attributeName];\n\n const attribute = contentType.attributes[attributeName];\n\n if (!attribute) {\n continue;\n }\n\n const transform = transforms[attribute.type];\n\n if (transform) {\n const attributeContext = { ...context, attributeName, attribute };\n\n data[attributeName] = transform(value, attributeContext);\n }\n }\n\n return data;\n};\n\nexport { applyTransforms };\n"],"names":[],"mappings":";AAGM,MAAA,kBAAkB,CACtB,MACA,YAGG;AACG,QAAA,EAAE,YAAgB,IAAA;AAElB,QAAA,iBAAiB,OAAO,KAAK,IAAI;AAEvC,aAAW,iBAAiB,gBAAgB;AACpC,UAAA,QAAQ,KAAK,aAAa;AAE1B,UAAA,YAAY,YAAY,WAAW,aAAa;AAEtD,QAAI,CAAC,WAAW;AACd;AAAA,IACF;AAEM,UAAA,YAAY,WAAW,UAAU,IAAI;AAE3C,QAAI,WAAW;AACb,YAAM,mBAAmB,EAAE,GAAG,SAAS,eAAe,UAAU;AAEhE,WAAK,aAAa,IAAI,UAAU,OAAO,gBAAgB;AAAA,IACzD;AAAA,EACF;AAEO,SAAA;AACT;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/services/entity-service/attributes/index.ts"],"sourcesContent":["import type { UID, Modules, Schema } from '@strapi/types';\nimport transforms from './transforms';\n\nconst applyTransforms = <TUID extends UID.ContentType>(\n data: Modules.EntityService.Params.Data.Input<TUID>,\n context: {\n contentType: Schema.ContentType<TUID>;\n }\n) => {\n const { contentType } = context;\n\n const attributeNames = Object.keys(data) as Array<keyof typeof data & string>;\n\n for (const attributeName of attributeNames) {\n const value = data[attributeName];\n\n const attribute = contentType.attributes[attributeName];\n\n if (!attribute) {\n continue;\n }\n\n const transform = transforms[attribute.type];\n\n if (transform) {\n const attributeContext = { ...context, attributeName, attribute };\n\n data[attributeName] = transform(value, attributeContext);\n }\n }\n\n return data;\n};\n\nexport { applyTransforms };\n"],"names":[],"mappings":";AAGM,MAAA,kBAAkB,CACtB,MACA,YAGG;AACG,QAAA,EAAE,YAAgB,IAAA;AAElB,QAAA,iBAAiB,OAAO,KAAK,IAAI;AAEvC,aAAW,iBAAiB,gBAAgB;AACpC,UAAA,QAAQ,KAAK,aAAa;AAE1B,UAAA,YAAY,YAAY,WAAW,aAAa;AAEtD,QAAI,CAAC,WAAW;AACd;AAAA,IACF;AAEM,UAAA,YAAY,WAAW,UAAU,IAAI;AAE3C,QAAI,WAAW;AACb,YAAM,mBAAmB,EAAE,GAAG,SAAS,eAAe,UAAU;AAEhE,WAAK,aAAa,IAAI,UAAU,OAAO,gBAAgB;AAAA,IACzD;AAAA,EACF;AAEO,SAAA;AACT;"}
@@ -1,7 +1,7 @@
1
- import type { Attribute } from '@strapi/types';
1
+ import type { Schema } from '@strapi/types';
2
2
  type Transforms = {
3
- [TKind in Attribute.Kind]?: (value: unknown, context: {
4
- attribute: Attribute.Any;
3
+ [TKind in Schema.Attribute.Kind]?: (value: unknown, context: {
4
+ attribute: Schema.Attribute.AnyAttribute;
5
5
  attributeName: string;
6
6
  }) => any;
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../../../../src/services/entity-service/attributes/transforms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,KAAK,UAAU,GAAG;KACf,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAC1B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,KACzD,GAAG;CACT,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,UAgBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../../../../src/services/entity-service/attributes/transforms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,UAAU,GAAG;KACf,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CACjC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;QACzC,aAAa,EAAE,MAAM,CAAC;KACvB,KACE,GAAG;CACT,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,UAgBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transforms.js","sources":["../../../../src/services/entity-service/attributes/transforms.ts"],"sourcesContent":["import { getOr, toNumber, isString } from 'lodash/fp';\nimport type { Attribute } from '@strapi/types';\nimport bcrypt from 'bcryptjs';\n\ntype Transforms = {\n [TKind in Attribute.Kind]?: (\n value: unknown,\n context: { attribute: Attribute.Any; attributeName: string }\n ) => any;\n};\n\nconst transforms: Transforms = {\n password(value, context) {\n const { attribute } = context;\n\n if (attribute.type !== 'password') {\n throw new Error('Invalid attribute type');\n }\n\n if (!isString(value) && !(value instanceof Buffer)) {\n return value;\n }\n\n const rounds = toNumber(getOr(10, 'encryption.rounds', attribute));\n\n return bcrypt.hashSync(value.toString(), rounds);\n },\n};\n\nexport default transforms;\n"],"names":["isString","toNumber","getOr","bcrypt"],"mappings":";;;;;AAWA,MAAM,aAAyB;AAAA,EAC7B,SAAS,OAAO,SAAS;AACjB,UAAA,EAAE,UAAc,IAAA;AAElB,QAAA,UAAU,SAAS,YAAY;AAC3B,YAAA,IAAI,MAAM,wBAAwB;AAAA,IAC1C;AAEA,QAAI,CAACA,EAAS,SAAA,KAAK,KAAK,EAAE,iBAAiB,SAAS;AAC3C,aAAA;AAAA,IACT;AAEA,UAAM,SAASC,EAAAA,SAASC,EAAA,MAAM,IAAI,qBAAqB,SAAS,CAAC;AAEjE,WAAOC,gBAAAA,QAAO,SAAS,MAAM,YAAY,MAAM;AAAA,EACjD;AACF;;"}
1
+ {"version":3,"file":"transforms.js","sources":["../../../../src/services/entity-service/attributes/transforms.ts"],"sourcesContent":["import { getOr, toNumber, isString } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\nimport bcrypt from 'bcryptjs';\n\ntype Transforms = {\n [TKind in Schema.Attribute.Kind]?: (\n value: unknown,\n context: {\n attribute: Schema.Attribute.AnyAttribute;\n attributeName: string;\n }\n ) => any;\n};\n\nconst transforms: Transforms = {\n password(value, context) {\n const { attribute } = context;\n\n if (attribute.type !== 'password') {\n throw new Error('Invalid attribute type');\n }\n\n if (!isString(value) && !(value instanceof Buffer)) {\n return value;\n }\n\n const rounds = toNumber(getOr(10, 'encryption.rounds', attribute));\n\n return bcrypt.hashSync(value.toString(), rounds);\n },\n};\n\nexport default transforms;\n"],"names":["isString","toNumber","getOr","bcrypt"],"mappings":";;;;;AAcA,MAAM,aAAyB;AAAA,EAC7B,SAAS,OAAO,SAAS;AACjB,UAAA,EAAE,UAAc,IAAA;AAElB,QAAA,UAAU,SAAS,YAAY;AAC3B,YAAA,IAAI,MAAM,wBAAwB;AAAA,IAC1C;AAEA,QAAI,CAACA,EAAS,SAAA,KAAK,KAAK,EAAE,iBAAiB,SAAS;AAC3C,aAAA;AAAA,IACT;AAEA,UAAM,SAASC,EAAAA,SAASC,EAAA,MAAM,IAAI,qBAAqB,SAAS,CAAC;AAEjE,WAAOC,gBAAAA,QAAO,SAAS,MAAM,YAAY,MAAM;AAAA,EACjD;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"transforms.mjs","sources":["../../../../src/services/entity-service/attributes/transforms.ts"],"sourcesContent":["import { getOr, toNumber, isString } from 'lodash/fp';\nimport type { Attribute } from '@strapi/types';\nimport bcrypt from 'bcryptjs';\n\ntype Transforms = {\n [TKind in Attribute.Kind]?: (\n value: unknown,\n context: { attribute: Attribute.Any; attributeName: string }\n ) => any;\n};\n\nconst transforms: Transforms = {\n password(value, context) {\n const { attribute } = context;\n\n if (attribute.type !== 'password') {\n throw new Error('Invalid attribute type');\n }\n\n if (!isString(value) && !(value instanceof Buffer)) {\n return value;\n }\n\n const rounds = toNumber(getOr(10, 'encryption.rounds', attribute));\n\n return bcrypt.hashSync(value.toString(), rounds);\n },\n};\n\nexport default transforms;\n"],"names":[],"mappings":";;AAWA,MAAM,aAAyB;AAAA,EAC7B,SAAS,OAAO,SAAS;AACjB,UAAA,EAAE,UAAc,IAAA;AAElB,QAAA,UAAU,SAAS,YAAY;AAC3B,YAAA,IAAI,MAAM,wBAAwB;AAAA,IAC1C;AAEA,QAAI,CAAC,SAAS,KAAK,KAAK,EAAE,iBAAiB,SAAS;AAC3C,aAAA;AAAA,IACT;AAEA,UAAM,SAAS,SAAS,MAAM,IAAI,qBAAqB,SAAS,CAAC;AAEjE,WAAO,OAAO,SAAS,MAAM,YAAY,MAAM;AAAA,EACjD;AACF;"}
1
+ {"version":3,"file":"transforms.mjs","sources":["../../../../src/services/entity-service/attributes/transforms.ts"],"sourcesContent":["import { getOr, toNumber, isString } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\nimport bcrypt from 'bcryptjs';\n\ntype Transforms = {\n [TKind in Schema.Attribute.Kind]?: (\n value: unknown,\n context: {\n attribute: Schema.Attribute.AnyAttribute;\n attributeName: string;\n }\n ) => any;\n};\n\nconst transforms: Transforms = {\n password(value, context) {\n const { attribute } = context;\n\n if (attribute.type !== 'password') {\n throw new Error('Invalid attribute type');\n }\n\n if (!isString(value) && !(value instanceof Buffer)) {\n return value;\n }\n\n const rounds = toNumber(getOr(10, 'encryption.rounds', attribute));\n\n return bcrypt.hashSync(value.toString(), rounds);\n },\n};\n\nexport default transforms;\n"],"names":[],"mappings":";;AAcA,MAAM,aAAyB;AAAA,EAC7B,SAAS,OAAO,SAAS;AACjB,UAAA,EAAE,UAAc,IAAA;AAElB,QAAA,UAAU,SAAS,YAAY;AAC3B,YAAA,IAAI,MAAM,wBAAwB;AAAA,IAC1C;AAEA,QAAI,CAAC,SAAS,KAAK,KAAK,EAAE,iBAAiB,SAAS;AAC3C,aAAA;AAAA,IACT;AAEA,UAAM,SAAS,SAAS,MAAM,IAAI,qBAAqB,SAAS,CAAC;AAEjE,WAAO,OAAO,SAAS,MAAM,YAAY,MAAM;AAAA,EACjD;AACF;"}
@@ -1,23 +1,95 @@
1
- import type { Attribute, Common, Schema, EntityService } from '@strapi/types';
2
- type LoadedComponents<TUID extends Common.UID.Schema> = Attribute.GetValues<TUID, Attribute.GetKeysByType<TUID, 'component' | 'dynamiczone'>>;
1
+ import type { Struct, Utils, UID, Schema, Data, Modules } from '@strapi/types';
2
+ type LoadedComponents<TUID extends UID.Schema> = Data.Entity<TUID, Schema.AttributeNamesByType<TUID, 'component' | 'dynamiczone'>>;
3
+ type SingleComponentValue = Schema.Attribute.ComponentValue<UID.Component, false>;
4
+ type RepeatableComponentValue = Schema.Attribute.ComponentValue<UID.Component, true>;
5
+ type ComponentValue = SingleComponentValue | RepeatableComponentValue;
6
+ type DynamicZoneValue = Schema.Attribute.DynamicZoneValue<UID.Component[]>;
3
7
  type ComponentBody = {
4
- [key: string]: Attribute.GetValue<Attribute.Component<Common.UID.Component, false> | Attribute.Component<Common.UID.Component, true> | Attribute.DynamicZone>;
8
+ [key: string]: ComponentValue | DynamicZoneValue;
5
9
  };
6
- declare function omitComponentData(contentType: Schema.ContentType, data: EntityService.Params.Data.Input<Schema.ContentType['uid']>): Partial<EntityService.Params.Data.Input<Schema.ContentType['uid']>>;
7
- declare function omitComponentData(contentType: Schema.Component, data: EntityService.Params.Data.Input<Schema.Component['uid']>): Partial<EntityService.Params.Data.Input<Schema.Component['uid']>>;
8
- declare const createComponents: <TUID extends Common.UID.Schema, TData extends EntityService.Params.Data.Input<TUID>>(uid: TUID, data: TData) => Promise<ComponentBody>;
9
- declare const getComponents: <TUID extends Common.UID.Schema>(uid: TUID, entity: {
10
- id: EntityService.Params.Attribute.ID;
10
+ declare function omitComponentData(contentType: Struct.ContentTypeSchema, data: Modules.EntityService.Params.Data.Input<Struct.ContentTypeSchema['uid']>): Partial<Modules.EntityService.Params.Data.Input<Struct.ContentTypeSchema['uid']>>;
11
+ declare function omitComponentData(contentType: Struct.ComponentSchema, data: Modules.EntityService.Params.Data.Input<Struct.ComponentSchema['uid']>): Partial<Modules.EntityService.Params.Data.Input<Struct.ComponentSchema['uid']>>;
12
+ declare const createComponents: <TUID extends UID.Schema, TData extends Modules.EntityService.Params.Data.Input<TUID>>(uid: TUID, data: TData) => Promise<ComponentBody>;
13
+ declare const getComponents: <TUID extends UID.Schema>(uid: TUID, entity: {
14
+ id: Modules.EntityService.Params.Attribute.ID;
11
15
  }) => Promise<LoadedComponents<TUID>>;
12
- declare const updateComponents: <TUID extends Common.UID.Schema, TData extends Partial<EntityService.Params.Data.Input<TUID>>>(uid: TUID, entityToUpdate: {
13
- id: EntityService.Params.Attribute.ID;
16
+ declare const updateComponents: <TUID extends UID.Schema, TData extends Partial<Modules.EntityService.Params.Data.Input<TUID>>>(uid: TUID, entityToUpdate: {
17
+ id: Modules.EntityService.Params.Attribute.ID;
14
18
  }, data: TData) => Promise<ComponentBody>;
15
- declare const deleteComponents: <TUID extends Common.UID.Schema, TEntity extends Attribute.GetValues<TUID, Attribute.GetKeys<TUID>>>(uid: TUID, entityToDelete: TEntity, { loadComponents }?: {
19
+ declare const deleteComponents: <TUID extends UID.Schema, TEntity extends Data.Entity<TUID, Extract<keyof Schema.Attributes<TUID>, string>>>(uid: TUID, entityToDelete: TEntity, { loadComponents }?: {
16
20
  loadComponents?: boolean | undefined;
17
21
  }) => Promise<void>;
18
- declare const cloneComponents: <TUID extends Common.UID.Schema>(uid: TUID, entityToClone: {
19
- id: EntityService.Params.Attribute.ID;
20
- }, data: EntityService.Params.Data.Input<TUID>) => Promise<ComponentBody>;
21
- declare const deleteComponent: <TUID extends `${string}.${string}`>(uid: TUID, componentToDelete: Attribute.GetValues<TUID, Attribute.GetKeys<TUID>>) => Promise<void>;
22
- export { omitComponentData, getComponents, createComponents, updateComponents, deleteComponents, deleteComponent, cloneComponents, };
22
+ declare const deleteComponent: <TUID extends `${string}.${string}`>(uid: TUID, componentToDelete: {
23
+ id: Data.ID;
24
+ } & Pick<{ [TAttributeName in Extract<keyof Schema.Attributes<TUID>, string>]?: Utils.If<Utils.IsTrue<Utils.IsTrue<Utils.Extends<{
25
+ biginteger: Schema.Attribute.GetBigIntegerValue<Schema.AttributeByName<TUID, TAttributeName>>;
26
+ boolean: Schema.Attribute.GetBooleanValue<Schema.AttributeByName<TUID, TAttributeName>>;
27
+ blocks: Schema.Attribute.GetBlocksValue<Schema.AttributeByName<TUID, TAttributeName>>;
28
+ decimal: Schema.Attribute.GetDecimalValue<Schema.AttributeByName<TUID, TAttributeName>>;
29
+ enumeration: Schema.Attribute.GetEnumerationValue<Schema.AttributeByName<TUID, TAttributeName>>;
30
+ email: Schema.Attribute.GetEmailValue<Schema.AttributeByName<TUID, TAttributeName>>;
31
+ float: Schema.Attribute.GetFloatValue<Schema.AttributeByName<TUID, TAttributeName>>;
32
+ integer: Schema.Attribute.GetIntegerValue<Schema.AttributeByName<TUID, TAttributeName>>;
33
+ json: Schema.Attribute.GetJsonValue<Schema.AttributeByName<TUID, TAttributeName>>;
34
+ password: Schema.Attribute.GetPasswordValue<Schema.AttributeByName<TUID, TAttributeName>>;
35
+ richtext: Schema.Attribute.GetRichTextValue<Schema.AttributeByName<TUID, TAttributeName>>;
36
+ string: Schema.Attribute.GetStringValue<Schema.AttributeByName<TUID, TAttributeName>>;
37
+ text: Schema.Attribute.GetTextValue<Schema.AttributeByName<TUID, TAttributeName>>;
38
+ uid: Schema.Attribute.GetUIDValue<Schema.AttributeByName<TUID, TAttributeName>>;
39
+ date: Schema.Attribute.GetDateValue<Schema.AttributeByName<TUID, TAttributeName>>;
40
+ datetime: Schema.Attribute.GetDateTimeValue<Schema.AttributeByName<TUID, TAttributeName>>;
41
+ time: Schema.Attribute.GetTimeValue<Schema.AttributeByName<TUID, TAttributeName>>;
42
+ timestamp: Schema.Attribute.GetTimestampValue<Schema.AttributeByName<TUID, TAttributeName>>;
43
+ component: Schema.Attribute.GetComponentValue<Schema.AttributeByName<TUID, TAttributeName>>;
44
+ dynamiczone: Schema.Attribute.GetDynamicZoneValue<Schema.AttributeByName<TUID, TAttributeName>>;
45
+ media: Schema.Attribute.GetMediaValue<Schema.AttributeByName<TUID, TAttributeName>>;
46
+ relation: Schema.Attribute.GetRelationValue<Schema.AttributeByName<TUID, TAttributeName>>;
47
+ }[Schema.Attribute.TypeOf<Schema.AttributeByName<TUID, TAttributeName>>], never>> | Utils.IsTrue<Utils.Extends<never, {
48
+ biginteger: Schema.Attribute.GetBigIntegerValue<Schema.AttributeByName<TUID, TAttributeName>>;
49
+ boolean: Schema.Attribute.GetBooleanValue<Schema.AttributeByName<TUID, TAttributeName>>;
50
+ blocks: Schema.Attribute.GetBlocksValue<Schema.AttributeByName<TUID, TAttributeName>>;
51
+ decimal: Schema.Attribute.GetDecimalValue<Schema.AttributeByName<TUID, TAttributeName>>;
52
+ enumeration: Schema.Attribute.GetEnumerationValue<Schema.AttributeByName<TUID, TAttributeName>>;
53
+ email: Schema.Attribute.GetEmailValue<Schema.AttributeByName<TUID, TAttributeName>>;
54
+ float: Schema.Attribute.GetFloatValue<Schema.AttributeByName<TUID, TAttributeName>>;
55
+ integer: Schema.Attribute.GetIntegerValue<Schema.AttributeByName<TUID, TAttributeName>>;
56
+ json: Schema.Attribute.GetJsonValue<Schema.AttributeByName<TUID, TAttributeName>>;
57
+ password: Schema.Attribute.GetPasswordValue<Schema.AttributeByName<TUID, TAttributeName>>;
58
+ richtext: Schema.Attribute.GetRichTextValue<Schema.AttributeByName<TUID, TAttributeName>>;
59
+ string: Schema.Attribute.GetStringValue<Schema.AttributeByName<TUID, TAttributeName>>;
60
+ text: Schema.Attribute.GetTextValue<Schema.AttributeByName<TUID, TAttributeName>>;
61
+ uid: Schema.Attribute.GetUIDValue<Schema.AttributeByName<TUID, TAttributeName>>;
62
+ date: Schema.Attribute.GetDateValue<Schema.AttributeByName<TUID, TAttributeName>>;
63
+ datetime: Schema.Attribute.GetDateTimeValue<Schema.AttributeByName<TUID, TAttributeName>>;
64
+ time: Schema.Attribute.GetTimeValue<Schema.AttributeByName<TUID, TAttributeName>>;
65
+ timestamp: Schema.Attribute.GetTimestampValue<Schema.AttributeByName<TUID, TAttributeName>>;
66
+ component: Schema.Attribute.GetComponentValue<Schema.AttributeByName<TUID, TAttributeName>>;
67
+ dynamiczone: Schema.Attribute.GetDynamicZoneValue<Schema.AttributeByName<TUID, TAttributeName>>;
68
+ media: Schema.Attribute.GetMediaValue<Schema.AttributeByName<TUID, TAttributeName>>;
69
+ relation: Schema.Attribute.GetRelationValue<Schema.AttributeByName<TUID, TAttributeName>>;
70
+ }[Schema.Attribute.TypeOf<Schema.AttributeByName<TUID, TAttributeName>>]>>>, unknown, {
71
+ biginteger: Schema.Attribute.GetBigIntegerValue<Schema.AttributeByName<TUID, TAttributeName>>;
72
+ boolean: Schema.Attribute.GetBooleanValue<Schema.AttributeByName<TUID, TAttributeName>>;
73
+ blocks: Schema.Attribute.GetBlocksValue<Schema.AttributeByName<TUID, TAttributeName>>;
74
+ decimal: Schema.Attribute.GetDecimalValue<Schema.AttributeByName<TUID, TAttributeName>>;
75
+ enumeration: Schema.Attribute.GetEnumerationValue<Schema.AttributeByName<TUID, TAttributeName>>;
76
+ email: Schema.Attribute.GetEmailValue<Schema.AttributeByName<TUID, TAttributeName>>;
77
+ float: Schema.Attribute.GetFloatValue<Schema.AttributeByName<TUID, TAttributeName>>;
78
+ integer: Schema.Attribute.GetIntegerValue<Schema.AttributeByName<TUID, TAttributeName>>;
79
+ json: Schema.Attribute.GetJsonValue<Schema.AttributeByName<TUID, TAttributeName>>;
80
+ password: Schema.Attribute.GetPasswordValue<Schema.AttributeByName<TUID, TAttributeName>>;
81
+ richtext: Schema.Attribute.GetRichTextValue<Schema.AttributeByName<TUID, TAttributeName>>;
82
+ string: Schema.Attribute.GetStringValue<Schema.AttributeByName<TUID, TAttributeName>>;
83
+ text: Schema.Attribute.GetTextValue<Schema.AttributeByName<TUID, TAttributeName>>;
84
+ uid: Schema.Attribute.GetUIDValue<Schema.AttributeByName<TUID, TAttributeName>>;
85
+ date: Schema.Attribute.GetDateValue<Schema.AttributeByName<TUID, TAttributeName>>;
86
+ datetime: Schema.Attribute.GetDateTimeValue<Schema.AttributeByName<TUID, TAttributeName>>;
87
+ time: Schema.Attribute.GetTimeValue<Schema.AttributeByName<TUID, TAttributeName>>;
88
+ timestamp: Schema.Attribute.GetTimestampValue<Schema.AttributeByName<TUID, TAttributeName>>;
89
+ component: Schema.Attribute.GetComponentValue<Schema.AttributeByName<TUID, TAttributeName>>;
90
+ dynamiczone: Schema.Attribute.GetDynamicZoneValue<Schema.AttributeByName<TUID, TAttributeName>>;
91
+ media: Schema.Attribute.GetMediaValue<Schema.AttributeByName<TUID, TAttributeName>>;
92
+ relation: Schema.Attribute.GetRelationValue<Schema.AttributeByName<TUID, TAttributeName>>;
93
+ }[Schema.Attribute.TypeOf<Schema.AttributeByName<TUID, TAttributeName>>]> | null | undefined; }, Extract<keyof Schema.Attributes<TUID>, string>>) => Promise<void>;
94
+ export { omitComponentData, getComponents, createComponents, updateComponents, deleteComponents, deleteComponent, };
23
95
  //# sourceMappingURL=components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/services/entity-service/components.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAS,aAAa,EAAE,MAAM,eAAe,CAAC;AAGrF,KAAK,gBAAgB,CAAC,IAAI,SAAS,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,SAAS,CACzE,IAAI,EACJ,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAAC,CAC3D,CAAC;AAMF,KAAK,aAAa,GAAG;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,CAC7B,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,GAChD,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAC/C,SAAS,CAAC,WAAW,CACxB,CAAC;CACH,CAAC;AAIF,iBAAS,iBAAiB,CACxB,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAC/D,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvE,iBAAS,iBAAiB,CACxB,WAAW,EAAE,MAAM,CAAC,SAAS,EAC7B,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAC7D,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAcrE,QAAA,MAAM,gBAAgB,yIAqGrB,CAAC;AAEF,QAAA,MAAM,aAAa,sDAET;IAAE,EAAE,EAAE,cAAc,MAAM,UAAU,CAAC,EAAE,CAAA;CAAE,oCASlD,CAAC;AAMF,QAAA,MAAM,gBAAgB,4HAKJ;IAAE,EAAE,EAAE,cAAc,MAAM,UAAU,CAAC,EAAE,CAAA;CAAE,wCA2F1D,CAAC;AAkGF,QAAA,MAAM,gBAAgB;;mBAkDrB,CAAC;AAEF,QAAA,MAAM,eAAe,6DAEJ;IAAE,EAAE,EAAE,cAAc,MAAM,UAAU,CAAC,EAAE,CAAA;CAAE,wEA4FzD,CAAC;AA6DF,QAAA,MAAM,eAAe,yIAMpB,CAAC;AAyBF,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,CAAC"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/services/entity-service/components.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG/E,KAAK,gBAAgB,CAAC,IAAI,SAAS,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAC1D,IAAI,EACJ,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAAC,CAC/D,CAAC;AAEF,KAAK,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAClF,KAAK,wBAAwB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAErF,KAAK,cAAc,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;AAEtE,KAAK,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;AAE3E,KAAK,aAAa,GAAG;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,gBAAgB,CAAC;CAClD,CAAC;AAIF,iBAAS,iBAAiB,CACxB,WAAW,EAAE,MAAM,CAAC,iBAAiB,EACrC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAC7E,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrF,iBAAS,iBAAiB,CACxB,WAAW,EAAE,MAAM,CAAC,eAAe,EACnC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,GAC3E,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAoBnF,QAAA,MAAM,gBAAgB,0IAqGrB,CAAC;AAEF,QAAA,MAAM,aAAa,+CAET;IAAE,EAAE,EAAE,QAAQ,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAA;CAAE,oCAS1D,CAAC;AAMF,QAAA,MAAM,gBAAgB,6HAKJ;IAAE,EAAE,EAAE,QAAQ,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAA;CAAE,wCAuFlE,CAAC;AAkGF,QAAA,MAAM,gBAAgB;;mBA+CrB,CAAC;AA8DF,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kKAMpB,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,CAAC"}