@strapi/core 0.0.0-next.f6dca5adf05ef6bed9605a1535999ab0bbbf063e → 0.0.0-next.fc9d26d995624dc886b29f563e1de655d47e6609

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 (688) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/configuration/index.d.ts.map +1 -1
  3. package/dist/index.js +9954 -27
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +9932 -29
  6. package/dist/index.mjs.map +1 -1
  7. package/dist/middlewares/body.d.ts.map +1 -1
  8. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -2
  9. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  10. package/dist/migrations/draft-publish.d.ts +1 -1
  11. package/dist/migrations/draft-publish.d.ts.map +1 -1
  12. package/dist/services/document-service/components.d.ts.map +1 -1
  13. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  14. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  15. package/dist/services/document-service/events.d.ts +1 -1
  16. package/dist/services/document-service/events.d.ts.map +1 -1
  17. package/dist/services/document-service/repository.d.ts.map +1 -1
  18. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  19. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  20. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  21. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  22. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  23. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  24. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  25. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  26. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  27. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  28. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  29. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  30. package/dist/services/document-service/utils/populate.d.ts +1 -1
  31. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  32. package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
  33. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  34. package/dist/services/entity-validator/index.d.ts +1 -1
  35. package/dist/services/entity-validator/index.d.ts.map +1 -1
  36. package/dist/services/metrics/middleware.d.ts.map +1 -1
  37. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  38. package/dist/utils/startup-logger.d.ts.map +1 -1
  39. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  40. package/package.json +23 -24
  41. package/dist/Strapi.js +0 -431
  42. package/dist/Strapi.js.map +0 -1
  43. package/dist/Strapi.mjs +0 -410
  44. package/dist/Strapi.mjs.map +0 -1
  45. package/dist/compile.js +0 -18
  46. package/dist/compile.js.map +0 -1
  47. package/dist/compile.mjs +0 -17
  48. package/dist/compile.mjs.map +0 -1
  49. package/dist/configuration/config-loader.js +0 -106
  50. package/dist/configuration/config-loader.js.map +0 -1
  51. package/dist/configuration/config-loader.mjs +0 -104
  52. package/dist/configuration/config-loader.mjs.map +0 -1
  53. package/dist/configuration/get-dirs.js +0 -31
  54. package/dist/configuration/get-dirs.js.map +0 -1
  55. package/dist/configuration/get-dirs.mjs +0 -31
  56. package/dist/configuration/get-dirs.mjs.map +0 -1
  57. package/dist/configuration/index.js +0 -80
  58. package/dist/configuration/index.js.map +0 -1
  59. package/dist/configuration/index.mjs +0 -75
  60. package/dist/configuration/index.mjs.map +0 -1
  61. package/dist/configuration/urls.js +0 -68
  62. package/dist/configuration/urls.js.map +0 -1
  63. package/dist/configuration/urls.mjs +0 -66
  64. package/dist/configuration/urls.mjs.map +0 -1
  65. package/dist/container.js +0 -30
  66. package/dist/container.js.map +0 -1
  67. package/dist/container.mjs +0 -30
  68. package/dist/container.mjs.map +0 -1
  69. package/dist/core-api/controller/collection-type.js +0 -84
  70. package/dist/core-api/controller/collection-type.js.map +0 -1
  71. package/dist/core-api/controller/collection-type.mjs +0 -84
  72. package/dist/core-api/controller/collection-type.mjs.map +0 -1
  73. package/dist/core-api/controller/index.js +0 -52
  74. package/dist/core-api/controller/index.js.map +0 -1
  75. package/dist/core-api/controller/index.mjs +0 -52
  76. package/dist/core-api/controller/index.mjs.map +0 -1
  77. package/dist/core-api/controller/single-type.js +0 -46
  78. package/dist/core-api/controller/single-type.js.map +0 -1
  79. package/dist/core-api/controller/single-type.mjs +0 -46
  80. package/dist/core-api/controller/single-type.mjs.map +0 -1
  81. package/dist/core-api/controller/transform.js +0 -76
  82. package/dist/core-api/controller/transform.js.map +0 -1
  83. package/dist/core-api/controller/transform.mjs +0 -76
  84. package/dist/core-api/controller/transform.mjs.map +0 -1
  85. package/dist/core-api/routes/index.js +0 -67
  86. package/dist/core-api/routes/index.js.map +0 -1
  87. package/dist/core-api/routes/index.mjs +0 -67
  88. package/dist/core-api/routes/index.mjs.map +0 -1
  89. package/dist/core-api/service/collection-type.js +0 -67
  90. package/dist/core-api/service/collection-type.js.map +0 -1
  91. package/dist/core-api/service/collection-type.mjs +0 -67
  92. package/dist/core-api/service/collection-type.mjs.map +0 -1
  93. package/dist/core-api/service/core-service.js +0 -12
  94. package/dist/core-api/service/core-service.js.map +0 -1
  95. package/dist/core-api/service/core-service.mjs +0 -12
  96. package/dist/core-api/service/core-service.mjs.map +0 -1
  97. package/dist/core-api/service/index.js +0 -16
  98. package/dist/core-api/service/index.js.map +0 -1
  99. package/dist/core-api/service/index.mjs +0 -16
  100. package/dist/core-api/service/index.mjs.map +0 -1
  101. package/dist/core-api/service/pagination.js +0 -52
  102. package/dist/core-api/service/pagination.js.map +0 -1
  103. package/dist/core-api/service/pagination.mjs +0 -52
  104. package/dist/core-api/service/pagination.mjs.map +0 -1
  105. package/dist/core-api/service/single-type.js +0 -46
  106. package/dist/core-api/service/single-type.js.map +0 -1
  107. package/dist/core-api/service/single-type.mjs +0 -46
  108. package/dist/core-api/service/single-type.mjs.map +0 -1
  109. package/dist/domain/content-type/index.js +0 -111
  110. package/dist/domain/content-type/index.js.map +0 -1
  111. package/dist/domain/content-type/index.mjs +0 -109
  112. package/dist/domain/content-type/index.mjs.map +0 -1
  113. package/dist/domain/content-type/validator.js +0 -77
  114. package/dist/domain/content-type/validator.js.map +0 -1
  115. package/dist/domain/content-type/validator.mjs +0 -75
  116. package/dist/domain/content-type/validator.mjs.map +0 -1
  117. package/dist/domain/module/index.js +0 -107
  118. package/dist/domain/module/index.js.map +0 -1
  119. package/dist/domain/module/index.mjs +0 -105
  120. package/dist/domain/module/index.mjs.map +0 -1
  121. package/dist/domain/module/validation.js +0 -25
  122. package/dist/domain/module/validation.js.map +0 -1
  123. package/dist/domain/module/validation.mjs +0 -25
  124. package/dist/domain/module/validation.mjs.map +0 -1
  125. package/dist/ee/index.js +0 -158
  126. package/dist/ee/index.js.map +0 -1
  127. package/dist/ee/index.mjs +0 -159
  128. package/dist/ee/index.mjs.map +0 -1
  129. package/dist/ee/license.js +0 -91
  130. package/dist/ee/license.js.map +0 -1
  131. package/dist/ee/license.mjs +0 -88
  132. package/dist/ee/license.mjs.map +0 -1
  133. package/dist/factories.js +0 -80
  134. package/dist/factories.js.map +0 -1
  135. package/dist/factories.mjs +0 -80
  136. package/dist/factories.mjs.map +0 -1
  137. package/dist/loaders/admin.js +0 -26
  138. package/dist/loaders/admin.js.map +0 -1
  139. package/dist/loaders/admin.mjs +0 -25
  140. package/dist/loaders/admin.mjs.map +0 -1
  141. package/dist/loaders/apis.js +0 -137
  142. package/dist/loaders/apis.js.map +0 -1
  143. package/dist/loaders/apis.mjs +0 -135
  144. package/dist/loaders/apis.mjs.map +0 -1
  145. package/dist/loaders/components.js +0 -38
  146. package/dist/loaders/components.js.map +0 -1
  147. package/dist/loaders/components.mjs +0 -37
  148. package/dist/loaders/components.mjs.map +0 -1
  149. package/dist/loaders/index.js +0 -24
  150. package/dist/loaders/index.js.map +0 -1
  151. package/dist/loaders/index.mjs +0 -24
  152. package/dist/loaders/index.mjs.map +0 -1
  153. package/dist/loaders/middlewares.js +0 -31
  154. package/dist/loaders/middlewares.js.map +0 -1
  155. package/dist/loaders/middlewares.mjs +0 -30
  156. package/dist/loaders/middlewares.mjs.map +0 -1
  157. package/dist/loaders/plugins/get-enabled-plugins.js +0 -141
  158. package/dist/loaders/plugins/get-enabled-plugins.js.map +0 -1
  159. package/dist/loaders/plugins/get-enabled-plugins.mjs +0 -117
  160. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +0 -1
  161. package/dist/loaders/plugins/get-user-plugins-config.js +0 -27
  162. package/dist/loaders/plugins/get-user-plugins-config.js.map +0 -1
  163. package/dist/loaders/plugins/get-user-plugins-config.mjs +0 -25
  164. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +0 -1
  165. package/dist/loaders/plugins/index.js +0 -145
  166. package/dist/loaders/plugins/index.js.map +0 -1
  167. package/dist/loaders/plugins/index.mjs +0 -125
  168. package/dist/loaders/plugins/index.mjs.map +0 -1
  169. package/dist/loaders/policies.js +0 -25
  170. package/dist/loaders/policies.js.map +0 -1
  171. package/dist/loaders/policies.mjs +0 -24
  172. package/dist/loaders/policies.mjs.map +0 -1
  173. package/dist/loaders/sanitizers.js +0 -6
  174. package/dist/loaders/sanitizers.js.map +0 -1
  175. package/dist/loaders/sanitizers.mjs +0 -7
  176. package/dist/loaders/sanitizers.mjs.map +0 -1
  177. package/dist/loaders/src-index.js +0 -33
  178. package/dist/loaders/src-index.js.map +0 -1
  179. package/dist/loaders/src-index.mjs +0 -34
  180. package/dist/loaders/src-index.mjs.map +0 -1
  181. package/dist/loaders/validators.js +0 -6
  182. package/dist/loaders/validators.js.map +0 -1
  183. package/dist/loaders/validators.mjs +0 -7
  184. package/dist/loaders/validators.mjs.map +0 -1
  185. package/dist/middlewares/body.js +0 -65
  186. package/dist/middlewares/body.js.map +0 -1
  187. package/dist/middlewares/body.mjs +0 -61
  188. package/dist/middlewares/body.mjs.map +0 -1
  189. package/dist/middlewares/compression.js +0 -8
  190. package/dist/middlewares/compression.js.map +0 -1
  191. package/dist/middlewares/compression.mjs +0 -6
  192. package/dist/middlewares/compression.mjs.map +0 -1
  193. package/dist/middlewares/cors.js +0 -53
  194. package/dist/middlewares/cors.js.map +0 -1
  195. package/dist/middlewares/cors.mjs +0 -51
  196. package/dist/middlewares/cors.mjs.map +0 -1
  197. package/dist/middlewares/errors.js +0 -33
  198. package/dist/middlewares/errors.js.map +0 -1
  199. package/dist/middlewares/errors.mjs +0 -33
  200. package/dist/middlewares/errors.mjs.map +0 -1
  201. package/dist/middlewares/favicon.js +0 -22
  202. package/dist/middlewares/favicon.js.map +0 -1
  203. package/dist/middlewares/favicon.mjs +0 -20
  204. package/dist/middlewares/favicon.mjs.map +0 -1
  205. package/dist/middlewares/index.js +0 -34
  206. package/dist/middlewares/index.js.map +0 -1
  207. package/dist/middlewares/index.mjs +0 -34
  208. package/dist/middlewares/index.mjs.map +0 -1
  209. package/dist/middlewares/ip.js +0 -8
  210. package/dist/middlewares/ip.js.map +0 -1
  211. package/dist/middlewares/ip.mjs +0 -6
  212. package/dist/middlewares/ip.mjs.map +0 -1
  213. package/dist/middlewares/logger.js +0 -12
  214. package/dist/middlewares/logger.js.map +0 -1
  215. package/dist/middlewares/logger.mjs +0 -12
  216. package/dist/middlewares/logger.mjs.map +0 -1
  217. package/dist/middlewares/powered-by.js +0 -14
  218. package/dist/middlewares/powered-by.js.map +0 -1
  219. package/dist/middlewares/powered-by.mjs +0 -14
  220. package/dist/middlewares/powered-by.mjs.map +0 -1
  221. package/dist/middlewares/public.js +0 -34
  222. package/dist/middlewares/public.js.map +0 -1
  223. package/dist/middlewares/public.mjs +0 -32
  224. package/dist/middlewares/public.mjs.map +0 -1
  225. package/dist/middlewares/query.js +0 -40
  226. package/dist/middlewares/query.js.map +0 -1
  227. package/dist/middlewares/query.mjs +0 -38
  228. package/dist/middlewares/query.mjs.map +0 -1
  229. package/dist/middlewares/response-time.js +0 -12
  230. package/dist/middlewares/response-time.js.map +0 -1
  231. package/dist/middlewares/response-time.mjs +0 -12
  232. package/dist/middlewares/response-time.mjs.map +0 -1
  233. package/dist/middlewares/responses.js +0 -15
  234. package/dist/middlewares/responses.js.map +0 -1
  235. package/dist/middlewares/responses.mjs +0 -15
  236. package/dist/middlewares/responses.mjs.map +0 -1
  237. package/dist/middlewares/security.js +0 -78
  238. package/dist/middlewares/security.js.map +0 -1
  239. package/dist/middlewares/security.mjs +0 -76
  240. package/dist/middlewares/security.mjs.map +0 -1
  241. package/dist/middlewares/session.js +0 -30
  242. package/dist/middlewares/session.js.map +0 -1
  243. package/dist/middlewares/session.mjs +0 -28
  244. package/dist/middlewares/session.mjs.map +0 -1
  245. package/dist/migrations/database/5.0.0-discard-drafts.js +0 -106
  246. package/dist/migrations/database/5.0.0-discard-drafts.js.map +0 -1
  247. package/dist/migrations/database/5.0.0-discard-drafts.mjs +0 -106
  248. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +0 -1
  249. package/dist/migrations/draft-publish.js +0 -42
  250. package/dist/migrations/draft-publish.js.map +0 -1
  251. package/dist/migrations/draft-publish.mjs +0 -42
  252. package/dist/migrations/draft-publish.mjs.map +0 -1
  253. package/dist/migrations/i18n.js +0 -54
  254. package/dist/migrations/i18n.js.map +0 -1
  255. package/dist/migrations/i18n.mjs +0 -54
  256. package/dist/migrations/i18n.mjs.map +0 -1
  257. package/dist/migrations/index.js +0 -15
  258. package/dist/migrations/index.js.map +0 -1
  259. package/dist/migrations/index.mjs +0 -15
  260. package/dist/migrations/index.mjs.map +0 -1
  261. package/dist/providers/admin.js +0 -20
  262. package/dist/providers/admin.js.map +0 -1
  263. package/dist/providers/admin.mjs +0 -21
  264. package/dist/providers/admin.mjs.map +0 -1
  265. package/dist/providers/coreStore.js +0 -11
  266. package/dist/providers/coreStore.js.map +0 -1
  267. package/dist/providers/coreStore.mjs +0 -12
  268. package/dist/providers/coreStore.mjs.map +0 -1
  269. package/dist/providers/cron.js +0 -20
  270. package/dist/providers/cron.js.map +0 -1
  271. package/dist/providers/cron.mjs +0 -21
  272. package/dist/providers/cron.mjs.map +0 -1
  273. package/dist/providers/index.js +0 -11
  274. package/dist/providers/index.js.map +0 -1
  275. package/dist/providers/index.mjs +0 -11
  276. package/dist/providers/index.mjs.map +0 -1
  277. package/dist/providers/provider.js +0 -5
  278. package/dist/providers/provider.js.map +0 -1
  279. package/dist/providers/provider.mjs +0 -5
  280. package/dist/providers/provider.mjs.map +0 -1
  281. package/dist/providers/registries.js +0 -35
  282. package/dist/providers/registries.js.map +0 -1
  283. package/dist/providers/registries.mjs +0 -36
  284. package/dist/providers/registries.mjs.map +0 -1
  285. package/dist/providers/telemetry.js +0 -19
  286. package/dist/providers/telemetry.js.map +0 -1
  287. package/dist/providers/telemetry.mjs +0 -20
  288. package/dist/providers/telemetry.mjs.map +0 -1
  289. package/dist/providers/webhooks.js +0 -30
  290. package/dist/providers/webhooks.js.map +0 -1
  291. package/dist/providers/webhooks.mjs +0 -31
  292. package/dist/providers/webhooks.mjs.map +0 -1
  293. package/dist/registries/apis.js +0 -23
  294. package/dist/registries/apis.js.map +0 -1
  295. package/dist/registries/apis.mjs +0 -24
  296. package/dist/registries/apis.mjs.map +0 -1
  297. package/dist/registries/components.js +0 -45
  298. package/dist/registries/components.js.map +0 -1
  299. package/dist/registries/components.mjs +0 -46
  300. package/dist/registries/components.mjs.map +0 -1
  301. package/dist/registries/content-types.js +0 -70
  302. package/dist/registries/content-types.js.map +0 -1
  303. package/dist/registries/content-types.mjs +0 -71
  304. package/dist/registries/content-types.mjs.map +0 -1
  305. package/dist/registries/controllers.js +0 -80
  306. package/dist/registries/controllers.js.map +0 -1
  307. package/dist/registries/controllers.mjs +0 -81
  308. package/dist/registries/controllers.mjs.map +0 -1
  309. package/dist/registries/custom-fields.js +0 -71
  310. package/dist/registries/custom-fields.js.map +0 -1
  311. package/dist/registries/custom-fields.mjs +0 -72
  312. package/dist/registries/custom-fields.mjs.map +0 -1
  313. package/dist/registries/hooks.js +0 -58
  314. package/dist/registries/hooks.js.map +0 -1
  315. package/dist/registries/hooks.mjs +0 -59
  316. package/dist/registries/hooks.mjs.map +0 -1
  317. package/dist/registries/middlewares.js +0 -60
  318. package/dist/registries/middlewares.js.map +0 -1
  319. package/dist/registries/middlewares.mjs +0 -61
  320. package/dist/registries/middlewares.mjs.map +0 -1
  321. package/dist/registries/models.js +0 -16
  322. package/dist/registries/models.js.map +0 -1
  323. package/dist/registries/models.mjs +0 -16
  324. package/dist/registries/models.mjs.map +0 -1
  325. package/dist/registries/modules.js +0 -39
  326. package/dist/registries/modules.js.map +0 -1
  327. package/dist/registries/modules.mjs +0 -40
  328. package/dist/registries/modules.mjs.map +0 -1
  329. package/dist/registries/namespace.js +0 -27
  330. package/dist/registries/namespace.js.map +0 -1
  331. package/dist/registries/namespace.mjs +0 -27
  332. package/dist/registries/namespace.mjs.map +0 -1
  333. package/dist/registries/plugins.js +0 -23
  334. package/dist/registries/plugins.js.map +0 -1
  335. package/dist/registries/plugins.mjs +0 -24
  336. package/dist/registries/plugins.mjs.map +0 -1
  337. package/dist/registries/policies.js +0 -108
  338. package/dist/registries/policies.js.map +0 -1
  339. package/dist/registries/policies.mjs +0 -109
  340. package/dist/registries/policies.mjs.map +0 -1
  341. package/dist/registries/sanitizers.js +0 -25
  342. package/dist/registries/sanitizers.js.map +0 -1
  343. package/dist/registries/sanitizers.mjs +0 -24
  344. package/dist/registries/sanitizers.mjs.map +0 -1
  345. package/dist/registries/services.js +0 -80
  346. package/dist/registries/services.js.map +0 -1
  347. package/dist/registries/services.mjs +0 -81
  348. package/dist/registries/services.mjs.map +0 -1
  349. package/dist/registries/validators.js +0 -25
  350. package/dist/registries/validators.js.map +0 -1
  351. package/dist/registries/validators.mjs +0 -24
  352. package/dist/registries/validators.mjs.map +0 -1
  353. package/dist/services/auth/index.js +0 -81
  354. package/dist/services/auth/index.js.map +0 -1
  355. package/dist/services/auth/index.mjs +0 -80
  356. package/dist/services/auth/index.mjs.map +0 -1
  357. package/dist/services/config.js +0 -47
  358. package/dist/services/config.js.map +0 -1
  359. package/dist/services/config.mjs +0 -47
  360. package/dist/services/config.mjs.map +0 -1
  361. package/dist/services/content-api/index.js +0 -85
  362. package/dist/services/content-api/index.js.map +0 -1
  363. package/dist/services/content-api/index.mjs +0 -84
  364. package/dist/services/content-api/index.mjs.map +0 -1
  365. package/dist/services/content-api/permissions/engine.js +0 -7
  366. package/dist/services/content-api/permissions/engine.js.map +0 -1
  367. package/dist/services/content-api/permissions/engine.mjs +0 -6
  368. package/dist/services/content-api/permissions/engine.mjs.map +0 -1
  369. package/dist/services/content-api/permissions/index.js +0 -87
  370. package/dist/services/content-api/permissions/index.js.map +0 -1
  371. package/dist/services/content-api/permissions/index.mjs +0 -86
  372. package/dist/services/content-api/permissions/index.mjs.map +0 -1
  373. package/dist/services/content-api/permissions/providers/action.js +0 -16
  374. package/dist/services/content-api/permissions/providers/action.js.map +0 -1
  375. package/dist/services/content-api/permissions/providers/action.mjs +0 -17
  376. package/dist/services/content-api/permissions/providers/action.mjs.map +0 -1
  377. package/dist/services/content-api/permissions/providers/condition.js +0 -16
  378. package/dist/services/content-api/permissions/providers/condition.js.map +0 -1
  379. package/dist/services/content-api/permissions/providers/condition.mjs +0 -17
  380. package/dist/services/content-api/permissions/providers/condition.mjs.map +0 -1
  381. package/dist/services/core-store.js +0 -107
  382. package/dist/services/core-store.js.map +0 -1
  383. package/dist/services/core-store.mjs +0 -107
  384. package/dist/services/core-store.mjs.map +0 -1
  385. package/dist/services/cron.js +0 -68
  386. package/dist/services/cron.js.map +0 -1
  387. package/dist/services/cron.mjs +0 -69
  388. package/dist/services/cron.mjs.map +0 -1
  389. package/dist/services/custom-fields.js +0 -10
  390. package/dist/services/custom-fields.js.map +0 -1
  391. package/dist/services/custom-fields.mjs +0 -11
  392. package/dist/services/custom-fields.mjs.map +0 -1
  393. package/dist/services/document-service/attributes/index.js +0 -22
  394. package/dist/services/document-service/attributes/index.js.map +0 -1
  395. package/dist/services/document-service/attributes/index.mjs +0 -22
  396. package/dist/services/document-service/attributes/index.mjs.map +0 -1
  397. package/dist/services/document-service/attributes/transforms.js +0 -20
  398. package/dist/services/document-service/attributes/transforms.js.map +0 -1
  399. package/dist/services/document-service/attributes/transforms.mjs +0 -19
  400. package/dist/services/document-service/attributes/transforms.mjs.map +0 -1
  401. package/dist/services/document-service/common.js +0 -7
  402. package/dist/services/document-service/common.js.map +0 -1
  403. package/dist/services/document-service/common.mjs +0 -7
  404. package/dist/services/document-service/common.mjs.map +0 -1
  405. package/dist/services/document-service/components.js +0 -288
  406. package/dist/services/document-service/components.js.map +0 -1
  407. package/dist/services/document-service/components.mjs +0 -286
  408. package/dist/services/document-service/components.mjs.map +0 -1
  409. package/dist/services/document-service/draft-and-publish.js +0 -69
  410. package/dist/services/document-service/draft-and-publish.js.map +0 -1
  411. package/dist/services/document-service/draft-and-publish.mjs +0 -69
  412. package/dist/services/document-service/draft-and-publish.mjs.map +0 -1
  413. package/dist/services/document-service/entries.js +0 -95
  414. package/dist/services/document-service/entries.js.map +0 -1
  415. package/dist/services/document-service/entries.mjs +0 -95
  416. package/dist/services/document-service/entries.mjs.map +0 -1
  417. package/dist/services/document-service/events.js +0 -47
  418. package/dist/services/document-service/events.js.map +0 -1
  419. package/dist/services/document-service/events.mjs +0 -47
  420. package/dist/services/document-service/events.mjs.map +0 -1
  421. package/dist/services/document-service/index.js +0 -36
  422. package/dist/services/document-service/index.js.map +0 -1
  423. package/dist/services/document-service/index.mjs +0 -36
  424. package/dist/services/document-service/index.mjs.map +0 -1
  425. package/dist/services/document-service/internationalization.js +0 -63
  426. package/dist/services/document-service/internationalization.js.map +0 -1
  427. package/dist/services/document-service/internationalization.mjs +0 -63
  428. package/dist/services/document-service/internationalization.mjs.map +0 -1
  429. package/dist/services/document-service/middlewares/errors.js +0 -25
  430. package/dist/services/document-service/middlewares/errors.js.map +0 -1
  431. package/dist/services/document-service/middlewares/errors.mjs +0 -25
  432. package/dist/services/document-service/middlewares/errors.mjs.map +0 -1
  433. package/dist/services/document-service/middlewares/middleware-manager.js +0 -49
  434. package/dist/services/document-service/middlewares/middleware-manager.js.map +0 -1
  435. package/dist/services/document-service/middlewares/middleware-manager.mjs +0 -49
  436. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +0 -1
  437. package/dist/services/document-service/params.js +0 -8
  438. package/dist/services/document-service/params.js.map +0 -1
  439. package/dist/services/document-service/params.mjs +0 -8
  440. package/dist/services/document-service/params.mjs.map +0 -1
  441. package/dist/services/document-service/repository.js +0 -329
  442. package/dist/services/document-service/repository.js.map +0 -1
  443. package/dist/services/document-service/repository.mjs +0 -329
  444. package/dist/services/document-service/repository.mjs.map +0 -1
  445. package/dist/services/document-service/transform/data.js +0 -15
  446. package/dist/services/document-service/transform/data.js.map +0 -1
  447. package/dist/services/document-service/transform/data.mjs +0 -15
  448. package/dist/services/document-service/transform/data.mjs.map +0 -1
  449. package/dist/services/document-service/transform/fields.js +0 -24
  450. package/dist/services/document-service/transform/fields.js.map +0 -1
  451. package/dist/services/document-service/transform/fields.mjs +0 -24
  452. package/dist/services/document-service/transform/fields.mjs.map +0 -1
  453. package/dist/services/document-service/transform/id-map.js +0 -87
  454. package/dist/services/document-service/transform/id-map.js.map +0 -1
  455. package/dist/services/document-service/transform/id-map.mjs +0 -87
  456. package/dist/services/document-service/transform/id-map.mjs.map +0 -1
  457. package/dist/services/document-service/transform/id-transform.js +0 -33
  458. package/dist/services/document-service/transform/id-transform.js.map +0 -1
  459. package/dist/services/document-service/transform/id-transform.mjs +0 -33
  460. package/dist/services/document-service/transform/id-transform.mjs.map +0 -1
  461. package/dist/services/document-service/transform/populate.js +0 -21
  462. package/dist/services/document-service/transform/populate.js.map +0 -1
  463. package/dist/services/document-service/transform/populate.mjs +0 -21
  464. package/dist/services/document-service/transform/populate.mjs.map +0 -1
  465. package/dist/services/document-service/transform/query.js +0 -9
  466. package/dist/services/document-service/transform/query.js.map +0 -1
  467. package/dist/services/document-service/transform/query.mjs +0 -9
  468. package/dist/services/document-service/transform/query.mjs.map +0 -1
  469. package/dist/services/document-service/transform/relations/extract/data-ids.js +0 -57
  470. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +0 -1
  471. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +0 -57
  472. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +0 -1
  473. package/dist/services/document-service/transform/relations/transform/data-ids.js +0 -76
  474. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +0 -1
  475. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +0 -76
  476. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +0 -1
  477. package/dist/services/document-service/transform/relations/transform/default-locale.js +0 -32
  478. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +0 -1
  479. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +0 -32
  480. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +0 -1
  481. package/dist/services/document-service/transform/relations/utils/dp.js +0 -30
  482. package/dist/services/document-service/transform/relations/utils/dp.js.map +0 -1
  483. package/dist/services/document-service/transform/relations/utils/dp.mjs +0 -30
  484. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +0 -1
  485. package/dist/services/document-service/transform/relations/utils/i18n.js +0 -25
  486. package/dist/services/document-service/transform/relations/utils/i18n.js.map +0 -1
  487. package/dist/services/document-service/transform/relations/utils/i18n.mjs +0 -25
  488. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +0 -1
  489. package/dist/services/document-service/transform/relations/utils/map-relation.js +0 -91
  490. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +0 -1
  491. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +0 -91
  492. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +0 -1
  493. package/dist/services/document-service/utils/populate.js +0 -47
  494. package/dist/services/document-service/utils/populate.js.map +0 -1
  495. package/dist/services/document-service/utils/populate.mjs +0 -47
  496. package/dist/services/document-service/utils/populate.mjs.map +0 -1
  497. package/dist/services/document-service/utils/unidirectional-relations.js +0 -69
  498. package/dist/services/document-service/utils/unidirectional-relations.js.map +0 -1
  499. package/dist/services/document-service/utils/unidirectional-relations.mjs +0 -69
  500. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +0 -1
  501. package/dist/services/entity-service/index.js +0 -169
  502. package/dist/services/entity-service/index.js.map +0 -1
  503. package/dist/services/entity-service/index.mjs +0 -167
  504. package/dist/services/entity-service/index.mjs.map +0 -1
  505. package/dist/services/entity-validator/blocks-validator.js +0 -128
  506. package/dist/services/entity-validator/blocks-validator.js.map +0 -1
  507. package/dist/services/entity-validator/blocks-validator.mjs +0 -128
  508. package/dist/services/entity-validator/blocks-validator.mjs.map +0 -1
  509. package/dist/services/entity-validator/index.js +0 -389
  510. package/dist/services/entity-validator/index.js.map +0 -1
  511. package/dist/services/entity-validator/index.mjs +0 -388
  512. package/dist/services/entity-validator/index.mjs.map +0 -1
  513. package/dist/services/entity-validator/validators.js +0 -241
  514. package/dist/services/entity-validator/validators.js.map +0 -1
  515. package/dist/services/entity-validator/validators.mjs +0 -239
  516. package/dist/services/entity-validator/validators.mjs.map +0 -1
  517. package/dist/services/errors.js +0 -76
  518. package/dist/services/errors.js.map +0 -1
  519. package/dist/services/errors.mjs +0 -74
  520. package/dist/services/errors.mjs.map +0 -1
  521. package/dist/services/event-hub.js +0 -72
  522. package/dist/services/event-hub.js.map +0 -1
  523. package/dist/services/event-hub.mjs +0 -73
  524. package/dist/services/event-hub.mjs.map +0 -1
  525. package/dist/services/features.js +0 -17
  526. package/dist/services/features.js.map +0 -1
  527. package/dist/services/features.mjs +0 -17
  528. package/dist/services/features.mjs.map +0 -1
  529. package/dist/services/fs.js +0 -51
  530. package/dist/services/fs.js.map +0 -1
  531. package/dist/services/fs.mjs +0 -49
  532. package/dist/services/fs.mjs.map +0 -1
  533. package/dist/services/metrics/admin-user-hash.js +0 -14
  534. package/dist/services/metrics/admin-user-hash.js.map +0 -1
  535. package/dist/services/metrics/admin-user-hash.mjs +0 -12
  536. package/dist/services/metrics/admin-user-hash.mjs.map +0 -1
  537. package/dist/services/metrics/index.js +0 -45
  538. package/dist/services/metrics/index.js.map +0 -1
  539. package/dist/services/metrics/index.mjs +0 -46
  540. package/dist/services/metrics/index.mjs.map +0 -1
  541. package/dist/services/metrics/is-truthy.js +0 -9
  542. package/dist/services/metrics/is-truthy.js.map +0 -1
  543. package/dist/services/metrics/is-truthy.mjs +0 -8
  544. package/dist/services/metrics/is-truthy.mjs.map +0 -1
  545. package/dist/services/metrics/middleware.js +0 -25
  546. package/dist/services/metrics/middleware.js.map +0 -1
  547. package/dist/services/metrics/middleware.mjs +0 -26
  548. package/dist/services/metrics/middleware.mjs.map +0 -1
  549. package/dist/services/metrics/rate-limiter.js +0 -21
  550. package/dist/services/metrics/rate-limiter.js.map +0 -1
  551. package/dist/services/metrics/rate-limiter.mjs +0 -22
  552. package/dist/services/metrics/rate-limiter.mjs.map +0 -1
  553. package/dist/services/metrics/sender.js +0 -76
  554. package/dist/services/metrics/sender.js.map +0 -1
  555. package/dist/services/metrics/sender.mjs +0 -70
  556. package/dist/services/metrics/sender.mjs.map +0 -1
  557. package/dist/services/query-params.js +0 -12
  558. package/dist/services/query-params.js.map +0 -1
  559. package/dist/services/query-params.mjs +0 -13
  560. package/dist/services/query-params.mjs.map +0 -1
  561. package/dist/services/reloader.js +0 -36
  562. package/dist/services/reloader.js.map +0 -1
  563. package/dist/services/reloader.mjs +0 -36
  564. package/dist/services/reloader.mjs.map +0 -1
  565. package/dist/services/request-context.js +0 -13
  566. package/dist/services/request-context.js.map +0 -1
  567. package/dist/services/request-context.mjs +0 -14
  568. package/dist/services/request-context.mjs.map +0 -1
  569. package/dist/services/server/admin-api.js +0 -13
  570. package/dist/services/server/admin-api.js.map +0 -1
  571. package/dist/services/server/admin-api.mjs +0 -13
  572. package/dist/services/server/admin-api.mjs.map +0 -1
  573. package/dist/services/server/api.js +0 -30
  574. package/dist/services/server/api.js.map +0 -1
  575. package/dist/services/server/api.mjs +0 -28
  576. package/dist/services/server/api.mjs.map +0 -1
  577. package/dist/services/server/compose-endpoint.js +0 -117
  578. package/dist/services/server/compose-endpoint.js.map +0 -1
  579. package/dist/services/server/compose-endpoint.mjs +0 -116
  580. package/dist/services/server/compose-endpoint.mjs.map +0 -1
  581. package/dist/services/server/content-api.js +0 -12
  582. package/dist/services/server/content-api.js.map +0 -1
  583. package/dist/services/server/content-api.mjs +0 -12
  584. package/dist/services/server/content-api.mjs.map +0 -1
  585. package/dist/services/server/http-server.js +0 -50
  586. package/dist/services/server/http-server.js.map +0 -1
  587. package/dist/services/server/http-server.mjs +0 -48
  588. package/dist/services/server/http-server.mjs.map +0 -1
  589. package/dist/services/server/index.js +0 -87
  590. package/dist/services/server/index.js.map +0 -1
  591. package/dist/services/server/index.mjs +0 -85
  592. package/dist/services/server/index.mjs.map +0 -1
  593. package/dist/services/server/koa.js +0 -52
  594. package/dist/services/server/koa.js.map +0 -1
  595. package/dist/services/server/koa.mjs +0 -48
  596. package/dist/services/server/koa.mjs.map +0 -1
  597. package/dist/services/server/middleware.js +0 -92
  598. package/dist/services/server/middleware.js.map +0 -1
  599. package/dist/services/server/middleware.mjs +0 -90
  600. package/dist/services/server/middleware.mjs.map +0 -1
  601. package/dist/services/server/policy.js +0 -20
  602. package/dist/services/server/policy.js.map +0 -1
  603. package/dist/services/server/policy.mjs +0 -20
  604. package/dist/services/server/policy.mjs.map +0 -1
  605. package/dist/services/server/register-middlewares.js +0 -72
  606. package/dist/services/server/register-middlewares.js.map +0 -1
  607. package/dist/services/server/register-middlewares.mjs +0 -73
  608. package/dist/services/server/register-middlewares.mjs.map +0 -1
  609. package/dist/services/server/register-routes.js +0 -76
  610. package/dist/services/server/register-routes.js.map +0 -1
  611. package/dist/services/server/register-routes.mjs +0 -75
  612. package/dist/services/server/register-routes.mjs.map +0 -1
  613. package/dist/services/server/routing.js +0 -91
  614. package/dist/services/server/routing.js.map +0 -1
  615. package/dist/services/server/routing.mjs +0 -89
  616. package/dist/services/server/routing.mjs.map +0 -1
  617. package/dist/services/utils/dynamic-zones.js +0 -17
  618. package/dist/services/utils/dynamic-zones.js.map +0 -1
  619. package/dist/services/utils/dynamic-zones.mjs +0 -18
  620. package/dist/services/utils/dynamic-zones.mjs.map +0 -1
  621. package/dist/services/webhook-runner.js +0 -133
  622. package/dist/services/webhook-runner.js.map +0 -1
  623. package/dist/services/webhook-runner.mjs +0 -131
  624. package/dist/services/webhook-runner.mjs.map +0 -1
  625. package/dist/services/webhook-store.js +0 -110
  626. package/dist/services/webhook-store.js.map +0 -1
  627. package/dist/services/webhook-store.mjs +0 -110
  628. package/dist/services/webhook-store.mjs.map +0 -1
  629. package/dist/services/worker-queue.js +0 -56
  630. package/dist/services/worker-queue.js.map +0 -1
  631. package/dist/services/worker-queue.mjs +0 -55
  632. package/dist/services/worker-queue.mjs.map +0 -1
  633. package/dist/utils/convert-custom-field-type.js +0 -24
  634. package/dist/utils/convert-custom-field-type.js.map +0 -1
  635. package/dist/utils/convert-custom-field-type.mjs +0 -24
  636. package/dist/utils/convert-custom-field-type.mjs.map +0 -1
  637. package/dist/utils/cron.js +0 -38
  638. package/dist/utils/cron.js.map +0 -1
  639. package/dist/utils/cron.mjs +0 -38
  640. package/dist/utils/cron.mjs.map +0 -1
  641. package/dist/utils/fetch.js +0 -21
  642. package/dist/utils/fetch.js.map +0 -1
  643. package/dist/utils/fetch.mjs +0 -21
  644. package/dist/utils/fetch.mjs.map +0 -1
  645. package/dist/utils/filepath-to-prop-path.js +0 -33
  646. package/dist/utils/filepath-to-prop-path.js.map +0 -1
  647. package/dist/utils/filepath-to-prop-path.mjs +0 -30
  648. package/dist/utils/filepath-to-prop-path.mjs.map +0 -1
  649. package/dist/utils/is-initialized.js +0 -16
  650. package/dist/utils/is-initialized.js.map +0 -1
  651. package/dist/utils/is-initialized.mjs +0 -16
  652. package/dist/utils/is-initialized.mjs.map +0 -1
  653. package/dist/utils/lifecycles.js +0 -9
  654. package/dist/utils/lifecycles.js.map +0 -1
  655. package/dist/utils/lifecycles.mjs +0 -9
  656. package/dist/utils/lifecycles.mjs.map +0 -1
  657. package/dist/utils/load-config-file.js +0 -45
  658. package/dist/utils/load-config-file.js.map +0 -1
  659. package/dist/utils/load-config-file.mjs +0 -42
  660. package/dist/utils/load-config-file.mjs.map +0 -1
  661. package/dist/utils/load-files.js +0 -39
  662. package/dist/utils/load-files.js.map +0 -1
  663. package/dist/utils/load-files.mjs +0 -35
  664. package/dist/utils/load-files.mjs.map +0 -1
  665. package/dist/utils/open-browser.js +0 -11
  666. package/dist/utils/open-browser.js.map +0 -1
  667. package/dist/utils/open-browser.mjs +0 -9
  668. package/dist/utils/open-browser.mjs.map +0 -1
  669. package/dist/utils/resolve-working-dirs.js +0 -13
  670. package/dist/utils/resolve-working-dirs.js.map +0 -1
  671. package/dist/utils/resolve-working-dirs.mjs +0 -11
  672. package/dist/utils/resolve-working-dirs.mjs.map +0 -1
  673. package/dist/utils/signals.js +0 -17
  674. package/dist/utils/signals.js.map +0 -1
  675. package/dist/utils/signals.mjs +0 -17
  676. package/dist/utils/signals.mjs.map +0 -1
  677. package/dist/utils/startup-logger.js +0 -81
  678. package/dist/utils/startup-logger.js.map +0 -1
  679. package/dist/utils/startup-logger.mjs +0 -77
  680. package/dist/utils/startup-logger.mjs.map +0 -1
  681. package/dist/utils/transform-content-types-to-models.js +0 -288
  682. package/dist/utils/transform-content-types-to-models.js.map +0 -1
  683. package/dist/utils/transform-content-types-to-models.mjs +0 -285
  684. package/dist/utils/transform-content-types-to-models.mjs.map +0 -1
  685. package/dist/utils/update-notifier/index.js +0 -85
  686. package/dist/utils/update-notifier/index.js.map +0 -1
  687. package/dist/utils/update-notifier/index.mjs +0 -78
  688. package/dist/utils/update-notifier/index.mjs.map +0 -1
@@ -1,108 +0,0 @@
1
- "use strict";
2
- const fp = require("lodash/fp");
3
- const namespace = require("./namespace.js");
4
- const PLUGIN_PREFIX = "plugin::";
5
- const API_PREFIX = "api::";
6
- const parsePolicy = (policy) => {
7
- if (typeof policy === "string") {
8
- return { policyName: policy, config: {} };
9
- }
10
- const { name, config } = policy;
11
- return { policyName: name, config };
12
- };
13
- const policiesRegistry = () => {
14
- const policies = /* @__PURE__ */ new Map();
15
- const find = (name, namespaceInfo) => {
16
- const { pluginName, apiName } = namespaceInfo ?? {};
17
- const policy = policies.get(name);
18
- if (policy) {
19
- return policy;
20
- }
21
- if (pluginName) {
22
- return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);
23
- }
24
- if (apiName) {
25
- return policies.get(`${API_PREFIX}${apiName}.${name}`);
26
- }
27
- };
28
- function resolveHandler(policyConfig, namespaceInfo) {
29
- if (Array.isArray(policyConfig)) {
30
- return policyConfig.map((config2) => {
31
- return resolveHandler(config2, namespaceInfo);
32
- });
33
- }
34
- const { policyName, config } = parsePolicy(policyConfig);
35
- const policy = find(policyName, namespaceInfo);
36
- if (!policy) {
37
- throw new Error(`Policy ${policyName} not found.`);
38
- }
39
- if (typeof policy === "function") {
40
- return policy;
41
- }
42
- if (policy.validator) {
43
- policy.validator(config);
44
- }
45
- return policy.handler;
46
- }
47
- return {
48
- /**
49
- * Returns this list of registered policies uids
50
- */
51
- keys() {
52
- return Array.from(policies.keys());
53
- },
54
- /**
55
- * Returns the instance of a policy. Instantiate the policy if not already done
56
- */
57
- get(name, namespaceInfo) {
58
- return find(name, namespaceInfo);
59
- },
60
- /**
61
- * Checks if a policy is registered
62
- */
63
- has(name, namespaceInfo) {
64
- const res = find(name, namespaceInfo);
65
- return !!res;
66
- },
67
- /**
68
- * Returns a map with all the policies in a namespace
69
- */
70
- getAll(namespace$1) {
71
- return fp.pickBy((_, uid) => namespace.hasNamespace(uid, namespace$1))(Object.fromEntries(policies));
72
- },
73
- /**
74
- * Registers a policy
75
- */
76
- set(uid, policy) {
77
- policies.set(uid, policy);
78
- return this;
79
- },
80
- /**
81
- * Registers a map of policies for a specific namespace
82
- */
83
- add(namespace$1, newPolicies) {
84
- for (const policyName of Object.keys(newPolicies)) {
85
- const policy = newPolicies[policyName];
86
- const uid = namespace.addNamespace(policyName, namespace$1);
87
- if (fp.has(uid, policies)) {
88
- throw new Error(`Policy ${uid} has already been registered.`);
89
- }
90
- policies.set(uid, policy);
91
- }
92
- },
93
- /**
94
- * Resolves a list of policies
95
- */
96
- resolve(config, namespaceInfo) {
97
- const { pluginName, apiName } = namespaceInfo ?? {};
98
- return fp.castArray(config).map((policyConfig) => {
99
- return {
100
- handler: resolveHandler(policyConfig, { pluginName, apiName }),
101
- config: typeof policyConfig === "object" && policyConfig.config || {}
102
- };
103
- });
104
- }
105
- };
106
- };
107
- module.exports = policiesRegistry;
108
- //# sourceMappingURL=policies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policies.js","sources":["../../src/registries/policies.ts"],"sourcesContent":["import { pickBy, has, castArray } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nconst PLUGIN_PREFIX = 'plugin::';\nconst API_PREFIX = 'api::';\n\ninterface PolicyInfo {\n name: string;\n config: unknown;\n}\n\ntype PolicyConfig = string | PolicyInfo;\n\ninterface NamespaceInfo {\n pluginName?: string;\n apiName?: string;\n}\n\nconst parsePolicy = (policy: string | PolicyInfo) => {\n if (typeof policy === 'string') {\n return { policyName: policy, config: {} };\n }\n\n const { name, config } = policy;\n return { policyName: name, config };\n};\n\nconst policiesRegistry = () => {\n const policies = new Map<string, Core.Policy>();\n\n const find = (name: string, namespaceInfo?: NamespaceInfo) => {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n // try to resolve a full name to avoid extra prefixing\n const policy = policies.get(name);\n\n if (policy) {\n return policy;\n }\n\n if (pluginName) {\n return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);\n }\n\n if (apiName) {\n return policies.get(`${API_PREFIX}${apiName}.${name}`);\n }\n };\n\n function resolveHandler(policyConfig: PolicyConfig, namespaceInfo?: NamespaceInfo): Core.Policy;\n function resolveHandler(\n policyConfig: PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy[];\n function resolveHandler(\n policyConfig: PolicyConfig | PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy | Core.Policy[] {\n if (Array.isArray(policyConfig)) {\n return policyConfig.map((config) => {\n return resolveHandler(config, namespaceInfo);\n });\n }\n\n const { policyName, config } = parsePolicy(policyConfig);\n\n const policy = find(policyName, namespaceInfo);\n\n if (!policy) {\n throw new Error(`Policy ${policyName} not found.`);\n }\n\n if (typeof policy === 'function') {\n return policy;\n }\n\n if (policy.validator) {\n policy.validator(config);\n }\n\n return policy.handler;\n }\n\n return {\n /**\n * Returns this list of registered policies uids\n */\n keys() {\n // Return an array so format stays the same as controllers, services, etc\n return Array.from(policies.keys());\n },\n\n /**\n * Returns the instance of a policy. Instantiate the policy if not already done\n */\n get(name: string, namespaceInfo?: NamespaceInfo) {\n return find(name, namespaceInfo);\n },\n /**\n * Checks if a policy is registered\n */\n has(name: string, namespaceInfo?: NamespaceInfo) {\n const res = find(name, namespaceInfo);\n return !!res;\n },\n\n /**\n * Returns a map with all the policies in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(Object.fromEntries(policies));\n },\n\n /**\n * Registers a policy\n */\n set(uid: string, policy: Core.Policy) {\n policies.set(uid, policy);\n return this;\n },\n\n /**\n * Registers a map of policies for a specific namespace\n */\n add(namespace: string, newPolicies: Record<string, Core.Policy>) {\n for (const policyName of Object.keys(newPolicies)) {\n const policy = newPolicies[policyName];\n const uid = addNamespace(policyName, namespace);\n\n if (has(uid, policies)) {\n throw new Error(`Policy ${uid} has already been registered.`);\n }\n\n policies.set(uid, policy);\n }\n },\n\n /**\n * Resolves a list of policies\n */\n resolve(config: PolicyConfig | PolicyConfig[], namespaceInfo?: NamespaceInfo) {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n return castArray(config).map((policyConfig) => {\n return {\n handler: resolveHandler(policyConfig, { pluginName, apiName }),\n config: (typeof policyConfig === 'object' && policyConfig.config) || {},\n };\n });\n },\n };\n};\n\nexport default policiesRegistry;\n"],"names":["config","namespace","pickBy","hasNamespace","addNamespace","has","castArray"],"mappings":";;;AAIA,MAAM,gBAAgB;AACtB,MAAM,aAAa;AAcnB,MAAM,cAAc,CAAC,WAAgC;AAC/C,MAAA,OAAO,WAAW,UAAU;AAC9B,WAAO,EAAE,YAAY,QAAQ,QAAQ,CAAG,EAAA;AAAA,EAC1C;AAEM,QAAA,EAAE,MAAM,OAAW,IAAA;AAClB,SAAA,EAAE,YAAY,MAAM;AAC7B;AAEA,MAAM,mBAAmB,MAAM;AACvB,QAAA,+BAAe;AAEf,QAAA,OAAO,CAAC,MAAc,kBAAkC;AAC5D,UAAM,EAAE,YAAY,YAAY,iBAAiB,CAAA;AAG3C,UAAA,SAAS,SAAS,IAAI,IAAI;AAEhC,QAAI,QAAQ;AACH,aAAA;AAAA,IACT;AAEA,QAAI,YAAY;AACP,aAAA,SAAS,IAAI,GAAG,aAAa,GAAG,UAAU,IAAI,IAAI,EAAE;AAAA,IAC7D;AAEA,QAAI,SAAS;AACJ,aAAA,SAAS,IAAI,GAAG,UAAU,GAAG,OAAO,IAAI,IAAI,EAAE;AAAA,IACvD;AAAA,EAAA;AAQO,WAAA,eACP,cACA,eAC6B;AACzB,QAAA,MAAM,QAAQ,YAAY,GAAG;AACxB,aAAA,aAAa,IAAI,CAACA,YAAW;AAC3B,eAAA,eAAeA,SAAQ,aAAa;AAAA,MAAA,CAC5C;AAAA,IACH;AAEA,UAAM,EAAE,YAAY,OAAO,IAAI,YAAY,YAAY;AAEjD,UAAA,SAAS,KAAK,YAAY,aAAa;AAE7C,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,UAAU,aAAa;AAAA,IACnD;AAEI,QAAA,OAAO,WAAW,YAAY;AACzB,aAAA;AAAA,IACT;AAEA,QAAI,OAAO,WAAW;AACpB,aAAO,UAAU,MAAM;AAAA,IACzB;AAEA,WAAO,OAAO;AAAA,EAChB;AAEO,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAEL,aAAO,MAAM,KAAK,SAAS,KAAM,CAAA;AAAA,IACnC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,MAAc,eAA+B;AACxC,aAAA,KAAK,MAAM,aAAa;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAIA,IAAI,MAAc,eAA+B;AACzC,YAAA,MAAM,KAAK,MAAM,aAAa;AACpC,aAAO,CAAC,CAAC;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOC,aAAmB;AACxB,aAAOC,UAAO,CAAC,GAAG,QAAQC,UAAAA,aAAa,KAAKF,WAAS,CAAC,EAAE,OAAO,YAAY,QAAQ,CAAC;AAAA,IACtF;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,QAAqB;AAC3B,eAAA,IAAI,KAAK,MAAM;AACjB,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmB,aAA0C;AAC/D,iBAAW,cAAc,OAAO,KAAK,WAAW,GAAG;AAC3C,cAAA,SAAS,YAAY,UAAU;AAC/B,cAAA,MAAMG,UAAAA,aAAa,YAAYH,WAAS;AAE1C,YAAAI,GAAA,IAAI,KAAK,QAAQ,GAAG;AACtB,gBAAM,IAAI,MAAM,UAAU,GAAG,+BAA+B;AAAA,QAC9D;AAES,iBAAA,IAAI,KAAK,MAAM;AAAA,MAC1B;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,QAAQ,QAAuC,eAA+B;AAC5E,YAAM,EAAE,YAAY,YAAY,iBAAiB,CAAA;AAEjD,aAAOC,GAAU,UAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB;AACtC,eAAA;AAAA,UACL,SAAS,eAAe,cAAc,EAAE,YAAY,SAAS;AAAA,UAC7D,QAAS,OAAO,iBAAiB,YAAY,aAAa,UAAW,CAAC;AAAA,QAAA;AAAA,MACxE,CACD;AAAA,IACH;AAAA,EAAA;AAEJ;;"}
@@ -1,109 +0,0 @@
1
- import { pickBy, has, castArray } from "lodash/fp";
2
- import { hasNamespace, addNamespace } from "./namespace.mjs";
3
- const PLUGIN_PREFIX = "plugin::";
4
- const API_PREFIX = "api::";
5
- const parsePolicy = (policy) => {
6
- if (typeof policy === "string") {
7
- return { policyName: policy, config: {} };
8
- }
9
- const { name, config } = policy;
10
- return { policyName: name, config };
11
- };
12
- const policiesRegistry = () => {
13
- const policies = /* @__PURE__ */ new Map();
14
- const find = (name, namespaceInfo) => {
15
- const { pluginName, apiName } = namespaceInfo ?? {};
16
- const policy = policies.get(name);
17
- if (policy) {
18
- return policy;
19
- }
20
- if (pluginName) {
21
- return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);
22
- }
23
- if (apiName) {
24
- return policies.get(`${API_PREFIX}${apiName}.${name}`);
25
- }
26
- };
27
- function resolveHandler(policyConfig, namespaceInfo) {
28
- if (Array.isArray(policyConfig)) {
29
- return policyConfig.map((config2) => {
30
- return resolveHandler(config2, namespaceInfo);
31
- });
32
- }
33
- const { policyName, config } = parsePolicy(policyConfig);
34
- const policy = find(policyName, namespaceInfo);
35
- if (!policy) {
36
- throw new Error(`Policy ${policyName} not found.`);
37
- }
38
- if (typeof policy === "function") {
39
- return policy;
40
- }
41
- if (policy.validator) {
42
- policy.validator(config);
43
- }
44
- return policy.handler;
45
- }
46
- return {
47
- /**
48
- * Returns this list of registered policies uids
49
- */
50
- keys() {
51
- return Array.from(policies.keys());
52
- },
53
- /**
54
- * Returns the instance of a policy. Instantiate the policy if not already done
55
- */
56
- get(name, namespaceInfo) {
57
- return find(name, namespaceInfo);
58
- },
59
- /**
60
- * Checks if a policy is registered
61
- */
62
- has(name, namespaceInfo) {
63
- const res = find(name, namespaceInfo);
64
- return !!res;
65
- },
66
- /**
67
- * Returns a map with all the policies in a namespace
68
- */
69
- getAll(namespace) {
70
- return pickBy((_, uid) => hasNamespace(uid, namespace))(Object.fromEntries(policies));
71
- },
72
- /**
73
- * Registers a policy
74
- */
75
- set(uid, policy) {
76
- policies.set(uid, policy);
77
- return this;
78
- },
79
- /**
80
- * Registers a map of policies for a specific namespace
81
- */
82
- add(namespace, newPolicies) {
83
- for (const policyName of Object.keys(newPolicies)) {
84
- const policy = newPolicies[policyName];
85
- const uid = addNamespace(policyName, namespace);
86
- if (has(uid, policies)) {
87
- throw new Error(`Policy ${uid} has already been registered.`);
88
- }
89
- policies.set(uid, policy);
90
- }
91
- },
92
- /**
93
- * Resolves a list of policies
94
- */
95
- resolve(config, namespaceInfo) {
96
- const { pluginName, apiName } = namespaceInfo ?? {};
97
- return castArray(config).map((policyConfig) => {
98
- return {
99
- handler: resolveHandler(policyConfig, { pluginName, apiName }),
100
- config: typeof policyConfig === "object" && policyConfig.config || {}
101
- };
102
- });
103
- }
104
- };
105
- };
106
- export {
107
- policiesRegistry as default
108
- };
109
- //# sourceMappingURL=policies.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policies.mjs","sources":["../../src/registries/policies.ts"],"sourcesContent":["import { pickBy, has, castArray } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nconst PLUGIN_PREFIX = 'plugin::';\nconst API_PREFIX = 'api::';\n\ninterface PolicyInfo {\n name: string;\n config: unknown;\n}\n\ntype PolicyConfig = string | PolicyInfo;\n\ninterface NamespaceInfo {\n pluginName?: string;\n apiName?: string;\n}\n\nconst parsePolicy = (policy: string | PolicyInfo) => {\n if (typeof policy === 'string') {\n return { policyName: policy, config: {} };\n }\n\n const { name, config } = policy;\n return { policyName: name, config };\n};\n\nconst policiesRegistry = () => {\n const policies = new Map<string, Core.Policy>();\n\n const find = (name: string, namespaceInfo?: NamespaceInfo) => {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n // try to resolve a full name to avoid extra prefixing\n const policy = policies.get(name);\n\n if (policy) {\n return policy;\n }\n\n if (pluginName) {\n return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);\n }\n\n if (apiName) {\n return policies.get(`${API_PREFIX}${apiName}.${name}`);\n }\n };\n\n function resolveHandler(policyConfig: PolicyConfig, namespaceInfo?: NamespaceInfo): Core.Policy;\n function resolveHandler(\n policyConfig: PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy[];\n function resolveHandler(\n policyConfig: PolicyConfig | PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy | Core.Policy[] {\n if (Array.isArray(policyConfig)) {\n return policyConfig.map((config) => {\n return resolveHandler(config, namespaceInfo);\n });\n }\n\n const { policyName, config } = parsePolicy(policyConfig);\n\n const policy = find(policyName, namespaceInfo);\n\n if (!policy) {\n throw new Error(`Policy ${policyName} not found.`);\n }\n\n if (typeof policy === 'function') {\n return policy;\n }\n\n if (policy.validator) {\n policy.validator(config);\n }\n\n return policy.handler;\n }\n\n return {\n /**\n * Returns this list of registered policies uids\n */\n keys() {\n // Return an array so format stays the same as controllers, services, etc\n return Array.from(policies.keys());\n },\n\n /**\n * Returns the instance of a policy. Instantiate the policy if not already done\n */\n get(name: string, namespaceInfo?: NamespaceInfo) {\n return find(name, namespaceInfo);\n },\n /**\n * Checks if a policy is registered\n */\n has(name: string, namespaceInfo?: NamespaceInfo) {\n const res = find(name, namespaceInfo);\n return !!res;\n },\n\n /**\n * Returns a map with all the policies in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(Object.fromEntries(policies));\n },\n\n /**\n * Registers a policy\n */\n set(uid: string, policy: Core.Policy) {\n policies.set(uid, policy);\n return this;\n },\n\n /**\n * Registers a map of policies for a specific namespace\n */\n add(namespace: string, newPolicies: Record<string, Core.Policy>) {\n for (const policyName of Object.keys(newPolicies)) {\n const policy = newPolicies[policyName];\n const uid = addNamespace(policyName, namespace);\n\n if (has(uid, policies)) {\n throw new Error(`Policy ${uid} has already been registered.`);\n }\n\n policies.set(uid, policy);\n }\n },\n\n /**\n * Resolves a list of policies\n */\n resolve(config: PolicyConfig | PolicyConfig[], namespaceInfo?: NamespaceInfo) {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n return castArray(config).map((policyConfig) => {\n return {\n handler: resolveHandler(policyConfig, { pluginName, apiName }),\n config: (typeof policyConfig === 'object' && policyConfig.config) || {},\n };\n });\n },\n };\n};\n\nexport default policiesRegistry;\n"],"names":["config"],"mappings":";;AAIA,MAAM,gBAAgB;AACtB,MAAM,aAAa;AAcnB,MAAM,cAAc,CAAC,WAAgC;AAC/C,MAAA,OAAO,WAAW,UAAU;AAC9B,WAAO,EAAE,YAAY,QAAQ,QAAQ,CAAG,EAAA;AAAA,EAC1C;AAEM,QAAA,EAAE,MAAM,OAAW,IAAA;AAClB,SAAA,EAAE,YAAY,MAAM;AAC7B;AAEA,MAAM,mBAAmB,MAAM;AACvB,QAAA,+BAAe;AAEf,QAAA,OAAO,CAAC,MAAc,kBAAkC;AAC5D,UAAM,EAAE,YAAY,YAAY,iBAAiB,CAAA;AAG3C,UAAA,SAAS,SAAS,IAAI,IAAI;AAEhC,QAAI,QAAQ;AACH,aAAA;AAAA,IACT;AAEA,QAAI,YAAY;AACP,aAAA,SAAS,IAAI,GAAG,aAAa,GAAG,UAAU,IAAI,IAAI,EAAE;AAAA,IAC7D;AAEA,QAAI,SAAS;AACJ,aAAA,SAAS,IAAI,GAAG,UAAU,GAAG,OAAO,IAAI,IAAI,EAAE;AAAA,IACvD;AAAA,EAAA;AAQO,WAAA,eACP,cACA,eAC6B;AACzB,QAAA,MAAM,QAAQ,YAAY,GAAG;AACxB,aAAA,aAAa,IAAI,CAACA,YAAW;AAC3B,eAAA,eAAeA,SAAQ,aAAa;AAAA,MAAA,CAC5C;AAAA,IACH;AAEA,UAAM,EAAE,YAAY,OAAO,IAAI,YAAY,YAAY;AAEjD,UAAA,SAAS,KAAK,YAAY,aAAa;AAE7C,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,UAAU,aAAa;AAAA,IACnD;AAEI,QAAA,OAAO,WAAW,YAAY;AACzB,aAAA;AAAA,IACT;AAEA,QAAI,OAAO,WAAW;AACpB,aAAO,UAAU,MAAM;AAAA,IACzB;AAEA,WAAO,OAAO;AAAA,EAChB;AAEO,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAEL,aAAO,MAAM,KAAK,SAAS,KAAM,CAAA;AAAA,IACnC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,MAAc,eAA+B;AACxC,aAAA,KAAK,MAAM,aAAa;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAIA,IAAI,MAAc,eAA+B;AACzC,YAAA,MAAM,KAAK,MAAM,aAAa;AACpC,aAAO,CAAC,CAAC;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACxB,aAAO,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,OAAO,YAAY,QAAQ,CAAC;AAAA,IACtF;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,QAAqB;AAC3B,eAAA,IAAI,KAAK,MAAM;AACjB,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,aAA0C;AAC/D,iBAAW,cAAc,OAAO,KAAK,WAAW,GAAG;AAC3C,cAAA,SAAS,YAAY,UAAU;AAC/B,cAAA,MAAM,aAAa,YAAY,SAAS;AAE1C,YAAA,IAAI,KAAK,QAAQ,GAAG;AACtB,gBAAM,IAAI,MAAM,UAAU,GAAG,+BAA+B;AAAA,QAC9D;AAES,iBAAA,IAAI,KAAK,MAAM;AAAA,MAC1B;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,QAAQ,QAAuC,eAA+B;AAC5E,YAAM,EAAE,YAAY,YAAY,iBAAiB,CAAA;AAEjD,aAAO,UAAU,MAAM,EAAE,IAAI,CAAC,iBAAiB;AACtC,eAAA;AAAA,UACL,SAAS,eAAe,cAAc,EAAE,YAAY,SAAS;AAAA,UAC7D,QAAS,OAAO,iBAAiB,YAAY,aAAa,UAAW,CAAC;AAAA,QAAA;AAAA,MACxE,CACD;AAAA,IACH;AAAA,EAAA;AAEJ;"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- const _ = require("lodash");
3
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
4
- const ___default = /* @__PURE__ */ _interopDefault(_);
5
- const sanitizersRegistry = () => {
6
- const sanitizers = {};
7
- return {
8
- get(path) {
9
- return ___default.default.get(sanitizers, path, []);
10
- },
11
- add(path, sanitizer) {
12
- this.get(path).push(sanitizer);
13
- return this;
14
- },
15
- set(path, value = []) {
16
- ___default.default.set(sanitizers, path, value);
17
- return this;
18
- },
19
- has(path) {
20
- return ___default.default.has(sanitizers, path);
21
- }
22
- };
23
- };
24
- module.exports = sanitizersRegistry;
25
- //# sourceMappingURL=sanitizers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sanitizers.js","sources":["../../src/registries/sanitizers.ts"],"sourcesContent":["import _, { PropertyName } from 'lodash';\n\ntype Sanitizer = (value: unknown) => unknown;\n\nconst sanitizersRegistry = () => {\n const sanitizers: Record<string, Sanitizer[]> = {};\n\n return {\n get(path: PropertyName): Sanitizer[] {\n return _.get(sanitizers, path, []);\n },\n\n add(path: PropertyName, sanitizer: Sanitizer) {\n this.get(path).push(sanitizer);\n return this;\n },\n\n set(path: PropertyName, value = []) {\n _.set(sanitizers, path, value);\n return this;\n },\n\n has(path: PropertyName) {\n return _.has(sanitizers, path);\n },\n };\n};\n\nexport default sanitizersRegistry;\n"],"names":["_"],"mappings":";;;;AAIA,MAAM,qBAAqB,MAAM;AAC/B,QAAM,aAA0C,CAAA;AAEzC,SAAA;AAAA,IACL,IAAI,MAAiC;AACnC,aAAOA,WAAE,QAAA,IAAI,YAAY,MAAM,CAAE,CAAA;AAAA,IACnC;AAAA,IAEA,IAAI,MAAoB,WAAsB;AAC5C,WAAK,IAAI,IAAI,EAAE,KAAK,SAAS;AACtB,aAAA;AAAA,IACT;AAAA,IAEA,IAAI,MAAoB,QAAQ,IAAI;AAChCA,iBAAAA,QAAA,IAAI,YAAY,MAAM,KAAK;AACtB,aAAA;AAAA,IACT;AAAA,IAEA,IAAI,MAAoB;AACf,aAAAA,mBAAE,IAAI,YAAY,IAAI;AAAA,IAC/B;AAAA,EAAA;AAEJ;;"}
@@ -1,24 +0,0 @@
1
- import _ from "lodash";
2
- const sanitizersRegistry = () => {
3
- const sanitizers = {};
4
- return {
5
- get(path) {
6
- return _.get(sanitizers, path, []);
7
- },
8
- add(path, sanitizer) {
9
- this.get(path).push(sanitizer);
10
- return this;
11
- },
12
- set(path, value = []) {
13
- _.set(sanitizers, path, value);
14
- return this;
15
- },
16
- has(path) {
17
- return _.has(sanitizers, path);
18
- }
19
- };
20
- };
21
- export {
22
- sanitizersRegistry as default
23
- };
24
- //# sourceMappingURL=sanitizers.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sanitizers.mjs","sources":["../../src/registries/sanitizers.ts"],"sourcesContent":["import _, { PropertyName } from 'lodash';\n\ntype Sanitizer = (value: unknown) => unknown;\n\nconst sanitizersRegistry = () => {\n const sanitizers: Record<string, Sanitizer[]> = {};\n\n return {\n get(path: PropertyName): Sanitizer[] {\n return _.get(sanitizers, path, []);\n },\n\n add(path: PropertyName, sanitizer: Sanitizer) {\n this.get(path).push(sanitizer);\n return this;\n },\n\n set(path: PropertyName, value = []) {\n _.set(sanitizers, path, value);\n return this;\n },\n\n has(path: PropertyName) {\n return _.has(sanitizers, path);\n },\n };\n};\n\nexport default sanitizersRegistry;\n"],"names":[],"mappings":";AAIA,MAAM,qBAAqB,MAAM;AAC/B,QAAM,aAA0C,CAAA;AAEzC,SAAA;AAAA,IACL,IAAI,MAAiC;AACnC,aAAO,EAAE,IAAI,YAAY,MAAM,CAAE,CAAA;AAAA,IACnC;AAAA,IAEA,IAAI,MAAoB,WAAsB;AAC5C,WAAK,IAAI,IAAI,EAAE,KAAK,SAAS;AACtB,aAAA;AAAA,IACT;AAAA,IAEA,IAAI,MAAoB,QAAQ,IAAI;AAChC,QAAA,IAAI,YAAY,MAAM,KAAK;AACtB,aAAA;AAAA,IACT;AAAA,IAEA,IAAI,MAAoB;AACf,aAAA,EAAE,IAAI,YAAY,IAAI;AAAA,IAC/B;AAAA,EAAA;AAEJ;"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- const fp = require("lodash/fp");
3
- const namespace = require("./namespace.js");
4
- const servicesRegistry = (strapi) => {
5
- const services = {};
6
- const instantiatedServices = {};
7
- return {
8
- /**
9
- * Returns this list of registered services uids
10
- */
11
- keys() {
12
- return Object.keys(services);
13
- },
14
- /**
15
- * Returns the instance of a service. Instantiate the service if not already done
16
- */
17
- get(uid) {
18
- if (instantiatedServices[uid]) {
19
- return instantiatedServices[uid];
20
- }
21
- const service = services[uid];
22
- if (service) {
23
- instantiatedServices[uid] = typeof service === "function" ? service({ strapi }) : service;
24
- return instantiatedServices[uid];
25
- }
26
- },
27
- /**
28
- * Returns a map with all the services in a namespace
29
- */
30
- getAll(namespace$1) {
31
- const filteredServices = fp.pickBy((_, uid) => namespace.hasNamespace(uid, namespace$1))(services);
32
- const map = {};
33
- for (const uid of Object.keys(filteredServices)) {
34
- Object.defineProperty(map, uid, {
35
- enumerable: true,
36
- get: () => {
37
- return this.get(uid);
38
- }
39
- });
40
- }
41
- return map;
42
- },
43
- /**
44
- * Registers a service
45
- */
46
- set(uid, service) {
47
- services[uid] = service;
48
- delete instantiatedServices[uid];
49
- return this;
50
- },
51
- /**
52
- * Registers a map of services for a specific namespace
53
- */
54
- add(namespace$1, newServices) {
55
- for (const serviceName of Object.keys(newServices)) {
56
- const service = newServices[serviceName];
57
- const uid = namespace.addNamespace(serviceName, namespace$1);
58
- if (fp.has(uid, services)) {
59
- throw new Error(`Service ${uid} has already been registered.`);
60
- }
61
- services[uid] = service;
62
- }
63
- return this;
64
- },
65
- /**
66
- * Wraps a service to extend it
67
- */
68
- extend(uid, extendFn) {
69
- const currentService = this.get(uid);
70
- if (!currentService) {
71
- throw new Error(`Service ${uid} doesn't exist`);
72
- }
73
- const newService = extendFn(currentService);
74
- instantiatedServices[uid] = newService;
75
- return this;
76
- }
77
- };
78
- };
79
- module.exports = servicesRegistry;
80
- //# sourceMappingURL=services.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"services.js","sources":["../../src/registries/services.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nexport type ServiceFactory = (params: { strapi: Core.Strapi }) => Core.Service | Core.Service;\nexport type ServiceFactoryMap = Record<string, ServiceFactory>;\nexport type ServiceMap = Record<string, Core.Service>;\nexport type ServiceExtendFn = (service: Core.Service) => Core.Service;\n\nconst servicesRegistry = (strapi: Core.Strapi) => {\n const services: ServiceFactoryMap = {};\n const instantiatedServices: ServiceMap = {};\n\n return {\n /**\n * Returns this list of registered services uids\n */\n keys() {\n return Object.keys(services);\n },\n\n /**\n * Returns the instance of a service. Instantiate the service if not already done\n */\n get(uid: UID.Service) {\n if (instantiatedServices[uid]) {\n return instantiatedServices[uid];\n }\n\n const service = services[uid];\n if (service) {\n instantiatedServices[uid] = typeof service === 'function' ? service({ strapi }) : service;\n return instantiatedServices[uid];\n }\n },\n\n /**\n * Returns a map with all the services in a namespace\n */\n getAll(namespace: string): ServiceMap {\n const filteredServices = pickBy((_, uid) => hasNamespace(uid, namespace))(services);\n\n // create lazy accessor to avoid instantiating the services;\n const map = {};\n for (const uid of Object.keys(filteredServices)) {\n Object.defineProperty(map, uid, {\n enumerable: true,\n get: () => {\n return this.get(uid as UID.Service);\n },\n });\n }\n\n return map;\n },\n\n /**\n * Registers a service\n */\n set(uid: string, service: ServiceFactory) {\n services[uid] = service;\n delete instantiatedServices[uid];\n return this;\n },\n\n /**\n * Registers a map of services for a specific namespace\n */\n add(namespace: string, newServices: ServiceFactoryMap) {\n for (const serviceName of Object.keys(newServices)) {\n const service = newServices[serviceName];\n const uid = addNamespace(serviceName, namespace);\n\n if (has(uid, services)) {\n throw new Error(`Service ${uid} has already been registered.`);\n }\n services[uid] = service;\n }\n\n return this;\n },\n\n /**\n * Wraps a service to extend it\n */\n extend(uid: UID.Service, extendFn: ServiceExtendFn) {\n const currentService = this.get(uid);\n\n if (!currentService) {\n throw new Error(`Service ${uid} doesn't exist`);\n }\n\n const newService = extendFn(currentService);\n instantiatedServices[uid] = newService;\n\n return this;\n },\n };\n};\n\nexport default servicesRegistry;\n"],"names":["namespace","pickBy","hasNamespace","addNamespace","has"],"mappings":";;;AASM,MAAA,mBAAmB,CAAC,WAAwB;AAChD,QAAM,WAA8B,CAAA;AACpC,QAAM,uBAAmC,CAAA;AAElC,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,QAAQ;AAAA,IAC7B;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAkB;AAChB,UAAA,qBAAqB,GAAG,GAAG;AAC7B,eAAO,qBAAqB,GAAG;AAAA,MACjC;AAEM,YAAA,UAAU,SAAS,GAAG;AAC5B,UAAI,SAAS;AACU,6BAAA,GAAG,IAAI,OAAO,YAAY,aAAa,QAAQ,EAAE,QAAQ,IAAI;AAClF,eAAO,qBAAqB,GAAG;AAAA,MACjC;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOA,aAA+B;AAC9B,YAAA,mBAAmBC,GAAAA,OAAO,CAAC,GAAG,QAAQC,uBAAa,KAAKF,WAAS,CAAC,EAAE,QAAQ;AAGlF,YAAM,MAAM,CAAA;AACZ,iBAAW,OAAO,OAAO,KAAK,gBAAgB,GAAG;AACxC,eAAA,eAAe,KAAK,KAAK;AAAA,UAC9B,YAAY;AAAA,UACZ,KAAK,MAAM;AACF,mBAAA,KAAK,IAAI,GAAkB;AAAA,UACpC;AAAA,QAAA,CACD;AAAA,MACH;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,SAAyB;AACxC,eAAS,GAAG,IAAI;AAChB,aAAO,qBAAqB,GAAG;AACxB,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmB,aAAgC;AACrD,iBAAW,eAAe,OAAO,KAAK,WAAW,GAAG;AAC5C,cAAA,UAAU,YAAY,WAAW;AACjC,cAAA,MAAMG,UAAAA,aAAa,aAAaH,WAAS;AAE3C,YAAAI,GAAA,IAAI,KAAK,QAAQ,GAAG;AACtB,gBAAM,IAAI,MAAM,WAAW,GAAG,+BAA+B;AAAA,QAC/D;AACA,iBAAS,GAAG,IAAI;AAAA,MAClB;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAAkB,UAA2B;AAC5C,YAAA,iBAAiB,KAAK,IAAI,GAAG;AAEnC,UAAI,CAAC,gBAAgB;AACnB,cAAM,IAAI,MAAM,WAAW,GAAG,gBAAgB;AAAA,MAChD;AAEM,YAAA,aAAa,SAAS,cAAc;AAC1C,2BAAqB,GAAG,IAAI;AAErB,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
@@ -1,81 +0,0 @@
1
- import { pickBy, has } from "lodash/fp";
2
- import { hasNamespace, addNamespace } from "./namespace.mjs";
3
- const servicesRegistry = (strapi) => {
4
- const services = {};
5
- const instantiatedServices = {};
6
- return {
7
- /**
8
- * Returns this list of registered services uids
9
- */
10
- keys() {
11
- return Object.keys(services);
12
- },
13
- /**
14
- * Returns the instance of a service. Instantiate the service if not already done
15
- */
16
- get(uid) {
17
- if (instantiatedServices[uid]) {
18
- return instantiatedServices[uid];
19
- }
20
- const service = services[uid];
21
- if (service) {
22
- instantiatedServices[uid] = typeof service === "function" ? service({ strapi }) : service;
23
- return instantiatedServices[uid];
24
- }
25
- },
26
- /**
27
- * Returns a map with all the services in a namespace
28
- */
29
- getAll(namespace) {
30
- const filteredServices = pickBy((_, uid) => hasNamespace(uid, namespace))(services);
31
- const map = {};
32
- for (const uid of Object.keys(filteredServices)) {
33
- Object.defineProperty(map, uid, {
34
- enumerable: true,
35
- get: () => {
36
- return this.get(uid);
37
- }
38
- });
39
- }
40
- return map;
41
- },
42
- /**
43
- * Registers a service
44
- */
45
- set(uid, service) {
46
- services[uid] = service;
47
- delete instantiatedServices[uid];
48
- return this;
49
- },
50
- /**
51
- * Registers a map of services for a specific namespace
52
- */
53
- add(namespace, newServices) {
54
- for (const serviceName of Object.keys(newServices)) {
55
- const service = newServices[serviceName];
56
- const uid = addNamespace(serviceName, namespace);
57
- if (has(uid, services)) {
58
- throw new Error(`Service ${uid} has already been registered.`);
59
- }
60
- services[uid] = service;
61
- }
62
- return this;
63
- },
64
- /**
65
- * Wraps a service to extend it
66
- */
67
- extend(uid, extendFn) {
68
- const currentService = this.get(uid);
69
- if (!currentService) {
70
- throw new Error(`Service ${uid} doesn't exist`);
71
- }
72
- const newService = extendFn(currentService);
73
- instantiatedServices[uid] = newService;
74
- return this;
75
- }
76
- };
77
- };
78
- export {
79
- servicesRegistry as default
80
- };
81
- //# sourceMappingURL=services.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"services.mjs","sources":["../../src/registries/services.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nexport type ServiceFactory = (params: { strapi: Core.Strapi }) => Core.Service | Core.Service;\nexport type ServiceFactoryMap = Record<string, ServiceFactory>;\nexport type ServiceMap = Record<string, Core.Service>;\nexport type ServiceExtendFn = (service: Core.Service) => Core.Service;\n\nconst servicesRegistry = (strapi: Core.Strapi) => {\n const services: ServiceFactoryMap = {};\n const instantiatedServices: ServiceMap = {};\n\n return {\n /**\n * Returns this list of registered services uids\n */\n keys() {\n return Object.keys(services);\n },\n\n /**\n * Returns the instance of a service. Instantiate the service if not already done\n */\n get(uid: UID.Service) {\n if (instantiatedServices[uid]) {\n return instantiatedServices[uid];\n }\n\n const service = services[uid];\n if (service) {\n instantiatedServices[uid] = typeof service === 'function' ? service({ strapi }) : service;\n return instantiatedServices[uid];\n }\n },\n\n /**\n * Returns a map with all the services in a namespace\n */\n getAll(namespace: string): ServiceMap {\n const filteredServices = pickBy((_, uid) => hasNamespace(uid, namespace))(services);\n\n // create lazy accessor to avoid instantiating the services;\n const map = {};\n for (const uid of Object.keys(filteredServices)) {\n Object.defineProperty(map, uid, {\n enumerable: true,\n get: () => {\n return this.get(uid as UID.Service);\n },\n });\n }\n\n return map;\n },\n\n /**\n * Registers a service\n */\n set(uid: string, service: ServiceFactory) {\n services[uid] = service;\n delete instantiatedServices[uid];\n return this;\n },\n\n /**\n * Registers a map of services for a specific namespace\n */\n add(namespace: string, newServices: ServiceFactoryMap) {\n for (const serviceName of Object.keys(newServices)) {\n const service = newServices[serviceName];\n const uid = addNamespace(serviceName, namespace);\n\n if (has(uid, services)) {\n throw new Error(`Service ${uid} has already been registered.`);\n }\n services[uid] = service;\n }\n\n return this;\n },\n\n /**\n * Wraps a service to extend it\n */\n extend(uid: UID.Service, extendFn: ServiceExtendFn) {\n const currentService = this.get(uid);\n\n if (!currentService) {\n throw new Error(`Service ${uid} doesn't exist`);\n }\n\n const newService = extendFn(currentService);\n instantiatedServices[uid] = newService;\n\n return this;\n },\n };\n};\n\nexport default servicesRegistry;\n"],"names":[],"mappings":";;AASM,MAAA,mBAAmB,CAAC,WAAwB;AAChD,QAAM,WAA8B,CAAA;AACpC,QAAM,uBAAmC,CAAA;AAElC,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,QAAQ;AAAA,IAC7B;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAkB;AAChB,UAAA,qBAAqB,GAAG,GAAG;AAC7B,eAAO,qBAAqB,GAAG;AAAA,MACjC;AAEM,YAAA,UAAU,SAAS,GAAG;AAC5B,UAAI,SAAS;AACU,6BAAA,GAAG,IAAI,OAAO,YAAY,aAAa,QAAQ,EAAE,QAAQ,IAAI;AAClF,eAAO,qBAAqB,GAAG;AAAA,MACjC;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAA+B;AAC9B,YAAA,mBAAmB,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,QAAQ;AAGlF,YAAM,MAAM,CAAA;AACZ,iBAAW,OAAO,OAAO,KAAK,gBAAgB,GAAG;AACxC,eAAA,eAAe,KAAK,KAAK;AAAA,UAC9B,YAAY;AAAA,UACZ,KAAK,MAAM;AACF,mBAAA,KAAK,IAAI,GAAkB;AAAA,UACpC;AAAA,QAAA,CACD;AAAA,MACH;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,SAAyB;AACxC,eAAS,GAAG,IAAI;AAChB,aAAO,qBAAqB,GAAG;AACxB,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,aAAgC;AACrD,iBAAW,eAAe,OAAO,KAAK,WAAW,GAAG;AAC5C,cAAA,UAAU,YAAY,WAAW;AACjC,cAAA,MAAM,aAAa,aAAa,SAAS;AAE3C,YAAA,IAAI,KAAK,QAAQ,GAAG;AACtB,gBAAM,IAAI,MAAM,WAAW,GAAG,+BAA+B;AAAA,QAC/D;AACA,iBAAS,GAAG,IAAI;AAAA,MAClB;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAAkB,UAA2B;AAC5C,YAAA,iBAAiB,KAAK,IAAI,GAAG;AAEnC,UAAI,CAAC,gBAAgB;AACnB,cAAM,IAAI,MAAM,WAAW,GAAG,gBAAgB;AAAA,MAChD;AAEM,YAAA,aAAa,SAAS,cAAc;AAC1C,2BAAqB,GAAG,IAAI;AAErB,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- const _ = require("lodash");
3
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
4
- const ___default = /* @__PURE__ */ _interopDefault(_);
5
- const validatorsRegistry = () => {
6
- const validators = {};
7
- return {
8
- get(path) {
9
- return ___default.default.get(validators, path, []);
10
- },
11
- add(path, validator) {
12
- this.get(path).push(validator);
13
- return this;
14
- },
15
- set(path, value = []) {
16
- ___default.default.set(validators, path, value);
17
- return this;
18
- },
19
- has(path) {
20
- return ___default.default.has(validators, path);
21
- }
22
- };
23
- };
24
- module.exports = validatorsRegistry;
25
- //# sourceMappingURL=validators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.js","sources":["../../src/registries/validators.ts"],"sourcesContent":["import _, { PropertyName } from 'lodash';\n\ntype Validator = unknown;\n\nconst validatorsRegistry = () => {\n const validators: Record<string, Validator[]> = {};\n\n return {\n get(path: PropertyName): Validator[] {\n return _.get(validators, path, []);\n },\n\n add(path: PropertyName, validator: Validator) {\n this.get(path).push(validator);\n return this;\n },\n\n set(path: PropertyName, value = []) {\n _.set(validators, path, value);\n return this;\n },\n\n has(path: PropertyName) {\n return _.has(validators, path);\n },\n };\n};\n\nexport default validatorsRegistry;\n"],"names":["_"],"mappings":";;;;AAIA,MAAM,qBAAqB,MAAM;AAC/B,QAAM,aAA0C,CAAA;AAEzC,SAAA;AAAA,IACL,IAAI,MAAiC;AACnC,aAAOA,WAAE,QAAA,IAAI,YAAY,MAAM,CAAE,CAAA;AAAA,IACnC;AAAA,IAEA,IAAI,MAAoB,WAAsB;AAC5C,WAAK,IAAI,IAAI,EAAE,KAAK,SAAS;AACtB,aAAA;AAAA,IACT;AAAA,IAEA,IAAI,MAAoB,QAAQ,IAAI;AAChCA,iBAAAA,QAAA,IAAI,YAAY,MAAM,KAAK;AACtB,aAAA;AAAA,IACT;AAAA,IAEA,IAAI,MAAoB;AACf,aAAAA,mBAAE,IAAI,YAAY,IAAI;AAAA,IAC/B;AAAA,EAAA;AAEJ;;"}
@@ -1,24 +0,0 @@
1
- import _ from "lodash";
2
- const validatorsRegistry = () => {
3
- const validators = {};
4
- return {
5
- get(path) {
6
- return _.get(validators, path, []);
7
- },
8
- add(path, validator) {
9
- this.get(path).push(validator);
10
- return this;
11
- },
12
- set(path, value = []) {
13
- _.set(validators, path, value);
14
- return this;
15
- },
16
- has(path) {
17
- return _.has(validators, path);
18
- }
19
- };
20
- };
21
- export {
22
- validatorsRegistry as default
23
- };
24
- //# sourceMappingURL=validators.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.mjs","sources":["../../src/registries/validators.ts"],"sourcesContent":["import _, { PropertyName } from 'lodash';\n\ntype Validator = unknown;\n\nconst validatorsRegistry = () => {\n const validators: Record<string, Validator[]> = {};\n\n return {\n get(path: PropertyName): Validator[] {\n return _.get(validators, path, []);\n },\n\n add(path: PropertyName, validator: Validator) {\n this.get(path).push(validator);\n return this;\n },\n\n set(path: PropertyName, value = []) {\n _.set(validators, path, value);\n return this;\n },\n\n has(path: PropertyName) {\n return _.has(validators, path);\n },\n };\n};\n\nexport default validatorsRegistry;\n"],"names":[],"mappings":";AAIA,MAAM,qBAAqB,MAAM;AAC/B,QAAM,aAA0C,CAAA;AAEzC,SAAA;AAAA,IACL,IAAI,MAAiC;AACnC,aAAO,EAAE,IAAI,YAAY,MAAM,CAAE,CAAA;AAAA,IACnC;AAAA,IAEA,IAAI,MAAoB,WAAsB;AAC5C,WAAK,IAAI,IAAI,EAAE,KAAK,SAAS;AACtB,aAAA;AAAA,IACT;AAAA,IAEA,IAAI,MAAoB,QAAQ,IAAI;AAChC,QAAA,IAAI,YAAY,MAAM,KAAK;AACtB,aAAA;AAAA,IACT;AAAA,IAEA,IAAI,MAAoB;AACf,aAAA,EAAE,IAAI,YAAY,IAAI;AAAA,IAC/B;AAAA,EAAA;AAEJ;"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- const assert = require("assert/strict");
3
- const fp = require("lodash/fp");
4
- const strapiUtils = require("@strapi/utils");
5
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
6
- const assert__default = /* @__PURE__ */ _interopDefault(assert);
7
- const INVALID_STRATEGY_MSG = "Invalid auth strategy. Expecting an object with properties {name: string, authenticate: function, verify: function}";
8
- const validStrategy = (strategy) => {
9
- assert__default.default(fp.has("authenticate", strategy), INVALID_STRATEGY_MSG);
10
- assert__default.default(typeof strategy.authenticate === "function", INVALID_STRATEGY_MSG);
11
- if (fp.has("verify", strategy)) {
12
- assert__default.default(typeof strategy.verify === "function", INVALID_STRATEGY_MSG);
13
- }
14
- };
15
- const createAuthentication = () => {
16
- const strategies = {};
17
- return {
18
- register(type, strategy) {
19
- validStrategy(strategy);
20
- if (!strategies[type]) {
21
- strategies[type] = [];
22
- }
23
- strategies[type].push(strategy);
24
- return this;
25
- },
26
- async authenticate(ctx, next) {
27
- const route = ctx.state.route;
28
- const config = route?.config?.auth;
29
- if (config === false) {
30
- return next();
31
- }
32
- const routeStrategies = route.info.type ? strategies[route.info.type] : [];
33
- const configStrategies = config?.strategies ?? routeStrategies ?? [];
34
- const strategiesToUse = configStrategies.reduce(
35
- (acc, strategy) => {
36
- if (typeof strategy === "string") {
37
- const routeStrategy = routeStrategies.find((rs) => rs.name === strategy);
38
- if (routeStrategy) {
39
- acc.push(routeStrategy);
40
- }
41
- } else if (typeof strategy === "object") {
42
- validStrategy(strategy);
43
- acc.push(strategy);
44
- }
45
- return acc;
46
- },
47
- []
48
- );
49
- for (const strategy of strategiesToUse) {
50
- const result = await strategy.authenticate(ctx);
51
- const { authenticated = false, credentials, ability = null, error = null } = result || {};
52
- if (error !== null) {
53
- return ctx.unauthorized(error);
54
- }
55
- if (authenticated) {
56
- ctx.state.isAuthenticated = true;
57
- ctx.state.auth = {
58
- strategy,
59
- credentials,
60
- ability
61
- };
62
- return next();
63
- }
64
- }
65
- return ctx.unauthorized("Missing or invalid credentials");
66
- },
67
- async verify(auth, config = {}) {
68
- if (config === false) {
69
- return;
70
- }
71
- if (!auth) {
72
- throw new strapiUtils.errors.UnauthorizedError();
73
- }
74
- if (typeof auth.strategy.verify === "function") {
75
- return auth.strategy.verify(auth, config);
76
- }
77
- }
78
- };
79
- };
80
- module.exports = createAuthentication;
81
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/services/auth/index.ts"],"sourcesContent":["import assert from 'assert/strict';\nimport { has } from 'lodash/fp';\n\nimport { errors } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport type { ParameterizedContext } from 'koa';\n\ninterface AuthenticationResponse {\n authenticated?: boolean;\n credentials?: unknown;\n ability?: unknown;\n error?: Error | null;\n}\n\ninterface AuthenticationInfo {\n strategy: Strategy;\n credentials: unknown;\n ability: unknown;\n}\n\ninterface Strategy {\n name: string;\n authenticate: (ctx: ParameterizedContext) => Promise<AuthenticationResponse>;\n verify?: (auth: AuthenticationInfo, config: Core.RouteConfig['auth']) => Promise<any>;\n}\n\ninterface Authentication {\n register: (type: string, strategy: Strategy) => Authentication;\n authenticate: Core.MiddlewareHandler;\n verify: (auth: AuthenticationInfo, config?: Core.RouteConfig['auth']) => Promise<any>;\n}\n\nconst INVALID_STRATEGY_MSG =\n 'Invalid auth strategy. Expecting an object with properties {name: string, authenticate: function, verify: function}';\n\nconst validStrategy = (strategy: Strategy) => {\n assert(has('authenticate', strategy), INVALID_STRATEGY_MSG);\n assert(typeof strategy.authenticate === 'function', INVALID_STRATEGY_MSG);\n\n if (has('verify', strategy)) {\n assert(typeof strategy.verify === 'function', INVALID_STRATEGY_MSG);\n }\n};\n\nconst createAuthentication = (): Authentication => {\n const strategies: Record<string, Strategy[]> = {};\n\n return {\n register(type, strategy) {\n validStrategy(strategy);\n\n if (!strategies[type]) {\n strategies[type] = [];\n }\n\n strategies[type].push(strategy);\n\n return this;\n },\n\n async authenticate(ctx, next) {\n const route: Core.Route = ctx.state.route;\n\n // use route strategy\n const config = route?.config?.auth;\n\n if (config === false) {\n return next();\n }\n\n const routeStrategies = route.info.type ? strategies[route.info.type] : [];\n const configStrategies = (config?.strategies ?? routeStrategies ?? []) as Array<\n string | Strategy\n >;\n\n const strategiesToUse: Strategy[] = configStrategies.reduce(\n (acc, strategy: string | Strategy) => {\n // Resolve by strategy name\n if (typeof strategy === 'string') {\n const routeStrategy = routeStrategies.find((rs) => rs.name === strategy);\n\n if (routeStrategy) {\n acc.push(routeStrategy);\n }\n }\n\n // Use the given strategy as is\n else if (typeof strategy === 'object') {\n validStrategy(strategy);\n\n acc.push(strategy);\n }\n\n return acc;\n },\n [] as Strategy[]\n );\n\n for (const strategy of strategiesToUse) {\n const result = await strategy.authenticate(ctx);\n\n const { authenticated = false, credentials, ability = null, error = null } = result || {};\n\n if (error !== null) {\n return ctx.unauthorized(error);\n }\n\n if (authenticated) {\n ctx.state.isAuthenticated = true;\n ctx.state.auth = {\n strategy,\n credentials,\n ability,\n };\n\n return next();\n }\n }\n\n return ctx.unauthorized('Missing or invalid credentials');\n },\n\n async verify(auth, config = {}) {\n if (config === false) {\n return;\n }\n\n if (!auth) {\n throw new errors.UnauthorizedError();\n }\n\n if (typeof auth.strategy.verify === 'function') {\n return auth.strategy.verify(auth, config);\n }\n },\n };\n};\n\nexport default createAuthentication;\n"],"names":["assert","has","errors"],"mappings":";;;;;;AAgCA,MAAM,uBACJ;AAEF,MAAM,gBAAgB,CAAC,aAAuB;AAC5CA,kBAAAA,QAAOC,GAAAA,IAAI,gBAAgB,QAAQ,GAAG,oBAAoB;AAC1DD,kBAAAA,QAAO,OAAO,SAAS,iBAAiB,YAAY,oBAAoB;AAEpE,MAAAC,GAAA,IAAI,UAAU,QAAQ,GAAG;AAC3BD,oBAAAA,QAAO,OAAO,SAAS,WAAW,YAAY,oBAAoB;AAAA,EACpE;AACF;AAEA,MAAM,uBAAuB,MAAsB;AACjD,QAAM,aAAyC,CAAA;AAExC,SAAA;AAAA,IACL,SAAS,MAAM,UAAU;AACvB,oBAAc,QAAQ;AAElB,UAAA,CAAC,WAAW,IAAI,GAAG;AACV,mBAAA,IAAI,IAAI;MACrB;AAEW,iBAAA,IAAI,EAAE,KAAK,QAAQ;AAEvB,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,aAAa,KAAK,MAAM;AACtB,YAAA,QAAoB,IAAI,MAAM;AAG9B,YAAA,SAAS,OAAO,QAAQ;AAE9B,UAAI,WAAW,OAAO;AACpB,eAAO,KAAK;AAAA,MACd;AAEM,YAAA,kBAAkB,MAAM,KAAK,OAAO,WAAW,MAAM,KAAK,IAAI,IAAI;AACxE,YAAM,mBAAoB,QAAQ,cAAc,mBAAmB,CAAA;AAInE,YAAM,kBAA8B,iBAAiB;AAAA,QACnD,CAAC,KAAK,aAAgC;AAEhC,cAAA,OAAO,aAAa,UAAU;AAChC,kBAAM,gBAAgB,gBAAgB,KAAK,CAAC,OAAO,GAAG,SAAS,QAAQ;AAEvE,gBAAI,eAAe;AACjB,kBAAI,KAAK,aAAa;AAAA,YACxB;AAAA,UAAA,WAIO,OAAO,aAAa,UAAU;AACrC,0BAAc,QAAQ;AAEtB,gBAAI,KAAK,QAAQ;AAAA,UACnB;AAEO,iBAAA;AAAA,QACT;AAAA,QACA,CAAC;AAAA,MAAA;AAGH,iBAAW,YAAY,iBAAiB;AACtC,cAAM,SAAS,MAAM,SAAS,aAAa,GAAG;AAExC,cAAA,EAAE,gBAAgB,OAAO,aAAa,UAAU,MAAM,QAAQ,KAAA,IAAS,UAAU;AAEvF,YAAI,UAAU,MAAM;AACX,iBAAA,IAAI,aAAa,KAAK;AAAA,QAC/B;AAEA,YAAI,eAAe;AACjB,cAAI,MAAM,kBAAkB;AAC5B,cAAI,MAAM,OAAO;AAAA,YACf;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAGF,iBAAO,KAAK;AAAA,QACd;AAAA,MACF;AAEO,aAAA,IAAI,aAAa,gCAAgC;AAAA,IAC1D;AAAA,IAEA,MAAM,OAAO,MAAM,SAAS,IAAI;AAC9B,UAAI,WAAW,OAAO;AACpB;AAAA,MACF;AAEA,UAAI,CAAC,MAAM;AACH,cAAA,IAAIE,YAAAA,OAAO;MACnB;AAEA,UAAI,OAAO,KAAK,SAAS,WAAW,YAAY;AAC9C,eAAO,KAAK,SAAS,OAAO,MAAM,MAAM;AAAA,MAC1C;AAAA,IACF;AAAA,EAAA;AAEJ;;"}