@strapi/core 0.0.0-experimental.e14656d3b8681880212c13260b9a2b340c182f2d → 0.0.0-experimental.e21fe90bf2ab9906267ea6e6ca620bdcc729906c

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 (730) 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.map +1 -1
  19. package/dist/configuration/index.js +84 -73
  20. package/dist/configuration/index.js.map +1 -1
  21. package/dist/configuration/index.mjs +83 -69
  22. package/dist/configuration/index.mjs.map +1 -1
  23. package/dist/configuration/urls.d.ts.map +1 -1
  24. package/dist/configuration/urls.js +74 -61
  25. package/dist/configuration/urls.js.map +1 -1
  26. package/dist/configuration/urls.mjs +73 -62
  27. package/dist/configuration/urls.mjs.map +1 -1
  28. package/dist/container.js +27 -23
  29. package/dist/container.js.map +1 -1
  30. package/dist/container.mjs +26 -24
  31. package/dist/container.mjs.map +1 -1
  32. package/dist/core-api/controller/collection-type.js +77 -76
  33. package/dist/core-api/controller/collection-type.js.map +1 -1
  34. package/dist/core-api/controller/collection-type.mjs +76 -77
  35. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  36. package/dist/core-api/controller/index.js +63 -48
  37. package/dist/core-api/controller/index.js.map +1 -1
  38. package/dist/core-api/controller/index.mjs +62 -49
  39. package/dist/core-api/controller/index.mjs.map +1 -1
  40. package/dist/core-api/controller/single-type.js +41 -40
  41. package/dist/core-api/controller/single-type.js.map +1 -1
  42. package/dist/core-api/controller/single-type.mjs +40 -41
  43. package/dist/core-api/controller/single-type.mjs.map +1 -1
  44. package/dist/core-api/controller/transform.js +72 -63
  45. package/dist/core-api/controller/transform.js.map +1 -1
  46. package/dist/core-api/controller/transform.mjs +71 -64
  47. package/dist/core-api/controller/transform.mjs.map +1 -1
  48. package/dist/core-api/routes/index.js +64 -62
  49. package/dist/core-api/routes/index.js.map +1 -1
  50. package/dist/core-api/routes/index.mjs +62 -62
  51. package/dist/core-api/routes/index.mjs.map +1 -1
  52. package/dist/core-api/service/collection-type.d.ts +2 -2
  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 -132
  92. package/dist/ee/index.js.map +1 -1
  93. package/dist/ee/index.mjs +170 -134
  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 +99 -75
  97. package/dist/ee/license.js.map +1 -1
  98. package/dist/ee/license.mjs +98 -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.d.ts.map +1 -1
  130. package/dist/loaders/plugins/get-enabled-plugins.js +125 -127
  131. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  132. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -104
  133. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  134. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  135. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  136. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  137. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  138. package/dist/loaders/plugins/index.d.ts.map +1 -1
  139. package/dist/loaders/plugins/index.js +141 -104
  140. package/dist/loaders/plugins/index.js.map +1 -1
  141. package/dist/loaders/plugins/index.mjs +121 -104
  142. package/dist/loaders/plugins/index.mjs.map +1 -1
  143. package/dist/loaders/policies.js +24 -20
  144. package/dist/loaders/policies.js.map +1 -1
  145. package/dist/loaders/policies.mjs +23 -20
  146. package/dist/loaders/policies.mjs.map +1 -1
  147. package/dist/loaders/sanitizers.js +10 -4
  148. package/dist/loaders/sanitizers.js.map +1 -1
  149. package/dist/loaders/sanitizers.mjs +9 -6
  150. package/dist/loaders/sanitizers.mjs.map +1 -1
  151. package/dist/loaders/src-index.js +35 -27
  152. package/dist/loaders/src-index.js.map +1 -1
  153. package/dist/loaders/src-index.mjs +34 -29
  154. package/dist/loaders/src-index.mjs.map +1 -1
  155. package/dist/loaders/validators.js +9 -4
  156. package/dist/loaders/validators.js.map +1 -1
  157. package/dist/loaders/validators.mjs +8 -6
  158. package/dist/loaders/validators.mjs.map +1 -1
  159. package/dist/middlewares/body.d.ts.map +1 -1
  160. package/dist/middlewares/body.js +58 -54
  161. package/dist/middlewares/body.js.map +1 -1
  162. package/dist/middlewares/body.mjs +57 -51
  163. package/dist/middlewares/body.mjs.map +1 -1
  164. package/dist/middlewares/compression.js +6 -6
  165. package/dist/middlewares/compression.js.map +1 -1
  166. package/dist/middlewares/compression.mjs +5 -5
  167. package/dist/middlewares/compression.mjs.map +1 -1
  168. package/dist/middlewares/cors.js +59 -48
  169. package/dist/middlewares/cors.js.map +1 -1
  170. package/dist/middlewares/cors.mjs +58 -47
  171. package/dist/middlewares/cors.mjs.map +1 -1
  172. package/dist/middlewares/errors.js +32 -30
  173. package/dist/middlewares/errors.js.map +1 -1
  174. package/dist/middlewares/errors.mjs +31 -31
  175. package/dist/middlewares/errors.mjs.map +1 -1
  176. package/dist/middlewares/favicon.js +27 -17
  177. package/dist/middlewares/favicon.js.map +1 -1
  178. package/dist/middlewares/favicon.mjs +26 -16
  179. package/dist/middlewares/favicon.mjs.map +1 -1
  180. package/dist/middlewares/index.js +32 -30
  181. package/dist/middlewares/index.js.map +1 -1
  182. package/dist/middlewares/index.mjs +31 -31
  183. package/dist/middlewares/index.mjs.map +1 -1
  184. package/dist/middlewares/ip.js +6 -6
  185. package/dist/middlewares/ip.js.map +1 -1
  186. package/dist/middlewares/ip.mjs +5 -5
  187. package/dist/middlewares/ip.mjs.map +1 -1
  188. package/dist/middlewares/logger.js +10 -9
  189. package/dist/middlewares/logger.js.map +1 -1
  190. package/dist/middlewares/logger.mjs +9 -10
  191. package/dist/middlewares/logger.mjs.map +1 -1
  192. package/dist/middlewares/powered-by.js +13 -9
  193. package/dist/middlewares/powered-by.js.map +1 -1
  194. package/dist/middlewares/powered-by.mjs +12 -10
  195. package/dist/middlewares/powered-by.mjs.map +1 -1
  196. package/dist/middlewares/public.js +33 -29
  197. package/dist/middlewares/public.js.map +1 -1
  198. package/dist/middlewares/public.mjs +32 -28
  199. package/dist/middlewares/public.mjs.map +1 -1
  200. package/dist/middlewares/query.js +35 -32
  201. package/dist/middlewares/query.js.map +1 -1
  202. package/dist/middlewares/query.mjs +34 -31
  203. package/dist/middlewares/query.mjs.map +1 -1
  204. package/dist/middlewares/response-time.js +10 -9
  205. package/dist/middlewares/response-time.js.map +1 -1
  206. package/dist/middlewares/response-time.mjs +9 -10
  207. package/dist/middlewares/response-time.mjs.map +1 -1
  208. package/dist/middlewares/responses.js +14 -12
  209. package/dist/middlewares/responses.js.map +1 -1
  210. package/dist/middlewares/responses.mjs +13 -13
  211. package/dist/middlewares/responses.mjs.map +1 -1
  212. package/dist/middlewares/security.d.ts.map +1 -1
  213. package/dist/middlewares/security.js +109 -71
  214. package/dist/middlewares/security.js.map +1 -1
  215. package/dist/middlewares/security.mjs +108 -70
  216. package/dist/middlewares/security.mjs.map +1 -1
  217. package/dist/middlewares/session.js +26 -25
  218. package/dist/middlewares/session.js.map +1 -1
  219. package/dist/middlewares/session.mjs +25 -24
  220. package/dist/middlewares/session.mjs.map +1 -1
  221. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +14 -11
  222. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  223. package/dist/migrations/database/5.0.0-discard-drafts.js +153 -35
  224. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  225. package/dist/migrations/database/5.0.0-discard-drafts.mjs +152 -37
  226. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  227. package/dist/migrations/draft-publish.d.ts +2 -2
  228. package/dist/migrations/draft-publish.d.ts.map +1 -1
  229. package/dist/migrations/draft-publish.js +61 -34
  230. package/dist/migrations/draft-publish.js.map +1 -1
  231. package/dist/migrations/draft-publish.mjs +60 -36
  232. package/dist/migrations/draft-publish.mjs.map +1 -1
  233. package/dist/migrations/i18n.d.ts +5 -0
  234. package/dist/migrations/i18n.d.ts.map +1 -0
  235. package/dist/migrations/i18n.js +71 -0
  236. package/dist/migrations/i18n.js.map +1 -0
  237. package/dist/migrations/i18n.mjs +68 -0
  238. package/dist/migrations/i18n.mjs.map +1 -0
  239. package/dist/migrations/index.d.ts +5 -0
  240. package/dist/migrations/index.d.ts.map +1 -0
  241. package/dist/migrations/index.js +29 -0
  242. package/dist/migrations/index.js.map +1 -0
  243. package/dist/migrations/index.mjs +26 -0
  244. package/dist/migrations/index.mjs.map +1 -0
  245. package/dist/package.json.js +182 -0
  246. package/dist/package.json.js.map +1 -0
  247. package/dist/package.json.mjs +159 -0
  248. package/dist/package.json.mjs.map +1 -0
  249. package/dist/providers/admin.d.ts.map +1 -1
  250. package/dist/providers/admin.js +27 -17
  251. package/dist/providers/admin.js.map +1 -1
  252. package/dist/providers/admin.mjs +26 -19
  253. package/dist/providers/admin.mjs.map +1 -1
  254. package/dist/providers/coreStore.js +13 -8
  255. package/dist/providers/coreStore.js.map +1 -1
  256. package/dist/providers/coreStore.mjs +12 -10
  257. package/dist/providers/coreStore.mjs.map +1 -1
  258. package/dist/providers/cron.js +19 -16
  259. package/dist/providers/cron.js.map +1 -1
  260. package/dist/providers/cron.mjs +18 -18
  261. package/dist/providers/cron.mjs.map +1 -1
  262. package/dist/providers/index.js +18 -9
  263. package/dist/providers/index.js.map +1 -1
  264. package/dist/providers/index.mjs +17 -10
  265. package/dist/providers/index.mjs.map +1 -1
  266. package/dist/providers/provider.js +4 -3
  267. package/dist/providers/provider.js.map +1 -1
  268. package/dist/providers/provider.mjs +3 -4
  269. package/dist/providers/provider.mjs.map +1 -1
  270. package/dist/providers/registries.js +37 -32
  271. package/dist/providers/registries.js.map +1 -1
  272. package/dist/providers/registries.mjs +36 -34
  273. package/dist/providers/registries.mjs.map +1 -1
  274. package/dist/providers/telemetry.js +19 -16
  275. package/dist/providers/telemetry.js.map +1 -1
  276. package/dist/providers/telemetry.mjs +18 -18
  277. package/dist/providers/telemetry.mjs.map +1 -1
  278. package/dist/providers/webhooks.js +28 -26
  279. package/dist/providers/webhooks.js.map +1 -1
  280. package/dist/providers/webhooks.mjs +27 -28
  281. package/dist/providers/webhooks.mjs.map +1 -1
  282. package/dist/registries/apis.js +23 -20
  283. package/dist/registries/apis.js.map +1 -1
  284. package/dist/registries/apis.mjs +22 -22
  285. package/dist/registries/apis.mjs.map +1 -1
  286. package/dist/registries/components.js +35 -37
  287. package/dist/registries/components.js.map +1 -1
  288. package/dist/registries/components.mjs +34 -39
  289. package/dist/registries/components.mjs.map +1 -1
  290. package/dist/registries/content-types.js +54 -59
  291. package/dist/registries/content-types.js.map +1 -1
  292. package/dist/registries/content-types.mjs +53 -61
  293. package/dist/registries/content-types.mjs.map +1 -1
  294. package/dist/registries/controllers.js +70 -71
  295. package/dist/registries/controllers.js.map +1 -1
  296. package/dist/registries/controllers.mjs +69 -73
  297. package/dist/registries/controllers.mjs.map +1 -1
  298. package/dist/registries/custom-fields.js +75 -65
  299. package/dist/registries/custom-fields.js.map +1 -1
  300. package/dist/registries/custom-fields.mjs +74 -67
  301. package/dist/registries/custom-fields.mjs.map +1 -1
  302. package/dist/registries/hooks.js +46 -49
  303. package/dist/registries/hooks.js.map +1 -1
  304. package/dist/registries/hooks.mjs +45 -51
  305. package/dist/registries/hooks.mjs.map +1 -1
  306. package/dist/registries/middlewares.js +49 -51
  307. package/dist/registries/middlewares.js.map +1 -1
  308. package/dist/registries/middlewares.mjs +48 -53
  309. package/dist/registries/middlewares.mjs.map +1 -1
  310. package/dist/registries/models.js +14 -13
  311. package/dist/registries/models.js.map +1 -1
  312. package/dist/registries/models.mjs +13 -14
  313. package/dist/registries/models.mjs.map +1 -1
  314. package/dist/registries/modules.js +39 -36
  315. package/dist/registries/modules.js.map +1 -1
  316. package/dist/registries/modules.mjs +38 -38
  317. package/dist/registries/modules.mjs.map +1 -1
  318. package/dist/registries/namespace.js +21 -20
  319. package/dist/registries/namespace.js.map +1 -1
  320. package/dist/registries/namespace.mjs +20 -23
  321. package/dist/registries/namespace.mjs.map +1 -1
  322. package/dist/registries/plugins.js +23 -20
  323. package/dist/registries/plugins.js.map +1 -1
  324. package/dist/registries/plugins.mjs +22 -22
  325. package/dist/registries/plugins.mjs.map +1 -1
  326. package/dist/registries/policies.js +103 -96
  327. package/dist/registries/policies.js.map +1 -1
  328. package/dist/registries/policies.mjs +102 -98
  329. package/dist/registries/policies.mjs.map +1 -1
  330. package/dist/registries/sanitizers.js +23 -22
  331. package/dist/registries/sanitizers.js.map +1 -1
  332. package/dist/registries/sanitizers.mjs +22 -22
  333. package/dist/registries/sanitizers.mjs.map +1 -1
  334. package/dist/registries/services.js +71 -71
  335. package/dist/registries/services.js.map +1 -1
  336. package/dist/registries/services.mjs +70 -73
  337. package/dist/registries/services.mjs.map +1 -1
  338. package/dist/registries/validators.js +23 -22
  339. package/dist/registries/validators.js.map +1 -1
  340. package/dist/registries/validators.mjs +22 -22
  341. package/dist/registries/validators.mjs.map +1 -1
  342. package/dist/services/auth/index.js +74 -74
  343. package/dist/services/auth/index.js.map +1 -1
  344. package/dist/services/auth/index.mjs +73 -74
  345. package/dist/services/auth/index.mjs.map +1 -1
  346. package/dist/services/config.js +47 -43
  347. package/dist/services/config.js.map +1 -1
  348. package/dist/services/config.mjs +46 -44
  349. package/dist/services/config.mjs.map +1 -1
  350. package/dist/services/content-api/index.d.ts +6 -2
  351. package/dist/services/content-api/index.d.ts.map +1 -1
  352. package/dist/services/content-api/index.js +80 -79
  353. package/dist/services/content-api/index.js.map +1 -1
  354. package/dist/services/content-api/index.mjs +79 -79
  355. package/dist/services/content-api/index.mjs.map +1 -1
  356. package/dist/services/content-api/permissions/engine.js +8 -5
  357. package/dist/services/content-api/permissions/engine.js.map +1 -1
  358. package/dist/services/content-api/permissions/engine.mjs +7 -5
  359. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  360. package/dist/services/content-api/permissions/index.d.ts +6 -2
  361. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  362. package/dist/services/content-api/permissions/index.js +101 -81
  363. package/dist/services/content-api/permissions/index.js.map +1 -1
  364. package/dist/services/content-api/permissions/index.mjs +100 -81
  365. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  366. package/dist/services/content-api/permissions/providers/action.d.ts +3 -1
  367. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  368. package/dist/services/content-api/permissions/providers/action.js +17 -14
  369. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  370. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  371. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  372. package/dist/services/content-api/permissions/providers/condition.d.ts +3 -1
  373. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  374. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  375. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  376. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  377. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  378. package/dist/services/core-store.js +115 -95
  379. package/dist/services/core-store.js.map +1 -1
  380. package/dist/services/core-store.mjs +114 -97
  381. package/dist/services/core-store.mjs.map +1 -1
  382. package/dist/services/cron.d.ts +3 -3
  383. package/dist/services/cron.d.ts.map +1 -1
  384. package/dist/services/cron.js +74 -60
  385. package/dist/services/cron.js.map +1 -1
  386. package/dist/services/cron.mjs +73 -62
  387. package/dist/services/cron.mjs.map +1 -1
  388. package/dist/services/custom-fields.js +9 -7
  389. package/dist/services/custom-fields.js.map +1 -1
  390. package/dist/services/custom-fields.mjs +8 -9
  391. package/dist/services/custom-fields.mjs.map +1 -1
  392. package/dist/services/document-service/attributes/index.js +23 -18
  393. package/dist/services/document-service/attributes/index.js.map +1 -1
  394. package/dist/services/document-service/attributes/index.mjs +22 -19
  395. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  396. package/dist/services/document-service/attributes/transforms.js +16 -15
  397. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  398. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  399. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  400. package/dist/services/document-service/common.d.ts +1 -1
  401. package/dist/services/document-service/common.d.ts.map +1 -1
  402. package/dist/services/document-service/common.js +5 -4
  403. package/dist/services/document-service/common.js.map +1 -1
  404. package/dist/services/document-service/common.mjs +4 -5
  405. package/dist/services/document-service/common.mjs.map +1 -1
  406. package/dist/services/document-service/components.d.ts.map +1 -1
  407. package/dist/services/document-service/components.js +255 -257
  408. package/dist/services/document-service/components.js.map +1 -1
  409. package/dist/services/document-service/components.mjs +254 -262
  410. package/dist/services/document-service/components.mjs.map +1 -1
  411. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  412. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  413. package/dist/services/document-service/draft-and-publish.js +88 -48
  414. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  415. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  416. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  417. package/dist/services/document-service/entries.d.ts +2 -2
  418. package/dist/services/document-service/entries.d.ts.map +1 -1
  419. package/dist/services/document-service/entries.js +109 -92
  420. package/dist/services/document-service/entries.js.map +1 -1
  421. package/dist/services/document-service/entries.mjs +108 -93
  422. package/dist/services/document-service/entries.mjs.map +1 -1
  423. package/dist/services/document-service/events.d.ts +1 -1
  424. package/dist/services/document-service/events.d.ts.map +1 -1
  425. package/dist/services/document-service/events.js +52 -40
  426. package/dist/services/document-service/events.js.map +1 -1
  427. package/dist/services/document-service/events.mjs +51 -41
  428. package/dist/services/document-service/events.mjs.map +1 -1
  429. package/dist/services/document-service/index.d.ts +2 -1
  430. package/dist/services/document-service/index.d.ts.map +1 -1
  431. package/dist/services/document-service/index.js +53 -32
  432. package/dist/services/document-service/index.js.map +1 -1
  433. package/dist/services/document-service/index.mjs +52 -33
  434. package/dist/services/document-service/index.mjs.map +1 -1
  435. package/dist/services/document-service/internationalization.js +62 -46
  436. package/dist/services/document-service/internationalization.js.map +1 -1
  437. package/dist/services/document-service/internationalization.mjs +61 -50
  438. package/dist/services/document-service/internationalization.mjs.map +1 -1
  439. package/dist/services/document-service/middlewares/errors.js +23 -19
  440. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  441. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  442. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  443. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  444. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  445. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  446. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  447. package/dist/services/document-service/params.js +11 -5
  448. package/dist/services/document-service/params.js.map +1 -1
  449. package/dist/services/document-service/params.mjs +10 -6
  450. package/dist/services/document-service/params.mjs.map +1 -1
  451. package/dist/services/document-service/repository.d.ts.map +1 -1
  452. package/dist/services/document-service/repository.js +355 -269
  453. package/dist/services/document-service/repository.js.map +1 -1
  454. package/dist/services/document-service/repository.mjs +354 -270
  455. package/dist/services/document-service/repository.mjs.map +1 -1
  456. package/dist/services/document-service/transform/data.js +22 -12
  457. package/dist/services/document-service/transform/data.js.map +1 -1
  458. package/dist/services/document-service/transform/data.mjs +21 -13
  459. package/dist/services/document-service/transform/data.mjs.map +1 -1
  460. package/dist/services/document-service/transform/fields.js +26 -17
  461. package/dist/services/document-service/transform/fields.js.map +1 -1
  462. package/dist/services/document-service/transform/fields.mjs +25 -18
  463. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  464. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  465. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  466. package/dist/services/document-service/transform/id-map.js +116 -69
  467. package/dist/services/document-service/transform/id-map.js.map +1 -1
  468. package/dist/services/document-service/transform/id-map.mjs +115 -70
  469. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  470. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  471. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  472. package/dist/services/document-service/transform/id-transform.js +37 -29
  473. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  474. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  475. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  476. package/dist/services/document-service/transform/populate.js +23 -18
  477. package/dist/services/document-service/transform/populate.js.map +1 -1
  478. package/dist/services/document-service/transform/populate.mjs +22 -19
  479. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  480. package/dist/services/document-service/transform/query.js +11 -6
  481. package/dist/services/document-service/transform/query.js.map +1 -1
  482. package/dist/services/document-service/transform/query.mjs +10 -7
  483. package/dist/services/document-service/transform/query.mjs.map +1 -1
  484. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  485. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  486. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  487. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  488. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  489. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  490. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  491. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  492. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  493. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  494. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  495. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  496. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  497. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  498. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  499. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  500. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  501. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  502. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  503. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  504. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  505. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  506. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  507. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  508. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  509. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  510. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  511. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  512. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  513. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  514. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  515. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  516. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  517. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  518. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  519. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  520. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  521. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  522. package/dist/services/document-service/utils/populate.d.ts +1 -1
  523. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  524. package/dist/services/document-service/utils/populate.js +67 -41
  525. package/dist/services/document-service/utils/populate.js.map +1 -1
  526. package/dist/services/document-service/utils/populate.mjs +66 -42
  527. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  528. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  529. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  530. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  531. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  532. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  533. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  534. package/dist/services/entity-service/index.js +230 -161
  535. package/dist/services/entity-service/index.js.map +1 -1
  536. package/dist/services/entity-service/index.mjs +229 -160
  537. package/dist/services/entity-service/index.mjs.map +1 -1
  538. package/dist/services/entity-validator/blocks-validator.js +135 -103
  539. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  540. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  541. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  542. package/dist/services/entity-validator/index.d.ts +1 -1
  543. package/dist/services/entity-validator/index.d.ts.map +1 -1
  544. package/dist/services/entity-validator/index.js +362 -363
  545. package/dist/services/entity-validator/index.js.map +1 -1
  546. package/dist/services/entity-validator/index.mjs +358 -360
  547. package/dist/services/entity-validator/index.mjs.map +1 -1
  548. package/dist/services/entity-validator/validators.js +268 -210
  549. package/dist/services/entity-validator/validators.js.map +1 -1
  550. package/dist/services/entity-validator/validators.mjs +267 -216
  551. package/dist/services/entity-validator/validators.mjs.map +1 -1
  552. package/dist/services/errors.js +65 -65
  553. package/dist/services/errors.js.map +1 -1
  554. package/dist/services/errors.mjs +64 -66
  555. package/dist/services/errors.mjs.map +1 -1
  556. package/dist/services/event-hub.js +82 -69
  557. package/dist/services/event-hub.js.map +1 -1
  558. package/dist/services/event-hub.mjs +81 -71
  559. package/dist/services/event-hub.mjs.map +1 -1
  560. package/dist/services/features.js +19 -14
  561. package/dist/services/features.js.map +1 -1
  562. package/dist/services/features.mjs +18 -15
  563. package/dist/services/features.mjs.map +1 -1
  564. package/dist/services/fs.js +41 -40
  565. package/dist/services/fs.js.map +1 -1
  566. package/dist/services/fs.mjs +40 -39
  567. package/dist/services/fs.mjs.map +1 -1
  568. package/dist/services/metrics/admin-user-hash.js +13 -11
  569. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  570. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  571. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  572. package/dist/services/metrics/index.js +46 -40
  573. package/dist/services/metrics/index.js.map +1 -1
  574. package/dist/services/metrics/index.mjs +45 -42
  575. package/dist/services/metrics/index.mjs.map +1 -1
  576. package/dist/services/metrics/is-truthy.js +13 -6
  577. package/dist/services/metrics/is-truthy.js.map +1 -1
  578. package/dist/services/metrics/is-truthy.mjs +12 -6
  579. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  580. package/dist/services/metrics/middleware.d.ts.map +1 -1
  581. package/dist/services/metrics/middleware.js +37 -22
  582. package/dist/services/metrics/middleware.js.map +1 -1
  583. package/dist/services/metrics/middleware.mjs +36 -24
  584. package/dist/services/metrics/middleware.mjs.map +1 -1
  585. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  586. package/dist/services/metrics/rate-limiter.js +24 -19
  587. package/dist/services/metrics/rate-limiter.js.map +1 -1
  588. package/dist/services/metrics/rate-limiter.mjs +23 -21
  589. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  590. package/dist/services/metrics/sender.js +78 -69
  591. package/dist/services/metrics/sender.js.map +1 -1
  592. package/dist/services/metrics/sender.mjs +77 -64
  593. package/dist/services/metrics/sender.mjs.map +1 -1
  594. package/dist/services/query-params.js +13 -10
  595. package/dist/services/query-params.js.map +1 -1
  596. package/dist/services/query-params.mjs +12 -12
  597. package/dist/services/query-params.mjs.map +1 -1
  598. package/dist/services/reloader.js +35 -32
  599. package/dist/services/reloader.js.map +1 -1
  600. package/dist/services/reloader.mjs +34 -33
  601. package/dist/services/reloader.mjs.map +1 -1
  602. package/dist/services/request-context.js +11 -8
  603. package/dist/services/request-context.js.map +1 -1
  604. package/dist/services/request-context.mjs +10 -10
  605. package/dist/services/request-context.mjs.map +1 -1
  606. package/dist/services/server/admin-api.js +11 -10
  607. package/dist/services/server/admin-api.js.map +1 -1
  608. package/dist/services/server/admin-api.mjs +10 -11
  609. package/dist/services/server/admin-api.mjs.map +1 -1
  610. package/dist/services/server/api.js +33 -27
  611. package/dist/services/server/api.js.map +1 -1
  612. package/dist/services/server/api.mjs +32 -26
  613. package/dist/services/server/api.mjs.map +1 -1
  614. package/dist/services/server/compose-endpoint.js +116 -105
  615. package/dist/services/server/compose-endpoint.js.map +1 -1
  616. package/dist/services/server/compose-endpoint.mjs +115 -105
  617. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  618. package/dist/services/server/content-api.js +11 -9
  619. package/dist/services/server/content-api.js.map +1 -1
  620. package/dist/services/server/content-api.mjs +10 -10
  621. package/dist/services/server/content-api.mjs.map +1 -1
  622. package/dist/services/server/http-server.js +48 -44
  623. package/dist/services/server/http-server.js.map +1 -1
  624. package/dist/services/server/http-server.mjs +47 -43
  625. package/dist/services/server/http-server.mjs.map +1 -1
  626. package/dist/services/server/index.js +85 -82
  627. package/dist/services/server/index.js.map +1 -1
  628. package/dist/services/server/index.mjs +84 -81
  629. package/dist/services/server/index.mjs.map +1 -1
  630. package/dist/services/server/koa.js +49 -47
  631. package/dist/services/server/koa.js.map +1 -1
  632. package/dist/services/server/koa.mjs +48 -44
  633. package/dist/services/server/koa.mjs.map +1 -1
  634. package/dist/services/server/middleware.js +86 -82
  635. package/dist/services/server/middleware.js.map +1 -1
  636. package/dist/services/server/middleware.mjs +85 -82
  637. package/dist/services/server/middleware.mjs.map +1 -1
  638. package/dist/services/server/policy.js +24 -17
  639. package/dist/services/server/policy.js.map +1 -1
  640. package/dist/services/server/policy.mjs +23 -18
  641. package/dist/services/server/policy.mjs.map +1 -1
  642. package/dist/services/server/register-middlewares.js +68 -61
  643. package/dist/services/server/register-middlewares.js.map +1 -1
  644. package/dist/services/server/register-middlewares.mjs +67 -63
  645. package/dist/services/server/register-middlewares.mjs.map +1 -1
  646. package/dist/services/server/register-routes.js +90 -67
  647. package/dist/services/server/register-routes.js.map +1 -1
  648. package/dist/services/server/register-routes.mjs +89 -67
  649. package/dist/services/server/register-routes.mjs.map +1 -1
  650. package/dist/services/server/routing.js +94 -81
  651. package/dist/services/server/routing.js.map +1 -1
  652. package/dist/services/server/routing.mjs +93 -81
  653. package/dist/services/server/routing.mjs.map +1 -1
  654. package/dist/services/utils/dynamic-zones.js +13 -14
  655. package/dist/services/utils/dynamic-zones.js.map +1 -1
  656. package/dist/services/utils/dynamic-zones.mjs +12 -16
  657. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  658. package/dist/services/webhook-runner.js +124 -122
  659. package/dist/services/webhook-runner.js.map +1 -1
  660. package/dist/services/webhook-runner.mjs +123 -121
  661. package/dist/services/webhook-runner.mjs.map +1 -1
  662. package/dist/services/webhook-store.js +132 -99
  663. package/dist/services/webhook-store.js.map +1 -1
  664. package/dist/services/webhook-store.mjs +131 -101
  665. package/dist/services/webhook-store.mjs.map +1 -1
  666. package/dist/services/worker-queue.js +44 -49
  667. package/dist/services/worker-queue.js.map +1 -1
  668. package/dist/services/worker-queue.mjs +43 -49
  669. package/dist/services/worker-queue.mjs.map +1 -1
  670. package/dist/utils/convert-custom-field-type.js +17 -20
  671. package/dist/utils/convert-custom-field-type.js.map +1 -1
  672. package/dist/utils/convert-custom-field-type.mjs +16 -21
  673. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  674. package/dist/utils/cron.js +64 -30
  675. package/dist/utils/cron.js.map +1 -1
  676. package/dist/utils/cron.mjs +63 -31
  677. package/dist/utils/cron.mjs.map +1 -1
  678. package/dist/utils/fetch.js +24 -18
  679. package/dist/utils/fetch.js.map +1 -1
  680. package/dist/utils/fetch.mjs +23 -19
  681. package/dist/utils/fetch.mjs.map +1 -1
  682. package/dist/utils/filepath-to-prop-path.js +20 -28
  683. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  684. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  685. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  686. package/dist/utils/is-initialized.js +21 -12
  687. package/dist/utils/is-initialized.js.map +1 -1
  688. package/dist/utils/is-initialized.mjs +20 -13
  689. package/dist/utils/is-initialized.mjs.map +1 -1
  690. package/dist/utils/lifecycles.js +6 -5
  691. package/dist/utils/lifecycles.js.map +1 -1
  692. package/dist/utils/lifecycles.mjs +5 -6
  693. package/dist/utils/lifecycles.mjs.map +1 -1
  694. package/dist/utils/load-config-file.js +40 -38
  695. package/dist/utils/load-config-file.js.map +1 -1
  696. package/dist/utils/load-config-file.mjs +39 -36
  697. package/dist/utils/load-config-file.mjs.map +1 -1
  698. package/dist/utils/load-files.js +40 -35
  699. package/dist/utils/load-files.js.map +1 -1
  700. package/dist/utils/load-files.mjs +39 -32
  701. package/dist/utils/load-files.mjs.map +1 -1
  702. package/dist/utils/open-browser.js +8 -8
  703. package/dist/utils/open-browser.js.map +1 -1
  704. package/dist/utils/open-browser.mjs +7 -7
  705. package/dist/utils/open-browser.mjs.map +1 -1
  706. package/dist/utils/resolve-working-dirs.js +23 -10
  707. package/dist/utils/resolve-working-dirs.js.map +1 -1
  708. package/dist/utils/resolve-working-dirs.mjs +22 -9
  709. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  710. package/dist/utils/signals.js +20 -14
  711. package/dist/utils/signals.js.map +1 -1
  712. package/dist/utils/signals.mjs +19 -15
  713. package/dist/utils/signals.mjs.map +1 -1
  714. package/dist/utils/startup-logger.d.ts.map +1 -1
  715. package/dist/utils/startup-logger.js +107 -78
  716. package/dist/utils/startup-logger.js.map +1 -1
  717. package/dist/utils/startup-logger.mjs +106 -75
  718. package/dist/utils/startup-logger.mjs.map +1 -1
  719. package/dist/utils/transform-content-types-to-models.d.ts +353 -21
  720. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  721. package/dist/utils/transform-content-types-to-models.js +350 -261
  722. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  723. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  724. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  725. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  726. package/dist/utils/update-notifier/index.js +68 -73
  727. package/dist/utils/update-notifier/index.js.map +1 -1
  728. package/dist/utils/update-notifier/index.mjs +67 -67
  729. package/dist/utils/update-notifier/index.mjs.map +1 -1
  730. package/package.json +30 -31
@@ -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;;;;"}