@strapi/core 0.0.0-experimental.9034cc03ac5cf73cd9dcb2ff7c6cadece3f6910d → 0.0.0-experimental.931410e9ec44301eb4579640bf42aa347fb4a3b7

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

Potentially problematic release.


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

Files changed (860) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +37 -46
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +435 -446
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +426 -457
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/compile.js +23 -14
  9. package/dist/compile.js.map +1 -1
  10. package/dist/compile.mjs +22 -14
  11. package/dist/compile.mjs.map +1 -1
  12. package/dist/configuration/config-loader.d.ts.map +1 -1
  13. package/dist/configuration/config-loader.js +110 -93
  14. package/dist/configuration/config-loader.js.map +1 -1
  15. package/dist/configuration/config-loader.mjs +109 -92
  16. package/dist/configuration/config-loader.mjs.map +1 -1
  17. package/dist/configuration/get-dirs.d.ts +10 -0
  18. package/dist/configuration/get-dirs.d.ts.map +1 -0
  19. package/dist/configuration/get-dirs.js +33 -0
  20. package/dist/configuration/get-dirs.js.map +1 -0
  21. package/dist/configuration/get-dirs.mjs +31 -0
  22. package/dist/configuration/get-dirs.mjs.map +1 -0
  23. package/dist/configuration/index.d.ts +4 -7
  24. package/dist/configuration/index.d.ts.map +1 -1
  25. package/dist/configuration/index.js +85 -72
  26. package/dist/configuration/index.js.map +1 -1
  27. package/dist/configuration/index.mjs +83 -68
  28. package/dist/configuration/index.mjs.map +1 -1
  29. package/dist/configuration/urls.js +65 -61
  30. package/dist/configuration/urls.js.map +1 -1
  31. package/dist/configuration/urls.mjs +64 -62
  32. package/dist/configuration/urls.mjs.map +1 -1
  33. package/dist/container.js +27 -23
  34. package/dist/container.js.map +1 -1
  35. package/dist/container.mjs +26 -24
  36. package/dist/container.mjs.map +1 -1
  37. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  38. package/dist/core-api/controller/collection-type.js +77 -73
  39. package/dist/core-api/controller/collection-type.js.map +1 -1
  40. package/dist/core-api/controller/collection-type.mjs +76 -74
  41. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  42. package/dist/core-api/controller/index.js +63 -48
  43. package/dist/core-api/controller/index.js.map +1 -1
  44. package/dist/core-api/controller/index.mjs +62 -49
  45. package/dist/core-api/controller/index.mjs.map +1 -1
  46. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  47. package/dist/core-api/controller/single-type.js +41 -39
  48. package/dist/core-api/controller/single-type.js.map +1 -1
  49. package/dist/core-api/controller/single-type.mjs +40 -40
  50. package/dist/core-api/controller/single-type.mjs.map +1 -1
  51. package/dist/core-api/controller/transform.js +72 -63
  52. package/dist/core-api/controller/transform.js.map +1 -1
  53. package/dist/core-api/controller/transform.mjs +71 -64
  54. package/dist/core-api/controller/transform.mjs.map +1 -1
  55. package/dist/core-api/routes/index.d.ts.map +1 -1
  56. package/dist/core-api/routes/index.js +64 -62
  57. package/dist/core-api/routes/index.js.map +1 -1
  58. package/dist/core-api/routes/index.mjs +62 -62
  59. package/dist/core-api/routes/index.mjs.map +1 -1
  60. package/dist/core-api/service/collection-type.d.ts +3 -9
  61. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  62. package/dist/core-api/service/collection-type.js +73 -49
  63. package/dist/core-api/service/collection-type.js.map +1 -1
  64. package/dist/core-api/service/collection-type.mjs +72 -51
  65. package/dist/core-api/service/collection-type.mjs.map +1 -1
  66. package/dist/core-api/service/core-service.js +9 -8
  67. package/dist/core-api/service/core-service.js.map +1 -1
  68. package/dist/core-api/service/core-service.mjs +8 -9
  69. package/dist/core-api/service/core-service.mjs.map +1 -1
  70. package/dist/core-api/service/index.js +13 -13
  71. package/dist/core-api/service/index.js.map +1 -1
  72. package/dist/core-api/service/index.mjs +12 -14
  73. package/dist/core-api/service/index.mjs.map +1 -1
  74. package/dist/core-api/service/pagination.d.ts +4 -11
  75. package/dist/core-api/service/pagination.d.ts.map +1 -1
  76. package/dist/core-api/service/pagination.js +68 -68
  77. package/dist/core-api/service/pagination.js.map +1 -1
  78. package/dist/core-api/service/pagination.mjs +66 -71
  79. package/dist/core-api/service/pagination.mjs.map +1 -1
  80. package/dist/core-api/service/single-type.d.ts.map +1 -1
  81. package/dist/core-api/service/single-type.js +43 -32
  82. package/dist/core-api/service/single-type.js.map +1 -1
  83. package/dist/core-api/service/single-type.mjs +42 -34
  84. package/dist/core-api/service/single-type.mjs.map +1 -1
  85. package/dist/domain/content-type/index.js +95 -100
  86. package/dist/domain/content-type/index.js.map +1 -1
  87. package/dist/domain/content-type/index.mjs +94 -100
  88. package/dist/domain/content-type/index.mjs.map +1 -1
  89. package/dist/domain/content-type/validator.js +84 -69
  90. package/dist/domain/content-type/validator.js.map +1 -1
  91. package/dist/domain/content-type/validator.mjs +83 -68
  92. package/dist/domain/content-type/validator.mjs.map +1 -1
  93. package/dist/domain/module/index.js +109 -100
  94. package/dist/domain/module/index.js.map +1 -1
  95. package/dist/domain/module/index.mjs +108 -99
  96. package/dist/domain/module/index.mjs.map +1 -1
  97. package/dist/domain/module/validation.js +25 -20
  98. package/dist/domain/module/validation.js.map +1 -1
  99. package/dist/domain/module/validation.mjs +24 -21
  100. package/dist/domain/module/validation.mjs.map +1 -1
  101. package/dist/ee/index.d.ts +3 -0
  102. package/dist/ee/index.d.ts.map +1 -1
  103. package/dist/ee/index.js +171 -132
  104. package/dist/ee/index.js.map +1 -1
  105. package/dist/ee/index.mjs +170 -134
  106. package/dist/ee/index.mjs.map +1 -1
  107. package/dist/ee/license.d.ts.map +1 -1
  108. package/dist/ee/license.js +99 -74
  109. package/dist/ee/license.js.map +1 -1
  110. package/dist/ee/license.mjs +98 -75
  111. package/dist/ee/license.mjs.map +1 -1
  112. package/dist/factories.d.ts +2 -2
  113. package/dist/factories.d.ts.map +1 -1
  114. package/dist/factories.js +72 -67
  115. package/dist/factories.js.map +1 -1
  116. package/dist/factories.mjs +71 -71
  117. package/dist/factories.mjs.map +1 -1
  118. package/dist/index.d.ts +18 -2
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +32 -5
  121. package/dist/index.js.map +1 -1
  122. package/dist/index.mjs +29 -5
  123. package/dist/index.mjs.map +1 -1
  124. package/dist/loaders/admin.d.ts.map +1 -1
  125. package/dist/loaders/admin.js +21 -21
  126. package/dist/loaders/admin.js.map +1 -1
  127. package/dist/loaders/admin.mjs +20 -21
  128. package/dist/loaders/admin.mjs.map +1 -1
  129. package/dist/loaders/apis.d.ts.map +1 -1
  130. package/dist/loaders/apis.js +143 -120
  131. package/dist/loaders/apis.js.map +1 -1
  132. package/dist/loaders/apis.mjs +142 -119
  133. package/dist/loaders/apis.mjs.map +1 -1
  134. package/dist/loaders/components.js +33 -34
  135. package/dist/loaders/components.js.map +1 -1
  136. package/dist/loaders/components.mjs +32 -34
  137. package/dist/loaders/components.mjs.map +1 -1
  138. package/dist/loaders/index.d.ts.map +1 -1
  139. package/dist/loaders/index.js +22 -22
  140. package/dist/loaders/index.js.map +1 -1
  141. package/dist/loaders/index.mjs +21 -23
  142. package/dist/loaders/index.mjs.map +1 -1
  143. package/dist/loaders/middlewares.js +29 -25
  144. package/dist/loaders/middlewares.js.map +1 -1
  145. package/dist/loaders/middlewares.mjs +28 -25
  146. package/dist/loaders/middlewares.mjs.map +1 -1
  147. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  148. package/dist/loaders/plugins/get-enabled-plugins.js +125 -101
  149. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  150. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -100
  151. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  152. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  153. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  154. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  155. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  156. package/dist/loaders/plugins/index.d.ts.map +1 -1
  157. package/dist/loaders/plugins/index.js +141 -104
  158. package/dist/loaders/plugins/index.js.map +1 -1
  159. package/dist/loaders/plugins/index.mjs +121 -104
  160. package/dist/loaders/plugins/index.mjs.map +1 -1
  161. package/dist/loaders/policies.js +24 -20
  162. package/dist/loaders/policies.js.map +1 -1
  163. package/dist/loaders/policies.mjs +23 -20
  164. package/dist/loaders/policies.mjs.map +1 -1
  165. package/dist/loaders/sanitizers.js +10 -4
  166. package/dist/loaders/sanitizers.js.map +1 -1
  167. package/dist/loaders/sanitizers.mjs +9 -6
  168. package/dist/loaders/sanitizers.mjs.map +1 -1
  169. package/dist/loaders/src-index.js +35 -27
  170. package/dist/loaders/src-index.js.map +1 -1
  171. package/dist/loaders/src-index.mjs +34 -29
  172. package/dist/loaders/src-index.mjs.map +1 -1
  173. package/dist/loaders/validators.js +9 -4
  174. package/dist/loaders/validators.js.map +1 -1
  175. package/dist/loaders/validators.mjs +8 -6
  176. package/dist/loaders/validators.mjs.map +1 -1
  177. package/dist/middlewares/body.d.ts +2 -2
  178. package/dist/middlewares/body.d.ts.map +1 -1
  179. package/dist/middlewares/body.js +58 -54
  180. package/dist/middlewares/body.js.map +1 -1
  181. package/dist/middlewares/body.mjs +57 -51
  182. package/dist/middlewares/body.mjs.map +1 -1
  183. package/dist/middlewares/compression.js +6 -6
  184. package/dist/middlewares/compression.js.map +1 -1
  185. package/dist/middlewares/compression.mjs +5 -5
  186. package/dist/middlewares/compression.mjs.map +1 -1
  187. package/dist/middlewares/cors.d.ts.map +1 -1
  188. package/dist/middlewares/cors.js +59 -46
  189. package/dist/middlewares/cors.js.map +1 -1
  190. package/dist/middlewares/cors.mjs +58 -45
  191. package/dist/middlewares/cors.mjs.map +1 -1
  192. package/dist/middlewares/errors.js +32 -30
  193. package/dist/middlewares/errors.js.map +1 -1
  194. package/dist/middlewares/errors.mjs +31 -31
  195. package/dist/middlewares/errors.mjs.map +1 -1
  196. package/dist/middlewares/favicon.js +27 -17
  197. package/dist/middlewares/favicon.js.map +1 -1
  198. package/dist/middlewares/favicon.mjs +26 -16
  199. package/dist/middlewares/favicon.mjs.map +1 -1
  200. package/dist/middlewares/index.js +32 -30
  201. package/dist/middlewares/index.js.map +1 -1
  202. package/dist/middlewares/index.mjs +31 -31
  203. package/dist/middlewares/index.mjs.map +1 -1
  204. package/dist/middlewares/ip.js +6 -6
  205. package/dist/middlewares/ip.js.map +1 -1
  206. package/dist/middlewares/ip.mjs +5 -5
  207. package/dist/middlewares/ip.mjs.map +1 -1
  208. package/dist/middlewares/logger.js +10 -9
  209. package/dist/middlewares/logger.js.map +1 -1
  210. package/dist/middlewares/logger.mjs +9 -10
  211. package/dist/middlewares/logger.mjs.map +1 -1
  212. package/dist/middlewares/powered-by.js +13 -9
  213. package/dist/middlewares/powered-by.js.map +1 -1
  214. package/dist/middlewares/powered-by.mjs +12 -10
  215. package/dist/middlewares/powered-by.mjs.map +1 -1
  216. package/dist/middlewares/public.js +33 -29
  217. package/dist/middlewares/public.js.map +1 -1
  218. package/dist/middlewares/public.mjs +32 -28
  219. package/dist/middlewares/public.mjs.map +1 -1
  220. package/dist/middlewares/query.d.ts.map +1 -1
  221. package/dist/middlewares/query.js +35 -32
  222. package/dist/middlewares/query.js.map +1 -1
  223. package/dist/middlewares/query.mjs +34 -31
  224. package/dist/middlewares/query.mjs.map +1 -1
  225. package/dist/middlewares/response-time.js +10 -9
  226. package/dist/middlewares/response-time.js.map +1 -1
  227. package/dist/middlewares/response-time.mjs +9 -10
  228. package/dist/middlewares/response-time.mjs.map +1 -1
  229. package/dist/middlewares/responses.js +14 -12
  230. package/dist/middlewares/responses.js.map +1 -1
  231. package/dist/middlewares/responses.mjs +13 -13
  232. package/dist/middlewares/responses.mjs.map +1 -1
  233. package/dist/middlewares/security.d.ts.map +1 -1
  234. package/dist/middlewares/security.js +110 -65
  235. package/dist/middlewares/security.js.map +1 -1
  236. package/dist/middlewares/security.mjs +108 -63
  237. package/dist/middlewares/security.mjs.map +1 -1
  238. package/dist/middlewares/session.js +26 -25
  239. package/dist/middlewares/session.js.map +1 -1
  240. package/dist/middlewares/session.mjs +25 -24
  241. package/dist/middlewares/session.mjs.map +1 -1
  242. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  243. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  244. package/dist/migrations/database/5.0.0-discard-drafts.js +168 -0
  245. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  246. package/dist/migrations/database/5.0.0-discard-drafts.mjs +165 -0
  247. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  248. package/dist/migrations/draft-publish.d.ts +2 -2
  249. package/dist/migrations/draft-publish.d.ts.map +1 -1
  250. package/dist/migrations/draft-publish.js +59 -49
  251. package/dist/migrations/draft-publish.js.map +1 -1
  252. package/dist/migrations/draft-publish.mjs +58 -51
  253. package/dist/migrations/draft-publish.mjs.map +1 -1
  254. package/dist/migrations/i18n.d.ts +5 -0
  255. package/dist/migrations/i18n.d.ts.map +1 -0
  256. package/dist/migrations/i18n.js +71 -0
  257. package/dist/migrations/i18n.js.map +1 -0
  258. package/dist/migrations/i18n.mjs +68 -0
  259. package/dist/migrations/i18n.mjs.map +1 -0
  260. package/dist/migrations/index.d.ts +5 -0
  261. package/dist/migrations/index.d.ts.map +1 -0
  262. package/dist/migrations/index.js +29 -0
  263. package/dist/migrations/index.js.map +1 -0
  264. package/dist/migrations/index.mjs +26 -0
  265. package/dist/migrations/index.mjs.map +1 -0
  266. package/dist/package.json.js +182 -0
  267. package/dist/package.json.js.map +1 -0
  268. package/dist/package.json.mjs +159 -0
  269. package/dist/package.json.mjs.map +1 -0
  270. package/dist/providers/admin.d.ts +3 -0
  271. package/dist/providers/admin.d.ts.map +1 -0
  272. package/dist/providers/admin.js +30 -0
  273. package/dist/providers/admin.js.map +1 -0
  274. package/dist/providers/admin.mjs +28 -0
  275. package/dist/providers/admin.mjs.map +1 -0
  276. package/dist/providers/coreStore.d.ts +3 -0
  277. package/dist/providers/coreStore.d.ts.map +1 -0
  278. package/dist/providers/coreStore.js +16 -0
  279. package/dist/providers/coreStore.js.map +1 -0
  280. package/dist/providers/coreStore.mjs +14 -0
  281. package/dist/providers/coreStore.mjs.map +1 -0
  282. package/dist/providers/cron.d.ts +3 -0
  283. package/dist/providers/cron.d.ts.map +1 -0
  284. package/dist/providers/cron.js +23 -0
  285. package/dist/providers/cron.js.map +1 -0
  286. package/dist/providers/cron.mjs +21 -0
  287. package/dist/providers/cron.mjs.map +1 -0
  288. package/dist/providers/index.d.ts +3 -0
  289. package/dist/providers/index.d.ts.map +1 -0
  290. package/dist/providers/index.js +20 -0
  291. package/dist/providers/index.js.map +1 -0
  292. package/dist/providers/index.mjs +18 -0
  293. package/dist/providers/index.mjs.map +1 -0
  294. package/dist/providers/provider.d.ts +9 -0
  295. package/dist/providers/provider.d.ts.map +1 -0
  296. package/dist/providers/provider.js +6 -0
  297. package/dist/providers/provider.js.map +1 -0
  298. package/dist/providers/provider.mjs +4 -0
  299. package/dist/providers/provider.mjs.map +1 -0
  300. package/dist/providers/registries.d.ts +3 -0
  301. package/dist/providers/registries.d.ts.map +1 -0
  302. package/dist/providers/registries.js +40 -0
  303. package/dist/providers/registries.js.map +1 -0
  304. package/dist/providers/registries.mjs +38 -0
  305. package/dist/providers/registries.mjs.map +1 -0
  306. package/dist/providers/telemetry.d.ts +3 -0
  307. package/dist/providers/telemetry.d.ts.map +1 -0
  308. package/dist/providers/telemetry.js +22 -0
  309. package/dist/providers/telemetry.js.map +1 -0
  310. package/dist/providers/telemetry.mjs +20 -0
  311. package/dist/providers/telemetry.mjs.map +1 -0
  312. package/dist/providers/webhooks.d.ts +3 -0
  313. package/dist/providers/webhooks.d.ts.map +1 -0
  314. package/dist/providers/webhooks.js +32 -0
  315. package/dist/providers/webhooks.js.map +1 -0
  316. package/dist/providers/webhooks.mjs +30 -0
  317. package/dist/providers/webhooks.mjs.map +1 -0
  318. package/dist/registries/apis.js +23 -20
  319. package/dist/registries/apis.js.map +1 -1
  320. package/dist/registries/apis.mjs +22 -22
  321. package/dist/registries/apis.mjs.map +1 -1
  322. package/dist/registries/components.js +35 -37
  323. package/dist/registries/components.js.map +1 -1
  324. package/dist/registries/components.mjs +34 -39
  325. package/dist/registries/components.mjs.map +1 -1
  326. package/dist/registries/content-types.js +54 -59
  327. package/dist/registries/content-types.js.map +1 -1
  328. package/dist/registries/content-types.mjs +53 -61
  329. package/dist/registries/content-types.mjs.map +1 -1
  330. package/dist/registries/controllers.js +70 -71
  331. package/dist/registries/controllers.js.map +1 -1
  332. package/dist/registries/controllers.mjs +69 -73
  333. package/dist/registries/controllers.mjs.map +1 -1
  334. package/dist/registries/custom-fields.js +75 -65
  335. package/dist/registries/custom-fields.js.map +1 -1
  336. package/dist/registries/custom-fields.mjs +74 -67
  337. package/dist/registries/custom-fields.mjs.map +1 -1
  338. package/dist/registries/hooks.js +46 -49
  339. package/dist/registries/hooks.js.map +1 -1
  340. package/dist/registries/hooks.mjs +45 -51
  341. package/dist/registries/hooks.mjs.map +1 -1
  342. package/dist/registries/index.d.ts +0 -1
  343. package/dist/registries/index.d.ts.map +1 -1
  344. package/dist/registries/middlewares.js +49 -51
  345. package/dist/registries/middlewares.js.map +1 -1
  346. package/dist/registries/middlewares.mjs +48 -53
  347. package/dist/registries/middlewares.mjs.map +1 -1
  348. package/dist/registries/models.js +14 -13
  349. package/dist/registries/models.js.map +1 -1
  350. package/dist/registries/models.mjs +13 -14
  351. package/dist/registries/models.mjs.map +1 -1
  352. package/dist/registries/modules.js +39 -36
  353. package/dist/registries/modules.js.map +1 -1
  354. package/dist/registries/modules.mjs +38 -38
  355. package/dist/registries/modules.mjs.map +1 -1
  356. package/dist/registries/namespace.js +21 -20
  357. package/dist/registries/namespace.js.map +1 -1
  358. package/dist/registries/namespace.mjs +20 -23
  359. package/dist/registries/namespace.mjs.map +1 -1
  360. package/dist/registries/plugins.js +23 -20
  361. package/dist/registries/plugins.js.map +1 -1
  362. package/dist/registries/plugins.mjs +22 -22
  363. package/dist/registries/plugins.mjs.map +1 -1
  364. package/dist/registries/policies.d.ts +1 -1
  365. package/dist/registries/policies.d.ts.map +1 -1
  366. package/dist/registries/policies.js +103 -96
  367. package/dist/registries/policies.js.map +1 -1
  368. package/dist/registries/policies.mjs +102 -98
  369. package/dist/registries/policies.mjs.map +1 -1
  370. package/dist/registries/sanitizers.js +23 -22
  371. package/dist/registries/sanitizers.js.map +1 -1
  372. package/dist/registries/sanitizers.mjs +22 -22
  373. package/dist/registries/sanitizers.mjs.map +1 -1
  374. package/dist/registries/services.js +71 -71
  375. package/dist/registries/services.js.map +1 -1
  376. package/dist/registries/services.mjs +70 -73
  377. package/dist/registries/services.mjs.map +1 -1
  378. package/dist/registries/validators.js +23 -22
  379. package/dist/registries/validators.js.map +1 -1
  380. package/dist/registries/validators.mjs +22 -22
  381. package/dist/registries/validators.mjs.map +1 -1
  382. package/dist/services/auth/index.js +74 -74
  383. package/dist/services/auth/index.js.map +1 -1
  384. package/dist/services/auth/index.mjs +73 -74
  385. package/dist/services/auth/index.mjs.map +1 -1
  386. package/dist/services/config.d.ts +3 -0
  387. package/dist/services/config.d.ts.map +1 -0
  388. package/dist/services/config.js +51 -0
  389. package/dist/services/config.js.map +1 -0
  390. package/dist/services/config.mjs +49 -0
  391. package/dist/services/config.mjs.map +1 -0
  392. package/dist/services/content-api/index.d.ts +10 -12
  393. package/dist/services/content-api/index.d.ts.map +1 -1
  394. package/dist/services/content-api/index.js +80 -79
  395. package/dist/services/content-api/index.js.map +1 -1
  396. package/dist/services/content-api/index.mjs +79 -79
  397. package/dist/services/content-api/index.mjs.map +1 -1
  398. package/dist/services/content-api/permissions/engine.js +8 -5
  399. package/dist/services/content-api/permissions/engine.js.map +1 -1
  400. package/dist/services/content-api/permissions/engine.mjs +7 -5
  401. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  402. package/dist/services/content-api/permissions/index.d.ts +10 -12
  403. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  404. package/dist/services/content-api/permissions/index.js +101 -81
  405. package/dist/services/content-api/permissions/index.js.map +1 -1
  406. package/dist/services/content-api/permissions/index.mjs +100 -81
  407. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  408. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  409. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  410. package/dist/services/content-api/permissions/providers/action.js +17 -14
  411. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  412. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  413. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  414. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  415. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  416. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  417. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  418. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  419. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  420. package/dist/services/core-store.d.ts.map +1 -1
  421. package/dist/services/core-store.js +115 -95
  422. package/dist/services/core-store.js.map +1 -1
  423. package/dist/services/core-store.mjs +114 -97
  424. package/dist/services/core-store.mjs.map +1 -1
  425. package/dist/services/cron.d.ts +3 -3
  426. package/dist/services/cron.d.ts.map +1 -1
  427. package/dist/services/cron.js +74 -60
  428. package/dist/services/cron.js.map +1 -1
  429. package/dist/services/cron.mjs +73 -62
  430. package/dist/services/cron.mjs.map +1 -1
  431. package/dist/services/custom-fields.js +9 -7
  432. package/dist/services/custom-fields.js.map +1 -1
  433. package/dist/services/custom-fields.mjs +8 -9
  434. package/dist/services/custom-fields.mjs.map +1 -1
  435. package/dist/services/document-service/attributes/index.d.ts +6 -0
  436. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  437. package/dist/services/document-service/attributes/index.js +27 -0
  438. package/dist/services/document-service/attributes/index.js.map +1 -0
  439. package/dist/services/document-service/attributes/index.mjs +25 -0
  440. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  441. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  442. package/dist/services/document-service/attributes/transforms.js +21 -0
  443. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  444. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  445. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  446. package/dist/services/document-service/common.d.ts +1 -1
  447. package/dist/services/document-service/common.d.ts.map +1 -1
  448. package/dist/services/document-service/common.js +5 -4
  449. package/dist/services/document-service/common.js.map +1 -1
  450. package/dist/services/document-service/common.mjs +4 -5
  451. package/dist/services/document-service/common.mjs.map +1 -1
  452. package/dist/services/document-service/components.d.ts +25 -1
  453. package/dist/services/document-service/components.d.ts.map +1 -1
  454. package/dist/services/document-service/components.js +286 -0
  455. package/dist/services/document-service/components.js.map +1 -0
  456. package/dist/services/document-service/components.mjs +278 -0
  457. package/dist/services/document-service/components.mjs.map +1 -0
  458. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  459. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  460. package/dist/services/document-service/draft-and-publish.js +94 -54
  461. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  462. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  463. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  464. package/dist/services/document-service/entries.d.ts +10 -0
  465. package/dist/services/document-service/entries.d.ts.map +1 -0
  466. package/dist/services/document-service/entries.js +113 -0
  467. package/dist/services/document-service/entries.js.map +1 -0
  468. package/dist/services/document-service/entries.mjs +111 -0
  469. package/dist/services/document-service/entries.mjs.map +1 -0
  470. package/dist/services/document-service/events.d.ts +25 -0
  471. package/dist/services/document-service/events.d.ts.map +1 -0
  472. package/dist/services/document-service/events.js +59 -0
  473. package/dist/services/document-service/events.js.map +1 -0
  474. package/dist/services/document-service/events.mjs +57 -0
  475. package/dist/services/document-service/events.mjs.map +1 -0
  476. package/dist/services/document-service/index.d.ts +2 -3
  477. package/dist/services/document-service/index.d.ts.map +1 -1
  478. package/dist/services/document-service/index.js +53 -25
  479. package/dist/services/document-service/index.js.map +1 -1
  480. package/dist/services/document-service/index.mjs +52 -26
  481. package/dist/services/document-service/index.mjs.map +1 -1
  482. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  483. package/dist/services/document-service/internationalization.js +66 -41
  484. package/dist/services/document-service/internationalization.js.map +1 -1
  485. package/dist/services/document-service/internationalization.mjs +61 -41
  486. package/dist/services/document-service/internationalization.mjs.map +1 -1
  487. package/dist/services/document-service/middlewares/errors.js +23 -19
  488. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  489. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  490. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  491. package/dist/services/document-service/middlewares/middleware-manager.d.ts +5 -2
  492. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -1
  493. package/dist/services/document-service/middlewares/middleware-manager.js +46 -41
  494. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  495. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -42
  496. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  497. package/dist/services/document-service/params.d.ts +3 -1
  498. package/dist/services/document-service/params.d.ts.map +1 -1
  499. package/dist/services/document-service/params.js +14 -0
  500. package/dist/services/document-service/params.js.map +1 -0
  501. package/dist/services/document-service/params.mjs +12 -0
  502. package/dist/services/document-service/params.mjs.map +1 -0
  503. package/dist/services/document-service/repository.d.ts.map +1 -1
  504. package/dist/services/document-service/repository.js +354 -297
  505. package/dist/services/document-service/repository.js.map +1 -1
  506. package/dist/services/document-service/repository.mjs +353 -298
  507. package/dist/services/document-service/repository.mjs.map +1 -1
  508. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  509. package/dist/services/document-service/transform/data.js +22 -10
  510. package/dist/services/document-service/transform/data.js.map +1 -1
  511. package/dist/services/document-service/transform/data.mjs +21 -11
  512. package/dist/services/document-service/transform/data.mjs.map +1 -1
  513. package/dist/services/document-service/transform/fields.js +26 -17
  514. package/dist/services/document-service/transform/fields.js.map +1 -1
  515. package/dist/services/document-service/transform/fields.mjs +25 -18
  516. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  517. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  518. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  519. package/dist/services/document-service/transform/id-map.js +116 -69
  520. package/dist/services/document-service/transform/id-map.js.map +1 -1
  521. package/dist/services/document-service/transform/id-map.mjs +115 -70
  522. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  523. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  524. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  525. package/dist/services/document-service/transform/id-transform.js +38 -30
  526. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  527. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  528. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  529. package/dist/services/document-service/transform/populate.js +23 -18
  530. package/dist/services/document-service/transform/populate.js.map +1 -1
  531. package/dist/services/document-service/transform/populate.mjs +22 -19
  532. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  533. package/dist/services/document-service/transform/query.d.ts +5 -0
  534. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  535. package/dist/services/document-service/transform/query.js +14 -0
  536. package/dist/services/document-service/transform/query.js.map +1 -0
  537. package/dist/services/document-service/transform/query.mjs +12 -0
  538. package/dist/services/document-service/transform/query.mjs.map +1 -0
  539. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  540. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  541. package/dist/services/document-service/transform/relations/extract/data-ids.js +75 -85
  542. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  543. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +74 -86
  544. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  545. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +7 -3
  546. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  547. package/dist/services/document-service/transform/relations/transform/data-ids.js +103 -134
  548. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  549. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +102 -135
  550. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  551. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  552. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  553. package/dist/services/document-service/transform/relations/transform/default-locale.js +50 -0
  554. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  555. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +48 -0
  556. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  557. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  558. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  559. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  560. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  561. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  562. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  563. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +3 -3
  564. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  565. package/dist/services/document-service/transform/relations/utils/i18n.js +19 -23
  566. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  567. package/dist/services/document-service/transform/relations/utils/i18n.mjs +18 -26
  568. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  569. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  570. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  571. package/dist/services/document-service/transform/relations/utils/map-relation.js +130 -0
  572. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  573. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +127 -0
  574. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  575. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  576. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  577. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  578. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  579. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  580. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  581. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  582. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  583. package/dist/services/document-service/utils/populate.d.ts +1 -1
  584. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  585. package/dist/services/document-service/utils/populate.js +67 -37
  586. package/dist/services/document-service/utils/populate.js.map +1 -1
  587. package/dist/services/document-service/utils/populate.mjs +66 -38
  588. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  589. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  590. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  591. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  592. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  593. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  594. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  595. package/dist/services/entity-service/index.d.ts.map +1 -1
  596. package/dist/services/entity-service/index.js +230 -154
  597. package/dist/services/entity-service/index.js.map +1 -1
  598. package/dist/services/entity-service/index.mjs +229 -153
  599. package/dist/services/entity-service/index.mjs.map +1 -1
  600. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  601. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  602. package/dist/services/entity-validator/blocks-validator.js +137 -104
  603. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  604. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  605. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  606. package/dist/services/entity-validator/index.d.ts +15 -1
  607. package/dist/services/entity-validator/index.d.ts.map +1 -1
  608. package/dist/services/entity-validator/index.js +362 -305
  609. package/dist/services/entity-validator/index.js.map +1 -1
  610. package/dist/services/entity-validator/index.mjs +358 -302
  611. package/dist/services/entity-validator/index.mjs.map +1 -1
  612. package/dist/services/entity-validator/validators.d.ts +36 -25
  613. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  614. package/dist/services/entity-validator/validators.js +283 -110
  615. package/dist/services/entity-validator/validators.js.map +1 -1
  616. package/dist/services/entity-validator/validators.mjs +274 -108
  617. package/dist/services/entity-validator/validators.mjs.map +1 -1
  618. package/dist/services/errors.js +65 -65
  619. package/dist/services/errors.js.map +1 -1
  620. package/dist/services/errors.mjs +64 -66
  621. package/dist/services/errors.mjs.map +1 -1
  622. package/dist/services/event-hub.d.ts +1 -0
  623. package/dist/services/event-hub.d.ts.map +1 -1
  624. package/dist/services/event-hub.js +82 -64
  625. package/dist/services/event-hub.js.map +1 -1
  626. package/dist/services/event-hub.mjs +81 -66
  627. package/dist/services/event-hub.mjs.map +1 -1
  628. package/dist/services/features.js +19 -14
  629. package/dist/services/features.js.map +1 -1
  630. package/dist/services/features.mjs +18 -15
  631. package/dist/services/features.mjs.map +1 -1
  632. package/dist/services/fs.js +41 -40
  633. package/dist/services/fs.js.map +1 -1
  634. package/dist/services/fs.mjs +40 -39
  635. package/dist/services/fs.mjs.map +1 -1
  636. package/dist/services/metrics/admin-user-hash.js +13 -11
  637. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  638. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  639. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  640. package/dist/services/metrics/index.js +46 -40
  641. package/dist/services/metrics/index.js.map +1 -1
  642. package/dist/services/metrics/index.mjs +45 -42
  643. package/dist/services/metrics/index.mjs.map +1 -1
  644. package/dist/services/metrics/is-truthy.js +13 -6
  645. package/dist/services/metrics/is-truthy.js.map +1 -1
  646. package/dist/services/metrics/is-truthy.mjs +12 -6
  647. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  648. package/dist/services/metrics/middleware.d.ts.map +1 -1
  649. package/dist/services/metrics/middleware.js +37 -22
  650. package/dist/services/metrics/middleware.js.map +1 -1
  651. package/dist/services/metrics/middleware.mjs +36 -24
  652. package/dist/services/metrics/middleware.mjs.map +1 -1
  653. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  654. package/dist/services/metrics/rate-limiter.js +24 -19
  655. package/dist/services/metrics/rate-limiter.js.map +1 -1
  656. package/dist/services/metrics/rate-limiter.mjs +23 -21
  657. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  658. package/dist/services/metrics/sender.js +78 -69
  659. package/dist/services/metrics/sender.js.map +1 -1
  660. package/dist/services/metrics/sender.mjs +77 -64
  661. package/dist/services/metrics/sender.mjs.map +1 -1
  662. package/dist/services/query-params.js +13 -10
  663. package/dist/services/query-params.js.map +1 -1
  664. package/dist/services/query-params.mjs +12 -12
  665. package/dist/services/query-params.mjs.map +1 -1
  666. package/dist/services/reloader.d.ts +7 -0
  667. package/dist/services/reloader.d.ts.map +1 -0
  668. package/dist/services/reloader.js +39 -0
  669. package/dist/services/reloader.js.map +1 -0
  670. package/dist/services/reloader.mjs +37 -0
  671. package/dist/services/reloader.mjs.map +1 -0
  672. package/dist/services/request-context.js +11 -8
  673. package/dist/services/request-context.js.map +1 -1
  674. package/dist/services/request-context.mjs +10 -10
  675. package/dist/services/request-context.mjs.map +1 -1
  676. package/dist/services/server/admin-api.js +11 -10
  677. package/dist/services/server/admin-api.js.map +1 -1
  678. package/dist/services/server/admin-api.mjs +10 -11
  679. package/dist/services/server/admin-api.mjs.map +1 -1
  680. package/dist/services/server/api.js +33 -27
  681. package/dist/services/server/api.js.map +1 -1
  682. package/dist/services/server/api.mjs +32 -26
  683. package/dist/services/server/api.mjs.map +1 -1
  684. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  685. package/dist/services/server/compose-endpoint.js +116 -105
  686. package/dist/services/server/compose-endpoint.js.map +1 -1
  687. package/dist/services/server/compose-endpoint.mjs +115 -105
  688. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  689. package/dist/services/server/content-api.js +11 -9
  690. package/dist/services/server/content-api.js.map +1 -1
  691. package/dist/services/server/content-api.mjs +10 -10
  692. package/dist/services/server/content-api.mjs.map +1 -1
  693. package/dist/services/server/http-server.js +48 -44
  694. package/dist/services/server/http-server.js.map +1 -1
  695. package/dist/services/server/http-server.mjs +47 -43
  696. package/dist/services/server/http-server.mjs.map +1 -1
  697. package/dist/services/server/index.js +85 -82
  698. package/dist/services/server/index.js.map +1 -1
  699. package/dist/services/server/index.mjs +84 -81
  700. package/dist/services/server/index.mjs.map +1 -1
  701. package/dist/services/server/koa.d.ts.map +1 -1
  702. package/dist/services/server/koa.js +49 -47
  703. package/dist/services/server/koa.js.map +1 -1
  704. package/dist/services/server/koa.mjs +48 -44
  705. package/dist/services/server/koa.mjs.map +1 -1
  706. package/dist/services/server/middleware.js +86 -82
  707. package/dist/services/server/middleware.js.map +1 -1
  708. package/dist/services/server/middleware.mjs +85 -82
  709. package/dist/services/server/middleware.mjs.map +1 -1
  710. package/dist/services/server/policy.js +24 -17
  711. package/dist/services/server/policy.js.map +1 -1
  712. package/dist/services/server/policy.mjs +23 -18
  713. package/dist/services/server/policy.mjs.map +1 -1
  714. package/dist/services/server/register-middlewares.js +68 -61
  715. package/dist/services/server/register-middlewares.js.map +1 -1
  716. package/dist/services/server/register-middlewares.mjs +67 -63
  717. package/dist/services/server/register-middlewares.mjs.map +1 -1
  718. package/dist/services/server/register-routes.js +90 -67
  719. package/dist/services/server/register-routes.js.map +1 -1
  720. package/dist/services/server/register-routes.mjs +89 -67
  721. package/dist/services/server/register-routes.mjs.map +1 -1
  722. package/dist/services/server/routing.d.ts +1 -1
  723. package/dist/services/server/routing.js +94 -81
  724. package/dist/services/server/routing.js.map +1 -1
  725. package/dist/services/server/routing.mjs +93 -81
  726. package/dist/services/server/routing.mjs.map +1 -1
  727. package/dist/services/utils/dynamic-zones.js +13 -14
  728. package/dist/services/utils/dynamic-zones.js.map +1 -1
  729. package/dist/services/utils/dynamic-zones.mjs +12 -16
  730. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  731. package/dist/services/webhook-runner.d.ts +2 -1
  732. package/dist/services/webhook-runner.d.ts.map +1 -1
  733. package/dist/services/webhook-runner.js +124 -122
  734. package/dist/services/webhook-runner.js.map +1 -1
  735. package/dist/services/webhook-runner.mjs +123 -121
  736. package/dist/services/webhook-runner.mjs.map +1 -1
  737. package/dist/services/webhook-store.d.ts +2 -8
  738. package/dist/services/webhook-store.d.ts.map +1 -1
  739. package/dist/services/webhook-store.js +132 -93
  740. package/dist/services/webhook-store.js.map +1 -1
  741. package/dist/services/webhook-store.mjs +131 -95
  742. package/dist/services/webhook-store.mjs.map +1 -1
  743. package/dist/services/worker-queue.js +44 -49
  744. package/dist/services/worker-queue.js.map +1 -1
  745. package/dist/services/worker-queue.mjs +43 -49
  746. package/dist/services/worker-queue.mjs.map +1 -1
  747. package/dist/utils/convert-custom-field-type.js +17 -20
  748. package/dist/utils/convert-custom-field-type.js.map +1 -1
  749. package/dist/utils/convert-custom-field-type.mjs +16 -21
  750. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  751. package/dist/utils/cron.js +64 -30
  752. package/dist/utils/cron.js.map +1 -1
  753. package/dist/utils/cron.mjs +63 -31
  754. package/dist/utils/cron.mjs.map +1 -1
  755. package/dist/utils/fetch.d.ts.map +1 -1
  756. package/dist/utils/fetch.js +24 -17
  757. package/dist/utils/fetch.js.map +1 -1
  758. package/dist/utils/fetch.mjs +23 -18
  759. package/dist/utils/fetch.mjs.map +1 -1
  760. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  761. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  762. package/dist/utils/filepath-to-prop-path.js +22 -9
  763. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  764. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  765. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  766. package/dist/utils/index.d.ts +2 -1
  767. package/dist/utils/index.d.ts.map +1 -1
  768. package/dist/utils/is-initialized.js +21 -12
  769. package/dist/utils/is-initialized.js.map +1 -1
  770. package/dist/utils/is-initialized.mjs +20 -13
  771. package/dist/utils/is-initialized.mjs.map +1 -1
  772. package/dist/utils/lifecycles.js +6 -5
  773. package/dist/utils/lifecycles.js.map +1 -1
  774. package/dist/utils/lifecycles.mjs +5 -6
  775. package/dist/utils/lifecycles.mjs.map +1 -1
  776. package/dist/utils/load-config-file.js +40 -38
  777. package/dist/utils/load-config-file.js.map +1 -1
  778. package/dist/utils/load-config-file.mjs +39 -36
  779. package/dist/utils/load-config-file.mjs.map +1 -1
  780. package/dist/utils/load-files.d.ts.map +1 -1
  781. package/dist/utils/load-files.js +40 -35
  782. package/dist/utils/load-files.js.map +1 -1
  783. package/dist/utils/load-files.mjs +39 -32
  784. package/dist/utils/load-files.mjs.map +1 -1
  785. package/dist/utils/open-browser.js +8 -8
  786. package/dist/utils/open-browser.js.map +1 -1
  787. package/dist/utils/open-browser.mjs +7 -7
  788. package/dist/utils/open-browser.mjs.map +1 -1
  789. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  790. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  791. package/dist/utils/resolve-working-dirs.js +26 -0
  792. package/dist/utils/resolve-working-dirs.js.map +1 -0
  793. package/dist/utils/resolve-working-dirs.mjs +24 -0
  794. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  795. package/dist/utils/signals.js +20 -14
  796. package/dist/utils/signals.js.map +1 -1
  797. package/dist/utils/signals.mjs +19 -15
  798. package/dist/utils/signals.mjs.map +1 -1
  799. package/dist/utils/startup-logger.d.ts.map +1 -1
  800. package/dist/utils/startup-logger.js +107 -78
  801. package/dist/utils/startup-logger.js.map +1 -1
  802. package/dist/utils/startup-logger.mjs +106 -75
  803. package/dist/utils/startup-logger.mjs.map +1 -1
  804. package/dist/utils/transform-content-types-to-models.d.ts +355 -23
  805. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  806. package/dist/utils/transform-content-types-to-models.js +350 -248
  807. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  808. package/dist/utils/transform-content-types-to-models.mjs +349 -256
  809. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  810. package/dist/utils/update-notifier/index.d.ts +1 -6
  811. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  812. package/dist/utils/update-notifier/index.js +66 -74
  813. package/dist/utils/update-notifier/index.js.map +1 -1
  814. package/dist/utils/update-notifier/index.mjs +65 -68
  815. package/dist/utils/update-notifier/index.mjs.map +1 -1
  816. package/package.json +42 -39
  817. package/dist/registries/config.d.ts +0 -4
  818. package/dist/registries/config.d.ts.map +0 -1
  819. package/dist/registries/config.js +0 -43
  820. package/dist/registries/config.js.map +0 -1
  821. package/dist/registries/config.mjs +0 -44
  822. package/dist/registries/config.mjs.map +0 -1
  823. package/dist/services/document-service/document-engine.d.ts +0 -2
  824. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  825. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -2
  826. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  827. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  828. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  829. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  830. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  831. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  832. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  833. package/dist/services/entity-service/attributes/index.js +0 -22
  834. package/dist/services/entity-service/attributes/index.js.map +0 -1
  835. package/dist/services/entity-service/attributes/index.mjs +0 -22
  836. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  837. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  838. package/dist/services/entity-service/attributes/transforms.js +0 -20
  839. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  840. package/dist/services/entity-service/attributes/transforms.mjs +0 -19
  841. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  842. package/dist/services/entity-service/components.d.ts +0 -95
  843. package/dist/services/entity-service/components.d.ts.map +0 -1
  844. package/dist/services/entity-service/components.js +0 -295
  845. package/dist/services/entity-service/components.js.map +0 -1
  846. package/dist/services/entity-service/components.mjs +0 -293
  847. package/dist/services/entity-service/components.mjs.map +0 -1
  848. package/dist/services/entity-service/params.d.ts +0 -8
  849. package/dist/services/entity-service/params.d.ts.map +0 -1
  850. package/dist/services/entity-service/params.js +0 -8
  851. package/dist/services/entity-service/params.js.map +0 -1
  852. package/dist/services/entity-service/params.mjs +0 -8
  853. package/dist/services/entity-service/params.mjs.map +0 -1
  854. package/dist/utils/get-dirs.d.ts +0 -9
  855. package/dist/utils/get-dirs.d.ts.map +0 -1
  856. package/dist/utils/get-dirs.js +0 -30
  857. package/dist/utils/get-dirs.js.map +0 -1
  858. package/dist/utils/get-dirs.mjs +0 -30
  859. package/dist/utils/get-dirs.mjs.map +0 -1
  860. /package/dist/services/{entity-service → document-service}/attributes/transforms.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/core-api/controller/index.ts"],"sourcesContent":["import { prop } from 'lodash/fp';\nimport type Koa from 'koa';\nimport { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport type { Core, Struct } from '@strapi/types';\n\nimport { transformResponse } from './transform';\nimport { createSingleTypeController } from './single-type';\nimport { createCollectionTypeController } from './collection-type';\nimport requestCtx from '../../services/request-context';\n\nconst isSingleType = (\n contentType: Struct.ContentTypeSchema\n): contentType is Struct.SingleTypeSchema => contentTypeUtils.isSingleType(contentType);\n\nconst getAuthFromKoaContext = (ctx: Koa.Context) => prop('state.auth', ctx) ?? {};\n\nfunction createController<T extends Struct.SingleTypeSchema | Struct.CollectionTypeSchema>(opts: {\n contentType: T;\n}): T extends Struct.SingleTypeSchema\n ? Core.CoreAPI.Controller.SingleType\n : Core.CoreAPI.Controller.CollectionType;\nfunction createController({\n contentType,\n}: {\n contentType: Struct.SingleTypeSchema | Struct.CollectionTypeSchema;\n}) {\n // TODO: replace with Base class + SingleType and CollectionType classes\n\n const proto: Core.CoreAPI.Controller.Base = {\n transformResponse(data, meta) {\n const ctx = requestCtx.get();\n return transformResponse(data, meta, {\n contentType,\n useJsonAPIFormat: ctx?.headers?.['strapi-response-format'] === 'v4',\n });\n },\n\n async sanitizeOutput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.output(data, contentType, { auth });\n },\n\n async sanitizeInput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.input(data, contentType, { auth });\n },\n\n async sanitizeQuery(ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.query(ctx.query, contentType, { auth });\n },\n\n async validateQuery(ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.validate.query(ctx.query, contentType, { auth });\n },\n\n async validateInput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.validate.input(data, contentType, { auth });\n },\n };\n\n let ctrl;\n\n if (isSingleType(contentType)) {\n ctrl = createSingleTypeController({ contentType });\n } else {\n ctrl = createCollectionTypeController({ contentType });\n }\n\n return Object.assign(Object.create(proto), ctrl);\n}\n\nexport { createController };\n"],"names":["contentTypeUtils","prop","requestCtx","transformResponse","createSingleTypeController","createCollectionTypeController"],"mappings":";;;;;;;;AAUA,MAAM,eAAe,CACnB,gBAC2CA,YAAA,aAAiB,aAAa,WAAW;AAEtF,MAAM,wBAAwB,CAAC,QAAqBC,EAAAA,KAAK,cAAc,GAAG,KAAK;AAO/E,SAAS,iBAAiB;AAAA,EACxB;AACF,GAEG;AAGD,QAAM,QAAsC;AAAA,IAC1C,kBAAkB,MAAM,MAAM;AACtB,YAAA,MAAMC,eAAW;AAChB,aAAAC,UAAA,kBAAkB,MAAM,MAAM;AAAA,QACnC;AAAA,QACA,kBAAkB,KAAK,UAAU,wBAAwB,MAAM;AAAA,MAAA,CAChE;AAAA,IACH;AAAA,IAEA,MAAM,eAAe,MAAM,KAAK;AACxB,YAAA,OAAO,sBAAsB,GAAG;AAE/B,aAAA,OAAO,WAAW,SAAS,OAAO,MAAM,aAAa,EAAE,MAAM;AAAA,IACtE;AAAA,IAEA,MAAM,cAAc,MAAM,KAAK;AACvB,YAAA,OAAO,sBAAsB,GAAG;AAE/B,aAAA,OAAO,WAAW,SAAS,MAAM,MAAM,aAAa,EAAE,MAAM;AAAA,IACrE;AAAA,IAEA,MAAM,cAAc,KAAK;AACjB,YAAA,OAAO,sBAAsB,GAAG;AAE/B,aAAA,OAAO,WAAW,SAAS,MAAM,IAAI,OAAO,aAAa,EAAE,KAAA,CAAM;AAAA,IAC1E;AAAA,IAEA,MAAM,cAAc,KAAK;AACjB,YAAA,OAAO,sBAAsB,GAAG;AAE/B,aAAA,OAAO,WAAW,SAAS,MAAM,IAAI,OAAO,aAAa,EAAE,KAAA,CAAM;AAAA,IAC1E;AAAA,IAEA,MAAM,cAAc,MAAM,KAAK;AACvB,YAAA,OAAO,sBAAsB,GAAG;AAE/B,aAAA,OAAO,WAAW,SAAS,MAAM,MAAM,aAAa,EAAE,MAAM;AAAA,IACrE;AAAA,EAAA;AAGE,MAAA;AAEA,MAAA,aAAa,WAAW,GAAG;AACtB,WAAAC,WAAA,2BAA2B,EAAE,YAAA,CAAa;AAAA,EAAA,OAC5C;AACE,WAAAC,eAAA,+BAA+B,EAAE,YAAA,CAAa;AAAA,EACvD;AAEA,SAAO,OAAO,OAAO,OAAO,OAAO,KAAK,GAAG,IAAI;AACjD;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/core-api/controller/index.ts"],"sourcesContent":["import { prop } from 'lodash/fp';\nimport type Koa from 'koa';\nimport { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport type { Core, Struct } from '@strapi/types';\n\nimport { transformResponse } from './transform';\nimport { createSingleTypeController } from './single-type';\nimport { createCollectionTypeController } from './collection-type';\nimport requestCtx from '../../services/request-context';\n\nconst isSingleType = (\n contentType: Struct.ContentTypeSchema\n): contentType is Struct.SingleTypeSchema => contentTypeUtils.isSingleType(contentType);\n\nconst getAuthFromKoaContext = (ctx: Koa.Context) => prop('state.auth', ctx) ?? {};\n\nfunction createController<T extends Struct.SingleTypeSchema | Struct.CollectionTypeSchema>(opts: {\n contentType: T;\n}): T extends Struct.SingleTypeSchema\n ? Core.CoreAPI.Controller.SingleType\n : Core.CoreAPI.Controller.CollectionType;\nfunction createController({\n contentType,\n}: {\n contentType: Struct.SingleTypeSchema | Struct.CollectionTypeSchema;\n}) {\n // TODO: replace with Base class + SingleType and CollectionType classes\n\n const proto: Core.CoreAPI.Controller.Base = {\n transformResponse(data, meta) {\n const ctx = requestCtx.get();\n return transformResponse(data, meta, {\n contentType,\n useJsonAPIFormat: ctx?.headers?.['strapi-response-format'] === 'v4',\n });\n },\n\n async sanitizeOutput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.output(data, contentType, { auth });\n },\n\n async sanitizeInput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.input(data, contentType, { auth });\n },\n\n async sanitizeQuery(ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.query(ctx.query, contentType, { auth });\n },\n\n async validateQuery(ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.validate.query(ctx.query, contentType, { auth });\n },\n\n async validateInput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.validate.input(data, contentType, { auth });\n },\n };\n\n let ctrl;\n\n if (isSingleType(contentType)) {\n ctrl = createSingleTypeController({ contentType });\n } else {\n ctrl = createCollectionTypeController({ contentType });\n }\n\n return Object.assign(Object.create(proto), ctrl);\n}\n\nexport { createController };\n"],"names":["isSingleType","contentType","contentTypeUtils","getAuthFromKoaContext","ctx","prop","createController","proto","transformResponse","data","meta","requestCtx","get","useJsonAPIFormat","headers","sanitizeOutput","auth","strapi","contentAPI","sanitize","output","sanitizeInput","input","sanitizeQuery","query","validateQuery","validate","validateInput","ctrl","createSingleTypeController","createCollectionTypeController","Object","assign","create"],"mappings":";;;;;;;;;AAUA,MAAMA,YAAe,GAAA,CACnBC,WAC2CC,GAAAA,wBAAAA,CAAiBF,YAAY,CAACC,WAAAA,CAAAA;AAE3E,MAAME,wBAAwB,CAACC,GAAAA,GAAqBC,OAAK,CAAA,YAAA,EAAcD,QAAQ,EAAC;AAOhF,SAASE,gBAAAA,CAAiB,EACxBL,WAAW,EAGZ,EAAA;;AAGC,IAAA,MAAMM,KAAsC,GAAA;QAC1CC,iBAAkBC,CAAAA,CAAAA,IAAI,EAAEC,IAAI,EAAA;YAC1B,MAAMN,GAAAA,GAAMO,eAAWC,GAAG,EAAA;YAC1B,OAAOJ,2BAAAA,CAAkBC,MAAMC,IAAM,EAAA;AACnCT,gBAAAA,WAAAA;AACAY,gBAAAA,gBAAAA,EAAkBT,GAAKU,EAAAA,OAAAA,GAAU,wBAAA,CAAyB,KAAK;AACjE,aAAA,CAAA;AACF,SAAA;QAEA,MAAMC,cAAAA,CAAAA,CAAeN,IAAI,EAAEL,GAAG,EAAA;AAC5B,YAAA,MAAMY,OAAOb,qBAAsBC,CAAAA,GAAAA,CAAAA;YAEnC,OAAOa,MAAAA,CAAOC,UAAU,CAACC,QAAQ,CAACC,MAAM,CAACX,MAAMR,WAAa,EAAA;AAAEe,gBAAAA;AAAK,aAAA,CAAA;AACrE,SAAA;QAEA,MAAMK,aAAAA,CAAAA,CAAcZ,IAAI,EAAEL,GAAG,EAAA;AAC3B,YAAA,MAAMY,OAAOb,qBAAsBC,CAAAA,GAAAA,CAAAA;YAEnC,OAAOa,MAAAA,CAAOC,UAAU,CAACC,QAAQ,CAACG,KAAK,CAACb,MAAMR,WAAa,EAAA;AAAEe,gBAAAA;AAAK,aAAA,CAAA;AACpE,SAAA;AAEA,QAAA,MAAMO,eAAcnB,GAAG,EAAA;AACrB,YAAA,MAAMY,OAAOb,qBAAsBC,CAAAA,GAAAA,CAAAA;YAEnC,OAAOa,MAAAA,CAAOC,UAAU,CAACC,QAAQ,CAACK,KAAK,CAACpB,GAAAA,CAAIoB,KAAK,EAAEvB,WAAa,EAAA;AAAEe,gBAAAA;AAAK,aAAA,CAAA;AACzE,SAAA;AAEA,QAAA,MAAMS,eAAcrB,GAAG,EAAA;AACrB,YAAA,MAAMY,OAAOb,qBAAsBC,CAAAA,GAAAA,CAAAA;YAEnC,OAAOa,MAAAA,CAAOC,UAAU,CAACQ,QAAQ,CAACF,KAAK,CAACpB,GAAAA,CAAIoB,KAAK,EAAEvB,WAAa,EAAA;AAAEe,gBAAAA;AAAK,aAAA,CAAA;AACzE,SAAA;QAEA,MAAMW,aAAAA,CAAAA,CAAclB,IAAI,EAAEL,GAAG,EAAA;AAC3B,YAAA,MAAMY,OAAOb,qBAAsBC,CAAAA,GAAAA,CAAAA;YAEnC,OAAOa,MAAAA,CAAOC,UAAU,CAACQ,QAAQ,CAACJ,KAAK,CAACb,MAAMR,WAAa,EAAA;AAAEe,gBAAAA;AAAK,aAAA,CAAA;AACpE;AACF,KAAA;IAEA,IAAIY,IAAAA;AAEJ,IAAA,IAAI5B,aAAaC,WAAc,CAAA,EAAA;AAC7B2B,QAAAA,IAAAA,GAAOC,qCAA2B,CAAA;AAAE5B,YAAAA;AAAY,SAAA,CAAA;KAC3C,MAAA;AACL2B,QAAAA,IAAAA,GAAOE,6CAA+B,CAAA;AAAE7B,YAAAA;AAAY,SAAA,CAAA;AACtD;AAEA,IAAA,OAAO8B,OAAOC,MAAM,CAACD,MAAOE,CAAAA,MAAM,CAAC1B,KAAQqB,CAAAA,EAAAA,IAAAA,CAAAA;AAC7C;;;;"}
@@ -1,52 +1,65 @@
1
- import { prop } from "lodash/fp";
2
- import { contentTypes } from "@strapi/utils";
3
- import { transformResponse } from "./transform.mjs";
4
- import { createSingleTypeController } from "./single-type.mjs";
5
- import { createCollectionTypeController } from "./collection-type.mjs";
6
- import requestCtx from "../../services/request-context.mjs";
7
- const isSingleType = (contentType) => contentTypes.isSingleType(contentType);
8
- const getAuthFromKoaContext = (ctx) => prop("state.auth", ctx) ?? {};
9
- function createController({
10
- contentType
11
- }) {
12
- const proto = {
13
- transformResponse(data, meta) {
14
- const ctx = requestCtx.get();
15
- return transformResponse(data, meta, {
16
- contentType,
17
- useJsonAPIFormat: ctx?.headers?.["strapi-response-format"] === "v4"
18
- });
19
- },
20
- async sanitizeOutput(data, ctx) {
21
- const auth = getAuthFromKoaContext(ctx);
22
- return strapi.contentAPI.sanitize.output(data, contentType, { auth });
23
- },
24
- async sanitizeInput(data, ctx) {
25
- const auth = getAuthFromKoaContext(ctx);
26
- return strapi.contentAPI.sanitize.input(data, contentType, { auth });
27
- },
28
- async sanitizeQuery(ctx) {
29
- const auth = getAuthFromKoaContext(ctx);
30
- return strapi.contentAPI.sanitize.query(ctx.query, contentType, { auth });
31
- },
32
- async validateQuery(ctx) {
33
- const auth = getAuthFromKoaContext(ctx);
34
- return strapi.contentAPI.validate.query(ctx.query, contentType, { auth });
35
- },
36
- async validateInput(data, ctx) {
37
- const auth = getAuthFromKoaContext(ctx);
38
- return strapi.contentAPI.validate.input(data, contentType, { auth });
1
+ import { prop } from 'lodash/fp';
2
+ import { contentTypes } from '@strapi/utils';
3
+ import { transformResponse } from './transform.mjs';
4
+ import { createSingleTypeController } from './single-type.mjs';
5
+ import { createCollectionTypeController } from './collection-type.mjs';
6
+ import requestCtx from '../../services/request-context.mjs';
7
+
8
+ const isSingleType = (contentType)=>contentTypes.isSingleType(contentType);
9
+ const getAuthFromKoaContext = (ctx)=>prop('state.auth', ctx) ?? {};
10
+ function createController({ contentType }) {
11
+ // TODO: replace with Base class + SingleType and CollectionType classes
12
+ const proto = {
13
+ transformResponse (data, meta) {
14
+ const ctx = requestCtx.get();
15
+ return transformResponse(data, meta, {
16
+ contentType,
17
+ useJsonAPIFormat: ctx?.headers?.['strapi-response-format'] === 'v4'
18
+ });
19
+ },
20
+ async sanitizeOutput (data, ctx) {
21
+ const auth = getAuthFromKoaContext(ctx);
22
+ return strapi.contentAPI.sanitize.output(data, contentType, {
23
+ auth
24
+ });
25
+ },
26
+ async sanitizeInput (data, ctx) {
27
+ const auth = getAuthFromKoaContext(ctx);
28
+ return strapi.contentAPI.sanitize.input(data, contentType, {
29
+ auth
30
+ });
31
+ },
32
+ async sanitizeQuery (ctx) {
33
+ const auth = getAuthFromKoaContext(ctx);
34
+ return strapi.contentAPI.sanitize.query(ctx.query, contentType, {
35
+ auth
36
+ });
37
+ },
38
+ async validateQuery (ctx) {
39
+ const auth = getAuthFromKoaContext(ctx);
40
+ return strapi.contentAPI.validate.query(ctx.query, contentType, {
41
+ auth
42
+ });
43
+ },
44
+ async validateInput (data, ctx) {
45
+ const auth = getAuthFromKoaContext(ctx);
46
+ return strapi.contentAPI.validate.input(data, contentType, {
47
+ auth
48
+ });
49
+ }
50
+ };
51
+ let ctrl;
52
+ if (isSingleType(contentType)) {
53
+ ctrl = createSingleTypeController({
54
+ contentType
55
+ });
56
+ } else {
57
+ ctrl = createCollectionTypeController({
58
+ contentType
59
+ });
39
60
  }
40
- };
41
- let ctrl;
42
- if (isSingleType(contentType)) {
43
- ctrl = createSingleTypeController({ contentType });
44
- } else {
45
- ctrl = createCollectionTypeController({ contentType });
46
- }
47
- return Object.assign(Object.create(proto), ctrl);
61
+ return Object.assign(Object.create(proto), ctrl);
48
62
  }
49
- export {
50
- createController
51
- };
63
+
64
+ export { createController };
52
65
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/core-api/controller/index.ts"],"sourcesContent":["import { prop } from 'lodash/fp';\nimport type Koa from 'koa';\nimport { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport type { Core, Struct } from '@strapi/types';\n\nimport { transformResponse } from './transform';\nimport { createSingleTypeController } from './single-type';\nimport { createCollectionTypeController } from './collection-type';\nimport requestCtx from '../../services/request-context';\n\nconst isSingleType = (\n contentType: Struct.ContentTypeSchema\n): contentType is Struct.SingleTypeSchema => contentTypeUtils.isSingleType(contentType);\n\nconst getAuthFromKoaContext = (ctx: Koa.Context) => prop('state.auth', ctx) ?? {};\n\nfunction createController<T extends Struct.SingleTypeSchema | Struct.CollectionTypeSchema>(opts: {\n contentType: T;\n}): T extends Struct.SingleTypeSchema\n ? Core.CoreAPI.Controller.SingleType\n : Core.CoreAPI.Controller.CollectionType;\nfunction createController({\n contentType,\n}: {\n contentType: Struct.SingleTypeSchema | Struct.CollectionTypeSchema;\n}) {\n // TODO: replace with Base class + SingleType and CollectionType classes\n\n const proto: Core.CoreAPI.Controller.Base = {\n transformResponse(data, meta) {\n const ctx = requestCtx.get();\n return transformResponse(data, meta, {\n contentType,\n useJsonAPIFormat: ctx?.headers?.['strapi-response-format'] === 'v4',\n });\n },\n\n async sanitizeOutput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.output(data, contentType, { auth });\n },\n\n async sanitizeInput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.input(data, contentType, { auth });\n },\n\n async sanitizeQuery(ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.query(ctx.query, contentType, { auth });\n },\n\n async validateQuery(ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.validate.query(ctx.query, contentType, { auth });\n },\n\n async validateInput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.validate.input(data, contentType, { auth });\n },\n };\n\n let ctrl;\n\n if (isSingleType(contentType)) {\n ctrl = createSingleTypeController({ contentType });\n } else {\n ctrl = createCollectionTypeController({ contentType });\n }\n\n return Object.assign(Object.create(proto), ctrl);\n}\n\nexport { createController };\n"],"names":["contentTypeUtils"],"mappings":";;;;;;AAUA,MAAM,eAAe,CACnB,gBAC2CA,aAAiB,aAAa,WAAW;AAEtF,MAAM,wBAAwB,CAAC,QAAqB,KAAK,cAAc,GAAG,KAAK;AAO/E,SAAS,iBAAiB;AAAA,EACxB;AACF,GAEG;AAGD,QAAM,QAAsC;AAAA,IAC1C,kBAAkB,MAAM,MAAM;AACtB,YAAA,MAAM,WAAW;AAChB,aAAA,kBAAkB,MAAM,MAAM;AAAA,QACnC;AAAA,QACA,kBAAkB,KAAK,UAAU,wBAAwB,MAAM;AAAA,MAAA,CAChE;AAAA,IACH;AAAA,IAEA,MAAM,eAAe,MAAM,KAAK;AACxB,YAAA,OAAO,sBAAsB,GAAG;AAE/B,aAAA,OAAO,WAAW,SAAS,OAAO,MAAM,aAAa,EAAE,MAAM;AAAA,IACtE;AAAA,IAEA,MAAM,cAAc,MAAM,KAAK;AACvB,YAAA,OAAO,sBAAsB,GAAG;AAE/B,aAAA,OAAO,WAAW,SAAS,MAAM,MAAM,aAAa,EAAE,MAAM;AAAA,IACrE;AAAA,IAEA,MAAM,cAAc,KAAK;AACjB,YAAA,OAAO,sBAAsB,GAAG;AAE/B,aAAA,OAAO,WAAW,SAAS,MAAM,IAAI,OAAO,aAAa,EAAE,KAAA,CAAM;AAAA,IAC1E;AAAA,IAEA,MAAM,cAAc,KAAK;AACjB,YAAA,OAAO,sBAAsB,GAAG;AAE/B,aAAA,OAAO,WAAW,SAAS,MAAM,IAAI,OAAO,aAAa,EAAE,KAAA,CAAM;AAAA,IAC1E;AAAA,IAEA,MAAM,cAAc,MAAM,KAAK;AACvB,YAAA,OAAO,sBAAsB,GAAG;AAE/B,aAAA,OAAO,WAAW,SAAS,MAAM,MAAM,aAAa,EAAE,MAAM;AAAA,IACrE;AAAA,EAAA;AAGE,MAAA;AAEA,MAAA,aAAa,WAAW,GAAG;AACtB,WAAA,2BAA2B,EAAE,YAAA,CAAa;AAAA,EAAA,OAC5C;AACE,WAAA,+BAA+B,EAAE,YAAA,CAAa;AAAA,EACvD;AAEA,SAAO,OAAO,OAAO,OAAO,OAAO,KAAK,GAAG,IAAI;AACjD;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/core-api/controller/index.ts"],"sourcesContent":["import { prop } from 'lodash/fp';\nimport type Koa from 'koa';\nimport { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport type { Core, Struct } from '@strapi/types';\n\nimport { transformResponse } from './transform';\nimport { createSingleTypeController } from './single-type';\nimport { createCollectionTypeController } from './collection-type';\nimport requestCtx from '../../services/request-context';\n\nconst isSingleType = (\n contentType: Struct.ContentTypeSchema\n): contentType is Struct.SingleTypeSchema => contentTypeUtils.isSingleType(contentType);\n\nconst getAuthFromKoaContext = (ctx: Koa.Context) => prop('state.auth', ctx) ?? {};\n\nfunction createController<T extends Struct.SingleTypeSchema | Struct.CollectionTypeSchema>(opts: {\n contentType: T;\n}): T extends Struct.SingleTypeSchema\n ? Core.CoreAPI.Controller.SingleType\n : Core.CoreAPI.Controller.CollectionType;\nfunction createController({\n contentType,\n}: {\n contentType: Struct.SingleTypeSchema | Struct.CollectionTypeSchema;\n}) {\n // TODO: replace with Base class + SingleType and CollectionType classes\n\n const proto: Core.CoreAPI.Controller.Base = {\n transformResponse(data, meta) {\n const ctx = requestCtx.get();\n return transformResponse(data, meta, {\n contentType,\n useJsonAPIFormat: ctx?.headers?.['strapi-response-format'] === 'v4',\n });\n },\n\n async sanitizeOutput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.output(data, contentType, { auth });\n },\n\n async sanitizeInput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.input(data, contentType, { auth });\n },\n\n async sanitizeQuery(ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.sanitize.query(ctx.query, contentType, { auth });\n },\n\n async validateQuery(ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.validate.query(ctx.query, contentType, { auth });\n },\n\n async validateInput(data, ctx) {\n const auth = getAuthFromKoaContext(ctx);\n\n return strapi.contentAPI.validate.input(data, contentType, { auth });\n },\n };\n\n let ctrl;\n\n if (isSingleType(contentType)) {\n ctrl = createSingleTypeController({ contentType });\n } else {\n ctrl = createCollectionTypeController({ contentType });\n }\n\n return Object.assign(Object.create(proto), ctrl);\n}\n\nexport { createController };\n"],"names":["isSingleType","contentType","contentTypeUtils","getAuthFromKoaContext","ctx","prop","createController","proto","transformResponse","data","meta","requestCtx","get","useJsonAPIFormat","headers","sanitizeOutput","auth","strapi","contentAPI","sanitize","output","sanitizeInput","input","sanitizeQuery","query","validateQuery","validate","validateInput","ctrl","createSingleTypeController","createCollectionTypeController","Object","assign","create"],"mappings":";;;;;;;AAUA,MAAMA,YAAe,GAAA,CACnBC,WAC2CC,GAAAA,YAAAA,CAAiBF,YAAY,CAACC,WAAAA,CAAAA;AAE3E,MAAME,wBAAwB,CAACC,GAAAA,GAAqBC,IAAK,CAAA,YAAA,EAAcD,QAAQ,EAAC;AAOhF,SAASE,gBAAAA,CAAiB,EACxBL,WAAW,EAGZ,EAAA;;AAGC,IAAA,MAAMM,KAAsC,GAAA;QAC1CC,iBAAkBC,CAAAA,CAAAA,IAAI,EAAEC,IAAI,EAAA;YAC1B,MAAMN,GAAAA,GAAMO,WAAWC,GAAG,EAAA;YAC1B,OAAOJ,iBAAAA,CAAkBC,MAAMC,IAAM,EAAA;AACnCT,gBAAAA,WAAAA;AACAY,gBAAAA,gBAAAA,EAAkBT,GAAKU,EAAAA,OAAAA,GAAU,wBAAA,CAAyB,KAAK;AACjE,aAAA,CAAA;AACF,SAAA;QAEA,MAAMC,cAAAA,CAAAA,CAAeN,IAAI,EAAEL,GAAG,EAAA;AAC5B,YAAA,MAAMY,OAAOb,qBAAsBC,CAAAA,GAAAA,CAAAA;YAEnC,OAAOa,MAAAA,CAAOC,UAAU,CAACC,QAAQ,CAACC,MAAM,CAACX,MAAMR,WAAa,EAAA;AAAEe,gBAAAA;AAAK,aAAA,CAAA;AACrE,SAAA;QAEA,MAAMK,aAAAA,CAAAA,CAAcZ,IAAI,EAAEL,GAAG,EAAA;AAC3B,YAAA,MAAMY,OAAOb,qBAAsBC,CAAAA,GAAAA,CAAAA;YAEnC,OAAOa,MAAAA,CAAOC,UAAU,CAACC,QAAQ,CAACG,KAAK,CAACb,MAAMR,WAAa,EAAA;AAAEe,gBAAAA;AAAK,aAAA,CAAA;AACpE,SAAA;AAEA,QAAA,MAAMO,eAAcnB,GAAG,EAAA;AACrB,YAAA,MAAMY,OAAOb,qBAAsBC,CAAAA,GAAAA,CAAAA;YAEnC,OAAOa,MAAAA,CAAOC,UAAU,CAACC,QAAQ,CAACK,KAAK,CAACpB,GAAAA,CAAIoB,KAAK,EAAEvB,WAAa,EAAA;AAAEe,gBAAAA;AAAK,aAAA,CAAA;AACzE,SAAA;AAEA,QAAA,MAAMS,eAAcrB,GAAG,EAAA;AACrB,YAAA,MAAMY,OAAOb,qBAAsBC,CAAAA,GAAAA,CAAAA;YAEnC,OAAOa,MAAAA,CAAOC,UAAU,CAACQ,QAAQ,CAACF,KAAK,CAACpB,GAAAA,CAAIoB,KAAK,EAAEvB,WAAa,EAAA;AAAEe,gBAAAA;AAAK,aAAA,CAAA;AACzE,SAAA;QAEA,MAAMW,aAAAA,CAAAA,CAAclB,IAAI,EAAEL,GAAG,EAAA;AAC3B,YAAA,MAAMY,OAAOb,qBAAsBC,CAAAA,GAAAA,CAAAA;YAEnC,OAAOa,MAAAA,CAAOC,UAAU,CAACQ,QAAQ,CAACJ,KAAK,CAACb,MAAMR,WAAa,EAAA;AAAEe,gBAAAA;AAAK,aAAA,CAAA;AACpE;AACF,KAAA;IAEA,IAAIY,IAAAA;AAEJ,IAAA,IAAI5B,aAAaC,WAAc,CAAA,EAAA;AAC7B2B,QAAAA,IAAAA,GAAOC,0BAA2B,CAAA;AAAE5B,YAAAA;AAAY,SAAA,CAAA;KAC3C,MAAA;AACL2B,QAAAA,IAAAA,GAAOE,8BAA+B,CAAA;AAAE7B,YAAAA;AAAY,SAAA,CAAA;AACtD;AAEA,IAAA,OAAO8B,OAAOC,MAAM,CAACD,MAAOE,CAAAA,MAAM,CAAC1B,KAAQqB,CAAAA,EAAAA,IAAAA,CAAAA;AAC7C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"single-type.d.ts","sourceRoot":"","sources":["../../../src/core-api/controller/single-type.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAO,MAAM,eAAe,CAAC;AAE9D,UAAU,OAAO;IACf,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC;CACtC;AAED;;GAEG;AACH,QAAA,MAAM,0BAA0B,qBAE7B,OAAO,KAAG,MAAM,eAAe,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,UAAU,CAkDpE,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"single-type.d.ts","sourceRoot":"","sources":["../../../src/core-api/controller/single-type.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAO,MAAM,eAAe,CAAC;AAE9D,UAAU,OAAO;IACf,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC;CACtC;AAED;;GAEG;AACH,QAAA,MAAM,0BAA0B,qBAE7B,OAAO,KAAG,MAAM,eAAe,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,UAAU,CAoDpE,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
@@ -1,45 +1,47 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
4
- const strapiUtils = require("@strapi/utils");
5
- const createSingleTypeController = ({
6
- contentType
7
- }) => {
8
- const uid = contentType.uid;
9
- return {
10
- /**
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var strapiUtils = require('@strapi/utils');
5
+
6
+ /**
7
+ * Returns a single type controller to handle default core-api actions
8
+ */ const createSingleTypeController = ({ contentType })=>{
9
+ const uid = contentType.uid;
10
+ // TODO: transform into a class
11
+ return {
12
+ /**
11
13
  * Retrieve single type content
12
14
  *
13
- */
14
- async find(ctx) {
15
- await this.validateQuery(ctx);
16
- const sanitizedQuery = await this.sanitizeQuery(ctx);
17
- const entity = await strapi.service(uid).find(sanitizedQuery);
18
- const sanitizedEntity = await this.sanitizeOutput(entity, ctx);
19
- return this.transformResponse(sanitizedEntity);
20
- },
21
- /**
15
+ */ async find (ctx) {
16
+ await this.validateQuery(ctx);
17
+ const sanitizedQuery = await this.sanitizeQuery(ctx);
18
+ const entity = await strapi.service(uid).find(sanitizedQuery);
19
+ const sanitizedEntity = await this.sanitizeOutput(entity, ctx);
20
+ return this.transformResponse(sanitizedEntity);
21
+ },
22
+ /**
22
23
  * create or update single type content.
23
- */
24
- async update(ctx) {
25
- const { query, body = {} } = ctx.request;
26
- if (!_.isObject(body.data)) {
27
- throw new strapiUtils.errors.ValidationError('Missing "data" payload in the request body');
28
- }
29
- const sanitizedInputData = await this.sanitizeInput(body.data, ctx);
30
- const entity = await strapi.service(uid).createOrUpdate({
31
- ...query,
32
- data: sanitizedInputData
33
- });
34
- const sanitizedEntity = await this.sanitizeOutput(entity, ctx);
35
- return this.transformResponse(sanitizedEntity);
36
- },
37
- async delete(ctx) {
38
- const { query } = ctx;
39
- await strapi.service(uid).delete(query);
40
- ctx.status = 204;
41
- }
42
- };
24
+ */ async update (ctx) {
25
+ const { query, body = {} } = ctx.request;
26
+ if (!fp.isObject(body.data)) {
27
+ throw new strapiUtils.errors.ValidationError('Missing "data" payload in the request body');
28
+ }
29
+ await this.validateInput(body.data, ctx);
30
+ const sanitizedInputData = await this.sanitizeInput(body.data, ctx);
31
+ const entity = await strapi.service(uid).createOrUpdate({
32
+ ...query,
33
+ data: sanitizedInputData
34
+ });
35
+ const sanitizedEntity = await this.sanitizeOutput(entity, ctx);
36
+ return this.transformResponse(sanitizedEntity);
37
+ },
38
+ async delete (ctx) {
39
+ const { query } = ctx;
40
+ await strapi.service(uid).delete(query);
41
+ ctx.status = 204;
42
+ }
43
+ };
43
44
  };
45
+
44
46
  exports.createSingleTypeController = createSingleTypeController;
45
47
  //# sourceMappingURL=single-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"single-type.js","sources":["../../../src/core-api/controller/single-type.ts"],"sourcesContent":["import { isObject } from 'lodash/fp';\nimport { errors } from '@strapi/utils';\nimport type { Struct, Core, Utils, UID } from '@strapi/types';\n\ninterface Options {\n contentType: Struct.SingleTypeSchema;\n}\n\n/**\n * Returns a single type controller to handle default core-api actions\n */\nconst createSingleTypeController = ({\n contentType,\n}: Options): Utils.PartialWithThis<Core.CoreAPI.Controller.SingleType> => {\n const uid = contentType.uid as UID.Service;\n\n // TODO: transform into a class\n return {\n /**\n * Retrieve single type content\n *\n */\n async find(ctx) {\n await this.validateQuery(ctx);\n const sanitizedQuery = await this.sanitizeQuery(ctx);\n\n const entity = await strapi.service(uid).find(sanitizedQuery);\n\n const sanitizedEntity = await this.sanitizeOutput(entity, ctx);\n\n return this.transformResponse(sanitizedEntity);\n },\n\n /**\n * create or update single type content.\n */\n async update(ctx) {\n const { query, body = {} as any } = ctx.request;\n\n if (!isObject(body.data)) {\n throw new errors.ValidationError('Missing \"data\" payload in the request body');\n }\n\n const sanitizedInputData = await this.sanitizeInput(body.data, ctx);\n\n const entity = await strapi.service(uid).createOrUpdate({\n ...query,\n data: sanitizedInputData,\n });\n\n const sanitizedEntity = await this.sanitizeOutput(entity, ctx);\n\n return this.transformResponse(sanitizedEntity);\n },\n\n async delete(ctx) {\n const { query } = ctx;\n\n await strapi.service(uid).delete(query);\n\n ctx.status = 204;\n },\n };\n};\n\nexport { createSingleTypeController };\n"],"names":["isObject","errors"],"mappings":";;;;AAWA,MAAM,6BAA6B,CAAC;AAAA,EAClC;AACF,MAA0E;AACxE,QAAM,MAAM,YAAY;AAGjB,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,MAAM,KAAK,KAAK;AACR,YAAA,KAAK,cAAc,GAAG;AAC5B,YAAM,iBAAiB,MAAM,KAAK,cAAc,GAAG;AAEnD,YAAM,SAAS,MAAM,OAAO,QAAQ,GAAG,EAAE,KAAK,cAAc;AAE5D,YAAM,kBAAkB,MAAM,KAAK,eAAe,QAAQ,GAAG;AAEtD,aAAA,KAAK,kBAAkB,eAAe;AAAA,IAC/C;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,OAAO,KAAK;AAChB,YAAM,EAAE,OAAO,OAAO,CAAC,EAAA,IAAa,IAAI;AAExC,UAAI,CAACA,EAAA,SAAS,KAAK,IAAI,GAAG;AAClB,cAAA,IAAIC,YAAO,OAAA,gBAAgB,4CAA4C;AAAA,MAC/E;AAEA,YAAM,qBAAqB,MAAM,KAAK,cAAc,KAAK,MAAM,GAAG;AAElE,YAAM,SAAS,MAAM,OAAO,QAAQ,GAAG,EAAE,eAAe;AAAA,QACtD,GAAG;AAAA,QACH,MAAM;AAAA,MAAA,CACP;AAED,YAAM,kBAAkB,MAAM,KAAK,eAAe,QAAQ,GAAG;AAEtD,aAAA,KAAK,kBAAkB,eAAe;AAAA,IAC/C;AAAA,IAEA,MAAM,OAAO,KAAK;AACV,YAAA,EAAE,MAAU,IAAA;AAElB,YAAM,OAAO,QAAQ,GAAG,EAAE,OAAO,KAAK;AAEtC,UAAI,SAAS;AAAA,IACf;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"single-type.js","sources":["../../../src/core-api/controller/single-type.ts"],"sourcesContent":["import { isObject } from 'lodash/fp';\nimport { errors } from '@strapi/utils';\nimport type { Struct, Core, Utils, UID } from '@strapi/types';\n\ninterface Options {\n contentType: Struct.SingleTypeSchema;\n}\n\n/**\n * Returns a single type controller to handle default core-api actions\n */\nconst createSingleTypeController = ({\n contentType,\n}: Options): Utils.PartialWithThis<Core.CoreAPI.Controller.SingleType> => {\n const uid = contentType.uid as UID.Service;\n\n // TODO: transform into a class\n return {\n /**\n * Retrieve single type content\n *\n */\n async find(ctx) {\n await this.validateQuery(ctx);\n const sanitizedQuery = await this.sanitizeQuery(ctx);\n\n const entity = await strapi.service(uid).find(sanitizedQuery);\n\n const sanitizedEntity = await this.sanitizeOutput(entity, ctx);\n\n return this.transformResponse(sanitizedEntity);\n },\n\n /**\n * create or update single type content.\n */\n async update(ctx) {\n const { query, body = {} as any } = ctx.request;\n\n if (!isObject(body.data)) {\n throw new errors.ValidationError('Missing \"data\" payload in the request body');\n }\n\n await this.validateInput(body.data, ctx);\n\n const sanitizedInputData = await this.sanitizeInput(body.data, ctx);\n\n const entity = await strapi.service(uid).createOrUpdate({\n ...query,\n data: sanitizedInputData,\n });\n\n const sanitizedEntity = await this.sanitizeOutput(entity, ctx);\n\n return this.transformResponse(sanitizedEntity);\n },\n\n async delete(ctx) {\n const { query } = ctx;\n\n await strapi.service(uid).delete(query);\n\n ctx.status = 204;\n },\n };\n};\n\nexport { createSingleTypeController };\n"],"names":["createSingleTypeController","contentType","uid","find","ctx","validateQuery","sanitizedQuery","sanitizeQuery","entity","strapi","service","sanitizedEntity","sanitizeOutput","transformResponse","update","query","body","request","isObject","data","errors","ValidationError","validateInput","sanitizedInputData","sanitizeInput","createOrUpdate","delete","status"],"mappings":";;;;;AAQA;;AAEC,IACKA,MAAAA,0BAAAA,GAA6B,CAAC,EAClCC,WAAW,EACH,GAAA;IACR,MAAMC,GAAAA,GAAMD,YAAYC,GAAG;;IAG3B,OAAO;AACL;;;QAIA,MAAMC,MAAKC,GAAG,EAAA;YACZ,MAAM,IAAI,CAACC,aAAa,CAACD,GAAAA,CAAAA;AACzB,YAAA,MAAME,cAAiB,GAAA,MAAM,IAAI,CAACC,aAAa,CAACH,GAAAA,CAAAA;AAEhD,YAAA,MAAMI,SAAS,MAAMC,MAAAA,CAAOC,OAAO,CAACR,GAAAA,CAAAA,CAAKC,IAAI,CAACG,cAAAA,CAAAA;AAE9C,YAAA,MAAMK,kBAAkB,MAAM,IAAI,CAACC,cAAc,CAACJ,MAAQJ,EAAAA,GAAAA,CAAAA;YAE1D,OAAO,IAAI,CAACS,iBAAiB,CAACF,eAAAA,CAAAA;AAChC,SAAA;AAEA;;QAGA,MAAMG,QAAOV,GAAG,EAAA;YACd,MAAM,EAAEW,KAAK,EAAEC,IAAAA,GAAO,EAAS,EAAE,GAAGZ,GAAAA,CAAIa,OAAO;AAE/C,YAAA,IAAI,CAACC,WAAAA,CAASF,IAAKG,CAAAA,IAAI,CAAG,EAAA;gBACxB,MAAM,IAAIC,kBAAOC,CAAAA,eAAe,CAAC,4CAAA,CAAA;AACnC;AAEA,YAAA,MAAM,IAAI,CAACC,aAAa,CAACN,IAAAA,CAAKG,IAAI,EAAEf,GAAAA,CAAAA;YAEpC,MAAMmB,kBAAAA,GAAqB,MAAM,IAAI,CAACC,aAAa,CAACR,IAAAA,CAAKG,IAAI,EAAEf,GAAAA,CAAAA;AAE/D,YAAA,MAAMI,SAAS,MAAMC,MAAAA,CAAOC,OAAO,CAACR,GAAAA,CAAAA,CAAKuB,cAAc,CAAC;AACtD,gBAAA,GAAGV,KAAK;gBACRI,IAAMI,EAAAA;AACR,aAAA,CAAA;AAEA,YAAA,MAAMZ,kBAAkB,MAAM,IAAI,CAACC,cAAc,CAACJ,MAAQJ,EAAAA,GAAAA,CAAAA;YAE1D,OAAO,IAAI,CAACS,iBAAiB,CAACF,eAAAA,CAAAA;AAChC,SAAA;AAEA,QAAA,MAAMe,QAAOtB,GAAG,EAAA;YACd,MAAM,EAAEW,KAAK,EAAE,GAAGX,GAAAA;AAElB,YAAA,MAAMK,MAAOC,CAAAA,OAAO,CAACR,GAAAA,CAAAA,CAAKwB,MAAM,CAACX,KAAAA,CAAAA;AAEjCX,YAAAA,GAAAA,CAAIuB,MAAM,GAAG,GAAA;AACf;AACF,KAAA;AACF;;;;"}
@@ -1,45 +1,45 @@
1
- import { isObject } from "lodash/fp";
2
- import { errors } from "@strapi/utils";
3
- const createSingleTypeController = ({
4
- contentType
5
- }) => {
6
- const uid = contentType.uid;
7
- return {
8
- /**
1
+ import { isObject } from 'lodash/fp';
2
+ import { errors } from '@strapi/utils';
3
+
4
+ /**
5
+ * Returns a single type controller to handle default core-api actions
6
+ */ const createSingleTypeController = ({ contentType })=>{
7
+ const uid = contentType.uid;
8
+ // TODO: transform into a class
9
+ return {
10
+ /**
9
11
  * Retrieve single type content
10
12
  *
11
- */
12
- async find(ctx) {
13
- await this.validateQuery(ctx);
14
- const sanitizedQuery = await this.sanitizeQuery(ctx);
15
- const entity = await strapi.service(uid).find(sanitizedQuery);
16
- const sanitizedEntity = await this.sanitizeOutput(entity, ctx);
17
- return this.transformResponse(sanitizedEntity);
18
- },
19
- /**
13
+ */ async find (ctx) {
14
+ await this.validateQuery(ctx);
15
+ const sanitizedQuery = await this.sanitizeQuery(ctx);
16
+ const entity = await strapi.service(uid).find(sanitizedQuery);
17
+ const sanitizedEntity = await this.sanitizeOutput(entity, ctx);
18
+ return this.transformResponse(sanitizedEntity);
19
+ },
20
+ /**
20
21
  * create or update single type content.
21
- */
22
- async update(ctx) {
23
- const { query, body = {} } = ctx.request;
24
- if (!isObject(body.data)) {
25
- throw new errors.ValidationError('Missing "data" payload in the request body');
26
- }
27
- const sanitizedInputData = await this.sanitizeInput(body.data, ctx);
28
- const entity = await strapi.service(uid).createOrUpdate({
29
- ...query,
30
- data: sanitizedInputData
31
- });
32
- const sanitizedEntity = await this.sanitizeOutput(entity, ctx);
33
- return this.transformResponse(sanitizedEntity);
34
- },
35
- async delete(ctx) {
36
- const { query } = ctx;
37
- await strapi.service(uid).delete(query);
38
- ctx.status = 204;
39
- }
40
- };
41
- };
42
- export {
43
- createSingleTypeController
22
+ */ async update (ctx) {
23
+ const { query, body = {} } = ctx.request;
24
+ if (!isObject(body.data)) {
25
+ throw new errors.ValidationError('Missing "data" payload in the request body');
26
+ }
27
+ await this.validateInput(body.data, ctx);
28
+ const sanitizedInputData = await this.sanitizeInput(body.data, ctx);
29
+ const entity = await strapi.service(uid).createOrUpdate({
30
+ ...query,
31
+ data: sanitizedInputData
32
+ });
33
+ const sanitizedEntity = await this.sanitizeOutput(entity, ctx);
34
+ return this.transformResponse(sanitizedEntity);
35
+ },
36
+ async delete (ctx) {
37
+ const { query } = ctx;
38
+ await strapi.service(uid).delete(query);
39
+ ctx.status = 204;
40
+ }
41
+ };
44
42
  };
43
+
44
+ export { createSingleTypeController };
45
45
  //# sourceMappingURL=single-type.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"single-type.mjs","sources":["../../../src/core-api/controller/single-type.ts"],"sourcesContent":["import { isObject } from 'lodash/fp';\nimport { errors } from '@strapi/utils';\nimport type { Struct, Core, Utils, UID } from '@strapi/types';\n\ninterface Options {\n contentType: Struct.SingleTypeSchema;\n}\n\n/**\n * Returns a single type controller to handle default core-api actions\n */\nconst createSingleTypeController = ({\n contentType,\n}: Options): Utils.PartialWithThis<Core.CoreAPI.Controller.SingleType> => {\n const uid = contentType.uid as UID.Service;\n\n // TODO: transform into a class\n return {\n /**\n * Retrieve single type content\n *\n */\n async find(ctx) {\n await this.validateQuery(ctx);\n const sanitizedQuery = await this.sanitizeQuery(ctx);\n\n const entity = await strapi.service(uid).find(sanitizedQuery);\n\n const sanitizedEntity = await this.sanitizeOutput(entity, ctx);\n\n return this.transformResponse(sanitizedEntity);\n },\n\n /**\n * create or update single type content.\n */\n async update(ctx) {\n const { query, body = {} as any } = ctx.request;\n\n if (!isObject(body.data)) {\n throw new errors.ValidationError('Missing \"data\" payload in the request body');\n }\n\n const sanitizedInputData = await this.sanitizeInput(body.data, ctx);\n\n const entity = await strapi.service(uid).createOrUpdate({\n ...query,\n data: sanitizedInputData,\n });\n\n const sanitizedEntity = await this.sanitizeOutput(entity, ctx);\n\n return this.transformResponse(sanitizedEntity);\n },\n\n async delete(ctx) {\n const { query } = ctx;\n\n await strapi.service(uid).delete(query);\n\n ctx.status = 204;\n },\n };\n};\n\nexport { createSingleTypeController };\n"],"names":[],"mappings":";;AAWA,MAAM,6BAA6B,CAAC;AAAA,EAClC;AACF,MAA0E;AACxE,QAAM,MAAM,YAAY;AAGjB,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,MAAM,KAAK,KAAK;AACR,YAAA,KAAK,cAAc,GAAG;AAC5B,YAAM,iBAAiB,MAAM,KAAK,cAAc,GAAG;AAEnD,YAAM,SAAS,MAAM,OAAO,QAAQ,GAAG,EAAE,KAAK,cAAc;AAE5D,YAAM,kBAAkB,MAAM,KAAK,eAAe,QAAQ,GAAG;AAEtD,aAAA,KAAK,kBAAkB,eAAe;AAAA,IAC/C;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,OAAO,KAAK;AAChB,YAAM,EAAE,OAAO,OAAO,CAAC,EAAA,IAAa,IAAI;AAExC,UAAI,CAAC,SAAS,KAAK,IAAI,GAAG;AAClB,cAAA,IAAI,OAAO,gBAAgB,4CAA4C;AAAA,MAC/E;AAEA,YAAM,qBAAqB,MAAM,KAAK,cAAc,KAAK,MAAM,GAAG;AAElE,YAAM,SAAS,MAAM,OAAO,QAAQ,GAAG,EAAE,eAAe;AAAA,QACtD,GAAG;AAAA,QACH,MAAM;AAAA,MAAA,CACP;AAED,YAAM,kBAAkB,MAAM,KAAK,eAAe,QAAQ,GAAG;AAEtD,aAAA,KAAK,kBAAkB,eAAe;AAAA,IAC/C;AAAA,IAEA,MAAM,OAAO,KAAK;AACV,YAAA,EAAE,MAAU,IAAA;AAElB,YAAM,OAAO,QAAQ,GAAG,EAAE,OAAO,KAAK;AAEtC,UAAI,SAAS;AAAA,IACf;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"single-type.mjs","sources":["../../../src/core-api/controller/single-type.ts"],"sourcesContent":["import { isObject } from 'lodash/fp';\nimport { errors } from '@strapi/utils';\nimport type { Struct, Core, Utils, UID } from '@strapi/types';\n\ninterface Options {\n contentType: Struct.SingleTypeSchema;\n}\n\n/**\n * Returns a single type controller to handle default core-api actions\n */\nconst createSingleTypeController = ({\n contentType,\n}: Options): Utils.PartialWithThis<Core.CoreAPI.Controller.SingleType> => {\n const uid = contentType.uid as UID.Service;\n\n // TODO: transform into a class\n return {\n /**\n * Retrieve single type content\n *\n */\n async find(ctx) {\n await this.validateQuery(ctx);\n const sanitizedQuery = await this.sanitizeQuery(ctx);\n\n const entity = await strapi.service(uid).find(sanitizedQuery);\n\n const sanitizedEntity = await this.sanitizeOutput(entity, ctx);\n\n return this.transformResponse(sanitizedEntity);\n },\n\n /**\n * create or update single type content.\n */\n async update(ctx) {\n const { query, body = {} as any } = ctx.request;\n\n if (!isObject(body.data)) {\n throw new errors.ValidationError('Missing \"data\" payload in the request body');\n }\n\n await this.validateInput(body.data, ctx);\n\n const sanitizedInputData = await this.sanitizeInput(body.data, ctx);\n\n const entity = await strapi.service(uid).createOrUpdate({\n ...query,\n data: sanitizedInputData,\n });\n\n const sanitizedEntity = await this.sanitizeOutput(entity, ctx);\n\n return this.transformResponse(sanitizedEntity);\n },\n\n async delete(ctx) {\n const { query } = ctx;\n\n await strapi.service(uid).delete(query);\n\n ctx.status = 204;\n },\n };\n};\n\nexport { createSingleTypeController };\n"],"names":["createSingleTypeController","contentType","uid","find","ctx","validateQuery","sanitizedQuery","sanitizeQuery","entity","strapi","service","sanitizedEntity","sanitizeOutput","transformResponse","update","query","body","request","isObject","data","errors","ValidationError","validateInput","sanitizedInputData","sanitizeInput","createOrUpdate","delete","status"],"mappings":";;;AAQA;;AAEC,IACKA,MAAAA,0BAAAA,GAA6B,CAAC,EAClCC,WAAW,EACH,GAAA;IACR,MAAMC,GAAAA,GAAMD,YAAYC,GAAG;;IAG3B,OAAO;AACL;;;QAIA,MAAMC,MAAKC,GAAG,EAAA;YACZ,MAAM,IAAI,CAACC,aAAa,CAACD,GAAAA,CAAAA;AACzB,YAAA,MAAME,cAAiB,GAAA,MAAM,IAAI,CAACC,aAAa,CAACH,GAAAA,CAAAA;AAEhD,YAAA,MAAMI,SAAS,MAAMC,MAAAA,CAAOC,OAAO,CAACR,GAAAA,CAAAA,CAAKC,IAAI,CAACG,cAAAA,CAAAA;AAE9C,YAAA,MAAMK,kBAAkB,MAAM,IAAI,CAACC,cAAc,CAACJ,MAAQJ,EAAAA,GAAAA,CAAAA;YAE1D,OAAO,IAAI,CAACS,iBAAiB,CAACF,eAAAA,CAAAA;AAChC,SAAA;AAEA;;QAGA,MAAMG,QAAOV,GAAG,EAAA;YACd,MAAM,EAAEW,KAAK,EAAEC,IAAAA,GAAO,EAAS,EAAE,GAAGZ,GAAAA,CAAIa,OAAO;AAE/C,YAAA,IAAI,CAACC,QAAAA,CAASF,IAAKG,CAAAA,IAAI,CAAG,EAAA;gBACxB,MAAM,IAAIC,MAAOC,CAAAA,eAAe,CAAC,4CAAA,CAAA;AACnC;AAEA,YAAA,MAAM,IAAI,CAACC,aAAa,CAACN,IAAAA,CAAKG,IAAI,EAAEf,GAAAA,CAAAA;YAEpC,MAAMmB,kBAAAA,GAAqB,MAAM,IAAI,CAACC,aAAa,CAACR,IAAAA,CAAKG,IAAI,EAAEf,GAAAA,CAAAA;AAE/D,YAAA,MAAMI,SAAS,MAAMC,MAAAA,CAAOC,OAAO,CAACR,GAAAA,CAAAA,CAAKuB,cAAc,CAAC;AACtD,gBAAA,GAAGV,KAAK;gBACRI,IAAMI,EAAAA;AACR,aAAA,CAAA;AAEA,YAAA,MAAMZ,kBAAkB,MAAM,IAAI,CAACC,cAAc,CAACJ,MAAQJ,EAAAA,GAAAA,CAAAA;YAE1D,OAAO,IAAI,CAACS,iBAAiB,CAACF,eAAAA,CAAAA;AAChC,SAAA;AAEA,QAAA,MAAMe,QAAOtB,GAAG,EAAA;YACd,MAAM,EAAEW,KAAK,EAAE,GAAGX,GAAAA;AAElB,YAAA,MAAMK,MAAOC,CAAAA,OAAO,CAACR,GAAAA,CAAAA,CAAKwB,MAAM,CAACX,KAAAA,CAAAA;AAEjCX,YAAAA,GAAAA,CAAIuB,MAAM,GAAG,GAAA;AACf;AACF,KAAA;AACF;;;;"}
@@ -1,76 +1,85 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+
4
5
  function isEntry(property) {
5
- return property === null || _.isPlainObject(property) || Array.isArray(property);
6
+ return property === null || fp.isPlainObject(property) || Array.isArray(property);
6
7
  }
7
8
  function isDZEntries(property) {
8
- return Array.isArray(property);
9
+ return Array.isArray(property);
9
10
  }
10
11
  const transformResponse = (resource, meta = {}, opts = {
11
- useJsonAPIFormat: false
12
- }) => {
13
- if (_.isNil(resource)) {
14
- return resource;
15
- }
16
- if (!_.isPlainObject(resource) && !Array.isArray(resource)) {
17
- throw new Error("Entry must be an object or an array of objects");
18
- }
19
- return {
20
- data: opts.useJsonAPIFormat ? transformEntry(resource, opts?.contentType) : resource,
21
- meta
22
- };
12
+ useJsonAPIFormat: false
13
+ })=>{
14
+ if (fp.isNil(resource)) {
15
+ return resource;
16
+ }
17
+ if (!fp.isPlainObject(resource) && !Array.isArray(resource)) {
18
+ throw new Error('Entry must be an object or an array of objects');
19
+ }
20
+ return {
21
+ data: opts.useJsonAPIFormat ? transformEntry(resource, opts?.contentType) : resource,
22
+ meta
23
+ };
23
24
  };
24
25
  function transformComponent(data, component) {
25
- if (Array.isArray(data)) {
26
- return data.map((datum) => transformComponent(datum, component));
27
- }
28
- const res = transformEntry(data, component);
29
- if (_.isNil(res)) {
30
- return res;
31
- }
32
- const { id, attributes } = res;
33
- return { id, ...attributes };
26
+ if (Array.isArray(data)) {
27
+ return data.map((datum)=>transformComponent(datum, component));
28
+ }
29
+ const res = transformEntry(data, component);
30
+ if (fp.isNil(res)) {
31
+ return res;
32
+ }
33
+ const { id, attributes } = res;
34
+ return {
35
+ id,
36
+ ...attributes
37
+ };
34
38
  }
35
39
  function transformEntry(entry, type) {
36
- if (_.isNil(entry)) {
37
- return entry;
38
- }
39
- if (Array.isArray(entry)) {
40
- return entry.map((singleEntry) => transformEntry(singleEntry, type));
41
- }
42
- if (!_.isPlainObject(entry)) {
43
- throw new Error("Entry must be an object");
44
- }
45
- const { id, documentId, ...properties } = entry;
46
- const attributeValues = {};
47
- for (const key of Object.keys(properties)) {
48
- const property = properties[key];
49
- const attribute = type && type.attributes[key];
50
- if (attribute && attribute.type === "relation" && isEntry(property) && "target" in attribute) {
51
- const data = transformEntry(property, strapi.contentType(attribute.target));
52
- attributeValues[key] = { data };
53
- } else if (attribute && attribute.type === "component" && isEntry(property)) {
54
- attributeValues[key] = transformComponent(property, strapi.components[attribute.component]);
55
- } else if (attribute && attribute.type === "dynamiczone" && isDZEntries(property)) {
56
- if (_.isNil(property)) {
57
- attributeValues[key] = property;
58
- }
59
- attributeValues[key] = property.map((subProperty) => {
60
- return transformComponent(subProperty, strapi.components[subProperty.__component]);
61
- });
62
- } else if (attribute && attribute.type === "media" && isEntry(property)) {
63
- const data = transformEntry(property, strapi.contentType("plugin::upload.file"));
64
- attributeValues[key] = { data };
65
- } else {
66
- attributeValues[key] = property;
40
+ if (fp.isNil(entry)) {
41
+ return entry;
42
+ }
43
+ if (Array.isArray(entry)) {
44
+ return entry.map((singleEntry)=>transformEntry(singleEntry, type));
45
+ }
46
+ if (!fp.isPlainObject(entry)) {
47
+ throw new Error('Entry must be an object');
48
+ }
49
+ const { id, documentId, ...properties } = entry;
50
+ const attributeValues = {};
51
+ for (const key of Object.keys(properties)){
52
+ const property = properties[key];
53
+ const attribute = type && type.attributes[key];
54
+ if (attribute && attribute.type === 'relation' && isEntry(property) && 'target' in attribute) {
55
+ const data = transformEntry(property, strapi.contentType(attribute.target));
56
+ attributeValues[key] = {
57
+ data
58
+ };
59
+ } else if (attribute && attribute.type === 'component' && isEntry(property)) {
60
+ attributeValues[key] = transformComponent(property, strapi.components[attribute.component]);
61
+ } else if (attribute && attribute.type === 'dynamiczone' && isDZEntries(property)) {
62
+ if (fp.isNil(property)) {
63
+ attributeValues[key] = property;
64
+ }
65
+ attributeValues[key] = property.map((subProperty)=>{
66
+ return transformComponent(subProperty, strapi.components[subProperty.__component]);
67
+ });
68
+ } else if (attribute && attribute.type === 'media' && isEntry(property)) {
69
+ const data = transformEntry(property, strapi.contentType('plugin::upload.file'));
70
+ attributeValues[key] = {
71
+ data
72
+ };
73
+ } else {
74
+ attributeValues[key] = property;
75
+ }
67
76
  }
68
- }
69
- return {
70
- id,
71
- documentId,
72
- attributes: attributeValues
73
- };
77
+ return {
78
+ id,
79
+ documentId,
80
+ attributes: attributeValues
81
+ };
74
82
  }
83
+
75
84
  exports.transformResponse = transformResponse;
76
85
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sources":["../../../src/core-api/controller/transform.ts"],"sourcesContent":["import { isNil, isPlainObject } from 'lodash/fp';\nimport type { UID, Struct, Data } from '@strapi/types';\n\ntype TransformedEntry = {\n id: string;\n documentId?: Data.DocumentID | null;\n attributes: Record<string, unknown>;\n};\n\ntype TransformedComponent = {\n id: string;\n [key: string]: unknown;\n};\n\ntype Entry = {\n id: string;\n documentId: Data.DocumentID | null;\n [key: string]: Entry | Entry[] | string | number | null | boolean | Date;\n};\n\nfunction isEntry(property: unknown): property is Entry | Entry[] {\n return property === null || isPlainObject(property) || Array.isArray(property);\n}\n\nfunction isDZEntries(property: unknown): property is (Entry & { __component: UID.Component })[] {\n return Array.isArray(property);\n}\n\ninterface TransformOptions {\n contentType?: Struct.ContentTypeSchema | Struct.ComponentSchema;\n /**\n * @deprecated this option is deprecated and will be removed in the next major version\n */\n useJsonAPIFormat?: boolean;\n}\n\nconst transformResponse = (\n resource: any,\n meta: unknown = {},\n opts: TransformOptions = {\n useJsonAPIFormat: false,\n }\n) => {\n if (isNil(resource)) {\n return resource;\n }\n\n if (!isPlainObject(resource) && !Array.isArray(resource)) {\n throw new Error('Entry must be an object or an array of objects');\n }\n\n return {\n data: opts.useJsonAPIFormat ? transformEntry(resource, opts?.contentType) : resource,\n meta,\n };\n};\n\nfunction transformComponent<T extends Entry | Entry[] | null>(\n data: T,\n component: Struct.ComponentSchema\n): T extends Entry[] ? TransformedComponent[] : T extends Entry ? TransformedComponent : null;\nfunction transformComponent(\n data: Entry | Entry[] | null,\n component: Struct.ComponentSchema\n): TransformedComponent | TransformedComponent[] | null {\n if (Array.isArray(data)) {\n return data.map((datum) => transformComponent(datum, component));\n }\n\n const res = transformEntry(data, component);\n\n if (isNil(res)) {\n return res;\n }\n\n const { id, attributes } = res;\n return { id, ...attributes };\n}\n\nfunction transformEntry<T extends Entry | Entry[] | null>(\n entry: T,\n type?: Struct.Schema\n): T extends Entry[] ? TransformedEntry[] : T extends Entry ? TransformedEntry : null;\nfunction transformEntry(\n entry: Entry | Entry[] | null,\n type?: Struct.Schema\n): TransformedEntry | TransformedEntry[] | null {\n if (isNil(entry)) {\n return entry;\n }\n\n if (Array.isArray(entry)) {\n return entry.map((singleEntry) => transformEntry(singleEntry, type));\n }\n\n if (!isPlainObject(entry)) {\n throw new Error('Entry must be an object');\n }\n\n const { id, documentId, ...properties } = entry;\n\n const attributeValues: Record<string, unknown> = {};\n\n for (const key of Object.keys(properties)) {\n const property = properties[key];\n const attribute = type && type.attributes[key];\n\n if (attribute && attribute.type === 'relation' && isEntry(property) && 'target' in attribute) {\n const data = transformEntry(property, strapi.contentType(attribute.target));\n\n attributeValues[key] = { data };\n } else if (attribute && attribute.type === 'component' && isEntry(property)) {\n attributeValues[key] = transformComponent(property, strapi.components[attribute.component]);\n } else if (attribute && attribute.type === 'dynamiczone' && isDZEntries(property)) {\n if (isNil(property)) {\n attributeValues[key] = property;\n }\n\n attributeValues[key] = property.map((subProperty) => {\n return transformComponent(subProperty, strapi.components[subProperty.__component]);\n });\n } else if (attribute && attribute.type === 'media' && isEntry(property)) {\n const data = transformEntry(property, strapi.contentType('plugin::upload.file'));\n\n attributeValues[key] = { data };\n } else {\n attributeValues[key] = property;\n }\n }\n\n return {\n id,\n documentId,\n attributes: attributeValues,\n };\n}\n\nexport { transformResponse };\n"],"names":["isPlainObject","isNil"],"mappings":";;;AAoBA,SAAS,QAAQ,UAAgD;AAC/D,SAAO,aAAa,QAAQA,gBAAc,QAAQ,KAAK,MAAM,QAAQ,QAAQ;AAC/E;AAEA,SAAS,YAAY,UAA2E;AACvF,SAAA,MAAM,QAAQ,QAAQ;AAC/B;AAUA,MAAM,oBAAoB,CACxB,UACA,OAAgB,CAAA,GAChB,OAAyB;AAAA,EACvB,kBAAkB;AACpB,MACG;AACC,MAAAC,EAAAA,MAAM,QAAQ,GAAG;AACZ,WAAA;AAAA,EACT;AAEI,MAAA,CAACD,gBAAc,QAAQ,KAAK,CAAC,MAAM,QAAQ,QAAQ,GAAG;AAClD,UAAA,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEO,SAAA;AAAA,IACL,MAAM,KAAK,mBAAmB,eAAe,UAAU,MAAM,WAAW,IAAI;AAAA,IAC5E;AAAA,EAAA;AAEJ;AAMA,SAAS,mBACP,MACA,WACsD;AAClD,MAAA,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAO,KAAK,IAAI,CAAC,UAAU,mBAAmB,OAAO,SAAS,CAAC;AAAA,EACjE;AAEM,QAAA,MAAM,eAAe,MAAM,SAAS;AAEtC,MAAAC,EAAAA,MAAM,GAAG,GAAG;AACP,WAAA;AAAA,EACT;AAEM,QAAA,EAAE,IAAI,WAAe,IAAA;AACpB,SAAA,EAAE,IAAI,GAAG;AAClB;AAMA,SAAS,eACP,OACA,MAC8C;AAC1C,MAAAA,EAAAA,MAAM,KAAK,GAAG;AACT,WAAA;AAAA,EACT;AAEI,MAAA,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,IAAI,CAAC,gBAAgB,eAAe,aAAa,IAAI,CAAC;AAAA,EACrE;AAEI,MAAA,CAACD,EAAAA,cAAc,KAAK,GAAG;AACnB,UAAA,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAEA,QAAM,EAAE,IAAI,YAAY,GAAG,eAAe;AAE1C,QAAM,kBAA2C,CAAA;AAEjD,aAAW,OAAO,OAAO,KAAK,UAAU,GAAG;AACnC,UAAA,WAAW,WAAW,GAAG;AAC/B,UAAM,YAAY,QAAQ,KAAK,WAAW,GAAG;AAEzC,QAAA,aAAa,UAAU,SAAS,cAAc,QAAQ,QAAQ,KAAK,YAAY,WAAW;AAC5F,YAAM,OAAO,eAAe,UAAU,OAAO,YAAY,UAAU,MAAM,CAAC;AAE1D,sBAAA,GAAG,IAAI,EAAE;IAAK,WACrB,aAAa,UAAU,SAAS,eAAe,QAAQ,QAAQ,GAAG;AAC3D,sBAAA,GAAG,IAAI,mBAAmB,UAAU,OAAO,WAAW,UAAU,SAAS,CAAC;AAAA,IAAA,WACjF,aAAa,UAAU,SAAS,iBAAiB,YAAY,QAAQ,GAAG;AAC7E,UAAAC,EAAAA,MAAM,QAAQ,GAAG;AACnB,wBAAgB,GAAG,IAAI;AAAA,MACzB;AAEA,sBAAgB,GAAG,IAAI,SAAS,IAAI,CAAC,gBAAgB;AACnD,eAAO,mBAAmB,aAAa,OAAO,WAAW,YAAY,WAAW,CAAC;AAAA,MAAA,CAClF;AAAA,IAAA,WACQ,aAAa,UAAU,SAAS,WAAW,QAAQ,QAAQ,GAAG;AACvE,YAAM,OAAO,eAAe,UAAU,OAAO,YAAY,qBAAqB,CAAC;AAE/D,sBAAA,GAAG,IAAI,EAAE;IAAK,OACzB;AACL,sBAAgB,GAAG,IAAI;AAAA,IACzB;AAAA,EACF;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EAAA;AAEhB;;"}
1
+ {"version":3,"file":"transform.js","sources":["../../../src/core-api/controller/transform.ts"],"sourcesContent":["import { isNil, isPlainObject } from 'lodash/fp';\nimport type { UID, Struct, Data } from '@strapi/types';\n\ntype TransformedEntry = {\n id: string;\n documentId?: Data.DocumentID | null;\n attributes: Record<string, unknown>;\n};\n\ntype TransformedComponent = {\n id: string;\n [key: string]: unknown;\n};\n\ntype Entry = {\n id: string;\n documentId: Data.DocumentID | null;\n [key: string]: Entry | Entry[] | string | number | null | boolean | Date;\n};\n\nfunction isEntry(property: unknown): property is Entry | Entry[] {\n return property === null || isPlainObject(property) || Array.isArray(property);\n}\n\nfunction isDZEntries(property: unknown): property is (Entry & { __component: UID.Component })[] {\n return Array.isArray(property);\n}\n\ninterface TransformOptions {\n contentType?: Struct.ContentTypeSchema | Struct.ComponentSchema;\n /**\n * @deprecated this option is deprecated and will be removed in the next major version\n */\n useJsonAPIFormat?: boolean;\n}\n\nconst transformResponse = (\n resource: any,\n meta: unknown = {},\n opts: TransformOptions = {\n useJsonAPIFormat: false,\n }\n) => {\n if (isNil(resource)) {\n return resource;\n }\n\n if (!isPlainObject(resource) && !Array.isArray(resource)) {\n throw new Error('Entry must be an object or an array of objects');\n }\n\n return {\n data: opts.useJsonAPIFormat ? transformEntry(resource, opts?.contentType) : resource,\n meta,\n };\n};\n\nfunction transformComponent<T extends Entry | Entry[] | null>(\n data: T,\n component: Struct.ComponentSchema\n): T extends Entry[] ? TransformedComponent[] : T extends Entry ? TransformedComponent : null;\nfunction transformComponent(\n data: Entry | Entry[] | null,\n component: Struct.ComponentSchema\n): TransformedComponent | TransformedComponent[] | null {\n if (Array.isArray(data)) {\n return data.map((datum) => transformComponent(datum, component));\n }\n\n const res = transformEntry(data, component);\n\n if (isNil(res)) {\n return res;\n }\n\n const { id, attributes } = res;\n return { id, ...attributes };\n}\n\nfunction transformEntry<T extends Entry | Entry[] | null>(\n entry: T,\n type?: Struct.Schema\n): T extends Entry[] ? TransformedEntry[] : T extends Entry ? TransformedEntry : null;\nfunction transformEntry(\n entry: Entry | Entry[] | null,\n type?: Struct.Schema\n): TransformedEntry | TransformedEntry[] | null {\n if (isNil(entry)) {\n return entry;\n }\n\n if (Array.isArray(entry)) {\n return entry.map((singleEntry) => transformEntry(singleEntry, type));\n }\n\n if (!isPlainObject(entry)) {\n throw new Error('Entry must be an object');\n }\n\n const { id, documentId, ...properties } = entry;\n\n const attributeValues: Record<string, unknown> = {};\n\n for (const key of Object.keys(properties)) {\n const property = properties[key];\n const attribute = type && type.attributes[key];\n\n if (attribute && attribute.type === 'relation' && isEntry(property) && 'target' in attribute) {\n const data = transformEntry(property, strapi.contentType(attribute.target));\n\n attributeValues[key] = { data };\n } else if (attribute && attribute.type === 'component' && isEntry(property)) {\n attributeValues[key] = transformComponent(property, strapi.components[attribute.component]);\n } else if (attribute && attribute.type === 'dynamiczone' && isDZEntries(property)) {\n if (isNil(property)) {\n attributeValues[key] = property;\n }\n\n attributeValues[key] = property.map((subProperty) => {\n return transformComponent(subProperty, strapi.components[subProperty.__component]);\n });\n } else if (attribute && attribute.type === 'media' && isEntry(property)) {\n const data = transformEntry(property, strapi.contentType('plugin::upload.file'));\n\n attributeValues[key] = { data };\n } else {\n attributeValues[key] = property;\n }\n }\n\n return {\n id,\n documentId,\n attributes: attributeValues,\n };\n}\n\nexport { transformResponse };\n"],"names":["isEntry","property","isPlainObject","Array","isArray","isDZEntries","transformResponse","resource","meta","opts","useJsonAPIFormat","isNil","Error","data","transformEntry","contentType","transformComponent","component","map","datum","res","id","attributes","entry","type","singleEntry","documentId","properties","attributeValues","key","Object","keys","attribute","strapi","target","components","subProperty","__component"],"mappings":";;;;AAoBA,SAASA,QAAQC,QAAiB,EAAA;AAChC,IAAA,OAAOA,aAAa,IAAQC,IAAAA,gBAAAA,CAAcD,QAAaE,CAAAA,IAAAA,KAAAA,CAAMC,OAAO,CAACH,QAAAA,CAAAA;AACvE;AAEA,SAASI,YAAYJ,QAAiB,EAAA;IACpC,OAAOE,KAAAA,CAAMC,OAAO,CAACH,QAAAA,CAAAA;AACvB;AAUA,MAAMK,oBAAoB,CACxBC,QAAAA,EACAC,OAAgB,EAAE,EAClBC,IAAyB,GAAA;IACvBC,gBAAkB,EAAA;AACpB,CAAC,GAAA;AAED,IAAA,IAAIC,SAAMJ,QAAW,CAAA,EAAA;QACnB,OAAOA,QAAAA;AACT;AAEA,IAAA,IAAI,CAACL,gBAAcK,CAAAA,QAAAA,CAAAA,IAAa,CAACJ,KAAMC,CAAAA,OAAO,CAACG,QAAW,CAAA,EAAA;AACxD,QAAA,MAAM,IAAIK,KAAM,CAAA,gDAAA,CAAA;AAClB;IAEA,OAAO;AACLC,QAAAA,IAAAA,EAAMJ,KAAKC,gBAAgB,GAAGI,cAAeP,CAAAA,QAAAA,EAAUE,MAAMM,WAAeR,CAAAA,GAAAA,QAAAA;AAC5EC,QAAAA;AACF,KAAA;AACF;AAMA,SAASQ,kBAAAA,CACPH,IAA4B,EAC5BI,SAAiC,EAAA;IAEjC,IAAId,KAAAA,CAAMC,OAAO,CAACS,IAAO,CAAA,EAAA;AACvB,QAAA,OAAOA,KAAKK,GAAG,CAAC,CAACC,KAAAA,GAAUH,mBAAmBG,KAAOF,EAAAA,SAAAA,CAAAA,CAAAA;AACvD;IAEA,MAAMG,GAAAA,GAAMN,eAAeD,IAAMI,EAAAA,SAAAA,CAAAA;AAEjC,IAAA,IAAIN,SAAMS,GAAM,CAAA,EAAA;QACd,OAAOA,GAAAA;AACT;AAEA,IAAA,MAAM,EAAEC,EAAE,EAAEC,UAAU,EAAE,GAAGF,GAAAA;IAC3B,OAAO;AAAEC,QAAAA,EAAAA;AAAI,QAAA,GAAGC;AAAW,KAAA;AAC7B;AAMA,SAASR,cAAAA,CACPS,KAA6B,EAC7BC,IAAoB,EAAA;AAEpB,IAAA,IAAIb,SAAMY,KAAQ,CAAA,EAAA;QAChB,OAAOA,KAAAA;AACT;IAEA,IAAIpB,KAAAA,CAAMC,OAAO,CAACmB,KAAQ,CAAA,EAAA;AACxB,QAAA,OAAOA,MAAML,GAAG,CAAC,CAACO,WAAAA,GAAgBX,eAAeW,WAAaD,EAAAA,IAAAA,CAAAA,CAAAA;AAChE;IAEA,IAAI,CAACtB,iBAAcqB,KAAQ,CAAA,EAAA;AACzB,QAAA,MAAM,IAAIX,KAAM,CAAA,yBAAA,CAAA;AAClB;AAEA,IAAA,MAAM,EAAES,EAAE,EAAEK,UAAU,EAAE,GAAGC,YAAY,GAAGJ,KAAAA;AAE1C,IAAA,MAAMK,kBAA2C,EAAC;AAElD,IAAA,KAAK,MAAMC,GAAAA,IAAOC,MAAOC,CAAAA,IAAI,CAACJ,UAAa,CAAA,CAAA;QACzC,MAAM1B,QAAAA,GAAW0B,UAAU,CAACE,GAAI,CAAA;AAChC,QAAA,MAAMG,SAAYR,GAAAA,IAAAA,IAAQA,IAAKF,CAAAA,UAAU,CAACO,GAAI,CAAA;QAE9C,IAAIG,SAAAA,IAAaA,UAAUR,IAAI,KAAK,cAAcxB,OAAQC,CAAAA,QAAAA,CAAAA,IAAa,YAAY+B,SAAW,EAAA;AAC5F,YAAA,MAAMnB,OAAOC,cAAeb,CAAAA,QAAAA,EAAUgC,OAAOlB,WAAW,CAACiB,UAAUE,MAAM,CAAA,CAAA;YAEzEN,eAAe,CAACC,IAAI,GAAG;AAAEhB,gBAAAA;AAAK,aAAA;AAChC,SAAA,MAAO,IAAImB,SAAaA,IAAAA,SAAAA,CAAUR,IAAI,KAAK,WAAA,IAAexB,QAAQC,QAAW,CAAA,EAAA;YAC3E2B,eAAe,CAACC,GAAI,CAAA,GAAGb,kBAAmBf,CAAAA,QAAAA,EAAUgC,OAAOE,UAAU,CAACH,SAAUf,CAAAA,SAAS,CAAC,CAAA;AAC5F,SAAA,MAAO,IAAIe,SAAaA,IAAAA,SAAAA,CAAUR,IAAI,KAAK,aAAA,IAAiBnB,YAAYJ,QAAW,CAAA,EAAA;AACjF,YAAA,IAAIU,SAAMV,QAAW,CAAA,EAAA;gBACnB2B,eAAe,CAACC,IAAI,GAAG5B,QAAAA;AACzB;AAEA2B,YAAAA,eAAe,CAACC,GAAI,CAAA,GAAG5B,QAASiB,CAAAA,GAAG,CAAC,CAACkB,WAAAA,GAAAA;AACnC,gBAAA,OAAOpB,mBAAmBoB,WAAaH,EAAAA,MAAAA,CAAOE,UAAU,CAACC,WAAAA,CAAYC,WAAW,CAAC,CAAA;AACnF,aAAA,CAAA;AACF,SAAA,MAAO,IAAIL,SAAaA,IAAAA,SAAAA,CAAUR,IAAI,KAAK,OAAA,IAAWxB,QAAQC,QAAW,CAAA,EAAA;AACvE,YAAA,MAAMY,IAAOC,GAAAA,cAAAA,CAAeb,QAAUgC,EAAAA,MAAAA,CAAOlB,WAAW,CAAC,qBAAA,CAAA,CAAA;YAEzDa,eAAe,CAACC,IAAI,GAAG;AAAEhB,gBAAAA;AAAK,aAAA;SACzB,MAAA;YACLe,eAAe,CAACC,IAAI,GAAG5B,QAAAA;AACzB;AACF;IAEA,OAAO;AACLoB,QAAAA,EAAAA;AACAK,QAAAA,UAAAA;QACAJ,UAAYM,EAAAA;AACd,KAAA;AACF;;;;"}