@strapi/core 0.0.0-next.7ff82e00c12aa44d99b20c7b95fe781a4b8d7435 → 0.0.0-next.80ec10b8360bdbe4b2b4254c1e028f847875b1b2

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 (696) hide show
  1. package/dist/Strapi.js +426 -408
  2. package/dist/Strapi.js.map +1 -1
  3. package/dist/Strapi.mjs +426 -408
  4. package/dist/Strapi.mjs.map +1 -1
  5. package/dist/compile.js +23 -14
  6. package/dist/compile.js.map +1 -1
  7. package/dist/compile.mjs +22 -14
  8. package/dist/compile.mjs.map +1 -1
  9. package/dist/configuration/config-loader.js +110 -96
  10. package/dist/configuration/config-loader.js.map +1 -1
  11. package/dist/configuration/config-loader.mjs +109 -95
  12. package/dist/configuration/config-loader.mjs.map +1 -1
  13. package/dist/configuration/get-dirs.js +31 -29
  14. package/dist/configuration/get-dirs.js.map +1 -1
  15. package/dist/configuration/get-dirs.mjs +30 -30
  16. package/dist/configuration/get-dirs.mjs.map +1 -1
  17. package/dist/configuration/index.d.ts.map +1 -1
  18. package/dist/configuration/index.js +84 -78
  19. package/dist/configuration/index.js.map +1 -1
  20. package/dist/configuration/index.mjs +83 -74
  21. package/dist/configuration/index.mjs.map +1 -1
  22. package/dist/configuration/urls.d.ts.map +1 -1
  23. package/dist/configuration/urls.js +74 -61
  24. package/dist/configuration/urls.js.map +1 -1
  25. package/dist/configuration/urls.mjs +73 -62
  26. package/dist/configuration/urls.mjs.map +1 -1
  27. package/dist/container.js +27 -23
  28. package/dist/container.js.map +1 -1
  29. package/dist/container.mjs +26 -24
  30. package/dist/container.mjs.map +1 -1
  31. package/dist/core-api/controller/collection-type.js +77 -76
  32. package/dist/core-api/controller/collection-type.js.map +1 -1
  33. package/dist/core-api/controller/collection-type.mjs +76 -77
  34. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  35. package/dist/core-api/controller/index.js +63 -48
  36. package/dist/core-api/controller/index.js.map +1 -1
  37. package/dist/core-api/controller/index.mjs +62 -49
  38. package/dist/core-api/controller/index.mjs.map +1 -1
  39. package/dist/core-api/controller/single-type.js +41 -40
  40. package/dist/core-api/controller/single-type.js.map +1 -1
  41. package/dist/core-api/controller/single-type.mjs +40 -41
  42. package/dist/core-api/controller/single-type.mjs.map +1 -1
  43. package/dist/core-api/controller/transform.js +72 -63
  44. package/dist/core-api/controller/transform.js.map +1 -1
  45. package/dist/core-api/controller/transform.mjs +71 -64
  46. package/dist/core-api/controller/transform.mjs.map +1 -1
  47. package/dist/core-api/routes/index.js +64 -62
  48. package/dist/core-api/routes/index.js.map +1 -1
  49. package/dist/core-api/routes/index.mjs +62 -62
  50. package/dist/core-api/routes/index.mjs.map +1 -1
  51. package/dist/core-api/service/collection-type.js +73 -60
  52. package/dist/core-api/service/collection-type.js.map +1 -1
  53. package/dist/core-api/service/collection-type.mjs +72 -62
  54. package/dist/core-api/service/collection-type.mjs.map +1 -1
  55. package/dist/core-api/service/core-service.js +9 -8
  56. package/dist/core-api/service/core-service.js.map +1 -1
  57. package/dist/core-api/service/core-service.mjs +8 -9
  58. package/dist/core-api/service/core-service.mjs.map +1 -1
  59. package/dist/core-api/service/index.js +13 -13
  60. package/dist/core-api/service/index.js.map +1 -1
  61. package/dist/core-api/service/index.mjs +12 -14
  62. package/dist/core-api/service/index.mjs.map +1 -1
  63. package/dist/core-api/service/pagination.js +69 -43
  64. package/dist/core-api/service/pagination.js.map +1 -1
  65. package/dist/core-api/service/pagination.mjs +68 -47
  66. package/dist/core-api/service/pagination.mjs.map +1 -1
  67. package/dist/core-api/service/single-type.js +43 -38
  68. package/dist/core-api/service/single-type.js.map +1 -1
  69. package/dist/core-api/service/single-type.mjs +42 -40
  70. package/dist/core-api/service/single-type.mjs.map +1 -1
  71. package/dist/domain/content-type/index.js +95 -100
  72. package/dist/domain/content-type/index.js.map +1 -1
  73. package/dist/domain/content-type/index.mjs +94 -100
  74. package/dist/domain/content-type/index.mjs.map +1 -1
  75. package/dist/domain/content-type/validator.js +84 -69
  76. package/dist/domain/content-type/validator.js.map +1 -1
  77. package/dist/domain/content-type/validator.mjs +83 -68
  78. package/dist/domain/content-type/validator.mjs.map +1 -1
  79. package/dist/domain/module/index.js +109 -100
  80. package/dist/domain/module/index.js.map +1 -1
  81. package/dist/domain/module/index.mjs +108 -99
  82. package/dist/domain/module/index.mjs.map +1 -1
  83. package/dist/domain/module/validation.js +25 -20
  84. package/dist/domain/module/validation.js.map +1 -1
  85. package/dist/domain/module/validation.mjs +24 -21
  86. package/dist/domain/module/validation.mjs.map +1 -1
  87. package/dist/ee/index.d.ts +1 -0
  88. package/dist/ee/index.d.ts.map +1 -1
  89. package/dist/ee/index.js +171 -137
  90. package/dist/ee/index.js.map +1 -1
  91. package/dist/ee/index.mjs +170 -139
  92. package/dist/ee/index.mjs.map +1 -1
  93. package/dist/ee/license.d.ts.map +1 -1
  94. package/dist/ee/license.js +99 -75
  95. package/dist/ee/license.js.map +1 -1
  96. package/dist/ee/license.mjs +98 -76
  97. package/dist/ee/license.mjs.map +1 -1
  98. package/dist/factories.js +72 -67
  99. package/dist/factories.js.map +1 -1
  100. package/dist/factories.mjs +71 -71
  101. package/dist/factories.mjs.map +1 -1
  102. package/dist/index.js +29 -26
  103. package/dist/index.js.map +1 -1
  104. package/dist/index.mjs +29 -29
  105. package/dist/index.mjs.map +1 -1
  106. package/dist/loaders/admin.d.ts.map +1 -1
  107. package/dist/loaders/admin.js +21 -20
  108. package/dist/loaders/admin.js.map +1 -1
  109. package/dist/loaders/admin.mjs +20 -20
  110. package/dist/loaders/admin.mjs.map +1 -1
  111. package/dist/loaders/apis.js +143 -120
  112. package/dist/loaders/apis.js.map +1 -1
  113. package/dist/loaders/apis.mjs +142 -119
  114. package/dist/loaders/apis.mjs.map +1 -1
  115. package/dist/loaders/components.js +33 -34
  116. package/dist/loaders/components.js.map +1 -1
  117. package/dist/loaders/components.mjs +32 -34
  118. package/dist/loaders/components.mjs.map +1 -1
  119. package/dist/loaders/index.js +22 -20
  120. package/dist/loaders/index.js.map +1 -1
  121. package/dist/loaders/index.mjs +21 -21
  122. package/dist/loaders/index.mjs.map +1 -1
  123. package/dist/loaders/middlewares.js +29 -25
  124. package/dist/loaders/middlewares.js.map +1 -1
  125. package/dist/loaders/middlewares.mjs +28 -25
  126. package/dist/loaders/middlewares.mjs.map +1 -1
  127. package/dist/loaders/plugins/get-enabled-plugins.js +126 -131
  128. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  129. package/dist/loaders/plugins/get-enabled-plugins.mjs +125 -108
  130. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  131. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  132. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  133. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  134. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  135. package/dist/loaders/plugins/index.js +132 -121
  136. package/dist/loaders/plugins/index.js.map +1 -1
  137. package/dist/loaders/plugins/index.mjs +121 -112
  138. package/dist/loaders/plugins/index.mjs.map +1 -1
  139. package/dist/loaders/policies.js +24 -20
  140. package/dist/loaders/policies.js.map +1 -1
  141. package/dist/loaders/policies.mjs +23 -20
  142. package/dist/loaders/policies.mjs.map +1 -1
  143. package/dist/loaders/sanitizers.js +10 -4
  144. package/dist/loaders/sanitizers.js.map +1 -1
  145. package/dist/loaders/sanitizers.mjs +9 -6
  146. package/dist/loaders/sanitizers.mjs.map +1 -1
  147. package/dist/loaders/src-index.js +35 -27
  148. package/dist/loaders/src-index.js.map +1 -1
  149. package/dist/loaders/src-index.mjs +34 -29
  150. package/dist/loaders/src-index.mjs.map +1 -1
  151. package/dist/loaders/validators.js +9 -4
  152. package/dist/loaders/validators.js.map +1 -1
  153. package/dist/loaders/validators.mjs +8 -6
  154. package/dist/loaders/validators.mjs.map +1 -1
  155. package/dist/middlewares/body.d.ts.map +1 -1
  156. package/dist/middlewares/body.js +58 -54
  157. package/dist/middlewares/body.js.map +1 -1
  158. package/dist/middlewares/body.mjs +57 -51
  159. package/dist/middlewares/body.mjs.map +1 -1
  160. package/dist/middlewares/compression.js +6 -6
  161. package/dist/middlewares/compression.js.map +1 -1
  162. package/dist/middlewares/compression.mjs +5 -5
  163. package/dist/middlewares/compression.mjs.map +1 -1
  164. package/dist/middlewares/cors.js +59 -48
  165. package/dist/middlewares/cors.js.map +1 -1
  166. package/dist/middlewares/cors.mjs +58 -47
  167. package/dist/middlewares/cors.mjs.map +1 -1
  168. package/dist/middlewares/errors.js +32 -30
  169. package/dist/middlewares/errors.js.map +1 -1
  170. package/dist/middlewares/errors.mjs +31 -31
  171. package/dist/middlewares/errors.mjs.map +1 -1
  172. package/dist/middlewares/favicon.js +27 -17
  173. package/dist/middlewares/favicon.js.map +1 -1
  174. package/dist/middlewares/favicon.mjs +26 -16
  175. package/dist/middlewares/favicon.mjs.map +1 -1
  176. package/dist/middlewares/index.js +32 -30
  177. package/dist/middlewares/index.js.map +1 -1
  178. package/dist/middlewares/index.mjs +31 -31
  179. package/dist/middlewares/index.mjs.map +1 -1
  180. package/dist/middlewares/ip.js +6 -6
  181. package/dist/middlewares/ip.js.map +1 -1
  182. package/dist/middlewares/ip.mjs +5 -5
  183. package/dist/middlewares/ip.mjs.map +1 -1
  184. package/dist/middlewares/logger.js +10 -9
  185. package/dist/middlewares/logger.js.map +1 -1
  186. package/dist/middlewares/logger.mjs +9 -10
  187. package/dist/middlewares/logger.mjs.map +1 -1
  188. package/dist/middlewares/powered-by.js +13 -9
  189. package/dist/middlewares/powered-by.js.map +1 -1
  190. package/dist/middlewares/powered-by.mjs +12 -10
  191. package/dist/middlewares/powered-by.mjs.map +1 -1
  192. package/dist/middlewares/public.js +33 -29
  193. package/dist/middlewares/public.js.map +1 -1
  194. package/dist/middlewares/public.mjs +32 -28
  195. package/dist/middlewares/public.mjs.map +1 -1
  196. package/dist/middlewares/query.js +35 -32
  197. package/dist/middlewares/query.js.map +1 -1
  198. package/dist/middlewares/query.mjs +34 -31
  199. package/dist/middlewares/query.mjs.map +1 -1
  200. package/dist/middlewares/response-time.js +10 -9
  201. package/dist/middlewares/response-time.js.map +1 -1
  202. package/dist/middlewares/response-time.mjs +9 -10
  203. package/dist/middlewares/response-time.mjs.map +1 -1
  204. package/dist/middlewares/responses.js +14 -12
  205. package/dist/middlewares/responses.js.map +1 -1
  206. package/dist/middlewares/responses.mjs +13 -13
  207. package/dist/middlewares/responses.mjs.map +1 -1
  208. package/dist/middlewares/security.js +109 -71
  209. package/dist/middlewares/security.js.map +1 -1
  210. package/dist/middlewares/security.mjs +108 -70
  211. package/dist/middlewares/security.mjs.map +1 -1
  212. package/dist/middlewares/session.js +26 -25
  213. package/dist/middlewares/session.js.map +1 -1
  214. package/dist/middlewares/session.mjs +25 -24
  215. package/dist/middlewares/session.mjs.map +1 -1
  216. package/dist/migrations/database/5.0.0-discard-drafts.js +152 -93
  217. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  218. package/dist/migrations/database/5.0.0-discard-drafts.mjs +151 -95
  219. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  220. package/dist/migrations/draft-publish.d.ts +1 -1
  221. package/dist/migrations/draft-publish.d.ts.map +1 -1
  222. package/dist/migrations/draft-publish.js +61 -34
  223. package/dist/migrations/draft-publish.js.map +1 -1
  224. package/dist/migrations/draft-publish.mjs +60 -36
  225. package/dist/migrations/draft-publish.mjs.map +1 -1
  226. package/dist/migrations/i18n.js +62 -45
  227. package/dist/migrations/i18n.js.map +1 -1
  228. package/dist/migrations/i18n.mjs +61 -47
  229. package/dist/migrations/i18n.mjs.map +1 -1
  230. package/dist/migrations/index.js +24 -10
  231. package/dist/migrations/index.js.map +1 -1
  232. package/dist/migrations/index.mjs +23 -12
  233. package/dist/migrations/index.mjs.map +1 -1
  234. package/dist/package.json.js +182 -0
  235. package/dist/package.json.js.map +1 -0
  236. package/dist/package.json.mjs +159 -0
  237. package/dist/package.json.mjs.map +1 -0
  238. package/dist/providers/admin.js +27 -17
  239. package/dist/providers/admin.js.map +1 -1
  240. package/dist/providers/admin.mjs +26 -19
  241. package/dist/providers/admin.mjs.map +1 -1
  242. package/dist/providers/coreStore.js +13 -8
  243. package/dist/providers/coreStore.js.map +1 -1
  244. package/dist/providers/coreStore.mjs +12 -10
  245. package/dist/providers/coreStore.mjs.map +1 -1
  246. package/dist/providers/cron.js +19 -16
  247. package/dist/providers/cron.js.map +1 -1
  248. package/dist/providers/cron.mjs +18 -18
  249. package/dist/providers/cron.mjs.map +1 -1
  250. package/dist/providers/index.js +18 -9
  251. package/dist/providers/index.js.map +1 -1
  252. package/dist/providers/index.mjs +17 -10
  253. package/dist/providers/index.mjs.map +1 -1
  254. package/dist/providers/provider.js +4 -3
  255. package/dist/providers/provider.js.map +1 -1
  256. package/dist/providers/provider.mjs +3 -4
  257. package/dist/providers/provider.mjs.map +1 -1
  258. package/dist/providers/registries.js +37 -32
  259. package/dist/providers/registries.js.map +1 -1
  260. package/dist/providers/registries.mjs +36 -34
  261. package/dist/providers/registries.mjs.map +1 -1
  262. package/dist/providers/telemetry.js +19 -16
  263. package/dist/providers/telemetry.js.map +1 -1
  264. package/dist/providers/telemetry.mjs +18 -18
  265. package/dist/providers/telemetry.mjs.map +1 -1
  266. package/dist/providers/webhooks.js +28 -26
  267. package/dist/providers/webhooks.js.map +1 -1
  268. package/dist/providers/webhooks.mjs +27 -28
  269. package/dist/providers/webhooks.mjs.map +1 -1
  270. package/dist/registries/apis.js +23 -20
  271. package/dist/registries/apis.js.map +1 -1
  272. package/dist/registries/apis.mjs +22 -22
  273. package/dist/registries/apis.mjs.map +1 -1
  274. package/dist/registries/components.js +35 -37
  275. package/dist/registries/components.js.map +1 -1
  276. package/dist/registries/components.mjs +34 -39
  277. package/dist/registries/components.mjs.map +1 -1
  278. package/dist/registries/content-types.js +54 -59
  279. package/dist/registries/content-types.js.map +1 -1
  280. package/dist/registries/content-types.mjs +53 -61
  281. package/dist/registries/content-types.mjs.map +1 -1
  282. package/dist/registries/controllers.js +70 -71
  283. package/dist/registries/controllers.js.map +1 -1
  284. package/dist/registries/controllers.mjs +69 -73
  285. package/dist/registries/controllers.mjs.map +1 -1
  286. package/dist/registries/custom-fields.js +75 -65
  287. package/dist/registries/custom-fields.js.map +1 -1
  288. package/dist/registries/custom-fields.mjs +74 -67
  289. package/dist/registries/custom-fields.mjs.map +1 -1
  290. package/dist/registries/hooks.js +46 -49
  291. package/dist/registries/hooks.js.map +1 -1
  292. package/dist/registries/hooks.mjs +45 -51
  293. package/dist/registries/hooks.mjs.map +1 -1
  294. package/dist/registries/middlewares.js +49 -51
  295. package/dist/registries/middlewares.js.map +1 -1
  296. package/dist/registries/middlewares.mjs +48 -53
  297. package/dist/registries/middlewares.mjs.map +1 -1
  298. package/dist/registries/models.js +14 -13
  299. package/dist/registries/models.js.map +1 -1
  300. package/dist/registries/models.mjs +13 -14
  301. package/dist/registries/models.mjs.map +1 -1
  302. package/dist/registries/modules.js +39 -36
  303. package/dist/registries/modules.js.map +1 -1
  304. package/dist/registries/modules.mjs +38 -38
  305. package/dist/registries/modules.mjs.map +1 -1
  306. package/dist/registries/namespace.js +21 -20
  307. package/dist/registries/namespace.js.map +1 -1
  308. package/dist/registries/namespace.mjs +20 -23
  309. package/dist/registries/namespace.mjs.map +1 -1
  310. package/dist/registries/plugins.js +23 -20
  311. package/dist/registries/plugins.js.map +1 -1
  312. package/dist/registries/plugins.mjs +22 -22
  313. package/dist/registries/plugins.mjs.map +1 -1
  314. package/dist/registries/policies.js +103 -96
  315. package/dist/registries/policies.js.map +1 -1
  316. package/dist/registries/policies.mjs +102 -98
  317. package/dist/registries/policies.mjs.map +1 -1
  318. package/dist/registries/sanitizers.js +23 -22
  319. package/dist/registries/sanitizers.js.map +1 -1
  320. package/dist/registries/sanitizers.mjs +22 -22
  321. package/dist/registries/sanitizers.mjs.map +1 -1
  322. package/dist/registries/services.js +71 -71
  323. package/dist/registries/services.js.map +1 -1
  324. package/dist/registries/services.mjs +70 -73
  325. package/dist/registries/services.mjs.map +1 -1
  326. package/dist/registries/validators.js +23 -22
  327. package/dist/registries/validators.js.map +1 -1
  328. package/dist/registries/validators.mjs +22 -22
  329. package/dist/registries/validators.mjs.map +1 -1
  330. package/dist/services/auth/index.js +74 -74
  331. package/dist/services/auth/index.js.map +1 -1
  332. package/dist/services/auth/index.mjs +73 -74
  333. package/dist/services/auth/index.mjs.map +1 -1
  334. package/dist/services/config.js +47 -43
  335. package/dist/services/config.js.map +1 -1
  336. package/dist/services/config.mjs +46 -44
  337. package/dist/services/config.mjs.map +1 -1
  338. package/dist/services/content-api/index.js +80 -79
  339. package/dist/services/content-api/index.js.map +1 -1
  340. package/dist/services/content-api/index.mjs +79 -79
  341. package/dist/services/content-api/index.mjs.map +1 -1
  342. package/dist/services/content-api/permissions/engine.js +8 -5
  343. package/dist/services/content-api/permissions/engine.js.map +1 -1
  344. package/dist/services/content-api/permissions/engine.mjs +7 -5
  345. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  346. package/dist/services/content-api/permissions/index.js +101 -81
  347. package/dist/services/content-api/permissions/index.js.map +1 -1
  348. package/dist/services/content-api/permissions/index.mjs +100 -81
  349. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  350. package/dist/services/content-api/permissions/providers/action.js +17 -14
  351. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  352. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  353. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  354. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  355. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  356. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  357. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  358. package/dist/services/core-store.js +115 -95
  359. package/dist/services/core-store.js.map +1 -1
  360. package/dist/services/core-store.mjs +114 -97
  361. package/dist/services/core-store.mjs.map +1 -1
  362. package/dist/services/cron.js +74 -64
  363. package/dist/services/cron.js.map +1 -1
  364. package/dist/services/cron.mjs +73 -66
  365. package/dist/services/cron.mjs.map +1 -1
  366. package/dist/services/custom-fields.js +9 -7
  367. package/dist/services/custom-fields.js.map +1 -1
  368. package/dist/services/custom-fields.mjs +8 -9
  369. package/dist/services/custom-fields.mjs.map +1 -1
  370. package/dist/services/document-service/attributes/index.js +23 -18
  371. package/dist/services/document-service/attributes/index.js.map +1 -1
  372. package/dist/services/document-service/attributes/index.mjs +22 -19
  373. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  374. package/dist/services/document-service/attributes/transforms.js +16 -15
  375. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  376. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  377. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  378. package/dist/services/document-service/common.js +5 -4
  379. package/dist/services/document-service/common.js.map +1 -1
  380. package/dist/services/document-service/common.mjs +4 -5
  381. package/dist/services/document-service/common.mjs.map +1 -1
  382. package/dist/services/document-service/components.js +255 -257
  383. package/dist/services/document-service/components.js.map +1 -1
  384. package/dist/services/document-service/components.mjs +254 -262
  385. package/dist/services/document-service/components.mjs.map +1 -1
  386. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  387. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  388. package/dist/services/document-service/draft-and-publish.js +88 -48
  389. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  390. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  391. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  392. package/dist/services/document-service/entries.js +109 -91
  393. package/dist/services/document-service/entries.js.map +1 -1
  394. package/dist/services/document-service/entries.mjs +108 -92
  395. package/dist/services/document-service/entries.mjs.map +1 -1
  396. package/dist/services/document-service/events.d.ts +1 -1
  397. package/dist/services/document-service/events.d.ts.map +1 -1
  398. package/dist/services/document-service/events.js +52 -40
  399. package/dist/services/document-service/events.js.map +1 -1
  400. package/dist/services/document-service/events.mjs +51 -41
  401. package/dist/services/document-service/events.mjs.map +1 -1
  402. package/dist/services/document-service/index.js +53 -33
  403. package/dist/services/document-service/index.js.map +1 -1
  404. package/dist/services/document-service/index.mjs +52 -34
  405. package/dist/services/document-service/index.mjs.map +1 -1
  406. package/dist/services/document-service/internationalization.js +62 -46
  407. package/dist/services/document-service/internationalization.js.map +1 -1
  408. package/dist/services/document-service/internationalization.mjs +61 -50
  409. package/dist/services/document-service/internationalization.mjs.map +1 -1
  410. package/dist/services/document-service/middlewares/errors.js +23 -19
  411. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  412. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  413. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  414. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  415. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  416. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  417. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  418. package/dist/services/document-service/params.js +11 -5
  419. package/dist/services/document-service/params.js.map +1 -1
  420. package/dist/services/document-service/params.mjs +10 -6
  421. package/dist/services/document-service/params.mjs.map +1 -1
  422. package/dist/services/document-service/repository.d.ts.map +1 -1
  423. package/dist/services/document-service/repository.js +353 -321
  424. package/dist/services/document-service/repository.js.map +1 -1
  425. package/dist/services/document-service/repository.mjs +352 -322
  426. package/dist/services/document-service/repository.mjs.map +1 -1
  427. package/dist/services/document-service/transform/data.js +22 -12
  428. package/dist/services/document-service/transform/data.js.map +1 -1
  429. package/dist/services/document-service/transform/data.mjs +21 -13
  430. package/dist/services/document-service/transform/data.mjs.map +1 -1
  431. package/dist/services/document-service/transform/fields.js +26 -17
  432. package/dist/services/document-service/transform/fields.js.map +1 -1
  433. package/dist/services/document-service/transform/fields.mjs +25 -18
  434. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  435. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  436. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  437. package/dist/services/document-service/transform/id-map.js +115 -75
  438. package/dist/services/document-service/transform/id-map.js.map +1 -1
  439. package/dist/services/document-service/transform/id-map.mjs +114 -76
  440. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  441. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  442. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  443. package/dist/services/document-service/transform/id-transform.js +37 -29
  444. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  445. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  446. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  447. package/dist/services/document-service/transform/populate.js +23 -18
  448. package/dist/services/document-service/transform/populate.js.map +1 -1
  449. package/dist/services/document-service/transform/populate.mjs +22 -19
  450. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  451. package/dist/services/document-service/transform/query.js +11 -6
  452. package/dist/services/document-service/transform/query.js.map +1 -1
  453. package/dist/services/document-service/transform/query.mjs +10 -7
  454. package/dist/services/document-service/transform/query.mjs.map +1 -1
  455. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  456. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  457. package/dist/services/document-service/transform/relations/extract/data-ids.js +70 -54
  458. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  459. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +69 -55
  460. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  461. package/dist/services/document-service/transform/relations/transform/data-ids.js +96 -71
  462. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  463. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +95 -72
  464. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  465. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  466. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  467. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  468. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  469. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  470. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  471. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  472. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  473. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  474. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  475. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  476. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  477. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  478. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  479. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  480. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  481. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -70
  482. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  483. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -72
  484. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  485. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  486. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  487. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  488. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  489. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  490. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  491. package/dist/services/document-service/utils/populate.d.ts +1 -1
  492. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  493. package/dist/services/document-service/utils/populate.js +66 -42
  494. package/dist/services/document-service/utils/populate.js.map +1 -1
  495. package/dist/services/document-service/utils/populate.mjs +65 -43
  496. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  497. package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
  498. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  499. package/dist/services/document-service/utils/unidirectional-relations.js +110 -62
  500. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -1
  501. package/dist/services/document-service/utils/unidirectional-relations.mjs +109 -64
  502. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -1
  503. package/dist/services/entity-service/index.js +230 -161
  504. package/dist/services/entity-service/index.js.map +1 -1
  505. package/dist/services/entity-service/index.mjs +229 -160
  506. package/dist/services/entity-service/index.mjs.map +1 -1
  507. package/dist/services/entity-validator/blocks-validator.js +135 -103
  508. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  509. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  510. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  511. package/dist/services/entity-validator/index.d.ts +1 -1
  512. package/dist/services/entity-validator/index.d.ts.map +1 -1
  513. package/dist/services/entity-validator/index.js +362 -367
  514. package/dist/services/entity-validator/index.js.map +1 -1
  515. package/dist/services/entity-validator/index.mjs +358 -364
  516. package/dist/services/entity-validator/index.mjs.map +1 -1
  517. package/dist/services/entity-validator/validators.js +268 -210
  518. package/dist/services/entity-validator/validators.js.map +1 -1
  519. package/dist/services/entity-validator/validators.mjs +267 -216
  520. package/dist/services/entity-validator/validators.mjs.map +1 -1
  521. package/dist/services/errors.js +65 -65
  522. package/dist/services/errors.js.map +1 -1
  523. package/dist/services/errors.mjs +64 -66
  524. package/dist/services/errors.mjs.map +1 -1
  525. package/dist/services/event-hub.js +82 -69
  526. package/dist/services/event-hub.js.map +1 -1
  527. package/dist/services/event-hub.mjs +81 -71
  528. package/dist/services/event-hub.mjs.map +1 -1
  529. package/dist/services/features.js +19 -14
  530. package/dist/services/features.js.map +1 -1
  531. package/dist/services/features.mjs +18 -15
  532. package/dist/services/features.mjs.map +1 -1
  533. package/dist/services/fs.js +41 -40
  534. package/dist/services/fs.js.map +1 -1
  535. package/dist/services/fs.mjs +40 -39
  536. package/dist/services/fs.mjs.map +1 -1
  537. package/dist/services/metrics/admin-user-hash.js +13 -11
  538. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  539. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  540. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  541. package/dist/services/metrics/index.js +46 -39
  542. package/dist/services/metrics/index.js.map +1 -1
  543. package/dist/services/metrics/index.mjs +45 -41
  544. package/dist/services/metrics/index.mjs.map +1 -1
  545. package/dist/services/metrics/is-truthy.js +13 -6
  546. package/dist/services/metrics/is-truthy.js.map +1 -1
  547. package/dist/services/metrics/is-truthy.mjs +12 -6
  548. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  549. package/dist/services/metrics/middleware.d.ts.map +1 -1
  550. package/dist/services/metrics/middleware.js +37 -22
  551. package/dist/services/metrics/middleware.js.map +1 -1
  552. package/dist/services/metrics/middleware.mjs +36 -24
  553. package/dist/services/metrics/middleware.mjs.map +1 -1
  554. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  555. package/dist/services/metrics/rate-limiter.js +24 -19
  556. package/dist/services/metrics/rate-limiter.js.map +1 -1
  557. package/dist/services/metrics/rate-limiter.mjs +23 -21
  558. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  559. package/dist/services/metrics/sender.js +78 -69
  560. package/dist/services/metrics/sender.js.map +1 -1
  561. package/dist/services/metrics/sender.mjs +77 -64
  562. package/dist/services/metrics/sender.mjs.map +1 -1
  563. package/dist/services/query-params.js +13 -10
  564. package/dist/services/query-params.js.map +1 -1
  565. package/dist/services/query-params.mjs +12 -12
  566. package/dist/services/query-params.mjs.map +1 -1
  567. package/dist/services/reloader.js +35 -32
  568. package/dist/services/reloader.js.map +1 -1
  569. package/dist/services/reloader.mjs +34 -33
  570. package/dist/services/reloader.mjs.map +1 -1
  571. package/dist/services/request-context.js +11 -8
  572. package/dist/services/request-context.js.map +1 -1
  573. package/dist/services/request-context.mjs +10 -10
  574. package/dist/services/request-context.mjs.map +1 -1
  575. package/dist/services/server/admin-api.js +11 -10
  576. package/dist/services/server/admin-api.js.map +1 -1
  577. package/dist/services/server/admin-api.mjs +10 -11
  578. package/dist/services/server/admin-api.mjs.map +1 -1
  579. package/dist/services/server/api.js +33 -27
  580. package/dist/services/server/api.js.map +1 -1
  581. package/dist/services/server/api.mjs +32 -26
  582. package/dist/services/server/api.mjs.map +1 -1
  583. package/dist/services/server/compose-endpoint.js +116 -105
  584. package/dist/services/server/compose-endpoint.js.map +1 -1
  585. package/dist/services/server/compose-endpoint.mjs +115 -105
  586. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  587. package/dist/services/server/content-api.js +11 -9
  588. package/dist/services/server/content-api.js.map +1 -1
  589. package/dist/services/server/content-api.mjs +10 -10
  590. package/dist/services/server/content-api.mjs.map +1 -1
  591. package/dist/services/server/http-server.js +48 -44
  592. package/dist/services/server/http-server.js.map +1 -1
  593. package/dist/services/server/http-server.mjs +47 -43
  594. package/dist/services/server/http-server.mjs.map +1 -1
  595. package/dist/services/server/index.js +85 -82
  596. package/dist/services/server/index.js.map +1 -1
  597. package/dist/services/server/index.mjs +84 -81
  598. package/dist/services/server/index.mjs.map +1 -1
  599. package/dist/services/server/koa.js +49 -47
  600. package/dist/services/server/koa.js.map +1 -1
  601. package/dist/services/server/koa.mjs +48 -44
  602. package/dist/services/server/koa.mjs.map +1 -1
  603. package/dist/services/server/middleware.js +86 -82
  604. package/dist/services/server/middleware.js.map +1 -1
  605. package/dist/services/server/middleware.mjs +85 -82
  606. package/dist/services/server/middleware.mjs.map +1 -1
  607. package/dist/services/server/policy.js +24 -17
  608. package/dist/services/server/policy.js.map +1 -1
  609. package/dist/services/server/policy.mjs +23 -18
  610. package/dist/services/server/policy.mjs.map +1 -1
  611. package/dist/services/server/register-middlewares.js +68 -61
  612. package/dist/services/server/register-middlewares.js.map +1 -1
  613. package/dist/services/server/register-middlewares.mjs +67 -63
  614. package/dist/services/server/register-middlewares.mjs.map +1 -1
  615. package/dist/services/server/register-routes.js +90 -67
  616. package/dist/services/server/register-routes.js.map +1 -1
  617. package/dist/services/server/register-routes.mjs +89 -67
  618. package/dist/services/server/register-routes.mjs.map +1 -1
  619. package/dist/services/server/routing.js +94 -81
  620. package/dist/services/server/routing.js.map +1 -1
  621. package/dist/services/server/routing.mjs +93 -81
  622. package/dist/services/server/routing.mjs.map +1 -1
  623. package/dist/services/utils/dynamic-zones.js +13 -14
  624. package/dist/services/utils/dynamic-zones.js.map +1 -1
  625. package/dist/services/utils/dynamic-zones.mjs +12 -16
  626. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  627. package/dist/services/webhook-runner.js +124 -122
  628. package/dist/services/webhook-runner.js.map +1 -1
  629. package/dist/services/webhook-runner.mjs +123 -121
  630. package/dist/services/webhook-runner.mjs.map +1 -1
  631. package/dist/services/webhook-store.js +132 -99
  632. package/dist/services/webhook-store.js.map +1 -1
  633. package/dist/services/webhook-store.mjs +131 -101
  634. package/dist/services/webhook-store.mjs.map +1 -1
  635. package/dist/services/worker-queue.js +44 -49
  636. package/dist/services/worker-queue.js.map +1 -1
  637. package/dist/services/worker-queue.mjs +43 -49
  638. package/dist/services/worker-queue.mjs.map +1 -1
  639. package/dist/utils/convert-custom-field-type.js +17 -20
  640. package/dist/utils/convert-custom-field-type.js.map +1 -1
  641. package/dist/utils/convert-custom-field-type.mjs +16 -21
  642. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  643. package/dist/utils/cron.js +64 -30
  644. package/dist/utils/cron.js.map +1 -1
  645. package/dist/utils/cron.mjs +63 -31
  646. package/dist/utils/cron.mjs.map +1 -1
  647. package/dist/utils/fetch.js +24 -18
  648. package/dist/utils/fetch.js.map +1 -1
  649. package/dist/utils/fetch.mjs +23 -19
  650. package/dist/utils/fetch.mjs.map +1 -1
  651. package/dist/utils/filepath-to-prop-path.js +20 -28
  652. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  653. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  654. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  655. package/dist/utils/is-initialized.js +21 -12
  656. package/dist/utils/is-initialized.js.map +1 -1
  657. package/dist/utils/is-initialized.mjs +20 -13
  658. package/dist/utils/is-initialized.mjs.map +1 -1
  659. package/dist/utils/lifecycles.js +6 -5
  660. package/dist/utils/lifecycles.js.map +1 -1
  661. package/dist/utils/lifecycles.mjs +5 -6
  662. package/dist/utils/lifecycles.mjs.map +1 -1
  663. package/dist/utils/load-config-file.js +40 -38
  664. package/dist/utils/load-config-file.js.map +1 -1
  665. package/dist/utils/load-config-file.mjs +39 -36
  666. package/dist/utils/load-config-file.mjs.map +1 -1
  667. package/dist/utils/load-files.js +40 -34
  668. package/dist/utils/load-files.js.map +1 -1
  669. package/dist/utils/load-files.mjs +39 -31
  670. package/dist/utils/load-files.mjs.map +1 -1
  671. package/dist/utils/open-browser.js +8 -8
  672. package/dist/utils/open-browser.js.map +1 -1
  673. package/dist/utils/open-browser.mjs +7 -7
  674. package/dist/utils/open-browser.mjs.map +1 -1
  675. package/dist/utils/resolve-working-dirs.js +23 -10
  676. package/dist/utils/resolve-working-dirs.js.map +1 -1
  677. package/dist/utils/resolve-working-dirs.mjs +22 -9
  678. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  679. package/dist/utils/signals.js +20 -14
  680. package/dist/utils/signals.js.map +1 -1
  681. package/dist/utils/signals.mjs +19 -15
  682. package/dist/utils/signals.mjs.map +1 -1
  683. package/dist/utils/startup-logger.js +107 -83
  684. package/dist/utils/startup-logger.js.map +1 -1
  685. package/dist/utils/startup-logger.mjs +106 -80
  686. package/dist/utils/startup-logger.mjs.map +1 -1
  687. package/dist/utils/transform-content-types-to-models.js +350 -261
  688. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  689. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  690. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  691. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  692. package/dist/utils/update-notifier/index.js +68 -73
  693. package/dist/utils/update-notifier/index.js.map +1 -1
  694. package/dist/utils/update-notifier/index.mjs +67 -67
  695. package/dist/utils/update-notifier/index.mjs.map +1 -1
  696. package/package.json +24 -24
@@ -1,48 +1,52 @@
1
- import { camelCase, isNil } from "lodash/fp";
2
- import Koa from "koa";
3
- import createError from "http-errors";
4
- import delegate from "delegates";
5
- import statuses from "statuses";
6
- import { formatHttpError } from "../errors.mjs";
7
- const addCustomMethods = (app) => {
8
- const delegator = delegate(app.context, "response");
9
- statuses.codes.filter((code) => code >= 400 && code < 600).forEach((code) => {
10
- const name = statuses(code);
11
- const camelCasedName = camelCase(name);
12
- app.response[camelCasedName] = function responseCode(message = name, details = {}) {
13
- const httpError = createError(code, message, { details });
14
- const { status, body } = formatHttpError(httpError);
15
- this.status = status;
16
- this.body = body;
1
+ import { camelCase, isNil } from 'lodash/fp';
2
+ import Koa from 'koa';
3
+ import createError from 'http-errors';
4
+ import delegate from 'delegates';
5
+ import statuses from 'statuses';
6
+ import { formatHttpError } from '../errors.mjs';
7
+
8
+ const addCustomMethods = (app)=>{
9
+ const delegator = delegate(app.context, 'response');
10
+ /* errors */ statuses.codes.filter((code)=>code >= 400 && code < 600).forEach((code)=>{
11
+ const name = statuses(code);
12
+ const camelCasedName = camelCase(name);
13
+ app.response[camelCasedName] = function responseCode(message = name, details = {}) {
14
+ const httpError = createError(code, message, {
15
+ details
16
+ });
17
+ const { status, body } = formatHttpError(httpError);
18
+ this.status = status;
19
+ this.body = body;
20
+ };
21
+ delegator.method(camelCasedName);
22
+ });
23
+ /* send, created, deleted */ app.response.send = function send(data, status = 200) {
24
+ this.status = status;
25
+ this.body = data;
17
26
  };
18
- delegator.method(camelCasedName);
19
- });
20
- app.response.send = function send(data, status = 200) {
21
- this.status = status;
22
- this.body = data;
23
- };
24
- app.response.created = function created(data) {
25
- this.status = 201;
26
- this.body = data;
27
- };
28
- app.response.deleted = function deleted(data) {
29
- if (isNil(data)) {
30
- this.status = 204;
31
- } else {
32
- this.status = 200;
33
- this.body = data;
34
- }
35
- };
36
- delegator.method("send").method("created").method("deleted");
37
- return app;
38
- };
39
- const createKoaApp = ({ proxy, keys }) => {
40
- const app = new Koa({ proxy });
41
- app.keys = keys;
42
- addCustomMethods(app);
43
- return app;
27
+ app.response.created = function created(data) {
28
+ this.status = 201;
29
+ this.body = data;
30
+ };
31
+ app.response.deleted = function deleted(data) {
32
+ if (isNil(data)) {
33
+ this.status = 204;
34
+ } else {
35
+ this.status = 200;
36
+ this.body = data;
37
+ }
38
+ };
39
+ delegator.method('send').method('created').method('deleted');
40
+ return app;
44
41
  };
45
- export {
46
- createKoaApp as default
42
+ const createKoaApp = ({ proxy, keys })=>{
43
+ const app = new Koa({
44
+ proxy
45
+ });
46
+ app.keys = keys;
47
+ addCustomMethods(app);
48
+ return app;
47
49
  };
50
+
51
+ export { createKoaApp as default };
48
52
  //# sourceMappingURL=koa.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"koa.mjs","sources":["../../../src/services/server/koa.ts"],"sourcesContent":["import { isNil, camelCase } from 'lodash/fp';\nimport Koa from 'koa';\nimport createError from 'http-errors';\nimport delegate from 'delegates';\nimport statuses from 'statuses';\nimport { formatHttpError } from '../errors';\n\ndeclare module 'koa' {\n interface BaseResponse {\n send: (data: any, status?: number) => void;\n created: (data: any) => void;\n deleted: (data: any) => void;\n _explicitStatus: boolean;\n [key: string]: (message: string, details?: unknown) => void;\n }\n}\n\nconst addCustomMethods = (app: Koa) => {\n const delegator = delegate(app.context, 'response');\n\n /* errors */\n statuses.codes\n .filter((code) => code >= 400 && code < 600)\n .forEach((code) => {\n const name = statuses(code);\n\n const camelCasedName = camelCase(name);\n app.response[camelCasedName] = function responseCode(message = name, details = {}) {\n const httpError = createError(code, message, { details });\n const { status, body } = formatHttpError(httpError);\n this.status = status;\n this.body = body;\n };\n delegator.method(camelCasedName);\n });\n\n /* send, created, deleted */\n app.response.send = function send(data, status = 200) {\n this.status = status;\n this.body = data;\n };\n\n app.response.created = function created(data) {\n this.status = 201;\n this.body = data;\n };\n\n app.response.deleted = function deleted(data) {\n if (isNil(data)) {\n this.status = 204;\n } else {\n this.status = 200;\n this.body = data;\n }\n };\n\n delegator.method('send').method('created').method('deleted');\n\n return app;\n};\n\nconst createKoaApp = ({ proxy, keys }: { proxy: boolean; keys: string[] }) => {\n const app = new Koa({ proxy });\n app.keys = keys;\n\n addCustomMethods(app);\n\n return app;\n};\n\nexport default createKoaApp;\n"],"names":[],"mappings":";;;;;;AAiBA,MAAM,mBAAmB,CAAC,QAAa;AACrC,QAAM,YAAY,SAAS,IAAI,SAAS,UAAU;AAGzC,WAAA,MACN,OAAO,CAAC,SAAS,QAAQ,OAAO,OAAO,GAAG,EAC1C,QAAQ,CAAC,SAAS;AACX,UAAA,OAAO,SAAS,IAAI;AAEpB,UAAA,iBAAiB,UAAU,IAAI;AACjC,QAAA,SAAS,cAAc,IAAI,SAAS,aAAa,UAAU,MAAM,UAAU,IAAI;AACjF,YAAM,YAAY,YAAY,MAAM,SAAS,EAAE,SAAS;AACxD,YAAM,EAAE,QAAQ,SAAS,gBAAgB,SAAS;AAClD,WAAK,SAAS;AACd,WAAK,OAAO;AAAA,IACd;AACA,cAAU,OAAO,cAAc;AAAA,EAAA,CAChC;AAGH,MAAI,SAAS,OAAO,SAAS,KAAK,MAAM,SAAS,KAAK;AACpD,SAAK,SAAS;AACd,SAAK,OAAO;AAAA,EACd;AAEA,MAAI,SAAS,UAAU,SAAS,QAAQ,MAAM;AAC5C,SAAK,SAAS;AACd,SAAK,OAAO;AAAA,EACd;AAEA,MAAI,SAAS,UAAU,SAAS,QAAQ,MAAM;AACxC,QAAA,MAAM,IAAI,GAAG;AACf,WAAK,SAAS;AAAA,IAAA,OACT;AACL,WAAK,SAAS;AACd,WAAK,OAAO;AAAA,IAAA;AAAA,EAEhB;AAEA,YAAU,OAAO,MAAM,EAAE,OAAO,SAAS,EAAE,OAAO,SAAS;AAEpD,SAAA;AACT;AAEA,MAAM,eAAe,CAAC,EAAE,OAAO,WAA+C;AAC5E,QAAM,MAAM,IAAI,IAAI,EAAE,OAAO;AAC7B,MAAI,OAAO;AAEX,mBAAiB,GAAG;AAEb,SAAA;AACT;"}
1
+ {"version":3,"file":"koa.mjs","sources":["../../../src/services/server/koa.ts"],"sourcesContent":["import { isNil, camelCase } from 'lodash/fp';\nimport Koa from 'koa';\nimport createError from 'http-errors';\nimport delegate from 'delegates';\nimport statuses from 'statuses';\nimport { formatHttpError } from '../errors';\n\ndeclare module 'koa' {\n interface BaseResponse {\n send: (data: any, status?: number) => void;\n created: (data: any) => void;\n deleted: (data: any) => void;\n _explicitStatus: boolean;\n [key: string]: (message: string, details?: unknown) => void;\n }\n}\n\nconst addCustomMethods = (app: Koa) => {\n const delegator = delegate(app.context, 'response');\n\n /* errors */\n statuses.codes\n .filter((code) => code >= 400 && code < 600)\n .forEach((code) => {\n const name = statuses(code);\n\n const camelCasedName = camelCase(name);\n app.response[camelCasedName] = function responseCode(message = name, details = {}) {\n const httpError = createError(code, message, { details });\n const { status, body } = formatHttpError(httpError);\n this.status = status;\n this.body = body;\n };\n delegator.method(camelCasedName);\n });\n\n /* send, created, deleted */\n app.response.send = function send(data, status = 200) {\n this.status = status;\n this.body = data;\n };\n\n app.response.created = function created(data) {\n this.status = 201;\n this.body = data;\n };\n\n app.response.deleted = function deleted(data) {\n if (isNil(data)) {\n this.status = 204;\n } else {\n this.status = 200;\n this.body = data;\n }\n };\n\n delegator.method('send').method('created').method('deleted');\n\n return app;\n};\n\nconst createKoaApp = ({ proxy, keys }: { proxy: boolean; keys: string[] }) => {\n const app = new Koa({ proxy });\n app.keys = keys;\n\n addCustomMethods(app);\n\n return app;\n};\n\nexport default createKoaApp;\n"],"names":["addCustomMethods","app","delegator","delegate","context","statuses","codes","filter","code","forEach","name","camelCasedName","camelCase","response","responseCode","message","details","httpError","createError","status","body","formatHttpError","method","send","data","created","deleted","isNil","createKoaApp","proxy","keys","Koa"],"mappings":";;;;;;;AAiBA,MAAMA,mBAAmB,CAACC,GAAAA,GAAAA;AACxB,IAAA,MAAMC,SAAYC,GAAAA,QAAAA,CAASF,GAAIG,CAAAA,OAAO,EAAE,UAAA,CAAA;AAExC,iBACAC,QAAAA,CAASC,KAAK,CACXC,MAAM,CAAC,CAACC,IAASA,GAAAA,IAAAA,IAAQ,GAAOA,IAAAA,IAAAA,GAAO,GACvCC,CAAAA,CAAAA,OAAO,CAAC,CAACD,IAAAA,GAAAA;AACR,QAAA,MAAME,OAAOL,QAASG,CAAAA,IAAAA,CAAAA;AAEtB,QAAA,MAAMG,iBAAiBC,SAAUF,CAAAA,IAAAA,CAAAA;QACjCT,GAAIY,CAAAA,QAAQ,CAACF,cAAAA,CAAe,GAAG,SAASG,YAAaC,CAAAA,OAAAA,GAAUL,IAAI,EAAEM,OAAU,GAAA,EAAE,EAAA;YAC/E,MAAMC,SAAAA,GAAYC,WAAYV,CAAAA,IAAAA,EAAMO,OAAS,EAAA;AAAEC,gBAAAA;AAAQ,aAAA,CAAA;AACvD,YAAA,MAAM,EAAEG,MAAM,EAAEC,IAAI,EAAE,GAAGC,eAAgBJ,CAAAA,SAAAA,CAAAA;YACzC,IAAI,CAACE,MAAM,GAAGA,MAAAA;YACd,IAAI,CAACC,IAAI,GAAGA,IAAAA;AACd,SAAA;AACAlB,QAAAA,SAAAA,CAAUoB,MAAM,CAACX,cAAAA,CAAAA;AACnB,KAAA,CAAA;iCAGFV,GAAIY,CAAAA,QAAQ,CAACU,IAAI,GAAG,SAASA,IAAKC,CAAAA,IAAI,EAAEL,MAAAA,GAAS,GAAG,EAAA;QAClD,IAAI,CAACA,MAAM,GAAGA,MAAAA;QACd,IAAI,CAACC,IAAI,GAAGI,IAAAA;AACd,KAAA;AAEAvB,IAAAA,GAAAA,CAAIY,QAAQ,CAACY,OAAO,GAAG,SAASA,QAAQD,IAAI,EAAA;QAC1C,IAAI,CAACL,MAAM,GAAG,GAAA;QACd,IAAI,CAACC,IAAI,GAAGI,IAAAA;AACd,KAAA;AAEAvB,IAAAA,GAAAA,CAAIY,QAAQ,CAACa,OAAO,GAAG,SAASA,QAAQF,IAAI,EAAA;AAC1C,QAAA,IAAIG,MAAMH,IAAO,CAAA,EAAA;YACf,IAAI,CAACL,MAAM,GAAG,GAAA;SACT,MAAA;YACL,IAAI,CAACA,MAAM,GAAG,GAAA;YACd,IAAI,CAACC,IAAI,GAAGI,IAAAA;AACd;AACF,KAAA;AAEAtB,IAAAA,SAAAA,CAAUoB,MAAM,CAAC,MAAA,CAAA,CAAQA,MAAM,CAAC,SAAA,CAAA,CAAWA,MAAM,CAAC,SAAA,CAAA;IAElD,OAAOrB,GAAAA;AACT,CAAA;AAEA,MAAM2B,eAAe,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAsC,GAAA;IACvE,MAAM7B,GAAAA,GAAM,IAAI8B,GAAI,CAAA;AAAEF,QAAAA;AAAM,KAAA,CAAA;AAC5B5B,IAAAA,GAAAA,CAAI6B,IAAI,GAAGA,IAAAA;IAEX9B,gBAAiBC,CAAAA,GAAAA,CAAAA;IAEjB,OAAOA,GAAAA;AACT;;;;"}
@@ -1,92 +1,96 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const path = require("path");
4
- const fp = require("lodash/fp");
5
- const strapiUtils = require("@strapi/utils");
6
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
7
- const path__default = /* @__PURE__ */ _interopDefault(path);
8
- const instantiateMiddleware = (middlewareFactory, name, config, strapi) => {
9
- try {
10
- return middlewareFactory(config, { strapi });
11
- } catch (e) {
12
- if (e instanceof Error) {
13
- throw new Error(`Middleware "${name}": ${e.message}`);
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var fp = require('lodash/fp');
5
+ var strapiUtils = require('@strapi/utils');
6
+
7
+ const instantiateMiddleware = (middlewareFactory, name, config, strapi)=>{
8
+ try {
9
+ return middlewareFactory(config, {
10
+ strapi
11
+ });
12
+ } catch (e) {
13
+ if (e instanceof Error) {
14
+ throw new Error(`Middleware "${name}": ${e.message}`);
15
+ }
14
16
  }
15
- }
16
- };
17
- const resolveRouteMiddlewares = (route, strapi) => {
18
- const middlewaresConfig = route?.config?.middlewares ?? [];
19
- if (!fp.isArray(middlewaresConfig)) {
20
- throw new Error("Route middlewares config must be an array");
21
- }
22
- const middlewares = resolveMiddlewares(middlewaresConfig, strapi);
23
- return middlewares.map(({ handler }) => handler);
24
17
  };
25
- const dummyMiddleware = (_, next) => next();
26
- const resolveMiddlewares = (config, strapi) => {
27
- const middlewares = [];
28
- for (const item of config) {
29
- if (typeof item === "function") {
30
- middlewares.push({
31
- name: null,
32
- handler: item
33
- });
34
- continue;
18
+ const resolveRouteMiddlewares = (route, strapi)=>{
19
+ const middlewaresConfig = route?.config?.middlewares ?? [];
20
+ if (!fp.isArray(middlewaresConfig)) {
21
+ throw new Error('Route middlewares config must be an array');
35
22
  }
36
- if (typeof item === "string") {
37
- const middlewareFactory = strapi.middleware(item);
38
- if (!middlewareFactory) {
39
- throw new Error(`Middleware ${item} not found.`);
40
- }
41
- middlewares.push({
42
- name: item,
43
- handler: instantiateMiddleware(middlewareFactory, item, {}, strapi) ?? dummyMiddleware
44
- });
45
- continue;
46
- }
47
- if (typeof item === "object" && item !== null) {
48
- const { name, resolve, config: config2 = {} } = item;
49
- if (name) {
50
- const middlewareFactory = strapi.middleware(name);
51
- middlewares.push({
52
- name,
53
- handler: instantiateMiddleware(middlewareFactory, name, config2, strapi) ?? dummyMiddleware
54
- });
55
- continue;
56
- }
57
- if (resolve) {
58
- const resolvedMiddlewareFactory = resolveCustomMiddleware(resolve, strapi);
59
- middlewares.push({
60
- name: resolve,
61
- handler: instantiateMiddleware(resolvedMiddlewareFactory, resolve, config2, strapi) ?? dummyMiddleware
62
- });
63
- continue;
64
- }
65
- throw new Error("Invalid middleware configuration. Missing name or resolve properties.");
23
+ const middlewares = resolveMiddlewares(middlewaresConfig, strapi);
24
+ return middlewares.map(({ handler })=>handler);
25
+ };
26
+ const dummyMiddleware = (_, next)=>next();
27
+ /**
28
+ * Initialize every configured middlewares
29
+ */ const resolveMiddlewares = (config, strapi)=>{
30
+ const middlewares = [];
31
+ for (const item of config){
32
+ if (typeof item === 'function') {
33
+ middlewares.push({
34
+ name: null,
35
+ handler: item
36
+ });
37
+ continue;
38
+ }
39
+ if (typeof item === 'string') {
40
+ const middlewareFactory = strapi.middleware(item);
41
+ if (!middlewareFactory) {
42
+ throw new Error(`Middleware ${item} not found.`);
43
+ }
44
+ middlewares.push({
45
+ name: item,
46
+ handler: instantiateMiddleware(middlewareFactory, item, {}, strapi) ?? dummyMiddleware
47
+ });
48
+ continue;
49
+ }
50
+ if (typeof item === 'object' && item !== null) {
51
+ const { name, resolve, config = {} } = item;
52
+ if (name) {
53
+ const middlewareFactory = strapi.middleware(name);
54
+ middlewares.push({
55
+ name,
56
+ handler: instantiateMiddleware(middlewareFactory, name, config, strapi) ?? dummyMiddleware
57
+ });
58
+ continue;
59
+ }
60
+ if (resolve) {
61
+ const resolvedMiddlewareFactory = resolveCustomMiddleware(resolve, strapi);
62
+ middlewares.push({
63
+ name: resolve,
64
+ handler: instantiateMiddleware(resolvedMiddlewareFactory, resolve, config, strapi) ?? dummyMiddleware
65
+ });
66
+ continue;
67
+ }
68
+ throw new Error('Invalid middleware configuration. Missing name or resolve properties.');
69
+ }
70
+ throw new Error('Middleware config must either be a string or an object {name?: string, resolve?: string, config: any}.');
66
71
  }
67
- throw new Error(
68
- "Middleware config must either be a string or an object {name?: string, resolve?: string, config: any}."
69
- );
70
- }
71
- return middlewares;
72
+ return middlewares;
72
73
  };
73
- const resolveCustomMiddleware = (resolve, strapi) => {
74
- let modulePath;
75
- try {
76
- modulePath = require.resolve(resolve);
77
- } catch (error) {
78
- if (error instanceof Error && "code" in error && error.code === "MODULE_NOT_FOUND") {
79
- modulePath = path__default.default.resolve(strapi.dirs.dist.root, resolve);
80
- } else {
81
- throw error;
74
+ /**
75
+ * Resolve middleware from package name or path
76
+ */ const resolveCustomMiddleware = (resolve, strapi)=>{
77
+ let modulePath;
78
+ try {
79
+ modulePath = require.resolve(resolve);
80
+ } catch (error) {
81
+ if (error instanceof Error && 'code' in error && error.code === 'MODULE_NOT_FOUND') {
82
+ modulePath = path.resolve(strapi.dirs.dist.root, resolve);
83
+ } else {
84
+ throw error;
85
+ }
86
+ }
87
+ try {
88
+ return strapiUtils.importDefault(modulePath);
89
+ } catch (err) {
90
+ throw new Error(`Could not load middleware "${modulePath}".`);
82
91
  }
83
- }
84
- try {
85
- return strapiUtils.importDefault(modulePath);
86
- } catch (err) {
87
- throw new Error(`Could not load middleware "${modulePath}".`);
88
- }
89
92
  };
93
+
90
94
  exports.resolveMiddlewares = resolveMiddlewares;
91
95
  exports.resolveRouteMiddlewares = resolveRouteMiddlewares;
92
96
  //# sourceMappingURL=middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sources":["../../../src/services/server/middleware.ts"],"sourcesContent":["import path from 'path';\nimport { isArray } from 'lodash/fp';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nconst instantiateMiddleware = (\n middlewareFactory: Core.MiddlewareFactory,\n name: string,\n config: unknown,\n strapi: Core.Strapi\n) => {\n try {\n return middlewareFactory(config, { strapi });\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Middleware \"${name}\": ${e.message}`);\n }\n }\n};\n\nconst resolveRouteMiddlewares = (route: Core.Route, strapi: Core.Strapi) => {\n const middlewaresConfig = route?.config?.middlewares ?? [];\n\n if (!isArray(middlewaresConfig)) {\n throw new Error('Route middlewares config must be an array');\n }\n\n const middlewares = resolveMiddlewares(middlewaresConfig, strapi);\n\n return middlewares.map(({ handler }) => handler);\n};\n\nconst dummyMiddleware: Core.MiddlewareHandler = (_, next) => next();\n\n/**\n * Initialize every configured middlewares\n */\nconst resolveMiddlewares = (\n config: Array<Core.MiddlewareName | Core.MiddlewareConfig | Core.MiddlewareHandler>,\n strapi: Core.Strapi\n) => {\n const middlewares: {\n name: string | null;\n handler: Core.MiddlewareHandler;\n }[] = [];\n\n for (const item of config) {\n if (typeof item === 'function') {\n middlewares.push({\n name: null,\n handler: item,\n });\n\n continue;\n }\n\n if (typeof item === 'string') {\n const middlewareFactory = strapi.middleware(item);\n\n if (!middlewareFactory) {\n throw new Error(`Middleware ${item} not found.`);\n }\n\n middlewares.push({\n name: item,\n handler: instantiateMiddleware(middlewareFactory, item, {}, strapi) ?? dummyMiddleware,\n });\n\n continue;\n }\n\n if (typeof item === 'object' && item !== null) {\n const { name, resolve, config = {} } = item;\n\n if (name) {\n const middlewareFactory = strapi.middleware(name);\n middlewares.push({\n name,\n handler:\n instantiateMiddleware(middlewareFactory, name, config, strapi) ?? dummyMiddleware,\n });\n\n continue;\n }\n\n if (resolve) {\n const resolvedMiddlewareFactory = resolveCustomMiddleware(resolve, strapi);\n middlewares.push({\n name: resolve,\n handler:\n instantiateMiddleware(resolvedMiddlewareFactory, resolve, config, strapi) ??\n dummyMiddleware,\n });\n\n continue;\n }\n\n throw new Error('Invalid middleware configuration. Missing name or resolve properties.');\n }\n\n throw new Error(\n 'Middleware config must either be a string or an object {name?: string, resolve?: string, config: any}.'\n );\n }\n\n return middlewares;\n};\n\n/**\n * Resolve middleware from package name or path\n */\nconst resolveCustomMiddleware = (resolve: string, strapi: Core.Strapi) => {\n let modulePath;\n\n try {\n modulePath = require.resolve(resolve);\n } catch (error) {\n if (error instanceof Error && 'code' in error && error.code === 'MODULE_NOT_FOUND') {\n modulePath = path.resolve(strapi.dirs.dist.root, resolve);\n } else {\n throw error;\n }\n }\n\n try {\n return importDefault(modulePath);\n } catch (err) {\n throw new Error(`Could not load middleware \"${modulePath}\".`);\n }\n};\n\nexport { resolveRouteMiddlewares, resolveMiddlewares };\n"],"names":["isArray","config","path","importDefault"],"mappings":";;;;;;;AAKA,MAAM,wBAAwB,CAC5B,mBACA,MACA,QACA,WACG;AACC,MAAA;AACF,WAAO,kBAAkB,QAAQ,EAAE,QAAQ;AAAA,WACpC,GAAG;AACV,QAAI,aAAa,OAAO;AACtB,YAAM,IAAI,MAAM,eAAe,IAAI,MAAM,EAAE,OAAO,EAAE;AAAA,IAAA;AAAA,EACtD;AAEJ;AAEM,MAAA,0BAA0B,CAAC,OAAmB,WAAwB;AAC1E,QAAM,oBAAoB,OAAO,QAAQ,eAAe,CAAC;AAErD,MAAA,CAACA,GAAAA,QAAQ,iBAAiB,GAAG;AACzB,UAAA,IAAI,MAAM,2CAA2C;AAAA,EAAA;AAGvD,QAAA,cAAc,mBAAmB,mBAAmB,MAAM;AAEhE,SAAO,YAAY,IAAI,CAAC,EAAE,QAAA,MAAc,OAAO;AACjD;AAEA,MAAM,kBAA0C,CAAC,GAAG,SAAS,KAAK;AAK5D,MAAA,qBAAqB,CACzB,QACA,WACG;AACH,QAAM,cAGA,CAAC;AAEP,aAAW,QAAQ,QAAQ;AACrB,QAAA,OAAO,SAAS,YAAY;AAC9B,kBAAY,KAAK;AAAA,QACf,MAAM;AAAA,QACN,SAAS;AAAA,MAAA,CACV;AAED;AAAA,IAAA;AAGE,QAAA,OAAO,SAAS,UAAU;AACtB,YAAA,oBAAoB,OAAO,WAAW,IAAI;AAEhD,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,IAAI,aAAa;AAAA,MAAA;AAGjD,kBAAY,KAAK;AAAA,QACf,MAAM;AAAA,QACN,SAAS,sBAAsB,mBAAmB,MAAM,CAAC,GAAG,MAAM,KAAK;AAAA,MAAA,CACxE;AAED;AAAA,IAAA;AAGF,QAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,YAAM,EAAE,MAAM,SAAS,QAAAC,UAAS,OAAO;AAEvC,UAAI,MAAM;AACF,cAAA,oBAAoB,OAAO,WAAW,IAAI;AAChD,oBAAY,KAAK;AAAA,UACf;AAAA,UACA,SACE,sBAAsB,mBAAmB,MAAMA,SAAQ,MAAM,KAAK;AAAA,QAAA,CACrE;AAED;AAAA,MAAA;AAGF,UAAI,SAAS;AACL,cAAA,4BAA4B,wBAAwB,SAAS,MAAM;AACzE,oBAAY,KAAK;AAAA,UACf,MAAM;AAAA,UACN,SACE,sBAAsB,2BAA2B,SAASA,SAAQ,MAAM,KACxE;AAAA,QAAA,CACH;AAED;AAAA,MAAA;AAGI,YAAA,IAAI,MAAM,uEAAuE;AAAA,IAAA;AAGzF,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EAAA;AAGK,SAAA;AACT;AAKA,MAAM,0BAA0B,CAAC,SAAiB,WAAwB;AACpE,MAAA;AAEA,MAAA;AACW,iBAAA,QAAQ,QAAQ,OAAO;AAAA,WAC7B,OAAO;AACd,QAAI,iBAAiB,SAAS,UAAU,SAAS,MAAM,SAAS,oBAAoB;AAClF,mBAAaC,sBAAK,QAAQ,OAAO,KAAK,KAAK,MAAM,OAAO;AAAA,IAAA,OACnD;AACC,YAAA;AAAA,IAAA;AAAA,EACR;AAGE,MAAA;AACF,WAAOC,YAAAA,cAAc,UAAU;AAAA,WACxB,KAAK;AACZ,UAAM,IAAI,MAAM,8BAA8B,UAAU,IAAI;AAAA,EAAA;AAEhE;;;"}
1
+ {"version":3,"file":"middleware.js","sources":["../../../src/services/server/middleware.ts"],"sourcesContent":["import path from 'path';\nimport { isArray } from 'lodash/fp';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nconst instantiateMiddleware = (\n middlewareFactory: Core.MiddlewareFactory,\n name: string,\n config: unknown,\n strapi: Core.Strapi\n) => {\n try {\n return middlewareFactory(config, { strapi });\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Middleware \"${name}\": ${e.message}`);\n }\n }\n};\n\nconst resolveRouteMiddlewares = (route: Core.Route, strapi: Core.Strapi) => {\n const middlewaresConfig = route?.config?.middlewares ?? [];\n\n if (!isArray(middlewaresConfig)) {\n throw new Error('Route middlewares config must be an array');\n }\n\n const middlewares = resolveMiddlewares(middlewaresConfig, strapi);\n\n return middlewares.map(({ handler }) => handler);\n};\n\nconst dummyMiddleware: Core.MiddlewareHandler = (_, next) => next();\n\n/**\n * Initialize every configured middlewares\n */\nconst resolveMiddlewares = (\n config: Array<Core.MiddlewareName | Core.MiddlewareConfig | Core.MiddlewareHandler>,\n strapi: Core.Strapi\n) => {\n const middlewares: {\n name: string | null;\n handler: Core.MiddlewareHandler;\n }[] = [];\n\n for (const item of config) {\n if (typeof item === 'function') {\n middlewares.push({\n name: null,\n handler: item,\n });\n\n continue;\n }\n\n if (typeof item === 'string') {\n const middlewareFactory = strapi.middleware(item);\n\n if (!middlewareFactory) {\n throw new Error(`Middleware ${item} not found.`);\n }\n\n middlewares.push({\n name: item,\n handler: instantiateMiddleware(middlewareFactory, item, {}, strapi) ?? dummyMiddleware,\n });\n\n continue;\n }\n\n if (typeof item === 'object' && item !== null) {\n const { name, resolve, config = {} } = item;\n\n if (name) {\n const middlewareFactory = strapi.middleware(name);\n middlewares.push({\n name,\n handler:\n instantiateMiddleware(middlewareFactory, name, config, strapi) ?? dummyMiddleware,\n });\n\n continue;\n }\n\n if (resolve) {\n const resolvedMiddlewareFactory = resolveCustomMiddleware(resolve, strapi);\n middlewares.push({\n name: resolve,\n handler:\n instantiateMiddleware(resolvedMiddlewareFactory, resolve, config, strapi) ??\n dummyMiddleware,\n });\n\n continue;\n }\n\n throw new Error('Invalid middleware configuration. Missing name or resolve properties.');\n }\n\n throw new Error(\n 'Middleware config must either be a string or an object {name?: string, resolve?: string, config: any}.'\n );\n }\n\n return middlewares;\n};\n\n/**\n * Resolve middleware from package name or path\n */\nconst resolveCustomMiddleware = (resolve: string, strapi: Core.Strapi) => {\n let modulePath;\n\n try {\n modulePath = require.resolve(resolve);\n } catch (error) {\n if (error instanceof Error && 'code' in error && error.code === 'MODULE_NOT_FOUND') {\n modulePath = path.resolve(strapi.dirs.dist.root, resolve);\n } else {\n throw error;\n }\n }\n\n try {\n return importDefault(modulePath);\n } catch (err) {\n throw new Error(`Could not load middleware \"${modulePath}\".`);\n }\n};\n\nexport { resolveRouteMiddlewares, resolveMiddlewares };\n"],"names":["instantiateMiddleware","middlewareFactory","name","config","strapi","e","Error","message","resolveRouteMiddlewares","route","middlewaresConfig","middlewares","isArray","resolveMiddlewares","map","handler","dummyMiddleware","_","next","item","push","middleware","resolve","resolvedMiddlewareFactory","resolveCustomMiddleware","modulePath","require","error","code","path","dirs","dist","root","importDefault","err"],"mappings":";;;;;;AAKA,MAAMA,qBAAwB,GAAA,CAC5BC,iBACAC,EAAAA,IAAAA,EACAC,MACAC,EAAAA,MAAAA,GAAAA;IAEA,IAAI;AACF,QAAA,OAAOH,kBAAkBE,MAAQ,EAAA;AAAEC,YAAAA;AAAO,SAAA,CAAA;AAC5C,KAAA,CAAE,OAAOC,CAAG,EAAA;AACV,QAAA,IAAIA,aAAaC,KAAO,EAAA;YACtB,MAAM,IAAIA,KAAM,CAAA,CAAC,YAAY,EAAEJ,IAAK,CAAA,GAAG,EAAEG,CAAAA,CAAEE,OAAO,CAAC,CAAC,CAAA;AACtD;AACF;AACF,CAAA;AAEMC,MAAAA,uBAAAA,GAA0B,CAACC,KAAmBL,EAAAA,MAAAA,GAAAA;AAClD,IAAA,MAAMM,iBAAoBD,GAAAA,KAAAA,EAAON,MAAQQ,EAAAA,WAAAA,IAAe,EAAE;IAE1D,IAAI,CAACC,WAAQF,iBAAoB,CAAA,EAAA;AAC/B,QAAA,MAAM,IAAIJ,KAAM,CAAA,2CAAA,CAAA;AAClB;IAEA,MAAMK,WAAAA,GAAcE,mBAAmBH,iBAAmBN,EAAAA,MAAAA,CAAAA;AAE1D,IAAA,OAAOO,YAAYG,GAAG,CAAC,CAAC,EAAEC,OAAO,EAAE,GAAKA,OAAAA,CAAAA;AAC1C;AAEA,MAAMC,eAAAA,GAA0C,CAACC,CAAAA,EAAGC,IAASA,GAAAA,IAAAA,EAAAA;AAE7D;;IAGA,MAAML,kBAAqB,GAAA,CACzBV,MACAC,EAAAA,MAAAA,GAAAA;AAEA,IAAA,MAAMO,cAGA,EAAE;IAER,KAAK,MAAMQ,QAAQhB,MAAQ,CAAA;QACzB,IAAI,OAAOgB,SAAS,UAAY,EAAA;AAC9BR,YAAAA,WAAAA,CAAYS,IAAI,CAAC;gBACflB,IAAM,EAAA,IAAA;gBACNa,OAASI,EAAAA;AACX,aAAA,CAAA;AAEA,YAAA;AACF;QAEA,IAAI,OAAOA,SAAS,QAAU,EAAA;YAC5B,MAAMlB,iBAAAA,GAAoBG,MAAOiB,CAAAA,UAAU,CAACF,IAAAA,CAAAA;AAE5C,YAAA,IAAI,CAAClB,iBAAmB,EAAA;AACtB,gBAAA,MAAM,IAAIK,KAAM,CAAA,CAAC,WAAW,EAAEa,IAAAA,CAAK,WAAW,CAAC,CAAA;AACjD;AAEAR,YAAAA,WAAAA,CAAYS,IAAI,CAAC;gBACflB,IAAMiB,EAAAA,IAAAA;AACNJ,gBAAAA,OAAAA,EAASf,qBAAsBC,CAAAA,iBAAAA,EAAmBkB,IAAM,EAAA,IAAIf,MAAWY,CAAAA,IAAAA;AACzE,aAAA,CAAA;AAEA,YAAA;AACF;AAEA,QAAA,IAAI,OAAOG,IAAAA,KAAS,QAAYA,IAAAA,IAAAA,KAAS,IAAM,EAAA;YAC7C,MAAM,EAAEjB,IAAI,EAAEoB,OAAO,EAAEnB,MAAS,GAAA,EAAE,EAAE,GAAGgB,IAAAA;AAEvC,YAAA,IAAIjB,IAAM,EAAA;gBACR,MAAMD,iBAAAA,GAAoBG,MAAOiB,CAAAA,UAAU,CAACnB,IAAAA,CAAAA;AAC5CS,gBAAAA,WAAAA,CAAYS,IAAI,CAAC;AACflB,oBAAAA,IAAAA;AACAa,oBAAAA,OAAAA,EACEf,qBAAsBC,CAAAA,iBAAAA,EAAmBC,IAAMC,EAAAA,MAAAA,EAAQC,MAAWY,CAAAA,IAAAA;AACtE,iBAAA,CAAA;AAEA,gBAAA;AACF;AAEA,YAAA,IAAIM,OAAS,EAAA;gBACX,MAAMC,yBAAAA,GAA4BC,wBAAwBF,OAASlB,EAAAA,MAAAA,CAAAA;AACnEO,gBAAAA,WAAAA,CAAYS,IAAI,CAAC;oBACflB,IAAMoB,EAAAA,OAAAA;AACNP,oBAAAA,OAAAA,EACEf,qBAAsBuB,CAAAA,yBAAAA,EAA2BD,OAASnB,EAAAA,MAAAA,EAAQC,MAClEY,CAAAA,IAAAA;AACJ,iBAAA,CAAA;AAEA,gBAAA;AACF;AAEA,YAAA,MAAM,IAAIV,KAAM,CAAA,uEAAA,CAAA;AAClB;AAEA,QAAA,MAAM,IAAIA,KACR,CAAA,wGAAA,CAAA;AAEJ;IAEA,OAAOK,WAAAA;AACT;AAEA;;IAGA,MAAMa,uBAA0B,GAAA,CAACF,OAAiBlB,EAAAA,MAAAA,GAAAA;IAChD,IAAIqB,UAAAA;IAEJ,IAAI;QACFA,UAAaC,GAAAA,OAAAA,CAAQJ,OAAO,CAACA,OAAAA,CAAAA;AAC/B,KAAA,CAAE,OAAOK,KAAO,EAAA;AACd,QAAA,IAAIA,iBAAiBrB,KAAS,IAAA,MAAA,IAAUqB,SAASA,KAAMC,CAAAA,IAAI,KAAK,kBAAoB,EAAA;YAClFH,UAAaI,GAAAA,IAAAA,CAAKP,OAAO,CAAClB,MAAAA,CAAO0B,IAAI,CAACC,IAAI,CAACC,IAAI,EAAEV,OAAAA,CAAAA;SAC5C,MAAA;YACL,MAAMK,KAAAA;AACR;AACF;IAEA,IAAI;AACF,QAAA,OAAOM,yBAAcR,CAAAA,UAAAA,CAAAA;AACvB,KAAA,CAAE,OAAOS,GAAK,EAAA;AACZ,QAAA,MAAM,IAAI5B,KAAM,CAAA,CAAC,2BAA2B,EAAEmB,UAAAA,CAAW,EAAE,CAAC,CAAA;AAC9D;AACF,CAAA;;;;;"}
@@ -1,90 +1,93 @@
1
- import path from "path";
2
- import { isArray } from "lodash/fp";
3
- import { importDefault } from "@strapi/utils";
4
- const instantiateMiddleware = (middlewareFactory, name, config, strapi) => {
5
- try {
6
- return middlewareFactory(config, { strapi });
7
- } catch (e) {
8
- if (e instanceof Error) {
9
- throw new Error(`Middleware "${name}": ${e.message}`);
1
+ import path from 'path';
2
+ import { isArray } from 'lodash/fp';
3
+ import { importDefault } from '@strapi/utils';
4
+
5
+ const instantiateMiddleware = (middlewareFactory, name, config, strapi)=>{
6
+ try {
7
+ return middlewareFactory(config, {
8
+ strapi
9
+ });
10
+ } catch (e) {
11
+ if (e instanceof Error) {
12
+ throw new Error(`Middleware "${name}": ${e.message}`);
13
+ }
10
14
  }
11
- }
12
- };
13
- const resolveRouteMiddlewares = (route, strapi) => {
14
- const middlewaresConfig = route?.config?.middlewares ?? [];
15
- if (!isArray(middlewaresConfig)) {
16
- throw new Error("Route middlewares config must be an array");
17
- }
18
- const middlewares = resolveMiddlewares(middlewaresConfig, strapi);
19
- return middlewares.map(({ handler }) => handler);
20
15
  };
21
- const dummyMiddleware = (_, next) => next();
22
- const resolveMiddlewares = (config, strapi) => {
23
- const middlewares = [];
24
- for (const item of config) {
25
- if (typeof item === "function") {
26
- middlewares.push({
27
- name: null,
28
- handler: item
29
- });
30
- continue;
31
- }
32
- if (typeof item === "string") {
33
- const middlewareFactory = strapi.middleware(item);
34
- if (!middlewareFactory) {
35
- throw new Error(`Middleware ${item} not found.`);
36
- }
37
- middlewares.push({
38
- name: item,
39
- handler: instantiateMiddleware(middlewareFactory, item, {}, strapi) ?? dummyMiddleware
40
- });
41
- continue;
42
- }
43
- if (typeof item === "object" && item !== null) {
44
- const { name, resolve, config: config2 = {} } = item;
45
- if (name) {
46
- const middlewareFactory = strapi.middleware(name);
47
- middlewares.push({
48
- name,
49
- handler: instantiateMiddleware(middlewareFactory, name, config2, strapi) ?? dummyMiddleware
50
- });
51
- continue;
52
- }
53
- if (resolve) {
54
- const resolvedMiddlewareFactory = resolveCustomMiddleware(resolve, strapi);
55
- middlewares.push({
56
- name: resolve,
57
- handler: instantiateMiddleware(resolvedMiddlewareFactory, resolve, config2, strapi) ?? dummyMiddleware
58
- });
59
- continue;
60
- }
61
- throw new Error("Invalid middleware configuration. Missing name or resolve properties.");
16
+ const resolveRouteMiddlewares = (route, strapi)=>{
17
+ const middlewaresConfig = route?.config?.middlewares ?? [];
18
+ if (!isArray(middlewaresConfig)) {
19
+ throw new Error('Route middlewares config must be an array');
62
20
  }
63
- throw new Error(
64
- "Middleware config must either be a string or an object {name?: string, resolve?: string, config: any}."
65
- );
66
- }
67
- return middlewares;
21
+ const middlewares = resolveMiddlewares(middlewaresConfig, strapi);
22
+ return middlewares.map(({ handler })=>handler);
68
23
  };
69
- const resolveCustomMiddleware = (resolve, strapi) => {
70
- let modulePath;
71
- try {
72
- modulePath = require.resolve(resolve);
73
- } catch (error) {
74
- if (error instanceof Error && "code" in error && error.code === "MODULE_NOT_FOUND") {
75
- modulePath = path.resolve(strapi.dirs.dist.root, resolve);
76
- } else {
77
- throw error;
24
+ const dummyMiddleware = (_, next)=>next();
25
+ /**
26
+ * Initialize every configured middlewares
27
+ */ const resolveMiddlewares = (config, strapi)=>{
28
+ const middlewares = [];
29
+ for (const item of config){
30
+ if (typeof item === 'function') {
31
+ middlewares.push({
32
+ name: null,
33
+ handler: item
34
+ });
35
+ continue;
36
+ }
37
+ if (typeof item === 'string') {
38
+ const middlewareFactory = strapi.middleware(item);
39
+ if (!middlewareFactory) {
40
+ throw new Error(`Middleware ${item} not found.`);
41
+ }
42
+ middlewares.push({
43
+ name: item,
44
+ handler: instantiateMiddleware(middlewareFactory, item, {}, strapi) ?? dummyMiddleware
45
+ });
46
+ continue;
47
+ }
48
+ if (typeof item === 'object' && item !== null) {
49
+ const { name, resolve, config = {} } = item;
50
+ if (name) {
51
+ const middlewareFactory = strapi.middleware(name);
52
+ middlewares.push({
53
+ name,
54
+ handler: instantiateMiddleware(middlewareFactory, name, config, strapi) ?? dummyMiddleware
55
+ });
56
+ continue;
57
+ }
58
+ if (resolve) {
59
+ const resolvedMiddlewareFactory = resolveCustomMiddleware(resolve, strapi);
60
+ middlewares.push({
61
+ name: resolve,
62
+ handler: instantiateMiddleware(resolvedMiddlewareFactory, resolve, config, strapi) ?? dummyMiddleware
63
+ });
64
+ continue;
65
+ }
66
+ throw new Error('Invalid middleware configuration. Missing name or resolve properties.');
67
+ }
68
+ throw new Error('Middleware config must either be a string or an object {name?: string, resolve?: string, config: any}.');
78
69
  }
79
- }
80
- try {
81
- return importDefault(modulePath);
82
- } catch (err) {
83
- throw new Error(`Could not load middleware "${modulePath}".`);
84
- }
70
+ return middlewares;
85
71
  };
86
- export {
87
- resolveMiddlewares,
88
- resolveRouteMiddlewares
72
+ /**
73
+ * Resolve middleware from package name or path
74
+ */ const resolveCustomMiddleware = (resolve, strapi)=>{
75
+ let modulePath;
76
+ try {
77
+ modulePath = require.resolve(resolve);
78
+ } catch (error) {
79
+ if (error instanceof Error && 'code' in error && error.code === 'MODULE_NOT_FOUND') {
80
+ modulePath = path.resolve(strapi.dirs.dist.root, resolve);
81
+ } else {
82
+ throw error;
83
+ }
84
+ }
85
+ try {
86
+ return importDefault(modulePath);
87
+ } catch (err) {
88
+ throw new Error(`Could not load middleware "${modulePath}".`);
89
+ }
89
90
  };
91
+
92
+ export { resolveMiddlewares, resolveRouteMiddlewares };
90
93
  //# sourceMappingURL=middleware.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.mjs","sources":["../../../src/services/server/middleware.ts"],"sourcesContent":["import path from 'path';\nimport { isArray } from 'lodash/fp';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nconst instantiateMiddleware = (\n middlewareFactory: Core.MiddlewareFactory,\n name: string,\n config: unknown,\n strapi: Core.Strapi\n) => {\n try {\n return middlewareFactory(config, { strapi });\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Middleware \"${name}\": ${e.message}`);\n }\n }\n};\n\nconst resolveRouteMiddlewares = (route: Core.Route, strapi: Core.Strapi) => {\n const middlewaresConfig = route?.config?.middlewares ?? [];\n\n if (!isArray(middlewaresConfig)) {\n throw new Error('Route middlewares config must be an array');\n }\n\n const middlewares = resolveMiddlewares(middlewaresConfig, strapi);\n\n return middlewares.map(({ handler }) => handler);\n};\n\nconst dummyMiddleware: Core.MiddlewareHandler = (_, next) => next();\n\n/**\n * Initialize every configured middlewares\n */\nconst resolveMiddlewares = (\n config: Array<Core.MiddlewareName | Core.MiddlewareConfig | Core.MiddlewareHandler>,\n strapi: Core.Strapi\n) => {\n const middlewares: {\n name: string | null;\n handler: Core.MiddlewareHandler;\n }[] = [];\n\n for (const item of config) {\n if (typeof item === 'function') {\n middlewares.push({\n name: null,\n handler: item,\n });\n\n continue;\n }\n\n if (typeof item === 'string') {\n const middlewareFactory = strapi.middleware(item);\n\n if (!middlewareFactory) {\n throw new Error(`Middleware ${item} not found.`);\n }\n\n middlewares.push({\n name: item,\n handler: instantiateMiddleware(middlewareFactory, item, {}, strapi) ?? dummyMiddleware,\n });\n\n continue;\n }\n\n if (typeof item === 'object' && item !== null) {\n const { name, resolve, config = {} } = item;\n\n if (name) {\n const middlewareFactory = strapi.middleware(name);\n middlewares.push({\n name,\n handler:\n instantiateMiddleware(middlewareFactory, name, config, strapi) ?? dummyMiddleware,\n });\n\n continue;\n }\n\n if (resolve) {\n const resolvedMiddlewareFactory = resolveCustomMiddleware(resolve, strapi);\n middlewares.push({\n name: resolve,\n handler:\n instantiateMiddleware(resolvedMiddlewareFactory, resolve, config, strapi) ??\n dummyMiddleware,\n });\n\n continue;\n }\n\n throw new Error('Invalid middleware configuration. Missing name or resolve properties.');\n }\n\n throw new Error(\n 'Middleware config must either be a string or an object {name?: string, resolve?: string, config: any}.'\n );\n }\n\n return middlewares;\n};\n\n/**\n * Resolve middleware from package name or path\n */\nconst resolveCustomMiddleware = (resolve: string, strapi: Core.Strapi) => {\n let modulePath;\n\n try {\n modulePath = require.resolve(resolve);\n } catch (error) {\n if (error instanceof Error && 'code' in error && error.code === 'MODULE_NOT_FOUND') {\n modulePath = path.resolve(strapi.dirs.dist.root, resolve);\n } else {\n throw error;\n }\n }\n\n try {\n return importDefault(modulePath);\n } catch (err) {\n throw new Error(`Could not load middleware \"${modulePath}\".`);\n }\n};\n\nexport { resolveRouteMiddlewares, resolveMiddlewares };\n"],"names":["config"],"mappings":";;;AAKA,MAAM,wBAAwB,CAC5B,mBACA,MACA,QACA,WACG;AACC,MAAA;AACF,WAAO,kBAAkB,QAAQ,EAAE,QAAQ;AAAA,WACpC,GAAG;AACV,QAAI,aAAa,OAAO;AACtB,YAAM,IAAI,MAAM,eAAe,IAAI,MAAM,EAAE,OAAO,EAAE;AAAA,IAAA;AAAA,EACtD;AAEJ;AAEM,MAAA,0BAA0B,CAAC,OAAmB,WAAwB;AAC1E,QAAM,oBAAoB,OAAO,QAAQ,eAAe,CAAC;AAErD,MAAA,CAAC,QAAQ,iBAAiB,GAAG;AACzB,UAAA,IAAI,MAAM,2CAA2C;AAAA,EAAA;AAGvD,QAAA,cAAc,mBAAmB,mBAAmB,MAAM;AAEhE,SAAO,YAAY,IAAI,CAAC,EAAE,QAAA,MAAc,OAAO;AACjD;AAEA,MAAM,kBAA0C,CAAC,GAAG,SAAS,KAAK;AAK5D,MAAA,qBAAqB,CACzB,QACA,WACG;AACH,QAAM,cAGA,CAAC;AAEP,aAAW,QAAQ,QAAQ;AACrB,QAAA,OAAO,SAAS,YAAY;AAC9B,kBAAY,KAAK;AAAA,QACf,MAAM;AAAA,QACN,SAAS;AAAA,MAAA,CACV;AAED;AAAA,IAAA;AAGE,QAAA,OAAO,SAAS,UAAU;AACtB,YAAA,oBAAoB,OAAO,WAAW,IAAI;AAEhD,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,IAAI,aAAa;AAAA,MAAA;AAGjD,kBAAY,KAAK;AAAA,QACf,MAAM;AAAA,QACN,SAAS,sBAAsB,mBAAmB,MAAM,CAAC,GAAG,MAAM,KAAK;AAAA,MAAA,CACxE;AAED;AAAA,IAAA;AAGF,QAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,YAAM,EAAE,MAAM,SAAS,QAAAA,UAAS,OAAO;AAEvC,UAAI,MAAM;AACF,cAAA,oBAAoB,OAAO,WAAW,IAAI;AAChD,oBAAY,KAAK;AAAA,UACf;AAAA,UACA,SACE,sBAAsB,mBAAmB,MAAMA,SAAQ,MAAM,KAAK;AAAA,QAAA,CACrE;AAED;AAAA,MAAA;AAGF,UAAI,SAAS;AACL,cAAA,4BAA4B,wBAAwB,SAAS,MAAM;AACzE,oBAAY,KAAK;AAAA,UACf,MAAM;AAAA,UACN,SACE,sBAAsB,2BAA2B,SAASA,SAAQ,MAAM,KACxE;AAAA,QAAA,CACH;AAED;AAAA,MAAA;AAGI,YAAA,IAAI,MAAM,uEAAuE;AAAA,IAAA;AAGzF,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EAAA;AAGK,SAAA;AACT;AAKA,MAAM,0BAA0B,CAAC,SAAiB,WAAwB;AACpE,MAAA;AAEA,MAAA;AACW,iBAAA,QAAQ,QAAQ,OAAO;AAAA,WAC7B,OAAO;AACd,QAAI,iBAAiB,SAAS,UAAU,SAAS,MAAM,SAAS,oBAAoB;AAClF,mBAAa,KAAK,QAAQ,OAAO,KAAK,KAAK,MAAM,OAAO;AAAA,IAAA,OACnD;AACC,YAAA;AAAA,IAAA;AAAA,EACR;AAGE,MAAA;AACF,WAAO,cAAc,UAAU;AAAA,WACxB,KAAK;AACZ,UAAM,IAAI,MAAM,8BAA8B,UAAU,IAAI;AAAA,EAAA;AAEhE;"}
1
+ {"version":3,"file":"middleware.mjs","sources":["../../../src/services/server/middleware.ts"],"sourcesContent":["import path from 'path';\nimport { isArray } from 'lodash/fp';\nimport { importDefault } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nconst instantiateMiddleware = (\n middlewareFactory: Core.MiddlewareFactory,\n name: string,\n config: unknown,\n strapi: Core.Strapi\n) => {\n try {\n return middlewareFactory(config, { strapi });\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Middleware \"${name}\": ${e.message}`);\n }\n }\n};\n\nconst resolveRouteMiddlewares = (route: Core.Route, strapi: Core.Strapi) => {\n const middlewaresConfig = route?.config?.middlewares ?? [];\n\n if (!isArray(middlewaresConfig)) {\n throw new Error('Route middlewares config must be an array');\n }\n\n const middlewares = resolveMiddlewares(middlewaresConfig, strapi);\n\n return middlewares.map(({ handler }) => handler);\n};\n\nconst dummyMiddleware: Core.MiddlewareHandler = (_, next) => next();\n\n/**\n * Initialize every configured middlewares\n */\nconst resolveMiddlewares = (\n config: Array<Core.MiddlewareName | Core.MiddlewareConfig | Core.MiddlewareHandler>,\n strapi: Core.Strapi\n) => {\n const middlewares: {\n name: string | null;\n handler: Core.MiddlewareHandler;\n }[] = [];\n\n for (const item of config) {\n if (typeof item === 'function') {\n middlewares.push({\n name: null,\n handler: item,\n });\n\n continue;\n }\n\n if (typeof item === 'string') {\n const middlewareFactory = strapi.middleware(item);\n\n if (!middlewareFactory) {\n throw new Error(`Middleware ${item} not found.`);\n }\n\n middlewares.push({\n name: item,\n handler: instantiateMiddleware(middlewareFactory, item, {}, strapi) ?? dummyMiddleware,\n });\n\n continue;\n }\n\n if (typeof item === 'object' && item !== null) {\n const { name, resolve, config = {} } = item;\n\n if (name) {\n const middlewareFactory = strapi.middleware(name);\n middlewares.push({\n name,\n handler:\n instantiateMiddleware(middlewareFactory, name, config, strapi) ?? dummyMiddleware,\n });\n\n continue;\n }\n\n if (resolve) {\n const resolvedMiddlewareFactory = resolveCustomMiddleware(resolve, strapi);\n middlewares.push({\n name: resolve,\n handler:\n instantiateMiddleware(resolvedMiddlewareFactory, resolve, config, strapi) ??\n dummyMiddleware,\n });\n\n continue;\n }\n\n throw new Error('Invalid middleware configuration. Missing name or resolve properties.');\n }\n\n throw new Error(\n 'Middleware config must either be a string or an object {name?: string, resolve?: string, config: any}.'\n );\n }\n\n return middlewares;\n};\n\n/**\n * Resolve middleware from package name or path\n */\nconst resolveCustomMiddleware = (resolve: string, strapi: Core.Strapi) => {\n let modulePath;\n\n try {\n modulePath = require.resolve(resolve);\n } catch (error) {\n if (error instanceof Error && 'code' in error && error.code === 'MODULE_NOT_FOUND') {\n modulePath = path.resolve(strapi.dirs.dist.root, resolve);\n } else {\n throw error;\n }\n }\n\n try {\n return importDefault(modulePath);\n } catch (err) {\n throw new Error(`Could not load middleware \"${modulePath}\".`);\n }\n};\n\nexport { resolveRouteMiddlewares, resolveMiddlewares };\n"],"names":["instantiateMiddleware","middlewareFactory","name","config","strapi","e","Error","message","resolveRouteMiddlewares","route","middlewaresConfig","middlewares","isArray","resolveMiddlewares","map","handler","dummyMiddleware","_","next","item","push","middleware","resolve","resolvedMiddlewareFactory","resolveCustomMiddleware","modulePath","require","error","code","path","dirs","dist","root","importDefault","err"],"mappings":";;;;AAKA,MAAMA,qBAAwB,GAAA,CAC5BC,iBACAC,EAAAA,IAAAA,EACAC,MACAC,EAAAA,MAAAA,GAAAA;IAEA,IAAI;AACF,QAAA,OAAOH,kBAAkBE,MAAQ,EAAA;AAAEC,YAAAA;AAAO,SAAA,CAAA;AAC5C,KAAA,CAAE,OAAOC,CAAG,EAAA;AACV,QAAA,IAAIA,aAAaC,KAAO,EAAA;YACtB,MAAM,IAAIA,KAAM,CAAA,CAAC,YAAY,EAAEJ,IAAK,CAAA,GAAG,EAAEG,CAAAA,CAAEE,OAAO,CAAC,CAAC,CAAA;AACtD;AACF;AACF,CAAA;AAEMC,MAAAA,uBAAAA,GAA0B,CAACC,KAAmBL,EAAAA,MAAAA,GAAAA;AAClD,IAAA,MAAMM,iBAAoBD,GAAAA,KAAAA,EAAON,MAAQQ,EAAAA,WAAAA,IAAe,EAAE;IAE1D,IAAI,CAACC,QAAQF,iBAAoB,CAAA,EAAA;AAC/B,QAAA,MAAM,IAAIJ,KAAM,CAAA,2CAAA,CAAA;AAClB;IAEA,MAAMK,WAAAA,GAAcE,mBAAmBH,iBAAmBN,EAAAA,MAAAA,CAAAA;AAE1D,IAAA,OAAOO,YAAYG,GAAG,CAAC,CAAC,EAAEC,OAAO,EAAE,GAAKA,OAAAA,CAAAA;AAC1C;AAEA,MAAMC,eAAAA,GAA0C,CAACC,CAAAA,EAAGC,IAASA,GAAAA,IAAAA,EAAAA;AAE7D;;IAGA,MAAML,kBAAqB,GAAA,CACzBV,MACAC,EAAAA,MAAAA,GAAAA;AAEA,IAAA,MAAMO,cAGA,EAAE;IAER,KAAK,MAAMQ,QAAQhB,MAAQ,CAAA;QACzB,IAAI,OAAOgB,SAAS,UAAY,EAAA;AAC9BR,YAAAA,WAAAA,CAAYS,IAAI,CAAC;gBACflB,IAAM,EAAA,IAAA;gBACNa,OAASI,EAAAA;AACX,aAAA,CAAA;AAEA,YAAA;AACF;QAEA,IAAI,OAAOA,SAAS,QAAU,EAAA;YAC5B,MAAMlB,iBAAAA,GAAoBG,MAAOiB,CAAAA,UAAU,CAACF,IAAAA,CAAAA;AAE5C,YAAA,IAAI,CAAClB,iBAAmB,EAAA;AACtB,gBAAA,MAAM,IAAIK,KAAM,CAAA,CAAC,WAAW,EAAEa,IAAAA,CAAK,WAAW,CAAC,CAAA;AACjD;AAEAR,YAAAA,WAAAA,CAAYS,IAAI,CAAC;gBACflB,IAAMiB,EAAAA,IAAAA;AACNJ,gBAAAA,OAAAA,EAASf,qBAAsBC,CAAAA,iBAAAA,EAAmBkB,IAAM,EAAA,IAAIf,MAAWY,CAAAA,IAAAA;AACzE,aAAA,CAAA;AAEA,YAAA;AACF;AAEA,QAAA,IAAI,OAAOG,IAAAA,KAAS,QAAYA,IAAAA,IAAAA,KAAS,IAAM,EAAA;YAC7C,MAAM,EAAEjB,IAAI,EAAEoB,OAAO,EAAEnB,MAAS,GAAA,EAAE,EAAE,GAAGgB,IAAAA;AAEvC,YAAA,IAAIjB,IAAM,EAAA;gBACR,MAAMD,iBAAAA,GAAoBG,MAAOiB,CAAAA,UAAU,CAACnB,IAAAA,CAAAA;AAC5CS,gBAAAA,WAAAA,CAAYS,IAAI,CAAC;AACflB,oBAAAA,IAAAA;AACAa,oBAAAA,OAAAA,EACEf,qBAAsBC,CAAAA,iBAAAA,EAAmBC,IAAMC,EAAAA,MAAAA,EAAQC,MAAWY,CAAAA,IAAAA;AACtE,iBAAA,CAAA;AAEA,gBAAA;AACF;AAEA,YAAA,IAAIM,OAAS,EAAA;gBACX,MAAMC,yBAAAA,GAA4BC,wBAAwBF,OAASlB,EAAAA,MAAAA,CAAAA;AACnEO,gBAAAA,WAAAA,CAAYS,IAAI,CAAC;oBACflB,IAAMoB,EAAAA,OAAAA;AACNP,oBAAAA,OAAAA,EACEf,qBAAsBuB,CAAAA,yBAAAA,EAA2BD,OAASnB,EAAAA,MAAAA,EAAQC,MAClEY,CAAAA,IAAAA;AACJ,iBAAA,CAAA;AAEA,gBAAA;AACF;AAEA,YAAA,MAAM,IAAIV,KAAM,CAAA,uEAAA,CAAA;AAClB;AAEA,QAAA,MAAM,IAAIA,KACR,CAAA,wGAAA,CAAA;AAEJ;IAEA,OAAOK,WAAAA;AACT;AAEA;;IAGA,MAAMa,uBAA0B,GAAA,CAACF,OAAiBlB,EAAAA,MAAAA,GAAAA;IAChD,IAAIqB,UAAAA;IAEJ,IAAI;QACFA,UAAaC,GAAAA,OAAAA,CAAQJ,OAAO,CAACA,OAAAA,CAAAA;AAC/B,KAAA,CAAE,OAAOK,KAAO,EAAA;AACd,QAAA,IAAIA,iBAAiBrB,KAAS,IAAA,MAAA,IAAUqB,SAASA,KAAMC,CAAAA,IAAI,KAAK,kBAAoB,EAAA;YAClFH,UAAaI,GAAAA,IAAAA,CAAKP,OAAO,CAAClB,MAAAA,CAAO0B,IAAI,CAACC,IAAI,CAACC,IAAI,EAAEV,OAAAA,CAAAA;SAC5C,MAAA;YACL,MAAMK,KAAAA;AACR;AACF;IAEA,IAAI;AACF,QAAA,OAAOM,aAAcR,CAAAA,UAAAA,CAAAA;AACvB,KAAA,CAAE,OAAOS,GAAK,EAAA;AACZ,QAAA,MAAM,IAAI5B,KAAM,CAAA,CAAC,2BAA2B,EAAEmB,UAAAA,CAAW,EAAE,CAAC,CAAA;AAC9D;AACF,CAAA;;;;"}
@@ -1,20 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const strapiUtils = require("@strapi/utils");
4
- const createPolicicesMiddleware = (route, strapi) => {
5
- const policiesConfig = route?.config?.policies ?? [];
6
- const resolvedPolicies = strapi.get("policies").resolve(policiesConfig, route.info);
7
- const policiesMiddleware = async (ctx, next) => {
8
- const context = strapiUtils.policy.createPolicyContext("koa", ctx);
9
- for (const { handler, config } of resolvedPolicies) {
10
- const result = await handler(context, config, { strapi });
11
- if (![true, void 0].includes(result)) {
12
- throw new strapiUtils.errors.PolicyError();
13
- }
14
- }
15
- await next();
16
- };
17
- return policiesMiddleware;
1
+ 'use strict';
2
+
3
+ var strapiUtils = require('@strapi/utils');
4
+
5
+ const createPolicicesMiddleware = (route, strapi)=>{
6
+ const policiesConfig = route?.config?.policies ?? [];
7
+ const resolvedPolicies = strapi.get('policies').resolve(policiesConfig, route.info);
8
+ const policiesMiddleware = async (ctx, next)=>{
9
+ const context = strapiUtils.policy.createPolicyContext('koa', ctx);
10
+ for (const { handler, config } of resolvedPolicies){
11
+ const result = await handler(context, config, {
12
+ strapi
13
+ });
14
+ if (![
15
+ true,
16
+ undefined
17
+ ].includes(result)) {
18
+ throw new strapiUtils.errors.PolicyError();
19
+ }
20
+ }
21
+ await next();
22
+ };
23
+ return policiesMiddleware;
18
24
  };
25
+
19
26
  exports.createPolicicesMiddleware = createPolicicesMiddleware;
20
27
  //# sourceMappingURL=policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","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","errors"],"mappings":";;;AAGM,MAAA,4BAA4B,CAAC,OAAmB,WAAwB;AAC5E,QAAM,iBAAiB,OAAO,QAAQ,YAAY,CAAC;AAC7C,QAAA,mBAAmB,OAAO,IAAI,UAAU,EAAE,QAAQ,gBAAgB,MAAM,IAAI;AAE5E,QAAA,qBAA6C,OAAO,KAAK,SAAS;AACtE,UAAM,UAAUA,YAAA,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,IAAIC,mBAAO,YAAY;AAAA,MAAA;AAAA,IAC/B;AAGF,UAAM,KAAK;AAAA,EACb;AAEO,SAAA;AACT;;"}
1
+ {"version":3,"file":"policy.js","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,kBAAAA,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,mBAAOC,WAAW,EAAA;AAC9B;AACF;QAEA,MAAMT,IAAAA,EAAAA;AACR,KAAA;IAEA,OAAOF,kBAAAA;AACT;;;;"}