@strapi/core 5.0.0-beta.0 → 5.0.0-beta.2

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 (516) hide show
  1. package/dist/Strapi.d.ts +35 -42
  2. package/dist/Strapi.d.ts.map +1 -1
  3. package/dist/Strapi.js +14 -17
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +14 -18
  6. package/dist/Strapi.mjs.map +1 -1
  7. package/dist/configuration/config-loader.d.ts.map +1 -1
  8. package/dist/configuration/config-loader.js +8 -5
  9. package/dist/configuration/config-loader.js.map +1 -1
  10. package/dist/configuration/config-loader.mjs +8 -5
  11. package/dist/configuration/config-loader.mjs.map +1 -1
  12. package/dist/configuration/index.js.map +1 -1
  13. package/dist/configuration/index.mjs.map +1 -1
  14. package/dist/container.d.ts +2 -2
  15. package/dist/container.d.ts.map +1 -1
  16. package/dist/container.js.map +1 -1
  17. package/dist/container.mjs.map +1 -1
  18. package/dist/core-api/controller/collection-type.d.ts +3 -3
  19. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  20. package/dist/core-api/controller/collection-type.js.map +1 -1
  21. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  22. package/dist/core-api/controller/index.d.ts +3 -3
  23. package/dist/core-api/controller/index.d.ts.map +1 -1
  24. package/dist/core-api/controller/index.js +5 -5
  25. package/dist/core-api/controller/index.js.map +1 -1
  26. package/dist/core-api/controller/index.mjs +6 -6
  27. package/dist/core-api/controller/index.mjs.map +1 -1
  28. package/dist/core-api/controller/single-type.d.ts +3 -3
  29. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  30. package/dist/core-api/controller/single-type.js.map +1 -1
  31. package/dist/core-api/controller/single-type.mjs.map +1 -1
  32. package/dist/core-api/controller/transform.d.ts +2 -2
  33. package/dist/core-api/controller/transform.d.ts.map +1 -1
  34. package/dist/core-api/controller/transform.js +2 -5
  35. package/dist/core-api/controller/transform.js.map +1 -1
  36. package/dist/core-api/controller/transform.mjs +2 -5
  37. package/dist/core-api/controller/transform.mjs.map +1 -1
  38. package/dist/core-api/service/collection-type.d.ts +10 -10
  39. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  40. package/dist/core-api/service/collection-type.js.map +1 -1
  41. package/dist/core-api/service/collection-type.mjs.map +1 -1
  42. package/dist/core-api/service/index.d.ts +3 -3
  43. package/dist/core-api/service/index.d.ts.map +1 -1
  44. package/dist/core-api/service/index.js.map +1 -1
  45. package/dist/core-api/service/index.mjs.map +1 -1
  46. package/dist/core-api/service/single-type.d.ts +4 -4
  47. package/dist/core-api/service/single-type.d.ts.map +1 -1
  48. package/dist/core-api/service/single-type.js.map +1 -1
  49. package/dist/core-api/service/single-type.mjs.map +1 -1
  50. package/dist/domain/content-type/index.d.ts +1 -1
  51. package/dist/domain/content-type/index.d.ts.map +1 -1
  52. package/dist/domain/module/index.d.ts +24 -23
  53. package/dist/domain/module/index.d.ts.map +1 -1
  54. package/dist/domain/module/index.js +2 -1
  55. package/dist/domain/module/index.js.map +1 -1
  56. package/dist/domain/module/index.mjs +3 -2
  57. package/dist/domain/module/index.mjs.map +1 -1
  58. package/dist/ee/index.d.ts +2 -2
  59. package/dist/ee/index.d.ts.map +1 -1
  60. package/dist/ee/index.js.map +1 -1
  61. package/dist/ee/index.mjs.map +1 -1
  62. package/dist/ee/license.d.ts +2 -2
  63. package/dist/ee/license.d.ts.map +1 -1
  64. package/dist/ee/license.js.map +1 -1
  65. package/dist/ee/license.mjs.map +1 -1
  66. package/dist/factories.d.ts +10 -10
  67. package/dist/factories.d.ts.map +1 -1
  68. package/dist/factories.js +6 -2
  69. package/dist/factories.js.map +1 -1
  70. package/dist/factories.mjs +6 -2
  71. package/dist/factories.mjs.map +1 -1
  72. package/dist/index.d.ts +4 -2
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +8 -1
  75. package/dist/index.js.map +1 -1
  76. package/dist/index.mjs +10 -3
  77. package/dist/index.mjs.map +1 -1
  78. package/dist/loaders/admin.d.ts +2 -2
  79. package/dist/loaders/admin.d.ts.map +1 -1
  80. package/dist/loaders/admin.js.map +1 -1
  81. package/dist/loaders/admin.mjs.map +1 -1
  82. package/dist/loaders/apis.d.ts +2 -2
  83. package/dist/loaders/apis.d.ts.map +1 -1
  84. package/dist/loaders/apis.js.map +1 -1
  85. package/dist/loaders/apis.mjs.map +1 -1
  86. package/dist/loaders/components.d.ts +2 -2
  87. package/dist/loaders/components.d.ts.map +1 -1
  88. package/dist/loaders/components.js.map +1 -1
  89. package/dist/loaders/components.mjs.map +1 -1
  90. package/dist/loaders/index.d.ts +2 -2
  91. package/dist/loaders/index.d.ts.map +1 -1
  92. package/dist/loaders/index.js.map +1 -1
  93. package/dist/loaders/index.mjs.map +1 -1
  94. package/dist/loaders/middlewares.d.ts +2 -2
  95. package/dist/loaders/middlewares.d.ts.map +1 -1
  96. package/dist/loaders/middlewares.js.map +1 -1
  97. package/dist/loaders/middlewares.mjs.map +1 -1
  98. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  99. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  100. package/dist/loaders/plugins/get-enabled-plugins.js +2 -1
  101. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  102. package/dist/loaders/plugins/get-enabled-plugins.mjs +2 -1
  103. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  104. package/dist/loaders/plugins/index.d.ts +2 -2
  105. package/dist/loaders/plugins/index.d.ts.map +1 -1
  106. package/dist/loaders/plugins/index.js.map +1 -1
  107. package/dist/loaders/plugins/index.mjs.map +1 -1
  108. package/dist/loaders/policies.d.ts +2 -2
  109. package/dist/loaders/policies.d.ts.map +1 -1
  110. package/dist/loaders/policies.js.map +1 -1
  111. package/dist/loaders/policies.mjs.map +1 -1
  112. package/dist/loaders/sanitizers.d.ts +2 -2
  113. package/dist/loaders/sanitizers.d.ts.map +1 -1
  114. package/dist/loaders/sanitizers.js.map +1 -1
  115. package/dist/loaders/sanitizers.mjs.map +1 -1
  116. package/dist/loaders/src-index.d.ts +2 -2
  117. package/dist/loaders/src-index.d.ts.map +1 -1
  118. package/dist/loaders/src-index.js.map +1 -1
  119. package/dist/loaders/src-index.mjs.map +1 -1
  120. package/dist/loaders/validators.d.ts +2 -2
  121. package/dist/loaders/validators.d.ts.map +1 -1
  122. package/dist/loaders/validators.js.map +1 -1
  123. package/dist/loaders/validators.mjs.map +1 -1
  124. package/dist/middlewares/body.d.ts +2 -2
  125. package/dist/middlewares/body.d.ts.map +1 -1
  126. package/dist/middlewares/body.js.map +1 -1
  127. package/dist/middlewares/body.mjs.map +1 -1
  128. package/dist/middlewares/compression.d.ts +2 -2
  129. package/dist/middlewares/compression.d.ts.map +1 -1
  130. package/dist/middlewares/compression.js.map +1 -1
  131. package/dist/middlewares/compression.mjs.map +1 -1
  132. package/dist/middlewares/cors.d.ts +2 -2
  133. package/dist/middlewares/cors.d.ts.map +1 -1
  134. package/dist/middlewares/cors.js.map +1 -1
  135. package/dist/middlewares/cors.mjs.map +1 -1
  136. package/dist/middlewares/errors.d.ts +2 -2
  137. package/dist/middlewares/errors.d.ts.map +1 -1
  138. package/dist/middlewares/errors.js.map +1 -1
  139. package/dist/middlewares/errors.mjs.map +1 -1
  140. package/dist/middlewares/favicon.d.ts +2 -2
  141. package/dist/middlewares/favicon.d.ts.map +1 -1
  142. package/dist/middlewares/favicon.js.map +1 -1
  143. package/dist/middlewares/favicon.mjs.map +1 -1
  144. package/dist/middlewares/index.d.ts +2 -2
  145. package/dist/middlewares/index.d.ts.map +1 -1
  146. package/dist/middlewares/index.js.map +1 -1
  147. package/dist/middlewares/index.mjs.map +1 -1
  148. package/dist/middlewares/ip.d.ts +2 -2
  149. package/dist/middlewares/ip.d.ts.map +1 -1
  150. package/dist/middlewares/ip.js.map +1 -1
  151. package/dist/middlewares/ip.mjs.map +1 -1
  152. package/dist/middlewares/logger.d.ts +2 -2
  153. package/dist/middlewares/logger.d.ts.map +1 -1
  154. package/dist/middlewares/logger.js.map +1 -1
  155. package/dist/middlewares/logger.mjs.map +1 -1
  156. package/dist/middlewares/powered-by.d.ts +2 -2
  157. package/dist/middlewares/powered-by.d.ts.map +1 -1
  158. package/dist/middlewares/powered-by.js.map +1 -1
  159. package/dist/middlewares/powered-by.mjs.map +1 -1
  160. package/dist/middlewares/public.d.ts +2 -2
  161. package/dist/middlewares/public.d.ts.map +1 -1
  162. package/dist/middlewares/public.js.map +1 -1
  163. package/dist/middlewares/public.mjs.map +1 -1
  164. package/dist/middlewares/query.d.ts +2 -2
  165. package/dist/middlewares/query.d.ts.map +1 -1
  166. package/dist/middlewares/query.js.map +1 -1
  167. package/dist/middlewares/query.mjs.map +1 -1
  168. package/dist/middlewares/response-time.d.ts +2 -2
  169. package/dist/middlewares/response-time.d.ts.map +1 -1
  170. package/dist/middlewares/response-time.js.map +1 -1
  171. package/dist/middlewares/response-time.mjs.map +1 -1
  172. package/dist/middlewares/responses.d.ts +3 -3
  173. package/dist/middlewares/responses.d.ts.map +1 -1
  174. package/dist/middlewares/responses.js.map +1 -1
  175. package/dist/middlewares/responses.mjs.map +1 -1
  176. package/dist/middlewares/security.d.ts +2 -2
  177. package/dist/middlewares/security.d.ts.map +1 -1
  178. package/dist/middlewares/security.js.map +1 -1
  179. package/dist/middlewares/security.mjs.map +1 -1
  180. package/dist/middlewares/session.d.ts +2 -2
  181. package/dist/middlewares/session.d.ts.map +1 -1
  182. package/dist/middlewares/session.js.map +1 -1
  183. package/dist/middlewares/session.mjs.map +1 -1
  184. package/dist/registries/apis.d.ts +2 -2
  185. package/dist/registries/apis.d.ts.map +1 -1
  186. package/dist/registries/apis.js.map +1 -1
  187. package/dist/registries/apis.mjs.map +1 -1
  188. package/dist/registries/components.d.ts +6 -6
  189. package/dist/registries/components.d.ts.map +1 -1
  190. package/dist/registries/components.js.map +1 -1
  191. package/dist/registries/components.mjs.map +1 -1
  192. package/dist/registries/config.d.ts +2 -2
  193. package/dist/registries/config.d.ts.map +1 -1
  194. package/dist/registries/config.js +15 -3
  195. package/dist/registries/config.js.map +1 -1
  196. package/dist/registries/config.mjs +16 -4
  197. package/dist/registries/config.mjs.map +1 -1
  198. package/dist/registries/content-types.d.ts +5 -5
  199. package/dist/registries/content-types.d.ts.map +1 -1
  200. package/dist/registries/content-types.js.map +1 -1
  201. package/dist/registries/content-types.mjs.map +1 -1
  202. package/dist/registries/controllers.d.ts +10 -10
  203. package/dist/registries/controllers.d.ts.map +1 -1
  204. package/dist/registries/controllers.js.map +1 -1
  205. package/dist/registries/controllers.mjs.map +1 -1
  206. package/dist/registries/custom-fields.d.ts +3 -3
  207. package/dist/registries/custom-fields.d.ts.map +1 -1
  208. package/dist/registries/custom-fields.js.map +1 -1
  209. package/dist/registries/custom-fields.mjs.map +1 -1
  210. package/dist/registries/middlewares.d.ts +6 -6
  211. package/dist/registries/middlewares.d.ts.map +1 -1
  212. package/dist/registries/middlewares.js.map +1 -1
  213. package/dist/registries/middlewares.mjs.map +1 -1
  214. package/dist/registries/modules.d.ts +2 -2
  215. package/dist/registries/modules.d.ts.map +1 -1
  216. package/dist/registries/modules.js.map +1 -1
  217. package/dist/registries/modules.mjs.map +1 -1
  218. package/dist/registries/plugins.d.ts +5 -5
  219. package/dist/registries/plugins.d.ts.map +1 -1
  220. package/dist/registries/plugins.js.map +1 -1
  221. package/dist/registries/plugins.mjs.map +1 -1
  222. package/dist/registries/policies.d.ts +23 -11
  223. package/dist/registries/policies.d.ts.map +1 -1
  224. package/dist/registries/policies.js +64 -18
  225. package/dist/registries/policies.js.map +1 -1
  226. package/dist/registries/policies.mjs +65 -19
  227. package/dist/registries/policies.mjs.map +1 -1
  228. package/dist/registries/services.d.ts +8 -8
  229. package/dist/registries/services.d.ts.map +1 -1
  230. package/dist/registries/services.js.map +1 -1
  231. package/dist/registries/services.mjs.map +1 -1
  232. package/dist/services/auth/index.d.ts +4 -4
  233. package/dist/services/auth/index.d.ts.map +1 -1
  234. package/dist/services/auth/index.js.map +1 -1
  235. package/dist/services/auth/index.mjs.map +1 -1
  236. package/dist/services/content-api/index.d.ts +21 -3
  237. package/dist/services/content-api/index.d.ts.map +1 -1
  238. package/dist/services/content-api/index.js +28 -2
  239. package/dist/services/content-api/index.js.map +1 -1
  240. package/dist/services/content-api/index.mjs +28 -2
  241. package/dist/services/content-api/index.mjs.map +1 -1
  242. package/dist/services/content-api/permissions/index.d.ts +3 -3
  243. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  244. package/dist/services/content-api/permissions/index.js +1 -1
  245. package/dist/services/content-api/permissions/index.js.map +1 -1
  246. package/dist/services/content-api/permissions/index.mjs +1 -1
  247. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  248. package/dist/services/cron.d.ts +2 -2
  249. package/dist/services/cron.d.ts.map +1 -1
  250. package/dist/services/cron.js.map +1 -1
  251. package/dist/services/cron.mjs.map +1 -1
  252. package/dist/services/custom-fields.d.ts +2 -2
  253. package/dist/services/custom-fields.d.ts.map +1 -1
  254. package/dist/services/custom-fields.js.map +1 -1
  255. package/dist/services/custom-fields.mjs.map +1 -1
  256. package/dist/services/document-service/common.d.ts +2 -2
  257. package/dist/services/document-service/common.d.ts.map +1 -1
  258. package/dist/services/document-service/common.js.map +1 -1
  259. package/dist/services/document-service/common.mjs.map +1 -1
  260. package/dist/services/document-service/document-engine.d.ts +2 -0
  261. package/dist/services/document-service/document-engine.d.ts.map +1 -0
  262. package/dist/services/document-service/draft-and-publish.d.ts +7 -7
  263. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  264. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  265. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  266. package/dist/services/document-service/index.d.ts +2 -2
  267. package/dist/services/document-service/index.d.ts.map +1 -1
  268. package/dist/services/document-service/index.js +4 -0
  269. package/dist/services/document-service/index.js.map +1 -1
  270. package/dist/services/document-service/index.mjs +4 -0
  271. package/dist/services/document-service/index.mjs.map +1 -1
  272. package/dist/services/document-service/internationalization.d.ts +5 -5
  273. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  274. package/dist/services/document-service/internationalization.js.map +1 -1
  275. package/dist/services/document-service/internationalization.mjs.map +1 -1
  276. package/dist/services/document-service/repository.d.ts.map +1 -1
  277. package/dist/services/document-service/repository.js +16 -4
  278. package/dist/services/document-service/repository.js.map +1 -1
  279. package/dist/services/document-service/repository.mjs +17 -5
  280. package/dist/services/document-service/repository.mjs.map +1 -1
  281. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  282. package/dist/services/document-service/transform/data.js +4 -2
  283. package/dist/services/document-service/transform/data.js.map +1 -1
  284. package/dist/services/document-service/transform/data.mjs +4 -2
  285. package/dist/services/document-service/transform/data.mjs.map +1 -1
  286. package/dist/services/document-service/transform/fields.d.ts +2 -2
  287. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  288. package/dist/services/document-service/transform/fields.js.map +1 -1
  289. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  290. package/dist/services/document-service/transform/id-map.d.ts +3 -3
  291. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  292. package/dist/services/document-service/transform/id-map.js.map +1 -1
  293. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  294. package/dist/services/document-service/transform/id-transform.d.ts +2 -2
  295. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  296. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  297. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  298. package/dist/services/document-service/transform/populate.d.ts +2 -2
  299. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  300. package/dist/services/document-service/transform/populate.js +1 -1
  301. package/dist/services/document-service/transform/populate.js.map +1 -1
  302. package/dist/services/document-service/transform/populate.mjs +1 -1
  303. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  304. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  305. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  306. package/dist/services/document-service/transform/relations/extract/data-ids.js +42 -78
  307. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  308. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +42 -78
  309. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  310. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +8 -4
  311. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  312. package/dist/services/document-service/transform/relations/transform/data-ids.js +57 -125
  313. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  314. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +58 -126
  315. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  316. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  317. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  318. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  319. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  320. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  321. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  322. package/dist/services/document-service/transform/relations/utils/dp.d.ts +3 -3
  323. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  324. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  325. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  326. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  327. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  328. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  329. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  330. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  331. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  332. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  333. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  334. package/dist/services/document-service/transform/relations/utils/map-relation.js +87 -0
  335. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  336. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +87 -0
  337. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  338. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  339. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  340. package/dist/services/document-service/transform/types.d.ts +3 -3
  341. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  342. package/dist/services/document-service/utils/populate.d.ts +2 -2
  343. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  344. package/dist/services/document-service/utils/populate.js.map +1 -1
  345. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  346. package/dist/services/entity-service/attributes/index.d.ts +4 -4
  347. package/dist/services/entity-service/attributes/index.d.ts.map +1 -1
  348. package/dist/services/entity-service/attributes/index.js.map +1 -1
  349. package/dist/services/entity-service/attributes/index.mjs.map +1 -1
  350. package/dist/services/entity-service/attributes/transforms.d.ts +3 -3
  351. package/dist/services/entity-service/attributes/transforms.d.ts.map +1 -1
  352. package/dist/services/entity-service/attributes/transforms.js.map +1 -1
  353. package/dist/services/entity-service/attributes/transforms.mjs.map +1 -1
  354. package/dist/services/entity-service/components.d.ts +87 -12
  355. package/dist/services/entity-service/components.d.ts.map +1 -1
  356. package/dist/services/entity-service/components.js +1 -4
  357. package/dist/services/entity-service/components.js.map +1 -1
  358. package/dist/services/entity-service/components.mjs +1 -4
  359. package/dist/services/entity-service/components.mjs.map +1 -1
  360. package/dist/services/entity-service/index.d.ts +4 -4
  361. package/dist/services/entity-service/index.d.ts.map +1 -1
  362. package/dist/services/entity-service/index.js +14 -15
  363. package/dist/services/entity-service/index.js.map +1 -1
  364. package/dist/services/entity-service/index.mjs +15 -16
  365. package/dist/services/entity-service/index.mjs.map +1 -1
  366. package/dist/services/entity-service/params.d.ts +5 -5
  367. package/dist/services/entity-service/params.d.ts.map +1 -1
  368. package/dist/services/entity-service/params.js.map +1 -1
  369. package/dist/services/entity-service/params.mjs.map +1 -1
  370. package/dist/services/entity-validator/index.d.ts +2 -2
  371. package/dist/services/entity-validator/index.d.ts.map +1 -1
  372. package/dist/services/entity-validator/index.js +100 -89
  373. package/dist/services/entity-validator/index.js.map +1 -1
  374. package/dist/services/entity-validator/index.mjs +100 -89
  375. package/dist/services/entity-validator/index.mjs.map +1 -1
  376. package/dist/services/entity-validator/validators.d.ts +18 -18
  377. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  378. package/dist/services/entity-validator/validators.js +6 -1
  379. package/dist/services/entity-validator/validators.js.map +1 -1
  380. package/dist/services/entity-validator/validators.mjs +6 -1
  381. package/dist/services/entity-validator/validators.mjs.map +1 -1
  382. package/dist/services/features.d.ts +3 -3
  383. package/dist/services/features.d.ts.map +1 -1
  384. package/dist/services/features.js.map +1 -1
  385. package/dist/services/features.mjs.map +1 -1
  386. package/dist/services/fs.d.ts +2 -2
  387. package/dist/services/fs.d.ts.map +1 -1
  388. package/dist/services/fs.js.map +1 -1
  389. package/dist/services/fs.mjs.map +1 -1
  390. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  391. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  392. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  393. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  394. package/dist/services/metrics/index.d.ts +2 -2
  395. package/dist/services/metrics/index.d.ts.map +1 -1
  396. package/dist/services/metrics/index.js.map +1 -1
  397. package/dist/services/metrics/index.mjs.map +1 -1
  398. package/dist/services/metrics/middleware.d.ts +2 -2
  399. package/dist/services/metrics/middleware.d.ts.map +1 -1
  400. package/dist/services/metrics/middleware.js.map +1 -1
  401. package/dist/services/metrics/middleware.mjs.map +1 -1
  402. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  403. package/dist/services/metrics/rate-limiter.js.map +1 -1
  404. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  405. package/dist/services/metrics/sender.d.ts +3 -3
  406. package/dist/services/metrics/sender.d.ts.map +1 -1
  407. package/dist/services/metrics/sender.js.map +1 -1
  408. package/dist/services/metrics/sender.mjs.map +1 -1
  409. package/dist/services/query-params.d.ts +7 -0
  410. package/dist/services/query-params.d.ts.map +1 -0
  411. package/dist/services/query-params.js +12 -0
  412. package/dist/services/query-params.js.map +1 -0
  413. package/dist/services/query-params.mjs +13 -0
  414. package/dist/services/query-params.mjs.map +1 -0
  415. package/dist/services/server/admin-api.d.ts +3 -3
  416. package/dist/services/server/admin-api.d.ts.map +1 -1
  417. package/dist/services/server/admin-api.js.map +1 -1
  418. package/dist/services/server/admin-api.mjs.map +1 -1
  419. package/dist/services/server/api.d.ts +3 -3
  420. package/dist/services/server/api.d.ts.map +1 -1
  421. package/dist/services/server/api.js.map +1 -1
  422. package/dist/services/server/api.mjs.map +1 -1
  423. package/dist/services/server/compose-endpoint.d.ts +2 -2
  424. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  425. package/dist/services/server/compose-endpoint.js +1 -2
  426. package/dist/services/server/compose-endpoint.js.map +1 -1
  427. package/dist/services/server/compose-endpoint.mjs +2 -3
  428. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  429. package/dist/services/server/content-api.d.ts +3 -3
  430. package/dist/services/server/content-api.d.ts.map +1 -1
  431. package/dist/services/server/content-api.js.map +1 -1
  432. package/dist/services/server/content-api.mjs.map +1 -1
  433. package/dist/services/server/http-server.d.ts +2 -2
  434. package/dist/services/server/http-server.d.ts.map +1 -1
  435. package/dist/services/server/http-server.js.map +1 -1
  436. package/dist/services/server/http-server.mjs.map +1 -1
  437. package/dist/services/server/index.d.ts +2 -2
  438. package/dist/services/server/index.d.ts.map +1 -1
  439. package/dist/services/server/index.js +1 -2
  440. package/dist/services/server/index.js.map +1 -1
  441. package/dist/services/server/index.mjs +1 -2
  442. package/dist/services/server/index.mjs.map +1 -1
  443. package/dist/services/server/middleware.d.ts +4 -4
  444. package/dist/services/server/middleware.d.ts.map +1 -1
  445. package/dist/services/server/middleware.js.map +1 -1
  446. package/dist/services/server/middleware.mjs.map +1 -1
  447. package/dist/services/server/policy.d.ts +3 -3
  448. package/dist/services/server/policy.d.ts.map +1 -1
  449. package/dist/services/server/policy.js +4 -4
  450. package/dist/services/server/policy.js.map +1 -1
  451. package/dist/services/server/policy.mjs +4 -4
  452. package/dist/services/server/policy.mjs.map +1 -1
  453. package/dist/services/server/register-middlewares.d.ts +2 -2
  454. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  455. package/dist/services/server/register-middlewares.js.map +1 -1
  456. package/dist/services/server/register-middlewares.mjs.map +1 -1
  457. package/dist/services/server/register-routes.d.ts +2 -2
  458. package/dist/services/server/register-routes.d.ts.map +1 -1
  459. package/dist/services/server/register-routes.js +2 -2
  460. package/dist/services/server/register-routes.js.map +1 -1
  461. package/dist/services/server/register-routes.mjs +2 -2
  462. package/dist/services/server/register-routes.mjs.map +1 -1
  463. package/dist/services/server/routing.d.ts +4 -4
  464. package/dist/services/server/routing.d.ts.map +1 -1
  465. package/dist/services/server/routing.js.map +1 -1
  466. package/dist/services/server/routing.mjs.map +1 -1
  467. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  468. package/dist/services/utils/dynamic-zones.js +2 -1
  469. package/dist/services/utils/dynamic-zones.js.map +1 -1
  470. package/dist/services/utils/dynamic-zones.mjs +2 -1
  471. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  472. package/dist/services/webhook-runner.js.map +1 -1
  473. package/dist/services/webhook-runner.mjs.map +1 -1
  474. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  475. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  476. package/dist/utils/convert-custom-field-type.js.map +1 -1
  477. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  478. package/dist/utils/fetch.d.ts +3 -3
  479. package/dist/utils/fetch.d.ts.map +1 -1
  480. package/dist/utils/fetch.js.map +1 -1
  481. package/dist/utils/fetch.mjs.map +1 -1
  482. package/dist/utils/get-dirs.d.ts +3 -3
  483. package/dist/utils/get-dirs.d.ts.map +1 -1
  484. package/dist/utils/get-dirs.js.map +1 -1
  485. package/dist/utils/get-dirs.mjs.map +1 -1
  486. package/dist/utils/is-initialized.d.ts +2 -2
  487. package/dist/utils/is-initialized.d.ts.map +1 -1
  488. package/dist/utils/is-initialized.js.map +1 -1
  489. package/dist/utils/is-initialized.mjs.map +1 -1
  490. package/dist/utils/open-browser.d.ts +2 -2
  491. package/dist/utils/open-browser.d.ts.map +1 -1
  492. package/dist/utils/open-browser.js.map +1 -1
  493. package/dist/utils/open-browser.mjs.map +1 -1
  494. package/dist/utils/signals.d.ts +2 -2
  495. package/dist/utils/signals.d.ts.map +1 -1
  496. package/dist/utils/signals.js.map +1 -1
  497. package/dist/utils/signals.mjs.map +1 -1
  498. package/dist/utils/startup-logger.d.ts +2 -2
  499. package/dist/utils/startup-logger.d.ts.map +1 -1
  500. package/dist/utils/startup-logger.js.map +1 -1
  501. package/dist/utils/startup-logger.mjs.map +1 -1
  502. package/dist/utils/transform-content-types-to-models.d.ts +54 -99
  503. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  504. package/dist/utils/transform-content-types-to-models.js +95 -57
  505. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  506. package/dist/utils/transform-content-types-to-models.mjs +95 -57
  507. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  508. package/dist/utils/update-notifier/index.d.ts +2 -2
  509. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  510. package/dist/utils/update-notifier/index.js.map +1 -1
  511. package/dist/utils/update-notifier/index.mjs.map +1 -1
  512. package/package.json +15 -15
  513. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  514. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  515. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  516. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.mjs","sources":["../../../src/services/metrics/middleware.ts"],"sourcesContent":["import type { Common } from '@strapi/types';\nimport type { Sender } from './sender';\n\ninterface State {\n currentDay: number | null;\n counter: number;\n}\n\nconst createMiddleware = ({ sendEvent }: { sendEvent: Sender }) => {\n const state: State = {\n currentDay: null,\n counter: 0,\n };\n\n const middleware: Common.MiddlewareHandler = async (ctx, next) => {\n const { url, method } = ctx.request;\n\n if (!url.includes('.') && ['GET', 'PUT', 'POST', 'DELETE'].includes(method)) {\n const dayOfMonth = new Date().getDate();\n\n if (dayOfMonth !== state.currentDay) {\n state.currentDay = dayOfMonth;\n state.counter = 0;\n }\n\n // Send max. 1000 events per day.\n if (state.counter < 1000) {\n sendEvent('didReceiveRequest', { eventProperties: { url: ctx.request.url } });\n\n // Increase counter.\n state.counter += 1;\n }\n }\n\n await next();\n };\n\n return middleware;\n};\n\nexport default createMiddleware;\n"],"names":[],"mappings":"AAQA,MAAM,mBAAmB,CAAC,EAAE,gBAAuC;AACjE,QAAM,QAAe;AAAA,IACnB,YAAY;AAAA,IACZ,SAAS;AAAA,EAAA;AAGL,QAAA,aAAuC,OAAO,KAAK,SAAS;AAChE,UAAM,EAAE,KAAK,WAAW,IAAI;AAE5B,QAAI,CAAC,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,OAAO,QAAQ,QAAQ,EAAE,SAAS,MAAM,GAAG;AAC3E,YAAM,cAAa,oBAAI,KAAK,GAAE,QAAQ;AAElC,UAAA,eAAe,MAAM,YAAY;AACnC,cAAM,aAAa;AACnB,cAAM,UAAU;AAAA,MAClB;AAGI,UAAA,MAAM,UAAU,KAAM;AACd,kBAAA,qBAAqB,EAAE,iBAAiB,EAAE,KAAK,IAAI,QAAQ,IAAI,EAAA,CAAG;AAG5E,cAAM,WAAW;AAAA,MACnB;AAAA,IACF;AAEA,UAAM,KAAK;AAAA,EAAA;AAGN,SAAA;AACT;"}
1
+ {"version":3,"file":"middleware.mjs","sources":["../../../src/services/metrics/middleware.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { Sender } from './sender';\n\ninterface State {\n currentDay: number | null;\n counter: number;\n}\n\nconst createMiddleware = ({ sendEvent }: { sendEvent: Sender }) => {\n const state: State = {\n currentDay: null,\n counter: 0,\n };\n\n const middleware: Core.MiddlewareHandler = async (ctx, next) => {\n const { url, method } = ctx.request;\n\n if (!url.includes('.') && ['GET', 'PUT', 'POST', 'DELETE'].includes(method)) {\n const dayOfMonth = new Date().getDate();\n\n if (dayOfMonth !== state.currentDay) {\n state.currentDay = dayOfMonth;\n state.counter = 0;\n }\n\n // Send max. 1000 events per day.\n if (state.counter < 1000) {\n sendEvent('didReceiveRequest', { eventProperties: { url: ctx.request.url } });\n\n // Increase counter.\n state.counter += 1;\n }\n }\n\n await next();\n };\n\n return middleware;\n};\n\nexport default createMiddleware;\n"],"names":[],"mappings":"AAQA,MAAM,mBAAmB,CAAC,EAAE,gBAAuC;AACjE,QAAM,QAAe;AAAA,IACnB,YAAY;AAAA,IACZ,SAAS;AAAA,EAAA;AAGL,QAAA,aAAqC,OAAO,KAAK,SAAS;AAC9D,UAAM,EAAE,KAAK,WAAW,IAAI;AAE5B,QAAI,CAAC,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,OAAO,QAAQ,QAAQ,EAAE,SAAS,MAAM,GAAG;AAC3E,YAAM,cAAa,oBAAI,KAAK,GAAE,QAAQ;AAElC,UAAA,eAAe,MAAM,YAAY;AACnC,cAAM,aAAa;AACnB,cAAM,UAAU;AAAA,MAClB;AAGI,UAAA,MAAM,UAAU,KAAM;AACd,kBAAA,qBAAqB,EAAE,iBAAiB,EAAE,KAAK,IAAI,QAAQ,IAAI,EAAA,CAAG;AAG5E,cAAM,WAAW;AAAA,MACnB;AAAA,IACF;AAEA,UAAM,KAAK;AAAA,EAAA;AAGN,SAAA;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/rate-limiter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,UAAU,OAAO;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;iCAMuB,MAAM,sBAA0B,OAAO,aAIxC,MAAM;AAJ7B,wBAqBE"}
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/rate-limiter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,UAAU,OAAO;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;iCAKuB,MAAM,sBAA0B,OAAO,aAIxC,MAAM;AAJ7B,wBAqBE"}
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.js","sources":["../../../src/services/metrics/rate-limiter.ts"],"sourcesContent":["import type { Sender } from './sender';\n\ninterface Options {\n limitedEvents?: string[];\n}\n\ntype TailParams<T extends (...args: any[]) => any> = Parameters<T> extends [unknown, ...infer U]\n ? U\n : never;\n\nexport default (sender: Sender, { limitedEvents = [] }: Options = {}) => {\n let currentDay = new Date().getDate();\n const eventCache = new Map();\n\n return async (event: string, ...args: TailParams<Sender>) => {\n if (!limitedEvents.includes(event)) {\n return sender(event, ...args);\n }\n\n if (new Date().getDate() !== currentDay) {\n eventCache.clear();\n currentDay = new Date().getDate();\n }\n\n if (eventCache.has(event)) {\n return false;\n }\n\n eventCache.set(event, true);\n return sender(event, ...args);\n };\n};\n"],"names":[],"mappings":";AAUA,MAAe,oBAAA,CAAC,QAAgB,EAAE,gBAAgB,CAAG,EAAA,IAAa,CAAA,MAAO;AACvE,MAAI,cAAa,oBAAI,KAAK,GAAE,QAAQ;AAC9B,QAAA,iCAAiB;AAEhB,SAAA,OAAO,UAAkB,SAA6B;AAC3D,QAAI,CAAC,cAAc,SAAS,KAAK,GAAG;AAC3B,aAAA,OAAO,OAAO,GAAG,IAAI;AAAA,IAC9B;AAEA,SAAQ,oBAAA,KAAA,GAAO,QAAA,MAAc,YAAY;AACvC,iBAAW,MAAM;AACJ,oBAAA,oBAAI,KAAK,GAAE,QAAQ;AAAA,IAClC;AAEI,QAAA,WAAW,IAAI,KAAK,GAAG;AAClB,aAAA;AAAA,IACT;AAEW,eAAA,IAAI,OAAO,IAAI;AACnB,WAAA,OAAO,OAAO,GAAG,IAAI;AAAA,EAAA;AAEhC;;"}
1
+ {"version":3,"file":"rate-limiter.js","sources":["../../../src/services/metrics/rate-limiter.ts"],"sourcesContent":["import type { Sender } from './sender';\n\ninterface Options {\n limitedEvents?: string[];\n}\n\ntype TailParams<T extends (...args: any[]) => any> =\n Parameters<T> extends [unknown, ...infer U] ? U : never;\n\nexport default (sender: Sender, { limitedEvents = [] }: Options = {}) => {\n let currentDay = new Date().getDate();\n const eventCache = new Map();\n\n return async (event: string, ...args: TailParams<Sender>) => {\n if (!limitedEvents.includes(event)) {\n return sender(event, ...args);\n }\n\n if (new Date().getDate() !== currentDay) {\n eventCache.clear();\n currentDay = new Date().getDate();\n }\n\n if (eventCache.has(event)) {\n return false;\n }\n\n eventCache.set(event, true);\n return sender(event, ...args);\n };\n};\n"],"names":[],"mappings":";AASA,MAAe,oBAAA,CAAC,QAAgB,EAAE,gBAAgB,CAAG,EAAA,IAAa,CAAA,MAAO;AACvE,MAAI,cAAa,oBAAI,KAAK,GAAE,QAAQ;AAC9B,QAAA,iCAAiB;AAEhB,SAAA,OAAO,UAAkB,SAA6B;AAC3D,QAAI,CAAC,cAAc,SAAS,KAAK,GAAG;AAC3B,aAAA,OAAO,OAAO,GAAG,IAAI;AAAA,IAC9B;AAEA,SAAQ,oBAAA,KAAA,GAAO,QAAA,MAAc,YAAY;AACvC,iBAAW,MAAM;AACJ,oBAAA,oBAAI,KAAK,GAAE,QAAQ;AAAA,IAClC;AAEI,QAAA,WAAW,IAAI,KAAK,GAAG;AAClB,aAAA;AAAA,IACT;AAEW,eAAA,IAAI,OAAO,IAAI;AACnB,WAAA,OAAO,OAAO,GAAG,IAAI;AAAA,EAAA;AAEhC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.mjs","sources":["../../../src/services/metrics/rate-limiter.ts"],"sourcesContent":["import type { Sender } from './sender';\n\ninterface Options {\n limitedEvents?: string[];\n}\n\ntype TailParams<T extends (...args: any[]) => any> = Parameters<T> extends [unknown, ...infer U]\n ? U\n : never;\n\nexport default (sender: Sender, { limitedEvents = [] }: Options = {}) => {\n let currentDay = new Date().getDate();\n const eventCache = new Map();\n\n return async (event: string, ...args: TailParams<Sender>) => {\n if (!limitedEvents.includes(event)) {\n return sender(event, ...args);\n }\n\n if (new Date().getDate() !== currentDay) {\n eventCache.clear();\n currentDay = new Date().getDate();\n }\n\n if (eventCache.has(event)) {\n return false;\n }\n\n eventCache.set(event, true);\n return sender(event, ...args);\n };\n};\n"],"names":[],"mappings":"AAUA,MAAe,oBAAA,CAAC,QAAgB,EAAE,gBAAgB,CAAG,EAAA,IAAa,CAAA,MAAO;AACvE,MAAI,cAAa,oBAAI,KAAK,GAAE,QAAQ;AAC9B,QAAA,iCAAiB;AAEhB,SAAA,OAAO,UAAkB,SAA6B;AAC3D,QAAI,CAAC,cAAc,SAAS,KAAK,GAAG;AAC3B,aAAA,OAAO,OAAO,GAAG,IAAI;AAAA,IAC9B;AAEA,SAAQ,oBAAA,KAAA,GAAO,QAAA,MAAc,YAAY;AACvC,iBAAW,MAAM;AACJ,oBAAA,oBAAI,KAAK,GAAE,QAAQ;AAAA,IAClC;AAEI,QAAA,WAAW,IAAI,KAAK,GAAG;AAClB,aAAA;AAAA,IACT;AAEW,eAAA,IAAI,OAAO,IAAI;AACnB,WAAA,OAAO,OAAO,GAAG,IAAI;AAAA,EAAA;AAEhC;"}
1
+ {"version":3,"file":"rate-limiter.mjs","sources":["../../../src/services/metrics/rate-limiter.ts"],"sourcesContent":["import type { Sender } from './sender';\n\ninterface Options {\n limitedEvents?: string[];\n}\n\ntype TailParams<T extends (...args: any[]) => any> =\n Parameters<T> extends [unknown, ...infer U] ? U : never;\n\nexport default (sender: Sender, { limitedEvents = [] }: Options = {}) => {\n let currentDay = new Date().getDate();\n const eventCache = new Map();\n\n return async (event: string, ...args: TailParams<Sender>) => {\n if (!limitedEvents.includes(event)) {\n return sender(event, ...args);\n }\n\n if (new Date().getDate() !== currentDay) {\n eventCache.clear();\n currentDay = new Date().getDate();\n }\n\n if (eventCache.has(event)) {\n return false;\n }\n\n eventCache.set(event, true);\n return sender(event, ...args);\n };\n};\n"],"names":[],"mappings":"AASA,MAAe,oBAAA,CAAC,QAAgB,EAAE,gBAAgB,CAAG,EAAA,IAAa,CAAA,MAAO;AACvE,MAAI,cAAa,oBAAI,KAAK,GAAE,QAAQ;AAC9B,QAAA,iCAAiB;AAEhB,SAAA,OAAO,UAAkB,SAA6B;AAC3D,QAAI,CAAC,cAAc,SAAS,KAAK,GAAG;AAC3B,aAAA,OAAO,OAAO,GAAG,IAAI;AAAA,IAC9B;AAEA,SAAQ,oBAAA,KAAA,GAAO,QAAA,MAAc,YAAY;AACvC,iBAAW,MAAM;AACJ,oBAAA,oBAAI,KAAK,GAAE,QAAQ;AAAA,IAClC;AAEI,QAAA,WAAW,IAAI,KAAK,GAAG;AAClB,aAAA;AAAA,IACT;AAEW,eAAA,IAAI,OAAO,IAAI;AACnB,WAAA,OAAO,OAAO,GAAG,IAAI;AAAA,EAAA;AAEhC;"}
@@ -1,4 +1,4 @@
1
- import type { Strapi } from '@strapi/types';
1
+ import type { Core } from '@strapi/types';
2
2
  export interface Payload {
3
3
  eventProperties?: Record<string, unknown>;
4
4
  userProperties?: Record<string, unknown>;
@@ -6,8 +6,8 @@ export interface Payload {
6
6
  }
7
7
  export type Sender = (event: string, payload?: Payload, opts?: Record<string, unknown>) => Promise<boolean>;
8
8
  /**
9
- * Create a send function for event with all the necessary metadatas
9
+ * Create a send function for event with all the necessary metadata
10
10
  */
11
- declare const _default: (strapi: Strapi) => Sender;
11
+ declare const _default: (strapi: Core.Strapi) => Sender;
12
12
  export default _default;
13
13
  //# sourceMappingURL=sender.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sender.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/sender.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,WAAW,OAAO;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,MAAM,MAAM,GAAG,CACnB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;AAkBtB;;GAEG;iCACqB,MAAM,KAAG,MAAM;AAAvC,wBAuDE"}
1
+ {"version":3,"file":"sender.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/sender.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,OAAO;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,MAAM,MAAM,GAAG,CACnB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;AAkBtB;;GAEG;iCACqB,KAAK,MAAM,KAAG,MAAM;AAA5C,wBAuDE"}
@@ -1 +1 @@
1
- {"version":3,"file":"sender.js","sources":["../../../src/services/metrics/sender.ts"],"sourcesContent":["import os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport isDocker from 'is-docker';\nimport ciEnv from 'ci-info';\nimport tsUtils from '@strapi/typescript-utils';\nimport { env, machineID } from '@strapi/utils';\nimport type { Strapi } from '@strapi/types';\nimport { generateAdminUserHash } from './admin-user-hash';\n\nexport interface Payload {\n eventProperties?: Record<string, unknown>;\n userProperties?: Record<string, unknown>;\n groupProperties?: Record<string, unknown>;\n}\n\nexport type Sender = (\n event: string,\n payload?: Payload,\n opts?: Record<string, unknown>\n) => Promise<boolean>;\n\nconst defaultQueryOpts = {\n timeout: 1000,\n headers: { 'Content-Type': 'application/json' },\n};\n\nconst ANALYTICS_URI = 'https://analytics.strapi.io';\n\n/**\n * Add properties from the package.json strapi key in the metadata\n */\nconst addPackageJsonStrapiMetadata = (metadata: Record<string, unknown>, strapi: Strapi) => {\n const { packageJsonStrapi = {} } = strapi.config;\n\n _.defaults(metadata, packageJsonStrapi);\n};\n\n/**\n * Create a send function for event with all the necessary metadatas\n */\nexport default (strapi: Strapi): Sender => {\n const { uuid } = strapi.config;\n const deviceId = machineID();\n\n const serverRootPath = strapi.dirs.app.root;\n const adminRootPath = path.join(strapi.dirs.app.root, 'src', 'admin');\n\n const anonymousUserProperties = {\n environment: strapi.config.environment,\n os: os.type(),\n osPlatform: os.platform(),\n osArch: os.arch(),\n osRelease: os.release(),\n nodeVersion: process.versions.node,\n };\n\n const anonymousGroupProperties = {\n docker: process.env.DOCKER || isDocker(),\n isCI: ciEnv.isCI,\n version: strapi.config.get('info.strapi'),\n useTypescriptOnServer: tsUtils.isUsingTypeScriptSync(serverRootPath),\n useTypescriptOnAdmin: tsUtils.isUsingTypeScriptSync(adminRootPath),\n projectId: uuid,\n isHostedOnStrapiCloud: env('STRAPI_HOSTING', null) === 'strapi.cloud',\n };\n\n addPackageJsonStrapiMetadata(anonymousGroupProperties, strapi);\n\n return async (event: string, payload: Payload = {}, opts = {}) => {\n const userId = generateAdminUserHash(strapi);\n\n const reqParams = {\n method: 'POST',\n body: JSON.stringify({\n event,\n userId,\n deviceId,\n eventProperties: payload.eventProperties,\n userProperties: userId ? { ...anonymousUserProperties, ...payload.userProperties } : {},\n groupProperties: {\n ...anonymousGroupProperties,\n projectType: strapi.EE ? 'Enterprise' : 'Community',\n ...payload.groupProperties,\n },\n }),\n ..._.merge({ headers: { 'X-Strapi-Event': event } }, defaultQueryOpts, opts),\n };\n\n try {\n const res = await strapi.fetch(`${ANALYTICS_URI}/api/v2/track`, reqParams);\n return res.ok;\n } catch (err) {\n return false;\n }\n };\n};\n"],"names":["_","machineID","path","os","isDocker","ciEnv","tsUtils","env","generateAdminUserHash"],"mappings":";;;;;;;;;;;;;;;;AAsBA,MAAM,mBAAmB;AAAA,EACvB,SAAS;AAAA,EACT,SAAS,EAAE,gBAAgB,mBAAmB;AAChD;AAEA,MAAM,gBAAgB;AAKtB,MAAM,+BAA+B,CAAC,UAAmC,WAAmB;AAC1F,QAAM,EAAE,oBAAoB,CAAA,MAAO,OAAO;AAExCA,aAAAA,QAAA,SAAS,UAAU,iBAAiB;AACxC;AAKA,MAAe,eAAA,CAAC,WAA2B;AACnC,QAAA,EAAE,KAAK,IAAI,OAAO;AACxB,QAAM,WAAWC,YAAAA;AAEX,QAAA,iBAAiB,OAAO,KAAK,IAAI;AACjC,QAAA,gBAAgBC,sBAAK,KAAK,OAAO,KAAK,IAAI,MAAM,OAAO,OAAO;AAEpE,QAAM,0BAA0B;AAAA,IAC9B,aAAa,OAAO,OAAO;AAAA,IAC3B,IAAIC,oBAAG,KAAK;AAAA,IACZ,YAAYA,oBAAG,SAAS;AAAA,IACxB,QAAQA,oBAAG,KAAK;AAAA,IAChB,WAAWA,oBAAG,QAAQ;AAAA,IACtB,aAAa,QAAQ,SAAS;AAAA,EAAA;AAGhC,QAAM,2BAA2B;AAAA,IAC/B,QAAQ,QAAQ,IAAI,UAAUC,kBAAAA,QAAS;AAAA,IACvC,MAAMC,eAAM,QAAA;AAAA,IACZ,SAAS,OAAO,OAAO,IAAI,aAAa;AAAA,IACxC,uBAAuBC,iBAAAA,QAAQ,sBAAsB,cAAc;AAAA,IACnE,sBAAsBA,iBAAAA,QAAQ,sBAAsB,aAAa;AAAA,IACjE,WAAW;AAAA,IACX,uBAAuBC,YAAA,IAAI,kBAAkB,IAAI,MAAM;AAAA,EAAA;AAGzD,+BAA6B,0BAA0B,MAAM;AAE7D,SAAO,OAAO,OAAe,UAAmB,CAAA,GAAI,OAAO,CAAA,MAAO;AAC1D,UAAA,SAASC,oCAAsB,MAAM;AAE3C,UAAM,YAAY;AAAA,MAChB,QAAQ;AAAA,MACR,MAAM,KAAK,UAAU;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,QACA,iBAAiB,QAAQ;AAAA,QACzB,gBAAgB,SAAS,EAAE,GAAG,yBAAyB,GAAG,QAAQ,eAAe,IAAI,CAAC;AAAA,QACtF,iBAAiB;AAAA,UACf,GAAG;AAAA,UACH,aAAa,OAAO,KAAK,eAAe;AAAA,UACxC,GAAG,QAAQ;AAAA,QACb;AAAA,MAAA,CACD;AAAA,MACD,GAAGR,WAAE,QAAA,MAAM,EAAE,SAAS,EAAE,kBAAkB,MAAM,EAAA,GAAK,kBAAkB,IAAI;AAAA,IAAA;AAGzE,QAAA;AACF,YAAM,MAAM,MAAM,OAAO,MAAM,GAAG,aAAa,iBAAiB,SAAS;AACzE,aAAO,IAAI;AAAA,aACJ,KAAK;AACL,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"sender.js","sources":["../../../src/services/metrics/sender.ts"],"sourcesContent":["import os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport isDocker from 'is-docker';\nimport ciEnv from 'ci-info';\nimport tsUtils from '@strapi/typescript-utils';\nimport { env, machineID } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { generateAdminUserHash } from './admin-user-hash';\n\nexport interface Payload {\n eventProperties?: Record<string, unknown>;\n userProperties?: Record<string, unknown>;\n groupProperties?: Record<string, unknown>;\n}\n\nexport type Sender = (\n event: string,\n payload?: Payload,\n opts?: Record<string, unknown>\n) => Promise<boolean>;\n\nconst defaultQueryOpts = {\n timeout: 1000,\n headers: { 'Content-Type': 'application/json' },\n};\n\nconst ANALYTICS_URI = 'https://analytics.strapi.io';\n\n/**\n * Add properties from the package.json strapi key in the metadata\n */\nconst addPackageJsonStrapiMetadata = (metadata: Record<string, unknown>, strapi: Core.Strapi) => {\n const { packageJsonStrapi = {} } = strapi.config;\n\n _.defaults(metadata, packageJsonStrapi);\n};\n\n/**\n * Create a send function for event with all the necessary metadata\n */\nexport default (strapi: Core.Strapi): Sender => {\n const { uuid } = strapi.config;\n const deviceId = machineID();\n\n const serverRootPath = strapi.dirs.app.root;\n const adminRootPath = path.join(strapi.dirs.app.root, 'src', 'admin');\n\n const anonymousUserProperties = {\n environment: strapi.config.environment,\n os: os.type(),\n osPlatform: os.platform(),\n osArch: os.arch(),\n osRelease: os.release(),\n nodeVersion: process.versions.node,\n };\n\n const anonymousGroupProperties = {\n docker: process.env.DOCKER || isDocker(),\n isCI: ciEnv.isCI,\n version: strapi.config.get('info.strapi'),\n useTypescriptOnServer: tsUtils.isUsingTypeScriptSync(serverRootPath),\n useTypescriptOnAdmin: tsUtils.isUsingTypeScriptSync(adminRootPath),\n projectId: uuid,\n isHostedOnStrapiCloud: env('STRAPI_HOSTING', null) === 'strapi.cloud',\n };\n\n addPackageJsonStrapiMetadata(anonymousGroupProperties, strapi);\n\n return async (event: string, payload: Payload = {}, opts = {}) => {\n const userId = generateAdminUserHash(strapi);\n\n const reqParams = {\n method: 'POST',\n body: JSON.stringify({\n event,\n userId,\n deviceId,\n eventProperties: payload.eventProperties,\n userProperties: userId ? { ...anonymousUserProperties, ...payload.userProperties } : {},\n groupProperties: {\n ...anonymousGroupProperties,\n projectType: strapi.EE ? 'Enterprise' : 'Community',\n ...payload.groupProperties,\n },\n }),\n ..._.merge({ headers: { 'X-Strapi-Event': event } }, defaultQueryOpts, opts),\n };\n\n try {\n const res = await strapi.fetch(`${ANALYTICS_URI}/api/v2/track`, reqParams);\n return res.ok;\n } catch (err) {\n return false;\n }\n };\n};\n"],"names":["_","machineID","path","os","isDocker","ciEnv","tsUtils","env","generateAdminUserHash"],"mappings":";;;;;;;;;;;;;;;;AAsBA,MAAM,mBAAmB;AAAA,EACvB,SAAS;AAAA,EACT,SAAS,EAAE,gBAAgB,mBAAmB;AAChD;AAEA,MAAM,gBAAgB;AAKtB,MAAM,+BAA+B,CAAC,UAAmC,WAAwB;AAC/F,QAAM,EAAE,oBAAoB,CAAA,MAAO,OAAO;AAExCA,aAAAA,QAAA,SAAS,UAAU,iBAAiB;AACxC;AAKA,MAAe,eAAA,CAAC,WAAgC;AACxC,QAAA,EAAE,KAAK,IAAI,OAAO;AACxB,QAAM,WAAWC,YAAAA;AAEX,QAAA,iBAAiB,OAAO,KAAK,IAAI;AACjC,QAAA,gBAAgBC,sBAAK,KAAK,OAAO,KAAK,IAAI,MAAM,OAAO,OAAO;AAEpE,QAAM,0BAA0B;AAAA,IAC9B,aAAa,OAAO,OAAO;AAAA,IAC3B,IAAIC,oBAAG,KAAK;AAAA,IACZ,YAAYA,oBAAG,SAAS;AAAA,IACxB,QAAQA,oBAAG,KAAK;AAAA,IAChB,WAAWA,oBAAG,QAAQ;AAAA,IACtB,aAAa,QAAQ,SAAS;AAAA,EAAA;AAGhC,QAAM,2BAA2B;AAAA,IAC/B,QAAQ,QAAQ,IAAI,UAAUC,kBAAAA,QAAS;AAAA,IACvC,MAAMC,eAAM,QAAA;AAAA,IACZ,SAAS,OAAO,OAAO,IAAI,aAAa;AAAA,IACxC,uBAAuBC,iBAAAA,QAAQ,sBAAsB,cAAc;AAAA,IACnE,sBAAsBA,iBAAAA,QAAQ,sBAAsB,aAAa;AAAA,IACjE,WAAW;AAAA,IACX,uBAAuBC,YAAA,IAAI,kBAAkB,IAAI,MAAM;AAAA,EAAA;AAGzD,+BAA6B,0BAA0B,MAAM;AAE7D,SAAO,OAAO,OAAe,UAAmB,CAAA,GAAI,OAAO,CAAA,MAAO;AAC1D,UAAA,SAASC,oCAAsB,MAAM;AAE3C,UAAM,YAAY;AAAA,MAChB,QAAQ;AAAA,MACR,MAAM,KAAK,UAAU;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,QACA,iBAAiB,QAAQ;AAAA,QACzB,gBAAgB,SAAS,EAAE,GAAG,yBAAyB,GAAG,QAAQ,eAAe,IAAI,CAAC;AAAA,QACtF,iBAAiB;AAAA,UACf,GAAG;AAAA,UACH,aAAa,OAAO,KAAK,eAAe;AAAA,UACxC,GAAG,QAAQ;AAAA,QACb;AAAA,MAAA,CACD;AAAA,MACD,GAAGR,WAAE,QAAA,MAAM,EAAE,SAAS,EAAE,kBAAkB,MAAM,EAAA,GAAK,kBAAkB,IAAI;AAAA,IAAA;AAGzE,QAAA;AACF,YAAM,MAAM,MAAM,OAAO,MAAM,GAAG,aAAa,iBAAiB,SAAS;AACzE,aAAO,IAAI;AAAA,aACJ,KAAK;AACL,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"sender.mjs","sources":["../../../src/services/metrics/sender.ts"],"sourcesContent":["import os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport isDocker from 'is-docker';\nimport ciEnv from 'ci-info';\nimport tsUtils from '@strapi/typescript-utils';\nimport { env, machineID } from '@strapi/utils';\nimport type { Strapi } from '@strapi/types';\nimport { generateAdminUserHash } from './admin-user-hash';\n\nexport interface Payload {\n eventProperties?: Record<string, unknown>;\n userProperties?: Record<string, unknown>;\n groupProperties?: Record<string, unknown>;\n}\n\nexport type Sender = (\n event: string,\n payload?: Payload,\n opts?: Record<string, unknown>\n) => Promise<boolean>;\n\nconst defaultQueryOpts = {\n timeout: 1000,\n headers: { 'Content-Type': 'application/json' },\n};\n\nconst ANALYTICS_URI = 'https://analytics.strapi.io';\n\n/**\n * Add properties from the package.json strapi key in the metadata\n */\nconst addPackageJsonStrapiMetadata = (metadata: Record<string, unknown>, strapi: Strapi) => {\n const { packageJsonStrapi = {} } = strapi.config;\n\n _.defaults(metadata, packageJsonStrapi);\n};\n\n/**\n * Create a send function for event with all the necessary metadatas\n */\nexport default (strapi: Strapi): Sender => {\n const { uuid } = strapi.config;\n const deviceId = machineID();\n\n const serverRootPath = strapi.dirs.app.root;\n const adminRootPath = path.join(strapi.dirs.app.root, 'src', 'admin');\n\n const anonymousUserProperties = {\n environment: strapi.config.environment,\n os: os.type(),\n osPlatform: os.platform(),\n osArch: os.arch(),\n osRelease: os.release(),\n nodeVersion: process.versions.node,\n };\n\n const anonymousGroupProperties = {\n docker: process.env.DOCKER || isDocker(),\n isCI: ciEnv.isCI,\n version: strapi.config.get('info.strapi'),\n useTypescriptOnServer: tsUtils.isUsingTypeScriptSync(serverRootPath),\n useTypescriptOnAdmin: tsUtils.isUsingTypeScriptSync(adminRootPath),\n projectId: uuid,\n isHostedOnStrapiCloud: env('STRAPI_HOSTING', null) === 'strapi.cloud',\n };\n\n addPackageJsonStrapiMetadata(anonymousGroupProperties, strapi);\n\n return async (event: string, payload: Payload = {}, opts = {}) => {\n const userId = generateAdminUserHash(strapi);\n\n const reqParams = {\n method: 'POST',\n body: JSON.stringify({\n event,\n userId,\n deviceId,\n eventProperties: payload.eventProperties,\n userProperties: userId ? { ...anonymousUserProperties, ...payload.userProperties } : {},\n groupProperties: {\n ...anonymousGroupProperties,\n projectType: strapi.EE ? 'Enterprise' : 'Community',\n ...payload.groupProperties,\n },\n }),\n ..._.merge({ headers: { 'X-Strapi-Event': event } }, defaultQueryOpts, opts),\n };\n\n try {\n const res = await strapi.fetch(`${ANALYTICS_URI}/api/v2/track`, reqParams);\n return res.ok;\n } catch (err) {\n return false;\n }\n };\n};\n"],"names":[],"mappings":";;;;;;;;AAsBA,MAAM,mBAAmB;AAAA,EACvB,SAAS;AAAA,EACT,SAAS,EAAE,gBAAgB,mBAAmB;AAChD;AAEA,MAAM,gBAAgB;AAKtB,MAAM,+BAA+B,CAAC,UAAmC,WAAmB;AAC1F,QAAM,EAAE,oBAAoB,CAAA,MAAO,OAAO;AAExC,IAAA,SAAS,UAAU,iBAAiB;AACxC;AAKA,MAAe,eAAA,CAAC,WAA2B;AACnC,QAAA,EAAE,KAAK,IAAI,OAAO;AACxB,QAAM,WAAW;AAEX,QAAA,iBAAiB,OAAO,KAAK,IAAI;AACjC,QAAA,gBAAgB,KAAK,KAAK,OAAO,KAAK,IAAI,MAAM,OAAO,OAAO;AAEpE,QAAM,0BAA0B;AAAA,IAC9B,aAAa,OAAO,OAAO;AAAA,IAC3B,IAAI,GAAG,KAAK;AAAA,IACZ,YAAY,GAAG,SAAS;AAAA,IACxB,QAAQ,GAAG,KAAK;AAAA,IAChB,WAAW,GAAG,QAAQ;AAAA,IACtB,aAAa,QAAQ,SAAS;AAAA,EAAA;AAGhC,QAAM,2BAA2B;AAAA,IAC/B,QAAQ,QAAQ,IAAI,UAAU,SAAS;AAAA,IACvC,MAAM,MAAM;AAAA,IACZ,SAAS,OAAO,OAAO,IAAI,aAAa;AAAA,IACxC,uBAAuB,QAAQ,sBAAsB,cAAc;AAAA,IACnE,sBAAsB,QAAQ,sBAAsB,aAAa;AAAA,IACjE,WAAW;AAAA,IACX,uBAAuB,IAAI,kBAAkB,IAAI,MAAM;AAAA,EAAA;AAGzD,+BAA6B,0BAA0B,MAAM;AAE7D,SAAO,OAAO,OAAe,UAAmB,CAAA,GAAI,OAAO,CAAA,MAAO;AAC1D,UAAA,SAAS,sBAAsB,MAAM;AAE3C,UAAM,YAAY;AAAA,MAChB,QAAQ;AAAA,MACR,MAAM,KAAK,UAAU;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,QACA,iBAAiB,QAAQ;AAAA,QACzB,gBAAgB,SAAS,EAAE,GAAG,yBAAyB,GAAG,QAAQ,eAAe,IAAI,CAAC;AAAA,QACtF,iBAAiB;AAAA,UACf,GAAG;AAAA,UACH,aAAa,OAAO,KAAK,eAAe;AAAA,UACxC,GAAG,QAAQ;AAAA,QACb;AAAA,MAAA,CACD;AAAA,MACD,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,MAAM,EAAA,GAAK,kBAAkB,IAAI;AAAA,IAAA;AAGzE,QAAA;AACF,YAAM,MAAM,MAAM,OAAO,MAAM,GAAG,aAAa,iBAAiB,SAAS;AACzE,aAAO,IAAI;AAAA,aACJ,KAAK;AACL,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"sender.mjs","sources":["../../../src/services/metrics/sender.ts"],"sourcesContent":["import os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport isDocker from 'is-docker';\nimport ciEnv from 'ci-info';\nimport tsUtils from '@strapi/typescript-utils';\nimport { env, machineID } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { generateAdminUserHash } from './admin-user-hash';\n\nexport interface Payload {\n eventProperties?: Record<string, unknown>;\n userProperties?: Record<string, unknown>;\n groupProperties?: Record<string, unknown>;\n}\n\nexport type Sender = (\n event: string,\n payload?: Payload,\n opts?: Record<string, unknown>\n) => Promise<boolean>;\n\nconst defaultQueryOpts = {\n timeout: 1000,\n headers: { 'Content-Type': 'application/json' },\n};\n\nconst ANALYTICS_URI = 'https://analytics.strapi.io';\n\n/**\n * Add properties from the package.json strapi key in the metadata\n */\nconst addPackageJsonStrapiMetadata = (metadata: Record<string, unknown>, strapi: Core.Strapi) => {\n const { packageJsonStrapi = {} } = strapi.config;\n\n _.defaults(metadata, packageJsonStrapi);\n};\n\n/**\n * Create a send function for event with all the necessary metadata\n */\nexport default (strapi: Core.Strapi): Sender => {\n const { uuid } = strapi.config;\n const deviceId = machineID();\n\n const serverRootPath = strapi.dirs.app.root;\n const adminRootPath = path.join(strapi.dirs.app.root, 'src', 'admin');\n\n const anonymousUserProperties = {\n environment: strapi.config.environment,\n os: os.type(),\n osPlatform: os.platform(),\n osArch: os.arch(),\n osRelease: os.release(),\n nodeVersion: process.versions.node,\n };\n\n const anonymousGroupProperties = {\n docker: process.env.DOCKER || isDocker(),\n isCI: ciEnv.isCI,\n version: strapi.config.get('info.strapi'),\n useTypescriptOnServer: tsUtils.isUsingTypeScriptSync(serverRootPath),\n useTypescriptOnAdmin: tsUtils.isUsingTypeScriptSync(adminRootPath),\n projectId: uuid,\n isHostedOnStrapiCloud: env('STRAPI_HOSTING', null) === 'strapi.cloud',\n };\n\n addPackageJsonStrapiMetadata(anonymousGroupProperties, strapi);\n\n return async (event: string, payload: Payload = {}, opts = {}) => {\n const userId = generateAdminUserHash(strapi);\n\n const reqParams = {\n method: 'POST',\n body: JSON.stringify({\n event,\n userId,\n deviceId,\n eventProperties: payload.eventProperties,\n userProperties: userId ? { ...anonymousUserProperties, ...payload.userProperties } : {},\n groupProperties: {\n ...anonymousGroupProperties,\n projectType: strapi.EE ? 'Enterprise' : 'Community',\n ...payload.groupProperties,\n },\n }),\n ..._.merge({ headers: { 'X-Strapi-Event': event } }, defaultQueryOpts, opts),\n };\n\n try {\n const res = await strapi.fetch(`${ANALYTICS_URI}/api/v2/track`, reqParams);\n return res.ok;\n } catch (err) {\n return false;\n }\n };\n};\n"],"names":[],"mappings":";;;;;;;;AAsBA,MAAM,mBAAmB;AAAA,EACvB,SAAS;AAAA,EACT,SAAS,EAAE,gBAAgB,mBAAmB;AAChD;AAEA,MAAM,gBAAgB;AAKtB,MAAM,+BAA+B,CAAC,UAAmC,WAAwB;AAC/F,QAAM,EAAE,oBAAoB,CAAA,MAAO,OAAO;AAExC,IAAA,SAAS,UAAU,iBAAiB;AACxC;AAKA,MAAe,eAAA,CAAC,WAAgC;AACxC,QAAA,EAAE,KAAK,IAAI,OAAO;AACxB,QAAM,WAAW;AAEX,QAAA,iBAAiB,OAAO,KAAK,IAAI;AACjC,QAAA,gBAAgB,KAAK,KAAK,OAAO,KAAK,IAAI,MAAM,OAAO,OAAO;AAEpE,QAAM,0BAA0B;AAAA,IAC9B,aAAa,OAAO,OAAO;AAAA,IAC3B,IAAI,GAAG,KAAK;AAAA,IACZ,YAAY,GAAG,SAAS;AAAA,IACxB,QAAQ,GAAG,KAAK;AAAA,IAChB,WAAW,GAAG,QAAQ;AAAA,IACtB,aAAa,QAAQ,SAAS;AAAA,EAAA;AAGhC,QAAM,2BAA2B;AAAA,IAC/B,QAAQ,QAAQ,IAAI,UAAU,SAAS;AAAA,IACvC,MAAM,MAAM;AAAA,IACZ,SAAS,OAAO,OAAO,IAAI,aAAa;AAAA,IACxC,uBAAuB,QAAQ,sBAAsB,cAAc;AAAA,IACnE,sBAAsB,QAAQ,sBAAsB,aAAa;AAAA,IACjE,WAAW;AAAA,IACX,uBAAuB,IAAI,kBAAkB,IAAI,MAAM;AAAA,EAAA;AAGzD,+BAA6B,0BAA0B,MAAM;AAE7D,SAAO,OAAO,OAAe,UAAmB,CAAA,GAAI,OAAO,CAAA,MAAO;AAC1D,UAAA,SAAS,sBAAsB,MAAM;AAE3C,UAAM,YAAY;AAAA,MAChB,QAAQ;AAAA,MACR,MAAM,KAAK,UAAU;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,QACA,iBAAiB,QAAQ;AAAA,QACzB,gBAAgB,SAAS,EAAE,GAAG,yBAAyB,GAAG,QAAQ,eAAe,IAAI,CAAC;AAAA,QACtF,iBAAiB;AAAA,UACf,GAAG;AAAA,UACH,aAAa,OAAO,KAAK,eAAe;AAAA,UACxC,GAAG,QAAQ;AAAA,QACb;AAAA,MAAA,CACD;AAAA,MACD,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,MAAM,EAAA,GAAK,kBAAkB,IAAI;AAAA,IAAA;AAGzE,QAAA;AACF,YAAM,MAAM,MAAM,OAAO,MAAM,GAAG,aAAa,iBAAiB,SAAS;AACzE,aAAO,IAAI;AAAA,aACJ,KAAK;AACL,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
@@ -0,0 +1,7 @@
1
+ import { queryParams } from '@strapi/utils';
2
+ import type { Core } from '@strapi/types';
3
+ declare const _default: (strapi: Core.Strapi) => {
4
+ transform: (uid: string, params: queryParams.Params) => queryParams.Query;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=query-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../src/services/query-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;iCAEvB,KAAK,MAAM;;;AAAnC,wBAQE"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ const strapiUtils = require("@strapi/utils");
3
+ const createQueryParamService = (strapi) => {
4
+ const { transformQueryParams } = strapiUtils.queryParams.createTransformer({
5
+ getModel: (uid) => strapi.getModel(uid)
6
+ });
7
+ return {
8
+ transform: transformQueryParams
9
+ };
10
+ };
11
+ module.exports = createQueryParamService;
12
+ //# sourceMappingURL=query-params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.js","sources":["../../src/services/query-params.ts"],"sourcesContent":["import { queryParams } from '@strapi/utils';\nimport type { Core, UID } from '@strapi/types';\n\nexport default (strapi: Core.Strapi) => {\n const { transformQueryParams } = queryParams.createTransformer({\n getModel: (uid: string) => strapi.getModel(uid as UID.Schema),\n });\n\n return {\n transform: transformQueryParams,\n };\n};\n"],"names":["queryParams"],"mappings":";;AAGA,MAAe,0BAAA,CAAC,WAAwB;AACtC,QAAM,EAAE,qBAAA,IAAyBA,YAAA,YAAY,kBAAkB;AAAA,IAC7D,UAAU,CAAC,QAAgB,OAAO,SAAS,GAAiB;AAAA,EAAA,CAC7D;AAEM,SAAA;AAAA,IACL,WAAW;AAAA,EAAA;AAEf;;"}
@@ -0,0 +1,13 @@
1
+ import { queryParams } from "@strapi/utils";
2
+ const createQueryParamService = (strapi) => {
3
+ const { transformQueryParams } = queryParams.createTransformer({
4
+ getModel: (uid) => strapi.getModel(uid)
5
+ });
6
+ return {
7
+ transform: transformQueryParams
8
+ };
9
+ };
10
+ export {
11
+ createQueryParamService as default
12
+ };
13
+ //# sourceMappingURL=query-params.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.mjs","sources":["../../src/services/query-params.ts"],"sourcesContent":["import { queryParams } from '@strapi/utils';\nimport type { Core, UID } from '@strapi/types';\n\nexport default (strapi: Core.Strapi) => {\n const { transformQueryParams } = queryParams.createTransformer({\n getModel: (uid: string) => strapi.getModel(uid as UID.Schema),\n });\n\n return {\n transform: transformQueryParams,\n };\n};\n"],"names":[],"mappings":";AAGA,MAAe,0BAAA,CAAC,WAAwB;AACtC,QAAM,EAAE,qBAAA,IAAyB,YAAY,kBAAkB;AAAA,IAC7D,UAAU,CAAC,QAAgB,OAAO,SAAS,GAAiB;AAAA,EAAA,CAC7D;AAEM,SAAA;AAAA,IACL,WAAW;AAAA,EAAA;AAEf;"}
@@ -1,10 +1,10 @@
1
1
  /// <reference types="koa__router" />
2
2
  /// <reference types="koa" />
3
- import type { Strapi } from '@strapi/types';
4
- declare const createAdminAPI: (strapi: Strapi) => {
3
+ import type { Core } from '@strapi/types';
4
+ declare const createAdminAPI: (strapi: Core.Strapi) => {
5
5
  listRoutes(): import("@koa/router").Layer[];
6
6
  use(fn: import("@koa/router").Middleware<import("koa").DefaultState, import("koa").DefaultContext, unknown>): any;
7
- routes(routes: import("@strapi/types/dist/types/core/common").Router | import("@strapi/types/dist/types/core/common").Route[]): any;
7
+ routes(routes: Core.Router | Core.Route[]): any;
8
8
  mount(router: import("@koa/router")<import("koa").DefaultState, import("koa").DefaultContext>): any;
9
9
  };
10
10
  export { createAdminAPI };
@@ -1 +1 @@
1
- {"version":3,"file":"admin-api.d.ts","sourceRoot":"","sources":["../../../src/services/server/admin-api.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,QAAA,MAAM,cAAc,WAAY,MAAM;;;;;CAOrC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"admin-api.d.ts","sourceRoot":"","sources":["../../../src/services/server/admin-api.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,QAAA,MAAM,cAAc,WAAY,KAAK,MAAM;;;;;CAO1C,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-api.js","sources":["../../../src/services/server/admin-api.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\nimport { createAPI } from './api';\n\nconst createAdminAPI = (strapi: Strapi) => {\n const opts = {\n prefix: '', // '/admin';\n type: 'admin',\n };\n\n return createAPI(strapi, opts);\n};\n\nexport { createAdminAPI };\n"],"names":["createAPI"],"mappings":";;;AAGM,MAAA,iBAAiB,CAAC,WAAmB;AACzC,QAAM,OAAO;AAAA,IACX,QAAQ;AAAA;AAAA,IACR,MAAM;AAAA,EAAA;AAGD,SAAAA,IAAA,UAAU,QAAQ,IAAI;AAC/B;;"}
1
+ {"version":3,"file":"admin-api.js","sources":["../../../src/services/server/admin-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { createAPI } from './api';\n\nconst createAdminAPI = (strapi: Core.Strapi) => {\n const opts = {\n prefix: '', // '/admin';\n type: 'admin',\n };\n\n return createAPI(strapi, opts);\n};\n\nexport { createAdminAPI };\n"],"names":["createAPI"],"mappings":";;;AAGM,MAAA,iBAAiB,CAAC,WAAwB;AAC9C,QAAM,OAAO;AAAA,IACX,QAAQ;AAAA;AAAA,IACR,MAAM;AAAA,EAAA;AAGD,SAAAA,IAAA,UAAU,QAAQ,IAAI;AAC/B;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-api.mjs","sources":["../../../src/services/server/admin-api.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\nimport { createAPI } from './api';\n\nconst createAdminAPI = (strapi: Strapi) => {\n const opts = {\n prefix: '', // '/admin';\n type: 'admin',\n };\n\n return createAPI(strapi, opts);\n};\n\nexport { createAdminAPI };\n"],"names":[],"mappings":";AAGM,MAAA,iBAAiB,CAAC,WAAmB;AACzC,QAAM,OAAO;AAAA,IACX,QAAQ;AAAA;AAAA,IACR,MAAM;AAAA,EAAA;AAGD,SAAA,UAAU,QAAQ,IAAI;AAC/B;"}
1
+ {"version":3,"file":"admin-api.mjs","sources":["../../../src/services/server/admin-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { createAPI } from './api';\n\nconst createAdminAPI = (strapi: Core.Strapi) => {\n const opts = {\n prefix: '', // '/admin';\n type: 'admin',\n };\n\n return createAPI(strapi, opts);\n};\n\nexport { createAdminAPI };\n"],"names":[],"mappings":";AAGM,MAAA,iBAAiB,CAAC,WAAwB;AAC9C,QAAM,OAAO;AAAA,IACX,QAAQ;AAAA;AAAA,IACR,MAAM;AAAA,EAAA;AAGD,SAAA,UAAU,QAAQ,IAAI;AAC/B;"}
@@ -1,14 +1,14 @@
1
1
  /// <reference types="koa__router" />
2
2
  import Router from '@koa/router';
3
- import type { Strapi, Common } from '@strapi/types';
3
+ import type { Core } from '@strapi/types';
4
4
  interface Options {
5
5
  prefix?: string;
6
6
  type?: string;
7
7
  }
8
- declare const createAPI: (strapi: Strapi, opts?: Options) => {
8
+ declare const createAPI: (strapi: Core.Strapi, opts?: Options) => {
9
9
  listRoutes(): Router.Layer[];
10
10
  use(fn: Router.Middleware): any;
11
- routes(routes: Common.Router | Common.Route[]): any;
11
+ routes(routes: Core.Router | Core.Route[]): any;
12
12
  mount(router: Router): any;
13
13
  };
14
14
  export { createAPI };
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/services/server/api.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAIpD,UAAU,OAAO;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,SAAS,WAAY,MAAM,SAAQ,OAAO;;YAYpC,OAAO,UAAU;mBAKV,aAAa,GAAG,OAAO,KAAK,EAAE;kBAK/B,MAAM;CAKvB,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/services/server/api.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,UAAU,OAAO;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,SAAS,WAAY,KAAK,MAAM,SAAQ,OAAO;;YAYzC,OAAO,UAAU;mBAKV,WAAW,GAAG,KAAK,KAAK,EAAE;kBAK3B,MAAM;CAKvB,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sources":["../../../src/services/server/api.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Strapi, Common } from '@strapi/types';\n\nimport { createRouteManager } from './routing';\n\ninterface Options {\n prefix?: string;\n type?: string;\n}\n\nconst createAPI = (strapi: Strapi, opts: Options = {}) => {\n const { prefix, type } = opts;\n\n const api = new Router({ prefix });\n\n const routeManager = createRouteManager(strapi, { type });\n\n return {\n listRoutes() {\n return [...api.stack];\n },\n\n use(fn: Router.Middleware) {\n api.use(fn);\n return this;\n },\n\n routes(routes: Common.Router | Common.Route[]) {\n routeManager.addRoutes(routes, api);\n return this;\n },\n\n mount(router: Router) {\n router.use(api.routes(), api.allowedMethods());\n return this;\n },\n };\n};\n\nexport { createAPI };\n"],"names":["Router","createRouteManager"],"mappings":";;;;;;AAUA,MAAM,YAAY,CAAC,QAAgB,OAAgB,OAAO;AAClD,QAAA,EAAE,QAAQ,KAAS,IAAA;AAEzB,QAAM,MAAM,IAAIA,gBAAAA,QAAO,EAAE,OAAQ,CAAA;AAEjC,QAAM,eAAeC,QAAA,mBAAmB,QAAQ,EAAE,KAAM,CAAA;AAEjD,SAAA;AAAA,IACL,aAAa;AACJ,aAAA,CAAC,GAAG,IAAI,KAAK;AAAA,IACtB;AAAA,IAEA,IAAI,IAAuB;AACzB,UAAI,IAAI,EAAE;AACH,aAAA;AAAA,IACT;AAAA,IAEA,OAAO,QAAwC;AAChC,mBAAA,UAAU,QAAQ,GAAG;AAC3B,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,QAAgB;AACpB,aAAO,IAAI,IAAI,OAAU,GAAA,IAAI,gBAAgB;AACtC,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"api.js","sources":["../../../src/services/server/api.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Core } from '@strapi/types';\n\nimport { createRouteManager } from './routing';\n\ninterface Options {\n prefix?: string;\n type?: string;\n}\n\nconst createAPI = (strapi: Core.Strapi, opts: Options = {}) => {\n const { prefix, type } = opts;\n\n const api = new Router({ prefix });\n\n const routeManager = createRouteManager(strapi, { type });\n\n return {\n listRoutes() {\n return [...api.stack];\n },\n\n use(fn: Router.Middleware) {\n api.use(fn);\n return this;\n },\n\n routes(routes: Core.Router | Core.Route[]) {\n routeManager.addRoutes(routes, api);\n return this;\n },\n\n mount(router: Router) {\n router.use(api.routes(), api.allowedMethods());\n return this;\n },\n };\n};\n\nexport { createAPI };\n"],"names":["Router","createRouteManager"],"mappings":";;;;;;AAUA,MAAM,YAAY,CAAC,QAAqB,OAAgB,OAAO;AACvD,QAAA,EAAE,QAAQ,KAAS,IAAA;AAEzB,QAAM,MAAM,IAAIA,gBAAAA,QAAO,EAAE,OAAQ,CAAA;AAEjC,QAAM,eAAeC,QAAA,mBAAmB,QAAQ,EAAE,KAAM,CAAA;AAEjD,SAAA;AAAA,IACL,aAAa;AACJ,aAAA,CAAC,GAAG,IAAI,KAAK;AAAA,IACtB;AAAA,IAEA,IAAI,IAAuB;AACzB,UAAI,IAAI,EAAE;AACH,aAAA;AAAA,IACT;AAAA,IAEA,OAAO,QAAoC;AAC5B,mBAAA,UAAU,QAAQ,GAAG;AAC3B,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,QAAgB;AACpB,aAAO,IAAI,IAAI,OAAU,GAAA,IAAI,gBAAgB;AACtC,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","sources":["../../../src/services/server/api.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Strapi, Common } from '@strapi/types';\n\nimport { createRouteManager } from './routing';\n\ninterface Options {\n prefix?: string;\n type?: string;\n}\n\nconst createAPI = (strapi: Strapi, opts: Options = {}) => {\n const { prefix, type } = opts;\n\n const api = new Router({ prefix });\n\n const routeManager = createRouteManager(strapi, { type });\n\n return {\n listRoutes() {\n return [...api.stack];\n },\n\n use(fn: Router.Middleware) {\n api.use(fn);\n return this;\n },\n\n routes(routes: Common.Router | Common.Route[]) {\n routeManager.addRoutes(routes, api);\n return this;\n },\n\n mount(router: Router) {\n router.use(api.routes(), api.allowedMethods());\n return this;\n },\n };\n};\n\nexport { createAPI };\n"],"names":[],"mappings":";;AAUA,MAAM,YAAY,CAAC,QAAgB,OAAgB,OAAO;AAClD,QAAA,EAAE,QAAQ,KAAS,IAAA;AAEzB,QAAM,MAAM,IAAI,OAAO,EAAE,OAAQ,CAAA;AAEjC,QAAM,eAAe,mBAAmB,QAAQ,EAAE,KAAM,CAAA;AAEjD,SAAA;AAAA,IACL,aAAa;AACJ,aAAA,CAAC,GAAG,IAAI,KAAK;AAAA,IACtB;AAAA,IAEA,IAAI,IAAuB;AACzB,UAAI,IAAI,EAAE;AACH,aAAA;AAAA,IACT;AAAA,IAEA,OAAO,QAAwC;AAChC,mBAAA,UAAU,QAAQ,GAAG;AAC3B,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,QAAgB;AACpB,aAAO,IAAI,IAAI,OAAU,GAAA,IAAI,gBAAgB;AACtC,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"api.mjs","sources":["../../../src/services/server/api.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Core } from '@strapi/types';\n\nimport { createRouteManager } from './routing';\n\ninterface Options {\n prefix?: string;\n type?: string;\n}\n\nconst createAPI = (strapi: Core.Strapi, opts: Options = {}) => {\n const { prefix, type } = opts;\n\n const api = new Router({ prefix });\n\n const routeManager = createRouteManager(strapi, { type });\n\n return {\n listRoutes() {\n return [...api.stack];\n },\n\n use(fn: Router.Middleware) {\n api.use(fn);\n return this;\n },\n\n routes(routes: Core.Router | Core.Route[]) {\n routeManager.addRoutes(routes, api);\n return this;\n },\n\n mount(router: Router) {\n router.use(api.routes(), api.allowedMethods());\n return this;\n },\n };\n};\n\nexport { createAPI };\n"],"names":[],"mappings":";;AAUA,MAAM,YAAY,CAAC,QAAqB,OAAgB,OAAO;AACvD,QAAA,EAAE,QAAQ,KAAS,IAAA;AAEzB,QAAM,MAAM,IAAI,OAAO,EAAE,OAAQ,CAAA;AAEjC,QAAM,eAAe,mBAAmB,QAAQ,EAAE,KAAM,CAAA;AAEjD,SAAA;AAAA,IACL,aAAa;AACJ,aAAA,CAAC,GAAG,IAAI,KAAK;AAAA,IACtB;AAAA,IAEA,IAAI,IAAuB;AACzB,UAAI,IAAI,EAAE;AACH,aAAA;AAAA,IACT;AAAA,IAEA,OAAO,QAAoC;AAC5B,mBAAA,UAAU,QAAQ,GAAG;AAC3B,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,QAAgB;AACpB,aAAO,IAAI,IAAI,OAAU,GAAA,IAAI,gBAAgB;AACtC,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
@@ -1,6 +1,6 @@
1
- import type { Strapi, Common } from '@strapi/types';
1
+ import type { Core } from '@strapi/types';
2
2
  import Router from '@koa/router';
3
- declare const _default: (strapi: Strapi) => (route: Common.Route, { router }: {
3
+ declare const _default: (strapi: Core.Strapi) => (route: Core.Route, { router }: {
4
4
  router: Router;
5
5
  }) => void;
6
6
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"compose-endpoint.d.ts","sourceRoot":"","sources":["../../../src/services/server/compose-endpoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,MAAM,MAAM,aAAa,CAAC;iCAoET,MAAM,aAIb,OAAO,KAAK;YAAwB,MAAM;;AAJ3D,wBAiCE"}
1
+ {"version":3,"file":"compose-endpoint.d.ts","sourceRoot":"","sources":["../../../src/services/server/compose-endpoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAE/C,OAAO,MAAM,MAAM,aAAa,CAAC;iCAoET,KAAK,MAAM,aAIlB,KAAK,KAAK;YAAwB,MAAM;;AAJzD,wBAgCE"}
@@ -55,13 +55,12 @@ const createEndpointComposer = (strapi) => {
55
55
  const method = getMethod(route);
56
56
  const path = getPath(route);
57
57
  const middlewares = middleware.resolveRouteMiddlewares(route, strapi);
58
- const policies = policy.resolvePolicies(route);
59
58
  const action = getAction(route, strapi);
60
59
  const routeHandler = compose__default.default([
61
60
  createRouteInfoMiddleware(route),
62
61
  authenticate,
63
62
  authorize,
64
- ...policies,
63
+ policy.createPolicicesMiddleware(route, strapi),
65
64
  ...middlewares,
66
65
  returnBodyMiddleware,
67
66
  ..._.castArray(action)
@@ -1 +1 @@
1
- {"version":3,"file":"compose-endpoint.js","sources":["../../../src/services/server/compose-endpoint.ts"],"sourcesContent":["import { toLower, castArray, trim, prop, isNil } from 'lodash/fp';\nimport type { Strapi, Common } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport Router from '@koa/router';\n\nimport compose from 'koa-compose';\nimport { resolveRouteMiddlewares } from './middleware';\nimport { resolvePolicies } from './policy';\n\nconst getMethod = (route: Common.Route) => {\n return trim(toLower(route.method)) as Lowercase<Common.Route['method']>;\n};\n\nconst getPath = (route: Common.Route) => trim(route.path);\n\nconst createRouteInfoMiddleware =\n (routeInfo: Common.Route): Common.MiddlewareHandler =>\n (ctx, next) => {\n const route = {\n ...routeInfo,\n config: routeInfo.config || {},\n };\n\n ctx.state.route = route;\n return next();\n };\n\nconst getAuthConfig = prop('config.auth');\n\nconst createAuthorizeMiddleware =\n (strapi: Strapi): Common.MiddlewareHandler =>\n async (ctx, next) => {\n const { auth, route } = ctx.state;\n\n const authService = strapi.get('auth');\n\n try {\n await authService.verify(auth, getAuthConfig(route));\n\n return await next();\n } catch (error) {\n if (error instanceof errors.UnauthorizedError) {\n return ctx.unauthorized();\n }\n\n if (error instanceof errors.ForbiddenError) {\n // allow PolicyError as an exception to throw a publicly visible message in the API\n if (error instanceof errors.PolicyError) {\n throw error;\n }\n return ctx.forbidden();\n }\n\n throw error;\n }\n };\n\nconst createAuthenticateMiddleware =\n (strapi: Strapi): Common.MiddlewareHandler =>\n async (ctx, next) => {\n return strapi.get('auth').authenticate(ctx, next);\n };\n\nconst returnBodyMiddleware: Common.MiddlewareHandler = async (ctx, next) => {\n const values = await next();\n\n if (isNil(ctx.body) && !isNil(values)) {\n ctx.body = values;\n }\n};\n\nexport default (strapi: Strapi) => {\n const authenticate = createAuthenticateMiddleware(strapi);\n const authorize = createAuthorizeMiddleware(strapi);\n\n return (route: Common.Route, { router }: { router: Router }) => {\n try {\n const method = getMethod(route);\n const path = getPath(route);\n\n const middlewares = resolveRouteMiddlewares(route, strapi);\n const policies = resolvePolicies(route);\n\n const action = getAction(route, strapi);\n\n const routeHandler = compose([\n createRouteInfoMiddleware(route),\n authenticate,\n authorize,\n ...policies,\n ...middlewares,\n returnBodyMiddleware,\n ...castArray(action),\n ]);\n\n router[method](path, routeHandler);\n } catch (error) {\n if (error instanceof Error) {\n error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;\n }\n\n throw error;\n }\n };\n};\n\nconst getController = (name: string, { pluginName, apiName }: Common.RouteInfo, strapi: Strapi) => {\n let ctrl: Common.Controller | undefined;\n\n if (pluginName) {\n if (pluginName === 'admin') {\n ctrl = strapi.controller(`admin::${name}`);\n } else {\n ctrl = strapi.plugin(pluginName).controller(name);\n }\n } else if (apiName) {\n ctrl = strapi.controller(`api::${apiName}.${name}`);\n }\n\n if (!ctrl) {\n return strapi.controller(name as Common.UID.Controller);\n }\n\n return ctrl;\n};\n\nconst extractHandlerParts = (name: string) => {\n const controllerName = name.slice(0, name.lastIndexOf('.'));\n const actionName = name.slice(name.lastIndexOf('.') + 1);\n\n return { controllerName, actionName };\n};\n\nconst getAction = (route: Common.Route, strapi: Strapi) => {\n const { handler, info } = route;\n const { pluginName, apiName, type } = info ?? {};\n\n if (Array.isArray(handler) || typeof handler === 'function') {\n return handler;\n }\n\n const { controllerName, actionName } = extractHandlerParts(trim(handler));\n\n const controller = getController(controllerName, { pluginName, apiName, type }, strapi);\n\n if (typeof controller[actionName] !== 'function') {\n throw new Error(`Handler not found \"${handler}\"`);\n }\n\n if (Symbol.for('__type__') in controller[actionName]) {\n (controller[actionName] as any)[Symbol.for('__type__')].push(type);\n } else {\n (controller[actionName] as any)[Symbol.for('__type__')] = [type];\n }\n\n return controller[actionName].bind(controller);\n};\n"],"names":["trim","toLower","prop","errors","isNil","resolveRouteMiddlewares","resolvePolicies","compose","castArray"],"mappings":"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"}
1
+ {"version":3,"file":"compose-endpoint.js","sources":["../../../src/services/server/compose-endpoint.ts"],"sourcesContent":["import { toLower, castArray, trim, prop, isNil } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport Router from '@koa/router';\n\nimport compose from 'koa-compose';\nimport { resolveRouteMiddlewares } from './middleware';\nimport { createPolicicesMiddleware } from './policy';\n\nconst getMethod = (route: Core.Route) => {\n return trim(toLower(route.method)) as Lowercase<Core.Route['method']>;\n};\n\nconst getPath = (route: Core.Route) => trim(route.path);\n\nconst createRouteInfoMiddleware =\n (routeInfo: Core.Route): Core.MiddlewareHandler =>\n (ctx, next) => {\n const route = {\n ...routeInfo,\n config: routeInfo.config || {},\n };\n\n ctx.state.route = route;\n return next();\n };\n\nconst getAuthConfig = prop('config.auth');\n\nconst createAuthorizeMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n const { auth, route } = ctx.state;\n\n const authService = strapi.get('auth');\n\n try {\n await authService.verify(auth, getAuthConfig(route));\n\n return await next();\n } catch (error) {\n if (error instanceof errors.UnauthorizedError) {\n return ctx.unauthorized();\n }\n\n if (error instanceof errors.ForbiddenError) {\n // allow PolicyError as an exception to throw a publicly visible message in the API\n if (error instanceof errors.PolicyError) {\n throw error;\n }\n return ctx.forbidden();\n }\n\n throw error;\n }\n };\n\nconst createAuthenticateMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n return strapi.get('auth').authenticate(ctx, next);\n };\n\nconst returnBodyMiddleware: Core.MiddlewareHandler = async (ctx, next) => {\n const values = await next();\n\n if (isNil(ctx.body) && !isNil(values)) {\n ctx.body = values;\n }\n};\n\nexport default (strapi: Core.Strapi) => {\n const authenticate = createAuthenticateMiddleware(strapi);\n const authorize = createAuthorizeMiddleware(strapi);\n\n return (route: Core.Route, { router }: { router: Router }) => {\n try {\n const method = getMethod(route);\n const path = getPath(route);\n\n const middlewares = resolveRouteMiddlewares(route, strapi);\n\n const action = getAction(route, strapi);\n\n const routeHandler = compose([\n createRouteInfoMiddleware(route),\n authenticate,\n authorize,\n createPolicicesMiddleware(route, strapi),\n ...middlewares,\n returnBodyMiddleware,\n ...castArray(action),\n ]);\n\n router[method](path, routeHandler);\n } catch (error) {\n if (error instanceof Error) {\n error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;\n }\n\n throw error;\n }\n };\n};\n\nconst getController = (\n name: string,\n { pluginName, apiName }: Core.RouteInfo,\n strapi: Core.Strapi\n) => {\n let ctrl: Core.Controller | undefined;\n\n if (pluginName) {\n if (pluginName === 'admin') {\n ctrl = strapi.controller(`admin::${name}`);\n } else {\n ctrl = strapi.plugin(pluginName).controller(name);\n }\n } else if (apiName) {\n ctrl = strapi.controller(`api::${apiName}.${name}`);\n }\n\n if (!ctrl) {\n return strapi.controller(name as UID.Controller);\n }\n\n return ctrl;\n};\n\nconst extractHandlerParts = (name: string) => {\n const controllerName = name.slice(0, name.lastIndexOf('.'));\n const actionName = name.slice(name.lastIndexOf('.') + 1);\n\n return { controllerName, actionName };\n};\n\nconst getAction = (route: Core.Route, strapi: Core.Strapi) => {\n const { handler, info } = route;\n const { pluginName, apiName, type } = info ?? {};\n\n if (Array.isArray(handler) || typeof handler === 'function') {\n return handler;\n }\n\n const { controllerName, actionName } = extractHandlerParts(trim(handler));\n\n const controller = getController(controllerName, { pluginName, apiName, type }, strapi);\n\n if (typeof controller[actionName] !== 'function') {\n throw new Error(`Handler not found \"${handler}\"`);\n }\n\n if (Symbol.for('__type__') in controller[actionName]) {\n (controller[actionName] as any)[Symbol.for('__type__')].push(type);\n } else {\n (controller[actionName] as any)[Symbol.for('__type__')] = [type];\n }\n\n return controller[actionName].bind(controller);\n};\n"],"names":["trim","toLower","prop","errors","isNil","resolveRouteMiddlewares","compose","createPolicicesMiddleware","castArray"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { prop, castArray, trim, toLower, isNil } from "lodash/fp";
2
2
  import { errors } from "@strapi/utils";
3
3
  import compose from "koa-compose";
4
4
  import { resolveRouteMiddlewares } from "./middleware.mjs";
5
- import { resolvePolicies } from "./policy.mjs";
5
+ import { createPolicicesMiddleware } from "./policy.mjs";
6
6
  const getMethod = (route) => {
7
7
  return trim(toLower(route.method));
8
8
  };
@@ -52,13 +52,12 @@ const createEndpointComposer = (strapi) => {
52
52
  const method = getMethod(route);
53
53
  const path = getPath(route);
54
54
  const middlewares = resolveRouteMiddlewares(route, strapi);
55
- const policies = resolvePolicies(route);
56
55
  const action = getAction(route, strapi);
57
56
  const routeHandler = compose([
58
57
  createRouteInfoMiddleware(route),
59
58
  authenticate,
60
59
  authorize,
61
- ...policies,
60
+ createPolicicesMiddleware(route, strapi),
62
61
  ...middlewares,
63
62
  returnBodyMiddleware,
64
63
  ...castArray(action)
@@ -1 +1 @@
1
- {"version":3,"file":"compose-endpoint.mjs","sources":["../../../src/services/server/compose-endpoint.ts"],"sourcesContent":["import { toLower, castArray, trim, prop, isNil } from 'lodash/fp';\nimport type { Strapi, Common } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport Router from '@koa/router';\n\nimport compose from 'koa-compose';\nimport { resolveRouteMiddlewares } from './middleware';\nimport { resolvePolicies } from './policy';\n\nconst getMethod = (route: Common.Route) => {\n return trim(toLower(route.method)) as Lowercase<Common.Route['method']>;\n};\n\nconst getPath = (route: Common.Route) => trim(route.path);\n\nconst createRouteInfoMiddleware =\n (routeInfo: Common.Route): Common.MiddlewareHandler =>\n (ctx, next) => {\n const route = {\n ...routeInfo,\n config: routeInfo.config || {},\n };\n\n ctx.state.route = route;\n return next();\n };\n\nconst getAuthConfig = prop('config.auth');\n\nconst createAuthorizeMiddleware =\n (strapi: Strapi): Common.MiddlewareHandler =>\n async (ctx, next) => {\n const { auth, route } = ctx.state;\n\n const authService = strapi.get('auth');\n\n try {\n await authService.verify(auth, getAuthConfig(route));\n\n return await next();\n } catch (error) {\n if (error instanceof errors.UnauthorizedError) {\n return ctx.unauthorized();\n }\n\n if (error instanceof errors.ForbiddenError) {\n // allow PolicyError as an exception to throw a publicly visible message in the API\n if (error instanceof errors.PolicyError) {\n throw error;\n }\n return ctx.forbidden();\n }\n\n throw error;\n }\n };\n\nconst createAuthenticateMiddleware =\n (strapi: Strapi): Common.MiddlewareHandler =>\n async (ctx, next) => {\n return strapi.get('auth').authenticate(ctx, next);\n };\n\nconst returnBodyMiddleware: Common.MiddlewareHandler = async (ctx, next) => {\n const values = await next();\n\n if (isNil(ctx.body) && !isNil(values)) {\n ctx.body = values;\n }\n};\n\nexport default (strapi: Strapi) => {\n const authenticate = createAuthenticateMiddleware(strapi);\n const authorize = createAuthorizeMiddleware(strapi);\n\n return (route: Common.Route, { router }: { router: Router }) => {\n try {\n const method = getMethod(route);\n const path = getPath(route);\n\n const middlewares = resolveRouteMiddlewares(route, strapi);\n const policies = resolvePolicies(route);\n\n const action = getAction(route, strapi);\n\n const routeHandler = compose([\n createRouteInfoMiddleware(route),\n authenticate,\n authorize,\n ...policies,\n ...middlewares,\n returnBodyMiddleware,\n ...castArray(action),\n ]);\n\n router[method](path, routeHandler);\n } catch (error) {\n if (error instanceof Error) {\n error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;\n }\n\n throw error;\n }\n };\n};\n\nconst getController = (name: string, { pluginName, apiName }: Common.RouteInfo, strapi: Strapi) => {\n let ctrl: Common.Controller | undefined;\n\n if (pluginName) {\n if (pluginName === 'admin') {\n ctrl = strapi.controller(`admin::${name}`);\n } else {\n ctrl = strapi.plugin(pluginName).controller(name);\n }\n } else if (apiName) {\n ctrl = strapi.controller(`api::${apiName}.${name}`);\n }\n\n if (!ctrl) {\n return strapi.controller(name as Common.UID.Controller);\n }\n\n return ctrl;\n};\n\nconst extractHandlerParts = (name: string) => {\n const controllerName = name.slice(0, name.lastIndexOf('.'));\n const actionName = name.slice(name.lastIndexOf('.') + 1);\n\n return { controllerName, actionName };\n};\n\nconst getAction = (route: Common.Route, strapi: Strapi) => {\n const { handler, info } = route;\n const { pluginName, apiName, type } = info ?? {};\n\n if (Array.isArray(handler) || typeof handler === 'function') {\n return handler;\n }\n\n const { controllerName, actionName } = extractHandlerParts(trim(handler));\n\n const controller = getController(controllerName, { pluginName, apiName, type }, strapi);\n\n if (typeof controller[actionName] !== 'function') {\n throw new Error(`Handler not found \"${handler}\"`);\n }\n\n if (Symbol.for('__type__') in controller[actionName]) {\n (controller[actionName] as any)[Symbol.for('__type__')].push(type);\n } else {\n (controller[actionName] as any)[Symbol.for('__type__')] = [type];\n }\n\n return controller[actionName].bind(controller);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose-endpoint.mjs","sources":["../../../src/services/server/compose-endpoint.ts"],"sourcesContent":["import { toLower, castArray, trim, prop, isNil } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport Router from '@koa/router';\n\nimport compose from 'koa-compose';\nimport { resolveRouteMiddlewares } from './middleware';\nimport { createPolicicesMiddleware } from './policy';\n\nconst getMethod = (route: Core.Route) => {\n return trim(toLower(route.method)) as Lowercase<Core.Route['method']>;\n};\n\nconst getPath = (route: Core.Route) => trim(route.path);\n\nconst createRouteInfoMiddleware =\n (routeInfo: Core.Route): Core.MiddlewareHandler =>\n (ctx, next) => {\n const route = {\n ...routeInfo,\n config: routeInfo.config || {},\n };\n\n ctx.state.route = route;\n return next();\n };\n\nconst getAuthConfig = prop('config.auth');\n\nconst createAuthorizeMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n const { auth, route } = ctx.state;\n\n const authService = strapi.get('auth');\n\n try {\n await authService.verify(auth, getAuthConfig(route));\n\n return await next();\n } catch (error) {\n if (error instanceof errors.UnauthorizedError) {\n return ctx.unauthorized();\n }\n\n if (error instanceof errors.ForbiddenError) {\n // allow PolicyError as an exception to throw a publicly visible message in the API\n if (error instanceof errors.PolicyError) {\n throw error;\n }\n return ctx.forbidden();\n }\n\n throw error;\n }\n };\n\nconst createAuthenticateMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n return strapi.get('auth').authenticate(ctx, next);\n };\n\nconst returnBodyMiddleware: Core.MiddlewareHandler = async (ctx, next) => {\n const values = await next();\n\n if (isNil(ctx.body) && !isNil(values)) {\n ctx.body = values;\n }\n};\n\nexport default (strapi: Core.Strapi) => {\n const authenticate = createAuthenticateMiddleware(strapi);\n const authorize = createAuthorizeMiddleware(strapi);\n\n return (route: Core.Route, { router }: { router: Router }) => {\n try {\n const method = getMethod(route);\n const path = getPath(route);\n\n const middlewares = resolveRouteMiddlewares(route, strapi);\n\n const action = getAction(route, strapi);\n\n const routeHandler = compose([\n createRouteInfoMiddleware(route),\n authenticate,\n authorize,\n createPolicicesMiddleware(route, strapi),\n ...middlewares,\n returnBodyMiddleware,\n ...castArray(action),\n ]);\n\n router[method](path, routeHandler);\n } catch (error) {\n if (error instanceof Error) {\n error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;\n }\n\n throw error;\n }\n };\n};\n\nconst getController = (\n name: string,\n { pluginName, apiName }: Core.RouteInfo,\n strapi: Core.Strapi\n) => {\n let ctrl: Core.Controller | undefined;\n\n if (pluginName) {\n if (pluginName === 'admin') {\n ctrl = strapi.controller(`admin::${name}`);\n } else {\n ctrl = strapi.plugin(pluginName).controller(name);\n }\n } else if (apiName) {\n ctrl = strapi.controller(`api::${apiName}.${name}`);\n }\n\n if (!ctrl) {\n return strapi.controller(name as UID.Controller);\n }\n\n return ctrl;\n};\n\nconst extractHandlerParts = (name: string) => {\n const controllerName = name.slice(0, name.lastIndexOf('.'));\n const actionName = name.slice(name.lastIndexOf('.') + 1);\n\n return { controllerName, actionName };\n};\n\nconst getAction = (route: Core.Route, strapi: Core.Strapi) => {\n const { handler, info } = route;\n const { pluginName, apiName, type } = info ?? {};\n\n if (Array.isArray(handler) || typeof handler === 'function') {\n return handler;\n }\n\n const { controllerName, actionName } = extractHandlerParts(trim(handler));\n\n const controller = getController(controllerName, { pluginName, apiName, type }, strapi);\n\n if (typeof controller[actionName] !== 'function') {\n throw new Error(`Handler not found \"${handler}\"`);\n }\n\n if (Symbol.for('__type__') in controller[actionName]) {\n (controller[actionName] as any)[Symbol.for('__type__')].push(type);\n } else {\n (controller[actionName] as any)[Symbol.for('__type__')] = [type];\n }\n\n return controller[actionName].bind(controller);\n};\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /// <reference types="koa__router" />
2
2
  /// <reference types="koa" />
3
- import type { Strapi } from '@strapi/types';
4
- declare const createContentAPI: (strapi: Strapi) => {
3
+ import type { Core } from '@strapi/types';
4
+ declare const createContentAPI: (strapi: Core.Strapi) => {
5
5
  listRoutes(): import("@koa/router").Layer[];
6
6
  use(fn: import("@koa/router").Middleware<import("koa").DefaultState, import("koa").DefaultContext, unknown>): any;
7
- routes(routes: import("@strapi/types/dist/types/core/common").Router | import("@strapi/types/dist/types/core/common").Route[]): any;
7
+ routes(routes: Core.Router | Core.Route[]): any;
8
8
  mount(router: import("@koa/router")<import("koa").DefaultState, import("koa").DefaultContext>): any;
9
9
  };
10
10
  export { createContentAPI };
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.d.ts","sourceRoot":"","sources":["../../../src/services/server/content-api.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,QAAA,MAAM,gBAAgB,WAAY,MAAM;;;;;CAOvC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"content-api.d.ts","sourceRoot":"","sources":["../../../src/services/server/content-api.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,QAAA,MAAM,gBAAgB,WAAY,KAAK,MAAM;;;;;CAO5C,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.js","sources":["../../../src/services/server/content-api.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\nimport { createAPI } from './api';\n\nconst createContentAPI = (strapi: Strapi) => {\n const opts = {\n prefix: strapi.config.get('api.rest.prefix', '/api'),\n type: 'content-api',\n };\n\n return createAPI(strapi, opts);\n};\n\nexport { createContentAPI };\n"],"names":["createAPI"],"mappings":";;;AAGM,MAAA,mBAAmB,CAAC,WAAmB;AAC3C,QAAM,OAAO;AAAA,IACX,QAAQ,OAAO,OAAO,IAAI,mBAAmB,MAAM;AAAA,IACnD,MAAM;AAAA,EAAA;AAGD,SAAAA,IAAA,UAAU,QAAQ,IAAI;AAC/B;;"}
1
+ {"version":3,"file":"content-api.js","sources":["../../../src/services/server/content-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { createAPI } from './api';\n\nconst createContentAPI = (strapi: Core.Strapi) => {\n const opts = {\n prefix: strapi.config.get('api.rest.prefix', '/api'),\n type: 'content-api',\n };\n\n return createAPI(strapi, opts);\n};\n\nexport { createContentAPI };\n"],"names":["createAPI"],"mappings":";;;AAGM,MAAA,mBAAmB,CAAC,WAAwB;AAChD,QAAM,OAAO;AAAA,IACX,QAAQ,OAAO,OAAO,IAAI,mBAAmB,MAAM;AAAA,IACnD,MAAM;AAAA,EAAA;AAGD,SAAAA,IAAA,UAAU,QAAQ,IAAI;AAC/B;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.mjs","sources":["../../../src/services/server/content-api.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\nimport { createAPI } from './api';\n\nconst createContentAPI = (strapi: Strapi) => {\n const opts = {\n prefix: strapi.config.get('api.rest.prefix', '/api'),\n type: 'content-api',\n };\n\n return createAPI(strapi, opts);\n};\n\nexport { createContentAPI };\n"],"names":[],"mappings":";AAGM,MAAA,mBAAmB,CAAC,WAAmB;AAC3C,QAAM,OAAO;AAAA,IACX,QAAQ,OAAO,OAAO,IAAI,mBAAmB,MAAM;AAAA,IACnD,MAAM;AAAA,EAAA;AAGD,SAAA,UAAU,QAAQ,IAAI;AAC/B;"}
1
+ {"version":3,"file":"content-api.mjs","sources":["../../../src/services/server/content-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { createAPI } from './api';\n\nconst createContentAPI = (strapi: Core.Strapi) => {\n const opts = {\n prefix: strapi.config.get('api.rest.prefix', '/api'),\n type: 'content-api',\n };\n\n return createAPI(strapi, opts);\n};\n\nexport { createContentAPI };\n"],"names":[],"mappings":";AAGM,MAAA,mBAAmB,CAAC,WAAwB;AAChD,QAAM,OAAO;AAAA,IACX,QAAQ,OAAO,OAAO,IAAI,mBAAmB,MAAM;AAAA,IACnD,MAAM;AAAA,EAAA;AAGD,SAAA,UAAU,QAAQ,IAAI;AAC/B;"}
@@ -1,10 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import http from 'http';
3
3
  import Koa from 'koa';
4
- import type { Strapi } from '@strapi/types';
4
+ import type { Core } from '@strapi/types';
5
5
  export interface Server extends http.Server {
6
6
  destroy: () => Promise<void>;
7
7
  }
8
- declare const createHTTPServer: (strapi: Strapi, koaApp: Koa) => Server;
8
+ declare const createHTTPServer: (strapi: Core.Strapi, koaApp: Koa) => Server;
9
9
  export { createHTTPServer };
10
10
  //# sourceMappingURL=http-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/services/server/http-server.ts"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,MAAO,SAAQ,IAAI,CAAC,MAAM;IACzC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,QAAA,MAAM,gBAAgB,WAAY,MAAM,UAAU,GAAG,KAAG,MAyDvD,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/services/server/http-server.ts"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,WAAW,MAAO,SAAQ,IAAI,CAAC,MAAM;IACzC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,QAAA,MAAM,gBAAgB,WAAY,KAAK,MAAM,UAAU,GAAG,KAAG,MAyD5D,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.js","sources":["../../../src/services/server/http-server.ts"],"sourcesContent":["import http from 'http';\nimport type { Socket } from 'net';\nimport Koa from 'koa';\nimport type { Strapi } from '@strapi/types';\n\nexport interface Server extends http.Server {\n destroy: () => Promise<void>;\n}\n\nconst createHTTPServer = (strapi: Strapi, koaApp: Koa): Server => {\n const connections = new Set<Socket>();\n\n // lazy creation of the request listener\n let handler: http.RequestListener;\n const listener: http.RequestListener = function handleRequest(req, res) {\n if (!handler) {\n handler = koaApp.callback();\n }\n\n return handler(req, res);\n };\n\n const options = strapi.config.get<http.ServerOptions>('server.http.serverOptions', {});\n\n const server: http.Server = http.createServer(options, listener);\n\n server.on('connection', (connection) => {\n connections.add(connection);\n\n connection.on('close', () => {\n connections.delete(connection);\n });\n });\n\n // handle port in use cleanly\n server.on('error', (err) => {\n if ('code' in err && 'port' in err && err.code === 'EADDRINUSE') {\n return strapi.stopWithError(`The port ${err.port} is already used by another application.`);\n }\n\n strapi.log.error(err);\n });\n\n const destroy = async () => {\n for (const connection of connections) {\n connection.destroy();\n\n connections.delete(connection);\n }\n\n if (!server.listening) {\n return;\n }\n\n return new Promise<void>((resolve, reject) => {\n server.close((error) => {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n };\n\n return Object.assign(server, { destroy });\n};\n\nexport { createHTTPServer };\n"],"names":["http"],"mappings":";;;;;AASM,MAAA,mBAAmB,CAAC,QAAgB,WAAwB;AAC1D,QAAA,kCAAkB;AAGpB,MAAA;AACJ,QAAM,WAAiC,SAAS,cAAc,KAAK,KAAK;AACtE,QAAI,CAAC,SAAS;AACZ,gBAAU,OAAO;IACnB;AAEO,WAAA,QAAQ,KAAK,GAAG;AAAA,EAAA;AAGzB,QAAM,UAAU,OAAO,OAAO,IAAwB,6BAA6B,CAAA,CAAE;AAErF,QAAM,SAAsBA,cAAA,QAAK,aAAa,SAAS,QAAQ;AAExD,SAAA,GAAG,cAAc,CAAC,eAAe;AACtC,gBAAY,IAAI,UAAU;AAEf,eAAA,GAAG,SAAS,MAAM;AAC3B,kBAAY,OAAO,UAAU;AAAA,IAAA,CAC9B;AAAA,EAAA,CACF;AAGM,SAAA,GAAG,SAAS,CAAC,QAAQ;AAC1B,QAAI,UAAU,OAAO,UAAU,OAAO,IAAI,SAAS,cAAc;AAC/D,aAAO,OAAO,cAAc,YAAY,IAAI,IAAI,0CAA0C;AAAA,IAC5F;AAEO,WAAA,IAAI,MAAM,GAAG;AAAA,EAAA,CACrB;AAED,QAAM,UAAU,YAAY;AAC1B,eAAW,cAAc,aAAa;AACpC,iBAAW,QAAQ;AAEnB,kBAAY,OAAO,UAAU;AAAA,IAC/B;AAEI,QAAA,CAAC,OAAO,WAAW;AACrB;AAAA,IACF;AAEA,WAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AACrC,aAAA,MAAM,CAAC,UAAU;AACtB,YAAI,OAAO;AACT,iBAAO,KAAK;AAAA,QAAA,OACP;AACG;QACV;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EAAA;AAGH,SAAO,OAAO,OAAO,QAAQ,EAAE,QAAS,CAAA;AAC1C;;"}
1
+ {"version":3,"file":"http-server.js","sources":["../../../src/services/server/http-server.ts"],"sourcesContent":["import http from 'http';\nimport type { Socket } from 'net';\nimport Koa from 'koa';\nimport type { Core } from '@strapi/types';\n\nexport interface Server extends http.Server {\n destroy: () => Promise<void>;\n}\n\nconst createHTTPServer = (strapi: Core.Strapi, koaApp: Koa): Server => {\n const connections = new Set<Socket>();\n\n // lazy creation of the request listener\n let handler: http.RequestListener;\n const listener: http.RequestListener = function handleRequest(req, res) {\n if (!handler) {\n handler = koaApp.callback();\n }\n\n return handler(req, res);\n };\n\n const options = strapi.config.get<http.ServerOptions>('server.http.serverOptions', {});\n\n const server: http.Server = http.createServer(options, listener);\n\n server.on('connection', (connection) => {\n connections.add(connection);\n\n connection.on('close', () => {\n connections.delete(connection);\n });\n });\n\n // handle port in use cleanly\n server.on('error', (err) => {\n if ('code' in err && 'port' in err && err.code === 'EADDRINUSE') {\n return strapi.stopWithError(`The port ${err.port} is already used by another application.`);\n }\n\n strapi.log.error(err);\n });\n\n const destroy = async () => {\n for (const connection of connections) {\n connection.destroy();\n\n connections.delete(connection);\n }\n\n if (!server.listening) {\n return;\n }\n\n return new Promise<void>((resolve, reject) => {\n server.close((error) => {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n };\n\n return Object.assign(server, { destroy });\n};\n\nexport { createHTTPServer };\n"],"names":["http"],"mappings":";;;;;AASM,MAAA,mBAAmB,CAAC,QAAqB,WAAwB;AAC/D,QAAA,kCAAkB;AAGpB,MAAA;AACJ,QAAM,WAAiC,SAAS,cAAc,KAAK,KAAK;AACtE,QAAI,CAAC,SAAS;AACZ,gBAAU,OAAO;IACnB;AAEO,WAAA,QAAQ,KAAK,GAAG;AAAA,EAAA;AAGzB,QAAM,UAAU,OAAO,OAAO,IAAwB,6BAA6B,CAAA,CAAE;AAErF,QAAM,SAAsBA,cAAA,QAAK,aAAa,SAAS,QAAQ;AAExD,SAAA,GAAG,cAAc,CAAC,eAAe;AACtC,gBAAY,IAAI,UAAU;AAEf,eAAA,GAAG,SAAS,MAAM;AAC3B,kBAAY,OAAO,UAAU;AAAA,IAAA,CAC9B;AAAA,EAAA,CACF;AAGM,SAAA,GAAG,SAAS,CAAC,QAAQ;AAC1B,QAAI,UAAU,OAAO,UAAU,OAAO,IAAI,SAAS,cAAc;AAC/D,aAAO,OAAO,cAAc,YAAY,IAAI,IAAI,0CAA0C;AAAA,IAC5F;AAEO,WAAA,IAAI,MAAM,GAAG;AAAA,EAAA,CACrB;AAED,QAAM,UAAU,YAAY;AAC1B,eAAW,cAAc,aAAa;AACpC,iBAAW,QAAQ;AAEnB,kBAAY,OAAO,UAAU;AAAA,IAC/B;AAEI,QAAA,CAAC,OAAO,WAAW;AACrB;AAAA,IACF;AAEA,WAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AACrC,aAAA,MAAM,CAAC,UAAU;AACtB,YAAI,OAAO;AACT,iBAAO,KAAK;AAAA,QAAA,OACP;AACG;QACV;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EAAA;AAGH,SAAO,OAAO,OAAO,QAAQ,EAAE,QAAS,CAAA;AAC1C;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.mjs","sources":["../../../src/services/server/http-server.ts"],"sourcesContent":["import http from 'http';\nimport type { Socket } from 'net';\nimport Koa from 'koa';\nimport type { Strapi } from '@strapi/types';\n\nexport interface Server extends http.Server {\n destroy: () => Promise<void>;\n}\n\nconst createHTTPServer = (strapi: Strapi, koaApp: Koa): Server => {\n const connections = new Set<Socket>();\n\n // lazy creation of the request listener\n let handler: http.RequestListener;\n const listener: http.RequestListener = function handleRequest(req, res) {\n if (!handler) {\n handler = koaApp.callback();\n }\n\n return handler(req, res);\n };\n\n const options = strapi.config.get<http.ServerOptions>('server.http.serverOptions', {});\n\n const server: http.Server = http.createServer(options, listener);\n\n server.on('connection', (connection) => {\n connections.add(connection);\n\n connection.on('close', () => {\n connections.delete(connection);\n });\n });\n\n // handle port in use cleanly\n server.on('error', (err) => {\n if ('code' in err && 'port' in err && err.code === 'EADDRINUSE') {\n return strapi.stopWithError(`The port ${err.port} is already used by another application.`);\n }\n\n strapi.log.error(err);\n });\n\n const destroy = async () => {\n for (const connection of connections) {\n connection.destroy();\n\n connections.delete(connection);\n }\n\n if (!server.listening) {\n return;\n }\n\n return new Promise<void>((resolve, reject) => {\n server.close((error) => {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n };\n\n return Object.assign(server, { destroy });\n};\n\nexport { createHTTPServer };\n"],"names":[],"mappings":";AASM,MAAA,mBAAmB,CAAC,QAAgB,WAAwB;AAC1D,QAAA,kCAAkB;AAGpB,MAAA;AACJ,QAAM,WAAiC,SAAS,cAAc,KAAK,KAAK;AACtE,QAAI,CAAC,SAAS;AACZ,gBAAU,OAAO;IACnB;AAEO,WAAA,QAAQ,KAAK,GAAG;AAAA,EAAA;AAGzB,QAAM,UAAU,OAAO,OAAO,IAAwB,6BAA6B,CAAA,CAAE;AAErF,QAAM,SAAsB,KAAK,aAAa,SAAS,QAAQ;AAExD,SAAA,GAAG,cAAc,CAAC,eAAe;AACtC,gBAAY,IAAI,UAAU;AAEf,eAAA,GAAG,SAAS,MAAM;AAC3B,kBAAY,OAAO,UAAU;AAAA,IAAA,CAC9B;AAAA,EAAA,CACF;AAGM,SAAA,GAAG,SAAS,CAAC,QAAQ;AAC1B,QAAI,UAAU,OAAO,UAAU,OAAO,IAAI,SAAS,cAAc;AAC/D,aAAO,OAAO,cAAc,YAAY,IAAI,IAAI,0CAA0C;AAAA,IAC5F;AAEO,WAAA,IAAI,MAAM,GAAG;AAAA,EAAA,CACrB;AAED,QAAM,UAAU,YAAY;AAC1B,eAAW,cAAc,aAAa;AACpC,iBAAW,QAAQ;AAEnB,kBAAY,OAAO,UAAU;AAAA,IAC/B;AAEI,QAAA,CAAC,OAAO,WAAW;AACrB;AAAA,IACF;AAEA,WAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AACrC,aAAA,MAAM,CAAC,UAAU;AACtB,YAAI,OAAO;AACT,iBAAO,KAAK;AAAA,QAAA,OACP;AACG;QACV;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EAAA;AAGH,SAAO,OAAO,OAAO,QAAQ,EAAE,QAAS,CAAA;AAC1C;"}
1
+ {"version":3,"file":"http-server.mjs","sources":["../../../src/services/server/http-server.ts"],"sourcesContent":["import http from 'http';\nimport type { Socket } from 'net';\nimport Koa from 'koa';\nimport type { Core } from '@strapi/types';\n\nexport interface Server extends http.Server {\n destroy: () => Promise<void>;\n}\n\nconst createHTTPServer = (strapi: Core.Strapi, koaApp: Koa): Server => {\n const connections = new Set<Socket>();\n\n // lazy creation of the request listener\n let handler: http.RequestListener;\n const listener: http.RequestListener = function handleRequest(req, res) {\n if (!handler) {\n handler = koaApp.callback();\n }\n\n return handler(req, res);\n };\n\n const options = strapi.config.get<http.ServerOptions>('server.http.serverOptions', {});\n\n const server: http.Server = http.createServer(options, listener);\n\n server.on('connection', (connection) => {\n connections.add(connection);\n\n connection.on('close', () => {\n connections.delete(connection);\n });\n });\n\n // handle port in use cleanly\n server.on('error', (err) => {\n if ('code' in err && 'port' in err && err.code === 'EADDRINUSE') {\n return strapi.stopWithError(`The port ${err.port} is already used by another application.`);\n }\n\n strapi.log.error(err);\n });\n\n const destroy = async () => {\n for (const connection of connections) {\n connection.destroy();\n\n connections.delete(connection);\n }\n\n if (!server.listening) {\n return;\n }\n\n return new Promise<void>((resolve, reject) => {\n server.close((error) => {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n };\n\n return Object.assign(server, { destroy });\n};\n\nexport { createHTTPServer };\n"],"names":[],"mappings":";AASM,MAAA,mBAAmB,CAAC,QAAqB,WAAwB;AAC/D,QAAA,kCAAkB;AAGpB,MAAA;AACJ,QAAM,WAAiC,SAAS,cAAc,KAAK,KAAK;AACtE,QAAI,CAAC,SAAS;AACZ,gBAAU,OAAO;IACnB;AAEO,WAAA,QAAQ,KAAK,GAAG;AAAA,EAAA;AAGzB,QAAM,UAAU,OAAO,OAAO,IAAwB,6BAA6B,CAAA,CAAE;AAErF,QAAM,SAAsB,KAAK,aAAa,SAAS,QAAQ;AAExD,SAAA,GAAG,cAAc,CAAC,eAAe;AACtC,gBAAY,IAAI,UAAU;AAEf,eAAA,GAAG,SAAS,MAAM;AAC3B,kBAAY,OAAO,UAAU;AAAA,IAAA,CAC9B;AAAA,EAAA,CACF;AAGM,SAAA,GAAG,SAAS,CAAC,QAAQ;AAC1B,QAAI,UAAU,OAAO,UAAU,OAAO,IAAI,SAAS,cAAc;AAC/D,aAAO,OAAO,cAAc,YAAY,IAAI,IAAI,0CAA0C;AAAA,IAC5F;AAEO,WAAA,IAAI,MAAM,GAAG;AAAA,EAAA,CACrB;AAED,QAAM,UAAU,YAAY;AAC1B,eAAW,cAAc,aAAa;AACpC,iBAAW,QAAQ;AAEnB,kBAAY,OAAO,UAAU;AAAA,IAC/B;AAEI,QAAA,CAAC,OAAO,WAAW;AACrB;AAAA,IACF;AAEA,WAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AACrC,aAAA,MAAM,CAAC,UAAU;AACtB,YAAI,OAAO;AACT,iBAAO,KAAK;AAAA,QAAA,OACP;AACG;QACV;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EAAA;AAGH,SAAO,OAAO,OAAO,QAAQ,EAAE,QAAS,CAAA;AAC1C;"}
@@ -1,4 +1,4 @@
1
- import type { Strapi, Server } from '@strapi/types';
2
- declare const createServer: (strapi: Strapi) => Server;
1
+ import type { Core, Modules } from '@strapi/types';
2
+ declare const createServer: (strapi: Core.Strapi) => Modules.Server.Server;
3
3
  export { createServer };
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/server/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAgB5D,QAAA,MAAM,YAAY,WAAY,MAAM,KAAG,MA8FtC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/server/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAgBnD,QAAA,MAAM,YAAY,WAAY,KAAK,MAAM,KAAG,QAAQ,MAAM,CAAC,MA4F1D,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -70,8 +70,7 @@ const createServer = (strapi) => {
70
70
  return this;
71
71
  },
72
72
  listRoutes() {
73
- const allRoutes = [...router.stack];
74
- return allRoutes;
73
+ return [...router.stack];
75
74
  },
76
75
  listen(...args) {
77
76
  if (!state.mounted) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/services/server/index.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Strapi, Common, Server } from '@strapi/types';\n\nimport { createHTTPServer } from './http-server';\nimport { createRouteManager } from './routing';\nimport { createAdminAPI } from './admin-api';\nimport { createContentAPI } from './content-api';\nimport registerAllRoutes from './register-routes';\nimport registerApplicationMiddlewares from './register-middlewares';\nimport createKoaApp from './koa';\nimport requestCtx from '../request-context';\n\nconst healthCheck: Common.MiddlewareHandler = async (ctx) => {\n ctx.set('strapi', 'You are so French!');\n ctx.status = 204;\n};\n\nconst createServer = (strapi: Strapi): Server => {\n const app = createKoaApp({\n proxy: strapi.config.get('server.proxy'),\n keys: strapi.config.get('server.app.keys'),\n });\n\n app.use((ctx, next) => requestCtx.run(ctx, () => next()));\n\n const router = new Router();\n\n const routeManager = createRouteManager(strapi);\n\n const httpServer = createHTTPServer(strapi, app);\n\n const apis = {\n 'content-api': createContentAPI(strapi),\n admin: createAdminAPI(strapi),\n };\n\n // init health check\n router.all('/_health', healthCheck);\n\n const state = {\n mounted: false,\n };\n\n return {\n app,\n router,\n httpServer,\n\n api(name) {\n return apis[name];\n },\n\n use(...args) {\n app.use(...args);\n return this;\n },\n\n routes(routes: Common.Router | Omit<Common.Route, 'info'>[]) {\n if (!Array.isArray(routes) && routes.type) {\n const api = apis[routes.type];\n if (!api) {\n throw new Error(`API ${routes.type} not found. Possible APIs are ${Object.keys(apis)}`);\n }\n\n apis[routes.type].routes(routes);\n return this;\n }\n\n routeManager.addRoutes(routes, router);\n return this;\n },\n\n mount() {\n state.mounted = true;\n\n Object.values(apis).forEach((api) => api.mount(router));\n app.use(router.routes()).use(router.allowedMethods());\n\n return this;\n },\n\n initRouting() {\n registerAllRoutes(strapi);\n\n return this;\n },\n\n async initMiddlewares() {\n await registerApplicationMiddlewares(strapi);\n\n return this;\n },\n\n listRoutes() {\n const allRoutes = [...router.stack];\n\n return allRoutes;\n },\n\n listen(...args: any[]) {\n if (!state.mounted) {\n this.mount();\n }\n\n return httpServer.listen(...args);\n },\n\n async destroy() {\n await httpServer.destroy();\n },\n };\n};\n\nexport { createServer };\n"],"names":["createKoaApp","requestCtx","Router","createRouteManager","httpServer","createHTTPServer","createContentAPI","createAdminAPI","registerAllRoutes","registerApplicationMiddlewares"],"mappings":";;;;;;;;;;;;;AAYA,MAAM,cAAwC,OAAO,QAAQ;AACvD,MAAA,IAAI,UAAU,oBAAoB;AACtC,MAAI,SAAS;AACf;AAEM,MAAA,eAAe,CAAC,WAA2B;AAC/C,QAAM,MAAMA,IAAa;AAAA,IACvB,OAAO,OAAO,OAAO,IAAI,cAAc;AAAA,IACvC,MAAM,OAAO,OAAO,IAAI,iBAAiB;AAAA,EAAA,CAC1C;AAEG,MAAA,IAAI,CAAC,KAAK,SAASC,eAAW,IAAI,KAAK,MAAM,KAAM,CAAA,CAAC;AAElD,QAAA,SAAS,IAAIC,gBAAAA;AAEb,QAAA,eAAeC,2BAAmB,MAAM;AAExC,QAAAC,eAAaC,WAAAA,iBAAiB,QAAQ,GAAG;AAE/C,QAAM,OAAO;AAAA,IACX,eAAeC,4BAAiB,MAAM;AAAA,IACtC,OAAOC,wBAAe,MAAM;AAAA,EAAA;AAIvB,SAAA,IAAI,YAAY,WAAW;AAElC,QAAM,QAAQ;AAAA,IACZ,SAAS;AAAA,EAAA;AAGJ,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IAAA,YACAH;AAAAA,IAEA,IAAI,MAAM;AACR,aAAO,KAAK,IAAI;AAAA,IAClB;AAAA,IAEA,OAAO,MAAM;AACP,UAAA,IAAI,GAAG,IAAI;AACR,aAAA;AAAA,IACT;AAAA,IAEA,OAAO,QAAsD;AAC3D,UAAI,CAAC,MAAM,QAAQ,MAAM,KAAK,OAAO,MAAM;AACnC,cAAA,MAAM,KAAK,OAAO,IAAI;AAC5B,YAAI,CAAC,KAAK;AACF,gBAAA,IAAI,MAAM,OAAO,OAAO,IAAI,iCAAiC,OAAO,KAAK,IAAI,CAAC,EAAE;AAAA,QACxF;AAEA,aAAK,OAAO,IAAI,EAAE,OAAO,MAAM;AACxB,eAAA;AAAA,MACT;AAEa,mBAAA,UAAU,QAAQ,MAAM;AAC9B,aAAA;AAAA,IACT;AAAA,IAEA,QAAQ;AACN,YAAM,UAAU;AAET,aAAA,OAAO,IAAI,EAAE,QAAQ,CAAC,QAAQ,IAAI,MAAM,MAAM,CAAC;AAClD,UAAA,IAAI,OAAO,OAAO,CAAC,EAAE,IAAI,OAAO,gBAAgB;AAE7C,aAAA;AAAA,IACT;AAAA,IAEA,cAAc;AACZI,qBAAkB,MAAM;AAEjB,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,kBAAkB;AACtB,YAAMC,oBAA+B,MAAM;AAEpC,aAAA;AAAA,IACT;AAAA,IAEA,aAAa;AACX,YAAM,YAAY,CAAC,GAAG,OAAO,KAAK;AAE3B,aAAA;AAAA,IACT;AAAA,IAEA,UAAU,MAAa;AACjB,UAAA,CAAC,MAAM,SAAS;AAClB,aAAK,MAAM;AAAA,MACb;AAEO,aAAAL,aAAW,OAAO,GAAG,IAAI;AAAA,IAClC;AAAA,IAEA,MAAM,UAAU;AACd,YAAMA,aAAW;IACnB;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/services/server/index.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Core, Modules } from '@strapi/types';\n\nimport { createHTTPServer } from './http-server';\nimport { createRouteManager } from './routing';\nimport { createAdminAPI } from './admin-api';\nimport { createContentAPI } from './content-api';\nimport registerAllRoutes from './register-routes';\nimport registerApplicationMiddlewares from './register-middlewares';\nimport createKoaApp from './koa';\nimport requestCtx from '../request-context';\n\nconst healthCheck: Core.MiddlewareHandler = async (ctx) => {\n ctx.set('strapi', 'You are so French!');\n ctx.status = 204;\n};\n\nconst createServer = (strapi: Core.Strapi): Modules.Server.Server => {\n const app = createKoaApp({\n proxy: strapi.config.get('server.proxy'),\n keys: strapi.config.get('server.app.keys'),\n });\n\n app.use((ctx, next) => requestCtx.run(ctx, () => next()));\n\n const router = new Router();\n\n const routeManager = createRouteManager(strapi);\n\n const httpServer = createHTTPServer(strapi, app);\n\n const apis = {\n 'content-api': createContentAPI(strapi),\n admin: createAdminAPI(strapi),\n };\n\n // init health check\n router.all('/_health', healthCheck);\n\n const state = {\n mounted: false,\n };\n\n return {\n app,\n router,\n httpServer,\n\n api(name) {\n return apis[name];\n },\n\n use(...args) {\n app.use(...args);\n return this;\n },\n\n routes(routes: Core.Router | Omit<Core.Route, 'info'>[]) {\n if (!Array.isArray(routes) && routes.type) {\n const api = apis[routes.type];\n if (!api) {\n throw new Error(`API ${routes.type} not found. Possible APIs are ${Object.keys(apis)}`);\n }\n\n apis[routes.type].routes(routes);\n return this;\n }\n\n routeManager.addRoutes(routes, router);\n return this;\n },\n\n mount() {\n state.mounted = true;\n\n Object.values(apis).forEach((api) => api.mount(router));\n app.use(router.routes()).use(router.allowedMethods());\n\n return this;\n },\n\n initRouting() {\n registerAllRoutes(strapi);\n\n return this;\n },\n\n async initMiddlewares() {\n await registerApplicationMiddlewares(strapi);\n\n return this;\n },\n\n listRoutes() {\n return [...router.stack];\n },\n\n listen(...args: any[]) {\n if (!state.mounted) {\n this.mount();\n }\n\n return httpServer.listen(...args);\n },\n\n async destroy() {\n await httpServer.destroy();\n },\n };\n};\n\nexport { createServer };\n"],"names":["createKoaApp","requestCtx","Router","createRouteManager","httpServer","createHTTPServer","createContentAPI","createAdminAPI","registerAllRoutes","registerApplicationMiddlewares"],"mappings":";;;;;;;;;;;;;AAYA,MAAM,cAAsC,OAAO,QAAQ;AACrD,MAAA,IAAI,UAAU,oBAAoB;AACtC,MAAI,SAAS;AACf;AAEM,MAAA,eAAe,CAAC,WAA+C;AACnE,QAAM,MAAMA,IAAa;AAAA,IACvB,OAAO,OAAO,OAAO,IAAI,cAAc;AAAA,IACvC,MAAM,OAAO,OAAO,IAAI,iBAAiB;AAAA,EAAA,CAC1C;AAEG,MAAA,IAAI,CAAC,KAAK,SAASC,eAAW,IAAI,KAAK,MAAM,KAAM,CAAA,CAAC;AAElD,QAAA,SAAS,IAAIC,gBAAAA;AAEb,QAAA,eAAeC,2BAAmB,MAAM;AAExC,QAAAC,eAAaC,WAAAA,iBAAiB,QAAQ,GAAG;AAE/C,QAAM,OAAO;AAAA,IACX,eAAeC,4BAAiB,MAAM;AAAA,IACtC,OAAOC,wBAAe,MAAM;AAAA,EAAA;AAIvB,SAAA,IAAI,YAAY,WAAW;AAElC,QAAM,QAAQ;AAAA,IACZ,SAAS;AAAA,EAAA;AAGJ,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IAAA,YACAH;AAAAA,IAEA,IAAI,MAAM;AACR,aAAO,KAAK,IAAI;AAAA,IAClB;AAAA,IAEA,OAAO,MAAM;AACP,UAAA,IAAI,GAAG,IAAI;AACR,aAAA;AAAA,IACT;AAAA,IAEA,OAAO,QAAkD;AACvD,UAAI,CAAC,MAAM,QAAQ,MAAM,KAAK,OAAO,MAAM;AACnC,cAAA,MAAM,KAAK,OAAO,IAAI;AAC5B,YAAI,CAAC,KAAK;AACF,gBAAA,IAAI,MAAM,OAAO,OAAO,IAAI,iCAAiC,OAAO,KAAK,IAAI,CAAC,EAAE;AAAA,QACxF;AAEA,aAAK,OAAO,IAAI,EAAE,OAAO,MAAM;AACxB,eAAA;AAAA,MACT;AAEa,mBAAA,UAAU,QAAQ,MAAM;AAC9B,aAAA;AAAA,IACT;AAAA,IAEA,QAAQ;AACN,YAAM,UAAU;AAET,aAAA,OAAO,IAAI,EAAE,QAAQ,CAAC,QAAQ,IAAI,MAAM,MAAM,CAAC;AAClD,UAAA,IAAI,OAAO,OAAO,CAAC,EAAE,IAAI,OAAO,gBAAgB;AAE7C,aAAA;AAAA,IACT;AAAA,IAEA,cAAc;AACZI,qBAAkB,MAAM;AAEjB,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,kBAAkB;AACtB,YAAMC,oBAA+B,MAAM;AAEpC,aAAA;AAAA,IACT;AAAA,IAEA,aAAa;AACJ,aAAA,CAAC,GAAG,OAAO,KAAK;AAAA,IACzB;AAAA,IAEA,UAAU,MAAa;AACjB,UAAA,CAAC,MAAM,SAAS;AAClB,aAAK,MAAM;AAAA,MACb;AAEO,aAAAL,aAAW,OAAO,GAAG,IAAI;AAAA,IAClC;AAAA,IAEA,MAAM,UAAU;AACd,YAAMA,aAAW;IACnB;AAAA,EAAA;AAEJ;;"}
@@ -66,8 +66,7 @@ const createServer = (strapi) => {
66
66
  return this;
67
67
  },
68
68
  listRoutes() {
69
- const allRoutes = [...router.stack];
70
- return allRoutes;
69
+ return [...router.stack];
71
70
  },
72
71
  listen(...args) {
73
72
  if (!state.mounted) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/services/server/index.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Strapi, Common, Server } from '@strapi/types';\n\nimport { createHTTPServer } from './http-server';\nimport { createRouteManager } from './routing';\nimport { createAdminAPI } from './admin-api';\nimport { createContentAPI } from './content-api';\nimport registerAllRoutes from './register-routes';\nimport registerApplicationMiddlewares from './register-middlewares';\nimport createKoaApp from './koa';\nimport requestCtx from '../request-context';\n\nconst healthCheck: Common.MiddlewareHandler = async (ctx) => {\n ctx.set('strapi', 'You are so French!');\n ctx.status = 204;\n};\n\nconst createServer = (strapi: Strapi): Server => {\n const app = createKoaApp({\n proxy: strapi.config.get('server.proxy'),\n keys: strapi.config.get('server.app.keys'),\n });\n\n app.use((ctx, next) => requestCtx.run(ctx, () => next()));\n\n const router = new Router();\n\n const routeManager = createRouteManager(strapi);\n\n const httpServer = createHTTPServer(strapi, app);\n\n const apis = {\n 'content-api': createContentAPI(strapi),\n admin: createAdminAPI(strapi),\n };\n\n // init health check\n router.all('/_health', healthCheck);\n\n const state = {\n mounted: false,\n };\n\n return {\n app,\n router,\n httpServer,\n\n api(name) {\n return apis[name];\n },\n\n use(...args) {\n app.use(...args);\n return this;\n },\n\n routes(routes: Common.Router | Omit<Common.Route, 'info'>[]) {\n if (!Array.isArray(routes) && routes.type) {\n const api = apis[routes.type];\n if (!api) {\n throw new Error(`API ${routes.type} not found. Possible APIs are ${Object.keys(apis)}`);\n }\n\n apis[routes.type].routes(routes);\n return this;\n }\n\n routeManager.addRoutes(routes, router);\n return this;\n },\n\n mount() {\n state.mounted = true;\n\n Object.values(apis).forEach((api) => api.mount(router));\n app.use(router.routes()).use(router.allowedMethods());\n\n return this;\n },\n\n initRouting() {\n registerAllRoutes(strapi);\n\n return this;\n },\n\n async initMiddlewares() {\n await registerApplicationMiddlewares(strapi);\n\n return this;\n },\n\n listRoutes() {\n const allRoutes = [...router.stack];\n\n return allRoutes;\n },\n\n listen(...args: any[]) {\n if (!state.mounted) {\n this.mount();\n }\n\n return httpServer.listen(...args);\n },\n\n async destroy() {\n await httpServer.destroy();\n },\n };\n};\n\nexport { createServer };\n"],"names":[],"mappings":";;;;;;;;;AAYA,MAAM,cAAwC,OAAO,QAAQ;AACvD,MAAA,IAAI,UAAU,oBAAoB;AACtC,MAAI,SAAS;AACf;AAEM,MAAA,eAAe,CAAC,WAA2B;AAC/C,QAAM,MAAM,aAAa;AAAA,IACvB,OAAO,OAAO,OAAO,IAAI,cAAc;AAAA,IACvC,MAAM,OAAO,OAAO,IAAI,iBAAiB;AAAA,EAAA,CAC1C;AAEG,MAAA,IAAI,CAAC,KAAK,SAAS,WAAW,IAAI,KAAK,MAAM,KAAM,CAAA,CAAC;AAElD,QAAA,SAAS,IAAI;AAEb,QAAA,eAAe,mBAAmB,MAAM;AAExC,QAAA,aAAa,iBAAiB,QAAQ,GAAG;AAE/C,QAAM,OAAO;AAAA,IACX,eAAe,iBAAiB,MAAM;AAAA,IACtC,OAAO,eAAe,MAAM;AAAA,EAAA;AAIvB,SAAA,IAAI,YAAY,WAAW;AAElC,QAAM,QAAQ;AAAA,IACZ,SAAS;AAAA,EAAA;AAGJ,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IAEA,IAAI,MAAM;AACR,aAAO,KAAK,IAAI;AAAA,IAClB;AAAA,IAEA,OAAO,MAAM;AACP,UAAA,IAAI,GAAG,IAAI;AACR,aAAA;AAAA,IACT;AAAA,IAEA,OAAO,QAAsD;AAC3D,UAAI,CAAC,MAAM,QAAQ,MAAM,KAAK,OAAO,MAAM;AACnC,cAAA,MAAM,KAAK,OAAO,IAAI;AAC5B,YAAI,CAAC,KAAK;AACF,gBAAA,IAAI,MAAM,OAAO,OAAO,IAAI,iCAAiC,OAAO,KAAK,IAAI,CAAC,EAAE;AAAA,QACxF;AAEA,aAAK,OAAO,IAAI,EAAE,OAAO,MAAM;AACxB,eAAA;AAAA,MACT;AAEa,mBAAA,UAAU,QAAQ,MAAM;AAC9B,aAAA;AAAA,IACT;AAAA,IAEA,QAAQ;AACN,YAAM,UAAU;AAET,aAAA,OAAO,IAAI,EAAE,QAAQ,CAAC,QAAQ,IAAI,MAAM,MAAM,CAAC;AAClD,UAAA,IAAI,OAAO,OAAO,CAAC,EAAE,IAAI,OAAO,gBAAgB;AAE7C,aAAA;AAAA,IACT;AAAA,IAEA,cAAc;AACZ,wBAAkB,MAAM;AAEjB,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,kBAAkB;AACtB,YAAM,+BAA+B,MAAM;AAEpC,aAAA;AAAA,IACT;AAAA,IAEA,aAAa;AACX,YAAM,YAAY,CAAC,GAAG,OAAO,KAAK;AAE3B,aAAA;AAAA,IACT;AAAA,IAEA,UAAU,MAAa;AACjB,UAAA,CAAC,MAAM,SAAS;AAClB,aAAK,MAAM;AAAA,MACb;AAEO,aAAA,WAAW,OAAO,GAAG,IAAI;AAAA,IAClC;AAAA,IAEA,MAAM,UAAU;AACd,YAAM,WAAW;IACnB;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/services/server/index.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Core, Modules } from '@strapi/types';\n\nimport { createHTTPServer } from './http-server';\nimport { createRouteManager } from './routing';\nimport { createAdminAPI } from './admin-api';\nimport { createContentAPI } from './content-api';\nimport registerAllRoutes from './register-routes';\nimport registerApplicationMiddlewares from './register-middlewares';\nimport createKoaApp from './koa';\nimport requestCtx from '../request-context';\n\nconst healthCheck: Core.MiddlewareHandler = async (ctx) => {\n ctx.set('strapi', 'You are so French!');\n ctx.status = 204;\n};\n\nconst createServer = (strapi: Core.Strapi): Modules.Server.Server => {\n const app = createKoaApp({\n proxy: strapi.config.get('server.proxy'),\n keys: strapi.config.get('server.app.keys'),\n });\n\n app.use((ctx, next) => requestCtx.run(ctx, () => next()));\n\n const router = new Router();\n\n const routeManager = createRouteManager(strapi);\n\n const httpServer = createHTTPServer(strapi, app);\n\n const apis = {\n 'content-api': createContentAPI(strapi),\n admin: createAdminAPI(strapi),\n };\n\n // init health check\n router.all('/_health', healthCheck);\n\n const state = {\n mounted: false,\n };\n\n return {\n app,\n router,\n httpServer,\n\n api(name) {\n return apis[name];\n },\n\n use(...args) {\n app.use(...args);\n return this;\n },\n\n routes(routes: Core.Router | Omit<Core.Route, 'info'>[]) {\n if (!Array.isArray(routes) && routes.type) {\n const api = apis[routes.type];\n if (!api) {\n throw new Error(`API ${routes.type} not found. Possible APIs are ${Object.keys(apis)}`);\n }\n\n apis[routes.type].routes(routes);\n return this;\n }\n\n routeManager.addRoutes(routes, router);\n return this;\n },\n\n mount() {\n state.mounted = true;\n\n Object.values(apis).forEach((api) => api.mount(router));\n app.use(router.routes()).use(router.allowedMethods());\n\n return this;\n },\n\n initRouting() {\n registerAllRoutes(strapi);\n\n return this;\n },\n\n async initMiddlewares() {\n await registerApplicationMiddlewares(strapi);\n\n return this;\n },\n\n listRoutes() {\n return [...router.stack];\n },\n\n listen(...args: any[]) {\n if (!state.mounted) {\n this.mount();\n }\n\n return httpServer.listen(...args);\n },\n\n async destroy() {\n await httpServer.destroy();\n },\n };\n};\n\nexport { createServer };\n"],"names":[],"mappings":";;;;;;;;;AAYA,MAAM,cAAsC,OAAO,QAAQ;AACrD,MAAA,IAAI,UAAU,oBAAoB;AACtC,MAAI,SAAS;AACf;AAEM,MAAA,eAAe,CAAC,WAA+C;AACnE,QAAM,MAAM,aAAa;AAAA,IACvB,OAAO,OAAO,OAAO,IAAI,cAAc;AAAA,IACvC,MAAM,OAAO,OAAO,IAAI,iBAAiB;AAAA,EAAA,CAC1C;AAEG,MAAA,IAAI,CAAC,KAAK,SAAS,WAAW,IAAI,KAAK,MAAM,KAAM,CAAA,CAAC;AAElD,QAAA,SAAS,IAAI;AAEb,QAAA,eAAe,mBAAmB,MAAM;AAExC,QAAA,aAAa,iBAAiB,QAAQ,GAAG;AAE/C,QAAM,OAAO;AAAA,IACX,eAAe,iBAAiB,MAAM;AAAA,IACtC,OAAO,eAAe,MAAM;AAAA,EAAA;AAIvB,SAAA,IAAI,YAAY,WAAW;AAElC,QAAM,QAAQ;AAAA,IACZ,SAAS;AAAA,EAAA;AAGJ,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IAEA,IAAI,MAAM;AACR,aAAO,KAAK,IAAI;AAAA,IAClB;AAAA,IAEA,OAAO,MAAM;AACP,UAAA,IAAI,GAAG,IAAI;AACR,aAAA;AAAA,IACT;AAAA,IAEA,OAAO,QAAkD;AACvD,UAAI,CAAC,MAAM,QAAQ,MAAM,KAAK,OAAO,MAAM;AACnC,cAAA,MAAM,KAAK,OAAO,IAAI;AAC5B,YAAI,CAAC,KAAK;AACF,gBAAA,IAAI,MAAM,OAAO,OAAO,IAAI,iCAAiC,OAAO,KAAK,IAAI,CAAC,EAAE;AAAA,QACxF;AAEA,aAAK,OAAO,IAAI,EAAE,OAAO,MAAM;AACxB,eAAA;AAAA,MACT;AAEa,mBAAA,UAAU,QAAQ,MAAM;AAC9B,aAAA;AAAA,IACT;AAAA,IAEA,QAAQ;AACN,YAAM,UAAU;AAET,aAAA,OAAO,IAAI,EAAE,QAAQ,CAAC,QAAQ,IAAI,MAAM,MAAM,CAAC;AAClD,UAAA,IAAI,OAAO,OAAO,CAAC,EAAE,IAAI,OAAO,gBAAgB;AAE7C,aAAA;AAAA,IACT;AAAA,IAEA,cAAc;AACZ,wBAAkB,MAAM;AAEjB,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,kBAAkB;AACtB,YAAM,+BAA+B,MAAM;AAEpC,aAAA;AAAA,IACT;AAAA,IAEA,aAAa;AACJ,aAAA,CAAC,GAAG,OAAO,KAAK;AAAA,IACzB;AAAA,IAEA,UAAU,MAAa;AACjB,UAAA,CAAC,MAAM,SAAS;AAClB,aAAK,MAAM;AAAA,MACb;AAEO,aAAA,WAAW,OAAO,GAAG,IAAI;AAAA,IAClC;AAAA,IAEA,MAAM,UAAU;AACd,YAAM,WAAW;IACnB;AAAA,EAAA;AAEJ;"}
@@ -1,11 +1,11 @@
1
- import type { Strapi, Common } from '@strapi/types';
2
- declare const resolveRouteMiddlewares: (route: Common.Route, strapi: Strapi) => Common.MiddlewareHandler[];
1
+ import type { Core } from '@strapi/types';
2
+ declare const resolveRouteMiddlewares: (route: Core.Route, strapi: Core.Strapi) => Core.MiddlewareHandler[];
3
3
  /**
4
4
  * Initialize every configured middlewares
5
5
  */
6
- declare const resolveMiddlewares: (config: Array<Common.MiddlewareName | Common.MiddlewareConfig | Common.MiddlewareHandler>, strapi: Strapi) => {
6
+ declare const resolveMiddlewares: (config: Array<Core.MiddlewareName | Core.MiddlewareConfig | Core.MiddlewareHandler>, strapi: Core.Strapi) => {
7
7
  name: string | null;
8
- handler: Common.MiddlewareHandler;
8
+ handler: Core.MiddlewareHandler;
9
9
  }[];
10
10
  export { resolveRouteMiddlewares, resolveMiddlewares };
11
11
  //# sourceMappingURL=middleware.d.ts.map