@strapi/core 0.0.0-experimental.45c1b845d32b56e7c14f4155ec0d4a2d2774c77e → 0.0.0-experimental.4abe3ba72a976dd31453f1c69d10d4d72ab079af

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.

Potentially problematic release.


This version of @strapi/core might be problematic. Click here for more details.

Files changed (815) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +52 -59
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +195 -211
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +165 -201
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/configuration/config-loader.d.ts.map +1 -1
  9. package/dist/configuration/config-loader.js +9 -5
  10. package/dist/configuration/config-loader.js.map +1 -1
  11. package/dist/configuration/config-loader.mjs +9 -5
  12. package/dist/configuration/config-loader.mjs.map +1 -1
  13. package/dist/configuration/get-dirs.d.ts +10 -0
  14. package/dist/configuration/get-dirs.d.ts.map +1 -0
  15. package/dist/{utils → configuration}/get-dirs.js +3 -2
  16. package/dist/configuration/get-dirs.js.map +1 -0
  17. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  18. package/dist/configuration/get-dirs.mjs.map +1 -0
  19. package/dist/configuration/index.d.ts +4 -7
  20. package/dist/configuration/index.d.ts.map +1 -1
  21. package/dist/configuration/index.js +8 -6
  22. package/dist/configuration/index.js.map +1 -1
  23. package/dist/configuration/index.mjs +5 -4
  24. package/dist/configuration/index.mjs.map +1 -1
  25. package/dist/container.d.ts +2 -2
  26. package/dist/container.d.ts.map +1 -1
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.mjs.map +1 -1
  29. package/dist/core-api/controller/collection-type.d.ts +3 -3
  30. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  31. package/dist/core-api/controller/collection-type.js +6 -3
  32. package/dist/core-api/controller/collection-type.js.map +1 -1
  33. package/dist/core-api/controller/collection-type.mjs +3 -0
  34. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  35. package/dist/core-api/controller/index.d.ts +3 -3
  36. package/dist/core-api/controller/index.d.ts.map +1 -1
  37. package/dist/core-api/controller/index.js +7 -7
  38. package/dist/core-api/controller/index.js.map +1 -1
  39. package/dist/core-api/controller/index.mjs +6 -6
  40. package/dist/core-api/controller/index.mjs.map +1 -1
  41. package/dist/core-api/controller/single-type.d.ts +3 -3
  42. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  43. package/dist/core-api/controller/single-type.js +3 -2
  44. package/dist/core-api/controller/single-type.js.map +1 -1
  45. package/dist/core-api/controller/single-type.mjs +1 -0
  46. package/dist/core-api/controller/single-type.mjs.map +1 -1
  47. package/dist/core-api/controller/transform.d.ts +2 -2
  48. package/dist/core-api/controller/transform.d.ts.map +1 -1
  49. package/dist/core-api/controller/transform.js +10 -13
  50. package/dist/core-api/controller/transform.js.map +1 -1
  51. package/dist/core-api/controller/transform.mjs +2 -5
  52. package/dist/core-api/controller/transform.mjs.map +1 -1
  53. package/dist/core-api/routes/index.d.ts.map +1 -1
  54. package/dist/core-api/service/collection-type.d.ts +11 -17
  55. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  56. package/dist/core-api/service/collection-type.js +18 -7
  57. package/dist/core-api/service/collection-type.js.map +1 -1
  58. package/dist/core-api/service/collection-type.mjs +19 -8
  59. package/dist/core-api/service/collection-type.mjs.map +1 -1
  60. package/dist/core-api/service/index.d.ts +3 -3
  61. package/dist/core-api/service/index.d.ts.map +1 -1
  62. package/dist/core-api/service/index.js.map +1 -1
  63. package/dist/core-api/service/index.mjs.map +1 -1
  64. package/dist/core-api/service/pagination.d.ts +4 -11
  65. package/dist/core-api/service/pagination.d.ts.map +1 -1
  66. package/dist/core-api/service/pagination.js +18 -44
  67. package/dist/core-api/service/pagination.js.map +1 -1
  68. package/dist/core-api/service/pagination.mjs +16 -42
  69. package/dist/core-api/service/pagination.mjs.map +1 -1
  70. package/dist/core-api/service/single-type.d.ts +4 -4
  71. package/dist/core-api/service/single-type.d.ts.map +1 -1
  72. package/dist/core-api/service/single-type.js +9 -2
  73. package/dist/core-api/service/single-type.js.map +1 -1
  74. package/dist/core-api/service/single-type.mjs +9 -2
  75. package/dist/core-api/service/single-type.mjs.map +1 -1
  76. package/dist/domain/content-type/index.d.ts +1 -1
  77. package/dist/domain/content-type/index.d.ts.map +1 -1
  78. package/dist/domain/content-type/index.js +5 -5
  79. package/dist/domain/content-type/index.js.map +1 -1
  80. package/dist/domain/content-type/index.mjs +1 -1
  81. package/dist/domain/content-type/index.mjs.map +1 -1
  82. package/dist/domain/module/index.d.ts +24 -23
  83. package/dist/domain/module/index.d.ts.map +1 -1
  84. package/dist/domain/module/index.js +2 -1
  85. package/dist/domain/module/index.js.map +1 -1
  86. package/dist/domain/module/index.mjs +3 -2
  87. package/dist/domain/module/index.mjs.map +1 -1
  88. package/dist/ee/index.d.ts +4 -2
  89. package/dist/ee/index.d.ts.map +1 -1
  90. package/dist/ee/index.js +9 -4
  91. package/dist/ee/index.js.map +1 -1
  92. package/dist/ee/index.mjs +6 -1
  93. package/dist/ee/index.mjs.map +1 -1
  94. package/dist/ee/license.d.ts +2 -2
  95. package/dist/ee/license.d.ts.map +1 -1
  96. package/dist/ee/license.js +2 -1
  97. package/dist/ee/license.js.map +1 -1
  98. package/dist/ee/license.mjs +2 -1
  99. package/dist/ee/license.mjs.map +1 -1
  100. package/dist/factories.d.ts +10 -10
  101. package/dist/factories.d.ts.map +1 -1
  102. package/dist/factories.js +10 -6
  103. package/dist/factories.js.map +1 -1
  104. package/dist/factories.mjs +6 -2
  105. package/dist/factories.mjs.map +1 -1
  106. package/dist/index.d.ts +18 -2
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +25 -1
  109. package/dist/index.js.map +1 -1
  110. package/dist/index.mjs +27 -3
  111. package/dist/index.mjs.map +1 -1
  112. package/dist/loaders/admin.d.ts +2 -2
  113. package/dist/loaders/admin.d.ts.map +1 -1
  114. package/dist/loaders/admin.js +0 -1
  115. package/dist/loaders/admin.js.map +1 -1
  116. package/dist/loaders/admin.mjs +0 -1
  117. package/dist/loaders/admin.mjs.map +1 -1
  118. package/dist/loaders/apis.d.ts +2 -2
  119. package/dist/loaders/apis.d.ts.map +1 -1
  120. package/dist/loaders/apis.js +12 -12
  121. package/dist/loaders/apis.js.map +1 -1
  122. package/dist/loaders/apis.mjs +10 -10
  123. package/dist/loaders/apis.mjs.map +1 -1
  124. package/dist/loaders/components.d.ts +2 -2
  125. package/dist/loaders/components.d.ts.map +1 -1
  126. package/dist/loaders/components.js.map +1 -1
  127. package/dist/loaders/components.mjs.map +1 -1
  128. package/dist/loaders/index.d.ts +2 -2
  129. package/dist/loaders/index.d.ts.map +1 -1
  130. package/dist/loaders/index.js +0 -2
  131. package/dist/loaders/index.js.map +1 -1
  132. package/dist/loaders/index.mjs +0 -2
  133. package/dist/loaders/index.mjs.map +1 -1
  134. package/dist/loaders/middlewares.d.ts +2 -2
  135. package/dist/loaders/middlewares.d.ts.map +1 -1
  136. package/dist/loaders/middlewares.js.map +1 -1
  137. package/dist/loaders/middlewares.mjs.map +1 -1
  138. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  139. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  140. package/dist/loaders/plugins/get-enabled-plugins.js +47 -17
  141. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  142. package/dist/loaders/plugins/get-enabled-plugins.mjs +17 -9
  143. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  144. package/dist/loaders/plugins/get-user-plugins-config.js +2 -2
  145. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  146. package/dist/loaders/plugins/index.d.ts +2 -2
  147. package/dist/loaders/plugins/index.d.ts.map +1 -1
  148. package/dist/loaders/plugins/index.js +34 -7
  149. package/dist/loaders/plugins/index.js.map +1 -1
  150. package/dist/loaders/plugins/index.mjs +9 -1
  151. package/dist/loaders/plugins/index.mjs.map +1 -1
  152. package/dist/loaders/policies.d.ts +2 -2
  153. package/dist/loaders/policies.d.ts.map +1 -1
  154. package/dist/loaders/policies.js.map +1 -1
  155. package/dist/loaders/policies.mjs.map +1 -1
  156. package/dist/loaders/sanitizers.d.ts +2 -2
  157. package/dist/loaders/sanitizers.d.ts.map +1 -1
  158. package/dist/loaders/sanitizers.js.map +1 -1
  159. package/dist/loaders/sanitizers.mjs.map +1 -1
  160. package/dist/loaders/src-index.d.ts +2 -2
  161. package/dist/loaders/src-index.d.ts.map +1 -1
  162. package/dist/loaders/src-index.js.map +1 -1
  163. package/dist/loaders/src-index.mjs.map +1 -1
  164. package/dist/loaders/validators.d.ts +2 -2
  165. package/dist/loaders/validators.d.ts.map +1 -1
  166. package/dist/loaders/validators.js.map +1 -1
  167. package/dist/loaders/validators.mjs.map +1 -1
  168. package/dist/middlewares/body.d.ts +4 -4
  169. package/dist/middlewares/body.d.ts.map +1 -1
  170. package/dist/middlewares/body.js +6 -6
  171. package/dist/middlewares/body.js.map +1 -1
  172. package/dist/middlewares/body.mjs +4 -4
  173. package/dist/middlewares/body.mjs.map +1 -1
  174. package/dist/middlewares/compression.d.ts +2 -2
  175. package/dist/middlewares/compression.d.ts.map +1 -1
  176. package/dist/middlewares/compression.js.map +1 -1
  177. package/dist/middlewares/compression.mjs.map +1 -1
  178. package/dist/middlewares/cors.d.ts +2 -2
  179. package/dist/middlewares/cors.d.ts.map +1 -1
  180. package/dist/middlewares/cors.js +9 -7
  181. package/dist/middlewares/cors.js.map +1 -1
  182. package/dist/middlewares/cors.mjs +9 -7
  183. package/dist/middlewares/cors.mjs.map +1 -1
  184. package/dist/middlewares/errors.d.ts +2 -2
  185. package/dist/middlewares/errors.d.ts.map +1 -1
  186. package/dist/middlewares/errors.js.map +1 -1
  187. package/dist/middlewares/errors.mjs.map +1 -1
  188. package/dist/middlewares/favicon.d.ts +2 -2
  189. package/dist/middlewares/favicon.d.ts.map +1 -1
  190. package/dist/middlewares/favicon.js.map +1 -1
  191. package/dist/middlewares/favicon.mjs.map +1 -1
  192. package/dist/middlewares/index.d.ts +2 -2
  193. package/dist/middlewares/index.d.ts.map +1 -1
  194. package/dist/middlewares/index.js.map +1 -1
  195. package/dist/middlewares/index.mjs.map +1 -1
  196. package/dist/middlewares/ip.d.ts +2 -2
  197. package/dist/middlewares/ip.d.ts.map +1 -1
  198. package/dist/middlewares/ip.js.map +1 -1
  199. package/dist/middlewares/ip.mjs.map +1 -1
  200. package/dist/middlewares/logger.d.ts +2 -2
  201. package/dist/middlewares/logger.d.ts.map +1 -1
  202. package/dist/middlewares/logger.js.map +1 -1
  203. package/dist/middlewares/logger.mjs.map +1 -1
  204. package/dist/middlewares/powered-by.d.ts +2 -2
  205. package/dist/middlewares/powered-by.d.ts.map +1 -1
  206. package/dist/middlewares/powered-by.js.map +1 -1
  207. package/dist/middlewares/powered-by.mjs.map +1 -1
  208. package/dist/middlewares/public.d.ts +2 -2
  209. package/dist/middlewares/public.d.ts.map +1 -1
  210. package/dist/middlewares/public.js +3 -3
  211. package/dist/middlewares/public.js.map +1 -1
  212. package/dist/middlewares/public.mjs +1 -1
  213. package/dist/middlewares/public.mjs.map +1 -1
  214. package/dist/middlewares/query.d.ts +2 -2
  215. package/dist/middlewares/query.d.ts.map +1 -1
  216. package/dist/middlewares/query.js.map +1 -1
  217. package/dist/middlewares/query.mjs.map +1 -1
  218. package/dist/middlewares/response-time.d.ts +2 -2
  219. package/dist/middlewares/response-time.d.ts.map +1 -1
  220. package/dist/middlewares/response-time.js.map +1 -1
  221. package/dist/middlewares/response-time.mjs.map +1 -1
  222. package/dist/middlewares/responses.d.ts +3 -3
  223. package/dist/middlewares/responses.d.ts.map +1 -1
  224. package/dist/middlewares/responses.js +2 -2
  225. package/dist/middlewares/responses.js.map +1 -1
  226. package/dist/middlewares/responses.mjs.map +1 -1
  227. package/dist/middlewares/security.d.ts +2 -2
  228. package/dist/middlewares/security.d.ts.map +1 -1
  229. package/dist/middlewares/security.js +13 -6
  230. package/dist/middlewares/security.js.map +1 -1
  231. package/dist/middlewares/security.mjs +12 -5
  232. package/dist/middlewares/security.mjs.map +1 -1
  233. package/dist/middlewares/session.d.ts +2 -2
  234. package/dist/middlewares/session.d.ts.map +1 -1
  235. package/dist/middlewares/session.js +2 -2
  236. package/dist/middlewares/session.js.map +1 -1
  237. package/dist/middlewares/session.mjs.map +1 -1
  238. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  239. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  240. package/dist/migrations/database/5.0.0-discard-drafts.js +106 -0
  241. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  242. package/dist/migrations/database/5.0.0-discard-drafts.mjs +106 -0
  243. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  244. package/dist/migrations/draft-publish.d.ts +17 -0
  245. package/dist/migrations/draft-publish.d.ts.map +1 -0
  246. package/dist/migrations/draft-publish.js +42 -0
  247. package/dist/migrations/draft-publish.js.map +1 -0
  248. package/dist/migrations/draft-publish.mjs +42 -0
  249. package/dist/migrations/draft-publish.mjs.map +1 -0
  250. package/dist/migrations/i18n.d.ts +5 -0
  251. package/dist/migrations/i18n.d.ts.map +1 -0
  252. package/dist/migrations/i18n.js +54 -0
  253. package/dist/migrations/i18n.js.map +1 -0
  254. package/dist/migrations/i18n.mjs +54 -0
  255. package/dist/migrations/i18n.mjs.map +1 -0
  256. package/dist/migrations/index.d.ts +5 -0
  257. package/dist/migrations/index.d.ts.map +1 -0
  258. package/dist/migrations/index.js +15 -0
  259. package/dist/migrations/index.js.map +1 -0
  260. package/dist/migrations/index.mjs +15 -0
  261. package/dist/migrations/index.mjs.map +1 -0
  262. package/dist/providers/admin.d.ts +3 -0
  263. package/dist/providers/admin.d.ts.map +1 -0
  264. package/dist/providers/admin.js +20 -0
  265. package/dist/providers/admin.js.map +1 -0
  266. package/dist/providers/admin.mjs +21 -0
  267. package/dist/providers/admin.mjs.map +1 -0
  268. package/dist/providers/coreStore.d.ts +3 -0
  269. package/dist/providers/coreStore.d.ts.map +1 -0
  270. package/dist/providers/coreStore.js +11 -0
  271. package/dist/providers/coreStore.js.map +1 -0
  272. package/dist/providers/coreStore.mjs +12 -0
  273. package/dist/providers/coreStore.mjs.map +1 -0
  274. package/dist/providers/cron.d.ts +3 -0
  275. package/dist/providers/cron.d.ts.map +1 -0
  276. package/dist/providers/cron.js +20 -0
  277. package/dist/providers/cron.js.map +1 -0
  278. package/dist/providers/cron.mjs +21 -0
  279. package/dist/providers/cron.mjs.map +1 -0
  280. package/dist/providers/index.d.ts +3 -0
  281. package/dist/providers/index.d.ts.map +1 -0
  282. package/dist/providers/index.js +11 -0
  283. package/dist/providers/index.js.map +1 -0
  284. package/dist/providers/index.mjs +11 -0
  285. package/dist/providers/index.mjs.map +1 -0
  286. package/dist/providers/provider.d.ts +9 -0
  287. package/dist/providers/provider.d.ts.map +1 -0
  288. package/dist/providers/provider.js +5 -0
  289. package/dist/providers/provider.js.map +1 -0
  290. package/dist/providers/provider.mjs +5 -0
  291. package/dist/providers/provider.mjs.map +1 -0
  292. package/dist/providers/registries.d.ts +3 -0
  293. package/dist/providers/registries.d.ts.map +1 -0
  294. package/dist/providers/registries.js +35 -0
  295. package/dist/providers/registries.js.map +1 -0
  296. package/dist/providers/registries.mjs +36 -0
  297. package/dist/providers/registries.mjs.map +1 -0
  298. package/dist/providers/telemetry.d.ts +3 -0
  299. package/dist/providers/telemetry.d.ts.map +1 -0
  300. package/dist/providers/telemetry.js +19 -0
  301. package/dist/providers/telemetry.js.map +1 -0
  302. package/dist/providers/telemetry.mjs +20 -0
  303. package/dist/providers/telemetry.mjs.map +1 -0
  304. package/dist/providers/webhooks.d.ts +3 -0
  305. package/dist/providers/webhooks.d.ts.map +1 -0
  306. package/dist/providers/webhooks.js +30 -0
  307. package/dist/providers/webhooks.js.map +1 -0
  308. package/dist/providers/webhooks.mjs +31 -0
  309. package/dist/providers/webhooks.mjs.map +1 -0
  310. package/dist/registries/apis.d.ts +2 -2
  311. package/dist/registries/apis.d.ts.map +1 -1
  312. package/dist/registries/apis.js +2 -2
  313. package/dist/registries/apis.js.map +1 -1
  314. package/dist/registries/apis.mjs.map +1 -1
  315. package/dist/registries/components.d.ts +6 -6
  316. package/dist/registries/components.d.ts.map +1 -1
  317. package/dist/registries/components.js +2 -2
  318. package/dist/registries/components.js.map +1 -1
  319. package/dist/registries/components.mjs.map +1 -1
  320. package/dist/registries/content-types.d.ts +5 -5
  321. package/dist/registries/content-types.d.ts.map +1 -1
  322. package/dist/registries/content-types.js +3 -3
  323. package/dist/registries/content-types.js.map +1 -1
  324. package/dist/registries/content-types.mjs.map +1 -1
  325. package/dist/registries/controllers.d.ts +10 -10
  326. package/dist/registries/controllers.d.ts.map +1 -1
  327. package/dist/registries/controllers.js +3 -3
  328. package/dist/registries/controllers.js.map +1 -1
  329. package/dist/registries/controllers.mjs.map +1 -1
  330. package/dist/registries/custom-fields.d.ts +3 -3
  331. package/dist/registries/custom-fields.d.ts.map +1 -1
  332. package/dist/registries/custom-fields.js +4 -4
  333. package/dist/registries/custom-fields.js.map +1 -1
  334. package/dist/registries/custom-fields.mjs.map +1 -1
  335. package/dist/registries/hooks.js +2 -2
  336. package/dist/registries/hooks.js.map +1 -1
  337. package/dist/registries/index.d.ts +0 -1
  338. package/dist/registries/index.d.ts.map +1 -1
  339. package/dist/registries/middlewares.d.ts +6 -6
  340. package/dist/registries/middlewares.d.ts.map +1 -1
  341. package/dist/registries/middlewares.js +3 -3
  342. package/dist/registries/middlewares.js.map +1 -1
  343. package/dist/registries/middlewares.mjs.map +1 -1
  344. package/dist/registries/modules.d.ts +2 -2
  345. package/dist/registries/modules.d.ts.map +1 -1
  346. package/dist/registries/modules.js +3 -3
  347. package/dist/registries/modules.js.map +1 -1
  348. package/dist/registries/modules.mjs.map +1 -1
  349. package/dist/registries/plugins.d.ts +5 -5
  350. package/dist/registries/plugins.d.ts.map +1 -1
  351. package/dist/registries/plugins.js +2 -2
  352. package/dist/registries/plugins.js.map +1 -1
  353. package/dist/registries/plugins.mjs.map +1 -1
  354. package/dist/registries/policies.d.ts +22 -10
  355. package/dist/registries/policies.d.ts.map +1 -1
  356. package/dist/registries/policies.js +66 -20
  357. package/dist/registries/policies.js.map +1 -1
  358. package/dist/registries/policies.mjs +65 -19
  359. package/dist/registries/policies.mjs.map +1 -1
  360. package/dist/registries/services.d.ts +8 -8
  361. package/dist/registries/services.d.ts.map +1 -1
  362. package/dist/registries/services.js +3 -3
  363. package/dist/registries/services.js.map +1 -1
  364. package/dist/registries/services.mjs.map +1 -1
  365. package/dist/services/auth/index.d.ts +4 -4
  366. package/dist/services/auth/index.d.ts.map +1 -1
  367. package/dist/services/auth/index.js +3 -3
  368. package/dist/services/auth/index.js.map +1 -1
  369. package/dist/services/auth/index.mjs.map +1 -1
  370. package/dist/services/config.d.ts +3 -0
  371. package/dist/services/config.d.ts.map +1 -0
  372. package/dist/services/config.js +47 -0
  373. package/dist/services/config.js.map +1 -0
  374. package/dist/services/config.mjs +47 -0
  375. package/dist/services/config.mjs.map +1 -0
  376. package/dist/services/content-api/index.d.ts +31 -15
  377. package/dist/services/content-api/index.d.ts.map +1 -1
  378. package/dist/services/content-api/index.js +28 -2
  379. package/dist/services/content-api/index.js.map +1 -1
  380. package/dist/services/content-api/index.mjs +28 -2
  381. package/dist/services/content-api/index.mjs.map +1 -1
  382. package/dist/services/content-api/permissions/index.d.ts +13 -15
  383. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  384. package/dist/services/content-api/permissions/index.js +1 -1
  385. package/dist/services/content-api/permissions/index.js.map +1 -1
  386. package/dist/services/content-api/permissions/index.mjs +1 -1
  387. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  388. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  389. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  390. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  391. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  392. package/dist/services/core-store.d.ts.map +1 -1
  393. package/dist/services/core-store.js +3 -3
  394. package/dist/services/core-store.js.map +1 -1
  395. package/dist/services/cron.d.ts +5 -5
  396. package/dist/services/cron.d.ts.map +1 -1
  397. package/dist/services/cron.js +12 -7
  398. package/dist/services/cron.js.map +1 -1
  399. package/dist/services/cron.mjs +9 -4
  400. package/dist/services/cron.mjs.map +1 -1
  401. package/dist/services/custom-fields.d.ts +2 -2
  402. package/dist/services/custom-fields.d.ts.map +1 -1
  403. package/dist/services/custom-fields.js.map +1 -1
  404. package/dist/services/custom-fields.mjs.map +1 -1
  405. package/dist/services/document-service/attributes/index.d.ts +6 -0
  406. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  407. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  408. package/dist/services/document-service/attributes/index.js.map +1 -0
  409. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  410. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  411. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  412. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  413. package/dist/services/{entity-service → document-service}/attributes/transforms.js +3 -3
  414. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  415. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  416. package/dist/services/document-service/common.d.ts +2 -2
  417. package/dist/services/document-service/common.d.ts.map +1 -1
  418. package/dist/services/document-service/common.js.map +1 -1
  419. package/dist/services/document-service/common.mjs.map +1 -1
  420. package/dist/services/document-service/components.d.ts +25 -1
  421. package/dist/services/document-service/components.d.ts.map +1 -1
  422. package/dist/services/{entity-service → document-service}/components.js +52 -148
  423. package/dist/services/document-service/components.js.map +1 -0
  424. package/dist/services/{entity-service → document-service}/components.mjs +42 -138
  425. package/dist/services/document-service/components.mjs.map +1 -0
  426. package/dist/services/document-service/draft-and-publish.d.ts +7 -7
  427. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  428. package/dist/services/document-service/draft-and-publish.js +16 -16
  429. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  430. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  431. package/dist/services/document-service/entries.d.ts +10 -0
  432. package/dist/services/document-service/entries.d.ts.map +1 -0
  433. package/dist/services/document-service/entries.js +95 -0
  434. package/dist/services/document-service/entries.js.map +1 -0
  435. package/dist/services/document-service/entries.mjs +95 -0
  436. package/dist/services/document-service/entries.mjs.map +1 -0
  437. package/dist/services/document-service/events.d.ts +25 -0
  438. package/dist/services/document-service/events.d.ts.map +1 -0
  439. package/dist/services/document-service/events.js +47 -0
  440. package/dist/services/document-service/events.js.map +1 -0
  441. package/dist/services/document-service/events.mjs +47 -0
  442. package/dist/services/document-service/events.mjs.map +1 -0
  443. package/dist/services/document-service/index.d.ts +3 -4
  444. package/dist/services/document-service/index.d.ts.map +1 -1
  445. package/dist/services/document-service/index.js +21 -7
  446. package/dist/services/document-service/index.js.map +1 -1
  447. package/dist/services/document-service/index.mjs +19 -5
  448. package/dist/services/document-service/index.mjs.map +1 -1
  449. package/dist/services/document-service/internationalization.d.ts +5 -5
  450. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  451. package/dist/services/document-service/internationalization.js +21 -12
  452. package/dist/services/document-service/internationalization.js.map +1 -1
  453. package/dist/services/document-service/internationalization.mjs +14 -5
  454. package/dist/services/document-service/internationalization.mjs.map +1 -1
  455. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  456. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  457. package/dist/services/document-service/middlewares/errors.js +25 -0
  458. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  459. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  460. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  461. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  462. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  463. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  464. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  465. package/dist/services/document-service/{middlewares.js → middlewares/middleware-manager.js} +9 -6
  466. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  467. package/dist/services/document-service/{middlewares.mjs → middlewares/middleware-manager.mjs} +9 -6
  468. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  469. package/dist/services/document-service/params.d.ts +3 -1
  470. package/dist/services/document-service/params.d.ts.map +1 -1
  471. package/dist/services/{entity-service → document-service}/params.js +2 -2
  472. package/dist/services/document-service/params.js.map +1 -0
  473. package/dist/services/document-service/params.mjs.map +1 -0
  474. package/dist/services/document-service/repository.d.ts.map +1 -1
  475. package/dist/services/document-service/repository.js +209 -184
  476. package/dist/services/document-service/repository.js.map +1 -1
  477. package/dist/services/document-service/repository.mjs +189 -164
  478. package/dist/services/document-service/repository.mjs.map +1 -1
  479. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  480. package/dist/services/document-service/transform/data.js +4 -2
  481. package/dist/services/document-service/transform/data.js.map +1 -1
  482. package/dist/services/document-service/transform/data.mjs +4 -2
  483. package/dist/services/document-service/transform/data.mjs.map +1 -1
  484. package/dist/services/document-service/transform/fields.d.ts +2 -2
  485. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  486. package/dist/services/document-service/transform/fields.js.map +1 -1
  487. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  488. package/dist/services/document-service/transform/id-map.d.ts +3 -3
  489. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  490. package/dist/services/document-service/transform/id-map.js +13 -4
  491. package/dist/services/document-service/transform/id-map.js.map +1 -1
  492. package/dist/services/document-service/transform/id-map.mjs +14 -5
  493. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  494. package/dist/services/document-service/transform/id-transform.d.ts +2 -2
  495. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  496. package/dist/services/document-service/transform/id-transform.js +2 -2
  497. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  498. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  499. package/dist/services/document-service/transform/populate.d.ts +2 -2
  500. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  501. package/dist/services/document-service/transform/populate.js +1 -1
  502. package/dist/services/document-service/transform/populate.js.map +1 -1
  503. package/dist/services/document-service/transform/populate.mjs +1 -1
  504. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  505. package/dist/services/document-service/transform/query.d.ts +5 -0
  506. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  507. package/dist/services/document-service/transform/query.js +9 -0
  508. package/dist/services/document-service/transform/query.js.map +1 -0
  509. package/dist/services/document-service/transform/query.mjs +9 -0
  510. package/dist/services/document-service/transform/query.mjs.map +1 -0
  511. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  512. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  513. package/dist/services/document-service/transform/relations/extract/data-ids.js +45 -78
  514. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  515. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +44 -77
  516. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  517. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +8 -4
  518. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  519. package/dist/services/document-service/transform/relations/transform/data-ids.js +61 -126
  520. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  521. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +61 -126
  522. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  523. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  524. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  525. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  526. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  527. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  528. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  529. package/dist/services/document-service/transform/relations/utils/dp.d.ts +3 -3
  530. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  531. package/dist/services/document-service/transform/relations/utils/dp.js +10 -5
  532. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  533. package/dist/services/document-service/transform/relations/utils/dp.mjs +9 -4
  534. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  535. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  536. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  537. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  538. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  539. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  540. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  541. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  542. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  543. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  544. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  545. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  546. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  547. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  548. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  549. package/dist/services/document-service/transform/types.d.ts +3 -3
  550. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  551. package/dist/services/document-service/utils/populate.d.ts +9 -2
  552. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  553. package/dist/services/document-service/utils/populate.js +11 -5
  554. package/dist/services/document-service/utils/populate.js.map +1 -1
  555. package/dist/services/document-service/utils/populate.mjs +11 -5
  556. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  557. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  558. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  559. package/dist/services/document-service/utils/unidirectional-relations.js +69 -0
  560. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  561. package/dist/services/document-service/utils/unidirectional-relations.mjs +69 -0
  562. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  563. package/dist/services/entity-service/index.d.ts +4 -6
  564. package/dist/services/entity-service/index.d.ts.map +1 -1
  565. package/dist/services/entity-service/index.js +44 -203
  566. package/dist/services/entity-service/index.js.map +1 -1
  567. package/dist/services/entity-service/index.mjs +38 -197
  568. package/dist/services/entity-service/index.mjs.map +1 -1
  569. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  570. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  571. package/dist/services/entity-validator/blocks-validator.js +4 -3
  572. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  573. package/dist/services/entity-validator/blocks-validator.mjs +3 -3
  574. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  575. package/dist/services/entity-validator/index.d.ts +16 -2
  576. package/dist/services/entity-validator/index.d.ts.map +1 -1
  577. package/dist/services/entity-validator/index.js +197 -130
  578. package/dist/services/entity-validator/index.js.map +1 -1
  579. package/dist/services/entity-validator/index.mjs +192 -125
  580. package/dist/services/entity-validator/index.mjs.map +1 -1
  581. package/dist/services/entity-validator/validators.d.ts +36 -25
  582. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  583. package/dist/services/entity-validator/validators.js +153 -33
  584. package/dist/services/entity-validator/validators.js.map +1 -1
  585. package/dist/services/entity-validator/validators.mjs +145 -25
  586. package/dist/services/entity-validator/validators.mjs.map +1 -1
  587. package/dist/services/event-hub.d.ts +1 -0
  588. package/dist/services/event-hub.d.ts.map +1 -1
  589. package/dist/services/event-hub.js +9 -4
  590. package/dist/services/event-hub.js.map +1 -1
  591. package/dist/services/event-hub.mjs +9 -4
  592. package/dist/services/event-hub.mjs.map +1 -1
  593. package/dist/services/features.d.ts +3 -3
  594. package/dist/services/features.d.ts.map +1 -1
  595. package/dist/services/features.js.map +1 -1
  596. package/dist/services/features.mjs.map +1 -1
  597. package/dist/services/fs.d.ts +2 -2
  598. package/dist/services/fs.d.ts.map +1 -1
  599. package/dist/services/fs.js.map +1 -1
  600. package/dist/services/fs.mjs.map +1 -1
  601. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  602. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  603. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  604. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  605. package/dist/services/metrics/index.d.ts +2 -2
  606. package/dist/services/metrics/index.d.ts.map +1 -1
  607. package/dist/services/metrics/index.js.map +1 -1
  608. package/dist/services/metrics/index.mjs.map +1 -1
  609. package/dist/services/metrics/middleware.d.ts +2 -2
  610. package/dist/services/metrics/middleware.d.ts.map +1 -1
  611. package/dist/services/metrics/middleware.js.map +1 -1
  612. package/dist/services/metrics/middleware.mjs.map +1 -1
  613. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  614. package/dist/services/metrics/rate-limiter.js.map +1 -1
  615. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  616. package/dist/services/metrics/sender.d.ts +3 -3
  617. package/dist/services/metrics/sender.d.ts.map +1 -1
  618. package/dist/services/metrics/sender.js.map +1 -1
  619. package/dist/services/metrics/sender.mjs.map +1 -1
  620. package/dist/services/query-params.d.ts +7 -0
  621. package/dist/services/query-params.d.ts.map +1 -0
  622. package/dist/services/query-params.js +12 -0
  623. package/dist/services/query-params.js.map +1 -0
  624. package/dist/services/query-params.mjs +13 -0
  625. package/dist/services/query-params.mjs.map +1 -0
  626. package/dist/services/reloader.d.ts +7 -0
  627. package/dist/services/reloader.d.ts.map +1 -0
  628. package/dist/services/reloader.js +36 -0
  629. package/dist/services/reloader.js.map +1 -0
  630. package/dist/services/reloader.mjs +36 -0
  631. package/dist/services/reloader.mjs.map +1 -0
  632. package/dist/services/server/admin-api.d.ts +3 -3
  633. package/dist/services/server/admin-api.d.ts.map +1 -1
  634. package/dist/services/server/admin-api.js.map +1 -1
  635. package/dist/services/server/admin-api.mjs.map +1 -1
  636. package/dist/services/server/api.d.ts +3 -3
  637. package/dist/services/server/api.d.ts.map +1 -1
  638. package/dist/services/server/api.js.map +1 -1
  639. package/dist/services/server/api.mjs.map +1 -1
  640. package/dist/services/server/compose-endpoint.d.ts +2 -2
  641. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  642. package/dist/services/server/compose-endpoint.js +8 -9
  643. package/dist/services/server/compose-endpoint.js.map +1 -1
  644. package/dist/services/server/compose-endpoint.mjs +2 -3
  645. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  646. package/dist/services/server/content-api.d.ts +3 -3
  647. package/dist/services/server/content-api.d.ts.map +1 -1
  648. package/dist/services/server/content-api.js.map +1 -1
  649. package/dist/services/server/content-api.mjs.map +1 -1
  650. package/dist/services/server/http-server.d.ts +2 -2
  651. package/dist/services/server/http-server.d.ts.map +1 -1
  652. package/dist/services/server/http-server.js.map +1 -1
  653. package/dist/services/server/http-server.mjs.map +1 -1
  654. package/dist/services/server/index.d.ts +2 -2
  655. package/dist/services/server/index.d.ts.map +1 -1
  656. package/dist/services/server/index.js +2 -3
  657. package/dist/services/server/index.js.map +1 -1
  658. package/dist/services/server/index.mjs +2 -3
  659. package/dist/services/server/index.mjs.map +1 -1
  660. package/dist/services/server/koa.d.ts.map +1 -1
  661. package/dist/services/server/koa.js +4 -4
  662. package/dist/services/server/koa.js.map +1 -1
  663. package/dist/services/server/koa.mjs +1 -1
  664. package/dist/services/server/koa.mjs.map +1 -1
  665. package/dist/services/server/middleware.d.ts +4 -4
  666. package/dist/services/server/middleware.d.ts.map +1 -1
  667. package/dist/services/server/middleware.js +3 -3
  668. package/dist/services/server/middleware.js.map +1 -1
  669. package/dist/services/server/middleware.mjs.map +1 -1
  670. package/dist/services/server/policy.d.ts +3 -3
  671. package/dist/services/server/policy.d.ts.map +1 -1
  672. package/dist/services/server/policy.js +4 -4
  673. package/dist/services/server/policy.js.map +1 -1
  674. package/dist/services/server/policy.mjs +4 -4
  675. package/dist/services/server/policy.mjs.map +1 -1
  676. package/dist/services/server/register-middlewares.d.ts +2 -2
  677. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  678. package/dist/services/server/register-middlewares.js.map +1 -1
  679. package/dist/services/server/register-middlewares.mjs.map +1 -1
  680. package/dist/services/server/register-routes.d.ts +2 -2
  681. package/dist/services/server/register-routes.d.ts.map +1 -1
  682. package/dist/services/server/register-routes.js +3 -3
  683. package/dist/services/server/register-routes.js.map +1 -1
  684. package/dist/services/server/register-routes.mjs +3 -3
  685. package/dist/services/server/register-routes.mjs.map +1 -1
  686. package/dist/services/server/routing.d.ts +5 -5
  687. package/dist/services/server/routing.d.ts.map +1 -1
  688. package/dist/services/server/routing.js +2 -2
  689. package/dist/services/server/routing.js.map +1 -1
  690. package/dist/services/server/routing.mjs.map +1 -1
  691. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  692. package/dist/services/utils/dynamic-zones.js +7 -6
  693. package/dist/services/utils/dynamic-zones.js.map +1 -1
  694. package/dist/services/utils/dynamic-zones.mjs +2 -1
  695. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  696. package/dist/services/webhook-runner.d.ts +2 -1
  697. package/dist/services/webhook-runner.d.ts.map +1 -1
  698. package/dist/services/webhook-runner.js.map +1 -1
  699. package/dist/services/webhook-runner.mjs.map +1 -1
  700. package/dist/services/webhook-store.d.ts +2 -8
  701. package/dist/services/webhook-store.d.ts.map +1 -1
  702. package/dist/services/webhook-store.js +14 -8
  703. package/dist/services/webhook-store.js.map +1 -1
  704. package/dist/services/webhook-store.mjs +14 -8
  705. package/dist/services/webhook-store.mjs.map +1 -1
  706. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  707. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  708. package/dist/utils/convert-custom-field-type.js.map +1 -1
  709. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  710. package/dist/utils/cron.js +3 -3
  711. package/dist/utils/cron.js.map +1 -1
  712. package/dist/utils/fetch.d.ts +3 -3
  713. package/dist/utils/fetch.d.ts.map +1 -1
  714. package/dist/utils/fetch.js +4 -3
  715. package/dist/utils/fetch.js.map +1 -1
  716. package/dist/utils/fetch.mjs +4 -3
  717. package/dist/utils/fetch.mjs.map +1 -1
  718. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  719. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  720. package/dist/utils/filepath-to-prop-path.js +27 -6
  721. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  722. package/dist/utils/filepath-to-prop-path.mjs +25 -5
  723. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  724. package/dist/utils/index.d.ts +2 -1
  725. package/dist/utils/index.d.ts.map +1 -1
  726. package/dist/utils/is-initialized.d.ts +2 -2
  727. package/dist/utils/is-initialized.d.ts.map +1 -1
  728. package/dist/utils/is-initialized.js +4 -4
  729. package/dist/utils/is-initialized.js.map +1 -1
  730. package/dist/utils/is-initialized.mjs +1 -1
  731. package/dist/utils/is-initialized.mjs.map +1 -1
  732. package/dist/utils/load-files.d.ts.map +1 -1
  733. package/dist/utils/open-browser.d.ts +2 -2
  734. package/dist/utils/open-browser.d.ts.map +1 -1
  735. package/dist/utils/open-browser.js.map +1 -1
  736. package/dist/utils/open-browser.mjs.map +1 -1
  737. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  738. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  739. package/dist/utils/resolve-working-dirs.js +13 -0
  740. package/dist/utils/resolve-working-dirs.js.map +1 -0
  741. package/dist/utils/resolve-working-dirs.mjs +11 -0
  742. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  743. package/dist/utils/signals.d.ts +2 -2
  744. package/dist/utils/signals.d.ts.map +1 -1
  745. package/dist/utils/signals.js.map +1 -1
  746. package/dist/utils/signals.mjs.map +1 -1
  747. package/dist/utils/startup-logger.d.ts +2 -2
  748. package/dist/utils/startup-logger.d.ts.map +1 -1
  749. package/dist/utils/startup-logger.js +4 -4
  750. package/dist/utils/startup-logger.js.map +1 -1
  751. package/dist/utils/startup-logger.mjs +3 -3
  752. package/dist/utils/startup-logger.mjs.map +1 -1
  753. package/dist/utils/transform-content-types-to-models.d.ts +349 -90
  754. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  755. package/dist/utils/transform-content-types-to-models.js +112 -61
  756. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  757. package/dist/utils/transform-content-types-to-models.mjs +111 -60
  758. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  759. package/dist/utils/update-notifier/index.d.ts +2 -7
  760. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  761. package/dist/utils/update-notifier/index.js +11 -14
  762. package/dist/utils/update-notifier/index.js.map +1 -1
  763. package/dist/utils/update-notifier/index.mjs +11 -14
  764. package/dist/utils/update-notifier/index.mjs.map +1 -1
  765. package/package.json +36 -32
  766. package/dist/registries/config.d.ts +0 -4
  767. package/dist/registries/config.d.ts.map +0 -1
  768. package/dist/registries/config.js +0 -31
  769. package/dist/registries/config.js.map +0 -1
  770. package/dist/registries/config.mjs +0 -32
  771. package/dist/registries/config.mjs.map +0 -1
  772. package/dist/services/document-service/middlewares.d.ts +0 -8
  773. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  774. package/dist/services/document-service/middlewares.js.map +0 -1
  775. package/dist/services/document-service/middlewares.mjs.map +0 -1
  776. package/dist/services/document-service/transform/filters.d.ts +0 -3
  777. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  778. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  779. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  780. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  781. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  782. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  783. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  784. package/dist/services/document-service/transform/sort.d.ts +0 -5
  785. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  786. package/dist/services/document-service/transform/utils.d.ts +0 -9
  787. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  788. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  789. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  790. package/dist/services/entity-service/attributes/index.js.map +0 -1
  791. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  792. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  793. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  794. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  795. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  796. package/dist/services/entity-service/components.d.ts +0 -23
  797. package/dist/services/entity-service/components.d.ts.map +0 -1
  798. package/dist/services/entity-service/components.js.map +0 -1
  799. package/dist/services/entity-service/components.mjs.map +0 -1
  800. package/dist/services/entity-service/params.d.ts +0 -8
  801. package/dist/services/entity-service/params.d.ts.map +0 -1
  802. package/dist/services/entity-service/params.js.map +0 -1
  803. package/dist/services/entity-service/params.mjs.map +0 -1
  804. package/dist/services/utils/upload-files.d.ts +0 -8
  805. package/dist/services/utils/upload-files.d.ts.map +0 -1
  806. package/dist/services/utils/upload-files.js +0 -64
  807. package/dist/services/utils/upload-files.js.map +0 -1
  808. package/dist/services/utils/upload-files.mjs +0 -63
  809. package/dist/services/utils/upload-files.mjs.map +0 -1
  810. package/dist/utils/get-dirs.d.ts +0 -9
  811. package/dist/utils/get-dirs.d.ts.map +0 -1
  812. package/dist/utils/get-dirs.js.map +0 -1
  813. package/dist/utils/get-dirs.mjs.map +0 -1
  814. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
  815. /package/dist/services/{entity-service → document-service}/params.mjs +0 -0
@@ -1,46 +1,45 @@
1
- import type { Strapi, Common } from '@strapi/types';
1
+ import { sanitize, validate } from '@strapi/utils';
2
+ import type { Core } from '@strapi/types';
2
3
  /**
3
4
  * Create a content API container that holds logic, tools and utils. (eg: permissions, ...)
4
5
  */
5
- declare const createContentAPI: (strapi: Strapi) => {
6
+ declare const createContentAPI: (strapi: Core.Strapi) => {
6
7
  permissions: {
7
8
  engine: import("@strapi/permissions/dist/engine").Engine;
8
9
  providers: {
9
10
  action: {
10
- register(action: string, payload: Record<string, unknown>): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
11
+ register(action: string, payload: Record<string, unknown>): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
11
12
  hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
12
- delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
13
+ delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
13
14
  get(key: string): {
14
15
  [x: string]: unknown;
15
16
  } | undefined;
16
- getWhere(filters?: Record<string, unknown> | undefined): {
17
- [x: string]: unknown;
18
- }[];
19
17
  values(): {
20
18
  [x: string]: unknown;
21
19
  }[];
22
20
  keys(): string[];
23
21
  has(key: string): boolean;
24
22
  size(): number;
25
- clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
23
+ clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider<{
24
+ [x: string]: unknown;
25
+ }>>;
26
26
  };
27
27
  condition: {
28
- register(condition: import("./permissions/providers/condition").Condition): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
28
+ register(condition: import("./permissions/providers/condition").Condition): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
29
29
  hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
30
- delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
30
+ delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
31
31
  get(key: string): {
32
32
  [x: string]: unknown;
33
33
  } | undefined;
34
- getWhere(filters?: Record<string, unknown> | undefined): {
35
- [x: string]: unknown;
36
- }[];
37
34
  values(): {
38
35
  [x: string]: unknown;
39
36
  }[];
40
37
  keys(): string[];
41
38
  has(key: string): boolean;
42
39
  size(): number;
43
- clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
40
+ clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider<{
41
+ [x: string]: unknown;
42
+ }>>;
44
43
  };
45
44
  };
46
45
  registerActions: () => Promise<void>;
@@ -48,7 +47,24 @@ declare const createContentAPI: (strapi: Strapi) => {
48
47
  controllers: Record<string, string[]>;
49
48
  }>;
50
49
  };
51
- getRoutesMap: () => Promise<Record<string, Common.Route[]>>;
50
+ getRoutesMap: () => Promise<Record<string, Core.Route[]>>;
51
+ sanitize: {
52
+ input: sanitize.SanitizeFunc;
53
+ output: sanitize.SanitizeFunc;
54
+ query: (query: Record<string, unknown>, schema: import("@strapi/utils/dist/types").Model, { auth }?: sanitize.Options | undefined) => Promise<Record<string, unknown>>;
55
+ filters: sanitize.SanitizeFunc;
56
+ sort: sanitize.SanitizeFunc;
57
+ fields: sanitize.SanitizeFunc;
58
+ populate: sanitize.SanitizeFunc;
59
+ };
60
+ validate: {
61
+ input: validate.ValidateFunc;
62
+ query: (query: Record<string, unknown>, schema: import("@strapi/utils/dist/types").Model, { auth }?: validate.Options | undefined) => Promise<void>;
63
+ filters: validate.ValidateFunc;
64
+ sort: validate.ValidateFunc;
65
+ fields: validate.ValidateFunc;
66
+ populate: validate.ValidateFunc;
67
+ };
52
68
  };
53
69
  export default createContentAPI;
54
70
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/content-api/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAepD;;GAEG;AACH,QAAA,MAAM,gBAAgB,WAAY,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDvC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/content-api/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAgB/C;;GAEG;AACH,QAAA,MAAM,gBAAgB,WAAY,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgF5C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  const _ = require("lodash");
3
+ const strapiUtils = require("@strapi/utils");
3
4
  const index = require("./permissions/index.js");
4
5
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
5
6
  const ___default = /* @__PURE__ */ _interopDefault(_);
@@ -15,7 +16,7 @@ const filterContentAPI = (route) => route.info.type === "content-api";
15
16
  const createContentAPI = (strapi) => {
16
17
  const getRoutesMap = async () => {
17
18
  const routesMap = {};
18
- ___default.default.forEach(strapi.api, (api, apiName) => {
19
+ ___default.default.forEach(strapi.apis, (api, apiName) => {
19
20
  const routes = ___default.default.flatMap(api.routes, (route) => {
20
21
  if ("routes" in route) {
21
22
  return route.routes;
@@ -50,9 +51,34 @@ const createContentAPI = (strapi) => {
50
51
  });
51
52
  return routesMap;
52
53
  };
54
+ const sanitizer = strapiUtils.sanitize.createAPISanitizers({
55
+ getModel(uid) {
56
+ return strapi.getModel(uid);
57
+ },
58
+ // NOTE: use lazy access to allow registration of sanitizers after the creation of the container
59
+ get sanitizers() {
60
+ return {
61
+ input: strapi.sanitizers.get("content-api.input"),
62
+ output: strapi.sanitizers.get("content-api.output")
63
+ };
64
+ }
65
+ });
66
+ const validator = strapiUtils.validate.createAPIValidators({
67
+ getModel(uid) {
68
+ return strapi.getModel(uid);
69
+ },
70
+ // NOTE: use lazy access to allow registration of validators after the creation of the container
71
+ get validators() {
72
+ return {
73
+ input: strapi.validators.get("content-api.input")
74
+ };
75
+ }
76
+ });
53
77
  return {
54
78
  permissions: index(strapi),
55
- getRoutesMap
79
+ getRoutesMap,
80
+ sanitize: sanitizer,
81
+ validate: validator
56
82
  };
57
83
  };
58
84
  module.exports = createContentAPI;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/services/content-api/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Strapi, Common } from '@strapi/types';\nimport instantiatePermissionsUtilities from './permissions';\n\nconst transformRoutePrefixFor = (pluginName: string) => (route: Common.Route) => {\n const prefix = route.config && route.config.prefix;\n const path = prefix !== undefined ? `${prefix}${route.path}` : `/${pluginName}${route.path}`;\n\n return {\n ...route,\n path,\n };\n};\n\nconst filterContentAPI = (route: Common.Route) => route.info.type === 'content-api';\n\n/**\n * Create a content API container that holds logic, tools and utils. (eg: permissions, ...)\n */\nconst createContentAPI = (strapi: Strapi) => {\n const getRoutesMap = async () => {\n const routesMap: Record<string, Common.Route[]> = {};\n\n _.forEach(strapi.api, (api, apiName) => {\n const routes = _.flatMap(api.routes, (route) => {\n if ('routes' in route) {\n return route.routes;\n }\n\n return route;\n }).filter(filterContentAPI);\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`api::${apiName}`] = routes.map((route) => ({\n ...route,\n path: `${apiPrefix}${route.path}`,\n }));\n });\n\n _.forEach(strapi.plugins, (plugin, pluginName) => {\n const transformPrefix = transformRoutePrefixFor(pluginName);\n\n if (Array.isArray(plugin.routes)) {\n return plugin.routes.map(transformPrefix).filter(filterContentAPI);\n }\n\n const routes = _.flatMap(plugin.routes, (route) => route.routes.map(transformPrefix)).filter(\n filterContentAPI\n );\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`plugin::${pluginName}`] = routes.map((route) => ({\n ...route,\n path: `${apiPrefix}${route.path}`,\n }));\n });\n\n return routesMap;\n };\n\n return {\n permissions: instantiatePermissionsUtilities(strapi),\n getRoutesMap,\n };\n};\n\nexport default createContentAPI;\n"],"names":["_","instantiatePermissionsUtilities"],"mappings":";;;;;AAIA,MAAM,0BAA0B,CAAC,eAAuB,CAAC,UAAwB;AAC/E,QAAM,SAAS,MAAM,UAAU,MAAM,OAAO;AAC5C,QAAM,OAAO,WAAW,SAAY,GAAG,MAAM,GAAG,MAAM,IAAI,KAAK,IAAI,UAAU,GAAG,MAAM,IAAI;AAEnF,SAAA;AAAA,IACL,GAAG;AAAA,IACH;AAAA,EAAA;AAEJ;AAEA,MAAM,mBAAmB,CAAC,UAAwB,MAAM,KAAK,SAAS;AAKhE,MAAA,mBAAmB,CAAC,WAAmB;AAC3C,QAAM,eAAe,YAAY;AAC/B,UAAM,YAA4C,CAAA;AAElDA,eAAA,QAAE,QAAQ,OAAO,KAAK,CAAC,KAAK,YAAY;AACtC,YAAM,SAASA,WAAAA,QAAE,QAAQ,IAAI,QAAQ,CAAC,UAAU;AAC9C,YAAI,YAAY,OAAO;AACrB,iBAAO,MAAM;AAAA,QACf;AAEO,eAAA;AAAA,MAAA,CACR,EAAE,OAAO,gBAAgB;AAEtB,UAAA,OAAO,WAAW,GAAG;AACvB;AAAA,MACF;AAEA,YAAM,YAAY,OAAO,OAAO,IAAI,iBAAiB;AACrD,gBAAU,QAAQ,OAAO,EAAE,IAAI,OAAO,IAAI,CAAC,WAAW;AAAA,QACpD,GAAG;AAAA,QACH,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI;AAAA,MAC/B,EAAA;AAAA,IAAA,CACH;AAEDA,eAAA,QAAE,QAAQ,OAAO,SAAS,CAAC,QAAQ,eAAe;AAC1C,YAAA,kBAAkB,wBAAwB,UAAU;AAE1D,UAAI,MAAM,QAAQ,OAAO,MAAM,GAAG;AAChC,eAAO,OAAO,OAAO,IAAI,eAAe,EAAE,OAAO,gBAAgB;AAAA,MACnE;AAEA,YAAM,SAASA,WAAA,QAAE,QAAQ,OAAO,QAAQ,CAAC,UAAU,MAAM,OAAO,IAAI,eAAe,CAAC,EAAE;AAAA,QACpF;AAAA,MAAA;AAGE,UAAA,OAAO,WAAW,GAAG;AACvB;AAAA,MACF;AAEA,YAAM,YAAY,OAAO,OAAO,IAAI,iBAAiB;AACrD,gBAAU,WAAW,UAAU,EAAE,IAAI,OAAO,IAAI,CAAC,WAAW;AAAA,QAC1D,GAAG;AAAA,QACH,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI;AAAA,MAC/B,EAAA;AAAA,IAAA,CACH;AAEM,WAAA;AAAA,EAAA;AAGF,SAAA;AAAA,IACL,aAAaC,MAAgC,MAAM;AAAA,IACnD;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/services/content-api/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { sanitize, validate } from '@strapi/utils';\n\nimport type { Core, UID } from '@strapi/types';\n\nimport instantiatePermissionsUtilities from './permissions';\n\nconst transformRoutePrefixFor = (pluginName: string) => (route: Core.Route) => {\n const prefix = route.config && route.config.prefix;\n const path = prefix !== undefined ? `${prefix}${route.path}` : `/${pluginName}${route.path}`;\n\n return {\n ...route,\n path,\n };\n};\n\nconst filterContentAPI = (route: Core.Route) => route.info.type === 'content-api';\n\n/**\n * Create a content API container that holds logic, tools and utils. (eg: permissions, ...)\n */\nconst createContentAPI = (strapi: Core.Strapi) => {\n const getRoutesMap = async () => {\n const routesMap: Record<string, Core.Route[]> = {};\n\n _.forEach(strapi.apis, (api, apiName) => {\n const routes = _.flatMap(api.routes, (route) => {\n if ('routes' in route) {\n return route.routes;\n }\n\n return route;\n }).filter(filterContentAPI);\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`api::${apiName}`] = routes.map((route) => ({\n ...route,\n path: `${apiPrefix}${route.path}`,\n }));\n });\n\n _.forEach(strapi.plugins, (plugin, pluginName) => {\n const transformPrefix = transformRoutePrefixFor(pluginName);\n\n if (Array.isArray(plugin.routes)) {\n return plugin.routes.map(transformPrefix).filter(filterContentAPI);\n }\n\n const routes = _.flatMap(plugin.routes, (route) => route.routes.map(transformPrefix)).filter(\n filterContentAPI\n );\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`plugin::${pluginName}`] = routes.map((route) => ({\n ...route,\n path: `${apiPrefix}${route.path}`,\n }));\n });\n\n return routesMap;\n };\n\n const sanitizer = sanitize.createAPISanitizers({\n getModel(uid: string) {\n return strapi.getModel(uid as UID.Schema);\n },\n // NOTE: use lazy access to allow registration of sanitizers after the creation of the container\n get sanitizers() {\n return {\n input: strapi.sanitizers.get('content-api.input'),\n output: strapi.sanitizers.get('content-api.output'),\n };\n },\n });\n\n const validator = validate.createAPIValidators({\n getModel(uid: string) {\n return strapi.getModel(uid as UID.Schema);\n },\n // NOTE: use lazy access to allow registration of validators after the creation of the container\n get validators() {\n return {\n input: strapi.validators.get('content-api.input'),\n };\n },\n });\n\n return {\n permissions: instantiatePermissionsUtilities(strapi),\n getRoutesMap,\n sanitize: sanitizer,\n validate: validator,\n };\n};\n\nexport default createContentAPI;\n"],"names":["_","sanitize","validate","instantiatePermissionsUtilities"],"mappings":";;;;;;AAOA,MAAM,0BAA0B,CAAC,eAAuB,CAAC,UAAsB;AAC7E,QAAM,SAAS,MAAM,UAAU,MAAM,OAAO;AAC5C,QAAM,OAAO,WAAW,SAAY,GAAG,MAAM,GAAG,MAAM,IAAI,KAAK,IAAI,UAAU,GAAG,MAAM,IAAI;AAEnF,SAAA;AAAA,IACL,GAAG;AAAA,IACH;AAAA,EAAA;AAEJ;AAEA,MAAM,mBAAmB,CAAC,UAAsB,MAAM,KAAK,SAAS;AAK9D,MAAA,mBAAmB,CAAC,WAAwB;AAChD,QAAM,eAAe,YAAY;AAC/B,UAAM,YAA0C,CAAA;AAEhDA,eAAA,QAAE,QAAQ,OAAO,MAAM,CAAC,KAAK,YAAY;AACvC,YAAM,SAASA,WAAAA,QAAE,QAAQ,IAAI,QAAQ,CAAC,UAAU;AAC9C,YAAI,YAAY,OAAO;AACrB,iBAAO,MAAM;AAAA,QACf;AAEO,eAAA;AAAA,MAAA,CACR,EAAE,OAAO,gBAAgB;AAEtB,UAAA,OAAO,WAAW,GAAG;AACvB;AAAA,MACF;AAEA,YAAM,YAAY,OAAO,OAAO,IAAI,iBAAiB;AACrD,gBAAU,QAAQ,OAAO,EAAE,IAAI,OAAO,IAAI,CAAC,WAAW;AAAA,QACpD,GAAG;AAAA,QACH,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI;AAAA,MAC/B,EAAA;AAAA,IAAA,CACH;AAEDA,eAAA,QAAE,QAAQ,OAAO,SAAS,CAAC,QAAQ,eAAe;AAC1C,YAAA,kBAAkB,wBAAwB,UAAU;AAE1D,UAAI,MAAM,QAAQ,OAAO,MAAM,GAAG;AAChC,eAAO,OAAO,OAAO,IAAI,eAAe,EAAE,OAAO,gBAAgB;AAAA,MACnE;AAEA,YAAM,SAASA,WAAA,QAAE,QAAQ,OAAO,QAAQ,CAAC,UAAU,MAAM,OAAO,IAAI,eAAe,CAAC,EAAE;AAAA,QACpF;AAAA,MAAA;AAGE,UAAA,OAAO,WAAW,GAAG;AACvB;AAAA,MACF;AAEA,YAAM,YAAY,OAAO,OAAO,IAAI,iBAAiB;AACrD,gBAAU,WAAW,UAAU,EAAE,IAAI,OAAO,IAAI,CAAC,WAAW;AAAA,QAC1D,GAAG;AAAA,QACH,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI;AAAA,MAC/B,EAAA;AAAA,IAAA,CACH;AAEM,WAAA;AAAA,EAAA;AAGH,QAAA,YAAYC,qBAAS,oBAAoB;AAAA,IAC7C,SAAS,KAAa;AACb,aAAA,OAAO,SAAS,GAAiB;AAAA,IAC1C;AAAA;AAAA,IAEA,IAAI,aAAa;AACR,aAAA;AAAA,QACL,OAAO,OAAO,WAAW,IAAI,mBAAmB;AAAA,QAChD,QAAQ,OAAO,WAAW,IAAI,oBAAoB;AAAA,MAAA;AAAA,IAEtD;AAAA,EAAA,CACD;AAEK,QAAA,YAAYC,qBAAS,oBAAoB;AAAA,IAC7C,SAAS,KAAa;AACb,aAAA,OAAO,SAAS,GAAiB;AAAA,IAC1C;AAAA;AAAA,IAEA,IAAI,aAAa;AACR,aAAA;AAAA,QACL,OAAO,OAAO,WAAW,IAAI,mBAAmB;AAAA,MAAA;AAAA,IAEpD;AAAA,EAAA,CACD;AAEM,SAAA;AAAA,IACL,aAAaC,MAAgC,MAAM;AAAA,IACnD;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAEd;;"}
@@ -1,4 +1,5 @@
1
1
  import _ from "lodash";
2
+ import { sanitize, validate } from "@strapi/utils";
2
3
  import instantiatePermissionsUtilities from "./permissions/index.mjs";
3
4
  const transformRoutePrefixFor = (pluginName) => (route) => {
4
5
  const prefix = route.config && route.config.prefix;
@@ -12,7 +13,7 @@ const filterContentAPI = (route) => route.info.type === "content-api";
12
13
  const createContentAPI = (strapi) => {
13
14
  const getRoutesMap = async () => {
14
15
  const routesMap = {};
15
- _.forEach(strapi.api, (api, apiName) => {
16
+ _.forEach(strapi.apis, (api, apiName) => {
16
17
  const routes = _.flatMap(api.routes, (route) => {
17
18
  if ("routes" in route) {
18
19
  return route.routes;
@@ -47,9 +48,34 @@ const createContentAPI = (strapi) => {
47
48
  });
48
49
  return routesMap;
49
50
  };
51
+ const sanitizer = sanitize.createAPISanitizers({
52
+ getModel(uid) {
53
+ return strapi.getModel(uid);
54
+ },
55
+ // NOTE: use lazy access to allow registration of sanitizers after the creation of the container
56
+ get sanitizers() {
57
+ return {
58
+ input: strapi.sanitizers.get("content-api.input"),
59
+ output: strapi.sanitizers.get("content-api.output")
60
+ };
61
+ }
62
+ });
63
+ const validator = validate.createAPIValidators({
64
+ getModel(uid) {
65
+ return strapi.getModel(uid);
66
+ },
67
+ // NOTE: use lazy access to allow registration of validators after the creation of the container
68
+ get validators() {
69
+ return {
70
+ input: strapi.validators.get("content-api.input")
71
+ };
72
+ }
73
+ });
50
74
  return {
51
75
  permissions: instantiatePermissionsUtilities(strapi),
52
- getRoutesMap
76
+ getRoutesMap,
77
+ sanitize: sanitizer,
78
+ validate: validator
53
79
  };
54
80
  };
55
81
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/services/content-api/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Strapi, Common } from '@strapi/types';\nimport instantiatePermissionsUtilities from './permissions';\n\nconst transformRoutePrefixFor = (pluginName: string) => (route: Common.Route) => {\n const prefix = route.config && route.config.prefix;\n const path = prefix !== undefined ? `${prefix}${route.path}` : `/${pluginName}${route.path}`;\n\n return {\n ...route,\n path,\n };\n};\n\nconst filterContentAPI = (route: Common.Route) => route.info.type === 'content-api';\n\n/**\n * Create a content API container that holds logic, tools and utils. (eg: permissions, ...)\n */\nconst createContentAPI = (strapi: Strapi) => {\n const getRoutesMap = async () => {\n const routesMap: Record<string, Common.Route[]> = {};\n\n _.forEach(strapi.api, (api, apiName) => {\n const routes = _.flatMap(api.routes, (route) => {\n if ('routes' in route) {\n return route.routes;\n }\n\n return route;\n }).filter(filterContentAPI);\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`api::${apiName}`] = routes.map((route) => ({\n ...route,\n path: `${apiPrefix}${route.path}`,\n }));\n });\n\n _.forEach(strapi.plugins, (plugin, pluginName) => {\n const transformPrefix = transformRoutePrefixFor(pluginName);\n\n if (Array.isArray(plugin.routes)) {\n return plugin.routes.map(transformPrefix).filter(filterContentAPI);\n }\n\n const routes = _.flatMap(plugin.routes, (route) => route.routes.map(transformPrefix)).filter(\n filterContentAPI\n );\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`plugin::${pluginName}`] = routes.map((route) => ({\n ...route,\n path: `${apiPrefix}${route.path}`,\n }));\n });\n\n return routesMap;\n };\n\n return {\n permissions: instantiatePermissionsUtilities(strapi),\n getRoutesMap,\n };\n};\n\nexport default createContentAPI;\n"],"names":[],"mappings":";;AAIA,MAAM,0BAA0B,CAAC,eAAuB,CAAC,UAAwB;AAC/E,QAAM,SAAS,MAAM,UAAU,MAAM,OAAO;AAC5C,QAAM,OAAO,WAAW,SAAY,GAAG,MAAM,GAAG,MAAM,IAAI,KAAK,IAAI,UAAU,GAAG,MAAM,IAAI;AAEnF,SAAA;AAAA,IACL,GAAG;AAAA,IACH;AAAA,EAAA;AAEJ;AAEA,MAAM,mBAAmB,CAAC,UAAwB,MAAM,KAAK,SAAS;AAKhE,MAAA,mBAAmB,CAAC,WAAmB;AAC3C,QAAM,eAAe,YAAY;AAC/B,UAAM,YAA4C,CAAA;AAElD,MAAE,QAAQ,OAAO,KAAK,CAAC,KAAK,YAAY;AACtC,YAAM,SAAS,EAAE,QAAQ,IAAI,QAAQ,CAAC,UAAU;AAC9C,YAAI,YAAY,OAAO;AACrB,iBAAO,MAAM;AAAA,QACf;AAEO,eAAA;AAAA,MAAA,CACR,EAAE,OAAO,gBAAgB;AAEtB,UAAA,OAAO,WAAW,GAAG;AACvB;AAAA,MACF;AAEA,YAAM,YAAY,OAAO,OAAO,IAAI,iBAAiB;AACrD,gBAAU,QAAQ,OAAO,EAAE,IAAI,OAAO,IAAI,CAAC,WAAW;AAAA,QACpD,GAAG;AAAA,QACH,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI;AAAA,MAC/B,EAAA;AAAA,IAAA,CACH;AAED,MAAE,QAAQ,OAAO,SAAS,CAAC,QAAQ,eAAe;AAC1C,YAAA,kBAAkB,wBAAwB,UAAU;AAE1D,UAAI,MAAM,QAAQ,OAAO,MAAM,GAAG;AAChC,eAAO,OAAO,OAAO,IAAI,eAAe,EAAE,OAAO,gBAAgB;AAAA,MACnE;AAEA,YAAM,SAAS,EAAE,QAAQ,OAAO,QAAQ,CAAC,UAAU,MAAM,OAAO,IAAI,eAAe,CAAC,EAAE;AAAA,QACpF;AAAA,MAAA;AAGE,UAAA,OAAO,WAAW,GAAG;AACvB;AAAA,MACF;AAEA,YAAM,YAAY,OAAO,OAAO,IAAI,iBAAiB;AACrD,gBAAU,WAAW,UAAU,EAAE,IAAI,OAAO,IAAI,CAAC,WAAW;AAAA,QAC1D,GAAG;AAAA,QACH,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI;AAAA,MAC/B,EAAA;AAAA,IAAA,CACH;AAEM,WAAA;AAAA,EAAA;AAGF,SAAA;AAAA,IACL,aAAa,gCAAgC,MAAM;AAAA,IACnD;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/services/content-api/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { sanitize, validate } from '@strapi/utils';\n\nimport type { Core, UID } from '@strapi/types';\n\nimport instantiatePermissionsUtilities from './permissions';\n\nconst transformRoutePrefixFor = (pluginName: string) => (route: Core.Route) => {\n const prefix = route.config && route.config.prefix;\n const path = prefix !== undefined ? `${prefix}${route.path}` : `/${pluginName}${route.path}`;\n\n return {\n ...route,\n path,\n };\n};\n\nconst filterContentAPI = (route: Core.Route) => route.info.type === 'content-api';\n\n/**\n * Create a content API container that holds logic, tools and utils. (eg: permissions, ...)\n */\nconst createContentAPI = (strapi: Core.Strapi) => {\n const getRoutesMap = async () => {\n const routesMap: Record<string, Core.Route[]> = {};\n\n _.forEach(strapi.apis, (api, apiName) => {\n const routes = _.flatMap(api.routes, (route) => {\n if ('routes' in route) {\n return route.routes;\n }\n\n return route;\n }).filter(filterContentAPI);\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`api::${apiName}`] = routes.map((route) => ({\n ...route,\n path: `${apiPrefix}${route.path}`,\n }));\n });\n\n _.forEach(strapi.plugins, (plugin, pluginName) => {\n const transformPrefix = transformRoutePrefixFor(pluginName);\n\n if (Array.isArray(plugin.routes)) {\n return plugin.routes.map(transformPrefix).filter(filterContentAPI);\n }\n\n const routes = _.flatMap(plugin.routes, (route) => route.routes.map(transformPrefix)).filter(\n filterContentAPI\n );\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`plugin::${pluginName}`] = routes.map((route) => ({\n ...route,\n path: `${apiPrefix}${route.path}`,\n }));\n });\n\n return routesMap;\n };\n\n const sanitizer = sanitize.createAPISanitizers({\n getModel(uid: string) {\n return strapi.getModel(uid as UID.Schema);\n },\n // NOTE: use lazy access to allow registration of sanitizers after the creation of the container\n get sanitizers() {\n return {\n input: strapi.sanitizers.get('content-api.input'),\n output: strapi.sanitizers.get('content-api.output'),\n };\n },\n });\n\n const validator = validate.createAPIValidators({\n getModel(uid: string) {\n return strapi.getModel(uid as UID.Schema);\n },\n // NOTE: use lazy access to allow registration of validators after the creation of the container\n get validators() {\n return {\n input: strapi.validators.get('content-api.input'),\n };\n },\n });\n\n return {\n permissions: instantiatePermissionsUtilities(strapi),\n getRoutesMap,\n sanitize: sanitizer,\n validate: validator,\n };\n};\n\nexport default createContentAPI;\n"],"names":[],"mappings":";;;AAOA,MAAM,0BAA0B,CAAC,eAAuB,CAAC,UAAsB;AAC7E,QAAM,SAAS,MAAM,UAAU,MAAM,OAAO;AAC5C,QAAM,OAAO,WAAW,SAAY,GAAG,MAAM,GAAG,MAAM,IAAI,KAAK,IAAI,UAAU,GAAG,MAAM,IAAI;AAEnF,SAAA;AAAA,IACL,GAAG;AAAA,IACH;AAAA,EAAA;AAEJ;AAEA,MAAM,mBAAmB,CAAC,UAAsB,MAAM,KAAK,SAAS;AAK9D,MAAA,mBAAmB,CAAC,WAAwB;AAChD,QAAM,eAAe,YAAY;AAC/B,UAAM,YAA0C,CAAA;AAEhD,MAAE,QAAQ,OAAO,MAAM,CAAC,KAAK,YAAY;AACvC,YAAM,SAAS,EAAE,QAAQ,IAAI,QAAQ,CAAC,UAAU;AAC9C,YAAI,YAAY,OAAO;AACrB,iBAAO,MAAM;AAAA,QACf;AAEO,eAAA;AAAA,MAAA,CACR,EAAE,OAAO,gBAAgB;AAEtB,UAAA,OAAO,WAAW,GAAG;AACvB;AAAA,MACF;AAEA,YAAM,YAAY,OAAO,OAAO,IAAI,iBAAiB;AACrD,gBAAU,QAAQ,OAAO,EAAE,IAAI,OAAO,IAAI,CAAC,WAAW;AAAA,QACpD,GAAG;AAAA,QACH,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI;AAAA,MAC/B,EAAA;AAAA,IAAA,CACH;AAED,MAAE,QAAQ,OAAO,SAAS,CAAC,QAAQ,eAAe;AAC1C,YAAA,kBAAkB,wBAAwB,UAAU;AAE1D,UAAI,MAAM,QAAQ,OAAO,MAAM,GAAG;AAChC,eAAO,OAAO,OAAO,IAAI,eAAe,EAAE,OAAO,gBAAgB;AAAA,MACnE;AAEA,YAAM,SAAS,EAAE,QAAQ,OAAO,QAAQ,CAAC,UAAU,MAAM,OAAO,IAAI,eAAe,CAAC,EAAE;AAAA,QACpF;AAAA,MAAA;AAGE,UAAA,OAAO,WAAW,GAAG;AACvB;AAAA,MACF;AAEA,YAAM,YAAY,OAAO,OAAO,IAAI,iBAAiB;AACrD,gBAAU,WAAW,UAAU,EAAE,IAAI,OAAO,IAAI,CAAC,WAAW;AAAA,QAC1D,GAAG;AAAA,QACH,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI;AAAA,MAC/B,EAAA;AAAA,IAAA,CACH;AAEM,WAAA;AAAA,EAAA;AAGH,QAAA,YAAY,SAAS,oBAAoB;AAAA,IAC7C,SAAS,KAAa;AACb,aAAA,OAAO,SAAS,GAAiB;AAAA,IAC1C;AAAA;AAAA,IAEA,IAAI,aAAa;AACR,aAAA;AAAA,QACL,OAAO,OAAO,WAAW,IAAI,mBAAmB;AAAA,QAChD,QAAQ,OAAO,WAAW,IAAI,oBAAoB;AAAA,MAAA;AAAA,IAEtD;AAAA,EAAA,CACD;AAEK,QAAA,YAAY,SAAS,oBAAoB;AAAA,IAC7C,SAAS,KAAa;AACb,aAAA,OAAO,SAAS,GAAiB;AAAA,IAC1C;AAAA;AAAA,IAEA,IAAI,aAAa;AACR,aAAA;AAAA,QACL,OAAO,OAAO,WAAW,IAAI,mBAAmB;AAAA,MAAA;AAAA,IAEpD;AAAA,EAAA,CACD;AAEM,SAAA;AAAA,IACL,aAAa,gCAAgC,MAAM;AAAA,IACnD;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAEd;"}
@@ -1,46 +1,44 @@
1
- import type { Strapi } from '@strapi/types';
1
+ import type { Core } from '@strapi/types';
2
2
  /**
3
3
  * Create instances of providers and permission engine for the core content-API service.
4
- * Also, expose utilities to get informations about available actions and such.
4
+ * Also, expose utilities to get information about available actions and such.
5
5
  */
6
- declare const _default: (strapi: Strapi) => {
6
+ declare const _default: (strapi: Core.Strapi) => {
7
7
  engine: import("@strapi/permissions/dist/engine").Engine;
8
8
  providers: {
9
9
  action: {
10
- register(action: string, payload: Record<string, unknown>): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
10
+ register(action: string, payload: Record<string, unknown>): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
11
11
  hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
12
- delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
12
+ delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
13
13
  get(key: string): {
14
14
  [x: string]: unknown;
15
15
  } | undefined;
16
- getWhere(filters?: Record<string, unknown> | undefined): {
17
- [x: string]: unknown;
18
- }[];
19
16
  values(): {
20
17
  [x: string]: unknown;
21
18
  }[];
22
19
  keys(): string[];
23
20
  has(key: string): boolean;
24
21
  size(): number;
25
- clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
22
+ clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider<{
23
+ [x: string]: unknown;
24
+ }>>;
26
25
  };
27
26
  condition: {
28
- register(condition: import("./providers/condition").Condition): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
27
+ register(condition: import("./providers/condition").Condition): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
29
28
  hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
30
- delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
29
+ delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
31
30
  get(key: string): {
32
31
  [x: string]: unknown;
33
32
  } | undefined;
34
- getWhere(filters?: Record<string, unknown> | undefined): {
35
- [x: string]: unknown;
36
- }[];
37
33
  values(): {
38
34
  [x: string]: unknown;
39
35
  }[];
40
36
  keys(): string[];
41
37
  has(key: string): boolean;
42
38
  size(): number;
43
- clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
39
+ clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider<{
40
+ [x: string]: unknown;
41
+ }>>;
44
42
  };
45
43
  };
46
44
  registerActions: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/content-api/permissions/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AA8BpD;;;GAGG;iCACqB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAkBT,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC;;;AAlB7C,wBAqHE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/content-api/permissions/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AA8B1C;;;GAGG;iCACqB,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAkBd,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC;;;AAlB7C,wBAmHE"}
@@ -48,7 +48,7 @@ const instantiatePermissionsUtilities = (strapi2) => {
48
48
  }
49
49
  });
50
50
  };
51
- registerAPIsActions(strapi2.api, "api");
51
+ registerAPIsActions(strapi2.apis, "api");
52
52
  registerAPIsActions(strapi2.plugins, "plugin");
53
53
  return actionMap;
54
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/services/content-api/permissions/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Strapi, Common } 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 an 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 informations about available actions and such.\n */\nexport default (strapi: 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: Common.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, Common.Plugin | Common.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.api, 'api');\n registerAPIsActions(strapi.plugins, 'plugin');\n\n return actionMap;\n };\n\n /**\n * Register all the content-API's 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 * @return {void}\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,YAAmB;AAGjC,QAAM,YAAY;AAAA,IAChB,QAAQC,OAAqB;AAAA,IAC7B,WAAWC,UAAwB;AAAA,EAAA;AASrC,QAAM,gBAAgB,MAAM;AAC1B,UAAM,YAKF,CAAA;AAME,UAAA,eAAe,CAACH,YAA4D;AAChF,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,KAAK,KAAK;AACjBA,wBAAAA,QAAO,SAAS,QAAQ;AAErC,WAAA;AAAA,EAAA;AAST,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
+ {"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;;"}
@@ -45,7 +45,7 @@ const instantiatePermissionsUtilities = (strapi2) => {
45
45
  }
46
46
  });
47
47
  };
48
- registerAPIsActions(strapi2.api, "api");
48
+ registerAPIsActions(strapi2.apis, "api");
49
49
  registerAPIsActions(strapi2.plugins, "plugin");
50
50
  return actionMap;
51
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../src/services/content-api/permissions/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Strapi, Common } 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 an 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 informations about available actions and such.\n */\nexport default (strapi: 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: Common.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, Common.Plugin | Common.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.api, 'api');\n registerAPIsActions(strapi.plugins, 'plugin');\n\n return actionMap;\n };\n\n /**\n * Register all the content-API's 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 * @return {void}\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,YAAmB;AAGjC,QAAM,YAAY;AAAA,IAChB,QAAQ,qBAAqB;AAAA,IAC7B,WAAW,wBAAwB;AAAA,EAAA;AASrC,QAAM,gBAAgB,MAAM;AAC1B,UAAM,YAKF,CAAA;AAME,UAAA,eAAe,CAAC,WAA4D;AAChF,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,KAAK,KAAK;AACjBA,wBAAAA,QAAO,SAAS,QAAQ;AAErC,WAAA;AAAA,EAAA;AAST,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
+ {"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,20 +1,19 @@
1
1
  declare const _default: (options?: {}) => {
2
- register(action: string, payload: Record<string, unknown>): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
2
+ register(action: string, payload: Record<string, unknown>): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
3
3
  hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
4
- delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
4
+ delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
5
5
  get(key: string): {
6
6
  [x: string]: unknown;
7
7
  } | undefined;
8
- getWhere(filters?: Record<string, unknown> | undefined): {
9
- [x: string]: unknown;
10
- }[];
11
8
  values(): {
12
9
  [x: string]: unknown;
13
10
  }[];
14
11
  keys(): string[];
15
12
  has(key: string): boolean;
16
13
  size(): number;
17
- clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
14
+ clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider<{
15
+ [x: string]: unknown;
16
+ }>>;
18
17
  };
19
18
  export default _default;
20
19
  //# sourceMappingURL=action.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../../src/services/content-api/permissions/providers/action.ts"],"names":[],"mappings":";qBAQ2B,MAAM,WAAW,OAAO,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;AANnE,wBAcE"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../../src/services/content-api/permissions/providers/action.ts"],"names":[],"mappings":";qBAQ2B,MAAM,WAAW,OAAO,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;AANnE,wBAcE"}
@@ -3,22 +3,21 @@ export interface Condition {
3
3
  [key: string]: unknown;
4
4
  }
5
5
  declare const _default: (options?: {}) => {
6
- register(condition: Condition): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
6
+ register(condition: Condition): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
7
7
  hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
8
- delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
8
+ delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
9
9
  get(key: string): {
10
10
  [x: string]: unknown;
11
11
  } | undefined;
12
- getWhere(filters?: Record<string, unknown> | undefined): {
13
- [x: string]: unknown;
14
- }[];
15
12
  values(): {
16
13
  [x: string]: unknown;
17
14
  }[];
18
15
  keys(): string[];
19
16
  has(key: string): boolean;
20
17
  size(): number;
21
- clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
18
+ clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider<{
19
+ [x: string]: unknown;
20
+ }>>;
22
21
  };
23
22
  export default _default;
24
23
  //# sourceMappingURL=condition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../../../src/services/content-api/permissions/providers/condition.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;;wBAQ6B,SAAS;;;;;;;;;;;;;;;;;AANvC,wBAcE"}
1
+ {"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../../../src/services/content-api/permissions/providers/condition.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;;wBAQ6B,SAAS;;;;;;;;;;;;;;;;AANvC,wBAcE"}
@@ -1 +1 @@
1
- {"version":3,"file":"core-store.d.ts","sourceRoot":"","sources":["../../src/services/core-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAExD,QAAA,MAAM,cAAc,EAAE,KAwBrB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpC,UAAU,SAAS;IACjB,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;QAChC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACnD,CAAC;IACF,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,QAAA,MAAM,eAAe;QAAkB,QAAQ;eA+G9C,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"core-store.d.ts","sourceRoot":"","sources":["../../src/services/core-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAExD,QAAA,MAAM,cAAc,EAAE,KAwBrB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpC,UAAU,SAAS;IACjB,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;QAChC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACnD,CAAC;IACF,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,QAAA,MAAM,eAAe,WAAY;IAAE,EAAE,EAAE,QAAQ,CAAA;CAAE,cA+GhD,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
3
+ const fp = require("lodash/fp");
4
4
  const coreStoreModel = {
5
5
  uid: "strapi::core-store",
6
6
  singularName: "strapi_core_store_settings",
@@ -77,7 +77,7 @@ const createCoreStore = ({ db }) => {
77
77
  return db.query("strapi::core-store").update({
78
78
  where: { id: data.id },
79
79
  data: {
80
- value: JSON.stringify(value) || _.toString(value),
80
+ value: JSON.stringify(value) || fp.toString(value),
81
81
  type: typeof value
82
82
  }
83
83
  });
@@ -85,7 +85,7 @@ const createCoreStore = ({ db }) => {
85
85
  return db.query("strapi::core-store").create({
86
86
  data: {
87
87
  ...where,
88
- value: JSON.stringify(value) || _.toString(value),
88
+ value: JSON.stringify(value) || fp.toString(value),
89
89
  type: typeof value
90
90
  }
91
91
  });
@@ -1 +1 @@
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":";;;AAGA,MAAM,iBAAwB;AAAA,EAC5B,KAAK;AAAA,EACL,cAAc;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,KAAK;AAAA,MACH,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,KAAK;AAAA,MACH,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAgCA,MAAM,kBAAkB,CAAC,EAAE,SAA2B;AAC9C,QAAA,cAAc,CAAC,eAAgC,WAA2B;AACvE,WAAA;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IAAA;AAAA,EACL;AAGI,QAAA,QAAmB,SAAU,eAAgC;AAC1D,WAAA;AAAA,MACL,KAAK,CAAC,WAAmB,MAAM,IAAI,YAAY,eAAe,MAAM,CAAC;AAAA,MACrE,KAAK,CAAC,WAAmB,MAAM,IAAI,YAAY,eAAe,MAAM,CAAC;AAAA,MACrE,QAAQ,CAAC,WAAmB,MAAM,OAAO,YAAY,eAAe,MAAM,CAAC;AAAA,IAAA;AAAA,EAC7E;AAMI,QAAA,MAAM,OAAO,WAAW;AAC5B,UAAM,EAAE,KAAK,OAAO,QAAQ,aAAa,MAAM,IAAQ,IAAA;AAEjD,UAAA,SAAS,GAAG,IAAI,GAAG,OAAO,IAAI,IAAI,KAAK,EAAE;AAE/C,UAAM,QAAQ;AAAA,MACZ,KAAK,GAAG,MAAM,IAAI,GAAG;AAAA,MACrB,aAAa,eAAe;AAAA,MAC5B,KAAK,OAAO;AAAA,IAAA;AAGR,UAAA,OAAO,MAAM,GAAG,MAAM,oBAAoB,EAAE,QAAQ,EAAE,MAAA,CAAO;AAEnE,QAAI,CAAC,MAAM;AACF,aAAA;AAAA,IACT;AAGE,QAAA,KAAK,SAAS,YACd,KAAK,SAAS,WACd,KAAK,SAAS,aACd,KAAK,SAAS,UACd;AACI,UAAA;AACK,eAAA,KAAK,MAAM,KAAK,KAAK;AAAA,eACrB,KAAK;AACL,eAAA,IAAI,KAAK,KAAK,KAAK;AAAA,MAC5B;AAAA,IAAA,WACS,KAAK,SAAS,UAAU;AAC1B,aAAA,OAAO,KAAK,KAAK;AAAA,IAAA,OACnB;AACE,aAAA;AAAA,IACT;AAAA,EAAA;AAQI,QAAA,MAAM,OAAO,WAAW;AAC5B,UAAM,EAAE,KAAK,OAAO,MAAM,aAAa,MAAM,IAAQ,IAAA;AAE/C,UAAA,SAAS,GAAG,IAAI,GAAG,OAAO,IAAI,IAAI,KAAK,EAAE;AAE/C,UAAM,QAAQ;AAAA,MACZ,KAAK,GAAG,MAAM,IAAI,GAAG;AAAA,MACrB,aAAa,eAAe;AAAA,MAC5B,KAAK,OAAO;AAAA,IAAA;AAGR,UAAA,OAAO,MAAM,GAAG,MAAM,oBAAoB,EAAE,QAAQ,EAAE,MAAA,CAAO;AAEnE,QAAI,MAAM;AACR,aAAO,GAAG,MAAM,oBAAoB,EAAE,OAAO;AAAA,QAC3C,OAAO,EAAE,IAAI,KAAK,GAAG;AAAA,QACrB,MAAM;AAAA,UACJ,OAAO,KAAK,UAAU,KAAK,KAAKA,EAAAA,SAAS,KAAK;AAAA,UAC9C,MAAM,OAAO;AAAA,QACf;AAAA,MAAA,CACD;AAAA,IACH;AAEA,WAAO,GAAG,MAAM,oBAAoB,EAAE,OAAO;AAAA,MAC3C,MAAM;AAAA,QACJ,GAAG;AAAA,QACH,OAAO,KAAK,UAAU,KAAK,KAAKA,EAAAA,SAAS,KAAK;AAAA,QAC9C,MAAM,OAAO;AAAA,MACf;AAAA,IAAA,CACD;AAAA,EAAA;AAQG,QAAA,SAAS,OAAO,WAAW;AAC/B,UAAM,EAAE,KAAK,aAAa,MAAM,MAAM,IAAQ,IAAA;AAExC,UAAA,SAAS,GAAG,IAAI,GAAG,OAAO,IAAI,IAAI,KAAK,EAAE;AAE/C,UAAM,QAAQ;AAAA,MACZ,KAAK,GAAG,MAAM,IAAI,GAAG;AAAA,MACrB,aAAa,eAAe;AAAA,MAC5B,KAAK,OAAO;AAAA,IAAA;AAGd,WAAO,GAAG,MAAM,oBAAoB,EAAE,OAAO,EAAE,OAAO;AAAA,EAAA;AAGjD,SAAA;AACT;;;"}
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":";;;AAGA,MAAM,iBAAwB;AAAA,EAC5B,KAAK;AAAA,EACL,cAAc;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,IACV,IAAI;AAAA,MACF,MAAM;AAAA,IACR;AAAA,IACA,KAAK;AAAA,MACH,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,IACR;AAAA,IACA,KAAK;AAAA,MACH,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAgCA,MAAM,kBAAkB,CAAC,EAAE,SAA2B;AAC9C,QAAA,cAAc,CAAC,eAAgC,WAA2B;AACvE,WAAA;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IAAA;AAAA,EACL;AAGI,QAAA,QAAmB,SAAU,eAAgC;AAC1D,WAAA;AAAA,MACL,KAAK,CAAC,WAAmB,MAAM,IAAI,YAAY,eAAe,MAAM,CAAC;AAAA,MACrE,KAAK,CAAC,WAAmB,MAAM,IAAI,YAAY,eAAe,MAAM,CAAC;AAAA,MACrE,QAAQ,CAAC,WAAmB,MAAM,OAAO,YAAY,eAAe,MAAM,CAAC;AAAA,IAAA;AAAA,EAC7E;AAMI,QAAA,MAAM,OAAO,WAAW;AAC5B,UAAM,EAAE,KAAK,OAAO,QAAQ,aAAa,MAAM,IAAQ,IAAA;AAEjD,UAAA,SAAS,GAAG,IAAI,GAAG,OAAO,IAAI,IAAI,KAAK,EAAE;AAE/C,UAAM,QAAQ;AAAA,MACZ,KAAK,GAAG,MAAM,IAAI,GAAG;AAAA,MACrB,aAAa,eAAe;AAAA,MAC5B,KAAK,OAAO;AAAA,IAAA;AAGR,UAAA,OAAO,MAAM,GAAG,MAAM,oBAAoB,EAAE,QAAQ,EAAE,MAAA,CAAO;AAEnE,QAAI,CAAC,MAAM;AACF,aAAA;AAAA,IACT;AAGE,QAAA,KAAK,SAAS,YACd,KAAK,SAAS,WACd,KAAK,SAAS,aACd,KAAK,SAAS,UACd;AACI,UAAA;AACK,eAAA,KAAK,MAAM,KAAK,KAAK;AAAA,eACrB,KAAK;AACL,eAAA,IAAI,KAAK,KAAK,KAAK;AAAA,MAC5B;AAAA,IAAA,WACS,KAAK,SAAS,UAAU;AAC1B,aAAA,OAAO,KAAK,KAAK;AAAA,IAAA,OACnB;AACE,aAAA;AAAA,IACT;AAAA,EAAA;AAQI,QAAA,MAAM,OAAO,WAAW;AAC5B,UAAM,EAAE,KAAK,OAAO,MAAM,aAAa,MAAM,IAAQ,IAAA;AAE/C,UAAA,SAAS,GAAG,IAAI,GAAG,OAAO,IAAI,IAAI,KAAK,EAAE;AAE/C,UAAM,QAAQ;AAAA,MACZ,KAAK,GAAG,MAAM,IAAI,GAAG;AAAA,MACrB,aAAa,eAAe;AAAA,MAC5B,KAAK,OAAO;AAAA,IAAA;AAGR,UAAA,OAAO,MAAM,GAAG,MAAM,oBAAoB,EAAE,QAAQ,EAAE,MAAA,CAAO;AAEnE,QAAI,MAAM;AACR,aAAO,GAAG,MAAM,oBAAoB,EAAE,OAAO;AAAA,QAC3C,OAAO,EAAE,IAAI,KAAK,GAAG;AAAA,QACrB,MAAM;AAAA,UACJ,OAAO,KAAK,UAAU,KAAK,KAAKA,GAAAA,SAAS,KAAK;AAAA,UAC9C,MAAM,OAAO;AAAA,QACf;AAAA,MAAA,CACD;AAAA,IACH;AAEA,WAAO,GAAG,MAAM,oBAAoB,EAAE,OAAO;AAAA,MAC3C,MAAM;AAAA,QACJ,GAAG;AAAA,QACH,OAAO,KAAK,UAAU,KAAK,KAAKA,GAAAA,SAAS,KAAK;AAAA,QAC9C,MAAM,OAAO;AAAA,MACf;AAAA,IAAA,CACD;AAAA,EAAA;AAQG,QAAA,SAAS,OAAO,WAAW;AAC/B,UAAM,EAAE,KAAK,aAAa,MAAM,MAAM,IAAQ,IAAA;AAExC,UAAA,SAAS,GAAG,IAAI,GAAG,OAAO,IAAI,IAAI,KAAK,EAAE;AAE/C,UAAM,QAAQ;AAAA,MACZ,KAAK,GAAG,MAAM,IAAI,GAAG;AAAA,MACrB,aAAa,eAAe;AAAA,MAC5B,KAAK,OAAO;AAAA,IAAA;AAGd,WAAO,GAAG,MAAM,oBAAoB,EAAE,OAAO,EAAE,OAAO;AAAA,EAAA;AAGjD,SAAA;AACT;;;"}
@@ -1,16 +1,16 @@
1
- import { Job } from 'node-schedule';
2
- import type { Strapi } from '@strapi/types';
1
+ import { Job, Spec } from 'node-schedule';
2
+ import type { Core } from '@strapi/types';
3
3
  interface JobSpec {
4
4
  job: Job;
5
- options: string | number | Date;
5
+ options: Spec;
6
6
  name: string | null;
7
7
  }
8
8
  type TaskFn = ({ strapi }: {
9
- strapi: Strapi;
9
+ strapi: Core.Strapi;
10
10
  }, ...args: unknown[]) => Promise<unknown>;
11
11
  type Task = TaskFn | {
12
12
  task: TaskFn;
13
- options: string;
13
+ options: Spec;
14
14
  };
15
15
  interface Tasks {
16
16
  [key: string]: Task;
@@ -1 +1 @@
1
- {"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/services/cron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,UAAU,OAAO;IACf,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,KAAK,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvF,KAAK,IAAI,GACL,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,iBAAiB;gBAKR,KAAK;iBAoCH,MAAM;;;;;CAgCtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/services/cron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,UAAU,OAAO;IACf,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,KAAK,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE5F,KAAK,IAAI,GACL,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEN,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,iBAAiB;gBAKR,KAAK;iBAoCH,MAAM;;;;;CAgCtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const nodeSchedule = require("node-schedule");
3
- const _ = require("lodash/fp");
3
+ const fp = require("lodash/fp");
4
4
  const createCronService = () => {
5
5
  let jobsSpecs = [];
6
6
  let running = false;
@@ -11,11 +11,11 @@ const createCronService = () => {
11
11
  let fn;
12
12
  let options;
13
13
  let taskName;
14
- if (_.isFunction(taskValue)) {
14
+ if (fp.isFunction(taskValue)) {
15
15
  taskName = null;
16
16
  fn = taskValue.bind(tasks);
17
17
  options = taskExpression;
18
- } else if (_.isFunction(taskValue.task)) {
18
+ } else if (fp.isFunction(taskValue.task)) {
19
19
  taskName = taskExpression;
20
20
  fn = taskValue.task.bind(taskValue);
21
21
  options = taskValue.options;
@@ -34,11 +34,16 @@ const createCronService = () => {
34
34
  return this;
35
35
  },
36
36
  remove(name) {
37
- if (!name) {
37
+ if (!name)
38
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);
39
+ const matchingJobsSpecs = jobsSpecs.filter(({ name: jobSpecName }, index) => {
40
+ if (jobSpecName === name) {
41
+ jobsSpecs.splice(index, 1);
42
+ return true;
43
+ }
44
+ return false;
45
+ });
46
+ matchingJobsSpecs.forEach(({ job }) => job.cancel());
42
47
  return this;
43
48
  },
44
49
  start() {