@strapi/core 0.0.0-experimental.aa9d061a97e250ce2c7dc88ef3e41668bbf64351 → 0.0.0-experimental.ab7bb8f8d3c8871e51e0720c5d36d826309f80b5

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 (833) hide show
  1. package/dist/Strapi.d.ts +1 -0
  2. package/dist/Strapi.d.ts.map +1 -1
  3. package/dist/Strapi.js +446 -403
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +445 -402
  6. package/dist/Strapi.mjs.map +1 -1
  7. package/dist/compile.js +23 -14
  8. package/dist/compile.js.map +1 -1
  9. package/dist/compile.mjs +22 -14
  10. package/dist/compile.mjs.map +1 -1
  11. package/dist/configuration/config-loader.js +110 -97
  12. package/dist/configuration/config-loader.js.map +1 -1
  13. package/dist/configuration/config-loader.mjs +109 -96
  14. package/dist/configuration/config-loader.mjs.map +1 -1
  15. package/dist/configuration/get-dirs.js +31 -29
  16. package/dist/configuration/get-dirs.js.map +1 -1
  17. package/dist/configuration/get-dirs.mjs +30 -30
  18. package/dist/configuration/get-dirs.mjs.map +1 -1
  19. package/dist/configuration/index.d.ts +1 -0
  20. package/dist/configuration/index.d.ts.map +1 -1
  21. package/dist/configuration/index.js +85 -73
  22. package/dist/configuration/index.js.map +1 -1
  23. package/dist/configuration/index.mjs +84 -69
  24. package/dist/configuration/index.mjs.map +1 -1
  25. package/dist/configuration/urls.d.ts.map +1 -1
  26. package/dist/configuration/urls.js +74 -61
  27. package/dist/configuration/urls.js.map +1 -1
  28. package/dist/configuration/urls.mjs +73 -62
  29. package/dist/configuration/urls.mjs.map +1 -1
  30. package/dist/constants.d.ts +3 -0
  31. package/dist/constants.d.ts.map +1 -0
  32. package/dist/constants.js +6 -0
  33. package/dist/constants.js.map +1 -0
  34. package/dist/constants.mjs +4 -0
  35. package/dist/constants.mjs.map +1 -0
  36. package/dist/container.js +27 -23
  37. package/dist/container.js.map +1 -1
  38. package/dist/container.mjs +26 -24
  39. package/dist/container.mjs.map +1 -1
  40. package/dist/core-api/controller/collection-type.js +77 -76
  41. package/dist/core-api/controller/collection-type.js.map +1 -1
  42. package/dist/core-api/controller/collection-type.mjs +76 -77
  43. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  44. package/dist/core-api/controller/index.d.ts.map +1 -1
  45. package/dist/core-api/controller/index.js +64 -48
  46. package/dist/core-api/controller/index.js.map +1 -1
  47. package/dist/core-api/controller/index.mjs +63 -49
  48. package/dist/core-api/controller/index.mjs.map +1 -1
  49. package/dist/core-api/controller/single-type.js +41 -40
  50. package/dist/core-api/controller/single-type.js.map +1 -1
  51. package/dist/core-api/controller/single-type.mjs +40 -41
  52. package/dist/core-api/controller/single-type.mjs.map +1 -1
  53. package/dist/core-api/controller/transform.d.ts +3 -2
  54. package/dist/core-api/controller/transform.d.ts.map +1 -1
  55. package/dist/core-api/controller/transform.js +83 -64
  56. package/dist/core-api/controller/transform.js.map +1 -1
  57. package/dist/core-api/controller/transform.mjs +82 -65
  58. package/dist/core-api/controller/transform.mjs.map +1 -1
  59. package/dist/core-api/routes/index.d.ts +4 -22
  60. package/dist/core-api/routes/index.d.ts.map +1 -1
  61. package/dist/core-api/routes/index.js +205 -61
  62. package/dist/core-api/routes/index.js.map +1 -1
  63. package/dist/core-api/routes/index.mjs +185 -62
  64. package/dist/core-api/routes/index.mjs.map +1 -1
  65. package/dist/core-api/routes/validation/attributes.d.ts +244 -0
  66. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -0
  67. package/dist/core-api/routes/validation/attributes.js +560 -0
  68. package/dist/core-api/routes/validation/attributes.js.map +1 -0
  69. package/dist/core-api/routes/validation/attributes.mjs +521 -0
  70. package/dist/core-api/routes/validation/attributes.mjs.map +1 -0
  71. package/dist/core-api/routes/validation/common.d.ts +105 -0
  72. package/dist/core-api/routes/validation/common.d.ts.map +1 -0
  73. package/dist/core-api/routes/validation/common.js +116 -0
  74. package/dist/core-api/routes/validation/common.js.map +1 -0
  75. package/dist/core-api/routes/validation/common.mjs +95 -0
  76. package/dist/core-api/routes/validation/common.mjs.map +1 -0
  77. package/dist/core-api/routes/validation/component.d.ts +34 -0
  78. package/dist/core-api/routes/validation/component.d.ts.map +1 -0
  79. package/dist/core-api/routes/validation/component.js +45 -0
  80. package/dist/core-api/routes/validation/component.js.map +1 -0
  81. package/dist/core-api/routes/validation/component.mjs +43 -0
  82. package/dist/core-api/routes/validation/component.mjs.map +1 -0
  83. package/dist/core-api/routes/validation/constants.d.ts +8 -0
  84. package/dist/core-api/routes/validation/constants.d.ts.map +1 -0
  85. package/dist/core-api/routes/validation/constants.js +18 -0
  86. package/dist/core-api/routes/validation/constants.js.map +1 -0
  87. package/dist/core-api/routes/validation/constants.mjs +16 -0
  88. package/dist/core-api/routes/validation/constants.mjs.map +1 -0
  89. package/dist/core-api/routes/validation/content-type.d.ts +128 -0
  90. package/dist/core-api/routes/validation/content-type.d.ts.map +1 -0
  91. package/dist/core-api/routes/validation/content-type.js +201 -0
  92. package/dist/core-api/routes/validation/content-type.js.map +1 -0
  93. package/dist/core-api/routes/validation/content-type.mjs +180 -0
  94. package/dist/core-api/routes/validation/content-type.mjs.map +1 -0
  95. package/dist/core-api/routes/validation/index.d.ts +5 -0
  96. package/dist/core-api/routes/validation/index.d.ts.map +1 -0
  97. package/dist/core-api/routes/validation/mappers.d.ts +105 -0
  98. package/dist/core-api/routes/validation/mappers.d.ts.map +1 -0
  99. package/dist/core-api/routes/validation/mappers.js +273 -0
  100. package/dist/core-api/routes/validation/mappers.js.map +1 -0
  101. package/dist/core-api/routes/validation/mappers.mjs +249 -0
  102. package/dist/core-api/routes/validation/mappers.mjs.map +1 -0
  103. package/dist/core-api/routes/validation/utils.d.ts +47 -0
  104. package/dist/core-api/routes/validation/utils.d.ts.map +1 -0
  105. package/dist/core-api/routes/validation/utils.js +128 -0
  106. package/dist/core-api/routes/validation/utils.js.map +1 -0
  107. package/dist/core-api/routes/validation/utils.mjs +106 -0
  108. package/dist/core-api/routes/validation/utils.mjs.map +1 -0
  109. package/dist/core-api/service/collection-type.js +73 -60
  110. package/dist/core-api/service/collection-type.js.map +1 -1
  111. package/dist/core-api/service/collection-type.mjs +72 -62
  112. package/dist/core-api/service/collection-type.mjs.map +1 -1
  113. package/dist/core-api/service/core-service.js +9 -8
  114. package/dist/core-api/service/core-service.js.map +1 -1
  115. package/dist/core-api/service/core-service.mjs +8 -9
  116. package/dist/core-api/service/core-service.mjs.map +1 -1
  117. package/dist/core-api/service/index.js +13 -13
  118. package/dist/core-api/service/index.js.map +1 -1
  119. package/dist/core-api/service/index.mjs +12 -14
  120. package/dist/core-api/service/index.mjs.map +1 -1
  121. package/dist/core-api/service/pagination.js +69 -43
  122. package/dist/core-api/service/pagination.js.map +1 -1
  123. package/dist/core-api/service/pagination.mjs +68 -47
  124. package/dist/core-api/service/pagination.mjs.map +1 -1
  125. package/dist/core-api/service/single-type.js +43 -39
  126. package/dist/core-api/service/single-type.js.map +1 -1
  127. package/dist/core-api/service/single-type.mjs +42 -41
  128. package/dist/core-api/service/single-type.mjs.map +1 -1
  129. package/dist/domain/content-type/index.d.ts.map +1 -1
  130. package/dist/domain/content-type/index.js +110 -99
  131. package/dist/domain/content-type/index.js.map +1 -1
  132. package/dist/domain/content-type/index.mjs +109 -99
  133. package/dist/domain/content-type/index.mjs.map +1 -1
  134. package/dist/domain/content-type/validator.js +84 -69
  135. package/dist/domain/content-type/validator.js.map +1 -1
  136. package/dist/domain/content-type/validator.mjs +83 -68
  137. package/dist/domain/content-type/validator.mjs.map +1 -1
  138. package/dist/domain/module/index.d.ts.map +1 -1
  139. package/dist/domain/module/index.js +112 -100
  140. package/dist/domain/module/index.js.map +1 -1
  141. package/dist/domain/module/index.mjs +111 -99
  142. package/dist/domain/module/index.mjs.map +1 -1
  143. package/dist/domain/module/validation.js +25 -20
  144. package/dist/domain/module/validation.js.map +1 -1
  145. package/dist/domain/module/validation.mjs +24 -21
  146. package/dist/domain/module/validation.mjs.map +1 -1
  147. package/dist/ee/index.d.ts +7 -0
  148. package/dist/ee/index.d.ts.map +1 -1
  149. package/dist/ee/index.js +197 -137
  150. package/dist/ee/index.js.map +1 -1
  151. package/dist/ee/index.mjs +196 -139
  152. package/dist/ee/index.mjs.map +1 -1
  153. package/dist/ee/license.d.ts +3 -1
  154. package/dist/ee/license.d.ts.map +1 -1
  155. package/dist/ee/license.js +104 -75
  156. package/dist/ee/license.js.map +1 -1
  157. package/dist/ee/license.mjs +102 -76
  158. package/dist/ee/license.mjs.map +1 -1
  159. package/dist/factories.d.ts +3 -1
  160. package/dist/factories.d.ts.map +1 -1
  161. package/dist/factories.js +80 -67
  162. package/dist/factories.js.map +1 -1
  163. package/dist/factories.mjs +77 -70
  164. package/dist/factories.mjs.map +1 -1
  165. package/dist/index.js +29 -26
  166. package/dist/index.js.map +1 -1
  167. package/dist/index.mjs +29 -29
  168. package/dist/index.mjs.map +1 -1
  169. package/dist/loaders/admin.d.ts.map +1 -1
  170. package/dist/loaders/admin.js +21 -20
  171. package/dist/loaders/admin.js.map +1 -1
  172. package/dist/loaders/admin.mjs +20 -20
  173. package/dist/loaders/admin.mjs.map +1 -1
  174. package/dist/loaders/apis.js +143 -120
  175. package/dist/loaders/apis.js.map +1 -1
  176. package/dist/loaders/apis.mjs +142 -119
  177. package/dist/loaders/apis.mjs.map +1 -1
  178. package/dist/loaders/components.js +33 -34
  179. package/dist/loaders/components.js.map +1 -1
  180. package/dist/loaders/components.mjs +32 -34
  181. package/dist/loaders/components.mjs.map +1 -1
  182. package/dist/loaders/index.js +22 -20
  183. package/dist/loaders/index.js.map +1 -1
  184. package/dist/loaders/index.mjs +21 -21
  185. package/dist/loaders/index.mjs.map +1 -1
  186. package/dist/loaders/middlewares.js +29 -25
  187. package/dist/loaders/middlewares.js.map +1 -1
  188. package/dist/loaders/middlewares.mjs +28 -25
  189. package/dist/loaders/middlewares.mjs.map +1 -1
  190. package/dist/loaders/plugins/get-enabled-plugins.js +126 -131
  191. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  192. package/dist/loaders/plugins/get-enabled-plugins.mjs +125 -108
  193. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  194. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  195. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  196. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  197. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  198. package/dist/loaders/plugins/index.js +132 -122
  199. package/dist/loaders/plugins/index.js.map +1 -1
  200. package/dist/loaders/plugins/index.mjs +121 -112
  201. package/dist/loaders/plugins/index.mjs.map +1 -1
  202. package/dist/loaders/policies.js +24 -20
  203. package/dist/loaders/policies.js.map +1 -1
  204. package/dist/loaders/policies.mjs +23 -20
  205. package/dist/loaders/policies.mjs.map +1 -1
  206. package/dist/loaders/sanitizers.js +10 -4
  207. package/dist/loaders/sanitizers.js.map +1 -1
  208. package/dist/loaders/sanitizers.mjs +9 -6
  209. package/dist/loaders/sanitizers.mjs.map +1 -1
  210. package/dist/loaders/src-index.js +35 -27
  211. package/dist/loaders/src-index.js.map +1 -1
  212. package/dist/loaders/src-index.mjs +34 -29
  213. package/dist/loaders/src-index.mjs.map +1 -1
  214. package/dist/loaders/validators.js +9 -4
  215. package/dist/loaders/validators.js.map +1 -1
  216. package/dist/loaders/validators.mjs +8 -6
  217. package/dist/loaders/validators.mjs.map +1 -1
  218. package/dist/middlewares/body.d.ts.map +1 -1
  219. package/dist/middlewares/body.js +58 -54
  220. package/dist/middlewares/body.js.map +1 -1
  221. package/dist/middlewares/body.mjs +57 -51
  222. package/dist/middlewares/body.mjs.map +1 -1
  223. package/dist/middlewares/compression.js +6 -6
  224. package/dist/middlewares/compression.js.map +1 -1
  225. package/dist/middlewares/compression.mjs +5 -5
  226. package/dist/middlewares/compression.mjs.map +1 -1
  227. package/dist/middlewares/cors.d.ts +9 -1
  228. package/dist/middlewares/cors.d.ts.map +1 -1
  229. package/dist/middlewares/cors.js +81 -48
  230. package/dist/middlewares/cors.js.map +1 -1
  231. package/dist/middlewares/cors.mjs +78 -46
  232. package/dist/middlewares/cors.mjs.map +1 -1
  233. package/dist/middlewares/errors.js +32 -30
  234. package/dist/middlewares/errors.js.map +1 -1
  235. package/dist/middlewares/errors.mjs +31 -31
  236. package/dist/middlewares/errors.mjs.map +1 -1
  237. package/dist/middlewares/favicon.js +27 -17
  238. package/dist/middlewares/favicon.js.map +1 -1
  239. package/dist/middlewares/favicon.mjs +26 -16
  240. package/dist/middlewares/favicon.mjs.map +1 -1
  241. package/dist/middlewares/index.js +32 -30
  242. package/dist/middlewares/index.js.map +1 -1
  243. package/dist/middlewares/index.mjs +31 -31
  244. package/dist/middlewares/index.mjs.map +1 -1
  245. package/dist/middlewares/ip.js +6 -6
  246. package/dist/middlewares/ip.js.map +1 -1
  247. package/dist/middlewares/ip.mjs +5 -5
  248. package/dist/middlewares/ip.mjs.map +1 -1
  249. package/dist/middlewares/logger.js +10 -9
  250. package/dist/middlewares/logger.js.map +1 -1
  251. package/dist/middlewares/logger.mjs +9 -10
  252. package/dist/middlewares/logger.mjs.map +1 -1
  253. package/dist/middlewares/powered-by.js +13 -9
  254. package/dist/middlewares/powered-by.js.map +1 -1
  255. package/dist/middlewares/powered-by.mjs +12 -10
  256. package/dist/middlewares/powered-by.mjs.map +1 -1
  257. package/dist/middlewares/public.js +33 -29
  258. package/dist/middlewares/public.js.map +1 -1
  259. package/dist/middlewares/public.mjs +32 -28
  260. package/dist/middlewares/public.mjs.map +1 -1
  261. package/dist/middlewares/query.js +35 -32
  262. package/dist/middlewares/query.js.map +1 -1
  263. package/dist/middlewares/query.mjs +34 -31
  264. package/dist/middlewares/query.mjs.map +1 -1
  265. package/dist/middlewares/response-time.js +10 -9
  266. package/dist/middlewares/response-time.js.map +1 -1
  267. package/dist/middlewares/response-time.mjs +9 -10
  268. package/dist/middlewares/response-time.mjs.map +1 -1
  269. package/dist/middlewares/responses.js +14 -12
  270. package/dist/middlewares/responses.js.map +1 -1
  271. package/dist/middlewares/responses.mjs +13 -13
  272. package/dist/middlewares/responses.mjs.map +1 -1
  273. package/dist/middlewares/security.d.ts.map +1 -1
  274. package/dist/middlewares/security.js +96 -71
  275. package/dist/middlewares/security.js.map +1 -1
  276. package/dist/middlewares/security.mjs +95 -70
  277. package/dist/middlewares/security.mjs.map +1 -1
  278. package/dist/middlewares/session.js +26 -25
  279. package/dist/middlewares/session.js.map +1 -1
  280. package/dist/middlewares/session.mjs +25 -24
  281. package/dist/middlewares/session.mjs.map +1 -1
  282. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -2
  283. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  284. package/dist/migrations/database/5.0.0-discard-drafts.js +152 -90
  285. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  286. package/dist/migrations/database/5.0.0-discard-drafts.mjs +151 -92
  287. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  288. package/dist/migrations/draft-publish.d.ts +1 -1
  289. package/dist/migrations/draft-publish.d.ts.map +1 -1
  290. package/dist/migrations/draft-publish.js +61 -34
  291. package/dist/migrations/draft-publish.js.map +1 -1
  292. package/dist/migrations/draft-publish.mjs +60 -36
  293. package/dist/migrations/draft-publish.mjs.map +1 -1
  294. package/dist/migrations/first-published-at.d.ts +4 -0
  295. package/dist/migrations/first-published-at.d.ts.map +1 -0
  296. package/dist/migrations/first-published-at.js +51 -0
  297. package/dist/migrations/first-published-at.js.map +1 -0
  298. package/dist/migrations/first-published-at.mjs +49 -0
  299. package/dist/migrations/first-published-at.mjs.map +1 -0
  300. package/dist/migrations/i18n.js +62 -45
  301. package/dist/migrations/i18n.js.map +1 -1
  302. package/dist/migrations/i18n.mjs +61 -47
  303. package/dist/migrations/i18n.mjs.map +1 -1
  304. package/dist/migrations/index.d.ts.map +1 -1
  305. package/dist/migrations/index.js +29 -10
  306. package/dist/migrations/index.js.map +1 -1
  307. package/dist/migrations/index.mjs +28 -12
  308. package/dist/migrations/index.mjs.map +1 -1
  309. package/dist/package.json.js +187 -0
  310. package/dist/package.json.js.map +1 -0
  311. package/dist/package.json.mjs +164 -0
  312. package/dist/package.json.mjs.map +1 -0
  313. package/dist/providers/admin.js +27 -17
  314. package/dist/providers/admin.js.map +1 -1
  315. package/dist/providers/admin.mjs +26 -19
  316. package/dist/providers/admin.mjs.map +1 -1
  317. package/dist/providers/coreStore.js +13 -8
  318. package/dist/providers/coreStore.js.map +1 -1
  319. package/dist/providers/coreStore.mjs +12 -10
  320. package/dist/providers/coreStore.mjs.map +1 -1
  321. package/dist/providers/cron.js +19 -16
  322. package/dist/providers/cron.js.map +1 -1
  323. package/dist/providers/cron.mjs +18 -18
  324. package/dist/providers/cron.mjs.map +1 -1
  325. package/dist/providers/index.d.ts.map +1 -1
  326. package/dist/providers/index.js +20 -9
  327. package/dist/providers/index.js.map +1 -1
  328. package/dist/providers/index.mjs +19 -10
  329. package/dist/providers/index.mjs.map +1 -1
  330. package/dist/providers/provider.js +4 -3
  331. package/dist/providers/provider.js.map +1 -1
  332. package/dist/providers/provider.mjs +3 -4
  333. package/dist/providers/provider.mjs.map +1 -1
  334. package/dist/providers/registries.js +37 -32
  335. package/dist/providers/registries.js.map +1 -1
  336. package/dist/providers/registries.mjs +36 -34
  337. package/dist/providers/registries.mjs.map +1 -1
  338. package/dist/providers/session-manager.d.ts +3 -0
  339. package/dist/providers/session-manager.d.ts.map +1 -0
  340. package/dist/providers/session-manager.js +23 -0
  341. package/dist/providers/session-manager.js.map +1 -0
  342. package/dist/providers/session-manager.mjs +21 -0
  343. package/dist/providers/session-manager.mjs.map +1 -0
  344. package/dist/providers/telemetry.js +19 -16
  345. package/dist/providers/telemetry.js.map +1 -1
  346. package/dist/providers/telemetry.mjs +18 -18
  347. package/dist/providers/telemetry.mjs.map +1 -1
  348. package/dist/providers/webhooks.js +28 -26
  349. package/dist/providers/webhooks.js.map +1 -1
  350. package/dist/providers/webhooks.mjs +27 -28
  351. package/dist/providers/webhooks.mjs.map +1 -1
  352. package/dist/registries/apis.js +23 -20
  353. package/dist/registries/apis.js.map +1 -1
  354. package/dist/registries/apis.mjs +22 -22
  355. package/dist/registries/apis.mjs.map +1 -1
  356. package/dist/registries/components.js +35 -37
  357. package/dist/registries/components.js.map +1 -1
  358. package/dist/registries/components.mjs +34 -39
  359. package/dist/registries/components.mjs.map +1 -1
  360. package/dist/registries/content-types.js +54 -59
  361. package/dist/registries/content-types.js.map +1 -1
  362. package/dist/registries/content-types.mjs +53 -61
  363. package/dist/registries/content-types.mjs.map +1 -1
  364. package/dist/registries/controllers.js +70 -71
  365. package/dist/registries/controllers.js.map +1 -1
  366. package/dist/registries/controllers.mjs +69 -73
  367. package/dist/registries/controllers.mjs.map +1 -1
  368. package/dist/registries/custom-fields.js +75 -65
  369. package/dist/registries/custom-fields.js.map +1 -1
  370. package/dist/registries/custom-fields.mjs +74 -67
  371. package/dist/registries/custom-fields.mjs.map +1 -1
  372. package/dist/registries/hooks.js +46 -49
  373. package/dist/registries/hooks.js.map +1 -1
  374. package/dist/registries/hooks.mjs +45 -51
  375. package/dist/registries/hooks.mjs.map +1 -1
  376. package/dist/registries/middlewares.js +49 -51
  377. package/dist/registries/middlewares.js.map +1 -1
  378. package/dist/registries/middlewares.mjs +48 -53
  379. package/dist/registries/middlewares.mjs.map +1 -1
  380. package/dist/registries/models.js +14 -13
  381. package/dist/registries/models.js.map +1 -1
  382. package/dist/registries/models.mjs +13 -14
  383. package/dist/registries/models.mjs.map +1 -1
  384. package/dist/registries/modules.js +39 -36
  385. package/dist/registries/modules.js.map +1 -1
  386. package/dist/registries/modules.mjs +38 -38
  387. package/dist/registries/modules.mjs.map +1 -1
  388. package/dist/registries/namespace.js +21 -20
  389. package/dist/registries/namespace.js.map +1 -1
  390. package/dist/registries/namespace.mjs +20 -23
  391. package/dist/registries/namespace.mjs.map +1 -1
  392. package/dist/registries/plugins.js +23 -20
  393. package/dist/registries/plugins.js.map +1 -1
  394. package/dist/registries/plugins.mjs +22 -22
  395. package/dist/registries/plugins.mjs.map +1 -1
  396. package/dist/registries/policies.js +103 -96
  397. package/dist/registries/policies.js.map +1 -1
  398. package/dist/registries/policies.mjs +102 -98
  399. package/dist/registries/policies.mjs.map +1 -1
  400. package/dist/registries/sanitizers.js +23 -22
  401. package/dist/registries/sanitizers.js.map +1 -1
  402. package/dist/registries/sanitizers.mjs +22 -22
  403. package/dist/registries/sanitizers.mjs.map +1 -1
  404. package/dist/registries/services.js +71 -71
  405. package/dist/registries/services.js.map +1 -1
  406. package/dist/registries/services.mjs +70 -73
  407. package/dist/registries/services.mjs.map +1 -1
  408. package/dist/registries/validators.js +23 -22
  409. package/dist/registries/validators.js.map +1 -1
  410. package/dist/registries/validators.mjs +22 -22
  411. package/dist/registries/validators.mjs.map +1 -1
  412. package/dist/services/auth/index.js +74 -74
  413. package/dist/services/auth/index.js.map +1 -1
  414. package/dist/services/auth/index.mjs +73 -74
  415. package/dist/services/auth/index.mjs.map +1 -1
  416. package/dist/services/config.js +47 -43
  417. package/dist/services/config.js.map +1 -1
  418. package/dist/services/config.mjs +46 -44
  419. package/dist/services/config.mjs.map +1 -1
  420. package/dist/services/content-api/index.d.ts +1 -1
  421. package/dist/services/content-api/index.d.ts.map +1 -1
  422. package/dist/services/content-api/index.js +80 -79
  423. package/dist/services/content-api/index.js.map +1 -1
  424. package/dist/services/content-api/index.mjs +79 -79
  425. package/dist/services/content-api/index.mjs.map +1 -1
  426. package/dist/services/content-api/permissions/engine.js +8 -5
  427. package/dist/services/content-api/permissions/engine.js.map +1 -1
  428. package/dist/services/content-api/permissions/engine.mjs +7 -5
  429. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  430. package/dist/services/content-api/permissions/index.js +101 -81
  431. package/dist/services/content-api/permissions/index.js.map +1 -1
  432. package/dist/services/content-api/permissions/index.mjs +100 -81
  433. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  434. package/dist/services/content-api/permissions/providers/action.js +17 -14
  435. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  436. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  437. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  438. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  439. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  440. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  441. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  442. package/dist/services/content-source-maps.d.ts +13 -0
  443. package/dist/services/content-source-maps.d.ts.map +1 -0
  444. package/dist/services/content-source-maps.js +108 -0
  445. package/dist/services/content-source-maps.js.map +1 -0
  446. package/dist/services/content-source-maps.mjs +106 -0
  447. package/dist/services/content-source-maps.mjs.map +1 -0
  448. package/dist/services/core-store.d.ts +2 -2
  449. package/dist/services/core-store.d.ts.map +1 -1
  450. package/dist/services/core-store.js +115 -95
  451. package/dist/services/core-store.js.map +1 -1
  452. package/dist/services/core-store.mjs +114 -97
  453. package/dist/services/core-store.mjs.map +1 -1
  454. package/dist/services/cron.js +74 -65
  455. package/dist/services/cron.js.map +1 -1
  456. package/dist/services/cron.mjs +73 -67
  457. package/dist/services/cron.mjs.map +1 -1
  458. package/dist/services/custom-fields.js +9 -7
  459. package/dist/services/custom-fields.js.map +1 -1
  460. package/dist/services/custom-fields.mjs +8 -9
  461. package/dist/services/custom-fields.mjs.map +1 -1
  462. package/dist/services/document-service/attributes/index.js +23 -18
  463. package/dist/services/document-service/attributes/index.js.map +1 -1
  464. package/dist/services/document-service/attributes/index.mjs +22 -19
  465. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  466. package/dist/services/document-service/attributes/transforms.js +16 -15
  467. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  468. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  469. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  470. package/dist/services/document-service/common.js +5 -4
  471. package/dist/services/document-service/common.js.map +1 -1
  472. package/dist/services/document-service/common.mjs +4 -5
  473. package/dist/services/document-service/common.mjs.map +1 -1
  474. package/dist/services/document-service/components.d.ts +31 -1
  475. package/dist/services/document-service/components.d.ts.map +1 -1
  476. package/dist/services/document-service/components.js +363 -256
  477. package/dist/services/document-service/components.js.map +1 -1
  478. package/dist/services/document-service/components.mjs +359 -261
  479. package/dist/services/document-service/components.mjs.map +1 -1
  480. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  481. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  482. package/dist/services/document-service/draft-and-publish.js +88 -48
  483. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  484. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  485. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  486. package/dist/services/document-service/entries.d.ts.map +1 -1
  487. package/dist/services/document-service/entries.js +151 -91
  488. package/dist/services/document-service/entries.js.map +1 -1
  489. package/dist/services/document-service/entries.mjs +150 -92
  490. package/dist/services/document-service/entries.mjs.map +1 -1
  491. package/dist/services/document-service/events.d.ts +1 -1
  492. package/dist/services/document-service/events.d.ts.map +1 -1
  493. package/dist/services/document-service/events.js +52 -40
  494. package/dist/services/document-service/events.js.map +1 -1
  495. package/dist/services/document-service/events.mjs +51 -41
  496. package/dist/services/document-service/events.mjs.map +1 -1
  497. package/dist/services/document-service/first-published-at.d.ts +7 -0
  498. package/dist/services/document-service/first-published-at.d.ts.map +1 -0
  499. package/dist/services/document-service/first-published-at.js +31 -0
  500. package/dist/services/document-service/first-published-at.js.map +1 -0
  501. package/dist/services/document-service/first-published-at.mjs +28 -0
  502. package/dist/services/document-service/first-published-at.mjs.map +1 -0
  503. package/dist/services/document-service/index.js +53 -33
  504. package/dist/services/document-service/index.js.map +1 -1
  505. package/dist/services/document-service/index.mjs +52 -34
  506. package/dist/services/document-service/index.mjs.map +1 -1
  507. package/dist/services/document-service/internationalization.d.ts +6 -1
  508. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  509. package/dist/services/document-service/internationalization.js +94 -46
  510. package/dist/services/document-service/internationalization.js.map +1 -1
  511. package/dist/services/document-service/internationalization.mjs +92 -50
  512. package/dist/services/document-service/internationalization.mjs.map +1 -1
  513. package/dist/services/document-service/middlewares/errors.js +23 -19
  514. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  515. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  516. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  517. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  518. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  519. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  520. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  521. package/dist/services/document-service/params.js +11 -5
  522. package/dist/services/document-service/params.js.map +1 -1
  523. package/dist/services/document-service/params.mjs +10 -6
  524. package/dist/services/document-service/params.mjs.map +1 -1
  525. package/dist/services/document-service/repository.d.ts.map +1 -1
  526. package/dist/services/document-service/repository.js +362 -319
  527. package/dist/services/document-service/repository.js.map +1 -1
  528. package/dist/services/document-service/repository.mjs +361 -320
  529. package/dist/services/document-service/repository.mjs.map +1 -1
  530. package/dist/services/document-service/transform/data.js +22 -12
  531. package/dist/services/document-service/transform/data.js.map +1 -1
  532. package/dist/services/document-service/transform/data.mjs +21 -13
  533. package/dist/services/document-service/transform/data.mjs.map +1 -1
  534. package/dist/services/document-service/transform/fields.js +26 -17
  535. package/dist/services/document-service/transform/fields.js.map +1 -1
  536. package/dist/services/document-service/transform/fields.mjs +25 -18
  537. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  538. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  539. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  540. package/dist/services/document-service/transform/id-map.js +115 -77
  541. package/dist/services/document-service/transform/id-map.js.map +1 -1
  542. package/dist/services/document-service/transform/id-map.mjs +114 -78
  543. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  544. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  545. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  546. package/dist/services/document-service/transform/id-transform.js +37 -29
  547. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  548. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  549. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  550. package/dist/services/document-service/transform/populate.js +23 -18
  551. package/dist/services/document-service/transform/populate.js.map +1 -1
  552. package/dist/services/document-service/transform/populate.mjs +22 -19
  553. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  554. package/dist/services/document-service/transform/query.js +11 -6
  555. package/dist/services/document-service/transform/query.js.map +1 -1
  556. package/dist/services/document-service/transform/query.mjs +10 -7
  557. package/dist/services/document-service/transform/query.mjs.map +1 -1
  558. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  559. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  560. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  561. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  562. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  563. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  564. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  565. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  566. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  567. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  568. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  569. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  570. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  571. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  572. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  573. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  574. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  575. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  576. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  577. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  578. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  579. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  580. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  581. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  582. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  583. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  584. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  585. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  586. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  587. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  588. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  589. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  590. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  591. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  592. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  593. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  594. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  595. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  596. package/dist/services/document-service/utils/clean-component-join-table.d.ts +7 -0
  597. package/dist/services/document-service/utils/clean-component-join-table.d.ts.map +1 -0
  598. package/dist/services/document-service/utils/clean-component-join-table.js +145 -0
  599. package/dist/services/document-service/utils/clean-component-join-table.js.map +1 -0
  600. package/dist/services/document-service/utils/clean-component-join-table.mjs +143 -0
  601. package/dist/services/document-service/utils/clean-component-join-table.mjs.map +1 -0
  602. package/dist/services/document-service/utils/populate.d.ts +1 -1
  603. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  604. package/dist/services/document-service/utils/populate.js +66 -42
  605. package/dist/services/document-service/utils/populate.js.map +1 -1
  606. package/dist/services/document-service/utils/populate.mjs +65 -43
  607. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  608. package/dist/services/document-service/utils/unidirectional-relations.d.ts +19 -2
  609. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  610. package/dist/services/document-service/utils/unidirectional-relations.js +124 -62
  611. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -1
  612. package/dist/services/document-service/utils/unidirectional-relations.mjs +123 -64
  613. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -1
  614. package/dist/services/entity-service/index.js +230 -161
  615. package/dist/services/entity-service/index.js.map +1 -1
  616. package/dist/services/entity-service/index.mjs +229 -160
  617. package/dist/services/entity-service/index.mjs.map +1 -1
  618. package/dist/services/entity-validator/blocks-validator.js +135 -103
  619. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  620. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  621. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  622. package/dist/services/entity-validator/index.d.ts +1 -1
  623. package/dist/services/entity-validator/index.d.ts.map +1 -1
  624. package/dist/services/entity-validator/index.js +370 -366
  625. package/dist/services/entity-validator/index.js.map +1 -1
  626. package/dist/services/entity-validator/index.mjs +366 -363
  627. package/dist/services/entity-validator/index.mjs.map +1 -1
  628. package/dist/services/entity-validator/validators.d.ts +1 -0
  629. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  630. package/dist/services/entity-validator/validators.js +270 -209
  631. package/dist/services/entity-validator/validators.js.map +1 -1
  632. package/dist/services/entity-validator/validators.mjs +269 -215
  633. package/dist/services/entity-validator/validators.mjs.map +1 -1
  634. package/dist/services/errors.js +65 -65
  635. package/dist/services/errors.js.map +1 -1
  636. package/dist/services/errors.mjs +64 -66
  637. package/dist/services/errors.mjs.map +1 -1
  638. package/dist/services/event-hub.js +82 -69
  639. package/dist/services/event-hub.js.map +1 -1
  640. package/dist/services/event-hub.mjs +81 -71
  641. package/dist/services/event-hub.mjs.map +1 -1
  642. package/dist/services/features.js +19 -14
  643. package/dist/services/features.js.map +1 -1
  644. package/dist/services/features.mjs +18 -15
  645. package/dist/services/features.mjs.map +1 -1
  646. package/dist/services/fs.js +41 -40
  647. package/dist/services/fs.js.map +1 -1
  648. package/dist/services/fs.mjs +40 -39
  649. package/dist/services/fs.mjs.map +1 -1
  650. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  651. package/dist/services/metrics/admin-user-hash.js +13 -11
  652. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  653. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  654. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  655. package/dist/services/metrics/index.d.ts +1 -1
  656. package/dist/services/metrics/index.d.ts.map +1 -1
  657. package/dist/services/metrics/index.js +48 -40
  658. package/dist/services/metrics/index.js.map +1 -1
  659. package/dist/services/metrics/index.mjs +47 -42
  660. package/dist/services/metrics/index.mjs.map +1 -1
  661. package/dist/services/metrics/is-truthy.js +13 -6
  662. package/dist/services/metrics/is-truthy.js.map +1 -1
  663. package/dist/services/metrics/is-truthy.mjs +12 -6
  664. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  665. package/dist/services/metrics/middleware.d.ts +2 -1
  666. package/dist/services/metrics/middleware.d.ts.map +1 -1
  667. package/dist/services/metrics/middleware.js +37 -22
  668. package/dist/services/metrics/middleware.js.map +1 -1
  669. package/dist/services/metrics/middleware.mjs +36 -24
  670. package/dist/services/metrics/middleware.mjs.map +1 -1
  671. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  672. package/dist/services/metrics/rate-limiter.js +24 -19
  673. package/dist/services/metrics/rate-limiter.js.map +1 -1
  674. package/dist/services/metrics/rate-limiter.mjs +23 -21
  675. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  676. package/dist/services/metrics/sender.d.ts.map +1 -1
  677. package/dist/services/metrics/sender.js +79 -69
  678. package/dist/services/metrics/sender.js.map +1 -1
  679. package/dist/services/metrics/sender.mjs +78 -64
  680. package/dist/services/metrics/sender.mjs.map +1 -1
  681. package/dist/services/query-params.js +13 -10
  682. package/dist/services/query-params.js.map +1 -1
  683. package/dist/services/query-params.mjs +12 -12
  684. package/dist/services/query-params.mjs.map +1 -1
  685. package/dist/services/reloader.js +35 -32
  686. package/dist/services/reloader.js.map +1 -1
  687. package/dist/services/reloader.mjs +34 -33
  688. package/dist/services/reloader.mjs.map +1 -1
  689. package/dist/services/request-context.js +11 -8
  690. package/dist/services/request-context.js.map +1 -1
  691. package/dist/services/request-context.mjs +10 -10
  692. package/dist/services/request-context.mjs.map +1 -1
  693. package/dist/services/server/admin-api.js +11 -10
  694. package/dist/services/server/admin-api.js.map +1 -1
  695. package/dist/services/server/admin-api.mjs +10 -11
  696. package/dist/services/server/admin-api.mjs.map +1 -1
  697. package/dist/services/server/api.js +33 -27
  698. package/dist/services/server/api.js.map +1 -1
  699. package/dist/services/server/api.mjs +32 -26
  700. package/dist/services/server/api.mjs.map +1 -1
  701. package/dist/services/server/compose-endpoint.js +116 -105
  702. package/dist/services/server/compose-endpoint.js.map +1 -1
  703. package/dist/services/server/compose-endpoint.mjs +115 -105
  704. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  705. package/dist/services/server/content-api.js +11 -9
  706. package/dist/services/server/content-api.js.map +1 -1
  707. package/dist/services/server/content-api.mjs +10 -10
  708. package/dist/services/server/content-api.mjs.map +1 -1
  709. package/dist/services/server/http-server.js +48 -44
  710. package/dist/services/server/http-server.js.map +1 -1
  711. package/dist/services/server/http-server.mjs +47 -43
  712. package/dist/services/server/http-server.mjs.map +1 -1
  713. package/dist/services/server/index.js +85 -82
  714. package/dist/services/server/index.js.map +1 -1
  715. package/dist/services/server/index.mjs +84 -81
  716. package/dist/services/server/index.mjs.map +1 -1
  717. package/dist/services/server/koa.js +49 -47
  718. package/dist/services/server/koa.js.map +1 -1
  719. package/dist/services/server/koa.mjs +48 -44
  720. package/dist/services/server/koa.mjs.map +1 -1
  721. package/dist/services/server/middleware.js +86 -82
  722. package/dist/services/server/middleware.js.map +1 -1
  723. package/dist/services/server/middleware.mjs +85 -82
  724. package/dist/services/server/middleware.mjs.map +1 -1
  725. package/dist/services/server/policy.js +24 -17
  726. package/dist/services/server/policy.js.map +1 -1
  727. package/dist/services/server/policy.mjs +23 -18
  728. package/dist/services/server/policy.mjs.map +1 -1
  729. package/dist/services/server/register-middlewares.js +68 -61
  730. package/dist/services/server/register-middlewares.js.map +1 -1
  731. package/dist/services/server/register-middlewares.mjs +67 -63
  732. package/dist/services/server/register-middlewares.mjs.map +1 -1
  733. package/dist/services/server/register-routes.js +109 -66
  734. package/dist/services/server/register-routes.js.map +1 -1
  735. package/dist/services/server/register-routes.mjs +108 -66
  736. package/dist/services/server/register-routes.mjs.map +1 -1
  737. package/dist/services/server/routing.d.ts +10 -0
  738. package/dist/services/server/routing.d.ts.map +1 -1
  739. package/dist/services/server/routing.js +100 -81
  740. package/dist/services/server/routing.js.map +1 -1
  741. package/dist/services/server/routing.mjs +99 -81
  742. package/dist/services/server/routing.mjs.map +1 -1
  743. package/dist/services/session-manager.d.ts +167 -0
  744. package/dist/services/session-manager.d.ts.map +1 -0
  745. package/dist/services/session-manager.js +529 -0
  746. package/dist/services/session-manager.js.map +1 -0
  747. package/dist/services/session-manager.mjs +526 -0
  748. package/dist/services/session-manager.mjs.map +1 -0
  749. package/dist/services/utils/conditional-fields.d.ts +3 -0
  750. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  751. package/dist/services/utils/conditional-fields.js +22 -0
  752. package/dist/services/utils/conditional-fields.js.map +1 -0
  753. package/dist/services/utils/conditional-fields.mjs +20 -0
  754. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  755. package/dist/services/utils/dynamic-zones.js +13 -14
  756. package/dist/services/utils/dynamic-zones.js.map +1 -1
  757. package/dist/services/utils/dynamic-zones.mjs +12 -16
  758. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  759. package/dist/services/webhook-runner.js +124 -122
  760. package/dist/services/webhook-runner.js.map +1 -1
  761. package/dist/services/webhook-runner.mjs +123 -121
  762. package/dist/services/webhook-runner.mjs.map +1 -1
  763. package/dist/services/webhook-store.js +132 -99
  764. package/dist/services/webhook-store.js.map +1 -1
  765. package/dist/services/webhook-store.mjs +131 -101
  766. package/dist/services/webhook-store.mjs.map +1 -1
  767. package/dist/services/worker-queue.js +44 -49
  768. package/dist/services/worker-queue.js.map +1 -1
  769. package/dist/services/worker-queue.mjs +43 -49
  770. package/dist/services/worker-queue.mjs.map +1 -1
  771. package/dist/utils/convert-custom-field-type.js +17 -20
  772. package/dist/utils/convert-custom-field-type.js.map +1 -1
  773. package/dist/utils/convert-custom-field-type.mjs +16 -21
  774. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  775. package/dist/utils/cron.js +64 -30
  776. package/dist/utils/cron.js.map +1 -1
  777. package/dist/utils/cron.mjs +63 -31
  778. package/dist/utils/cron.mjs.map +1 -1
  779. package/dist/utils/fetch.d.ts +5 -1
  780. package/dist/utils/fetch.d.ts.map +1 -1
  781. package/dist/utils/fetch.js +28 -18
  782. package/dist/utils/fetch.js.map +1 -1
  783. package/dist/utils/fetch.mjs +27 -19
  784. package/dist/utils/fetch.mjs.map +1 -1
  785. package/dist/utils/filepath-to-prop-path.js +20 -28
  786. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  787. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  788. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  789. package/dist/utils/is-initialized.js +21 -12
  790. package/dist/utils/is-initialized.js.map +1 -1
  791. package/dist/utils/is-initialized.mjs +20 -13
  792. package/dist/utils/is-initialized.mjs.map +1 -1
  793. package/dist/utils/lifecycles.js +6 -5
  794. package/dist/utils/lifecycles.js.map +1 -1
  795. package/dist/utils/lifecycles.mjs +5 -6
  796. package/dist/utils/lifecycles.mjs.map +1 -1
  797. package/dist/utils/load-config-file.js +40 -38
  798. package/dist/utils/load-config-file.js.map +1 -1
  799. package/dist/utils/load-config-file.mjs +39 -36
  800. package/dist/utils/load-config-file.mjs.map +1 -1
  801. package/dist/utils/load-files.js +40 -35
  802. package/dist/utils/load-files.js.map +1 -1
  803. package/dist/utils/load-files.mjs +39 -32
  804. package/dist/utils/load-files.mjs.map +1 -1
  805. package/dist/utils/open-browser.js +8 -8
  806. package/dist/utils/open-browser.js.map +1 -1
  807. package/dist/utils/open-browser.mjs +7 -7
  808. package/dist/utils/open-browser.mjs.map +1 -1
  809. package/dist/utils/resolve-working-dirs.js +23 -10
  810. package/dist/utils/resolve-working-dirs.js.map +1 -1
  811. package/dist/utils/resolve-working-dirs.mjs +22 -9
  812. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  813. package/dist/utils/signals.js +20 -14
  814. package/dist/utils/signals.js.map +1 -1
  815. package/dist/utils/signals.mjs +19 -15
  816. package/dist/utils/signals.mjs.map +1 -1
  817. package/dist/utils/startup-logger.d.ts.map +1 -1
  818. package/dist/utils/startup-logger.js +107 -78
  819. package/dist/utils/startup-logger.js.map +1 -1
  820. package/dist/utils/startup-logger.mjs +106 -75
  821. package/dist/utils/startup-logger.mjs.map +1 -1
  822. package/dist/utils/transform-content-types-to-models.d.ts +197 -0
  823. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  824. package/dist/utils/transform-content-types-to-models.js +350 -261
  825. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  826. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  827. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  828. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  829. package/dist/utils/update-notifier/index.js +68 -73
  830. package/dist/utils/update-notifier/index.js.map +1 -1
  831. package/dist/utils/update-notifier/index.mjs +67 -67
  832. package/dist/utils/update-notifier/index.mjs.map +1 -1
  833. package/package.json +33 -29
@@ -1 +1 @@
1
- {"version":3,"file":"register-routes.mjs","sources":["../../../src/services/server/register-routes.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\n\nconst createRouteScopeGenerator = (namespace: string) => (route: Core.RouteInput) => {\n const prefix = namespace.endsWith('::') ? namespace : `${namespace}.`;\n\n if (typeof route.handler === 'string') {\n _.defaultsDeep(route, {\n config: {\n auth: {\n scope: [`${route.handler.startsWith(prefix) ? '' : prefix}${route.handler}`],\n },\n },\n });\n }\n};\n\n/**\n * Register all routes\n */\nexport default (strapi: Core.Strapi) => {\n registerAdminRoutes(strapi);\n registerAPIRoutes(strapi);\n registerPluginRoutes(strapi);\n};\n\n/**\n * Register admin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerAdminRoutes = (strapi: Core.Strapi) => {\n const generateRouteScope = createRouteScopeGenerator(`admin::`);\n\n _.forEach(strapi.admin.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/admin`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName: 'admin' };\n });\n strapi.server.routes(router);\n });\n};\n\n/**\n * Register plugin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerPluginRoutes = (strapi: Core.Strapi) => {\n for (const pluginName of Object.keys(strapi.plugins)) {\n const plugin = strapi.plugins[pluginName];\n\n const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);\n\n if (Array.isArray(plugin.routes)) {\n plugin.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes({\n type: 'admin',\n prefix: `/${pluginName}`,\n routes: plugin.routes,\n });\n } else {\n _.forEach(plugin.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/${pluginName}`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes(router);\n });\n }\n }\n};\n\n/**\n * Register api routes\n */\nconst registerAPIRoutes = (strapi: Core.Strapi) => {\n for (const apiName of Object.keys(strapi.apis)) {\n const api = strapi.api(apiName);\n\n const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);\n\n _.forEach(api.routes, (router) => {\n // TODO: remove once auth setup\n // pass meta down to compose endpoint\n router.type = 'content-api';\n router.routes?.forEach((route) => {\n generateRouteScope(route);\n route.info = { apiName };\n });\n\n return strapi.server.routes(router);\n });\n }\n};\n"],"names":[],"mappings":";AAGA,MAAM,4BAA4B,CAAC,cAAsB,CAAC,UAA2B;AACnF,QAAM,SAAS,UAAU,SAAS,IAAI,IAAI,YAAY,GAAG,SAAS;AAE9D,MAAA,OAAO,MAAM,YAAY,UAAU;AACrC,MAAE,aAAa,OAAO;AAAA,MACpB,QAAQ;AAAA,QACN,MAAM;AAAA,UACJ,OAAO,CAAC,GAAG,MAAM,QAAQ,WAAW,MAAM,IAAI,KAAK,MAAM,GAAG,MAAM,OAAO,EAAE;AAAA,QAC7E;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EACH;AACF;AAKA,MAAe,oBAAA,CAAC,WAAwB;AACtC,sBAAoB,MAAM;AAC1B,oBAAkB,MAAM;AACxB,uBAAqB,MAAM;AAC7B;AAMA,MAAM,sBAAsB,CAAC,WAAwB;AAC7C,QAAA,qBAAqB,0BAA0B,SAAS;AAE9D,IAAE,QAAQ,OAAO,MAAM,QAAQ,CAAC,WAAW;AAClC,WAAA,OAAO,OAAO,QAAQ;AACtB,WAAA,SAAS,OAAO,UAAU;AAC1B,WAAA,OAAO,QAAQ,CAAC,UAAU;AAC/B,yBAAmB,KAAK;AAClB,YAAA,OAAO,EAAE,YAAY,QAAQ;AAAA,IAAA,CACpC;AACM,WAAA,OAAO,OAAO,MAAM;AAAA,EAAA,CAC5B;AACH;AAMA,MAAM,uBAAuB,CAAC,WAAwB;AACpD,aAAW,cAAc,OAAO,KAAK,OAAO,OAAO,GAAG;AAC9C,UAAA,SAAS,OAAO,QAAQ,UAAU;AAExC,UAAM,qBAAqB,0BAA0B,WAAW,UAAU,EAAE;AAE5E,QAAI,MAAM,QAAQ,OAAO,MAAM,GAAG;AACzB,aAAA,OAAO,QAAQ,CAAC,UAAU;AAC/B,2BAAmB,KAAK;AAClB,cAAA,OAAO,EAAE;MAAW,CAC3B;AAED,aAAO,OAAO,OAAO;AAAA,QACnB,MAAM;AAAA,QACN,QAAQ,IAAI,UAAU;AAAA,QACtB,QAAQ,OAAO;AAAA,MAAA,CAChB;AAAA,IAAA,OACI;AACL,QAAE,QAAQ,OAAO,QAAQ,CAAC,WAAW;AAC5B,eAAA,OAAO,OAAO,QAAQ;AAC7B,eAAO,SAAS,OAAO,UAAU,IAAI,UAAU;AACxC,eAAA,OAAO,QAAQ,CAAC,UAAU;AAC/B,6BAAmB,KAAK;AAClB,gBAAA,OAAO,EAAE;QAAW,CAC3B;AAEM,eAAA,OAAO,OAAO,MAAM;AAAA,MAAA,CAC5B;AAAA,IACH;AAAA,EACF;AACF;AAKA,MAAM,oBAAoB,CAAC,WAAwB;AACjD,aAAW,WAAW,OAAO,KAAK,OAAO,IAAI,GAAG;AACxC,UAAA,MAAM,OAAO,IAAI,OAAO;AAE9B,UAAM,qBAAqB,0BAA0B,QAAQ,OAAO,EAAE;AAEtE,MAAE,QAAQ,IAAI,QAAQ,CAAC,WAAW;AAGhC,aAAO,OAAO;AACP,aAAA,QAAQ,QAAQ,CAAC,UAAU;AAChC,2BAAmB,KAAK;AAClB,cAAA,OAAO,EAAE;MAAQ,CACxB;AAEM,aAAA,OAAO,OAAO,OAAO,MAAM;AAAA,IAAA,CACnC;AAAA,EACH;AACF;"}
1
+ {"version":3,"file":"register-routes.mjs","sources":["../../../src/services/server/register-routes.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\n\nconst createRouteScopeGenerator = (namespace: string) => (route: Core.RouteInput) => {\n const prefix = namespace.endsWith('::') ? namespace : `${namespace}.`;\n\n if (typeof route.handler === 'string') {\n _.defaultsDeep(route, {\n config: {\n auth: {\n scope: [`${route.handler.startsWith(prefix) ? '' : prefix}${route.handler}`],\n },\n },\n });\n }\n};\n\n/**\n * Register all routes\n */\nexport default (strapi: Core.Strapi) => {\n registerAdminRoutes(strapi);\n registerAPIRoutes(strapi);\n registerPluginRoutes(strapi);\n};\n\n/**\n * Register admin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerAdminRoutes = (strapi: Core.Strapi) => {\n const generateRouteScope = createRouteScopeGenerator(`admin::`);\n\n // Instantiate function-like routers\n // Mutate admin.routes in-place and make sure router factories are instantiated correctly\n strapi.admin.routes = instantiateRouterInputs(strapi.admin.routes, strapi);\n\n _.forEach(strapi.admin.routes, (router) => {\n router.type = router.type || 'admin';\n router.prefix = router.prefix || `/admin`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName: 'admin' };\n });\n strapi.server.routes(router);\n });\n};\n\n/**\n * Register plugin routes\n * @param {import('../../').Strapi} strapi\n */\nconst registerPluginRoutes = (strapi: Core.Strapi) => {\n for (const pluginName of Object.keys(strapi.plugins)) {\n const plugin = strapi.plugins[pluginName];\n\n const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);\n\n if (Array.isArray(plugin.routes)) {\n plugin.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes({\n type: 'admin',\n prefix: `/${pluginName}`,\n routes: plugin.routes,\n });\n } else {\n // Instantiate function-like routers\n // Mutate plugin.routes in-place and make sure router factories are instantiated correctly\n plugin.routes = instantiateRouterInputs(plugin.routes, strapi);\n\n _.forEach(plugin.routes, (router) => {\n router.type = router.type ?? 'admin';\n router.prefix = router.prefix ?? `/${pluginName}`;\n router.routes.forEach((route) => {\n generateRouteScope(route);\n route.info = { pluginName };\n });\n\n strapi.server.routes(router);\n });\n }\n }\n};\n\n/**\n * Register api routes\n */\nconst registerAPIRoutes = (strapi: Core.Strapi) => {\n for (const apiName of Object.keys(strapi.apis)) {\n const api = strapi.api(apiName);\n\n const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);\n\n // Mutate api.routes in-place and make sure router factories are instantiated correctly\n api.routes = instantiateRouterInputs(api.routes, strapi);\n\n _.forEach(api.routes, (router) => {\n // TODO: remove once auth setup\n // pass meta down to compose endpoint\n router.type = 'content-api';\n router.routes?.forEach((route) => {\n generateRouteScope(route);\n route.info = { apiName };\n });\n\n return strapi.server.routes(router);\n });\n }\n};\n\nconst instantiateRouterInputs = (\n routers: Record<string, Core.RouterConfig>,\n strapi: Core.Strapi\n): Record<string, Core.Router> => {\n const entries = Object.entries(routers);\n\n return entries.reduce((record, [key, inputOrCallback]) => {\n const isCallback = typeof inputOrCallback === 'function';\n\n return { ...record, [key]: isCallback ? inputOrCallback({ strapi }) : inputOrCallback };\n }, {});\n};\n"],"names":["createRouteScopeGenerator","namespace","route","prefix","endsWith","handler","_","defaultsDeep","config","auth","scope","startsWith","strapi","registerAdminRoutes","registerAPIRoutes","registerPluginRoutes","generateRouteScope","admin","routes","instantiateRouterInputs","forEach","router","type","info","pluginName","server","Object","keys","plugins","plugin","Array","isArray","apiName","apis","api","routers","entries","reduce","record","key","inputOrCallback","isCallback"],"mappings":"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"}
@@ -7,6 +7,16 @@ declare const validateRouteConfig: (routeConfig: Core.RouteInput) => import("yup
7
7
  method: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
8
8
  path: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
9
9
  handler: import("yup/lib/Lazy").default<import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>> | import("yup/lib/mixed").MixedSchema<any, Record<string, any>, any> | import("yup/lib/array").RequiredArraySchema<yup.AnySchema, import("yup/lib/types").AnyObject, any[] | undefined>, any>;
10
+ request: import("yup/lib/object").OptionalObjectSchema<{
11
+ params: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
12
+ query: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
13
+ body: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
14
+ }, Record<string, any>, import("yup/lib/object").TypeOfShape<{
15
+ params: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
16
+ query: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
17
+ body: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
18
+ }>>;
19
+ response: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
10
20
  config: import("yup/lib/object").OptionalObjectSchema<{
11
21
  auth: import("yup/lib/Lazy").default<import("yup/lib/boolean").RequiredBooleanSchema<boolean | undefined, Record<string, any>> | import("yup/lib/object").OptionalObjectSchema<{
12
22
  scope: import("yup/lib/array").RequiredArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/services/server/routing.ts"],"names":[],"mappings":";;AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AA0D1C,QAAA,MAAM,mBAAmB,gBAAiB,KAAK,UAAU;;;;;;;;;;;;;;;;;;;;;cAYxD,CAAC;AAEF,QAAA,MAAM,kBAAkB,WAAY,KAAK,MAAM,SAAQ;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;wBAmB3C,WAAW,GAAG,KAAK,UAAU,EAAE,UAAU,MAAM;CAkB3E,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/services/server/routing.ts"],"names":[],"mappings":";;AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAkE1C,QAAA,MAAM,mBAAmB,gBAAiB,KAAK,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAYxD,CAAC;AAEF,QAAA,MAAM,kBAAkB,WAAY,KAAK,MAAM,SAAQ;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;wBAmB3C,WAAW,GAAG,KAAK,UAAU,EAAE,UAAU,MAAM;CAkB3E,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,91 +1,110 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Router = require("@koa/router");
4
- const fp = require("lodash/fp");
5
- const strapiUtils = require("@strapi/utils");
6
- const composeEndpoint = require("./compose-endpoint.js");
7
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
8
- const Router__default = /* @__PURE__ */ _interopDefault(Router);
9
- const policyOrMiddlewareSchema = strapiUtils.yup.lazy((value) => {
10
- if (typeof value === "string") {
11
- return strapiUtils.yup.string().required();
12
- }
13
- if (typeof value === "function") {
14
- return strapiUtils.yup.mixed().isFunction();
15
- }
16
- return strapiUtils.yup.object({
17
- name: strapiUtils.yup.string().required(),
18
- options: strapiUtils.yup.object().notRequired()
19
- // any options
20
- });
21
- });
22
- const routeSchema = strapiUtils.yup.object({
23
- method: strapiUtils.yup.string().oneOf(["GET", "POST", "PUT", "PATCH", "DELETE", "ALL"]).required(),
24
- path: strapiUtils.yup.string().required(),
25
- handler: strapiUtils.yup.lazy((value) => {
26
- if (typeof value === "string") {
27
- return strapiUtils.yup.string().required();
1
+ 'use strict';
2
+
3
+ var Router = require('@koa/router');
4
+ var fp = require('lodash/fp');
5
+ var strapiUtils = require('@strapi/utils');
6
+ var composeEndpoint = require('./compose-endpoint.js');
7
+
8
+ const policyOrMiddlewareSchema = strapiUtils.yup.lazy((value)=>{
9
+ if (typeof value === 'string') {
10
+ return strapiUtils.yup.string().required();
28
11
  }
29
- if (Array.isArray(value)) {
30
- return strapiUtils.yup.array().required();
12
+ if (typeof value === 'function') {
13
+ return strapiUtils.yup.mixed().isFunction();
31
14
  }
32
- return strapiUtils.yup.mixed().isFunction().required();
33
- }),
34
- config: strapiUtils.yup.object({
35
- auth: strapiUtils.yup.lazy((value) => {
36
- if (value === false) {
37
- return strapiUtils.yup.boolean().required();
38
- }
39
- return strapiUtils.yup.object({
40
- scope: strapiUtils.yup.array().of(strapiUtils.yup.string()).required()
41
- });
15
+ return strapiUtils.yup.object({
16
+ name: strapiUtils.yup.string().required(),
17
+ options: strapiUtils.yup.object().notRequired()
18
+ });
19
+ });
20
+ const routeSchema = strapiUtils.yup.object({
21
+ method: strapiUtils.yup.string().oneOf([
22
+ 'GET',
23
+ 'POST',
24
+ 'PUT',
25
+ 'PATCH',
26
+ 'DELETE',
27
+ 'ALL'
28
+ ]).required(),
29
+ path: strapiUtils.yup.string().required(),
30
+ handler: strapiUtils.yup.lazy((value)=>{
31
+ if (typeof value === 'string') {
32
+ return strapiUtils.yup.string().required();
33
+ }
34
+ if (Array.isArray(value)) {
35
+ return strapiUtils.yup.array().required();
36
+ }
37
+ return strapiUtils.yup.mixed().isFunction().required();
42
38
  }),
43
- policies: strapiUtils.yup.array().of(policyOrMiddlewareSchema).notRequired(),
44
- middlewares: strapiUtils.yup.array().of(policyOrMiddlewareSchema).notRequired()
45
- }).notRequired()
39
+ request: strapiUtils.yup.object({
40
+ params: strapiUtils.yup.object().notRequired(),
41
+ query: strapiUtils.yup.object().notRequired(),
42
+ body: strapiUtils.yup.object().notRequired()
43
+ }).notRequired(),
44
+ response: strapiUtils.yup.object().notRequired(),
45
+ config: strapiUtils.yup.object({
46
+ auth: strapiUtils.yup.lazy((value)=>{
47
+ if (value === false) {
48
+ return strapiUtils.yup.boolean().required();
49
+ }
50
+ return strapiUtils.yup.object({
51
+ scope: strapiUtils.yup.array().of(strapiUtils.yup.string()).required()
52
+ });
53
+ }),
54
+ policies: strapiUtils.yup.array()// FIXME: fixed in yup v1
55
+ .of(policyOrMiddlewareSchema).notRequired(),
56
+ middlewares: strapiUtils.yup.array()// FIXME: fixed in yup v1
57
+ .of(policyOrMiddlewareSchema).notRequired()
58
+ }).notRequired()
46
59
  });
47
- const validateRouteConfig = (routeConfig) => {
48
- try {
49
- return routeSchema.validateSync(routeConfig, {
50
- strict: true,
51
- abortEarly: false,
52
- stripUnknown: true
53
- });
54
- } catch (error) {
55
- if (error instanceof strapiUtils.yup.ValidationError) {
56
- throw new Error(`Invalid route config ${error.message}`);
60
+ const validateRouteConfig = (routeConfig)=>{
61
+ try {
62
+ return routeSchema.validateSync(routeConfig, {
63
+ strict: true,
64
+ abortEarly: false,
65
+ stripUnknown: true
66
+ });
67
+ } catch (error) {
68
+ if (error instanceof strapiUtils.yup.ValidationError) {
69
+ throw new Error(`Invalid route config ${error.message}`);
70
+ }
57
71
  }
58
- }
59
72
  };
60
- const createRouteManager = (strapi, opts = {}) => {
61
- const { type } = opts;
62
- const composeEndpoint$1 = composeEndpoint(strapi);
63
- const createRoute = (route, router) => {
64
- validateRouteConfig(route);
65
- const routeWithInfo = Object.assign(route, {
66
- info: {
67
- ...route.info ?? {},
68
- type: type || "api"
69
- }
70
- });
71
- composeEndpoint$1(routeWithInfo, { router });
72
- };
73
- const addRoutes = (routes, router) => {
74
- if (Array.isArray(routes)) {
75
- routes.forEach((route) => createRoute(route, router));
76
- } else if (routes.routes) {
77
- const subRouter = new Router__default.default({ prefix: routes.prefix });
78
- routes.routes.forEach((route) => {
79
- const hasPrefix = fp.has("prefix", route.config);
80
- createRoute(route, hasPrefix ? router : subRouter);
81
- });
82
- return router.use(subRouter.routes(), subRouter.allowedMethods());
83
- }
84
- };
85
- return {
86
- addRoutes
87
- };
73
+ const createRouteManager = (strapi, opts = {})=>{
74
+ const { type } = opts;
75
+ const composeEndpoint$1 = composeEndpoint(strapi);
76
+ const createRoute = (route, router)=>{
77
+ validateRouteConfig(route);
78
+ // NOTE: the router type is used to tag controller actions and for authentication / authorization so we need to pass this info down to the route level
79
+ const routeWithInfo = Object.assign(route, {
80
+ info: {
81
+ ...route.info ?? {},
82
+ type: type ?? 'api'
83
+ }
84
+ });
85
+ composeEndpoint$1(routeWithInfo, {
86
+ router
87
+ });
88
+ };
89
+ const addRoutes = (routes, router)=>{
90
+ if (Array.isArray(routes)) {
91
+ routes.forEach((route)=>createRoute(route, router));
92
+ } else if (routes.routes) {
93
+ const subRouter = new Router({
94
+ prefix: routes.prefix
95
+ });
96
+ routes.routes.forEach((route)=>{
97
+ const hasPrefix = fp.has('prefix', route.config);
98
+ createRoute(route, hasPrefix ? router : subRouter);
99
+ });
100
+ return router.use(subRouter.routes(), subRouter.allowedMethods());
101
+ }
102
+ };
103
+ return {
104
+ addRoutes
105
+ };
88
106
  };
107
+
89
108
  exports.createRouteManager = createRouteManager;
90
109
  exports.validateRouteConfig = validateRouteConfig;
91
110
  //# sourceMappingURL=routing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sources":["../../../src/services/server/routing.ts"],"sourcesContent":["import Router from '@koa/router';\nimport { has } from 'lodash/fp';\nimport { yup } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport createEndpointComposer from './compose-endpoint';\n\nconst policyOrMiddlewareSchema = yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (typeof value === 'function') {\n return yup.mixed().isFunction();\n }\n\n return yup.object({\n name: yup.string().required(),\n options: yup.object().notRequired(), // any options\n });\n});\n\nconst routeSchema = yup.object({\n method: yup.string().oneOf(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'ALL']).required(),\n path: yup.string().required(),\n handler: yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (Array.isArray(value)) {\n return yup.array().required();\n }\n\n return yup.mixed().isFunction().required();\n }),\n config: yup\n .object({\n auth: yup.lazy((value) => {\n if (value === false) {\n return yup.boolean().required();\n }\n\n return yup.object({\n scope: yup.array().of(yup.string()).required(),\n });\n }),\n policies: yup\n .array()\n // FIXME: fixed in yup v1\n .of(policyOrMiddlewareSchema as any)\n .notRequired(),\n middlewares: yup\n .array()\n // FIXME: fixed in yup v1\n .of(policyOrMiddlewareSchema as any)\n .notRequired(),\n })\n .notRequired(),\n});\n\nconst validateRouteConfig = (routeConfig: Core.RouteInput) => {\n try {\n return routeSchema.validateSync(routeConfig, {\n strict: true,\n abortEarly: false,\n stripUnknown: true,\n });\n } catch (error) {\n if (error instanceof yup.ValidationError) {\n throw new Error(`Invalid route config ${error.message}`);\n }\n }\n};\n\nconst createRouteManager = (strapi: Core.Strapi, opts: { type?: string } = {}) => {\n const { type } = opts;\n\n const composeEndpoint = createEndpointComposer(strapi);\n\n const createRoute = (route: Core.RouteInput, router: Router) => {\n validateRouteConfig(route);\n\n // NOTE: the router type is used to tag controller actions and for authentication / authorization so we need to pass this info down to the route level\n const routeWithInfo = Object.assign(route, {\n info: {\n ...(route.info ?? {}),\n type: type || 'api',\n },\n });\n\n composeEndpoint(routeWithInfo, { router });\n };\n\n const addRoutes = (routes: Core.Router | Core.RouteInput[], router: Router) => {\n if (Array.isArray(routes)) {\n routes.forEach((route) => createRoute(route, router));\n } else if (routes.routes) {\n const subRouter = new Router({ prefix: routes.prefix });\n\n routes.routes.forEach((route) => {\n const hasPrefix = has('prefix', route.config);\n createRoute(route, hasPrefix ? router : subRouter);\n });\n\n return router.use(subRouter.routes(), subRouter.allowedMethods());\n }\n };\n\n return {\n addRoutes,\n };\n};\n\nexport { validateRouteConfig, createRouteManager };\n"],"names":["yup","composeEndpoint","createEndpointComposer","Router","has"],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sources":["../../../src/services/server/routing.ts"],"sourcesContent":["import Router from '@koa/router';\nimport { has } from 'lodash/fp';\nimport { yup } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport createEndpointComposer from './compose-endpoint';\n\nconst policyOrMiddlewareSchema = yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (typeof value === 'function') {\n return yup.mixed().isFunction();\n }\n\n return yup.object({\n name: yup.string().required(),\n options: yup.object().notRequired(), // any options\n });\n});\n\nconst routeSchema = yup.object({\n method: yup.string().oneOf(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'ALL']).required(),\n path: yup.string().required(),\n handler: yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (Array.isArray(value)) {\n return yup.array().required();\n }\n\n return yup.mixed().isFunction().required();\n }),\n request: yup\n .object({\n params: yup.object().notRequired(),\n query: yup.object().notRequired(),\n body: yup.object().notRequired(),\n })\n .notRequired(),\n response: yup.object().notRequired(),\n config: yup\n .object({\n auth: yup.lazy((value) => {\n if (value === false) {\n return yup.boolean().required();\n }\n\n return yup.object({\n scope: yup.array().of(yup.string()).required(),\n });\n }),\n policies: yup\n .array()\n // FIXME: fixed in yup v1\n .of(policyOrMiddlewareSchema as any)\n .notRequired(),\n middlewares: yup\n .array()\n // FIXME: fixed in yup v1\n .of(policyOrMiddlewareSchema as any)\n .notRequired(),\n })\n .notRequired(),\n});\n\nconst validateRouteConfig = (routeConfig: Core.RouteInput) => {\n try {\n return routeSchema.validateSync(routeConfig, {\n strict: true,\n abortEarly: false,\n stripUnknown: true,\n });\n } catch (error) {\n if (error instanceof yup.ValidationError) {\n throw new Error(`Invalid route config ${error.message}`);\n }\n }\n};\n\nconst createRouteManager = (strapi: Core.Strapi, opts: { type?: string } = {}) => {\n const { type } = opts;\n\n const composeEndpoint = createEndpointComposer(strapi);\n\n const createRoute = (route: Core.RouteInput, router: Router) => {\n validateRouteConfig(route);\n\n // NOTE: the router type is used to tag controller actions and for authentication / authorization so we need to pass this info down to the route level\n const routeWithInfo = Object.assign(route, {\n info: {\n ...(route.info ?? {}),\n type: type ?? 'api',\n },\n });\n\n composeEndpoint(routeWithInfo, { router });\n };\n\n const addRoutes = (routes: Core.Router | Core.RouteInput[], router: Router) => {\n if (Array.isArray(routes)) {\n routes.forEach((route) => createRoute(route, router));\n } else if (routes.routes) {\n const subRouter = new Router({ prefix: routes.prefix });\n\n routes.routes.forEach((route) => {\n const hasPrefix = has('prefix', route.config);\n createRoute(route, hasPrefix ? router : subRouter);\n });\n\n return router.use(subRouter.routes(), subRouter.allowedMethods());\n }\n };\n\n return {\n addRoutes,\n };\n};\n\nexport { validateRouteConfig, createRouteManager };\n"],"names":["policyOrMiddlewareSchema","yup","lazy","value","string","required","mixed","isFunction","object","name","options","notRequired","routeSchema","method","oneOf","path","handler","Array","isArray","array","request","params","query","body","response","config","auth","boolean","scope","of","policies","middlewares","validateRouteConfig","routeConfig","validateSync","strict","abortEarly","stripUnknown","error","ValidationError","Error","message","createRouteManager","strapi","opts","type","composeEndpoint","createEndpointComposer","createRoute","route","router","routeWithInfo","Object","assign","info","addRoutes","routes","forEach","subRouter","Router","prefix","hasPrefix","has","use","allowedMethods"],"mappings":"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"}
@@ -1,89 +1,107 @@
1
- import Router from "@koa/router";
2
- import { has } from "lodash/fp";
3
- import { yup } from "@strapi/utils";
4
- import createEndpointComposer from "./compose-endpoint.mjs";
5
- const policyOrMiddlewareSchema = yup.lazy((value) => {
6
- if (typeof value === "string") {
7
- return yup.string().required();
8
- }
9
- if (typeof value === "function") {
10
- return yup.mixed().isFunction();
11
- }
12
- return yup.object({
13
- name: yup.string().required(),
14
- options: yup.object().notRequired()
15
- // any options
16
- });
17
- });
18
- const routeSchema = yup.object({
19
- method: yup.string().oneOf(["GET", "POST", "PUT", "PATCH", "DELETE", "ALL"]).required(),
20
- path: yup.string().required(),
21
- handler: yup.lazy((value) => {
22
- if (typeof value === "string") {
23
- return yup.string().required();
1
+ import Router from '@koa/router';
2
+ import { has } from 'lodash/fp';
3
+ import { yup } from '@strapi/utils';
4
+ import createEndpointComposer from './compose-endpoint.mjs';
5
+
6
+ const policyOrMiddlewareSchema = yup.lazy((value)=>{
7
+ if (typeof value === 'string') {
8
+ return yup.string().required();
24
9
  }
25
- if (Array.isArray(value)) {
26
- return yup.array().required();
10
+ if (typeof value === 'function') {
11
+ return yup.mixed().isFunction();
27
12
  }
28
- return yup.mixed().isFunction().required();
29
- }),
30
- config: yup.object({
31
- auth: yup.lazy((value) => {
32
- if (value === false) {
33
- return yup.boolean().required();
34
- }
35
- return yup.object({
36
- scope: yup.array().of(yup.string()).required()
37
- });
13
+ return yup.object({
14
+ name: yup.string().required(),
15
+ options: yup.object().notRequired()
16
+ });
17
+ });
18
+ const routeSchema = yup.object({
19
+ method: yup.string().oneOf([
20
+ 'GET',
21
+ 'POST',
22
+ 'PUT',
23
+ 'PATCH',
24
+ 'DELETE',
25
+ 'ALL'
26
+ ]).required(),
27
+ path: yup.string().required(),
28
+ handler: yup.lazy((value)=>{
29
+ if (typeof value === 'string') {
30
+ return yup.string().required();
31
+ }
32
+ if (Array.isArray(value)) {
33
+ return yup.array().required();
34
+ }
35
+ return yup.mixed().isFunction().required();
38
36
  }),
39
- policies: yup.array().of(policyOrMiddlewareSchema).notRequired(),
40
- middlewares: yup.array().of(policyOrMiddlewareSchema).notRequired()
41
- }).notRequired()
37
+ request: yup.object({
38
+ params: yup.object().notRequired(),
39
+ query: yup.object().notRequired(),
40
+ body: yup.object().notRequired()
41
+ }).notRequired(),
42
+ response: yup.object().notRequired(),
43
+ config: yup.object({
44
+ auth: yup.lazy((value)=>{
45
+ if (value === false) {
46
+ return yup.boolean().required();
47
+ }
48
+ return yup.object({
49
+ scope: yup.array().of(yup.string()).required()
50
+ });
51
+ }),
52
+ policies: yup.array()// FIXME: fixed in yup v1
53
+ .of(policyOrMiddlewareSchema).notRequired(),
54
+ middlewares: yup.array()// FIXME: fixed in yup v1
55
+ .of(policyOrMiddlewareSchema).notRequired()
56
+ }).notRequired()
42
57
  });
43
- const validateRouteConfig = (routeConfig) => {
44
- try {
45
- return routeSchema.validateSync(routeConfig, {
46
- strict: true,
47
- abortEarly: false,
48
- stripUnknown: true
49
- });
50
- } catch (error) {
51
- if (error instanceof yup.ValidationError) {
52
- throw new Error(`Invalid route config ${error.message}`);
53
- }
54
- }
55
- };
56
- const createRouteManager = (strapi, opts = {}) => {
57
- const { type } = opts;
58
- const composeEndpoint = createEndpointComposer(strapi);
59
- const createRoute = (route, router) => {
60
- validateRouteConfig(route);
61
- const routeWithInfo = Object.assign(route, {
62
- info: {
63
- ...route.info ?? {},
64
- type: type || "api"
65
- }
66
- });
67
- composeEndpoint(routeWithInfo, { router });
68
- };
69
- const addRoutes = (routes, router) => {
70
- if (Array.isArray(routes)) {
71
- routes.forEach((route) => createRoute(route, router));
72
- } else if (routes.routes) {
73
- const subRouter = new Router({ prefix: routes.prefix });
74
- routes.routes.forEach((route) => {
75
- const hasPrefix = has("prefix", route.config);
76
- createRoute(route, hasPrefix ? router : subRouter);
77
- });
78
- return router.use(subRouter.routes(), subRouter.allowedMethods());
58
+ const validateRouteConfig = (routeConfig)=>{
59
+ try {
60
+ return routeSchema.validateSync(routeConfig, {
61
+ strict: true,
62
+ abortEarly: false,
63
+ stripUnknown: true
64
+ });
65
+ } catch (error) {
66
+ if (error instanceof yup.ValidationError) {
67
+ throw new Error(`Invalid route config ${error.message}`);
68
+ }
79
69
  }
80
- };
81
- return {
82
- addRoutes
83
- };
84
70
  };
85
- export {
86
- createRouteManager,
87
- validateRouteConfig
71
+ const createRouteManager = (strapi, opts = {})=>{
72
+ const { type } = opts;
73
+ const composeEndpoint = createEndpointComposer(strapi);
74
+ const createRoute = (route, router)=>{
75
+ validateRouteConfig(route);
76
+ // NOTE: the router type is used to tag controller actions and for authentication / authorization so we need to pass this info down to the route level
77
+ const routeWithInfo = Object.assign(route, {
78
+ info: {
79
+ ...route.info ?? {},
80
+ type: type ?? 'api'
81
+ }
82
+ });
83
+ composeEndpoint(routeWithInfo, {
84
+ router
85
+ });
86
+ };
87
+ const addRoutes = (routes, router)=>{
88
+ if (Array.isArray(routes)) {
89
+ routes.forEach((route)=>createRoute(route, router));
90
+ } else if (routes.routes) {
91
+ const subRouter = new Router({
92
+ prefix: routes.prefix
93
+ });
94
+ routes.routes.forEach((route)=>{
95
+ const hasPrefix = has('prefix', route.config);
96
+ createRoute(route, hasPrefix ? router : subRouter);
97
+ });
98
+ return router.use(subRouter.routes(), subRouter.allowedMethods());
99
+ }
100
+ };
101
+ return {
102
+ addRoutes
103
+ };
88
104
  };
105
+
106
+ export { createRouteManager, validateRouteConfig };
89
107
  //# sourceMappingURL=routing.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.mjs","sources":["../../../src/services/server/routing.ts"],"sourcesContent":["import Router from '@koa/router';\nimport { has } from 'lodash/fp';\nimport { yup } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport createEndpointComposer from './compose-endpoint';\n\nconst policyOrMiddlewareSchema = yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (typeof value === 'function') {\n return yup.mixed().isFunction();\n }\n\n return yup.object({\n name: yup.string().required(),\n options: yup.object().notRequired(), // any options\n });\n});\n\nconst routeSchema = yup.object({\n method: yup.string().oneOf(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'ALL']).required(),\n path: yup.string().required(),\n handler: yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (Array.isArray(value)) {\n return yup.array().required();\n }\n\n return yup.mixed().isFunction().required();\n }),\n config: yup\n .object({\n auth: yup.lazy((value) => {\n if (value === false) {\n return yup.boolean().required();\n }\n\n return yup.object({\n scope: yup.array().of(yup.string()).required(),\n });\n }),\n policies: yup\n .array()\n // FIXME: fixed in yup v1\n .of(policyOrMiddlewareSchema as any)\n .notRequired(),\n middlewares: yup\n .array()\n // FIXME: fixed in yup v1\n .of(policyOrMiddlewareSchema as any)\n .notRequired(),\n })\n .notRequired(),\n});\n\nconst validateRouteConfig = (routeConfig: Core.RouteInput) => {\n try {\n return routeSchema.validateSync(routeConfig, {\n strict: true,\n abortEarly: false,\n stripUnknown: true,\n });\n } catch (error) {\n if (error instanceof yup.ValidationError) {\n throw new Error(`Invalid route config ${error.message}`);\n }\n }\n};\n\nconst createRouteManager = (strapi: Core.Strapi, opts: { type?: string } = {}) => {\n const { type } = opts;\n\n const composeEndpoint = createEndpointComposer(strapi);\n\n const createRoute = (route: Core.RouteInput, router: Router) => {\n validateRouteConfig(route);\n\n // NOTE: the router type is used to tag controller actions and for authentication / authorization so we need to pass this info down to the route level\n const routeWithInfo = Object.assign(route, {\n info: {\n ...(route.info ?? {}),\n type: type || 'api',\n },\n });\n\n composeEndpoint(routeWithInfo, { router });\n };\n\n const addRoutes = (routes: Core.Router | Core.RouteInput[], router: Router) => {\n if (Array.isArray(routes)) {\n routes.forEach((route) => createRoute(route, router));\n } else if (routes.routes) {\n const subRouter = new Router({ prefix: routes.prefix });\n\n routes.routes.forEach((route) => {\n const hasPrefix = has('prefix', route.config);\n createRoute(route, hasPrefix ? router : subRouter);\n });\n\n return router.use(subRouter.routes(), subRouter.allowedMethods());\n }\n };\n\n return {\n addRoutes,\n };\n};\n\nexport { validateRouteConfig, createRouteManager };\n"],"names":[],"mappings":";;;;AAOA,MAAM,2BAA2B,IAAI,KAAK,CAAC,UAAU;AAC/C,MAAA,OAAO,UAAU,UAAU;AACtB,WAAA,IAAI,SAAS;EACtB;AAEI,MAAA,OAAO,UAAU,YAAY;AACxB,WAAA,IAAI,QAAQ;EACrB;AAEA,SAAO,IAAI,OAAO;AAAA,IAChB,MAAM,IAAI,OAAO,EAAE,SAAS;AAAA,IAC5B,SAAS,IAAI,OAAO,EAAE,YAAY;AAAA;AAAA,EAAA,CACnC;AACH,CAAC;AAED,MAAM,cAAc,IAAI,OAAO;AAAA,EAC7B,QAAQ,IAAI,SAAS,MAAM,CAAC,OAAO,QAAQ,OAAO,SAAS,UAAU,KAAK,CAAC,EAAE,SAAS;AAAA,EACtF,MAAM,IAAI,OAAO,EAAE,SAAS;AAAA,EAC5B,SAAS,IAAI,KAAK,CAAC,UAAU;AACvB,QAAA,OAAO,UAAU,UAAU;AACtB,aAAA,IAAI,SAAS;IACtB;AAEI,QAAA,MAAM,QAAQ,KAAK,GAAG;AACjB,aAAA,IAAI,QAAQ;IACrB;AAEA,WAAO,IAAI,MAAA,EAAQ,aAAa,SAAS;AAAA,EAAA,CAC1C;AAAA,EACD,QAAQ,IACL,OAAO;AAAA,IACN,MAAM,IAAI,KAAK,CAAC,UAAU;AACxB,UAAI,UAAU,OAAO;AACZ,eAAA,IAAI,UAAU;MACvB;AAEA,aAAO,IAAI,OAAO;AAAA,QAChB,OAAO,IAAI,QAAQ,GAAG,IAAI,OAAA,CAAQ,EAAE,SAAS;AAAA,MAAA,CAC9C;AAAA,IAAA,CACF;AAAA,IACD,UAAU,IACP,MAAA,EAEA,GAAG,wBAA+B,EAClC,YAAY;AAAA,IACf,aAAa,IACV,MAAA,EAEA,GAAG,wBAA+B,EAClC,YAAY;AAAA,EAChB,CAAA,EACA,YAAY;AACjB,CAAC;AAEK,MAAA,sBAAsB,CAAC,gBAAiC;AACxD,MAAA;AACK,WAAA,YAAY,aAAa,aAAa;AAAA,MAC3C,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,cAAc;AAAA,IAAA,CACf;AAAA,WACM,OAAO;AACV,QAAA,iBAAiB,IAAI,iBAAiB;AACxC,YAAM,IAAI,MAAM,wBAAwB,MAAM,OAAO,EAAE;AAAA,IACzD;AAAA,EACF;AACF;AAEA,MAAM,qBAAqB,CAAC,QAAqB,OAA0B,OAAO;AAC1E,QAAA,EAAE,KAAS,IAAA;AAEX,QAAA,kBAAkB,uBAAuB,MAAM;AAE/C,QAAA,cAAc,CAAC,OAAwB,WAAmB;AAC9D,wBAAoB,KAAK;AAGnB,UAAA,gBAAgB,OAAO,OAAO,OAAO;AAAA,MACzC,MAAM;AAAA,QACJ,GAAI,MAAM,QAAQ,CAAC;AAAA,QACnB,MAAM,QAAQ;AAAA,MAChB;AAAA,IAAA,CACD;AAEe,oBAAA,eAAe,EAAE,OAAA,CAAQ;AAAA,EAAA;AAGrC,QAAA,YAAY,CAAC,QAAyC,WAAmB;AACzE,QAAA,MAAM,QAAQ,MAAM,GAAG;AACzB,aAAO,QAAQ,CAAC,UAAU,YAAY,OAAO,MAAM,CAAC;AAAA,IAAA,WAC3C,OAAO,QAAQ;AACxB,YAAM,YAAY,IAAI,OAAO,EAAE,QAAQ,OAAO,QAAQ;AAE/C,aAAA,OAAO,QAAQ,CAAC,UAAU;AAC/B,cAAM,YAAY,IAAI,UAAU,MAAM,MAAM;AAChC,oBAAA,OAAO,YAAY,SAAS,SAAS;AAAA,MAAA,CAClD;AAED,aAAO,OAAO,IAAI,UAAU,UAAU,UAAU,gBAAgB;AAAA,IAClE;AAAA,EAAA;AAGK,SAAA;AAAA,IACL;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"routing.mjs","sources":["../../../src/services/server/routing.ts"],"sourcesContent":["import Router from '@koa/router';\nimport { has } from 'lodash/fp';\nimport { yup } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport createEndpointComposer from './compose-endpoint';\n\nconst policyOrMiddlewareSchema = yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (typeof value === 'function') {\n return yup.mixed().isFunction();\n }\n\n return yup.object({\n name: yup.string().required(),\n options: yup.object().notRequired(), // any options\n });\n});\n\nconst routeSchema = yup.object({\n method: yup.string().oneOf(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'ALL']).required(),\n path: yup.string().required(),\n handler: yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (Array.isArray(value)) {\n return yup.array().required();\n }\n\n return yup.mixed().isFunction().required();\n }),\n request: yup\n .object({\n params: yup.object().notRequired(),\n query: yup.object().notRequired(),\n body: yup.object().notRequired(),\n })\n .notRequired(),\n response: yup.object().notRequired(),\n config: yup\n .object({\n auth: yup.lazy((value) => {\n if (value === false) {\n return yup.boolean().required();\n }\n\n return yup.object({\n scope: yup.array().of(yup.string()).required(),\n });\n }),\n policies: yup\n .array()\n // FIXME: fixed in yup v1\n .of(policyOrMiddlewareSchema as any)\n .notRequired(),\n middlewares: yup\n .array()\n // FIXME: fixed in yup v1\n .of(policyOrMiddlewareSchema as any)\n .notRequired(),\n })\n .notRequired(),\n});\n\nconst validateRouteConfig = (routeConfig: Core.RouteInput) => {\n try {\n return routeSchema.validateSync(routeConfig, {\n strict: true,\n abortEarly: false,\n stripUnknown: true,\n });\n } catch (error) {\n if (error instanceof yup.ValidationError) {\n throw new Error(`Invalid route config ${error.message}`);\n }\n }\n};\n\nconst createRouteManager = (strapi: Core.Strapi, opts: { type?: string } = {}) => {\n const { type } = opts;\n\n const composeEndpoint = createEndpointComposer(strapi);\n\n const createRoute = (route: Core.RouteInput, router: Router) => {\n validateRouteConfig(route);\n\n // NOTE: the router type is used to tag controller actions and for authentication / authorization so we need to pass this info down to the route level\n const routeWithInfo = Object.assign(route, {\n info: {\n ...(route.info ?? {}),\n type: type ?? 'api',\n },\n });\n\n composeEndpoint(routeWithInfo, { router });\n };\n\n const addRoutes = (routes: Core.Router | Core.RouteInput[], router: Router) => {\n if (Array.isArray(routes)) {\n routes.forEach((route) => createRoute(route, router));\n } else if (routes.routes) {\n const subRouter = new Router({ prefix: routes.prefix });\n\n routes.routes.forEach((route) => {\n const hasPrefix = has('prefix', route.config);\n createRoute(route, hasPrefix ? router : subRouter);\n });\n\n return router.use(subRouter.routes(), subRouter.allowedMethods());\n }\n };\n\n return {\n addRoutes,\n };\n};\n\nexport { validateRouteConfig, createRouteManager };\n"],"names":["policyOrMiddlewareSchema","yup","lazy","value","string","required","mixed","isFunction","object","name","options","notRequired","routeSchema","method","oneOf","path","handler","Array","isArray","array","request","params","query","body","response","config","auth","boolean","scope","of","policies","middlewares","validateRouteConfig","routeConfig","validateSync","strict","abortEarly","stripUnknown","error","ValidationError","Error","message","createRouteManager","strapi","opts","type","composeEndpoint","createEndpointComposer","createRoute","route","router","routeWithInfo","Object","assign","info","addRoutes","routes","forEach","subRouter","Router","prefix","hasPrefix","has","use","allowedMethods"],"mappings":"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"}