@strapi/core 0.0.0-experimental.bffd3c1819cd08304e7d270e88b4973e9fcbc183 → 0.0.0-experimental.c23f51fc41b3ef5de081f427d07e87af93cdcb2c

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