@strapi/core 0.0.0-experimental.e9122b401c96877b6707775c4f893660eab93ae3 → 0.0.0-experimental.e9303c99ae3c28b4b8421ab6971efae0748dd599

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