@strapi/core 0.0.0-experimental.c592deb623aed3f74ef7fdacfad9757ed59d34f7 → 0.0.0-experimental.cb2eb3230e1cd78417158a7e44cee77f6eb94c32

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 (714) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +427 -403
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +426 -402
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/compile.js +23 -14
  7. package/dist/compile.js.map +1 -1
  8. package/dist/compile.mjs +22 -14
  9. package/dist/compile.mjs.map +1 -1
  10. package/dist/configuration/config-loader.js +110 -97
  11. package/dist/configuration/config-loader.js.map +1 -1
  12. package/dist/configuration/config-loader.mjs +109 -96
  13. package/dist/configuration/config-loader.mjs.map +1 -1
  14. package/dist/configuration/get-dirs.js +31 -29
  15. package/dist/configuration/get-dirs.js.map +1 -1
  16. package/dist/configuration/get-dirs.mjs +30 -30
  17. package/dist/configuration/get-dirs.mjs.map +1 -1
  18. package/dist/configuration/index.d.ts.map +1 -1
  19. package/dist/configuration/index.js +84 -73
  20. package/dist/configuration/index.js.map +1 -1
  21. package/dist/configuration/index.mjs +83 -69
  22. package/dist/configuration/index.mjs.map +1 -1
  23. package/dist/configuration/urls.js +65 -61
  24. package/dist/configuration/urls.js.map +1 -1
  25. package/dist/configuration/urls.mjs +64 -62
  26. package/dist/configuration/urls.mjs.map +1 -1
  27. package/dist/container.js +27 -23
  28. package/dist/container.js.map +1 -1
  29. package/dist/container.mjs +26 -24
  30. package/dist/container.mjs.map +1 -1
  31. package/dist/core-api/controller/collection-type.js +77 -76
  32. package/dist/core-api/controller/collection-type.js.map +1 -1
  33. package/dist/core-api/controller/collection-type.mjs +76 -77
  34. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  35. package/dist/core-api/controller/index.js +63 -48
  36. package/dist/core-api/controller/index.js.map +1 -1
  37. package/dist/core-api/controller/index.mjs +62 -49
  38. package/dist/core-api/controller/index.mjs.map +1 -1
  39. package/dist/core-api/controller/single-type.js +41 -40
  40. package/dist/core-api/controller/single-type.js.map +1 -1
  41. package/dist/core-api/controller/single-type.mjs +40 -41
  42. package/dist/core-api/controller/single-type.mjs.map +1 -1
  43. package/dist/core-api/controller/transform.js +72 -63
  44. package/dist/core-api/controller/transform.js.map +1 -1
  45. package/dist/core-api/controller/transform.mjs +71 -64
  46. package/dist/core-api/controller/transform.mjs.map +1 -1
  47. package/dist/core-api/routes/index.js +64 -62
  48. package/dist/core-api/routes/index.js.map +1 -1
  49. package/dist/core-api/routes/index.mjs +62 -62
  50. package/dist/core-api/routes/index.mjs.map +1 -1
  51. package/dist/core-api/service/collection-type.js +73 -60
  52. package/dist/core-api/service/collection-type.js.map +1 -1
  53. package/dist/core-api/service/collection-type.mjs +72 -62
  54. package/dist/core-api/service/collection-type.mjs.map +1 -1
  55. package/dist/core-api/service/core-service.js +9 -8
  56. package/dist/core-api/service/core-service.js.map +1 -1
  57. package/dist/core-api/service/core-service.mjs +8 -9
  58. package/dist/core-api/service/core-service.mjs.map +1 -1
  59. package/dist/core-api/service/index.js +13 -13
  60. package/dist/core-api/service/index.js.map +1 -1
  61. package/dist/core-api/service/index.mjs +12 -14
  62. package/dist/core-api/service/index.mjs.map +1 -1
  63. package/dist/core-api/service/pagination.js +69 -43
  64. package/dist/core-api/service/pagination.js.map +1 -1
  65. package/dist/core-api/service/pagination.mjs +68 -47
  66. package/dist/core-api/service/pagination.mjs.map +1 -1
  67. package/dist/core-api/service/single-type.js +43 -39
  68. package/dist/core-api/service/single-type.js.map +1 -1
  69. package/dist/core-api/service/single-type.mjs +42 -41
  70. package/dist/core-api/service/single-type.mjs.map +1 -1
  71. package/dist/domain/content-type/index.js +95 -100
  72. package/dist/domain/content-type/index.js.map +1 -1
  73. package/dist/domain/content-type/index.mjs +94 -100
  74. package/dist/domain/content-type/index.mjs.map +1 -1
  75. package/dist/domain/content-type/validator.js +84 -69
  76. package/dist/domain/content-type/validator.js.map +1 -1
  77. package/dist/domain/content-type/validator.mjs +83 -68
  78. package/dist/domain/content-type/validator.mjs.map +1 -1
  79. package/dist/domain/module/index.js +109 -100
  80. package/dist/domain/module/index.js.map +1 -1
  81. package/dist/domain/module/index.mjs +108 -99
  82. package/dist/domain/module/index.mjs.map +1 -1
  83. package/dist/domain/module/validation.js +25 -20
  84. package/dist/domain/module/validation.js.map +1 -1
  85. package/dist/domain/module/validation.mjs +24 -21
  86. package/dist/domain/module/validation.mjs.map +1 -1
  87. package/dist/ee/index.d.ts +1 -0
  88. package/dist/ee/index.d.ts.map +1 -1
  89. package/dist/ee/index.js +171 -132
  90. package/dist/ee/index.js.map +1 -1
  91. package/dist/ee/index.mjs +170 -134
  92. package/dist/ee/index.mjs.map +1 -1
  93. package/dist/ee/license.d.ts.map +1 -1
  94. package/dist/ee/license.js +99 -75
  95. package/dist/ee/license.js.map +1 -1
  96. package/dist/ee/license.mjs +98 -76
  97. package/dist/ee/license.mjs.map +1 -1
  98. package/dist/factories.js +72 -67
  99. package/dist/factories.js.map +1 -1
  100. package/dist/factories.mjs +71 -71
  101. package/dist/factories.mjs.map +1 -1
  102. package/dist/index.js +29 -26
  103. package/dist/index.js.map +1 -1
  104. package/dist/index.mjs +29 -29
  105. package/dist/index.mjs.map +1 -1
  106. package/dist/loaders/admin.d.ts.map +1 -1
  107. package/dist/loaders/admin.js +21 -20
  108. package/dist/loaders/admin.js.map +1 -1
  109. package/dist/loaders/admin.mjs +20 -20
  110. package/dist/loaders/admin.mjs.map +1 -1
  111. package/dist/loaders/apis.js +143 -120
  112. package/dist/loaders/apis.js.map +1 -1
  113. package/dist/loaders/apis.mjs +142 -119
  114. package/dist/loaders/apis.mjs.map +1 -1
  115. package/dist/loaders/components.js +33 -34
  116. package/dist/loaders/components.js.map +1 -1
  117. package/dist/loaders/components.mjs +32 -34
  118. package/dist/loaders/components.mjs.map +1 -1
  119. package/dist/loaders/index.js +22 -20
  120. package/dist/loaders/index.js.map +1 -1
  121. package/dist/loaders/index.mjs +21 -21
  122. package/dist/loaders/index.mjs.map +1 -1
  123. package/dist/loaders/middlewares.js +29 -25
  124. package/dist/loaders/middlewares.js.map +1 -1
  125. package/dist/loaders/middlewares.mjs +28 -25
  126. package/dist/loaders/middlewares.mjs.map +1 -1
  127. package/dist/loaders/plugins/get-enabled-plugins.js +126 -131
  128. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  129. package/dist/loaders/plugins/get-enabled-plugins.mjs +125 -108
  130. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  131. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  132. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  133. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  134. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  135. package/dist/loaders/plugins/index.js +132 -122
  136. package/dist/loaders/plugins/index.js.map +1 -1
  137. package/dist/loaders/plugins/index.mjs +121 -112
  138. package/dist/loaders/plugins/index.mjs.map +1 -1
  139. package/dist/loaders/policies.js +24 -20
  140. package/dist/loaders/policies.js.map +1 -1
  141. package/dist/loaders/policies.mjs +23 -20
  142. package/dist/loaders/policies.mjs.map +1 -1
  143. package/dist/loaders/sanitizers.js +10 -4
  144. package/dist/loaders/sanitizers.js.map +1 -1
  145. package/dist/loaders/sanitizers.mjs +9 -6
  146. package/dist/loaders/sanitizers.mjs.map +1 -1
  147. package/dist/loaders/src-index.js +35 -27
  148. package/dist/loaders/src-index.js.map +1 -1
  149. package/dist/loaders/src-index.mjs +34 -29
  150. package/dist/loaders/src-index.mjs.map +1 -1
  151. package/dist/loaders/validators.js +9 -4
  152. package/dist/loaders/validators.js.map +1 -1
  153. package/dist/loaders/validators.mjs +8 -6
  154. package/dist/loaders/validators.mjs.map +1 -1
  155. package/dist/middlewares/body.d.ts.map +1 -1
  156. package/dist/middlewares/body.js +58 -54
  157. package/dist/middlewares/body.js.map +1 -1
  158. package/dist/middlewares/body.mjs +57 -51
  159. package/dist/middlewares/body.mjs.map +1 -1
  160. package/dist/middlewares/compression.js +6 -6
  161. package/dist/middlewares/compression.js.map +1 -1
  162. package/dist/middlewares/compression.mjs +5 -5
  163. package/dist/middlewares/compression.mjs.map +1 -1
  164. package/dist/middlewares/cors.js +59 -48
  165. package/dist/middlewares/cors.js.map +1 -1
  166. package/dist/middlewares/cors.mjs +58 -47
  167. package/dist/middlewares/cors.mjs.map +1 -1
  168. package/dist/middlewares/errors.js +32 -30
  169. package/dist/middlewares/errors.js.map +1 -1
  170. package/dist/middlewares/errors.mjs +31 -31
  171. package/dist/middlewares/errors.mjs.map +1 -1
  172. package/dist/middlewares/favicon.js +27 -17
  173. package/dist/middlewares/favicon.js.map +1 -1
  174. package/dist/middlewares/favicon.mjs +26 -16
  175. package/dist/middlewares/favicon.mjs.map +1 -1
  176. package/dist/middlewares/index.js +32 -30
  177. package/dist/middlewares/index.js.map +1 -1
  178. package/dist/middlewares/index.mjs +31 -31
  179. package/dist/middlewares/index.mjs.map +1 -1
  180. package/dist/middlewares/ip.js +6 -6
  181. package/dist/middlewares/ip.js.map +1 -1
  182. package/dist/middlewares/ip.mjs +5 -5
  183. package/dist/middlewares/ip.mjs.map +1 -1
  184. package/dist/middlewares/logger.js +10 -9
  185. package/dist/middlewares/logger.js.map +1 -1
  186. package/dist/middlewares/logger.mjs +9 -10
  187. package/dist/middlewares/logger.mjs.map +1 -1
  188. package/dist/middlewares/powered-by.js +13 -9
  189. package/dist/middlewares/powered-by.js.map +1 -1
  190. package/dist/middlewares/powered-by.mjs +12 -10
  191. package/dist/middlewares/powered-by.mjs.map +1 -1
  192. package/dist/middlewares/public.js +33 -29
  193. package/dist/middlewares/public.js.map +1 -1
  194. package/dist/middlewares/public.mjs +32 -28
  195. package/dist/middlewares/public.mjs.map +1 -1
  196. package/dist/middlewares/query.js +35 -32
  197. package/dist/middlewares/query.js.map +1 -1
  198. package/dist/middlewares/query.mjs +34 -31
  199. package/dist/middlewares/query.mjs.map +1 -1
  200. package/dist/middlewares/response-time.js +10 -9
  201. package/dist/middlewares/response-time.js.map +1 -1
  202. package/dist/middlewares/response-time.mjs +9 -10
  203. package/dist/middlewares/response-time.mjs.map +1 -1
  204. package/dist/middlewares/responses.js +14 -12
  205. package/dist/middlewares/responses.js.map +1 -1
  206. package/dist/middlewares/responses.mjs +13 -13
  207. package/dist/middlewares/responses.mjs.map +1 -1
  208. package/dist/middlewares/security.js +109 -71
  209. package/dist/middlewares/security.js.map +1 -1
  210. package/dist/middlewares/security.mjs +108 -70
  211. package/dist/middlewares/security.mjs.map +1 -1
  212. package/dist/middlewares/session.js +26 -25
  213. package/dist/middlewares/session.js.map +1 -1
  214. package/dist/middlewares/session.mjs +25 -24
  215. package/dist/middlewares/session.mjs.map +1 -1
  216. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -2
  217. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  218. package/dist/migrations/database/5.0.0-discard-drafts.js +154 -80
  219. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  220. package/dist/migrations/database/5.0.0-discard-drafts.mjs +153 -82
  221. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  222. package/dist/migrations/draft-publish.d.ts +2 -2
  223. package/dist/migrations/draft-publish.d.ts.map +1 -1
  224. package/dist/migrations/draft-publish.js +61 -34
  225. package/dist/migrations/draft-publish.js.map +1 -1
  226. package/dist/migrations/draft-publish.mjs +60 -36
  227. package/dist/migrations/draft-publish.mjs.map +1 -1
  228. package/dist/migrations/i18n.d.ts +5 -0
  229. package/dist/migrations/i18n.d.ts.map +1 -0
  230. package/dist/migrations/i18n.js +71 -0
  231. package/dist/migrations/i18n.js.map +1 -0
  232. package/dist/migrations/i18n.mjs +68 -0
  233. package/dist/migrations/i18n.mjs.map +1 -0
  234. package/dist/migrations/index.d.ts +5 -0
  235. package/dist/migrations/index.d.ts.map +1 -0
  236. package/dist/migrations/index.js +29 -0
  237. package/dist/migrations/index.js.map +1 -0
  238. package/dist/migrations/index.mjs +26 -0
  239. package/dist/migrations/index.mjs.map +1 -0
  240. package/dist/package.json.js +182 -0
  241. package/dist/package.json.js.map +1 -0
  242. package/dist/package.json.mjs +159 -0
  243. package/dist/package.json.mjs.map +1 -0
  244. package/dist/providers/admin.js +27 -17
  245. package/dist/providers/admin.js.map +1 -1
  246. package/dist/providers/admin.mjs +26 -19
  247. package/dist/providers/admin.mjs.map +1 -1
  248. package/dist/providers/coreStore.js +13 -8
  249. package/dist/providers/coreStore.js.map +1 -1
  250. package/dist/providers/coreStore.mjs +12 -10
  251. package/dist/providers/coreStore.mjs.map +1 -1
  252. package/dist/providers/cron.js +19 -16
  253. package/dist/providers/cron.js.map +1 -1
  254. package/dist/providers/cron.mjs +18 -18
  255. package/dist/providers/cron.mjs.map +1 -1
  256. package/dist/providers/index.js +18 -9
  257. package/dist/providers/index.js.map +1 -1
  258. package/dist/providers/index.mjs +17 -10
  259. package/dist/providers/index.mjs.map +1 -1
  260. package/dist/providers/provider.js +4 -3
  261. package/dist/providers/provider.js.map +1 -1
  262. package/dist/providers/provider.mjs +3 -4
  263. package/dist/providers/provider.mjs.map +1 -1
  264. package/dist/providers/registries.js +37 -32
  265. package/dist/providers/registries.js.map +1 -1
  266. package/dist/providers/registries.mjs +36 -34
  267. package/dist/providers/registries.mjs.map +1 -1
  268. package/dist/providers/telemetry.js +19 -16
  269. package/dist/providers/telemetry.js.map +1 -1
  270. package/dist/providers/telemetry.mjs +18 -18
  271. package/dist/providers/telemetry.mjs.map +1 -1
  272. package/dist/providers/webhooks.js +28 -26
  273. package/dist/providers/webhooks.js.map +1 -1
  274. package/dist/providers/webhooks.mjs +27 -28
  275. package/dist/providers/webhooks.mjs.map +1 -1
  276. package/dist/registries/apis.js +23 -20
  277. package/dist/registries/apis.js.map +1 -1
  278. package/dist/registries/apis.mjs +22 -22
  279. package/dist/registries/apis.mjs.map +1 -1
  280. package/dist/registries/components.js +35 -37
  281. package/dist/registries/components.js.map +1 -1
  282. package/dist/registries/components.mjs +34 -39
  283. package/dist/registries/components.mjs.map +1 -1
  284. package/dist/registries/content-types.js +54 -59
  285. package/dist/registries/content-types.js.map +1 -1
  286. package/dist/registries/content-types.mjs +53 -61
  287. package/dist/registries/content-types.mjs.map +1 -1
  288. package/dist/registries/controllers.js +70 -71
  289. package/dist/registries/controllers.js.map +1 -1
  290. package/dist/registries/controllers.mjs +69 -73
  291. package/dist/registries/controllers.mjs.map +1 -1
  292. package/dist/registries/custom-fields.js +75 -65
  293. package/dist/registries/custom-fields.js.map +1 -1
  294. package/dist/registries/custom-fields.mjs +74 -67
  295. package/dist/registries/custom-fields.mjs.map +1 -1
  296. package/dist/registries/hooks.js +46 -49
  297. package/dist/registries/hooks.js.map +1 -1
  298. package/dist/registries/hooks.mjs +45 -51
  299. package/dist/registries/hooks.mjs.map +1 -1
  300. package/dist/registries/middlewares.js +49 -51
  301. package/dist/registries/middlewares.js.map +1 -1
  302. package/dist/registries/middlewares.mjs +48 -53
  303. package/dist/registries/middlewares.mjs.map +1 -1
  304. package/dist/registries/models.js +14 -13
  305. package/dist/registries/models.js.map +1 -1
  306. package/dist/registries/models.mjs +13 -14
  307. package/dist/registries/models.mjs.map +1 -1
  308. package/dist/registries/modules.js +39 -36
  309. package/dist/registries/modules.js.map +1 -1
  310. package/dist/registries/modules.mjs +38 -38
  311. package/dist/registries/modules.mjs.map +1 -1
  312. package/dist/registries/namespace.js +21 -20
  313. package/dist/registries/namespace.js.map +1 -1
  314. package/dist/registries/namespace.mjs +20 -23
  315. package/dist/registries/namespace.mjs.map +1 -1
  316. package/dist/registries/plugins.js +23 -20
  317. package/dist/registries/plugins.js.map +1 -1
  318. package/dist/registries/plugins.mjs +22 -22
  319. package/dist/registries/plugins.mjs.map +1 -1
  320. package/dist/registries/policies.js +103 -96
  321. package/dist/registries/policies.js.map +1 -1
  322. package/dist/registries/policies.mjs +102 -98
  323. package/dist/registries/policies.mjs.map +1 -1
  324. package/dist/registries/sanitizers.js +23 -22
  325. package/dist/registries/sanitizers.js.map +1 -1
  326. package/dist/registries/sanitizers.mjs +22 -22
  327. package/dist/registries/sanitizers.mjs.map +1 -1
  328. package/dist/registries/services.js +71 -71
  329. package/dist/registries/services.js.map +1 -1
  330. package/dist/registries/services.mjs +70 -73
  331. package/dist/registries/services.mjs.map +1 -1
  332. package/dist/registries/validators.js +23 -22
  333. package/dist/registries/validators.js.map +1 -1
  334. package/dist/registries/validators.mjs +22 -22
  335. package/dist/registries/validators.mjs.map +1 -1
  336. package/dist/services/auth/index.js +74 -74
  337. package/dist/services/auth/index.js.map +1 -1
  338. package/dist/services/auth/index.mjs +73 -74
  339. package/dist/services/auth/index.mjs.map +1 -1
  340. package/dist/services/config.js +47 -43
  341. package/dist/services/config.js.map +1 -1
  342. package/dist/services/config.mjs +46 -44
  343. package/dist/services/config.mjs.map +1 -1
  344. package/dist/services/content-api/index.js +80 -79
  345. package/dist/services/content-api/index.js.map +1 -1
  346. package/dist/services/content-api/index.mjs +79 -79
  347. package/dist/services/content-api/index.mjs.map +1 -1
  348. package/dist/services/content-api/permissions/engine.js +8 -5
  349. package/dist/services/content-api/permissions/engine.js.map +1 -1
  350. package/dist/services/content-api/permissions/engine.mjs +7 -5
  351. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  352. package/dist/services/content-api/permissions/index.js +101 -81
  353. package/dist/services/content-api/permissions/index.js.map +1 -1
  354. package/dist/services/content-api/permissions/index.mjs +100 -81
  355. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  356. package/dist/services/content-api/permissions/providers/action.js +17 -14
  357. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  358. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  359. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  360. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  361. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  362. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  363. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  364. package/dist/services/core-store.js +115 -95
  365. package/dist/services/core-store.js.map +1 -1
  366. package/dist/services/core-store.mjs +114 -97
  367. package/dist/services/core-store.mjs.map +1 -1
  368. package/dist/services/cron.js +74 -60
  369. package/dist/services/cron.js.map +1 -1
  370. package/dist/services/cron.mjs +73 -62
  371. package/dist/services/cron.mjs.map +1 -1
  372. package/dist/services/custom-fields.js +9 -7
  373. package/dist/services/custom-fields.js.map +1 -1
  374. package/dist/services/custom-fields.mjs +8 -9
  375. package/dist/services/custom-fields.mjs.map +1 -1
  376. package/dist/services/document-service/attributes/index.js +23 -18
  377. package/dist/services/document-service/attributes/index.js.map +1 -1
  378. package/dist/services/document-service/attributes/index.mjs +22 -19
  379. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  380. package/dist/services/document-service/attributes/transforms.js +16 -15
  381. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  382. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  383. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  384. package/dist/services/document-service/common.d.ts +1 -1
  385. package/dist/services/document-service/common.d.ts.map +1 -1
  386. package/dist/services/document-service/common.js +5 -4
  387. package/dist/services/document-service/common.js.map +1 -1
  388. package/dist/services/document-service/common.mjs +4 -5
  389. package/dist/services/document-service/common.mjs.map +1 -1
  390. package/dist/services/document-service/components.d.ts.map +1 -1
  391. package/dist/services/document-service/components.js +255 -257
  392. package/dist/services/document-service/components.js.map +1 -1
  393. package/dist/services/document-service/components.mjs +254 -262
  394. package/dist/services/document-service/components.mjs.map +1 -1
  395. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  396. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  397. package/dist/services/document-service/draft-and-publish.js +88 -48
  398. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  399. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  400. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  401. package/dist/services/document-service/entries.d.ts +2 -2
  402. package/dist/services/document-service/entries.d.ts.map +1 -1
  403. package/dist/services/document-service/entries.js +109 -92
  404. package/dist/services/document-service/entries.js.map +1 -1
  405. package/dist/services/document-service/entries.mjs +108 -93
  406. package/dist/services/document-service/entries.mjs.map +1 -1
  407. package/dist/services/document-service/events.d.ts +1 -1
  408. package/dist/services/document-service/events.d.ts.map +1 -1
  409. package/dist/services/document-service/events.js +52 -40
  410. package/dist/services/document-service/events.js.map +1 -1
  411. package/dist/services/document-service/events.mjs +51 -41
  412. package/dist/services/document-service/events.mjs.map +1 -1
  413. package/dist/services/document-service/index.d.ts +2 -1
  414. package/dist/services/document-service/index.d.ts.map +1 -1
  415. package/dist/services/document-service/index.js +53 -32
  416. package/dist/services/document-service/index.js.map +1 -1
  417. package/dist/services/document-service/index.mjs +52 -33
  418. package/dist/services/document-service/index.mjs.map +1 -1
  419. package/dist/services/document-service/internationalization.js +62 -46
  420. package/dist/services/document-service/internationalization.js.map +1 -1
  421. package/dist/services/document-service/internationalization.mjs +61 -50
  422. package/dist/services/document-service/internationalization.mjs.map +1 -1
  423. package/dist/services/document-service/middlewares/errors.js +23 -19
  424. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  425. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  426. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  427. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  428. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  429. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  430. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  431. package/dist/services/document-service/params.js +11 -5
  432. package/dist/services/document-service/params.js.map +1 -1
  433. package/dist/services/document-service/params.mjs +10 -6
  434. package/dist/services/document-service/params.mjs.map +1 -1
  435. package/dist/services/document-service/repository.d.ts.map +1 -1
  436. package/dist/services/document-service/repository.js +354 -304
  437. package/dist/services/document-service/repository.js.map +1 -1
  438. package/dist/services/document-service/repository.mjs +353 -305
  439. package/dist/services/document-service/repository.mjs.map +1 -1
  440. package/dist/services/document-service/transform/data.js +22 -12
  441. package/dist/services/document-service/transform/data.js.map +1 -1
  442. package/dist/services/document-service/transform/data.mjs +21 -13
  443. package/dist/services/document-service/transform/data.mjs.map +1 -1
  444. package/dist/services/document-service/transform/fields.js +26 -17
  445. package/dist/services/document-service/transform/fields.js.map +1 -1
  446. package/dist/services/document-service/transform/fields.mjs +25 -18
  447. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  448. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  449. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  450. package/dist/services/document-service/transform/id-map.js +116 -69
  451. package/dist/services/document-service/transform/id-map.js.map +1 -1
  452. package/dist/services/document-service/transform/id-map.mjs +115 -70
  453. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  454. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  455. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  456. package/dist/services/document-service/transform/id-transform.js +37 -29
  457. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  458. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  459. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  460. package/dist/services/document-service/transform/populate.js +23 -18
  461. package/dist/services/document-service/transform/populate.js.map +1 -1
  462. package/dist/services/document-service/transform/populate.mjs +22 -19
  463. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  464. package/dist/services/document-service/transform/query.js +11 -6
  465. package/dist/services/document-service/transform/query.js.map +1 -1
  466. package/dist/services/document-service/transform/query.mjs +10 -7
  467. package/dist/services/document-service/transform/query.mjs.map +1 -1
  468. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  469. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  470. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  471. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  472. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  473. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  474. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  475. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  476. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  477. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  478. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  479. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  480. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  481. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  482. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  483. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  484. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  485. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  486. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  487. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  488. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  489. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  490. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  491. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  492. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  493. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  494. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  495. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  496. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  497. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  498. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  499. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  500. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  501. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  502. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  503. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  504. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  505. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  506. package/dist/services/document-service/utils/populate.d.ts +1 -1
  507. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  508. package/dist/services/document-service/utils/populate.js +66 -42
  509. package/dist/services/document-service/utils/populate.js.map +1 -1
  510. package/dist/services/document-service/utils/populate.mjs +65 -43
  511. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  512. package/dist/services/document-service/utils/unidirectional-relations.d.ts +12 -9
  513. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  514. package/dist/services/document-service/utils/unidirectional-relations.js +110 -52
  515. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -1
  516. package/dist/services/document-service/utils/unidirectional-relations.mjs +109 -54
  517. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -1
  518. package/dist/services/entity-service/index.js +230 -161
  519. package/dist/services/entity-service/index.js.map +1 -1
  520. package/dist/services/entity-service/index.mjs +229 -160
  521. package/dist/services/entity-service/index.mjs.map +1 -1
  522. package/dist/services/entity-validator/blocks-validator.js +135 -103
  523. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  524. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  525. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  526. package/dist/services/entity-validator/index.d.ts +1 -1
  527. package/dist/services/entity-validator/index.d.ts.map +1 -1
  528. package/dist/services/entity-validator/index.js +362 -363
  529. package/dist/services/entity-validator/index.js.map +1 -1
  530. package/dist/services/entity-validator/index.mjs +358 -360
  531. package/dist/services/entity-validator/index.mjs.map +1 -1
  532. package/dist/services/entity-validator/validators.js +268 -210
  533. package/dist/services/entity-validator/validators.js.map +1 -1
  534. package/dist/services/entity-validator/validators.mjs +267 -216
  535. package/dist/services/entity-validator/validators.mjs.map +1 -1
  536. package/dist/services/errors.js +65 -65
  537. package/dist/services/errors.js.map +1 -1
  538. package/dist/services/errors.mjs +64 -66
  539. package/dist/services/errors.mjs.map +1 -1
  540. package/dist/services/event-hub.js +82 -69
  541. package/dist/services/event-hub.js.map +1 -1
  542. package/dist/services/event-hub.mjs +81 -71
  543. package/dist/services/event-hub.mjs.map +1 -1
  544. package/dist/services/features.js +19 -14
  545. package/dist/services/features.js.map +1 -1
  546. package/dist/services/features.mjs +18 -15
  547. package/dist/services/features.mjs.map +1 -1
  548. package/dist/services/fs.js +41 -40
  549. package/dist/services/fs.js.map +1 -1
  550. package/dist/services/fs.mjs +40 -39
  551. package/dist/services/fs.mjs.map +1 -1
  552. package/dist/services/metrics/admin-user-hash.js +13 -11
  553. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  554. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  555. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  556. package/dist/services/metrics/index.js +46 -40
  557. package/dist/services/metrics/index.js.map +1 -1
  558. package/dist/services/metrics/index.mjs +45 -42
  559. package/dist/services/metrics/index.mjs.map +1 -1
  560. package/dist/services/metrics/is-truthy.js +13 -6
  561. package/dist/services/metrics/is-truthy.js.map +1 -1
  562. package/dist/services/metrics/is-truthy.mjs +12 -6
  563. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  564. package/dist/services/metrics/middleware.d.ts.map +1 -1
  565. package/dist/services/metrics/middleware.js +37 -22
  566. package/dist/services/metrics/middleware.js.map +1 -1
  567. package/dist/services/metrics/middleware.mjs +36 -24
  568. package/dist/services/metrics/middleware.mjs.map +1 -1
  569. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  570. package/dist/services/metrics/rate-limiter.js +24 -19
  571. package/dist/services/metrics/rate-limiter.js.map +1 -1
  572. package/dist/services/metrics/rate-limiter.mjs +23 -21
  573. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  574. package/dist/services/metrics/sender.js +78 -69
  575. package/dist/services/metrics/sender.js.map +1 -1
  576. package/dist/services/metrics/sender.mjs +77 -64
  577. package/dist/services/metrics/sender.mjs.map +1 -1
  578. package/dist/services/query-params.js +13 -10
  579. package/dist/services/query-params.js.map +1 -1
  580. package/dist/services/query-params.mjs +12 -12
  581. package/dist/services/query-params.mjs.map +1 -1
  582. package/dist/services/reloader.js +35 -32
  583. package/dist/services/reloader.js.map +1 -1
  584. package/dist/services/reloader.mjs +34 -33
  585. package/dist/services/reloader.mjs.map +1 -1
  586. package/dist/services/request-context.js +11 -8
  587. package/dist/services/request-context.js.map +1 -1
  588. package/dist/services/request-context.mjs +10 -10
  589. package/dist/services/request-context.mjs.map +1 -1
  590. package/dist/services/server/admin-api.js +11 -10
  591. package/dist/services/server/admin-api.js.map +1 -1
  592. package/dist/services/server/admin-api.mjs +10 -11
  593. package/dist/services/server/admin-api.mjs.map +1 -1
  594. package/dist/services/server/api.js +33 -27
  595. package/dist/services/server/api.js.map +1 -1
  596. package/dist/services/server/api.mjs +32 -26
  597. package/dist/services/server/api.mjs.map +1 -1
  598. package/dist/services/server/compose-endpoint.js +116 -105
  599. package/dist/services/server/compose-endpoint.js.map +1 -1
  600. package/dist/services/server/compose-endpoint.mjs +115 -105
  601. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  602. package/dist/services/server/content-api.js +11 -9
  603. package/dist/services/server/content-api.js.map +1 -1
  604. package/dist/services/server/content-api.mjs +10 -10
  605. package/dist/services/server/content-api.mjs.map +1 -1
  606. package/dist/services/server/http-server.js +48 -44
  607. package/dist/services/server/http-server.js.map +1 -1
  608. package/dist/services/server/http-server.mjs +47 -43
  609. package/dist/services/server/http-server.mjs.map +1 -1
  610. package/dist/services/server/index.js +85 -82
  611. package/dist/services/server/index.js.map +1 -1
  612. package/dist/services/server/index.mjs +84 -81
  613. package/dist/services/server/index.mjs.map +1 -1
  614. package/dist/services/server/koa.js +49 -47
  615. package/dist/services/server/koa.js.map +1 -1
  616. package/dist/services/server/koa.mjs +48 -44
  617. package/dist/services/server/koa.mjs.map +1 -1
  618. package/dist/services/server/middleware.js +86 -82
  619. package/dist/services/server/middleware.js.map +1 -1
  620. package/dist/services/server/middleware.mjs +85 -82
  621. package/dist/services/server/middleware.mjs.map +1 -1
  622. package/dist/services/server/policy.js +24 -17
  623. package/dist/services/server/policy.js.map +1 -1
  624. package/dist/services/server/policy.mjs +23 -18
  625. package/dist/services/server/policy.mjs.map +1 -1
  626. package/dist/services/server/register-middlewares.js +68 -61
  627. package/dist/services/server/register-middlewares.js.map +1 -1
  628. package/dist/services/server/register-middlewares.mjs +67 -63
  629. package/dist/services/server/register-middlewares.mjs.map +1 -1
  630. package/dist/services/server/register-routes.js +90 -67
  631. package/dist/services/server/register-routes.js.map +1 -1
  632. package/dist/services/server/register-routes.mjs +89 -67
  633. package/dist/services/server/register-routes.mjs.map +1 -1
  634. package/dist/services/server/routing.js +94 -81
  635. package/dist/services/server/routing.js.map +1 -1
  636. package/dist/services/server/routing.mjs +93 -81
  637. package/dist/services/server/routing.mjs.map +1 -1
  638. package/dist/services/utils/dynamic-zones.js +13 -14
  639. package/dist/services/utils/dynamic-zones.js.map +1 -1
  640. package/dist/services/utils/dynamic-zones.mjs +12 -16
  641. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  642. package/dist/services/webhook-runner.js +124 -122
  643. package/dist/services/webhook-runner.js.map +1 -1
  644. package/dist/services/webhook-runner.mjs +123 -121
  645. package/dist/services/webhook-runner.mjs.map +1 -1
  646. package/dist/services/webhook-store.js +132 -99
  647. package/dist/services/webhook-store.js.map +1 -1
  648. package/dist/services/webhook-store.mjs +131 -101
  649. package/dist/services/webhook-store.mjs.map +1 -1
  650. package/dist/services/worker-queue.js +44 -49
  651. package/dist/services/worker-queue.js.map +1 -1
  652. package/dist/services/worker-queue.mjs +43 -49
  653. package/dist/services/worker-queue.mjs.map +1 -1
  654. package/dist/utils/convert-custom-field-type.js +17 -20
  655. package/dist/utils/convert-custom-field-type.js.map +1 -1
  656. package/dist/utils/convert-custom-field-type.mjs +16 -21
  657. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  658. package/dist/utils/cron.js +64 -30
  659. package/dist/utils/cron.js.map +1 -1
  660. package/dist/utils/cron.mjs +63 -31
  661. package/dist/utils/cron.mjs.map +1 -1
  662. package/dist/utils/fetch.js +24 -18
  663. package/dist/utils/fetch.js.map +1 -1
  664. package/dist/utils/fetch.mjs +23 -19
  665. package/dist/utils/fetch.mjs.map +1 -1
  666. package/dist/utils/filepath-to-prop-path.js +20 -28
  667. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  668. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  669. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  670. package/dist/utils/is-initialized.js +21 -12
  671. package/dist/utils/is-initialized.js.map +1 -1
  672. package/dist/utils/is-initialized.mjs +20 -13
  673. package/dist/utils/is-initialized.mjs.map +1 -1
  674. package/dist/utils/lifecycles.js +6 -5
  675. package/dist/utils/lifecycles.js.map +1 -1
  676. package/dist/utils/lifecycles.mjs +5 -6
  677. package/dist/utils/lifecycles.mjs.map +1 -1
  678. package/dist/utils/load-config-file.js +40 -38
  679. package/dist/utils/load-config-file.js.map +1 -1
  680. package/dist/utils/load-config-file.mjs +39 -36
  681. package/dist/utils/load-config-file.mjs.map +1 -1
  682. package/dist/utils/load-files.js +40 -35
  683. package/dist/utils/load-files.js.map +1 -1
  684. package/dist/utils/load-files.mjs +39 -32
  685. package/dist/utils/load-files.mjs.map +1 -1
  686. package/dist/utils/open-browser.js +8 -8
  687. package/dist/utils/open-browser.js.map +1 -1
  688. package/dist/utils/open-browser.mjs +7 -7
  689. package/dist/utils/open-browser.mjs.map +1 -1
  690. package/dist/utils/resolve-working-dirs.js +23 -10
  691. package/dist/utils/resolve-working-dirs.js.map +1 -1
  692. package/dist/utils/resolve-working-dirs.mjs +22 -9
  693. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  694. package/dist/utils/signals.js +20 -14
  695. package/dist/utils/signals.js.map +1 -1
  696. package/dist/utils/signals.mjs +19 -15
  697. package/dist/utils/signals.mjs.map +1 -1
  698. package/dist/utils/startup-logger.d.ts.map +1 -1
  699. package/dist/utils/startup-logger.js +107 -78
  700. package/dist/utils/startup-logger.js.map +1 -1
  701. package/dist/utils/startup-logger.mjs +106 -75
  702. package/dist/utils/startup-logger.mjs.map +1 -1
  703. package/dist/utils/transform-content-types-to-models.d.ts +353 -21
  704. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  705. package/dist/utils/transform-content-types-to-models.js +350 -261
  706. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  707. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  708. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  709. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  710. package/dist/utils/update-notifier/index.js +68 -73
  711. package/dist/utils/update-notifier/index.js.map +1 -1
  712. package/dist/utils/update-notifier/index.mjs +67 -67
  713. package/dist/utils/update-notifier/index.mjs.map +1 -1
  714. package/package.json +27 -28
@@ -1,24 +1,24 @@
1
- import { has } from "lodash/fp";
2
- const pluginsRegistry = (strapi) => {
3
- const plugins = {};
4
- return {
5
- get(name) {
6
- return plugins[name];
7
- },
8
- getAll() {
9
- return plugins;
10
- },
11
- add(name, pluginConfig) {
12
- if (has(name, plugins)) {
13
- throw new Error(`Plugin ${name} has already been registered.`);
14
- }
15
- const pluginModule = strapi.get("modules").add(`plugin::${name}`, pluginConfig);
16
- plugins[name] = pluginModule;
17
- return plugins[name];
18
- }
19
- };
20
- };
21
- export {
22
- pluginsRegistry as default
1
+ import { has } from 'lodash/fp';
2
+
3
+ const pluginsRegistry = (strapi)=>{
4
+ const plugins = {};
5
+ return {
6
+ get (name) {
7
+ return plugins[name];
8
+ },
9
+ getAll () {
10
+ return plugins;
11
+ },
12
+ add (name, pluginConfig) {
13
+ if (has(name, plugins)) {
14
+ throw new Error(`Plugin ${name} has already been registered.`);
15
+ }
16
+ const pluginModule = strapi.get('modules').add(`plugin::${name}`, pluginConfig);
17
+ plugins[name] = pluginModule;
18
+ return plugins[name];
19
+ }
20
+ };
23
21
  };
22
+
23
+ export { pluginsRegistry as default };
24
24
  //# sourceMappingURL=plugins.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.mjs","sources":["../../src/registries/plugins.ts"],"sourcesContent":["import { has } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\n\ntype PluginMap = Record<string, Core.Plugin>;\n\nconst pluginsRegistry = (strapi: Core.Strapi) => {\n const plugins: PluginMap = {};\n\n return {\n get(name: string) {\n return plugins[name];\n },\n getAll() {\n return plugins;\n },\n add(name: string, pluginConfig: Core.Plugin) {\n if (has(name, plugins)) {\n throw new Error(`Plugin ${name} has already been registered.`);\n }\n\n const pluginModule = strapi.get('modules').add(`plugin::${name}`, pluginConfig);\n plugins[name] = pluginModule;\n\n return plugins[name];\n },\n };\n};\n\nexport default pluginsRegistry;\n"],"names":[],"mappings":";AAMM,MAAA,kBAAkB,CAAC,WAAwB;AAC/C,QAAM,UAAqB,CAAA;AAEpB,SAAA;AAAA,IACL,IAAI,MAAc;AAChB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAc,cAA2B;AACvC,UAAA,IAAI,MAAM,OAAO,GAAG;AACtB,cAAM,IAAI,MAAM,UAAU,IAAI,+BAA+B;AAAA,MAC/D;AAEM,YAAA,eAAe,OAAO,IAAI,SAAS,EAAE,IAAI,WAAW,IAAI,IAAI,YAAY;AAC9E,cAAQ,IAAI,IAAI;AAEhB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"plugins.mjs","sources":["../../src/registries/plugins.ts"],"sourcesContent":["import { has } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\n\ntype PluginMap = Record<string, Core.Plugin>;\n\nconst pluginsRegistry = (strapi: Core.Strapi) => {\n const plugins: PluginMap = {};\n\n return {\n get(name: string) {\n return plugins[name];\n },\n getAll() {\n return plugins;\n },\n add(name: string, pluginConfig: Core.Plugin) {\n if (has(name, plugins)) {\n throw new Error(`Plugin ${name} has already been registered.`);\n }\n\n const pluginModule = strapi.get('modules').add(`plugin::${name}`, pluginConfig);\n plugins[name] = pluginModule;\n\n return plugins[name];\n },\n };\n};\n\nexport default pluginsRegistry;\n"],"names":["pluginsRegistry","strapi","plugins","get","name","getAll","add","pluginConfig","has","Error","pluginModule"],"mappings":";;AAMA,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;AACvB,IAAA,MAAMC,UAAqB,EAAC;IAE5B,OAAO;AACLC,QAAAA,GAAAA,CAAAA,CAAIC,IAAY,EAAA;YACd,OAAOF,OAAO,CAACE,IAAK,CAAA;AACtB,SAAA;AACAC,QAAAA,MAAAA,CAAAA,GAAAA;YACE,OAAOH,OAAAA;AACT,SAAA;QACAI,GAAIF,CAAAA,CAAAA,IAAY,EAAEG,YAAyB,EAAA;YACzC,IAAIC,GAAAA,CAAIJ,MAAMF,OAAU,CAAA,EAAA;AACtB,gBAAA,MAAM,IAAIO,KAAM,CAAA,CAAC,OAAO,EAAEL,IAAAA,CAAK,6BAA6B,CAAC,CAAA;AAC/D;AAEA,YAAA,MAAMM,YAAeT,GAAAA,MAAAA,CAAOE,GAAG,CAAC,SAAWG,CAAAA,CAAAA,GAAG,CAAC,CAAC,QAAQ,EAAEF,IAAK,CAAA,CAAC,EAAEG,YAAAA,CAAAA;YAClEL,OAAO,CAACE,KAAK,GAAGM,YAAAA;YAEhB,OAAOR,OAAO,CAACE,IAAK,CAAA;AACtB;AACF,KAAA;AACF;;;;"}
@@ -1,108 +1,115 @@
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;
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var namespace = require('./namespace.js');
5
+
6
+ const PLUGIN_PREFIX = 'plugin::';
7
+ const API_PREFIX = 'api::';
8
+ const parsePolicy = (policy)=>{
9
+ if (typeof policy === 'string') {
10
+ return {
11
+ policyName: policy,
12
+ config: {}
13
+ };
41
14
  }
42
- if (policy.validator) {
43
- policy.validator(config);
15
+ const { name, config } = policy;
16
+ return {
17
+ policyName: name,
18
+ config
19
+ };
20
+ };
21
+ const policiesRegistry = ()=>{
22
+ const policies = new Map();
23
+ const find = (name, namespaceInfo)=>{
24
+ const { pluginName, apiName } = namespaceInfo ?? {};
25
+ // try to resolve a full name to avoid extra prefixing
26
+ const policy = policies.get(name);
27
+ if (policy) {
28
+ return policy;
29
+ }
30
+ if (pluginName) {
31
+ return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);
32
+ }
33
+ if (apiName) {
34
+ return policies.get(`${API_PREFIX}${apiName}.${name}`);
35
+ }
36
+ };
37
+ function resolveHandler(policyConfig, namespaceInfo) {
38
+ if (Array.isArray(policyConfig)) {
39
+ return policyConfig.map((config)=>{
40
+ return resolveHandler(config, namespaceInfo);
41
+ });
42
+ }
43
+ const { policyName, config } = parsePolicy(policyConfig);
44
+ const policy = find(policyName, namespaceInfo);
45
+ if (!policy) {
46
+ throw new Error(`Policy ${policyName} not found.`);
47
+ }
48
+ if (typeof policy === 'function') {
49
+ return policy;
50
+ }
51
+ if (policy.validator) {
52
+ policy.validator(config);
53
+ }
54
+ return policy.handler;
44
55
  }
45
- return policy.handler;
46
- }
47
- return {
48
- /**
56
+ return {
57
+ /**
49
58
  * Returns this list of registered policies uids
50
- */
51
- keys() {
52
- return Array.from(policies.keys());
53
- },
54
- /**
59
+ */ keys () {
60
+ // Return an array so format stays the same as controllers, services, etc
61
+ return Array.from(policies.keys());
62
+ },
63
+ /**
55
64
  * 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
- /**
65
+ */ get (name, namespaceInfo) {
66
+ return find(name, namespaceInfo);
67
+ },
68
+ /**
61
69
  * Checks if a policy is registered
62
- */
63
- has(name, namespaceInfo) {
64
- const res = find(name, namespaceInfo);
65
- return !!res;
66
- },
67
- /**
70
+ */ has (name, namespaceInfo) {
71
+ const res = find(name, namespaceInfo);
72
+ return !!res;
73
+ },
74
+ /**
68
75
  * 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
- /**
76
+ */ getAll (namespace$1) {
77
+ return fp.pickBy((_, uid)=>namespace.hasNamespace(uid, namespace$1))(Object.fromEntries(policies));
78
+ },
79
+ /**
74
80
  * Registers a policy
75
- */
76
- set(uid, policy) {
77
- policies.set(uid, policy);
78
- return this;
79
- },
80
- /**
81
+ */ set (uid, policy) {
82
+ policies.set(uid, policy);
83
+ return this;
84
+ },
85
+ /**
81
86
  * 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
- /**
87
+ */ add (namespace$1, newPolicies) {
88
+ for (const policyName of Object.keys(newPolicies)){
89
+ const policy = newPolicies[policyName];
90
+ const uid = namespace.addNamespace(policyName, namespace$1);
91
+ if (fp.has(uid, policies)) {
92
+ throw new Error(`Policy ${uid} has already been registered.`);
93
+ }
94
+ policies.set(uid, policy);
95
+ }
96
+ },
97
+ /**
94
98
  * 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
- };
99
+ */ resolve (config, namespaceInfo) {
100
+ const { pluginName, apiName } = namespaceInfo ?? {};
101
+ return fp.castArray(config).map((policyConfig)=>{
102
+ return {
103
+ handler: resolveHandler(policyConfig, {
104
+ pluginName,
105
+ apiName
106
+ }),
107
+ config: typeof policyConfig === 'object' && policyConfig.config || {}
108
+ };
109
+ });
110
+ }
111
+ };
106
112
  };
113
+
107
114
  module.exports = policiesRegistry;
108
115
  //# sourceMappingURL=policies.js.map
@@ -1 +1 @@
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
+ {"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":["PLUGIN_PREFIX","API_PREFIX","parsePolicy","policy","policyName","config","name","policiesRegistry","policies","Map","find","namespaceInfo","pluginName","apiName","get","resolveHandler","policyConfig","Array","isArray","map","Error","validator","handler","keys","from","has","res","getAll","namespace","pickBy","_","uid","hasNamespace","Object","fromEntries","set","add","newPolicies","addNamespace","resolve","castArray"],"mappings":"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"}
@@ -1,109 +1,113 @@
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;
1
+ import { pickBy, has, castArray } from 'lodash/fp';
2
+ import { hasNamespace, addNamespace } from './namespace.mjs';
3
+
4
+ const PLUGIN_PREFIX = 'plugin::';
5
+ const API_PREFIX = 'api::';
6
+ const parsePolicy = (policy)=>{
7
+ if (typeof policy === 'string') {
8
+ return {
9
+ policyName: policy,
10
+ config: {}
11
+ };
40
12
  }
41
- if (policy.validator) {
42
- policy.validator(config);
13
+ const { name, config } = policy;
14
+ return {
15
+ policyName: name,
16
+ config
17
+ };
18
+ };
19
+ const policiesRegistry = ()=>{
20
+ const policies = new Map();
21
+ const find = (name, namespaceInfo)=>{
22
+ const { pluginName, apiName } = namespaceInfo ?? {};
23
+ // try to resolve a full name to avoid extra prefixing
24
+ const policy = policies.get(name);
25
+ if (policy) {
26
+ return policy;
27
+ }
28
+ if (pluginName) {
29
+ return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);
30
+ }
31
+ if (apiName) {
32
+ return policies.get(`${API_PREFIX}${apiName}.${name}`);
33
+ }
34
+ };
35
+ function resolveHandler(policyConfig, namespaceInfo) {
36
+ if (Array.isArray(policyConfig)) {
37
+ return policyConfig.map((config)=>{
38
+ return resolveHandler(config, namespaceInfo);
39
+ });
40
+ }
41
+ const { policyName, config } = parsePolicy(policyConfig);
42
+ const policy = find(policyName, namespaceInfo);
43
+ if (!policy) {
44
+ throw new Error(`Policy ${policyName} not found.`);
45
+ }
46
+ if (typeof policy === 'function') {
47
+ return policy;
48
+ }
49
+ if (policy.validator) {
50
+ policy.validator(config);
51
+ }
52
+ return policy.handler;
43
53
  }
44
- return policy.handler;
45
- }
46
- return {
47
- /**
54
+ return {
55
+ /**
48
56
  * Returns this list of registered policies uids
49
- */
50
- keys() {
51
- return Array.from(policies.keys());
52
- },
53
- /**
57
+ */ keys () {
58
+ // Return an array so format stays the same as controllers, services, etc
59
+ return Array.from(policies.keys());
60
+ },
61
+ /**
54
62
  * 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
- /**
63
+ */ get (name, namespaceInfo) {
64
+ return find(name, namespaceInfo);
65
+ },
66
+ /**
60
67
  * Checks if a policy is registered
61
- */
62
- has(name, namespaceInfo) {
63
- const res = find(name, namespaceInfo);
64
- return !!res;
65
- },
66
- /**
68
+ */ has (name, namespaceInfo) {
69
+ const res = find(name, namespaceInfo);
70
+ return !!res;
71
+ },
72
+ /**
67
73
  * 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
- /**
74
+ */ getAll (namespace) {
75
+ return pickBy((_, uid)=>hasNamespace(uid, namespace))(Object.fromEntries(policies));
76
+ },
77
+ /**
73
78
  * Registers a policy
74
- */
75
- set(uid, policy) {
76
- policies.set(uid, policy);
77
- return this;
78
- },
79
- /**
79
+ */ set (uid, policy) {
80
+ policies.set(uid, policy);
81
+ return this;
82
+ },
83
+ /**
80
84
  * 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
- /**
85
+ */ add (namespace, newPolicies) {
86
+ for (const policyName of Object.keys(newPolicies)){
87
+ const policy = newPolicies[policyName];
88
+ const uid = addNamespace(policyName, namespace);
89
+ if (has(uid, policies)) {
90
+ throw new Error(`Policy ${uid} has already been registered.`);
91
+ }
92
+ policies.set(uid, policy);
93
+ }
94
+ },
95
+ /**
93
96
  * 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
97
+ */ resolve (config, namespaceInfo) {
98
+ const { pluginName, apiName } = namespaceInfo ?? {};
99
+ return castArray(config).map((policyConfig)=>{
100
+ return {
101
+ handler: resolveHandler(policyConfig, {
102
+ pluginName,
103
+ apiName
104
+ }),
105
+ config: typeof policyConfig === 'object' && policyConfig.config || {}
106
+ };
107
+ });
108
+ }
109
+ };
108
110
  };
111
+
112
+ export { policiesRegistry as default };
109
113
  //# sourceMappingURL=policies.mjs.map
@@ -1 +1 @@
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
+ {"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":["PLUGIN_PREFIX","API_PREFIX","parsePolicy","policy","policyName","config","name","policiesRegistry","policies","Map","find","namespaceInfo","pluginName","apiName","get","resolveHandler","policyConfig","Array","isArray","map","Error","validator","handler","keys","from","has","res","getAll","namespace","pickBy","_","uid","hasNamespace","Object","fromEntries","set","add","newPolicies","addNamespace","resolve","castArray"],"mappings":"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"}
@@ -1,25 +1,26 @@
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
- };
1
+ 'use strict';
2
+
3
+ var _ = require('lodash');
4
+
5
+ const sanitizersRegistry = ()=>{
6
+ const sanitizers = {};
7
+ return {
8
+ get (path) {
9
+ return _.get(sanitizers, path, []);
10
+ },
11
+ add (path, sanitizer) {
12
+ this.get(path).push(sanitizer);
13
+ return this;
14
+ },
15
+ set (path, value = []) {
16
+ _.set(sanitizers, path, value);
17
+ return this;
18
+ },
19
+ has (path) {
20
+ return _.has(sanitizers, path);
21
+ }
22
+ };
23
23
  };
24
+
24
25
  module.exports = sanitizersRegistry;
25
26
  //# sourceMappingURL=sanitizers.js.map