@strapi/core 0.0.0-next.c3eb27c3a05a30387b6b44e15d3661201d54787d → 0.0.0-next.c72b48da735f44a3ccafb7a6dc9ba5213f3844db

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (706) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +427 -403
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +426 -402
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/compile.js +23 -14
  7. package/dist/compile.js.map +1 -1
  8. package/dist/compile.mjs +22 -14
  9. package/dist/compile.mjs.map +1 -1
  10. package/dist/configuration/config-loader.js +110 -97
  11. package/dist/configuration/config-loader.js.map +1 -1
  12. package/dist/configuration/config-loader.mjs +109 -96
  13. package/dist/configuration/config-loader.mjs.map +1 -1
  14. package/dist/configuration/get-dirs.js +31 -29
  15. package/dist/configuration/get-dirs.js.map +1 -1
  16. package/dist/configuration/get-dirs.mjs +30 -30
  17. package/dist/configuration/get-dirs.mjs.map +1 -1
  18. package/dist/configuration/index.d.ts +1 -0
  19. package/dist/configuration/index.d.ts.map +1 -1
  20. package/dist/configuration/index.js +85 -73
  21. package/dist/configuration/index.js.map +1 -1
  22. package/dist/configuration/index.mjs +84 -69
  23. package/dist/configuration/index.mjs.map +1 -1
  24. package/dist/configuration/urls.d.ts.map +1 -1
  25. package/dist/configuration/urls.js +74 -61
  26. package/dist/configuration/urls.js.map +1 -1
  27. package/dist/configuration/urls.mjs +73 -62
  28. package/dist/configuration/urls.mjs.map +1 -1
  29. package/dist/container.js +27 -23
  30. package/dist/container.js.map +1 -1
  31. package/dist/container.mjs +26 -24
  32. package/dist/container.mjs.map +1 -1
  33. package/dist/core-api/controller/collection-type.js +77 -76
  34. package/dist/core-api/controller/collection-type.js.map +1 -1
  35. package/dist/core-api/controller/collection-type.mjs +76 -77
  36. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  37. package/dist/core-api/controller/index.js +63 -48
  38. package/dist/core-api/controller/index.js.map +1 -1
  39. package/dist/core-api/controller/index.mjs +62 -49
  40. package/dist/core-api/controller/index.mjs.map +1 -1
  41. package/dist/core-api/controller/single-type.js +41 -40
  42. package/dist/core-api/controller/single-type.js.map +1 -1
  43. package/dist/core-api/controller/single-type.mjs +40 -41
  44. package/dist/core-api/controller/single-type.mjs.map +1 -1
  45. package/dist/core-api/controller/transform.js +72 -63
  46. package/dist/core-api/controller/transform.js.map +1 -1
  47. package/dist/core-api/controller/transform.mjs +71 -64
  48. package/dist/core-api/controller/transform.mjs.map +1 -1
  49. package/dist/core-api/routes/index.js +64 -62
  50. package/dist/core-api/routes/index.js.map +1 -1
  51. package/dist/core-api/routes/index.mjs +62 -62
  52. package/dist/core-api/routes/index.mjs.map +1 -1
  53. package/dist/core-api/service/collection-type.js +73 -60
  54. package/dist/core-api/service/collection-type.js.map +1 -1
  55. package/dist/core-api/service/collection-type.mjs +72 -62
  56. package/dist/core-api/service/collection-type.mjs.map +1 -1
  57. package/dist/core-api/service/core-service.js +9 -8
  58. package/dist/core-api/service/core-service.js.map +1 -1
  59. package/dist/core-api/service/core-service.mjs +8 -9
  60. package/dist/core-api/service/core-service.mjs.map +1 -1
  61. package/dist/core-api/service/index.js +13 -13
  62. package/dist/core-api/service/index.js.map +1 -1
  63. package/dist/core-api/service/index.mjs +12 -14
  64. package/dist/core-api/service/index.mjs.map +1 -1
  65. package/dist/core-api/service/pagination.js +69 -43
  66. package/dist/core-api/service/pagination.js.map +1 -1
  67. package/dist/core-api/service/pagination.mjs +68 -47
  68. package/dist/core-api/service/pagination.mjs.map +1 -1
  69. package/dist/core-api/service/single-type.js +43 -39
  70. package/dist/core-api/service/single-type.js.map +1 -1
  71. package/dist/core-api/service/single-type.mjs +42 -41
  72. package/dist/core-api/service/single-type.mjs.map +1 -1
  73. package/dist/domain/content-type/index.js +95 -100
  74. package/dist/domain/content-type/index.js.map +1 -1
  75. package/dist/domain/content-type/index.mjs +94 -100
  76. package/dist/domain/content-type/index.mjs.map +1 -1
  77. package/dist/domain/content-type/validator.js +84 -69
  78. package/dist/domain/content-type/validator.js.map +1 -1
  79. package/dist/domain/content-type/validator.mjs +83 -68
  80. package/dist/domain/content-type/validator.mjs.map +1 -1
  81. package/dist/domain/module/index.js +109 -100
  82. package/dist/domain/module/index.js.map +1 -1
  83. package/dist/domain/module/index.mjs +108 -99
  84. package/dist/domain/module/index.mjs.map +1 -1
  85. package/dist/domain/module/validation.js +25 -20
  86. package/dist/domain/module/validation.js.map +1 -1
  87. package/dist/domain/module/validation.mjs +24 -21
  88. package/dist/domain/module/validation.mjs.map +1 -1
  89. package/dist/ee/index.d.ts +1 -0
  90. package/dist/ee/index.d.ts.map +1 -1
  91. package/dist/ee/index.js +171 -137
  92. package/dist/ee/index.js.map +1 -1
  93. package/dist/ee/index.mjs +170 -139
  94. package/dist/ee/index.mjs.map +1 -1
  95. package/dist/ee/license.d.ts.map +1 -1
  96. package/dist/ee/license.js +100 -75
  97. package/dist/ee/license.js.map +1 -1
  98. package/dist/ee/license.mjs +99 -76
  99. package/dist/ee/license.mjs.map +1 -1
  100. package/dist/factories.js +72 -67
  101. package/dist/factories.js.map +1 -1
  102. package/dist/factories.mjs +71 -71
  103. package/dist/factories.mjs.map +1 -1
  104. package/dist/index.js +29 -26
  105. package/dist/index.js.map +1 -1
  106. package/dist/index.mjs +29 -29
  107. package/dist/index.mjs.map +1 -1
  108. package/dist/loaders/admin.d.ts.map +1 -1
  109. package/dist/loaders/admin.js +21 -20
  110. package/dist/loaders/admin.js.map +1 -1
  111. package/dist/loaders/admin.mjs +20 -20
  112. package/dist/loaders/admin.mjs.map +1 -1
  113. package/dist/loaders/apis.js +143 -120
  114. package/dist/loaders/apis.js.map +1 -1
  115. package/dist/loaders/apis.mjs +142 -119
  116. package/dist/loaders/apis.mjs.map +1 -1
  117. package/dist/loaders/components.js +33 -34
  118. package/dist/loaders/components.js.map +1 -1
  119. package/dist/loaders/components.mjs +32 -34
  120. package/dist/loaders/components.mjs.map +1 -1
  121. package/dist/loaders/index.js +22 -20
  122. package/dist/loaders/index.js.map +1 -1
  123. package/dist/loaders/index.mjs +21 -21
  124. package/dist/loaders/index.mjs.map +1 -1
  125. package/dist/loaders/middlewares.js +29 -25
  126. package/dist/loaders/middlewares.js.map +1 -1
  127. package/dist/loaders/middlewares.mjs +28 -25
  128. package/dist/loaders/middlewares.mjs.map +1 -1
  129. package/dist/loaders/plugins/get-enabled-plugins.js +126 -131
  130. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  131. package/dist/loaders/plugins/get-enabled-plugins.mjs +125 -108
  132. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  133. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  134. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  135. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  136. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  137. package/dist/loaders/plugins/index.js +132 -122
  138. package/dist/loaders/plugins/index.js.map +1 -1
  139. package/dist/loaders/plugins/index.mjs +121 -112
  140. package/dist/loaders/plugins/index.mjs.map +1 -1
  141. package/dist/loaders/policies.js +24 -20
  142. package/dist/loaders/policies.js.map +1 -1
  143. package/dist/loaders/policies.mjs +23 -20
  144. package/dist/loaders/policies.mjs.map +1 -1
  145. package/dist/loaders/sanitizers.js +10 -4
  146. package/dist/loaders/sanitizers.js.map +1 -1
  147. package/dist/loaders/sanitizers.mjs +9 -6
  148. package/dist/loaders/sanitizers.mjs.map +1 -1
  149. package/dist/loaders/src-index.js +35 -27
  150. package/dist/loaders/src-index.js.map +1 -1
  151. package/dist/loaders/src-index.mjs +34 -29
  152. package/dist/loaders/src-index.mjs.map +1 -1
  153. package/dist/loaders/validators.js +9 -4
  154. package/dist/loaders/validators.js.map +1 -1
  155. package/dist/loaders/validators.mjs +8 -6
  156. package/dist/loaders/validators.mjs.map +1 -1
  157. package/dist/middlewares/body.d.ts.map +1 -1
  158. package/dist/middlewares/body.js +58 -54
  159. package/dist/middlewares/body.js.map +1 -1
  160. package/dist/middlewares/body.mjs +57 -51
  161. package/dist/middlewares/body.mjs.map +1 -1
  162. package/dist/middlewares/compression.js +6 -6
  163. package/dist/middlewares/compression.js.map +1 -1
  164. package/dist/middlewares/compression.mjs +5 -5
  165. package/dist/middlewares/compression.mjs.map +1 -1
  166. package/dist/middlewares/cors.js +59 -48
  167. package/dist/middlewares/cors.js.map +1 -1
  168. package/dist/middlewares/cors.mjs +58 -47
  169. package/dist/middlewares/cors.mjs.map +1 -1
  170. package/dist/middlewares/errors.js +32 -30
  171. package/dist/middlewares/errors.js.map +1 -1
  172. package/dist/middlewares/errors.mjs +31 -31
  173. package/dist/middlewares/errors.mjs.map +1 -1
  174. package/dist/middlewares/favicon.js +27 -17
  175. package/dist/middlewares/favicon.js.map +1 -1
  176. package/dist/middlewares/favicon.mjs +26 -16
  177. package/dist/middlewares/favicon.mjs.map +1 -1
  178. package/dist/middlewares/index.js +32 -30
  179. package/dist/middlewares/index.js.map +1 -1
  180. package/dist/middlewares/index.mjs +31 -31
  181. package/dist/middlewares/index.mjs.map +1 -1
  182. package/dist/middlewares/ip.js +6 -6
  183. package/dist/middlewares/ip.js.map +1 -1
  184. package/dist/middlewares/ip.mjs +5 -5
  185. package/dist/middlewares/ip.mjs.map +1 -1
  186. package/dist/middlewares/logger.js +10 -9
  187. package/dist/middlewares/logger.js.map +1 -1
  188. package/dist/middlewares/logger.mjs +9 -10
  189. package/dist/middlewares/logger.mjs.map +1 -1
  190. package/dist/middlewares/powered-by.js +13 -9
  191. package/dist/middlewares/powered-by.js.map +1 -1
  192. package/dist/middlewares/powered-by.mjs +12 -10
  193. package/dist/middlewares/powered-by.mjs.map +1 -1
  194. package/dist/middlewares/public.js +33 -29
  195. package/dist/middlewares/public.js.map +1 -1
  196. package/dist/middlewares/public.mjs +32 -28
  197. package/dist/middlewares/public.mjs.map +1 -1
  198. package/dist/middlewares/query.js +35 -32
  199. package/dist/middlewares/query.js.map +1 -1
  200. package/dist/middlewares/query.mjs +34 -31
  201. package/dist/middlewares/query.mjs.map +1 -1
  202. package/dist/middlewares/response-time.js +10 -9
  203. package/dist/middlewares/response-time.js.map +1 -1
  204. package/dist/middlewares/response-time.mjs +9 -10
  205. package/dist/middlewares/response-time.mjs.map +1 -1
  206. package/dist/middlewares/responses.js +14 -12
  207. package/dist/middlewares/responses.js.map +1 -1
  208. package/dist/middlewares/responses.mjs +13 -13
  209. package/dist/middlewares/responses.mjs.map +1 -1
  210. package/dist/middlewares/security.js +109 -71
  211. package/dist/middlewares/security.js.map +1 -1
  212. package/dist/middlewares/security.mjs +108 -70
  213. package/dist/middlewares/security.mjs.map +1 -1
  214. package/dist/middlewares/session.js +26 -25
  215. package/dist/middlewares/session.js.map +1 -1
  216. package/dist/middlewares/session.mjs +25 -24
  217. package/dist/middlewares/session.mjs.map +1 -1
  218. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -2
  219. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  220. package/dist/migrations/database/5.0.0-discard-drafts.js +152 -90
  221. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  222. package/dist/migrations/database/5.0.0-discard-drafts.mjs +151 -92
  223. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  224. package/dist/migrations/draft-publish.d.ts +1 -1
  225. package/dist/migrations/draft-publish.d.ts.map +1 -1
  226. package/dist/migrations/draft-publish.js +61 -34
  227. package/dist/migrations/draft-publish.js.map +1 -1
  228. package/dist/migrations/draft-publish.mjs +60 -36
  229. package/dist/migrations/draft-publish.mjs.map +1 -1
  230. package/dist/migrations/i18n.js +62 -45
  231. package/dist/migrations/i18n.js.map +1 -1
  232. package/dist/migrations/i18n.mjs +61 -47
  233. package/dist/migrations/i18n.mjs.map +1 -1
  234. package/dist/migrations/index.js +24 -10
  235. package/dist/migrations/index.js.map +1 -1
  236. package/dist/migrations/index.mjs +23 -12
  237. package/dist/migrations/index.mjs.map +1 -1
  238. package/dist/package.json.js +182 -0
  239. package/dist/package.json.js.map +1 -0
  240. package/dist/package.json.mjs +159 -0
  241. package/dist/package.json.mjs.map +1 -0
  242. package/dist/providers/admin.js +27 -17
  243. package/dist/providers/admin.js.map +1 -1
  244. package/dist/providers/admin.mjs +26 -19
  245. package/dist/providers/admin.mjs.map +1 -1
  246. package/dist/providers/coreStore.js +13 -8
  247. package/dist/providers/coreStore.js.map +1 -1
  248. package/dist/providers/coreStore.mjs +12 -10
  249. package/dist/providers/coreStore.mjs.map +1 -1
  250. package/dist/providers/cron.js +19 -16
  251. package/dist/providers/cron.js.map +1 -1
  252. package/dist/providers/cron.mjs +18 -18
  253. package/dist/providers/cron.mjs.map +1 -1
  254. package/dist/providers/index.js +18 -9
  255. package/dist/providers/index.js.map +1 -1
  256. package/dist/providers/index.mjs +17 -10
  257. package/dist/providers/index.mjs.map +1 -1
  258. package/dist/providers/provider.js +4 -3
  259. package/dist/providers/provider.js.map +1 -1
  260. package/dist/providers/provider.mjs +3 -4
  261. package/dist/providers/provider.mjs.map +1 -1
  262. package/dist/providers/registries.js +37 -32
  263. package/dist/providers/registries.js.map +1 -1
  264. package/dist/providers/registries.mjs +36 -34
  265. package/dist/providers/registries.mjs.map +1 -1
  266. package/dist/providers/telemetry.js +19 -16
  267. package/dist/providers/telemetry.js.map +1 -1
  268. package/dist/providers/telemetry.mjs +18 -18
  269. package/dist/providers/telemetry.mjs.map +1 -1
  270. package/dist/providers/webhooks.js +28 -26
  271. package/dist/providers/webhooks.js.map +1 -1
  272. package/dist/providers/webhooks.mjs +27 -28
  273. package/dist/providers/webhooks.mjs.map +1 -1
  274. package/dist/registries/apis.js +23 -20
  275. package/dist/registries/apis.js.map +1 -1
  276. package/dist/registries/apis.mjs +22 -22
  277. package/dist/registries/apis.mjs.map +1 -1
  278. package/dist/registries/components.js +35 -37
  279. package/dist/registries/components.js.map +1 -1
  280. package/dist/registries/components.mjs +34 -39
  281. package/dist/registries/components.mjs.map +1 -1
  282. package/dist/registries/content-types.js +54 -59
  283. package/dist/registries/content-types.js.map +1 -1
  284. package/dist/registries/content-types.mjs +53 -61
  285. package/dist/registries/content-types.mjs.map +1 -1
  286. package/dist/registries/controllers.js +70 -71
  287. package/dist/registries/controllers.js.map +1 -1
  288. package/dist/registries/controllers.mjs +69 -73
  289. package/dist/registries/controllers.mjs.map +1 -1
  290. package/dist/registries/custom-fields.js +75 -65
  291. package/dist/registries/custom-fields.js.map +1 -1
  292. package/dist/registries/custom-fields.mjs +74 -67
  293. package/dist/registries/custom-fields.mjs.map +1 -1
  294. package/dist/registries/hooks.js +46 -49
  295. package/dist/registries/hooks.js.map +1 -1
  296. package/dist/registries/hooks.mjs +45 -51
  297. package/dist/registries/hooks.mjs.map +1 -1
  298. package/dist/registries/middlewares.js +49 -51
  299. package/dist/registries/middlewares.js.map +1 -1
  300. package/dist/registries/middlewares.mjs +48 -53
  301. package/dist/registries/middlewares.mjs.map +1 -1
  302. package/dist/registries/models.js +14 -13
  303. package/dist/registries/models.js.map +1 -1
  304. package/dist/registries/models.mjs +13 -14
  305. package/dist/registries/models.mjs.map +1 -1
  306. package/dist/registries/modules.js +39 -36
  307. package/dist/registries/modules.js.map +1 -1
  308. package/dist/registries/modules.mjs +38 -38
  309. package/dist/registries/modules.mjs.map +1 -1
  310. package/dist/registries/namespace.js +21 -20
  311. package/dist/registries/namespace.js.map +1 -1
  312. package/dist/registries/namespace.mjs +20 -23
  313. package/dist/registries/namespace.mjs.map +1 -1
  314. package/dist/registries/plugins.js +23 -20
  315. package/dist/registries/plugins.js.map +1 -1
  316. package/dist/registries/plugins.mjs +22 -22
  317. package/dist/registries/plugins.mjs.map +1 -1
  318. package/dist/registries/policies.js +103 -96
  319. package/dist/registries/policies.js.map +1 -1
  320. package/dist/registries/policies.mjs +102 -98
  321. package/dist/registries/policies.mjs.map +1 -1
  322. package/dist/registries/sanitizers.js +23 -22
  323. package/dist/registries/sanitizers.js.map +1 -1
  324. package/dist/registries/sanitizers.mjs +22 -22
  325. package/dist/registries/sanitizers.mjs.map +1 -1
  326. package/dist/registries/services.js +71 -71
  327. package/dist/registries/services.js.map +1 -1
  328. package/dist/registries/services.mjs +70 -73
  329. package/dist/registries/services.mjs.map +1 -1
  330. package/dist/registries/validators.js +23 -22
  331. package/dist/registries/validators.js.map +1 -1
  332. package/dist/registries/validators.mjs +22 -22
  333. package/dist/registries/validators.mjs.map +1 -1
  334. package/dist/services/auth/index.js +74 -74
  335. package/dist/services/auth/index.js.map +1 -1
  336. package/dist/services/auth/index.mjs +73 -74
  337. package/dist/services/auth/index.mjs.map +1 -1
  338. package/dist/services/config.js +47 -43
  339. package/dist/services/config.js.map +1 -1
  340. package/dist/services/config.mjs +46 -44
  341. package/dist/services/config.mjs.map +1 -1
  342. package/dist/services/content-api/index.js +80 -79
  343. package/dist/services/content-api/index.js.map +1 -1
  344. package/dist/services/content-api/index.mjs +79 -79
  345. package/dist/services/content-api/index.mjs.map +1 -1
  346. package/dist/services/content-api/permissions/engine.js +8 -5
  347. package/dist/services/content-api/permissions/engine.js.map +1 -1
  348. package/dist/services/content-api/permissions/engine.mjs +7 -5
  349. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  350. package/dist/services/content-api/permissions/index.js +101 -81
  351. package/dist/services/content-api/permissions/index.js.map +1 -1
  352. package/dist/services/content-api/permissions/index.mjs +100 -81
  353. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  354. package/dist/services/content-api/permissions/providers/action.js +17 -14
  355. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  356. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  357. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  358. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  359. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  360. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  361. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  362. package/dist/services/core-store.js +115 -95
  363. package/dist/services/core-store.js.map +1 -1
  364. package/dist/services/core-store.mjs +114 -97
  365. package/dist/services/core-store.mjs.map +1 -1
  366. package/dist/services/cron.js +74 -65
  367. package/dist/services/cron.js.map +1 -1
  368. package/dist/services/cron.mjs +73 -67
  369. package/dist/services/cron.mjs.map +1 -1
  370. package/dist/services/custom-fields.js +9 -7
  371. package/dist/services/custom-fields.js.map +1 -1
  372. package/dist/services/custom-fields.mjs +8 -9
  373. package/dist/services/custom-fields.mjs.map +1 -1
  374. package/dist/services/document-service/attributes/index.js +23 -18
  375. package/dist/services/document-service/attributes/index.js.map +1 -1
  376. package/dist/services/document-service/attributes/index.mjs +22 -19
  377. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  378. package/dist/services/document-service/attributes/transforms.js +16 -15
  379. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  380. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  381. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  382. package/dist/services/document-service/common.js +5 -4
  383. package/dist/services/document-service/common.js.map +1 -1
  384. package/dist/services/document-service/common.mjs +4 -5
  385. package/dist/services/document-service/common.mjs.map +1 -1
  386. package/dist/services/document-service/components.d.ts.map +1 -1
  387. package/dist/services/document-service/components.js +255 -257
  388. package/dist/services/document-service/components.js.map +1 -1
  389. package/dist/services/document-service/components.mjs +254 -262
  390. package/dist/services/document-service/components.mjs.map +1 -1
  391. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  392. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  393. package/dist/services/document-service/draft-and-publish.js +88 -48
  394. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  395. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  396. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  397. package/dist/services/document-service/entries.js +109 -91
  398. package/dist/services/document-service/entries.js.map +1 -1
  399. package/dist/services/document-service/entries.mjs +108 -92
  400. package/dist/services/document-service/entries.mjs.map +1 -1
  401. package/dist/services/document-service/events.d.ts +1 -1
  402. package/dist/services/document-service/events.d.ts.map +1 -1
  403. package/dist/services/document-service/events.js +52 -40
  404. package/dist/services/document-service/events.js.map +1 -1
  405. package/dist/services/document-service/events.mjs +51 -41
  406. package/dist/services/document-service/events.mjs.map +1 -1
  407. package/dist/services/document-service/index.js +53 -33
  408. package/dist/services/document-service/index.js.map +1 -1
  409. package/dist/services/document-service/index.mjs +52 -34
  410. package/dist/services/document-service/index.mjs.map +1 -1
  411. package/dist/services/document-service/internationalization.js +62 -46
  412. package/dist/services/document-service/internationalization.js.map +1 -1
  413. package/dist/services/document-service/internationalization.mjs +61 -50
  414. package/dist/services/document-service/internationalization.mjs.map +1 -1
  415. package/dist/services/document-service/middlewares/errors.js +23 -19
  416. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  417. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  418. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  419. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  420. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  421. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  422. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  423. package/dist/services/document-service/params.js +11 -5
  424. package/dist/services/document-service/params.js.map +1 -1
  425. package/dist/services/document-service/params.mjs +10 -6
  426. package/dist/services/document-service/params.mjs.map +1 -1
  427. package/dist/services/document-service/repository.d.ts.map +1 -1
  428. package/dist/services/document-service/repository.js +354 -319
  429. package/dist/services/document-service/repository.js.map +1 -1
  430. package/dist/services/document-service/repository.mjs +353 -320
  431. package/dist/services/document-service/repository.mjs.map +1 -1
  432. package/dist/services/document-service/transform/data.js +22 -12
  433. package/dist/services/document-service/transform/data.js.map +1 -1
  434. package/dist/services/document-service/transform/data.mjs +21 -13
  435. package/dist/services/document-service/transform/data.mjs.map +1 -1
  436. package/dist/services/document-service/transform/fields.js +26 -17
  437. package/dist/services/document-service/transform/fields.js.map +1 -1
  438. package/dist/services/document-service/transform/fields.mjs +25 -18
  439. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  440. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  441. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  442. package/dist/services/document-service/transform/id-map.js +115 -77
  443. package/dist/services/document-service/transform/id-map.js.map +1 -1
  444. package/dist/services/document-service/transform/id-map.mjs +114 -78
  445. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  446. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  447. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  448. package/dist/services/document-service/transform/id-transform.js +37 -29
  449. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  450. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  451. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  452. package/dist/services/document-service/transform/populate.js +23 -18
  453. package/dist/services/document-service/transform/populate.js.map +1 -1
  454. package/dist/services/document-service/transform/populate.mjs +22 -19
  455. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  456. package/dist/services/document-service/transform/query.js +11 -6
  457. package/dist/services/document-service/transform/query.js.map +1 -1
  458. package/dist/services/document-service/transform/query.mjs +10 -7
  459. package/dist/services/document-service/transform/query.mjs.map +1 -1
  460. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  461. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  462. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  463. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  464. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  465. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  466. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  467. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  468. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  469. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  470. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  471. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  472. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  473. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  474. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  475. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  476. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  477. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  478. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  479. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  480. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  481. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  482. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  483. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  484. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  485. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  486. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  487. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  488. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  489. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  490. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  491. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  492. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  493. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  494. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  495. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  496. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  497. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  498. package/dist/services/document-service/utils/populate.d.ts +1 -1
  499. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  500. package/dist/services/document-service/utils/populate.js +66 -42
  501. package/dist/services/document-service/utils/populate.js.map +1 -1
  502. package/dist/services/document-service/utils/populate.mjs +65 -43
  503. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  504. package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
  505. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  506. package/dist/services/document-service/utils/unidirectional-relations.js +109 -62
  507. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -1
  508. package/dist/services/document-service/utils/unidirectional-relations.mjs +108 -64
  509. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -1
  510. package/dist/services/entity-service/index.js +230 -161
  511. package/dist/services/entity-service/index.js.map +1 -1
  512. package/dist/services/entity-service/index.mjs +229 -160
  513. package/dist/services/entity-service/index.mjs.map +1 -1
  514. package/dist/services/entity-validator/blocks-validator.js +135 -103
  515. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  516. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  517. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  518. package/dist/services/entity-validator/index.d.ts +1 -1
  519. package/dist/services/entity-validator/index.d.ts.map +1 -1
  520. package/dist/services/entity-validator/index.js +362 -367
  521. package/dist/services/entity-validator/index.js.map +1 -1
  522. package/dist/services/entity-validator/index.mjs +358 -364
  523. package/dist/services/entity-validator/index.mjs.map +1 -1
  524. package/dist/services/entity-validator/validators.js +268 -210
  525. package/dist/services/entity-validator/validators.js.map +1 -1
  526. package/dist/services/entity-validator/validators.mjs +267 -216
  527. package/dist/services/entity-validator/validators.mjs.map +1 -1
  528. package/dist/services/errors.js +65 -65
  529. package/dist/services/errors.js.map +1 -1
  530. package/dist/services/errors.mjs +64 -66
  531. package/dist/services/errors.mjs.map +1 -1
  532. package/dist/services/event-hub.js +82 -69
  533. package/dist/services/event-hub.js.map +1 -1
  534. package/dist/services/event-hub.mjs +81 -71
  535. package/dist/services/event-hub.mjs.map +1 -1
  536. package/dist/services/features.js +19 -14
  537. package/dist/services/features.js.map +1 -1
  538. package/dist/services/features.mjs +18 -15
  539. package/dist/services/features.mjs.map +1 -1
  540. package/dist/services/fs.js +41 -40
  541. package/dist/services/fs.js.map +1 -1
  542. package/dist/services/fs.mjs +40 -39
  543. package/dist/services/fs.mjs.map +1 -1
  544. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  545. package/dist/services/metrics/admin-user-hash.js +13 -11
  546. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  547. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  548. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  549. package/dist/services/metrics/index.js +46 -40
  550. package/dist/services/metrics/index.js.map +1 -1
  551. package/dist/services/metrics/index.mjs +45 -42
  552. package/dist/services/metrics/index.mjs.map +1 -1
  553. package/dist/services/metrics/is-truthy.js +13 -6
  554. package/dist/services/metrics/is-truthy.js.map +1 -1
  555. package/dist/services/metrics/is-truthy.mjs +12 -6
  556. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  557. package/dist/services/metrics/middleware.d.ts.map +1 -1
  558. package/dist/services/metrics/middleware.js +37 -22
  559. package/dist/services/metrics/middleware.js.map +1 -1
  560. package/dist/services/metrics/middleware.mjs +36 -24
  561. package/dist/services/metrics/middleware.mjs.map +1 -1
  562. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  563. package/dist/services/metrics/rate-limiter.js +24 -19
  564. package/dist/services/metrics/rate-limiter.js.map +1 -1
  565. package/dist/services/metrics/rate-limiter.mjs +23 -21
  566. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  567. package/dist/services/metrics/sender.d.ts.map +1 -1
  568. package/dist/services/metrics/sender.js +78 -69
  569. package/dist/services/metrics/sender.js.map +1 -1
  570. package/dist/services/metrics/sender.mjs +77 -64
  571. package/dist/services/metrics/sender.mjs.map +1 -1
  572. package/dist/services/query-params.js +13 -10
  573. package/dist/services/query-params.js.map +1 -1
  574. package/dist/services/query-params.mjs +12 -12
  575. package/dist/services/query-params.mjs.map +1 -1
  576. package/dist/services/reloader.js +35 -32
  577. package/dist/services/reloader.js.map +1 -1
  578. package/dist/services/reloader.mjs +34 -33
  579. package/dist/services/reloader.mjs.map +1 -1
  580. package/dist/services/request-context.js +11 -8
  581. package/dist/services/request-context.js.map +1 -1
  582. package/dist/services/request-context.mjs +10 -10
  583. package/dist/services/request-context.mjs.map +1 -1
  584. package/dist/services/server/admin-api.js +11 -10
  585. package/dist/services/server/admin-api.js.map +1 -1
  586. package/dist/services/server/admin-api.mjs +10 -11
  587. package/dist/services/server/admin-api.mjs.map +1 -1
  588. package/dist/services/server/api.js +33 -27
  589. package/dist/services/server/api.js.map +1 -1
  590. package/dist/services/server/api.mjs +32 -26
  591. package/dist/services/server/api.mjs.map +1 -1
  592. package/dist/services/server/compose-endpoint.js +116 -105
  593. package/dist/services/server/compose-endpoint.js.map +1 -1
  594. package/dist/services/server/compose-endpoint.mjs +115 -105
  595. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  596. package/dist/services/server/content-api.js +11 -9
  597. package/dist/services/server/content-api.js.map +1 -1
  598. package/dist/services/server/content-api.mjs +10 -10
  599. package/dist/services/server/content-api.mjs.map +1 -1
  600. package/dist/services/server/http-server.js +48 -44
  601. package/dist/services/server/http-server.js.map +1 -1
  602. package/dist/services/server/http-server.mjs +47 -43
  603. package/dist/services/server/http-server.mjs.map +1 -1
  604. package/dist/services/server/index.js +85 -82
  605. package/dist/services/server/index.js.map +1 -1
  606. package/dist/services/server/index.mjs +84 -81
  607. package/dist/services/server/index.mjs.map +1 -1
  608. package/dist/services/server/koa.js +49 -47
  609. package/dist/services/server/koa.js.map +1 -1
  610. package/dist/services/server/koa.mjs +48 -44
  611. package/dist/services/server/koa.mjs.map +1 -1
  612. package/dist/services/server/middleware.js +86 -82
  613. package/dist/services/server/middleware.js.map +1 -1
  614. package/dist/services/server/middleware.mjs +85 -82
  615. package/dist/services/server/middleware.mjs.map +1 -1
  616. package/dist/services/server/policy.js +24 -17
  617. package/dist/services/server/policy.js.map +1 -1
  618. package/dist/services/server/policy.mjs +23 -18
  619. package/dist/services/server/policy.mjs.map +1 -1
  620. package/dist/services/server/register-middlewares.js +68 -61
  621. package/dist/services/server/register-middlewares.js.map +1 -1
  622. package/dist/services/server/register-middlewares.mjs +67 -63
  623. package/dist/services/server/register-middlewares.mjs.map +1 -1
  624. package/dist/services/server/register-routes.js +90 -67
  625. package/dist/services/server/register-routes.js.map +1 -1
  626. package/dist/services/server/register-routes.mjs +89 -67
  627. package/dist/services/server/register-routes.mjs.map +1 -1
  628. package/dist/services/server/routing.js +94 -81
  629. package/dist/services/server/routing.js.map +1 -1
  630. package/dist/services/server/routing.mjs +93 -81
  631. package/dist/services/server/routing.mjs.map +1 -1
  632. package/dist/services/utils/dynamic-zones.js +13 -14
  633. package/dist/services/utils/dynamic-zones.js.map +1 -1
  634. package/dist/services/utils/dynamic-zones.mjs +12 -16
  635. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  636. package/dist/services/webhook-runner.js +124 -122
  637. package/dist/services/webhook-runner.js.map +1 -1
  638. package/dist/services/webhook-runner.mjs +123 -121
  639. package/dist/services/webhook-runner.mjs.map +1 -1
  640. package/dist/services/webhook-store.js +132 -99
  641. package/dist/services/webhook-store.js.map +1 -1
  642. package/dist/services/webhook-store.mjs +131 -101
  643. package/dist/services/webhook-store.mjs.map +1 -1
  644. package/dist/services/worker-queue.js +44 -49
  645. package/dist/services/worker-queue.js.map +1 -1
  646. package/dist/services/worker-queue.mjs +43 -49
  647. package/dist/services/worker-queue.mjs.map +1 -1
  648. package/dist/utils/convert-custom-field-type.js +17 -20
  649. package/dist/utils/convert-custom-field-type.js.map +1 -1
  650. package/dist/utils/convert-custom-field-type.mjs +16 -21
  651. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  652. package/dist/utils/cron.js +64 -30
  653. package/dist/utils/cron.js.map +1 -1
  654. package/dist/utils/cron.mjs +63 -31
  655. package/dist/utils/cron.mjs.map +1 -1
  656. package/dist/utils/fetch.js +24 -18
  657. package/dist/utils/fetch.js.map +1 -1
  658. package/dist/utils/fetch.mjs +23 -19
  659. package/dist/utils/fetch.mjs.map +1 -1
  660. package/dist/utils/filepath-to-prop-path.js +20 -28
  661. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  662. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  663. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  664. package/dist/utils/is-initialized.js +21 -12
  665. package/dist/utils/is-initialized.js.map +1 -1
  666. package/dist/utils/is-initialized.mjs +20 -13
  667. package/dist/utils/is-initialized.mjs.map +1 -1
  668. package/dist/utils/lifecycles.js +6 -5
  669. package/dist/utils/lifecycles.js.map +1 -1
  670. package/dist/utils/lifecycles.mjs +5 -6
  671. package/dist/utils/lifecycles.mjs.map +1 -1
  672. package/dist/utils/load-config-file.js +40 -38
  673. package/dist/utils/load-config-file.js.map +1 -1
  674. package/dist/utils/load-config-file.mjs +39 -36
  675. package/dist/utils/load-config-file.mjs.map +1 -1
  676. package/dist/utils/load-files.js +40 -35
  677. package/dist/utils/load-files.js.map +1 -1
  678. package/dist/utils/load-files.mjs +39 -32
  679. package/dist/utils/load-files.mjs.map +1 -1
  680. package/dist/utils/open-browser.js +8 -8
  681. package/dist/utils/open-browser.js.map +1 -1
  682. package/dist/utils/open-browser.mjs +7 -7
  683. package/dist/utils/open-browser.mjs.map +1 -1
  684. package/dist/utils/resolve-working-dirs.js +23 -10
  685. package/dist/utils/resolve-working-dirs.js.map +1 -1
  686. package/dist/utils/resolve-working-dirs.mjs +22 -9
  687. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  688. package/dist/utils/signals.js +20 -14
  689. package/dist/utils/signals.js.map +1 -1
  690. package/dist/utils/signals.mjs +19 -15
  691. package/dist/utils/signals.mjs.map +1 -1
  692. package/dist/utils/startup-logger.d.ts.map +1 -1
  693. package/dist/utils/startup-logger.js +107 -78
  694. package/dist/utils/startup-logger.js.map +1 -1
  695. package/dist/utils/startup-logger.mjs +106 -75
  696. package/dist/utils/startup-logger.mjs.map +1 -1
  697. package/dist/utils/transform-content-types-to-models.js +350 -261
  698. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  699. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  700. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  701. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  702. package/dist/utils/update-notifier/index.js +68 -73
  703. package/dist/utils/update-notifier/index.js.map +1 -1
  704. package/dist/utils/update-notifier/index.mjs +67 -67
  705. package/dist/utils/update-notifier/index.mjs.map +1 -1
  706. package/package.json +25 -26
@@ -1,20 +1,25 @@
1
- import { policy, errors } from "@strapi/utils";
2
- const createPolicicesMiddleware = (route, strapi) => {
3
- const policiesConfig = route?.config?.policies ?? [];
4
- const resolvedPolicies = strapi.get("policies").resolve(policiesConfig, route.info);
5
- const policiesMiddleware = async (ctx, next) => {
6
- const context = policy.createPolicyContext("koa", ctx);
7
- for (const { handler, config } of resolvedPolicies) {
8
- const result = await handler(context, config, { strapi });
9
- if (![true, void 0].includes(result)) {
10
- throw new errors.PolicyError();
11
- }
12
- }
13
- await next();
14
- };
15
- return policiesMiddleware;
16
- };
17
- export {
18
- createPolicicesMiddleware
1
+ import { policy, errors } from '@strapi/utils';
2
+
3
+ const createPolicicesMiddleware = (route, strapi)=>{
4
+ const policiesConfig = route?.config?.policies ?? [];
5
+ const resolvedPolicies = strapi.get('policies').resolve(policiesConfig, route.info);
6
+ const policiesMiddleware = async (ctx, next)=>{
7
+ const context = policy.createPolicyContext('koa', ctx);
8
+ for (const { handler, config } of resolvedPolicies){
9
+ const result = await handler(context, config, {
10
+ strapi
11
+ });
12
+ if (![
13
+ true,
14
+ undefined
15
+ ].includes(result)) {
16
+ throw new errors.PolicyError();
17
+ }
18
+ }
19
+ await next();
20
+ };
21
+ return policiesMiddleware;
19
22
  };
23
+
24
+ export { createPolicicesMiddleware };
20
25
  //# sourceMappingURL=policy.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"policy.mjs","sources":["../../../src/services/server/policy.ts"],"sourcesContent":["import { policy as policyUtils, errors } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nconst createPolicicesMiddleware = (route: Core.Route, strapi: Core.Strapi) => {\n const policiesConfig = route?.config?.policies ?? [];\n const resolvedPolicies = strapi.get('policies').resolve(policiesConfig, route.info);\n\n const policiesMiddleware: Core.MiddlewareHandler = async (ctx, next) => {\n const context = policyUtils.createPolicyContext('koa', ctx);\n\n for (const { handler, config } of resolvedPolicies) {\n const result = await handler(context, config, { strapi });\n\n if (![true, undefined].includes(result)) {\n throw new errors.PolicyError();\n }\n }\n\n await next();\n };\n\n return policiesMiddleware;\n};\n\nexport { createPolicicesMiddleware };\n"],"names":["policyUtils"],"mappings":";AAGM,MAAA,4BAA4B,CAAC,OAAmB,WAAwB;AAC5E,QAAM,iBAAiB,OAAO,QAAQ,YAAY,CAAA;AAC5C,QAAA,mBAAmB,OAAO,IAAI,UAAU,EAAE,QAAQ,gBAAgB,MAAM,IAAI;AAE5E,QAAA,qBAA6C,OAAO,KAAK,SAAS;AACtE,UAAM,UAAUA,OAAY,oBAAoB,OAAO,GAAG;AAE1D,eAAW,EAAE,SAAS,OAAO,KAAK,kBAAkB;AAClD,YAAM,SAAS,MAAM,QAAQ,SAAS,QAAQ,EAAE,QAAQ;AAExD,UAAI,CAAC,CAAC,MAAM,MAAS,EAAE,SAAS,MAAM,GAAG;AACjC,cAAA,IAAI,OAAO;MACnB;AAAA,IACF;AAEA,UAAM,KAAK;AAAA,EAAA;AAGN,SAAA;AACT;"}
1
+ {"version":3,"file":"policy.mjs","sources":["../../../src/services/server/policy.ts"],"sourcesContent":["import { policy as policyUtils, errors } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nconst createPolicicesMiddleware = (route: Core.Route, strapi: Core.Strapi) => {\n const policiesConfig = route?.config?.policies ?? [];\n const resolvedPolicies = strapi.get('policies').resolve(policiesConfig, route.info);\n\n const policiesMiddleware: Core.MiddlewareHandler = async (ctx, next) => {\n const context = policyUtils.createPolicyContext('koa', ctx);\n\n for (const { handler, config } of resolvedPolicies) {\n const result = await handler(context, config, { strapi });\n\n if (![true, undefined].includes(result)) {\n throw new errors.PolicyError();\n }\n }\n\n await next();\n };\n\n return policiesMiddleware;\n};\n\nexport { createPolicicesMiddleware };\n"],"names":["createPolicicesMiddleware","route","strapi","policiesConfig","config","policies","resolvedPolicies","get","resolve","info","policiesMiddleware","ctx","next","context","policyUtils","createPolicyContext","handler","result","undefined","includes","errors","PolicyError"],"mappings":";;AAGMA,MAAAA,yBAAAA,GAA4B,CAACC,KAAmBC,EAAAA,MAAAA,GAAAA;AACpD,IAAA,MAAMC,cAAiBF,GAAAA,KAAAA,EAAOG,MAAQC,EAAAA,QAAAA,IAAY,EAAE;IACpD,MAAMC,gBAAAA,GAAmBJ,OAAOK,GAAG,CAAC,YAAYC,OAAO,CAACL,cAAgBF,EAAAA,KAAAA,CAAMQ,IAAI,CAAA;IAElF,MAAMC,kBAAAA,GAA6C,OAAOC,GAAKC,EAAAA,IAAAA,GAAAA;AAC7D,QAAA,MAAMC,OAAUC,GAAAA,MAAAA,CAAYC,mBAAmB,CAAC,KAAOJ,EAAAA,GAAAA,CAAAA;AAEvD,QAAA,KAAK,MAAM,EAAEK,OAAO,EAAEZ,MAAM,EAAE,IAAIE,gBAAkB,CAAA;AAClD,YAAA,MAAMW,MAAS,GAAA,MAAMD,OAAQH,CAAAA,OAAAA,EAAST,MAAQ,EAAA;AAAEF,gBAAAA;AAAO,aAAA,CAAA;AAEvD,YAAA,IAAI,CAAC;AAAC,gBAAA,IAAA;AAAMgB,gBAAAA;aAAU,CAACC,QAAQ,CAACF,MAAS,CAAA,EAAA;gBACvC,MAAM,IAAIG,OAAOC,WAAW,EAAA;AAC9B;AACF;QAEA,MAAMT,IAAAA,EAAAA;AACR,KAAA;IAEA,OAAOF,kBAAAA;AACT;;;;"}
@@ -1,72 +1,79 @@
1
- "use strict";
2
- const strapiUtils = require("@strapi/utils");
3
- const middleware = require("./middleware.js");
1
+ 'use strict';
2
+
3
+ var strapiUtils = require('@strapi/utils');
4
+ var middleware = require('./middleware.js');
5
+
4
6
  const defaultConfig = [
5
- "strapi::logger",
6
- "strapi::errors",
7
- "strapi::security",
8
- "strapi::cors",
9
- "strapi::poweredBy",
10
- "strapi::session",
11
- "strapi::query",
12
- "strapi::body",
13
- "strapi::favicon",
14
- "strapi::public"
7
+ 'strapi::logger',
8
+ 'strapi::errors',
9
+ 'strapi::security',
10
+ 'strapi::cors',
11
+ 'strapi::poweredBy',
12
+ 'strapi::session',
13
+ 'strapi::query',
14
+ 'strapi::body',
15
+ 'strapi::favicon',
16
+ 'strapi::public'
15
17
  ];
16
18
  const requiredMiddlewares = [
17
- "strapi::errors",
18
- "strapi::security",
19
- "strapi::cors",
20
- "strapi::query",
21
- "strapi::body",
22
- "strapi::public",
23
- "strapi::favicon"
19
+ 'strapi::errors',
20
+ 'strapi::security',
21
+ 'strapi::cors',
22
+ 'strapi::query',
23
+ 'strapi::body',
24
+ 'strapi::public',
25
+ 'strapi::favicon'
24
26
  ];
25
- const middlewareConfigSchema = strapiUtils.yup.array().of(
26
- strapiUtils.yup.lazy((value) => {
27
- if (typeof value === "string") {
28
- return strapiUtils.yup.string().required();
27
+ const middlewareConfigSchema = strapiUtils.yup.array().of(strapiUtils.yup.lazy((value)=>{
28
+ if (typeof value === 'string') {
29
+ return strapiUtils.yup.string().required();
29
30
  }
30
- if (typeof value === "object") {
31
- return strapiUtils.yup.object({
32
- name: strapiUtils.yup.string(),
33
- resolve: strapiUtils.yup.string(),
34
- config: strapiUtils.yup.mixed()
35
- }).required().noUnknown();
31
+ if (typeof value === 'object') {
32
+ return strapiUtils.yup.object({
33
+ name: strapiUtils.yup.string(),
34
+ resolve: strapiUtils.yup.string(),
35
+ config: strapiUtils.yup.mixed()
36
+ }).required().noUnknown();
37
+ }
38
+ return strapiUtils.yup.mixed().test(()=>false);
39
+ }));
40
+ /**
41
+ * Register middlewares in router
42
+ */ const registerApplicationMiddlewares = async (strapi)=>{
43
+ const middlewareConfig = strapi.config.get('middlewares', defaultConfig);
44
+ await validateMiddlewareConfig(middlewareConfig);
45
+ const middlewares = await middleware.resolveMiddlewares(middlewareConfig, strapi);
46
+ checkRequiredMiddlewares(middlewares);
47
+ // NOTE: exclude middlewares that return nothing.
48
+ // this is used for middlewares that only extend the app only need to be added in certain conditions
49
+ for (const middleware of middlewares){
50
+ strapi.server.use(middleware.handler);
36
51
  }
37
- return strapiUtils.yup.mixed().test(() => false);
38
- })
39
- // FIXME: yup v1
40
- );
41
- const registerApplicationMiddlewares = async (strapi) => {
42
- const middlewareConfig = strapi.config.get("middlewares", defaultConfig);
43
- await validateMiddlewareConfig(middlewareConfig);
44
- const middlewares = await middleware.resolveMiddlewares(middlewareConfig, strapi);
45
- checkRequiredMiddlewares(middlewares);
46
- for (const middleware2 of middlewares) {
47
- strapi.server.use(middleware2.handler);
48
- }
49
52
  };
50
- const validateMiddlewareConfig = async (config) => {
51
- try {
52
- await middlewareConfigSchema.validate(config, { strict: true, abortEarly: false });
53
- } catch (error) {
54
- throw new Error(
55
- "Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}."
56
- );
57
- }
53
+ /**
54
+ *
55
+ * @param {MiddlewaresConfig} config
56
+ */ const validateMiddlewareConfig = async (config)=>{
57
+ try {
58
+ await middlewareConfigSchema.validate(config, {
59
+ strict: true,
60
+ abortEarly: false
61
+ });
62
+ } catch (error) {
63
+ throw new Error('Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}.');
64
+ }
58
65
  };
59
- const checkRequiredMiddlewares = (middlewares) => {
60
- const missingMiddlewares = requiredMiddlewares.filter((name) => {
61
- return middlewares.findIndex((mdl) => mdl.name === name) === -1;
62
- });
63
- if (missingMiddlewares.length > 0) {
64
- throw new Error(
65
- `Missing required middlewares in configuration. Add the following middlewares: "${missingMiddlewares.join(
66
- ", "
67
- )}".`
68
- );
69
- }
66
+ /**
67
+ * Check if some required middlewares are missing in configure middlewares
68
+ * @param {Middlewares} middlewares
69
+ */ const checkRequiredMiddlewares = (middlewares)=>{
70
+ const missingMiddlewares = requiredMiddlewares.filter((name)=>{
71
+ return middlewares.findIndex((mdl)=>mdl.name === name) === -1;
72
+ });
73
+ if (missingMiddlewares.length > 0) {
74
+ throw new Error(`Missing required middlewares in configuration. Add the following middlewares: "${missingMiddlewares.join(', ')}".`);
75
+ }
70
76
  };
77
+
71
78
  module.exports = registerApplicationMiddlewares;
72
79
  //# sourceMappingURL=register-middlewares.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-middlewares.js","sources":["../../../src/services/server/register-middlewares.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { resolveMiddlewares } from './middleware';\n\ntype MiddlewareConfig = (string | { name?: string; resolve?: string; config?: unknown })[];\n\nconst defaultConfig = [\n 'strapi::logger',\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::poweredBy',\n 'strapi::session',\n 'strapi::query',\n 'strapi::body',\n 'strapi::favicon',\n 'strapi::public',\n];\n\nconst requiredMiddlewares = [\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::query',\n 'strapi::body',\n 'strapi::public',\n 'strapi::favicon',\n];\n\nconst middlewareConfigSchema = yup.array().of(\n yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (typeof value === 'object') {\n return yup\n .object({\n name: yup.string(),\n resolve: yup.string(),\n config: yup.mixed(),\n })\n .required()\n .noUnknown();\n }\n\n return yup.mixed().test(() => false);\n }) as any // FIXME: yup v1\n);\n\n/**\n * Register middlewares in router\n */\nconst registerApplicationMiddlewares = async (strapi: Core.Strapi) => {\n const middlewareConfig: MiddlewareConfig = strapi.config.get('middlewares', defaultConfig);\n\n await validateMiddlewareConfig(middlewareConfig);\n\n const middlewares = await resolveMiddlewares(middlewareConfig, strapi);\n\n checkRequiredMiddlewares(middlewares);\n\n // NOTE: exclude middlewares that return nothing.\n // this is used for middlewares that only extend the app only need to be added in certain conditions\n for (const middleware of middlewares) {\n strapi.server.use(middleware.handler);\n }\n};\n\n/**\n *\n * @param {MiddlewaresConfig} config\n */\nconst validateMiddlewareConfig = async (config: MiddlewareConfig) => {\n try {\n await middlewareConfigSchema.validate(config, { strict: true, abortEarly: false });\n } catch (error) {\n throw new Error(\n 'Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}.'\n );\n }\n};\n\n/**\n * Check if some required middlewares are missing in configure middlewares\n * @param {Middlewares} middlewares\n */\nconst checkRequiredMiddlewares = (middlewares: { name: string | null }[]) => {\n const missingMiddlewares = requiredMiddlewares.filter((name) => {\n return middlewares.findIndex((mdl) => mdl.name === name) === -1;\n });\n\n if (missingMiddlewares.length > 0) {\n throw new Error(\n `Missing required middlewares in configuration. Add the following middlewares: \"${missingMiddlewares.join(\n ', '\n )}\".`\n );\n }\n};\n\nexport default registerApplicationMiddlewares;\n"],"names":["yup","resolveMiddlewares","middleware"],"mappings":";;;AAMA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,yBAAyBA,YAAAA,IAAI,MAAA,EAAQ;AAAA,EACzCA,gBAAI,KAAK,CAAC,UAAU;AACd,QAAA,OAAO,UAAU,UAAU;AACtB,aAAAA,gBAAI,SAAS;IACtB;AAEI,QAAA,OAAO,UAAU,UAAU;AAC7B,aAAOA,YAAAA,IACJ,OAAO;AAAA,QACN,MAAMA,gBAAI,OAAO;AAAA,QACjB,SAASA,gBAAI,OAAO;AAAA,QACpB,QAAQA,gBAAI,MAAM;AAAA,MAAA,CACnB,EACA,WACA;IACL;AAEA,WAAOA,YAAI,IAAA,MAAA,EAAQ,KAAK,MAAM,KAAK;AAAA,EAAA,CACpC;AAAA;AACH;AAKM,MAAA,iCAAiC,OAAO,WAAwB;AACpE,QAAM,mBAAqC,OAAO,OAAO,IAAI,eAAe,aAAa;AAEzF,QAAM,yBAAyB,gBAAgB;AAE/C,QAAM,cAAc,MAAMC,WAAAA,mBAAmB,kBAAkB,MAAM;AAErE,2BAAyB,WAAW;AAIpC,aAAWC,eAAc,aAAa;AAC7B,WAAA,OAAO,IAAIA,YAAW,OAAO;AAAA,EACtC;AACF;AAMA,MAAM,2BAA2B,OAAO,WAA6B;AAC/D,MAAA;AACI,UAAA,uBAAuB,SAAS,QAAQ,EAAE,QAAQ,MAAM,YAAY,OAAO;AAAA,WAC1E,OAAO;AACd,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAAA,EAEJ;AACF;AAMA,MAAM,2BAA2B,CAAC,gBAA2C;AAC3E,QAAM,qBAAqB,oBAAoB,OAAO,CAAC,SAAS;AAC9D,WAAO,YAAY,UAAU,CAAC,QAAQ,IAAI,SAAS,IAAI,MAAM;AAAA,EAAA,CAC9D;AAEG,MAAA,mBAAmB,SAAS,GAAG;AACjC,UAAM,IAAI;AAAA,MACR,kFAAkF,mBAAmB;AAAA,QACnG;AAAA,MACD,CAAA;AAAA,IAAA;AAAA,EAEL;AACF;;"}
1
+ {"version":3,"file":"register-middlewares.js","sources":["../../../src/services/server/register-middlewares.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { resolveMiddlewares } from './middleware';\n\ntype MiddlewareConfig = (string | { name?: string; resolve?: string; config?: unknown })[];\n\nconst defaultConfig = [\n 'strapi::logger',\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::poweredBy',\n 'strapi::session',\n 'strapi::query',\n 'strapi::body',\n 'strapi::favicon',\n 'strapi::public',\n];\n\nconst requiredMiddlewares = [\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::query',\n 'strapi::body',\n 'strapi::public',\n 'strapi::favicon',\n];\n\nconst middlewareConfigSchema = yup.array().of(\n yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (typeof value === 'object') {\n return yup\n .object({\n name: yup.string(),\n resolve: yup.string(),\n config: yup.mixed(),\n })\n .required()\n .noUnknown();\n }\n\n return yup.mixed().test(() => false);\n }) as any // FIXME: yup v1\n);\n\n/**\n * Register middlewares in router\n */\nconst registerApplicationMiddlewares = async (strapi: Core.Strapi) => {\n const middlewareConfig: MiddlewareConfig = strapi.config.get('middlewares', defaultConfig);\n\n await validateMiddlewareConfig(middlewareConfig);\n\n const middlewares = await resolveMiddlewares(middlewareConfig, strapi);\n\n checkRequiredMiddlewares(middlewares);\n\n // NOTE: exclude middlewares that return nothing.\n // this is used for middlewares that only extend the app only need to be added in certain conditions\n for (const middleware of middlewares) {\n strapi.server.use(middleware.handler);\n }\n};\n\n/**\n *\n * @param {MiddlewaresConfig} config\n */\nconst validateMiddlewareConfig = async (config: MiddlewareConfig) => {\n try {\n await middlewareConfigSchema.validate(config, { strict: true, abortEarly: false });\n } catch (error) {\n throw new Error(\n 'Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}.'\n );\n }\n};\n\n/**\n * Check if some required middlewares are missing in configure middlewares\n * @param {Middlewares} middlewares\n */\nconst checkRequiredMiddlewares = (middlewares: { name: string | null }[]) => {\n const missingMiddlewares = requiredMiddlewares.filter((name) => {\n return middlewares.findIndex((mdl) => mdl.name === name) === -1;\n });\n\n if (missingMiddlewares.length > 0) {\n throw new Error(\n `Missing required middlewares in configuration. Add the following middlewares: \"${missingMiddlewares.join(\n ', '\n )}\".`\n );\n }\n};\n\nexport default registerApplicationMiddlewares;\n"],"names":["defaultConfig","requiredMiddlewares","middlewareConfigSchema","yup","array","of","lazy","value","string","required","object","name","resolve","config","mixed","noUnknown","test","registerApplicationMiddlewares","strapi","middlewareConfig","get","validateMiddlewareConfig","middlewares","resolveMiddlewares","checkRequiredMiddlewares","middleware","server","use","handler","validate","strict","abortEarly","error","Error","missingMiddlewares","filter","findIndex","mdl","length","join"],"mappings":";;;;;AAMA,MAAMA,aAAgB,GAAA;AACpB,IAAA,gBAAA;AACA,IAAA,gBAAA;AACA,IAAA,kBAAA;AACA,IAAA,cAAA;AACA,IAAA,mBAAA;AACA,IAAA,iBAAA;AACA,IAAA,eAAA;AACA,IAAA,cAAA;AACA,IAAA,iBAAA;AACA,IAAA;AACD,CAAA;AAED,MAAMC,mBAAsB,GAAA;AAC1B,IAAA,gBAAA;AACA,IAAA,kBAAA;AACA,IAAA,cAAA;AACA,IAAA,eAAA;AACA,IAAA,cAAA;AACA,IAAA,gBAAA;AACA,IAAA;AACD,CAAA;AAED,MAAMC,sBAAAA,GAAyBC,gBAAIC,KAAK,EAAA,CAAGC,EAAE,CAC3CF,eAAAA,CAAIG,IAAI,CAAC,CAACC,KAAAA,GAAAA;IACR,IAAI,OAAOA,UAAU,QAAU,EAAA;QAC7B,OAAOJ,eAAAA,CAAIK,MAAM,EAAA,CAAGC,QAAQ,EAAA;AAC9B;IAEA,IAAI,OAAOF,UAAU,QAAU,EAAA;QAC7B,OAAOJ,eAAAA,CACJO,MAAM,CAAC;AACNC,YAAAA,IAAAA,EAAMR,gBAAIK,MAAM,EAAA;AAChBI,YAAAA,OAAAA,EAAST,gBAAIK,MAAM,EAAA;AACnBK,YAAAA,MAAAA,EAAQV,gBAAIW,KAAK;SAElBL,CAAAA,CAAAA,QAAQ,GACRM,SAAS,EAAA;AACd;AAEA,IAAA,OAAOZ,eAAIW,CAAAA,KAAK,EAAGE,CAAAA,IAAI,CAAC,IAAM,KAAA,CAAA;AAChC,CAAA,CAAA,CAAA;AAGF;;IAGA,MAAMC,iCAAiC,OAAOC,MAAAA,GAAAA;AAC5C,IAAA,MAAMC,mBAAqCD,MAAOL,CAAAA,MAAM,CAACO,GAAG,CAAC,aAAepB,EAAAA,aAAAA,CAAAA;AAE5E,IAAA,MAAMqB,wBAAyBF,CAAAA,gBAAAA,CAAAA;IAE/B,MAAMG,WAAAA,GAAc,MAAMC,6BAAAA,CAAmBJ,gBAAkBD,EAAAA,MAAAA,CAAAA;IAE/DM,wBAAyBF,CAAAA,WAAAA,CAAAA;;;IAIzB,KAAK,MAAMG,cAAcH,WAAa,CAAA;AACpCJ,QAAAA,MAAAA,CAAOQ,MAAM,CAACC,GAAG,CAACF,WAAWG,OAAO,CAAA;AACtC;AACF;AAEA;;;IAIA,MAAMP,2BAA2B,OAAOR,MAAAA,GAAAA;IACtC,IAAI;QACF,MAAMX,sBAAAA,CAAuB2B,QAAQ,CAAChB,MAAQ,EAAA;YAAEiB,MAAQ,EAAA,IAAA;YAAMC,UAAY,EAAA;AAAM,SAAA,CAAA;AAClF,KAAA,CAAE,OAAOC,KAAO,EAAA;AACd,QAAA,MAAM,IAAIC,KACR,CAAA,yGAAA,CAAA;AAEJ;AACF,CAAA;AAEA;;;IAIA,MAAMT,2BAA2B,CAACF,WAAAA,GAAAA;AAChC,IAAA,MAAMY,kBAAqBjC,GAAAA,mBAAAA,CAAoBkC,MAAM,CAAC,CAACxB,IAAAA,GAAAA;QACrD,OAAOW,WAAAA,CAAYc,SAAS,CAAC,CAACC,MAAQA,GAAI1B,CAAAA,IAAI,KAAKA,IAAAA,CAAAA,KAAU,CAAC,CAAA;AAChE,KAAA,CAAA;IAEA,IAAIuB,kBAAAA,CAAmBI,MAAM,GAAG,CAAG,EAAA;QACjC,MAAM,IAAIL,KACR,CAAA,CAAC,+EAA+E,EAAEC,mBAAmBK,IAAI,CACvG,IACA,CAAA,CAAA,EAAE,CAAC,CAAA;AAET;AACF,CAAA;;;;"}
@@ -1,73 +1,77 @@
1
- import { yup } from "@strapi/utils";
2
- import { resolveMiddlewares } from "./middleware.mjs";
1
+ import { yup } from '@strapi/utils';
2
+ import { resolveMiddlewares } from './middleware.mjs';
3
+
3
4
  const defaultConfig = [
4
- "strapi::logger",
5
- "strapi::errors",
6
- "strapi::security",
7
- "strapi::cors",
8
- "strapi::poweredBy",
9
- "strapi::session",
10
- "strapi::query",
11
- "strapi::body",
12
- "strapi::favicon",
13
- "strapi::public"
5
+ 'strapi::logger',
6
+ 'strapi::errors',
7
+ 'strapi::security',
8
+ 'strapi::cors',
9
+ 'strapi::poweredBy',
10
+ 'strapi::session',
11
+ 'strapi::query',
12
+ 'strapi::body',
13
+ 'strapi::favicon',
14
+ 'strapi::public'
14
15
  ];
15
16
  const requiredMiddlewares = [
16
- "strapi::errors",
17
- "strapi::security",
18
- "strapi::cors",
19
- "strapi::query",
20
- "strapi::body",
21
- "strapi::public",
22
- "strapi::favicon"
17
+ 'strapi::errors',
18
+ 'strapi::security',
19
+ 'strapi::cors',
20
+ 'strapi::query',
21
+ 'strapi::body',
22
+ 'strapi::public',
23
+ 'strapi::favicon'
23
24
  ];
24
- const middlewareConfigSchema = yup.array().of(
25
- yup.lazy((value) => {
26
- if (typeof value === "string") {
27
- return yup.string().required();
25
+ const middlewareConfigSchema = yup.array().of(yup.lazy((value)=>{
26
+ if (typeof value === 'string') {
27
+ return yup.string().required();
28
28
  }
29
- if (typeof value === "object") {
30
- return yup.object({
31
- name: yup.string(),
32
- resolve: yup.string(),
33
- config: yup.mixed()
34
- }).required().noUnknown();
29
+ if (typeof value === 'object') {
30
+ return yup.object({
31
+ name: yup.string(),
32
+ resolve: yup.string(),
33
+ config: yup.mixed()
34
+ }).required().noUnknown();
35
+ }
36
+ return yup.mixed().test(()=>false);
37
+ }));
38
+ /**
39
+ * Register middlewares in router
40
+ */ const registerApplicationMiddlewares = async (strapi)=>{
41
+ const middlewareConfig = strapi.config.get('middlewares', defaultConfig);
42
+ await validateMiddlewareConfig(middlewareConfig);
43
+ const middlewares = await resolveMiddlewares(middlewareConfig, strapi);
44
+ checkRequiredMiddlewares(middlewares);
45
+ // NOTE: exclude middlewares that return nothing.
46
+ // this is used for middlewares that only extend the app only need to be added in certain conditions
47
+ for (const middleware of middlewares){
48
+ strapi.server.use(middleware.handler);
35
49
  }
36
- return yup.mixed().test(() => false);
37
- })
38
- // FIXME: yup v1
39
- );
40
- const registerApplicationMiddlewares = async (strapi) => {
41
- const middlewareConfig = strapi.config.get("middlewares", defaultConfig);
42
- await validateMiddlewareConfig(middlewareConfig);
43
- const middlewares = await resolveMiddlewares(middlewareConfig, strapi);
44
- checkRequiredMiddlewares(middlewares);
45
- for (const middleware of middlewares) {
46
- strapi.server.use(middleware.handler);
47
- }
48
- };
49
- const validateMiddlewareConfig = async (config) => {
50
- try {
51
- await middlewareConfigSchema.validate(config, { strict: true, abortEarly: false });
52
- } catch (error) {
53
- throw new Error(
54
- "Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}."
55
- );
56
- }
57
50
  };
58
- const checkRequiredMiddlewares = (middlewares) => {
59
- const missingMiddlewares = requiredMiddlewares.filter((name) => {
60
- return middlewares.findIndex((mdl) => mdl.name === name) === -1;
61
- });
62
- if (missingMiddlewares.length > 0) {
63
- throw new Error(
64
- `Missing required middlewares in configuration. Add the following middlewares: "${missingMiddlewares.join(
65
- ", "
66
- )}".`
67
- );
68
- }
51
+ /**
52
+ *
53
+ * @param {MiddlewaresConfig} config
54
+ */ const validateMiddlewareConfig = async (config)=>{
55
+ try {
56
+ await middlewareConfigSchema.validate(config, {
57
+ strict: true,
58
+ abortEarly: false
59
+ });
60
+ } catch (error) {
61
+ throw new Error('Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}.');
62
+ }
69
63
  };
70
- export {
71
- registerApplicationMiddlewares as default
64
+ /**
65
+ * Check if some required middlewares are missing in configure middlewares
66
+ * @param {Middlewares} middlewares
67
+ */ const checkRequiredMiddlewares = (middlewares)=>{
68
+ const missingMiddlewares = requiredMiddlewares.filter((name)=>{
69
+ return middlewares.findIndex((mdl)=>mdl.name === name) === -1;
70
+ });
71
+ if (missingMiddlewares.length > 0) {
72
+ throw new Error(`Missing required middlewares in configuration. Add the following middlewares: "${missingMiddlewares.join(', ')}".`);
73
+ }
72
74
  };
75
+
76
+ export { registerApplicationMiddlewares as default };
73
77
  //# sourceMappingURL=register-middlewares.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-middlewares.mjs","sources":["../../../src/services/server/register-middlewares.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { resolveMiddlewares } from './middleware';\n\ntype MiddlewareConfig = (string | { name?: string; resolve?: string; config?: unknown })[];\n\nconst defaultConfig = [\n 'strapi::logger',\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::poweredBy',\n 'strapi::session',\n 'strapi::query',\n 'strapi::body',\n 'strapi::favicon',\n 'strapi::public',\n];\n\nconst requiredMiddlewares = [\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::query',\n 'strapi::body',\n 'strapi::public',\n 'strapi::favicon',\n];\n\nconst middlewareConfigSchema = yup.array().of(\n yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (typeof value === 'object') {\n return yup\n .object({\n name: yup.string(),\n resolve: yup.string(),\n config: yup.mixed(),\n })\n .required()\n .noUnknown();\n }\n\n return yup.mixed().test(() => false);\n }) as any // FIXME: yup v1\n);\n\n/**\n * Register middlewares in router\n */\nconst registerApplicationMiddlewares = async (strapi: Core.Strapi) => {\n const middlewareConfig: MiddlewareConfig = strapi.config.get('middlewares', defaultConfig);\n\n await validateMiddlewareConfig(middlewareConfig);\n\n const middlewares = await resolveMiddlewares(middlewareConfig, strapi);\n\n checkRequiredMiddlewares(middlewares);\n\n // NOTE: exclude middlewares that return nothing.\n // this is used for middlewares that only extend the app only need to be added in certain conditions\n for (const middleware of middlewares) {\n strapi.server.use(middleware.handler);\n }\n};\n\n/**\n *\n * @param {MiddlewaresConfig} config\n */\nconst validateMiddlewareConfig = async (config: MiddlewareConfig) => {\n try {\n await middlewareConfigSchema.validate(config, { strict: true, abortEarly: false });\n } catch (error) {\n throw new Error(\n 'Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}.'\n );\n }\n};\n\n/**\n * Check if some required middlewares are missing in configure middlewares\n * @param {Middlewares} middlewares\n */\nconst checkRequiredMiddlewares = (middlewares: { name: string | null }[]) => {\n const missingMiddlewares = requiredMiddlewares.filter((name) => {\n return middlewares.findIndex((mdl) => mdl.name === name) === -1;\n });\n\n if (missingMiddlewares.length > 0) {\n throw new Error(\n `Missing required middlewares in configuration. Add the following middlewares: \"${missingMiddlewares.join(\n ', '\n )}\".`\n );\n }\n};\n\nexport default registerApplicationMiddlewares;\n"],"names":[],"mappings":";;AAMA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,yBAAyB,IAAI,MAAA,EAAQ;AAAA,EACzC,IAAI,KAAK,CAAC,UAAU;AACd,QAAA,OAAO,UAAU,UAAU;AACtB,aAAA,IAAI,SAAS;IACtB;AAEI,QAAA,OAAO,UAAU,UAAU;AAC7B,aAAO,IACJ,OAAO;AAAA,QACN,MAAM,IAAI,OAAO;AAAA,QACjB,SAAS,IAAI,OAAO;AAAA,QACpB,QAAQ,IAAI,MAAM;AAAA,MAAA,CACnB,EACA,WACA;IACL;AAEA,WAAO,IAAI,MAAA,EAAQ,KAAK,MAAM,KAAK;AAAA,EAAA,CACpC;AAAA;AACH;AAKM,MAAA,iCAAiC,OAAO,WAAwB;AACpE,QAAM,mBAAqC,OAAO,OAAO,IAAI,eAAe,aAAa;AAEzF,QAAM,yBAAyB,gBAAgB;AAE/C,QAAM,cAAc,MAAM,mBAAmB,kBAAkB,MAAM;AAErE,2BAAyB,WAAW;AAIpC,aAAW,cAAc,aAAa;AAC7B,WAAA,OAAO,IAAI,WAAW,OAAO;AAAA,EACtC;AACF;AAMA,MAAM,2BAA2B,OAAO,WAA6B;AAC/D,MAAA;AACI,UAAA,uBAAuB,SAAS,QAAQ,EAAE,QAAQ,MAAM,YAAY,OAAO;AAAA,WAC1E,OAAO;AACd,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAAA,EAEJ;AACF;AAMA,MAAM,2BAA2B,CAAC,gBAA2C;AAC3E,QAAM,qBAAqB,oBAAoB,OAAO,CAAC,SAAS;AAC9D,WAAO,YAAY,UAAU,CAAC,QAAQ,IAAI,SAAS,IAAI,MAAM;AAAA,EAAA,CAC9D;AAEG,MAAA,mBAAmB,SAAS,GAAG;AACjC,UAAM,IAAI;AAAA,MACR,kFAAkF,mBAAmB;AAAA,QACnG;AAAA,MACD,CAAA;AAAA,IAAA;AAAA,EAEL;AACF;"}
1
+ {"version":3,"file":"register-middlewares.mjs","sources":["../../../src/services/server/register-middlewares.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { resolveMiddlewares } from './middleware';\n\ntype MiddlewareConfig = (string | { name?: string; resolve?: string; config?: unknown })[];\n\nconst defaultConfig = [\n 'strapi::logger',\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::poweredBy',\n 'strapi::session',\n 'strapi::query',\n 'strapi::body',\n 'strapi::favicon',\n 'strapi::public',\n];\n\nconst requiredMiddlewares = [\n 'strapi::errors',\n 'strapi::security',\n 'strapi::cors',\n 'strapi::query',\n 'strapi::body',\n 'strapi::public',\n 'strapi::favicon',\n];\n\nconst middlewareConfigSchema = yup.array().of(\n yup.lazy((value) => {\n if (typeof value === 'string') {\n return yup.string().required();\n }\n\n if (typeof value === 'object') {\n return yup\n .object({\n name: yup.string(),\n resolve: yup.string(),\n config: yup.mixed(),\n })\n .required()\n .noUnknown();\n }\n\n return yup.mixed().test(() => false);\n }) as any // FIXME: yup v1\n);\n\n/**\n * Register middlewares in router\n */\nconst registerApplicationMiddlewares = async (strapi: Core.Strapi) => {\n const middlewareConfig: MiddlewareConfig = strapi.config.get('middlewares', defaultConfig);\n\n await validateMiddlewareConfig(middlewareConfig);\n\n const middlewares = await resolveMiddlewares(middlewareConfig, strapi);\n\n checkRequiredMiddlewares(middlewares);\n\n // NOTE: exclude middlewares that return nothing.\n // this is used for middlewares that only extend the app only need to be added in certain conditions\n for (const middleware of middlewares) {\n strapi.server.use(middleware.handler);\n }\n};\n\n/**\n *\n * @param {MiddlewaresConfig} config\n */\nconst validateMiddlewareConfig = async (config: MiddlewareConfig) => {\n try {\n await middlewareConfigSchema.validate(config, { strict: true, abortEarly: false });\n } catch (error) {\n throw new Error(\n 'Invalid middleware configuration. Expected Array<string|{name?: string, resolve?: string, config: any}.'\n );\n }\n};\n\n/**\n * Check if some required middlewares are missing in configure middlewares\n * @param {Middlewares} middlewares\n */\nconst checkRequiredMiddlewares = (middlewares: { name: string | null }[]) => {\n const missingMiddlewares = requiredMiddlewares.filter((name) => {\n return middlewares.findIndex((mdl) => mdl.name === name) === -1;\n });\n\n if (missingMiddlewares.length > 0) {\n throw new Error(\n `Missing required middlewares in configuration. Add the following middlewares: \"${missingMiddlewares.join(\n ', '\n )}\".`\n );\n }\n};\n\nexport default registerApplicationMiddlewares;\n"],"names":["defaultConfig","requiredMiddlewares","middlewareConfigSchema","yup","array","of","lazy","value","string","required","object","name","resolve","config","mixed","noUnknown","test","registerApplicationMiddlewares","strapi","middlewareConfig","get","validateMiddlewareConfig","middlewares","resolveMiddlewares","checkRequiredMiddlewares","middleware","server","use","handler","validate","strict","abortEarly","error","Error","missingMiddlewares","filter","findIndex","mdl","length","join"],"mappings":";;;AAMA,MAAMA,aAAgB,GAAA;AACpB,IAAA,gBAAA;AACA,IAAA,gBAAA;AACA,IAAA,kBAAA;AACA,IAAA,cAAA;AACA,IAAA,mBAAA;AACA,IAAA,iBAAA;AACA,IAAA,eAAA;AACA,IAAA,cAAA;AACA,IAAA,iBAAA;AACA,IAAA;AACD,CAAA;AAED,MAAMC,mBAAsB,GAAA;AAC1B,IAAA,gBAAA;AACA,IAAA,kBAAA;AACA,IAAA,cAAA;AACA,IAAA,eAAA;AACA,IAAA,cAAA;AACA,IAAA,gBAAA;AACA,IAAA;AACD,CAAA;AAED,MAAMC,sBAAAA,GAAyBC,IAAIC,KAAK,EAAA,CAAGC,EAAE,CAC3CF,GAAAA,CAAIG,IAAI,CAAC,CAACC,KAAAA,GAAAA;IACR,IAAI,OAAOA,UAAU,QAAU,EAAA;QAC7B,OAAOJ,GAAAA,CAAIK,MAAM,EAAA,CAAGC,QAAQ,EAAA;AAC9B;IAEA,IAAI,OAAOF,UAAU,QAAU,EAAA;QAC7B,OAAOJ,GAAAA,CACJO,MAAM,CAAC;AACNC,YAAAA,IAAAA,EAAMR,IAAIK,MAAM,EAAA;AAChBI,YAAAA,OAAAA,EAAST,IAAIK,MAAM,EAAA;AACnBK,YAAAA,MAAAA,EAAQV,IAAIW,KAAK;SAElBL,CAAAA,CAAAA,QAAQ,GACRM,SAAS,EAAA;AACd;AAEA,IAAA,OAAOZ,GAAIW,CAAAA,KAAK,EAAGE,CAAAA,IAAI,CAAC,IAAM,KAAA,CAAA;AAChC,CAAA,CAAA,CAAA;AAGF;;IAGA,MAAMC,iCAAiC,OAAOC,MAAAA,GAAAA;AAC5C,IAAA,MAAMC,mBAAqCD,MAAOL,CAAAA,MAAM,CAACO,GAAG,CAAC,aAAepB,EAAAA,aAAAA,CAAAA;AAE5E,IAAA,MAAMqB,wBAAyBF,CAAAA,gBAAAA,CAAAA;IAE/B,MAAMG,WAAAA,GAAc,MAAMC,kBAAAA,CAAmBJ,gBAAkBD,EAAAA,MAAAA,CAAAA;IAE/DM,wBAAyBF,CAAAA,WAAAA,CAAAA;;;IAIzB,KAAK,MAAMG,cAAcH,WAAa,CAAA;AACpCJ,QAAAA,MAAAA,CAAOQ,MAAM,CAACC,GAAG,CAACF,WAAWG,OAAO,CAAA;AACtC;AACF;AAEA;;;IAIA,MAAMP,2BAA2B,OAAOR,MAAAA,GAAAA;IACtC,IAAI;QACF,MAAMX,sBAAAA,CAAuB2B,QAAQ,CAAChB,MAAQ,EAAA;YAAEiB,MAAQ,EAAA,IAAA;YAAMC,UAAY,EAAA;AAAM,SAAA,CAAA;AAClF,KAAA,CAAE,OAAOC,KAAO,EAAA;AACd,QAAA,MAAM,IAAIC,KACR,CAAA,yGAAA,CAAA;AAEJ;AACF,CAAA;AAEA;;;IAIA,MAAMT,2BAA2B,CAACF,WAAAA,GAAAA;AAChC,IAAA,MAAMY,kBAAqBjC,GAAAA,mBAAAA,CAAoBkC,MAAM,CAAC,CAACxB,IAAAA,GAAAA;QACrD,OAAOW,WAAAA,CAAYc,SAAS,CAAC,CAACC,MAAQA,GAAI1B,CAAAA,IAAI,KAAKA,IAAAA,CAAAA,KAAU,CAAC,CAAA;AAChE,KAAA,CAAA;IAEA,IAAIuB,kBAAAA,CAAmBI,MAAM,GAAG,CAAG,EAAA;QACjC,MAAM,IAAIL,KACR,CAAA,CAAC,+EAA+E,EAAEC,mBAAmBK,IAAI,CACvG,IACA,CAAA,CAAA,EAAE,CAAC,CAAA;AAET;AACF,CAAA;;;;"}
@@ -1,76 +1,99 @@
1
- "use strict";
2
- const _ = require("lodash");
3
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
4
- const ___default = /* @__PURE__ */ _interopDefault(_);
5
- const createRouteScopeGenerator = (namespace) => (route) => {
6
- const prefix = namespace.endsWith("::") ? namespace : `${namespace}.`;
7
- if (typeof route.handler === "string") {
8
- ___default.default.defaultsDeep(route, {
9
- config: {
10
- auth: {
11
- scope: [`${route.handler.startsWith(prefix) ? "" : prefix}${route.handler}`]
1
+ 'use strict';
2
+
3
+ var _ = require('lodash');
4
+
5
+ const createRouteScopeGenerator = (namespace)=>(route)=>{
6
+ const prefix = namespace.endsWith('::') ? namespace : `${namespace}.`;
7
+ if (typeof route.handler === 'string') {
8
+ _.defaultsDeep(route, {
9
+ config: {
10
+ auth: {
11
+ scope: [
12
+ `${route.handler.startsWith(prefix) ? '' : prefix}${route.handler}`
13
+ ]
14
+ }
15
+ }
16
+ });
12
17
  }
13
- }
18
+ };
19
+ /**
20
+ * Register all routes
21
+ */ var registerAllRoutes = ((strapi)=>{
22
+ registerAdminRoutes(strapi);
23
+ registerAPIRoutes(strapi);
24
+ registerPluginRoutes(strapi);
25
+ });
26
+ /**
27
+ * Register admin routes
28
+ * @param {import('../../').Strapi} strapi
29
+ */ const registerAdminRoutes = (strapi)=>{
30
+ const generateRouteScope = createRouteScopeGenerator(`admin::`);
31
+ _.forEach(strapi.admin.routes, (router)=>{
32
+ router.type = router.type || 'admin';
33
+ router.prefix = router.prefix || `/admin`;
34
+ router.routes.forEach((route)=>{
35
+ generateRouteScope(route);
36
+ route.info = {
37
+ pluginName: 'admin'
38
+ };
39
+ });
40
+ strapi.server.routes(router);
14
41
  });
15
- }
16
- };
17
- const registerAllRoutes = (strapi) => {
18
- registerAdminRoutes(strapi);
19
- registerAPIRoutes(strapi);
20
- registerPluginRoutes(strapi);
21
42
  };
22
- const registerAdminRoutes = (strapi) => {
23
- const generateRouteScope = createRouteScopeGenerator(`admin::`);
24
- ___default.default.forEach(strapi.admin.routes, (router) => {
25
- router.type = router.type || "admin";
26
- router.prefix = router.prefix || `/admin`;
27
- router.routes.forEach((route) => {
28
- generateRouteScope(route);
29
- route.info = { pluginName: "admin" };
30
- });
31
- strapi.server.routes(router);
32
- });
43
+ /**
44
+ * Register plugin routes
45
+ * @param {import('../../').Strapi} strapi
46
+ */ const registerPluginRoutes = (strapi)=>{
47
+ for (const pluginName of Object.keys(strapi.plugins)){
48
+ const plugin = strapi.plugins[pluginName];
49
+ const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);
50
+ if (Array.isArray(plugin.routes)) {
51
+ plugin.routes.forEach((route)=>{
52
+ generateRouteScope(route);
53
+ route.info = {
54
+ pluginName
55
+ };
56
+ });
57
+ strapi.server.routes({
58
+ type: 'admin',
59
+ prefix: `/${pluginName}`,
60
+ routes: plugin.routes
61
+ });
62
+ } else {
63
+ _.forEach(plugin.routes, (router)=>{
64
+ router.type = router.type || 'admin';
65
+ router.prefix = router.prefix || `/${pluginName}`;
66
+ router.routes.forEach((route)=>{
67
+ generateRouteScope(route);
68
+ route.info = {
69
+ pluginName
70
+ };
71
+ });
72
+ strapi.server.routes(router);
73
+ });
74
+ }
75
+ }
33
76
  };
34
- const registerPluginRoutes = (strapi) => {
35
- for (const pluginName of Object.keys(strapi.plugins)) {
36
- const plugin = strapi.plugins[pluginName];
37
- const generateRouteScope = createRouteScopeGenerator(`plugin::${pluginName}`);
38
- if (Array.isArray(plugin.routes)) {
39
- plugin.routes.forEach((route) => {
40
- generateRouteScope(route);
41
- route.info = { pluginName };
42
- });
43
- strapi.server.routes({
44
- type: "admin",
45
- prefix: `/${pluginName}`,
46
- routes: plugin.routes
47
- });
48
- } else {
49
- ___default.default.forEach(plugin.routes, (router) => {
50
- router.type = router.type || "admin";
51
- router.prefix = router.prefix || `/${pluginName}`;
52
- router.routes.forEach((route) => {
53
- generateRouteScope(route);
54
- route.info = { pluginName };
77
+ /**
78
+ * Register api routes
79
+ */ const registerAPIRoutes = (strapi)=>{
80
+ for (const apiName of Object.keys(strapi.apis)){
81
+ const api = strapi.api(apiName);
82
+ const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);
83
+ _.forEach(api.routes, (router)=>{
84
+ // TODO: remove once auth setup
85
+ // pass meta down to compose endpoint
86
+ router.type = 'content-api';
87
+ router.routes?.forEach((route)=>{
88
+ generateRouteScope(route);
89
+ route.info = {
90
+ apiName
91
+ };
92
+ });
93
+ return strapi.server.routes(router);
55
94
  });
56
- strapi.server.routes(router);
57
- });
58
95
  }
59
- }
60
- };
61
- const registerAPIRoutes = (strapi) => {
62
- for (const apiName of Object.keys(strapi.apis)) {
63
- const api = strapi.api(apiName);
64
- const generateRouteScope = createRouteScopeGenerator(`api::${apiName}`);
65
- ___default.default.forEach(api.routes, (router) => {
66
- router.type = "content-api";
67
- router.routes?.forEach((route) => {
68
- generateRouteScope(route);
69
- route.info = { apiName };
70
- });
71
- return strapi.server.routes(router);
72
- });
73
- }
74
96
  };
97
+
75
98
  module.exports = registerAllRoutes;
76
99
  //# sourceMappingURL=register-routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-routes.js","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;AACrCA,eAAA,QAAE,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;AAE9DA,aAAA,QAAE,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;AACLA,iBAAAA,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;AAEtEA,eAAAA,QAAE,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.js","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":["createRouteScopeGenerator","namespace","route","prefix","endsWith","handler","_","defaultsDeep","config","auth","scope","startsWith","strapi","registerAdminRoutes","registerAPIRoutes","registerPluginRoutes","generateRouteScope","forEach","admin","routes","router","type","info","pluginName","server","Object","keys","plugins","plugin","Array","isArray","apiName","apis","api"],"mappings":";;;;AAGA,MAAMA,yBAAAA,GAA4B,CAACC,SAAAA,GAAsB,CAACC,KAAAA,GAAAA;QACxD,MAAMC,MAAAA,GAASF,SAAUG,CAAAA,QAAQ,CAAC,IAAA,CAAA,GAAQH,YAAY,CAAC,EAAEA,SAAU,CAAA,CAAC,CAAC;AAErE,QAAA,IAAI,OAAOC,KAAAA,CAAMG,OAAO,KAAK,QAAU,EAAA;YACrCC,CAAEC,CAAAA,YAAY,CAACL,KAAO,EAAA;gBACpBM,MAAQ,EAAA;oBACNC,IAAM,EAAA;wBACJC,KAAO,EAAA;AAAC,4BAAA,CAAC,EAAER,KAAAA,CAAMG,OAAO,CAACM,UAAU,CAACR,MAAU,CAAA,GAAA,EAAA,GAAKA,MAAO,CAAA,EAAED,KAAMG,CAAAA,OAAO,CAAC;AAAE;AAC9E;AACF;AACF,aAAA,CAAA;AACF;AACF,KAAA;AAEA;;IAGA,wBAAe,CAAA,CAACO,MAAAA,GAAAA;IACdC,mBAAoBD,CAAAA,MAAAA,CAAAA;IACpBE,iBAAkBF,CAAAA,MAAAA,CAAAA;IAClBG,oBAAqBH,CAAAA,MAAAA,CAAAA;AACvB,CAAA;AAEA;;;IAIA,MAAMC,sBAAsB,CAACD,MAAAA,GAAAA;AAC3B,IAAA,MAAMI,kBAAqBhB,GAAAA,yBAAAA,CAA0B,CAAC,OAAO,CAAC,CAAA;AAE9DM,IAAAA,CAAAA,CAAEW,OAAO,CAACL,MAAAA,CAAOM,KAAK,CAACC,MAAM,EAAE,CAACC,MAAAA,GAAAA;AAC9BA,QAAAA,MAAAA,CAAOC,IAAI,GAAGD,MAAOC,CAAAA,IAAI,IAAI,OAAA;AAC7BD,QAAAA,MAAAA,CAAOjB,MAAM,GAAGiB,MAAAA,CAAOjB,MAAM,IAAI,CAAC,MAAM,CAAC;AACzCiB,QAAAA,MAAAA,CAAOD,MAAM,CAACF,OAAO,CAAC,CAACf,KAAAA,GAAAA;YACrBc,kBAAmBd,CAAAA,KAAAA,CAAAA;AACnBA,YAAAA,KAAAA,CAAMoB,IAAI,GAAG;gBAAEC,UAAY,EAAA;AAAQ,aAAA;AACrC,SAAA,CAAA;QACAX,MAAOY,CAAAA,MAAM,CAACL,MAAM,CAACC,MAAAA,CAAAA;AACvB,KAAA,CAAA;AACF,CAAA;AAEA;;;IAIA,MAAML,uBAAuB,CAACH,MAAAA,GAAAA;AAC5B,IAAA,KAAK,MAAMW,UAAcE,IAAAA,MAAAA,CAAOC,IAAI,CAACd,MAAAA,CAAOe,OAAO,CAAG,CAAA;AACpD,QAAA,MAAMC,MAAShB,GAAAA,MAAAA,CAAOe,OAAO,CAACJ,UAAW,CAAA;AAEzC,QAAA,MAAMP,qBAAqBhB,yBAA0B,CAAA,CAAC,QAAQ,EAAEuB,WAAW,CAAC,CAAA;AAE5E,QAAA,IAAIM,KAAMC,CAAAA,OAAO,CAACF,MAAAA,CAAOT,MAAM,CAAG,EAAA;AAChCS,YAAAA,MAAAA,CAAOT,MAAM,CAACF,OAAO,CAAC,CAACf,KAAAA,GAAAA;gBACrBc,kBAAmBd,CAAAA,KAAAA,CAAAA;AACnBA,gBAAAA,KAAAA,CAAMoB,IAAI,GAAG;AAAEC,oBAAAA;AAAW,iBAAA;AAC5B,aAAA,CAAA;YAEAX,MAAOY,CAAAA,MAAM,CAACL,MAAM,CAAC;gBACnBE,IAAM,EAAA,OAAA;AACNlB,gBAAAA,MAAAA,EAAQ,CAAC,CAAC,EAAEoB,UAAAA,CAAW,CAAC;AACxBJ,gBAAAA,MAAAA,EAAQS,OAAOT;AACjB,aAAA,CAAA;SACK,MAAA;AACLb,YAAAA,CAAAA,CAAEW,OAAO,CAACW,MAAOT,CAAAA,MAAM,EAAE,CAACC,MAAAA,GAAAA;AACxBA,gBAAAA,MAAAA,CAAOC,IAAI,GAAGD,MAAOC,CAAAA,IAAI,IAAI,OAAA;gBAC7BD,MAAOjB,CAAAA,MAAM,GAAGiB,MAAOjB,CAAAA,MAAM,IAAI,CAAC,CAAC,EAAEoB,UAAAA,CAAW,CAAC;AACjDH,gBAAAA,MAAAA,CAAOD,MAAM,CAACF,OAAO,CAAC,CAACf,KAAAA,GAAAA;oBACrBc,kBAAmBd,CAAAA,KAAAA,CAAAA;AACnBA,oBAAAA,KAAAA,CAAMoB,IAAI,GAAG;AAAEC,wBAAAA;AAAW,qBAAA;AAC5B,iBAAA,CAAA;gBAEAX,MAAOY,CAAAA,MAAM,CAACL,MAAM,CAACC,MAAAA,CAAAA;AACvB,aAAA,CAAA;AACF;AACF;AACF,CAAA;AAEA;;IAGA,MAAMN,oBAAoB,CAACF,MAAAA,GAAAA;AACzB,IAAA,KAAK,MAAMmB,OAAWN,IAAAA,MAAAA,CAAOC,IAAI,CAACd,MAAAA,CAAOoB,IAAI,CAAG,CAAA;QAC9C,MAAMC,GAAAA,GAAMrB,MAAOqB,CAAAA,GAAG,CAACF,OAAAA,CAAAA;AAEvB,QAAA,MAAMf,qBAAqBhB,yBAA0B,CAAA,CAAC,KAAK,EAAE+B,QAAQ,CAAC,CAAA;AAEtEzB,QAAAA,CAAAA,CAAEW,OAAO,CAACgB,GAAId,CAAAA,MAAM,EAAE,CAACC,MAAAA,GAAAA;;;AAGrBA,YAAAA,MAAAA,CAAOC,IAAI,GAAG,aAAA;YACdD,MAAOD,CAAAA,MAAM,EAAEF,OAAAA,CAAQ,CAACf,KAAAA,GAAAA;gBACtBc,kBAAmBd,CAAAA,KAAAA,CAAAA;AACnBA,gBAAAA,KAAAA,CAAMoB,IAAI,GAAG;AAAES,oBAAAA;AAAQ,iBAAA;AACzB,aAAA,CAAA;AAEA,YAAA,OAAOnB,MAAOY,CAAAA,MAAM,CAACL,MAAM,CAACC,MAAAA,CAAAA;AAC9B,SAAA,CAAA;AACF;AACF,CAAA;;;;"}