@strapi/core 0.0.0-experimental.d23c1d5b0e45dd06ef09977f526c85468be05403 → 0.0.0-experimental.d2a56e52af31fcf0f0c582a5a2e58e310966e96b

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 (731) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +3 -1
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/configuration/index.d.ts.map +1 -1
  5. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  6. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  7. package/dist/core-api/service/collection-type.d.ts +3 -9
  8. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  9. package/dist/core-api/service/pagination.d.ts +4 -11
  10. package/dist/core-api/service/pagination.d.ts.map +1 -1
  11. package/dist/core-api/service/single-type.d.ts.map +1 -1
  12. package/dist/ee/index.d.ts.map +1 -1
  13. package/dist/index.d.ts +14 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +10110 -27
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.mjs +10088 -29
  18. package/dist/index.mjs.map +1 -1
  19. package/dist/loaders/apis.d.ts.map +1 -1
  20. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  21. package/dist/loaders/plugins/index.d.ts.map +1 -1
  22. package/dist/middlewares/body.d.ts.map +1 -1
  23. package/dist/middlewares/cors.d.ts.map +1 -1
  24. package/dist/middlewares/query.d.ts.map +1 -1
  25. package/dist/middlewares/security.d.ts.map +1 -1
  26. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  27. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  28. package/dist/migrations/draft-publish.d.ts +2 -2
  29. package/dist/migrations/draft-publish.d.ts.map +1 -1
  30. package/dist/migrations/i18n.d.ts +5 -0
  31. package/dist/migrations/i18n.d.ts.map +1 -0
  32. package/dist/migrations/index.d.ts +5 -0
  33. package/dist/migrations/index.d.ts.map +1 -0
  34. package/dist/providers/admin.d.ts.map +1 -1
  35. package/dist/providers/registries.d.ts.map +1 -1
  36. package/dist/registries/policies.d.ts +1 -1
  37. package/dist/registries/policies.d.ts.map +1 -1
  38. package/dist/services/content-api/index.d.ts +10 -12
  39. package/dist/services/content-api/index.d.ts.map +1 -1
  40. package/dist/services/content-api/permissions/index.d.ts +10 -12
  41. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  42. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  43. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  44. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  45. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  46. package/dist/services/cron.d.ts +3 -3
  47. package/dist/services/cron.d.ts.map +1 -1
  48. package/dist/services/document-service/common.d.ts +1 -1
  49. package/dist/services/document-service/common.d.ts.map +1 -1
  50. package/dist/services/document-service/components.d.ts.map +1 -1
  51. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  52. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  53. package/dist/services/document-service/entries.d.ts +3 -3
  54. package/dist/services/document-service/entries.d.ts.map +1 -1
  55. package/dist/services/document-service/events.d.ts +25 -0
  56. package/dist/services/document-service/events.d.ts.map +1 -0
  57. package/dist/services/document-service/index.d.ts +2 -1
  58. package/dist/services/document-service/index.d.ts.map +1 -1
  59. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  60. package/dist/services/document-service/repository.d.ts.map +1 -1
  61. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  62. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  63. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  64. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  65. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  66. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  67. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  68. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  69. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  70. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  71. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  72. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  73. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  74. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  75. package/dist/services/document-service/utils/populate.d.ts +1 -1
  76. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  77. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  78. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  79. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  80. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  81. package/dist/services/entity-validator/index.d.ts +15 -1
  82. package/dist/services/entity-validator/index.d.ts.map +1 -1
  83. package/dist/services/entity-validator/validators.d.ts +36 -25
  84. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  85. package/dist/services/event-hub.d.ts +1 -0
  86. package/dist/services/event-hub.d.ts.map +1 -1
  87. package/dist/services/metrics/middleware.d.ts.map +1 -1
  88. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  89. package/dist/services/server/koa.d.ts.map +1 -1
  90. package/dist/services/webhook-runner.d.ts +2 -1
  91. package/dist/services/webhook-runner.d.ts.map +1 -1
  92. package/dist/services/webhook-store.d.ts +2 -8
  93. package/dist/services/webhook-store.d.ts.map +1 -1
  94. package/dist/utils/fetch.d.ts.map +1 -1
  95. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  96. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  97. package/dist/utils/startup-logger.d.ts.map +1 -1
  98. package/dist/utils/transform-content-types-to-models.d.ts +355 -23
  99. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  100. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  101. package/package.json +38 -35
  102. package/dist/Strapi.js +0 -387
  103. package/dist/Strapi.js.map +0 -1
  104. package/dist/Strapi.mjs +0 -385
  105. package/dist/Strapi.mjs.map +0 -1
  106. package/dist/compile.js +0 -18
  107. package/dist/compile.js.map +0 -1
  108. package/dist/compile.mjs +0 -17
  109. package/dist/compile.mjs.map +0 -1
  110. package/dist/configuration/config-loader.js +0 -106
  111. package/dist/configuration/config-loader.js.map +0 -1
  112. package/dist/configuration/config-loader.mjs +0 -104
  113. package/dist/configuration/config-loader.mjs.map +0 -1
  114. package/dist/configuration/get-dirs.js +0 -31
  115. package/dist/configuration/get-dirs.js.map +0 -1
  116. package/dist/configuration/get-dirs.mjs +0 -31
  117. package/dist/configuration/get-dirs.mjs.map +0 -1
  118. package/dist/configuration/index.js +0 -80
  119. package/dist/configuration/index.js.map +0 -1
  120. package/dist/configuration/index.mjs +0 -75
  121. package/dist/configuration/index.mjs.map +0 -1
  122. package/dist/configuration/urls.js +0 -68
  123. package/dist/configuration/urls.js.map +0 -1
  124. package/dist/configuration/urls.mjs +0 -66
  125. package/dist/configuration/urls.mjs.map +0 -1
  126. package/dist/container.js +0 -30
  127. package/dist/container.js.map +0 -1
  128. package/dist/container.mjs +0 -30
  129. package/dist/container.mjs.map +0 -1
  130. package/dist/core-api/controller/collection-type.js +0 -82
  131. package/dist/core-api/controller/collection-type.js.map +0 -1
  132. package/dist/core-api/controller/collection-type.mjs +0 -82
  133. package/dist/core-api/controller/collection-type.mjs.map +0 -1
  134. package/dist/core-api/controller/index.js +0 -52
  135. package/dist/core-api/controller/index.js.map +0 -1
  136. package/dist/core-api/controller/index.mjs +0 -52
  137. package/dist/core-api/controller/index.mjs.map +0 -1
  138. package/dist/core-api/controller/single-type.js +0 -45
  139. package/dist/core-api/controller/single-type.js.map +0 -1
  140. package/dist/core-api/controller/single-type.mjs +0 -45
  141. package/dist/core-api/controller/single-type.mjs.map +0 -1
  142. package/dist/core-api/controller/transform.js +0 -76
  143. package/dist/core-api/controller/transform.js.map +0 -1
  144. package/dist/core-api/controller/transform.mjs +0 -76
  145. package/dist/core-api/controller/transform.mjs.map +0 -1
  146. package/dist/core-api/routes/index.js +0 -67
  147. package/dist/core-api/routes/index.js.map +0 -1
  148. package/dist/core-api/routes/index.mjs +0 -67
  149. package/dist/core-api/routes/index.mjs.map +0 -1
  150. package/dist/core-api/service/collection-type.js +0 -65
  151. package/dist/core-api/service/collection-type.js.map +0 -1
  152. package/dist/core-api/service/collection-type.mjs +0 -65
  153. package/dist/core-api/service/collection-type.mjs.map +0 -1
  154. package/dist/core-api/service/core-service.js +0 -12
  155. package/dist/core-api/service/core-service.js.map +0 -1
  156. package/dist/core-api/service/core-service.mjs +0 -12
  157. package/dist/core-api/service/core-service.mjs.map +0 -1
  158. package/dist/core-api/service/index.js +0 -16
  159. package/dist/core-api/service/index.js.map +0 -1
  160. package/dist/core-api/service/index.mjs +0 -16
  161. package/dist/core-api/service/index.mjs.map +0 -1
  162. package/dist/core-api/service/pagination.js +0 -78
  163. package/dist/core-api/service/pagination.js.map +0 -1
  164. package/dist/core-api/service/pagination.mjs +0 -78
  165. package/dist/core-api/service/pagination.mjs.map +0 -1
  166. package/dist/core-api/service/single-type.js +0 -45
  167. package/dist/core-api/service/single-type.js.map +0 -1
  168. package/dist/core-api/service/single-type.mjs +0 -45
  169. package/dist/core-api/service/single-type.mjs.map +0 -1
  170. package/dist/domain/content-type/index.js +0 -111
  171. package/dist/domain/content-type/index.js.map +0 -1
  172. package/dist/domain/content-type/index.mjs +0 -109
  173. package/dist/domain/content-type/index.mjs.map +0 -1
  174. package/dist/domain/content-type/validator.js +0 -77
  175. package/dist/domain/content-type/validator.js.map +0 -1
  176. package/dist/domain/content-type/validator.mjs +0 -75
  177. package/dist/domain/content-type/validator.mjs.map +0 -1
  178. package/dist/domain/module/index.js +0 -107
  179. package/dist/domain/module/index.js.map +0 -1
  180. package/dist/domain/module/index.mjs +0 -105
  181. package/dist/domain/module/index.mjs.map +0 -1
  182. package/dist/domain/module/validation.js +0 -25
  183. package/dist/domain/module/validation.js.map +0 -1
  184. package/dist/domain/module/validation.mjs +0 -25
  185. package/dist/domain/module/validation.mjs.map +0 -1
  186. package/dist/ee/index.js +0 -153
  187. package/dist/ee/index.js.map +0 -1
  188. package/dist/ee/index.mjs +0 -154
  189. package/dist/ee/index.mjs.map +0 -1
  190. package/dist/ee/license.js +0 -91
  191. package/dist/ee/license.js.map +0 -1
  192. package/dist/ee/license.mjs +0 -88
  193. package/dist/ee/license.mjs.map +0 -1
  194. package/dist/factories.js +0 -80
  195. package/dist/factories.js.map +0 -1
  196. package/dist/factories.mjs +0 -80
  197. package/dist/factories.mjs.map +0 -1
  198. package/dist/loaders/admin.js +0 -26
  199. package/dist/loaders/admin.js.map +0 -1
  200. package/dist/loaders/admin.mjs +0 -25
  201. package/dist/loaders/admin.mjs.map +0 -1
  202. package/dist/loaders/apis.js +0 -137
  203. package/dist/loaders/apis.js.map +0 -1
  204. package/dist/loaders/apis.mjs +0 -135
  205. package/dist/loaders/apis.mjs.map +0 -1
  206. package/dist/loaders/components.js +0 -38
  207. package/dist/loaders/components.js.map +0 -1
  208. package/dist/loaders/components.mjs +0 -37
  209. package/dist/loaders/components.mjs.map +0 -1
  210. package/dist/loaders/index.js +0 -24
  211. package/dist/loaders/index.js.map +0 -1
  212. package/dist/loaders/index.mjs +0 -24
  213. package/dist/loaders/index.mjs.map +0 -1
  214. package/dist/loaders/middlewares.js +0 -31
  215. package/dist/loaders/middlewares.js.map +0 -1
  216. package/dist/loaders/middlewares.mjs +0 -30
  217. package/dist/loaders/middlewares.mjs.map +0 -1
  218. package/dist/loaders/plugins/get-enabled-plugins.js +0 -113
  219. package/dist/loaders/plugins/get-enabled-plugins.js.map +0 -1
  220. package/dist/loaders/plugins/get-enabled-plugins.mjs +0 -111
  221. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +0 -1
  222. package/dist/loaders/plugins/get-user-plugins-config.js +0 -27
  223. package/dist/loaders/plugins/get-user-plugins-config.js.map +0 -1
  224. package/dist/loaders/plugins/get-user-plugins-config.mjs +0 -25
  225. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +0 -1
  226. package/dist/loaders/plugins/index.js +0 -118
  227. package/dist/loaders/plugins/index.js.map +0 -1
  228. package/dist/loaders/plugins/index.mjs +0 -117
  229. package/dist/loaders/plugins/index.mjs.map +0 -1
  230. package/dist/loaders/policies.js +0 -25
  231. package/dist/loaders/policies.js.map +0 -1
  232. package/dist/loaders/policies.mjs +0 -24
  233. package/dist/loaders/policies.mjs.map +0 -1
  234. package/dist/loaders/sanitizers.js +0 -6
  235. package/dist/loaders/sanitizers.js.map +0 -1
  236. package/dist/loaders/sanitizers.mjs +0 -7
  237. package/dist/loaders/sanitizers.mjs.map +0 -1
  238. package/dist/loaders/src-index.js +0 -33
  239. package/dist/loaders/src-index.js.map +0 -1
  240. package/dist/loaders/src-index.mjs +0 -34
  241. package/dist/loaders/src-index.mjs.map +0 -1
  242. package/dist/loaders/validators.js +0 -6
  243. package/dist/loaders/validators.js.map +0 -1
  244. package/dist/loaders/validators.mjs +0 -7
  245. package/dist/loaders/validators.mjs.map +0 -1
  246. package/dist/middlewares/body.js +0 -65
  247. package/dist/middlewares/body.js.map +0 -1
  248. package/dist/middlewares/body.mjs +0 -61
  249. package/dist/middlewares/body.mjs.map +0 -1
  250. package/dist/middlewares/compression.js +0 -8
  251. package/dist/middlewares/compression.js.map +0 -1
  252. package/dist/middlewares/compression.mjs +0 -6
  253. package/dist/middlewares/compression.mjs.map +0 -1
  254. package/dist/middlewares/cors.js +0 -51
  255. package/dist/middlewares/cors.js.map +0 -1
  256. package/dist/middlewares/cors.mjs +0 -49
  257. package/dist/middlewares/cors.mjs.map +0 -1
  258. package/dist/middlewares/errors.js +0 -33
  259. package/dist/middlewares/errors.js.map +0 -1
  260. package/dist/middlewares/errors.mjs +0 -33
  261. package/dist/middlewares/errors.mjs.map +0 -1
  262. package/dist/middlewares/favicon.js +0 -22
  263. package/dist/middlewares/favicon.js.map +0 -1
  264. package/dist/middlewares/favicon.mjs +0 -20
  265. package/dist/middlewares/favicon.mjs.map +0 -1
  266. package/dist/middlewares/index.js +0 -34
  267. package/dist/middlewares/index.js.map +0 -1
  268. package/dist/middlewares/index.mjs +0 -34
  269. package/dist/middlewares/index.mjs.map +0 -1
  270. package/dist/middlewares/ip.js +0 -8
  271. package/dist/middlewares/ip.js.map +0 -1
  272. package/dist/middlewares/ip.mjs +0 -6
  273. package/dist/middlewares/ip.mjs.map +0 -1
  274. package/dist/middlewares/logger.js +0 -12
  275. package/dist/middlewares/logger.js.map +0 -1
  276. package/dist/middlewares/logger.mjs +0 -12
  277. package/dist/middlewares/logger.mjs.map +0 -1
  278. package/dist/middlewares/powered-by.js +0 -14
  279. package/dist/middlewares/powered-by.js.map +0 -1
  280. package/dist/middlewares/powered-by.mjs +0 -14
  281. package/dist/middlewares/powered-by.mjs.map +0 -1
  282. package/dist/middlewares/public.js +0 -34
  283. package/dist/middlewares/public.js.map +0 -1
  284. package/dist/middlewares/public.mjs +0 -32
  285. package/dist/middlewares/public.mjs.map +0 -1
  286. package/dist/middlewares/query.js +0 -40
  287. package/dist/middlewares/query.js.map +0 -1
  288. package/dist/middlewares/query.mjs +0 -38
  289. package/dist/middlewares/query.mjs.map +0 -1
  290. package/dist/middlewares/response-time.js +0 -12
  291. package/dist/middlewares/response-time.js.map +0 -1
  292. package/dist/middlewares/response-time.mjs +0 -12
  293. package/dist/middlewares/response-time.mjs.map +0 -1
  294. package/dist/middlewares/responses.js +0 -15
  295. package/dist/middlewares/responses.js.map +0 -1
  296. package/dist/middlewares/responses.mjs +0 -15
  297. package/dist/middlewares/responses.mjs.map +0 -1
  298. package/dist/middlewares/security.js +0 -71
  299. package/dist/middlewares/security.js.map +0 -1
  300. package/dist/middlewares/security.mjs +0 -69
  301. package/dist/middlewares/security.mjs.map +0 -1
  302. package/dist/middlewares/session.js +0 -30
  303. package/dist/middlewares/session.js.map +0 -1
  304. package/dist/middlewares/session.mjs +0 -28
  305. package/dist/middlewares/session.mjs.map +0 -1
  306. package/dist/migrations/draft-publish.js +0 -59
  307. package/dist/migrations/draft-publish.js.map +0 -1
  308. package/dist/migrations/draft-publish.mjs +0 -59
  309. package/dist/migrations/draft-publish.mjs.map +0 -1
  310. package/dist/providers/admin.js +0 -20
  311. package/dist/providers/admin.js.map +0 -1
  312. package/dist/providers/admin.mjs +0 -21
  313. package/dist/providers/admin.mjs.map +0 -1
  314. package/dist/providers/coreStore.js +0 -11
  315. package/dist/providers/coreStore.js.map +0 -1
  316. package/dist/providers/coreStore.mjs +0 -12
  317. package/dist/providers/coreStore.mjs.map +0 -1
  318. package/dist/providers/cron.js +0 -20
  319. package/dist/providers/cron.js.map +0 -1
  320. package/dist/providers/cron.mjs +0 -21
  321. package/dist/providers/cron.mjs.map +0 -1
  322. package/dist/providers/index.js +0 -11
  323. package/dist/providers/index.js.map +0 -1
  324. package/dist/providers/index.mjs +0 -11
  325. package/dist/providers/index.mjs.map +0 -1
  326. package/dist/providers/provider.js +0 -5
  327. package/dist/providers/provider.js.map +0 -1
  328. package/dist/providers/provider.mjs +0 -5
  329. package/dist/providers/provider.mjs.map +0 -1
  330. package/dist/providers/registries.js +0 -33
  331. package/dist/providers/registries.js.map +0 -1
  332. package/dist/providers/registries.mjs +0 -34
  333. package/dist/providers/registries.mjs.map +0 -1
  334. package/dist/providers/telemetry.js +0 -19
  335. package/dist/providers/telemetry.js.map +0 -1
  336. package/dist/providers/telemetry.mjs +0 -20
  337. package/dist/providers/telemetry.mjs.map +0 -1
  338. package/dist/providers/webhooks.js +0 -30
  339. package/dist/providers/webhooks.js.map +0 -1
  340. package/dist/providers/webhooks.mjs +0 -31
  341. package/dist/providers/webhooks.mjs.map +0 -1
  342. package/dist/registries/apis.js +0 -23
  343. package/dist/registries/apis.js.map +0 -1
  344. package/dist/registries/apis.mjs +0 -24
  345. package/dist/registries/apis.mjs.map +0 -1
  346. package/dist/registries/components.js +0 -45
  347. package/dist/registries/components.js.map +0 -1
  348. package/dist/registries/components.mjs +0 -46
  349. package/dist/registries/components.mjs.map +0 -1
  350. package/dist/registries/content-types.js +0 -70
  351. package/dist/registries/content-types.js.map +0 -1
  352. package/dist/registries/content-types.mjs +0 -71
  353. package/dist/registries/content-types.mjs.map +0 -1
  354. package/dist/registries/controllers.js +0 -80
  355. package/dist/registries/controllers.js.map +0 -1
  356. package/dist/registries/controllers.mjs +0 -81
  357. package/dist/registries/controllers.mjs.map +0 -1
  358. package/dist/registries/custom-fields.js +0 -71
  359. package/dist/registries/custom-fields.js.map +0 -1
  360. package/dist/registries/custom-fields.mjs +0 -72
  361. package/dist/registries/custom-fields.mjs.map +0 -1
  362. package/dist/registries/hooks.js +0 -58
  363. package/dist/registries/hooks.js.map +0 -1
  364. package/dist/registries/hooks.mjs +0 -59
  365. package/dist/registries/hooks.mjs.map +0 -1
  366. package/dist/registries/middlewares.js +0 -60
  367. package/dist/registries/middlewares.js.map +0 -1
  368. package/dist/registries/middlewares.mjs +0 -61
  369. package/dist/registries/middlewares.mjs.map +0 -1
  370. package/dist/registries/models.js +0 -16
  371. package/dist/registries/models.js.map +0 -1
  372. package/dist/registries/models.mjs +0 -16
  373. package/dist/registries/models.mjs.map +0 -1
  374. package/dist/registries/modules.js +0 -39
  375. package/dist/registries/modules.js.map +0 -1
  376. package/dist/registries/modules.mjs +0 -40
  377. package/dist/registries/modules.mjs.map +0 -1
  378. package/dist/registries/namespace.js +0 -27
  379. package/dist/registries/namespace.js.map +0 -1
  380. package/dist/registries/namespace.mjs +0 -27
  381. package/dist/registries/namespace.mjs.map +0 -1
  382. package/dist/registries/plugins.js +0 -23
  383. package/dist/registries/plugins.js.map +0 -1
  384. package/dist/registries/plugins.mjs +0 -24
  385. package/dist/registries/plugins.mjs.map +0 -1
  386. package/dist/registries/policies.js +0 -108
  387. package/dist/registries/policies.js.map +0 -1
  388. package/dist/registries/policies.mjs +0 -109
  389. package/dist/registries/policies.mjs.map +0 -1
  390. package/dist/registries/sanitizers.js +0 -25
  391. package/dist/registries/sanitizers.js.map +0 -1
  392. package/dist/registries/sanitizers.mjs +0 -24
  393. package/dist/registries/sanitizers.mjs.map +0 -1
  394. package/dist/registries/services.js +0 -80
  395. package/dist/registries/services.js.map +0 -1
  396. package/dist/registries/services.mjs +0 -81
  397. package/dist/registries/services.mjs.map +0 -1
  398. package/dist/registries/validators.js +0 -25
  399. package/dist/registries/validators.js.map +0 -1
  400. package/dist/registries/validators.mjs +0 -24
  401. package/dist/registries/validators.mjs.map +0 -1
  402. package/dist/services/auth/index.js +0 -81
  403. package/dist/services/auth/index.js.map +0 -1
  404. package/dist/services/auth/index.mjs +0 -80
  405. package/dist/services/auth/index.mjs.map +0 -1
  406. package/dist/services/config.js +0 -47
  407. package/dist/services/config.js.map +0 -1
  408. package/dist/services/config.mjs +0 -47
  409. package/dist/services/config.mjs.map +0 -1
  410. package/dist/services/content-api/index.js +0 -85
  411. package/dist/services/content-api/index.js.map +0 -1
  412. package/dist/services/content-api/index.mjs +0 -84
  413. package/dist/services/content-api/index.mjs.map +0 -1
  414. package/dist/services/content-api/permissions/engine.js +0 -7
  415. package/dist/services/content-api/permissions/engine.js.map +0 -1
  416. package/dist/services/content-api/permissions/engine.mjs +0 -6
  417. package/dist/services/content-api/permissions/engine.mjs.map +0 -1
  418. package/dist/services/content-api/permissions/index.js +0 -87
  419. package/dist/services/content-api/permissions/index.js.map +0 -1
  420. package/dist/services/content-api/permissions/index.mjs +0 -86
  421. package/dist/services/content-api/permissions/index.mjs.map +0 -1
  422. package/dist/services/content-api/permissions/providers/action.js +0 -16
  423. package/dist/services/content-api/permissions/providers/action.js.map +0 -1
  424. package/dist/services/content-api/permissions/providers/action.mjs +0 -17
  425. package/dist/services/content-api/permissions/providers/action.mjs.map +0 -1
  426. package/dist/services/content-api/permissions/providers/condition.js +0 -16
  427. package/dist/services/content-api/permissions/providers/condition.js.map +0 -1
  428. package/dist/services/content-api/permissions/providers/condition.mjs +0 -17
  429. package/dist/services/content-api/permissions/providers/condition.mjs.map +0 -1
  430. package/dist/services/core-store.js +0 -107
  431. package/dist/services/core-store.js.map +0 -1
  432. package/dist/services/core-store.mjs +0 -107
  433. package/dist/services/core-store.mjs.map +0 -1
  434. package/dist/services/cron.js +0 -63
  435. package/dist/services/cron.js.map +0 -1
  436. package/dist/services/cron.mjs +0 -64
  437. package/dist/services/cron.mjs.map +0 -1
  438. package/dist/services/custom-fields.js +0 -10
  439. package/dist/services/custom-fields.js.map +0 -1
  440. package/dist/services/custom-fields.mjs +0 -11
  441. package/dist/services/custom-fields.mjs.map +0 -1
  442. package/dist/services/document-service/attributes/index.js +0 -22
  443. package/dist/services/document-service/attributes/index.js.map +0 -1
  444. package/dist/services/document-service/attributes/index.mjs +0 -22
  445. package/dist/services/document-service/attributes/index.mjs.map +0 -1
  446. package/dist/services/document-service/attributes/transforms.js +0 -20
  447. package/dist/services/document-service/attributes/transforms.js.map +0 -1
  448. package/dist/services/document-service/attributes/transforms.mjs +0 -19
  449. package/dist/services/document-service/attributes/transforms.mjs.map +0 -1
  450. package/dist/services/document-service/common.js +0 -7
  451. package/dist/services/document-service/common.js.map +0 -1
  452. package/dist/services/document-service/common.mjs +0 -7
  453. package/dist/services/document-service/common.mjs.map +0 -1
  454. package/dist/services/document-service/components.js +0 -288
  455. package/dist/services/document-service/components.js.map +0 -1
  456. package/dist/services/document-service/components.mjs +0 -286
  457. package/dist/services/document-service/components.mjs.map +0 -1
  458. package/dist/services/document-service/document-engine.d.ts +0 -1
  459. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  460. package/dist/services/document-service/draft-and-publish.js +0 -69
  461. package/dist/services/document-service/draft-and-publish.js.map +0 -1
  462. package/dist/services/document-service/draft-and-publish.mjs +0 -69
  463. package/dist/services/document-service/draft-and-publish.mjs.map +0 -1
  464. package/dist/services/document-service/entries.js +0 -95
  465. package/dist/services/document-service/entries.js.map +0 -1
  466. package/dist/services/document-service/entries.mjs +0 -95
  467. package/dist/services/document-service/entries.mjs.map +0 -1
  468. package/dist/services/document-service/index.js +0 -35
  469. package/dist/services/document-service/index.js.map +0 -1
  470. package/dist/services/document-service/index.mjs +0 -35
  471. package/dist/services/document-service/index.mjs.map +0 -1
  472. package/dist/services/document-service/internationalization.js +0 -54
  473. package/dist/services/document-service/internationalization.js.map +0 -1
  474. package/dist/services/document-service/internationalization.mjs +0 -54
  475. package/dist/services/document-service/internationalization.mjs.map +0 -1
  476. package/dist/services/document-service/middlewares/errors.js +0 -25
  477. package/dist/services/document-service/middlewares/errors.js.map +0 -1
  478. package/dist/services/document-service/middlewares/errors.mjs +0 -25
  479. package/dist/services/document-service/middlewares/errors.mjs.map +0 -1
  480. package/dist/services/document-service/middlewares/middleware-manager.js +0 -49
  481. package/dist/services/document-service/middlewares/middleware-manager.js.map +0 -1
  482. package/dist/services/document-service/middlewares/middleware-manager.mjs +0 -49
  483. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +0 -1
  484. package/dist/services/document-service/params.js +0 -8
  485. package/dist/services/document-service/params.js.map +0 -1
  486. package/dist/services/document-service/params.mjs +0 -8
  487. package/dist/services/document-service/params.mjs.map +0 -1
  488. package/dist/services/document-service/repository.js +0 -250
  489. package/dist/services/document-service/repository.js.map +0 -1
  490. package/dist/services/document-service/repository.mjs +0 -250
  491. package/dist/services/document-service/repository.mjs.map +0 -1
  492. package/dist/services/document-service/transform/data.js +0 -15
  493. package/dist/services/document-service/transform/data.js.map +0 -1
  494. package/dist/services/document-service/transform/data.mjs +0 -15
  495. package/dist/services/document-service/transform/data.mjs.map +0 -1
  496. package/dist/services/document-service/transform/fields.js +0 -24
  497. package/dist/services/document-service/transform/fields.js.map +0 -1
  498. package/dist/services/document-service/transform/fields.mjs +0 -24
  499. package/dist/services/document-service/transform/fields.mjs.map +0 -1
  500. package/dist/services/document-service/transform/id-map.js +0 -78
  501. package/dist/services/document-service/transform/id-map.js.map +0 -1
  502. package/dist/services/document-service/transform/id-map.mjs +0 -78
  503. package/dist/services/document-service/transform/id-map.mjs.map +0 -1
  504. package/dist/services/document-service/transform/id-transform.js +0 -33
  505. package/dist/services/document-service/transform/id-transform.js.map +0 -1
  506. package/dist/services/document-service/transform/id-transform.mjs +0 -33
  507. package/dist/services/document-service/transform/id-transform.mjs.map +0 -1
  508. package/dist/services/document-service/transform/populate.js +0 -21
  509. package/dist/services/document-service/transform/populate.js.map +0 -1
  510. package/dist/services/document-service/transform/populate.mjs +0 -21
  511. package/dist/services/document-service/transform/populate.mjs.map +0 -1
  512. package/dist/services/document-service/transform/query.js +0 -9
  513. package/dist/services/document-service/transform/query.js.map +0 -1
  514. package/dist/services/document-service/transform/query.mjs +0 -9
  515. package/dist/services/document-service/transform/query.mjs.map +0 -1
  516. package/dist/services/document-service/transform/relations/extract/data-ids.js +0 -54
  517. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +0 -1
  518. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +0 -54
  519. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +0 -1
  520. package/dist/services/document-service/transform/relations/transform/data-ids.js +0 -73
  521. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +0 -1
  522. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +0 -73
  523. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +0 -1
  524. package/dist/services/document-service/transform/relations/transform/default-locale.js +0 -32
  525. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +0 -1
  526. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +0 -32
  527. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +0 -1
  528. package/dist/services/document-service/transform/relations/utils/dp.js +0 -30
  529. package/dist/services/document-service/transform/relations/utils/dp.js.map +0 -1
  530. package/dist/services/document-service/transform/relations/utils/dp.mjs +0 -30
  531. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +0 -1
  532. package/dist/services/document-service/transform/relations/utils/i18n.js +0 -25
  533. package/dist/services/document-service/transform/relations/utils/i18n.js.map +0 -1
  534. package/dist/services/document-service/transform/relations/utils/i18n.mjs +0 -25
  535. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +0 -1
  536. package/dist/services/document-service/transform/relations/utils/map-relation.js +0 -87
  537. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +0 -1
  538. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +0 -87
  539. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +0 -1
  540. package/dist/services/document-service/utils/populate.js +0 -41
  541. package/dist/services/document-service/utils/populate.js.map +0 -1
  542. package/dist/services/document-service/utils/populate.mjs +0 -41
  543. package/dist/services/document-service/utils/populate.mjs.map +0 -1
  544. package/dist/services/entity-service/index.js +0 -169
  545. package/dist/services/entity-service/index.js.map +0 -1
  546. package/dist/services/entity-service/index.mjs +0 -167
  547. package/dist/services/entity-service/index.mjs.map +0 -1
  548. package/dist/services/entity-validator/blocks-validator.js +0 -127
  549. package/dist/services/entity-validator/blocks-validator.js.map +0 -1
  550. package/dist/services/entity-validator/blocks-validator.mjs +0 -128
  551. package/dist/services/entity-validator/blocks-validator.mjs.map +0 -1
  552. package/dist/services/entity-validator/index.js +0 -333
  553. package/dist/services/entity-validator/index.js.map +0 -1
  554. package/dist/services/entity-validator/index.mjs +0 -332
  555. package/dist/services/entity-validator/index.mjs.map +0 -1
  556. package/dist/services/entity-validator/validators.js +0 -126
  557. package/dist/services/entity-validator/validators.js.map +0 -1
  558. package/dist/services/entity-validator/validators.mjs +0 -124
  559. package/dist/services/entity-validator/validators.mjs.map +0 -1
  560. package/dist/services/errors.js +0 -76
  561. package/dist/services/errors.js.map +0 -1
  562. package/dist/services/errors.mjs +0 -74
  563. package/dist/services/errors.mjs.map +0 -1
  564. package/dist/services/event-hub.js +0 -67
  565. package/dist/services/event-hub.js.map +0 -1
  566. package/dist/services/event-hub.mjs +0 -68
  567. package/dist/services/event-hub.mjs.map +0 -1
  568. package/dist/services/features.js +0 -17
  569. package/dist/services/features.js.map +0 -1
  570. package/dist/services/features.mjs +0 -17
  571. package/dist/services/features.mjs.map +0 -1
  572. package/dist/services/fs.js +0 -51
  573. package/dist/services/fs.js.map +0 -1
  574. package/dist/services/fs.mjs +0 -49
  575. package/dist/services/fs.mjs.map +0 -1
  576. package/dist/services/metrics/admin-user-hash.js +0 -14
  577. package/dist/services/metrics/admin-user-hash.js.map +0 -1
  578. package/dist/services/metrics/admin-user-hash.mjs +0 -12
  579. package/dist/services/metrics/admin-user-hash.mjs.map +0 -1
  580. package/dist/services/metrics/index.js +0 -45
  581. package/dist/services/metrics/index.js.map +0 -1
  582. package/dist/services/metrics/index.mjs +0 -46
  583. package/dist/services/metrics/index.mjs.map +0 -1
  584. package/dist/services/metrics/is-truthy.js +0 -9
  585. package/dist/services/metrics/is-truthy.js.map +0 -1
  586. package/dist/services/metrics/is-truthy.mjs +0 -8
  587. package/dist/services/metrics/is-truthy.mjs.map +0 -1
  588. package/dist/services/metrics/middleware.js +0 -25
  589. package/dist/services/metrics/middleware.js.map +0 -1
  590. package/dist/services/metrics/middleware.mjs +0 -26
  591. package/dist/services/metrics/middleware.mjs.map +0 -1
  592. package/dist/services/metrics/rate-limiter.js +0 -21
  593. package/dist/services/metrics/rate-limiter.js.map +0 -1
  594. package/dist/services/metrics/rate-limiter.mjs +0 -22
  595. package/dist/services/metrics/rate-limiter.mjs.map +0 -1
  596. package/dist/services/metrics/sender.js +0 -76
  597. package/dist/services/metrics/sender.js.map +0 -1
  598. package/dist/services/metrics/sender.mjs +0 -70
  599. package/dist/services/metrics/sender.mjs.map +0 -1
  600. package/dist/services/query-params.js +0 -12
  601. package/dist/services/query-params.js.map +0 -1
  602. package/dist/services/query-params.mjs +0 -13
  603. package/dist/services/query-params.mjs.map +0 -1
  604. package/dist/services/reloader.js +0 -36
  605. package/dist/services/reloader.js.map +0 -1
  606. package/dist/services/reloader.mjs +0 -36
  607. package/dist/services/reloader.mjs.map +0 -1
  608. package/dist/services/request-context.js +0 -13
  609. package/dist/services/request-context.js.map +0 -1
  610. package/dist/services/request-context.mjs +0 -14
  611. package/dist/services/request-context.mjs.map +0 -1
  612. package/dist/services/server/admin-api.js +0 -13
  613. package/dist/services/server/admin-api.js.map +0 -1
  614. package/dist/services/server/admin-api.mjs +0 -13
  615. package/dist/services/server/admin-api.mjs.map +0 -1
  616. package/dist/services/server/api.js +0 -30
  617. package/dist/services/server/api.js.map +0 -1
  618. package/dist/services/server/api.mjs +0 -28
  619. package/dist/services/server/api.mjs.map +0 -1
  620. package/dist/services/server/compose-endpoint.js +0 -117
  621. package/dist/services/server/compose-endpoint.js.map +0 -1
  622. package/dist/services/server/compose-endpoint.mjs +0 -116
  623. package/dist/services/server/compose-endpoint.mjs.map +0 -1
  624. package/dist/services/server/content-api.js +0 -12
  625. package/dist/services/server/content-api.js.map +0 -1
  626. package/dist/services/server/content-api.mjs +0 -12
  627. package/dist/services/server/content-api.mjs.map +0 -1
  628. package/dist/services/server/http-server.js +0 -50
  629. package/dist/services/server/http-server.js.map +0 -1
  630. package/dist/services/server/http-server.mjs +0 -48
  631. package/dist/services/server/http-server.mjs.map +0 -1
  632. package/dist/services/server/index.js +0 -87
  633. package/dist/services/server/index.js.map +0 -1
  634. package/dist/services/server/index.mjs +0 -85
  635. package/dist/services/server/index.mjs.map +0 -1
  636. package/dist/services/server/koa.js +0 -52
  637. package/dist/services/server/koa.js.map +0 -1
  638. package/dist/services/server/koa.mjs +0 -48
  639. package/dist/services/server/koa.mjs.map +0 -1
  640. package/dist/services/server/middleware.js +0 -92
  641. package/dist/services/server/middleware.js.map +0 -1
  642. package/dist/services/server/middleware.mjs +0 -90
  643. package/dist/services/server/middleware.mjs.map +0 -1
  644. package/dist/services/server/policy.js +0 -20
  645. package/dist/services/server/policy.js.map +0 -1
  646. package/dist/services/server/policy.mjs +0 -20
  647. package/dist/services/server/policy.mjs.map +0 -1
  648. package/dist/services/server/register-middlewares.js +0 -72
  649. package/dist/services/server/register-middlewares.js.map +0 -1
  650. package/dist/services/server/register-middlewares.mjs +0 -73
  651. package/dist/services/server/register-middlewares.mjs.map +0 -1
  652. package/dist/services/server/register-routes.js +0 -76
  653. package/dist/services/server/register-routes.js.map +0 -1
  654. package/dist/services/server/register-routes.mjs +0 -75
  655. package/dist/services/server/register-routes.mjs.map +0 -1
  656. package/dist/services/server/routing.js +0 -91
  657. package/dist/services/server/routing.js.map +0 -1
  658. package/dist/services/server/routing.mjs +0 -89
  659. package/dist/services/server/routing.mjs.map +0 -1
  660. package/dist/services/utils/dynamic-zones.js +0 -17
  661. package/dist/services/utils/dynamic-zones.js.map +0 -1
  662. package/dist/services/utils/dynamic-zones.mjs +0 -18
  663. package/dist/services/utils/dynamic-zones.mjs.map +0 -1
  664. package/dist/services/webhook-runner.js +0 -133
  665. package/dist/services/webhook-runner.js.map +0 -1
  666. package/dist/services/webhook-runner.mjs +0 -131
  667. package/dist/services/webhook-runner.mjs.map +0 -1
  668. package/dist/services/webhook-store.js +0 -103
  669. package/dist/services/webhook-store.js.map +0 -1
  670. package/dist/services/webhook-store.mjs +0 -103
  671. package/dist/services/webhook-store.mjs.map +0 -1
  672. package/dist/services/worker-queue.js +0 -56
  673. package/dist/services/worker-queue.js.map +0 -1
  674. package/dist/services/worker-queue.mjs +0 -55
  675. package/dist/services/worker-queue.mjs.map +0 -1
  676. package/dist/utils/convert-custom-field-type.js +0 -24
  677. package/dist/utils/convert-custom-field-type.js.map +0 -1
  678. package/dist/utils/convert-custom-field-type.mjs +0 -24
  679. package/dist/utils/convert-custom-field-type.mjs.map +0 -1
  680. package/dist/utils/cron.js +0 -38
  681. package/dist/utils/cron.js.map +0 -1
  682. package/dist/utils/cron.mjs +0 -38
  683. package/dist/utils/cron.mjs.map +0 -1
  684. package/dist/utils/fetch.js +0 -20
  685. package/dist/utils/fetch.js.map +0 -1
  686. package/dist/utils/fetch.mjs +0 -20
  687. package/dist/utils/fetch.mjs.map +0 -1
  688. package/dist/utils/filepath-to-prop-path.js +0 -12
  689. package/dist/utils/filepath-to-prop-path.js.map +0 -1
  690. package/dist/utils/filepath-to-prop-path.mjs +0 -10
  691. package/dist/utils/filepath-to-prop-path.mjs.map +0 -1
  692. package/dist/utils/is-initialized.js +0 -16
  693. package/dist/utils/is-initialized.js.map +0 -1
  694. package/dist/utils/is-initialized.mjs +0 -16
  695. package/dist/utils/is-initialized.mjs.map +0 -1
  696. package/dist/utils/lifecycles.js +0 -9
  697. package/dist/utils/lifecycles.js.map +0 -1
  698. package/dist/utils/lifecycles.mjs +0 -9
  699. package/dist/utils/lifecycles.mjs.map +0 -1
  700. package/dist/utils/load-config-file.js +0 -45
  701. package/dist/utils/load-config-file.js.map +0 -1
  702. package/dist/utils/load-config-file.mjs +0 -42
  703. package/dist/utils/load-config-file.mjs.map +0 -1
  704. package/dist/utils/load-files.js +0 -39
  705. package/dist/utils/load-files.js.map +0 -1
  706. package/dist/utils/load-files.mjs +0 -35
  707. package/dist/utils/load-files.mjs.map +0 -1
  708. package/dist/utils/open-browser.js +0 -11
  709. package/dist/utils/open-browser.js.map +0 -1
  710. package/dist/utils/open-browser.mjs +0 -9
  711. package/dist/utils/open-browser.mjs.map +0 -1
  712. package/dist/utils/resolve-working-dirs.js +0 -13
  713. package/dist/utils/resolve-working-dirs.js.map +0 -1
  714. package/dist/utils/resolve-working-dirs.mjs +0 -11
  715. package/dist/utils/resolve-working-dirs.mjs.map +0 -1
  716. package/dist/utils/signals.js +0 -17
  717. package/dist/utils/signals.js.map +0 -1
  718. package/dist/utils/signals.mjs +0 -17
  719. package/dist/utils/signals.mjs.map +0 -1
  720. package/dist/utils/startup-logger.js +0 -81
  721. package/dist/utils/startup-logger.js.map +0 -1
  722. package/dist/utils/startup-logger.mjs +0 -77
  723. package/dist/utils/startup-logger.mjs.map +0 -1
  724. package/dist/utils/transform-content-types-to-models.js +0 -275
  725. package/dist/utils/transform-content-types-to-models.js.map +0 -1
  726. package/dist/utils/transform-content-types-to-models.mjs +0 -272
  727. package/dist/utils/transform-content-types-to-models.mjs.map +0 -1
  728. package/dist/utils/update-notifier/index.js +0 -85
  729. package/dist/utils/update-notifier/index.js.map +0 -1
  730. package/dist/utils/update-notifier/index.mjs +0 -78
  731. package/dist/utils/update-notifier/index.mjs.map +0 -1
@@ -1,87 +0,0 @@
1
- "use strict";
2
- const _ = require("lodash");
3
- const action = require("./providers/action.js");
4
- const condition = require("./providers/condition.js");
5
- const engine = require("./engine.js");
6
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
7
- const ___default = /* @__PURE__ */ _interopDefault(_);
8
- const typeSymbol = Symbol.for("__type__");
9
- const createValidatePermissionHandler = (actionProvider) => ({ permission }) => {
10
- const action2 = actionProvider.get(permission.action);
11
- if (!action2) {
12
- strapi.log.debug(
13
- `Unknown action "${permission.action}" supplied when registering a new permission`
14
- );
15
- return false;
16
- }
17
- return true;
18
- };
19
- const instantiatePermissionsUtilities = (strapi2) => {
20
- const providers = {
21
- action: action(),
22
- condition: condition()
23
- };
24
- const getActionsMap = () => {
25
- const actionMap = {};
26
- const isContentApi = (action2) => {
27
- if (!___default.default.has(action2, typeSymbol)) {
28
- return false;
29
- }
30
- return action2[typeSymbol].includes("content-api");
31
- };
32
- const registerAPIsActions = (apis, source) => {
33
- ___default.default.forEach(apis, (api, apiName) => {
34
- const controllers = ___default.default.reduce(
35
- api.controllers,
36
- (acc, controller, controllerName) => {
37
- const contentApiActions = ___default.default.pickBy(controller, isContentApi);
38
- if (___default.default.isEmpty(contentApiActions)) {
39
- return acc;
40
- }
41
- acc[controllerName] = Object.keys(contentApiActions);
42
- return acc;
43
- },
44
- {}
45
- );
46
- if (!___default.default.isEmpty(controllers)) {
47
- actionMap[`${source}::${apiName}`] = { controllers };
48
- }
49
- });
50
- };
51
- registerAPIsActions(strapi2.apis, "api");
52
- registerAPIsActions(strapi2.plugins, "plugin");
53
- return actionMap;
54
- };
55
- const registerActions = async () => {
56
- const actionsMap = getActionsMap();
57
- for (const [api, value] of Object.entries(actionsMap)) {
58
- const { controllers } = value;
59
- for (const [controller, actions] of Object.entries(controllers)) {
60
- await Promise.all(
61
- actions.map((action2) => {
62
- const actionUID = `${api}.${controller}.${action2}`;
63
- return providers.action.register(actionUID, {
64
- api,
65
- controller,
66
- action: action2,
67
- uid: actionUID
68
- });
69
- })
70
- );
71
- }
72
- }
73
- };
74
- const engine$1 = engine({ providers });
75
- engine$1.on(
76
- "before-format::validate.permission",
77
- createValidatePermissionHandler(providers.action)
78
- );
79
- return {
80
- engine: engine$1,
81
- providers,
82
- registerActions,
83
- getActionsMap
84
- };
85
- };
86
- module.exports = instantiatePermissionsUtilities;
87
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/services/content-api/permissions/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\nimport { createActionProvider, createConditionProvider } from './providers';\nimport createPermissionEngine from './engine';\n\nconst typeSymbol = Symbol.for('__type__');\n\ninterface ValidatePermissionHandler {\n (params: { permission: { action: string } }): boolean;\n}\n\n/**\n * Creates a handler that checks if the permission's action exists in the action registry\n */\nconst createValidatePermissionHandler =\n (actionProvider: ReturnType<typeof createActionProvider>): ValidatePermissionHandler =>\n ({ permission }) => {\n const action = actionProvider.get(permission.action);\n\n // If the action isn't registered into the action provider, then ignore the permission and warn the user\n if (!action) {\n strapi.log.debug(\n `Unknown action \"${permission.action}\" supplied when registering a new permission`\n );\n\n return false;\n }\n\n return true;\n };\n\n/**\n * Create instances of providers and permission engine for the core content-API service.\n * Also, expose utilities to get information about available actions and such.\n */\nexport default (strapi: Core.Strapi) => {\n // NOTE: Here we define both an action and condition provider,\n // but at the moment, we're only using the action one.\n const providers = {\n action: createActionProvider(),\n condition: createConditionProvider(),\n };\n\n /**\n * Get a tree representation of the available Content API actions\n * based on the methods of the Content API controllers.\n *\n * @note Only actions bound to a content-API route are returned.\n */\n const getActionsMap = () => {\n const actionMap: Record<\n string,\n {\n controllers: Record<string, string[]>;\n }\n > = {};\n\n /**\n * Check if a controller's action is bound to the\n * content-api by looking at a potential __type__ symbol\n */\n const isContentApi = (action: Core.ControllerHandler & { [s: symbol]: any }) => {\n if (!_.has(action, typeSymbol)) {\n return false;\n }\n\n return action[typeSymbol].includes('content-api');\n };\n\n /**\n * Register actions from a specific API source into the result tree\n */\n const registerAPIsActions = (\n apis: Record<string, Core.Plugin | Core.Module>,\n source: 'api' | 'plugin'\n ) => {\n _.forEach(apis, (api, apiName) => {\n const controllers = _.reduce(\n api.controllers,\n (acc, controller, controllerName) => {\n const contentApiActions = _.pickBy(controller, isContentApi);\n\n if (_.isEmpty(contentApiActions)) {\n return acc;\n }\n\n acc[controllerName] = Object.keys(contentApiActions);\n\n return acc;\n },\n {} as Record<string, string[]>\n );\n\n if (!_.isEmpty(controllers)) {\n actionMap[`${source}::${apiName}`] = { controllers };\n }\n });\n };\n\n registerAPIsActions(strapi.apis, 'api');\n registerAPIsActions(strapi.plugins, 'plugin');\n\n return actionMap;\n };\n\n /**\n * Register all the content-API controllers actions into the action provider.\n * This method make use of the {@link getActionsMap} to generate the list of actions to register.\n */\n const registerActions = async () => {\n const actionsMap = getActionsMap();\n\n // For each API\n for (const [api, value] of Object.entries(actionsMap)) {\n const { controllers } = value;\n\n // Register controllers methods as actions\n for (const [controller, actions] of Object.entries(controllers)) {\n // Register each action individually\n await Promise.all(\n actions.map((action) => {\n const actionUID = `${api}.${controller}.${action}`;\n\n return providers.action.register(actionUID, {\n api,\n controller,\n action,\n uid: actionUID,\n });\n })\n );\n }\n }\n };\n\n // Create an instance of a content-API permission engine\n // and binds a custom validation handler to it\n const engine = createPermissionEngine({ providers });\n\n engine.on(\n 'before-format::validate.permission',\n createValidatePermissionHandler(providers.action)\n );\n\n return {\n engine,\n providers,\n registerActions,\n getActionsMap,\n };\n};\n"],"names":["action","strapi","createActionProvider","createConditionProvider","_","engine","createPermissionEngine"],"mappings":";;;;;;;AAKA,MAAM,aAAa,OAAO,IAAI,UAAU;AASxC,MAAM,kCACJ,CAAC,mBACD,CAAC,EAAE,iBAAiB;AAClB,QAAMA,UAAS,eAAe,IAAI,WAAW,MAAM;AAGnD,MAAI,CAACA,SAAQ;AACX,WAAO,IAAI;AAAA,MACT,mBAAmB,WAAW,MAAM;AAAA,IAAA;AAG/B,WAAA;AAAA,EACT;AAEO,SAAA;AACT;AAMF,MAAe,kCAAA,CAACC,YAAwB;AAGtC,QAAM,YAAY;AAAA,IAChB,QAAQC,OAAqB;AAAA,IAC7B,WAAWC,UAAwB;AAAA,EAAA;AASrC,QAAM,gBAAgB,MAAM;AAC1B,UAAM,YAKF,CAAA;AAME,UAAA,eAAe,CAACH,YAA0D;AAC9E,UAAI,CAACI,WAAAA,QAAE,IAAIJ,SAAQ,UAAU,GAAG;AACvB,eAAA;AAAA,MACT;AAEA,aAAOA,QAAO,UAAU,EAAE,SAAS,aAAa;AAAA,IAAA;AAM5C,UAAA,sBAAsB,CAC1B,MACA,WACG;AACHI,iBAAAA,QAAE,QAAQ,MAAM,CAAC,KAAK,YAAY;AAChC,cAAM,cAAcA,WAAAA,QAAE;AAAA,UACpB,IAAI;AAAA,UACJ,CAAC,KAAK,YAAY,mBAAmB;AACnC,kBAAM,oBAAoBA,WAAA,QAAE,OAAO,YAAY,YAAY;AAEvD,gBAAAA,WAAA,QAAE,QAAQ,iBAAiB,GAAG;AACzB,qBAAA;AAAA,YACT;AAEA,gBAAI,cAAc,IAAI,OAAO,KAAK,iBAAiB;AAE5C,mBAAA;AAAA,UACT;AAAA,UACA,CAAC;AAAA,QAAA;AAGH,YAAI,CAACA,WAAA,QAAE,QAAQ,WAAW,GAAG;AAC3B,oBAAU,GAAG,MAAM,KAAK,OAAO,EAAE,IAAI,EAAE;QACzC;AAAA,MAAA,CACD;AAAA,IAAA;AAGiBH,wBAAAA,QAAO,MAAM,KAAK;AAClBA,wBAAAA,QAAO,SAAS,QAAQ;AAErC,WAAA;AAAA,EAAA;AAOT,QAAM,kBAAkB,YAAY;AAClC,UAAM,aAAa;AAGnB,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,UAAU,GAAG;AAC/C,YAAA,EAAE,YAAgB,IAAA;AAGxB,iBAAW,CAAC,YAAY,OAAO,KAAK,OAAO,QAAQ,WAAW,GAAG;AAE/D,cAAM,QAAQ;AAAA,UACZ,QAAQ,IAAI,CAACD,YAAW;AACtB,kBAAM,YAAY,GAAG,GAAG,IAAI,UAAU,IAAIA,OAAM;AAEzC,mBAAA,UAAU,OAAO,SAAS,WAAW;AAAA,cAC1C;AAAA,cACA;AAAA,cACA,QAAAA;AAAA,cACA,KAAK;AAAA,YAAA,CACN;AAAA,UAAA,CACF;AAAA,QAAA;AAAA,MAEL;AAAA,IACF;AAAA,EAAA;AAKF,QAAMK,WAASC,OAAuB,EAAE,UAAW,CAAA;AAE5CD,WAAA;AAAA,IACL;AAAA,IACA,gCAAgC,UAAU,MAAM;AAAA,EAAA;AAG3C,SAAA;AAAA,IAAA,QACLA;AAAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;;"}
@@ -1,86 +0,0 @@
1
- import _ from "lodash";
2
- import createActionProvider from "./providers/action.mjs";
3
- import createConditionProvider from "./providers/condition.mjs";
4
- import createPermissionEngine from "./engine.mjs";
5
- const typeSymbol = Symbol.for("__type__");
6
- const createValidatePermissionHandler = (actionProvider) => ({ permission }) => {
7
- const action = actionProvider.get(permission.action);
8
- if (!action) {
9
- strapi.log.debug(
10
- `Unknown action "${permission.action}" supplied when registering a new permission`
11
- );
12
- return false;
13
- }
14
- return true;
15
- };
16
- const instantiatePermissionsUtilities = (strapi2) => {
17
- const providers = {
18
- action: createActionProvider(),
19
- condition: createConditionProvider()
20
- };
21
- const getActionsMap = () => {
22
- const actionMap = {};
23
- const isContentApi = (action) => {
24
- if (!_.has(action, typeSymbol)) {
25
- return false;
26
- }
27
- return action[typeSymbol].includes("content-api");
28
- };
29
- const registerAPIsActions = (apis, source) => {
30
- _.forEach(apis, (api, apiName) => {
31
- const controllers = _.reduce(
32
- api.controllers,
33
- (acc, controller, controllerName) => {
34
- const contentApiActions = _.pickBy(controller, isContentApi);
35
- if (_.isEmpty(contentApiActions)) {
36
- return acc;
37
- }
38
- acc[controllerName] = Object.keys(contentApiActions);
39
- return acc;
40
- },
41
- {}
42
- );
43
- if (!_.isEmpty(controllers)) {
44
- actionMap[`${source}::${apiName}`] = { controllers };
45
- }
46
- });
47
- };
48
- registerAPIsActions(strapi2.apis, "api");
49
- registerAPIsActions(strapi2.plugins, "plugin");
50
- return actionMap;
51
- };
52
- const registerActions = async () => {
53
- const actionsMap = getActionsMap();
54
- for (const [api, value] of Object.entries(actionsMap)) {
55
- const { controllers } = value;
56
- for (const [controller, actions] of Object.entries(controllers)) {
57
- await Promise.all(
58
- actions.map((action) => {
59
- const actionUID = `${api}.${controller}.${action}`;
60
- return providers.action.register(actionUID, {
61
- api,
62
- controller,
63
- action,
64
- uid: actionUID
65
- });
66
- })
67
- );
68
- }
69
- }
70
- };
71
- const engine = createPermissionEngine({ providers });
72
- engine.on(
73
- "before-format::validate.permission",
74
- createValidatePermissionHandler(providers.action)
75
- );
76
- return {
77
- engine,
78
- providers,
79
- registerActions,
80
- getActionsMap
81
- };
82
- };
83
- export {
84
- instantiatePermissionsUtilities as default
85
- };
86
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../src/services/content-api/permissions/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\nimport { createActionProvider, createConditionProvider } from './providers';\nimport createPermissionEngine from './engine';\n\nconst typeSymbol = Symbol.for('__type__');\n\ninterface ValidatePermissionHandler {\n (params: { permission: { action: string } }): boolean;\n}\n\n/**\n * Creates a handler that checks if the permission's action exists in the action registry\n */\nconst createValidatePermissionHandler =\n (actionProvider: ReturnType<typeof createActionProvider>): ValidatePermissionHandler =>\n ({ permission }) => {\n const action = actionProvider.get(permission.action);\n\n // If the action isn't registered into the action provider, then ignore the permission and warn the user\n if (!action) {\n strapi.log.debug(\n `Unknown action \"${permission.action}\" supplied when registering a new permission`\n );\n\n return false;\n }\n\n return true;\n };\n\n/**\n * Create instances of providers and permission engine for the core content-API service.\n * Also, expose utilities to get information about available actions and such.\n */\nexport default (strapi: Core.Strapi) => {\n // NOTE: Here we define both an action and condition provider,\n // but at the moment, we're only using the action one.\n const providers = {\n action: createActionProvider(),\n condition: createConditionProvider(),\n };\n\n /**\n * Get a tree representation of the available Content API actions\n * based on the methods of the Content API controllers.\n *\n * @note Only actions bound to a content-API route are returned.\n */\n const getActionsMap = () => {\n const actionMap: Record<\n string,\n {\n controllers: Record<string, string[]>;\n }\n > = {};\n\n /**\n * Check if a controller's action is bound to the\n * content-api by looking at a potential __type__ symbol\n */\n const isContentApi = (action: Core.ControllerHandler & { [s: symbol]: any }) => {\n if (!_.has(action, typeSymbol)) {\n return false;\n }\n\n return action[typeSymbol].includes('content-api');\n };\n\n /**\n * Register actions from a specific API source into the result tree\n */\n const registerAPIsActions = (\n apis: Record<string, Core.Plugin | Core.Module>,\n source: 'api' | 'plugin'\n ) => {\n _.forEach(apis, (api, apiName) => {\n const controllers = _.reduce(\n api.controllers,\n (acc, controller, controllerName) => {\n const contentApiActions = _.pickBy(controller, isContentApi);\n\n if (_.isEmpty(contentApiActions)) {\n return acc;\n }\n\n acc[controllerName] = Object.keys(contentApiActions);\n\n return acc;\n },\n {} as Record<string, string[]>\n );\n\n if (!_.isEmpty(controllers)) {\n actionMap[`${source}::${apiName}`] = { controllers };\n }\n });\n };\n\n registerAPIsActions(strapi.apis, 'api');\n registerAPIsActions(strapi.plugins, 'plugin');\n\n return actionMap;\n };\n\n /**\n * Register all the content-API controllers actions into the action provider.\n * This method make use of the {@link getActionsMap} to generate the list of actions to register.\n */\n const registerActions = async () => {\n const actionsMap = getActionsMap();\n\n // For each API\n for (const [api, value] of Object.entries(actionsMap)) {\n const { controllers } = value;\n\n // Register controllers methods as actions\n for (const [controller, actions] of Object.entries(controllers)) {\n // Register each action individually\n await Promise.all(\n actions.map((action) => {\n const actionUID = `${api}.${controller}.${action}`;\n\n return providers.action.register(actionUID, {\n api,\n controller,\n action,\n uid: actionUID,\n });\n })\n );\n }\n }\n };\n\n // Create an instance of a content-API permission engine\n // and binds a custom validation handler to it\n const engine = createPermissionEngine({ providers });\n\n engine.on(\n 'before-format::validate.permission',\n createValidatePermissionHandler(providers.action)\n );\n\n return {\n engine,\n providers,\n registerActions,\n getActionsMap,\n };\n};\n"],"names":["strapi"],"mappings":";;;;AAKA,MAAM,aAAa,OAAO,IAAI,UAAU;AASxC,MAAM,kCACJ,CAAC,mBACD,CAAC,EAAE,iBAAiB;AAClB,QAAM,SAAS,eAAe,IAAI,WAAW,MAAM;AAGnD,MAAI,CAAC,QAAQ;AACX,WAAO,IAAI;AAAA,MACT,mBAAmB,WAAW,MAAM;AAAA,IAAA;AAG/B,WAAA;AAAA,EACT;AAEO,SAAA;AACT;AAMF,MAAe,kCAAA,CAACA,YAAwB;AAGtC,QAAM,YAAY;AAAA,IAChB,QAAQ,qBAAqB;AAAA,IAC7B,WAAW,wBAAwB;AAAA,EAAA;AASrC,QAAM,gBAAgB,MAAM;AAC1B,UAAM,YAKF,CAAA;AAME,UAAA,eAAe,CAAC,WAA0D;AAC9E,UAAI,CAAC,EAAE,IAAI,QAAQ,UAAU,GAAG;AACvB,eAAA;AAAA,MACT;AAEA,aAAO,OAAO,UAAU,EAAE,SAAS,aAAa;AAAA,IAAA;AAM5C,UAAA,sBAAsB,CAC1B,MACA,WACG;AACH,QAAE,QAAQ,MAAM,CAAC,KAAK,YAAY;AAChC,cAAM,cAAc,EAAE;AAAA,UACpB,IAAI;AAAA,UACJ,CAAC,KAAK,YAAY,mBAAmB;AACnC,kBAAM,oBAAoB,EAAE,OAAO,YAAY,YAAY;AAEvD,gBAAA,EAAE,QAAQ,iBAAiB,GAAG;AACzB,qBAAA;AAAA,YACT;AAEA,gBAAI,cAAc,IAAI,OAAO,KAAK,iBAAiB;AAE5C,mBAAA;AAAA,UACT;AAAA,UACA,CAAC;AAAA,QAAA;AAGH,YAAI,CAAC,EAAE,QAAQ,WAAW,GAAG;AAC3B,oBAAU,GAAG,MAAM,KAAK,OAAO,EAAE,IAAI,EAAE;QACzC;AAAA,MAAA,CACD;AAAA,IAAA;AAGiBA,wBAAAA,QAAO,MAAM,KAAK;AAClBA,wBAAAA,QAAO,SAAS,QAAQ;AAErC,WAAA;AAAA,EAAA;AAOT,QAAM,kBAAkB,YAAY;AAClC,UAAM,aAAa;AAGnB,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,UAAU,GAAG;AAC/C,YAAA,EAAE,YAAgB,IAAA;AAGxB,iBAAW,CAAC,YAAY,OAAO,KAAK,OAAO,QAAQ,WAAW,GAAG;AAE/D,cAAM,QAAQ;AAAA,UACZ,QAAQ,IAAI,CAAC,WAAW;AACtB,kBAAM,YAAY,GAAG,GAAG,IAAI,UAAU,IAAI,MAAM;AAEzC,mBAAA,UAAU,OAAO,SAAS,WAAW;AAAA,cAC1C;AAAA,cACA;AAAA,cACA;AAAA,cACA,KAAK;AAAA,YAAA,CACN;AAAA,UAAA,CACF;AAAA,QAAA;AAAA,MAEL;AAAA,IACF;AAAA,EAAA;AAKF,QAAM,SAAS,uBAAuB,EAAE,UAAW,CAAA;AAE5C,SAAA;AAAA,IACL;AAAA,IACA,gCAAgC,UAAU,MAAM;AAAA,EAAA;AAG3C,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- const strapiUtils = require("@strapi/utils");
3
- const createActionProvider = (options = {}) => {
4
- const provider = strapiUtils.providerFactory(options);
5
- return {
6
- ...provider,
7
- async register(action, payload) {
8
- if (strapi.isLoaded) {
9
- throw new Error(`You can't register new actions outside the bootstrap function.`);
10
- }
11
- return provider.register(action, payload);
12
- }
13
- };
14
- };
15
- module.exports = createActionProvider;
16
- //# sourceMappingURL=action.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/services/content-api/permissions/providers/action.ts"],"sourcesContent":["import { providerFactory } from '@strapi/utils';\n\nexport default (options = {}) => {\n const provider = providerFactory(options);\n\n return {\n ...provider,\n\n async register(action: string, payload: Record<string, unknown>) {\n if (strapi.isLoaded) {\n throw new Error(`You can't register new actions outside the bootstrap function.`);\n }\n\n return provider.register(action, payload);\n },\n };\n};\n"],"names":["providerFactory"],"mappings":";;AAEA,MAAA,uBAAe,CAAC,UAAU,CAAA,MAAO;AACzB,QAAA,WAAWA,4BAAgB,OAAO;AAEjC,SAAA;AAAA,IACL,GAAG;AAAA,IAEH,MAAM,SAAS,QAAgB,SAAkC;AAC/D,UAAI,OAAO,UAAU;AACb,cAAA,IAAI,MAAM,gEAAgE;AAAA,MAClF;AAEO,aAAA,SAAS,SAAS,QAAQ,OAAO;AAAA,IAC1C;AAAA,EAAA;AAEJ;;"}
@@ -1,17 +0,0 @@
1
- import { providerFactory } from "@strapi/utils";
2
- const createActionProvider = (options = {}) => {
3
- const provider = providerFactory(options);
4
- return {
5
- ...provider,
6
- async register(action, payload) {
7
- if (strapi.isLoaded) {
8
- throw new Error(`You can't register new actions outside the bootstrap function.`);
9
- }
10
- return provider.register(action, payload);
11
- }
12
- };
13
- };
14
- export {
15
- createActionProvider as default
16
- };
17
- //# sourceMappingURL=action.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action.mjs","sources":["../../../../../src/services/content-api/permissions/providers/action.ts"],"sourcesContent":["import { providerFactory } from '@strapi/utils';\n\nexport default (options = {}) => {\n const provider = providerFactory(options);\n\n return {\n ...provider,\n\n async register(action: string, payload: Record<string, unknown>) {\n if (strapi.isLoaded) {\n throw new Error(`You can't register new actions outside the bootstrap function.`);\n }\n\n return provider.register(action, payload);\n },\n };\n};\n"],"names":[],"mappings":";AAEA,MAAA,uBAAe,CAAC,UAAU,CAAA,MAAO;AACzB,QAAA,WAAW,gBAAgB,OAAO;AAEjC,SAAA;AAAA,IACL,GAAG;AAAA,IAEH,MAAM,SAAS,QAAgB,SAAkC;AAC/D,UAAI,OAAO,UAAU;AACb,cAAA,IAAI,MAAM,gEAAgE;AAAA,MAClF;AAEO,aAAA,SAAS,SAAS,QAAQ,OAAO;AAAA,IAC1C;AAAA,EAAA;AAEJ;"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- const strapiUtils = require("@strapi/utils");
3
- const createConditionProvider = (options = {}) => {
4
- const provider = strapiUtils.providerFactory(options);
5
- return {
6
- ...provider,
7
- async register(condition) {
8
- if (strapi.isLoaded) {
9
- throw new Error(`You can't register new conditions outside the bootstrap function.`);
10
- }
11
- return provider.register(condition.name, condition);
12
- }
13
- };
14
- };
15
- module.exports = createConditionProvider;
16
- //# sourceMappingURL=condition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition.js","sources":["../../../../../src/services/content-api/permissions/providers/condition.ts"],"sourcesContent":["import { providerFactory } from '@strapi/utils';\n\nexport interface Condition {\n name: string;\n [key: string]: unknown;\n}\n\nexport default (options = {}) => {\n const provider = providerFactory(options);\n\n return {\n ...provider,\n\n async register(condition: Condition) {\n if (strapi.isLoaded) {\n throw new Error(`You can't register new conditions outside the bootstrap function.`);\n }\n\n return provider.register(condition.name, condition);\n },\n };\n};\n"],"names":["providerFactory"],"mappings":";;AAOA,MAAA,0BAAe,CAAC,UAAU,CAAA,MAAO;AACzB,QAAA,WAAWA,4BAAgB,OAAO;AAEjC,SAAA;AAAA,IACL,GAAG;AAAA,IAEH,MAAM,SAAS,WAAsB;AACnC,UAAI,OAAO,UAAU;AACb,cAAA,IAAI,MAAM,mEAAmE;AAAA,MACrF;AAEA,aAAO,SAAS,SAAS,UAAU,MAAM,SAAS;AAAA,IACpD;AAAA,EAAA;AAEJ;;"}
@@ -1,17 +0,0 @@
1
- import { providerFactory } from "@strapi/utils";
2
- const createConditionProvider = (options = {}) => {
3
- const provider = providerFactory(options);
4
- return {
5
- ...provider,
6
- async register(condition) {
7
- if (strapi.isLoaded) {
8
- throw new Error(`You can't register new conditions outside the bootstrap function.`);
9
- }
10
- return provider.register(condition.name, condition);
11
- }
12
- };
13
- };
14
- export {
15
- createConditionProvider as default
16
- };
17
- //# sourceMappingURL=condition.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition.mjs","sources":["../../../../../src/services/content-api/permissions/providers/condition.ts"],"sourcesContent":["import { providerFactory } from '@strapi/utils';\n\nexport interface Condition {\n name: string;\n [key: string]: unknown;\n}\n\nexport default (options = {}) => {\n const provider = providerFactory(options);\n\n return {\n ...provider,\n\n async register(condition: Condition) {\n if (strapi.isLoaded) {\n throw new Error(`You can't register new conditions outside the bootstrap function.`);\n }\n\n return provider.register(condition.name, condition);\n },\n };\n};\n"],"names":[],"mappings":";AAOA,MAAA,0BAAe,CAAC,UAAU,CAAA,MAAO;AACzB,QAAA,WAAW,gBAAgB,OAAO;AAEjC,SAAA;AAAA,IACL,GAAG;AAAA,IAEH,MAAM,SAAS,WAAsB;AACnC,UAAI,OAAO,UAAU;AACb,cAAA,IAAI,MAAM,mEAAmE;AAAA,MACrF;AAEA,aAAO,SAAS,SAAS,UAAU,MAAM,SAAS;AAAA,IACpD;AAAA,EAAA;AAEJ;"}
@@ -1,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
4
- const coreStoreModel = {
5
- uid: "strapi::core-store",
6
- singularName: "strapi_core_store_settings",
7
- tableName: "strapi_core_store_settings",
8
- attributes: {
9
- id: {
10
- type: "increments"
11
- },
12
- key: {
13
- type: "string"
14
- },
15
- value: {
16
- type: "text"
17
- },
18
- type: {
19
- type: "string"
20
- },
21
- environment: {
22
- type: "string"
23
- },
24
- tag: {
25
- type: "string"
26
- }
27
- }
28
- };
29
- const createCoreStore = ({ db }) => {
30
- const mergeParams = (defaultParams, params) => {
31
- return {
32
- ...defaultParams,
33
- ...params
34
- };
35
- };
36
- const store = function(defaultParams) {
37
- return {
38
- get: (params) => store.get(mergeParams(defaultParams, params)),
39
- set: (params) => store.set(mergeParams(defaultParams, params)),
40
- delete: (params) => store.delete(mergeParams(defaultParams, params))
41
- };
42
- };
43
- store.get = async (params) => {
44
- const { key, type = "core", environment, name, tag } = params;
45
- const prefix = `${type}${name ? `_${name}` : ""}`;
46
- const where = {
47
- key: `${prefix}_${key}`,
48
- environment: environment || null,
49
- tag: tag || null
50
- };
51
- const data = await db.query("strapi::core-store").findOne({ where });
52
- if (!data) {
53
- return null;
54
- }
55
- if (data.type === "object" || data.type === "array" || data.type === "boolean" || data.type === "string") {
56
- try {
57
- return JSON.parse(data.value);
58
- } catch (err) {
59
- return new Date(data.value);
60
- }
61
- } else if (data.type === "number") {
62
- return Number(data.value);
63
- } else {
64
- return null;
65
- }
66
- };
67
- store.set = async (params) => {
68
- const { key, value, type, environment, name, tag } = params;
69
- const prefix = `${type}${name ? `_${name}` : ""}`;
70
- const where = {
71
- key: `${prefix}_${key}`,
72
- environment: environment || null,
73
- tag: tag || null
74
- };
75
- const data = await db.query("strapi::core-store").findOne({ where });
76
- if (data) {
77
- return db.query("strapi::core-store").update({
78
- where: { id: data.id },
79
- data: {
80
- value: JSON.stringify(value) || _.toString(value),
81
- type: typeof value
82
- }
83
- });
84
- }
85
- return db.query("strapi::core-store").create({
86
- data: {
87
- ...where,
88
- value: JSON.stringify(value) || _.toString(value),
89
- type: typeof value
90
- }
91
- });
92
- };
93
- store.delete = async (params) => {
94
- const { key, environment, type, name, tag } = params;
95
- const prefix = `${type}${name ? `_${name}` : ""}`;
96
- const where = {
97
- key: `${prefix}_${key}`,
98
- environment: environment || null,
99
- tag: tag || null
100
- };
101
- return db.query("strapi::core-store").delete({ where });
102
- };
103
- return store;
104
- };
105
- exports.coreStoreModel = coreStoreModel;
106
- exports.createCoreStore = createCoreStore;
107
- //# sourceMappingURL=core-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core-store.js","sources":["../../src/services/core-store.ts"],"sourcesContent":["import { toString } from 'lodash/fp';\nimport type { Database, Model } from '@strapi/database';\n\nconst coreStoreModel: Model = {\n uid: 'strapi::core-store',\n singularName: 'strapi_core_store_settings',\n tableName: 'strapi_core_store_settings',\n attributes: {\n id: {\n type: 'increments',\n },\n key: {\n type: 'string',\n },\n value: {\n type: 'text',\n },\n type: {\n type: 'string',\n },\n environment: {\n type: 'string',\n },\n tag: {\n type: 'string',\n },\n },\n};\n\ntype SetParams = {\n key: string;\n value: unknown;\n type?: string;\n environment?: string;\n name?: string;\n tag?: string;\n};\n\ntype GetParams = {\n key: string;\n type?: string;\n environment?: string;\n name?: string;\n tag?: string;\n};\n\ntype Params = SetParams & GetParams;\n\ninterface CoreStore {\n (defaultParams: Partial<Params>): {\n get(params: Partial<GetParams>): Promise<unknown>;\n set(params: Partial<SetParams>): Promise<void>;\n delete(params: Partial<GetParams>): Promise<void>;\n };\n get(params: GetParams): Promise<unknown>;\n set(params: SetParams): Promise<void>;\n delete(params: GetParams): Promise<void>;\n}\n\nconst createCoreStore = ({ db }: { db: Database }) => {\n const mergeParams = (defaultParams: Partial<Params>, params: Params): Params => {\n return {\n ...defaultParams,\n ...params,\n };\n };\n\n const store: CoreStore = function (defaultParams: Partial<Params>) {\n return {\n get: (params: Params) => store.get(mergeParams(defaultParams, params)),\n set: (params: Params) => store.set(mergeParams(defaultParams, params)),\n delete: (params: Params) => store.delete(mergeParams(defaultParams, params)),\n };\n };\n\n /**\n * Get value from the core store\n */\n store.get = async (params) => {\n const { key, type = 'core', environment, name, tag } = params;\n\n const prefix = `${type}${name ? `_${name}` : ''}`;\n\n const where = {\n key: `${prefix}_${key}`,\n environment: environment || null,\n tag: tag || null,\n };\n\n const data = await db.query('strapi::core-store').findOne({ where });\n\n if (!data) {\n return null;\n }\n\n if (\n data.type === 'object' ||\n data.type === 'array' ||\n data.type === 'boolean' ||\n data.type === 'string'\n ) {\n try {\n return JSON.parse(data.value);\n } catch (err) {\n return new Date(data.value);\n }\n } else if (data.type === 'number') {\n return Number(data.value);\n } else {\n return null;\n }\n };\n\n /**\n * Set value in the core store\n * @param {Object} params\n * @returns {*}\n */\n store.set = async (params) => {\n const { key, value, type, environment, name, tag } = params;\n\n const prefix = `${type}${name ? `_${name}` : ''}`;\n\n const where = {\n key: `${prefix}_${key}`,\n environment: environment || null,\n tag: tag || null,\n };\n\n const data = await db.query('strapi::core-store').findOne({ where });\n\n if (data) {\n return db.query('strapi::core-store').update({\n where: { id: data.id },\n data: {\n value: JSON.stringify(value) || toString(value),\n type: typeof value,\n },\n });\n }\n\n return db.query('strapi::core-store').create({\n data: {\n ...where,\n value: JSON.stringify(value) || toString(value),\n type: typeof value,\n },\n });\n };\n\n /**\n * Deletes a value from the core store\n * @param {Object} params\n * @returns {*}\n */\n store.delete = async (params) => {\n const { key, environment, type, name, tag } = params;\n\n const prefix = `${type}${name ? `_${name}` : ''}`;\n\n const where = {\n key: `${prefix}_${key}`,\n environment: environment || null,\n tag: tag || null,\n };\n\n return db.query('strapi::core-store').delete({ where });\n };\n\n return store;\n};\n\nexport { coreStoreModel, createCoreStore };\n"],"names":["toString"],"mappings":"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"}
@@ -1,107 +0,0 @@
1
- import { toString } from "lodash/fp";
2
- const coreStoreModel = {
3
- uid: "strapi::core-store",
4
- singularName: "strapi_core_store_settings",
5
- tableName: "strapi_core_store_settings",
6
- attributes: {
7
- id: {
8
- type: "increments"
9
- },
10
- key: {
11
- type: "string"
12
- },
13
- value: {
14
- type: "text"
15
- },
16
- type: {
17
- type: "string"
18
- },
19
- environment: {
20
- type: "string"
21
- },
22
- tag: {
23
- type: "string"
24
- }
25
- }
26
- };
27
- const createCoreStore = ({ db }) => {
28
- const mergeParams = (defaultParams, params) => {
29
- return {
30
- ...defaultParams,
31
- ...params
32
- };
33
- };
34
- const store = function(defaultParams) {
35
- return {
36
- get: (params) => store.get(mergeParams(defaultParams, params)),
37
- set: (params) => store.set(mergeParams(defaultParams, params)),
38
- delete: (params) => store.delete(mergeParams(defaultParams, params))
39
- };
40
- };
41
- store.get = async (params) => {
42
- const { key, type = "core", environment, name, tag } = params;
43
- const prefix = `${type}${name ? `_${name}` : ""}`;
44
- const where = {
45
- key: `${prefix}_${key}`,
46
- environment: environment || null,
47
- tag: tag || null
48
- };
49
- const data = await db.query("strapi::core-store").findOne({ where });
50
- if (!data) {
51
- return null;
52
- }
53
- if (data.type === "object" || data.type === "array" || data.type === "boolean" || data.type === "string") {
54
- try {
55
- return JSON.parse(data.value);
56
- } catch (err) {
57
- return new Date(data.value);
58
- }
59
- } else if (data.type === "number") {
60
- return Number(data.value);
61
- } else {
62
- return null;
63
- }
64
- };
65
- store.set = async (params) => {
66
- const { key, value, type, environment, name, tag } = params;
67
- const prefix = `${type}${name ? `_${name}` : ""}`;
68
- const where = {
69
- key: `${prefix}_${key}`,
70
- environment: environment || null,
71
- tag: tag || null
72
- };
73
- const data = await db.query("strapi::core-store").findOne({ where });
74
- if (data) {
75
- return db.query("strapi::core-store").update({
76
- where: { id: data.id },
77
- data: {
78
- value: JSON.stringify(value) || toString(value),
79
- type: typeof value
80
- }
81
- });
82
- }
83
- return db.query("strapi::core-store").create({
84
- data: {
85
- ...where,
86
- value: JSON.stringify(value) || toString(value),
87
- type: typeof value
88
- }
89
- });
90
- };
91
- store.delete = async (params) => {
92
- const { key, environment, type, name, tag } = params;
93
- const prefix = `${type}${name ? `_${name}` : ""}`;
94
- const where = {
95
- key: `${prefix}_${key}`,
96
- environment: environment || null,
97
- tag: tag || null
98
- };
99
- return db.query("strapi::core-store").delete({ where });
100
- };
101
- return store;
102
- };
103
- export {
104
- coreStoreModel,
105
- createCoreStore
106
- };
107
- //# sourceMappingURL=core-store.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core-store.mjs","sources":["../../src/services/core-store.ts"],"sourcesContent":["import { toString } from 'lodash/fp';\nimport type { Database, Model } from '@strapi/database';\n\nconst coreStoreModel: Model = {\n uid: 'strapi::core-store',\n singularName: 'strapi_core_store_settings',\n tableName: 'strapi_core_store_settings',\n attributes: {\n id: {\n type: 'increments',\n },\n key: {\n type: 'string',\n },\n value: {\n type: 'text',\n },\n type: {\n type: 'string',\n },\n environment: {\n type: 'string',\n },\n tag: {\n type: 'string',\n },\n },\n};\n\ntype SetParams = {\n key: string;\n value: unknown;\n type?: string;\n environment?: string;\n name?: string;\n tag?: string;\n};\n\ntype GetParams = {\n key: string;\n type?: string;\n environment?: string;\n name?: string;\n tag?: string;\n};\n\ntype Params = SetParams & GetParams;\n\ninterface CoreStore {\n (defaultParams: Partial<Params>): {\n get(params: Partial<GetParams>): Promise<unknown>;\n set(params: Partial<SetParams>): Promise<void>;\n delete(params: Partial<GetParams>): Promise<void>;\n };\n get(params: GetParams): Promise<unknown>;\n set(params: SetParams): Promise<void>;\n delete(params: GetParams): Promise<void>;\n}\n\nconst createCoreStore = ({ db }: { db: Database }) => {\n const mergeParams = (defaultParams: Partial<Params>, params: Params): Params => {\n return {\n ...defaultParams,\n ...params,\n };\n };\n\n const store: CoreStore = function (defaultParams: Partial<Params>) {\n return {\n get: (params: Params) => store.get(mergeParams(defaultParams, params)),\n set: (params: Params) => store.set(mergeParams(defaultParams, params)),\n delete: (params: Params) => store.delete(mergeParams(defaultParams, params)),\n };\n };\n\n /**\n * Get value from the core store\n */\n store.get = async (params) => {\n const { key, type = 'core', environment, name, tag } = params;\n\n const prefix = `${type}${name ? `_${name}` : ''}`;\n\n const where = {\n key: `${prefix}_${key}`,\n environment: environment || null,\n tag: tag || null,\n };\n\n const data = await db.query('strapi::core-store').findOne({ where });\n\n if (!data) {\n return null;\n }\n\n if (\n data.type === 'object' ||\n data.type === 'array' ||\n data.type === 'boolean' ||\n data.type === 'string'\n ) {\n try {\n return JSON.parse(data.value);\n } catch (err) {\n return new Date(data.value);\n }\n } else if (data.type === 'number') {\n return Number(data.value);\n } else {\n return null;\n }\n };\n\n /**\n * Set value in the core store\n * @param {Object} params\n * @returns {*}\n */\n store.set = async (params) => {\n const { key, value, type, environment, name, tag } = params;\n\n const prefix = `${type}${name ? `_${name}` : ''}`;\n\n const where = {\n key: `${prefix}_${key}`,\n environment: environment || null,\n tag: tag || null,\n };\n\n const data = await db.query('strapi::core-store').findOne({ where });\n\n if (data) {\n return db.query('strapi::core-store').update({\n where: { id: data.id },\n data: {\n value: JSON.stringify(value) || toString(value),\n type: typeof value,\n },\n });\n }\n\n return db.query('strapi::core-store').create({\n data: {\n ...where,\n value: JSON.stringify(value) || toString(value),\n type: typeof value,\n },\n });\n };\n\n /**\n * Deletes a value from the core store\n * @param {Object} params\n * @returns {*}\n */\n store.delete = async (params) => {\n const { key, environment, type, name, tag } = params;\n\n const prefix = `${type}${name ? `_${name}` : ''}`;\n\n const where = {\n key: `${prefix}_${key}`,\n environment: environment || null,\n tag: tag || null,\n };\n\n return db.query('strapi::core-store').delete({ where });\n };\n\n return store;\n};\n\nexport { coreStoreModel, createCoreStore };\n"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- "use strict";
2
- const nodeSchedule = require("node-schedule");
3
- const _ = require("lodash/fp");
4
- const createCronService = () => {
5
- let jobsSpecs = [];
6
- let running = false;
7
- return {
8
- add(tasks = {}) {
9
- for (const taskExpression of Object.keys(tasks)) {
10
- const taskValue = tasks[taskExpression];
11
- let fn;
12
- let options;
13
- let taskName;
14
- if (_.isFunction(taskValue)) {
15
- taskName = null;
16
- fn = taskValue.bind(tasks);
17
- options = taskExpression;
18
- } else if (_.isFunction(taskValue.task)) {
19
- taskName = taskExpression;
20
- fn = taskValue.task.bind(taskValue);
21
- options = taskValue.options;
22
- } else {
23
- throw new Error(
24
- `Could not schedule a cron job for "${taskExpression}": no function found.`
25
- );
26
- }
27
- const fnWithStrapi = (...args) => fn({ strapi }, ...args);
28
- const job = new nodeSchedule.Job(fnWithStrapi);
29
- jobsSpecs.push({ job, options, name: taskName });
30
- if (running) {
31
- job.schedule(options);
32
- }
33
- }
34
- return this;
35
- },
36
- remove(name) {
37
- if (!name) {
38
- throw new Error("You must provide a name to remove a cron job.");
39
- }
40
- jobsSpecs.filter(({ name: jobSpecName }) => jobSpecName === name).forEach(({ job }) => job.cancel());
41
- jobsSpecs = jobsSpecs.filter(({ name: jobSpecName }) => jobSpecName !== name);
42
- return this;
43
- },
44
- start() {
45
- jobsSpecs.forEach(({ job, options }) => job.schedule(options));
46
- running = true;
47
- return this;
48
- },
49
- stop() {
50
- jobsSpecs.forEach(({ job }) => job.cancel());
51
- running = false;
52
- return this;
53
- },
54
- destroy() {
55
- this.stop();
56
- jobsSpecs = [];
57
- return this;
58
- },
59
- jobs: jobsSpecs
60
- };
61
- };
62
- module.exports = createCronService;
63
- //# sourceMappingURL=cron.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cron.js","sources":["../../src/services/cron.ts"],"sourcesContent":["import { Job } from 'node-schedule';\nimport { isFunction } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\n\ninterface JobSpec {\n job: Job;\n options: string | number | Date;\n name: string | null;\n}\n\ntype TaskFn = ({ strapi }: { strapi: Core.Strapi }, ...args: unknown[]) => Promise<unknown>;\n\ntype Task =\n | TaskFn\n | {\n task: TaskFn;\n options: string;\n };\n\ninterface Tasks {\n [key: string]: Task;\n}\n\nconst createCronService = () => {\n let jobsSpecs: JobSpec[] = [];\n let running = false;\n\n return {\n add(tasks: Tasks = {}) {\n for (const taskExpression of Object.keys(tasks)) {\n const taskValue = tasks[taskExpression];\n\n let fn: TaskFn;\n let options: string | number | Date;\n let taskName: string | null;\n if (isFunction(taskValue)) {\n // don't use task name if key is the rule\n taskName = null;\n fn = taskValue.bind(tasks);\n options = taskExpression;\n } else if (isFunction(taskValue.task)) {\n // set task name if key is not the rule\n taskName = taskExpression;\n fn = taskValue.task.bind(taskValue);\n options = taskValue.options;\n } else {\n throw new Error(\n `Could not schedule a cron job for \"${taskExpression}\": no function found.`\n );\n }\n\n const fnWithStrapi = (...args: unknown[]) => fn({ strapi }, ...args);\n\n // const job = new Job(null, fnWithStrapi);\n const job = new Job(fnWithStrapi);\n jobsSpecs.push({ job, options, name: taskName });\n\n if (running) {\n job.schedule(options);\n }\n }\n return this;\n },\n\n remove(name: string) {\n if (!name) {\n throw new Error('You must provide a name to remove a cron job.');\n }\n\n jobsSpecs\n .filter(({ name: jobSpecName }) => jobSpecName === name)\n .forEach(({ job }) => job.cancel());\n\n jobsSpecs = jobsSpecs.filter(({ name: jobSpecName }) => jobSpecName !== name);\n return this;\n },\n\n start() {\n jobsSpecs.forEach(({ job, options }) => job.schedule(options));\n running = true;\n return this;\n },\n\n stop() {\n jobsSpecs.forEach(({ job }) => job.cancel());\n running = false;\n return this;\n },\n\n destroy() {\n this.stop();\n jobsSpecs = [];\n return this;\n },\n jobs: jobsSpecs,\n };\n};\n\nexport default createCronService;\n"],"names":["isFunction","Job"],"mappings":";;;AAuBA,MAAM,oBAAoB,MAAM;AAC9B,MAAI,YAAuB,CAAA;AAC3B,MAAI,UAAU;AAEP,SAAA;AAAA,IACL,IAAI,QAAe,IAAI;AACrB,iBAAW,kBAAkB,OAAO,KAAK,KAAK,GAAG;AACzC,cAAA,YAAY,MAAM,cAAc;AAElC,YAAA;AACA,YAAA;AACA,YAAA;AACA,YAAAA,EAAAA,WAAW,SAAS,GAAG;AAEd,qBAAA;AACN,eAAA,UAAU,KAAK,KAAK;AACf,oBAAA;AAAA,QACD,WAAAA,EAAA,WAAW,UAAU,IAAI,GAAG;AAE1B,qBAAA;AACN,eAAA,UAAU,KAAK,KAAK,SAAS;AAClC,oBAAU,UAAU;AAAA,QAAA,OACf;AACL,gBAAM,IAAI;AAAA,YACR,sCAAsC,cAAc;AAAA,UAAA;AAAA,QAExD;AAEM,cAAA,eAAe,IAAI,SAAoB,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI;AAG7D,cAAA,MAAM,IAAIC,iBAAI,YAAY;AAChC,kBAAU,KAAK,EAAE,KAAK,SAAS,MAAM,UAAU;AAE/C,YAAI,SAAS;AACX,cAAI,SAAS,OAAO;AAAA,QACtB;AAAA,MACF;AACO,aAAA;AAAA,IACT;AAAA,IAEA,OAAO,MAAc;AACnB,UAAI,CAAC,MAAM;AACH,cAAA,IAAI,MAAM,+CAA+C;AAAA,MACjE;AAEA,gBACG,OAAO,CAAC,EAAE,MAAM,YAAA,MAAkB,gBAAgB,IAAI,EACtD,QAAQ,CAAC,EAAE,IAAA,MAAU,IAAI,OAAQ,CAAA;AAExB,kBAAA,UAAU,OAAO,CAAC,EAAE,MAAM,YAAY,MAAM,gBAAgB,IAAI;AACrE,aAAA;AAAA,IACT;AAAA,IAEA,QAAQ;AACI,gBAAA,QAAQ,CAAC,EAAE,KAAK,QAAc,MAAA,IAAI,SAAS,OAAO,CAAC;AACnD,gBAAA;AACH,aAAA;AAAA,IACT;AAAA,IAEA,OAAO;AACL,gBAAU,QAAQ,CAAC,EAAE,IAAU,MAAA,IAAI,QAAQ;AACjC,gBAAA;AACH,aAAA;AAAA,IACT;AAAA,IAEA,UAAU;AACR,WAAK,KAAK;AACV,kBAAY,CAAA;AACL,aAAA;AAAA,IACT;AAAA,IACA,MAAM;AAAA,EAAA;AAEV;;"}