@strapi/core 0.0.0-experimental.d362bf200f5f9359a4bbd4a549603de5ee1f04ca → 0.0.0-experimental.d3cdf79a0d5f803dfeb6d0f055bb2f3b913bb015

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (671) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +37 -46
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +197 -226
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +166 -215
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/compile.js.map +1 -1
  9. package/dist/compile.mjs.map +1 -1
  10. package/dist/configuration/config-loader.d.ts.map +1 -1
  11. package/dist/configuration/config-loader.js +10 -7
  12. package/dist/configuration/config-loader.js.map +1 -1
  13. package/dist/configuration/config-loader.mjs +10 -7
  14. package/dist/configuration/config-loader.mjs.map +1 -1
  15. package/dist/configuration/get-dirs.d.ts +10 -0
  16. package/dist/configuration/get-dirs.d.ts.map +1 -0
  17. package/dist/{utils → configuration}/get-dirs.js +3 -2
  18. package/dist/configuration/get-dirs.js.map +1 -0
  19. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  20. package/dist/configuration/get-dirs.mjs.map +1 -0
  21. package/dist/configuration/index.d.ts +4 -7
  22. package/dist/configuration/index.d.ts.map +1 -1
  23. package/dist/configuration/index.js +16 -9
  24. package/dist/configuration/index.js.map +1 -1
  25. package/dist/configuration/index.mjs +13 -7
  26. package/dist/configuration/index.mjs.map +1 -1
  27. package/dist/configuration/urls.js.map +1 -1
  28. package/dist/configuration/urls.mjs.map +1 -1
  29. package/dist/container.js.map +1 -1
  30. package/dist/container.mjs.map +1 -1
  31. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  32. package/dist/core-api/controller/collection-type.js +6 -3
  33. package/dist/core-api/controller/collection-type.js.map +1 -1
  34. package/dist/core-api/controller/collection-type.mjs +3 -0
  35. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  36. package/dist/core-api/controller/index.js +2 -2
  37. package/dist/core-api/controller/index.js.map +1 -1
  38. package/dist/core-api/controller/index.mjs.map +1 -1
  39. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  40. package/dist/core-api/controller/single-type.js +3 -2
  41. package/dist/core-api/controller/single-type.js.map +1 -1
  42. package/dist/core-api/controller/single-type.mjs +1 -0
  43. package/dist/core-api/controller/single-type.mjs.map +1 -1
  44. package/dist/core-api/controller/transform.js +8 -8
  45. package/dist/core-api/controller/transform.js.map +1 -1
  46. package/dist/core-api/controller/transform.mjs.map +1 -1
  47. package/dist/core-api/routes/index.d.ts.map +1 -1
  48. package/dist/core-api/routes/index.js.map +1 -1
  49. package/dist/core-api/routes/index.mjs.map +1 -1
  50. package/dist/core-api/service/collection-type.d.ts +3 -9
  51. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  52. package/dist/core-api/service/collection-type.js +18 -7
  53. package/dist/core-api/service/collection-type.js.map +1 -1
  54. package/dist/core-api/service/collection-type.mjs +19 -8
  55. package/dist/core-api/service/collection-type.mjs.map +1 -1
  56. package/dist/core-api/service/core-service.js.map +1 -1
  57. package/dist/core-api/service/core-service.mjs.map +1 -1
  58. package/dist/core-api/service/index.js.map +1 -1
  59. package/dist/core-api/service/index.mjs.map +1 -1
  60. package/dist/core-api/service/pagination.d.ts +4 -11
  61. package/dist/core-api/service/pagination.d.ts.map +1 -1
  62. package/dist/core-api/service/pagination.js +18 -44
  63. package/dist/core-api/service/pagination.js.map +1 -1
  64. package/dist/core-api/service/pagination.mjs +16 -42
  65. package/dist/core-api/service/pagination.mjs.map +1 -1
  66. package/dist/core-api/service/single-type.d.ts.map +1 -1
  67. package/dist/core-api/service/single-type.js +10 -4
  68. package/dist/core-api/service/single-type.js.map +1 -1
  69. package/dist/core-api/service/single-type.mjs +10 -4
  70. package/dist/core-api/service/single-type.mjs.map +1 -1
  71. package/dist/domain/content-type/index.js +4 -4
  72. package/dist/domain/content-type/index.js.map +1 -1
  73. package/dist/domain/content-type/index.mjs.map +1 -1
  74. package/dist/domain/content-type/validator.js.map +1 -1
  75. package/dist/domain/content-type/validator.mjs.map +1 -1
  76. package/dist/domain/module/index.js.map +1 -1
  77. package/dist/domain/module/index.mjs.map +1 -1
  78. package/dist/domain/module/validation.js.map +1 -1
  79. package/dist/domain/module/validation.mjs.map +1 -1
  80. package/dist/ee/index.d.ts +2 -0
  81. package/dist/ee/index.d.ts.map +1 -1
  82. package/dist/ee/index.js +9 -4
  83. package/dist/ee/index.js.map +1 -1
  84. package/dist/ee/index.mjs +6 -1
  85. package/dist/ee/index.mjs.map +1 -1
  86. package/dist/ee/license.d.ts.map +1 -1
  87. package/dist/ee/license.js +2 -1
  88. package/dist/ee/license.js.map +1 -1
  89. package/dist/ee/license.mjs +2 -1
  90. package/dist/ee/license.mjs.map +1 -1
  91. package/dist/factories.d.ts +2 -2
  92. package/dist/factories.d.ts.map +1 -1
  93. package/dist/factories.js +4 -4
  94. package/dist/factories.js.map +1 -1
  95. package/dist/factories.mjs.map +1 -1
  96. package/dist/index.d.ts +18 -2
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +25 -1
  99. package/dist/index.js.map +1 -1
  100. package/dist/index.mjs +27 -3
  101. package/dist/index.mjs.map +1 -1
  102. package/dist/loaders/admin.js +0 -1
  103. package/dist/loaders/admin.js.map +1 -1
  104. package/dist/loaders/admin.mjs +0 -1
  105. package/dist/loaders/admin.mjs.map +1 -1
  106. package/dist/loaders/apis.d.ts.map +1 -1
  107. package/dist/loaders/apis.js +12 -12
  108. package/dist/loaders/apis.js.map +1 -1
  109. package/dist/loaders/apis.mjs +10 -10
  110. package/dist/loaders/apis.mjs.map +1 -1
  111. package/dist/loaders/components.js.map +1 -1
  112. package/dist/loaders/components.mjs.map +1 -1
  113. package/dist/loaders/index.d.ts.map +1 -1
  114. package/dist/loaders/index.js +0 -2
  115. package/dist/loaders/index.js.map +1 -1
  116. package/dist/loaders/index.mjs +0 -2
  117. package/dist/loaders/index.mjs.map +1 -1
  118. package/dist/loaders/middlewares.js.map +1 -1
  119. package/dist/loaders/middlewares.mjs.map +1 -1
  120. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  121. package/dist/loaders/plugins/get-enabled-plugins.js +47 -18
  122. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  123. package/dist/loaders/plugins/get-enabled-plugins.mjs +17 -10
  124. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  125. package/dist/loaders/plugins/get-user-plugins-config.js +2 -2
  126. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  127. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  128. package/dist/loaders/plugins/index.d.ts.map +1 -1
  129. package/dist/loaders/plugins/index.js +33 -7
  130. package/dist/loaders/plugins/index.js.map +1 -1
  131. package/dist/loaders/plugins/index.mjs +9 -1
  132. package/dist/loaders/plugins/index.mjs.map +1 -1
  133. package/dist/loaders/policies.js.map +1 -1
  134. package/dist/loaders/policies.mjs.map +1 -1
  135. package/dist/loaders/sanitizers.js.map +1 -1
  136. package/dist/loaders/sanitizers.mjs.map +1 -1
  137. package/dist/loaders/src-index.js.map +1 -1
  138. package/dist/loaders/src-index.mjs.map +1 -1
  139. package/dist/loaders/validators.js.map +1 -1
  140. package/dist/loaders/validators.mjs.map +1 -1
  141. package/dist/middlewares/body.d.ts +2 -2
  142. package/dist/middlewares/body.d.ts.map +1 -1
  143. package/dist/middlewares/body.js +6 -6
  144. package/dist/middlewares/body.js.map +1 -1
  145. package/dist/middlewares/body.mjs +4 -4
  146. package/dist/middlewares/body.mjs.map +1 -1
  147. package/dist/middlewares/cors.d.ts.map +1 -1
  148. package/dist/middlewares/cors.js +9 -7
  149. package/dist/middlewares/cors.js.map +1 -1
  150. package/dist/middlewares/cors.mjs +9 -7
  151. package/dist/middlewares/cors.mjs.map +1 -1
  152. package/dist/middlewares/errors.js.map +1 -1
  153. package/dist/middlewares/errors.mjs.map +1 -1
  154. package/dist/middlewares/favicon.js.map +1 -1
  155. package/dist/middlewares/favicon.mjs.map +1 -1
  156. package/dist/middlewares/index.js.map +1 -1
  157. package/dist/middlewares/logger.js.map +1 -1
  158. package/dist/middlewares/logger.mjs.map +1 -1
  159. package/dist/middlewares/powered-by.js.map +1 -1
  160. package/dist/middlewares/powered-by.mjs.map +1 -1
  161. package/dist/middlewares/public.js +3 -3
  162. package/dist/middlewares/public.js.map +1 -1
  163. package/dist/middlewares/public.mjs +1 -1
  164. package/dist/middlewares/public.mjs.map +1 -1
  165. package/dist/middlewares/query.d.ts.map +1 -1
  166. package/dist/middlewares/query.js.map +1 -1
  167. package/dist/middlewares/query.mjs.map +1 -1
  168. package/dist/middlewares/response-time.js.map +1 -1
  169. package/dist/middlewares/response-time.mjs.map +1 -1
  170. package/dist/middlewares/responses.js +2 -2
  171. package/dist/middlewares/responses.js.map +1 -1
  172. package/dist/middlewares/responses.mjs.map +1 -1
  173. package/dist/middlewares/security.d.ts.map +1 -1
  174. package/dist/middlewares/security.js +12 -5
  175. package/dist/middlewares/security.js.map +1 -1
  176. package/dist/middlewares/security.mjs +11 -4
  177. package/dist/middlewares/security.mjs.map +1 -1
  178. package/dist/middlewares/session.js +2 -2
  179. package/dist/middlewares/session.js.map +1 -1
  180. package/dist/middlewares/session.mjs.map +1 -1
  181. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  182. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  183. package/dist/migrations/database/5.0.0-discard-drafts.js +106 -0
  184. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  185. package/dist/migrations/database/5.0.0-discard-drafts.mjs +106 -0
  186. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  187. package/dist/migrations/draft-publish.d.ts +1 -1
  188. package/dist/migrations/draft-publish.d.ts.map +1 -1
  189. package/dist/migrations/draft-publish.js +14 -31
  190. package/dist/migrations/draft-publish.js.map +1 -1
  191. package/dist/migrations/draft-publish.mjs +15 -32
  192. package/dist/migrations/draft-publish.mjs.map +1 -1
  193. package/dist/migrations/i18n.d.ts +5 -0
  194. package/dist/migrations/i18n.d.ts.map +1 -0
  195. package/dist/migrations/i18n.js +54 -0
  196. package/dist/migrations/i18n.js.map +1 -0
  197. package/dist/migrations/i18n.mjs +54 -0
  198. package/dist/migrations/i18n.mjs.map +1 -0
  199. package/dist/migrations/index.d.ts +5 -0
  200. package/dist/migrations/index.d.ts.map +1 -0
  201. package/dist/migrations/index.js +15 -0
  202. package/dist/migrations/index.js.map +1 -0
  203. package/dist/migrations/index.mjs +15 -0
  204. package/dist/migrations/index.mjs.map +1 -0
  205. package/dist/providers/admin.d.ts +3 -0
  206. package/dist/providers/admin.d.ts.map +1 -0
  207. package/dist/providers/admin.js +20 -0
  208. package/dist/providers/admin.js.map +1 -0
  209. package/dist/providers/admin.mjs +21 -0
  210. package/dist/providers/admin.mjs.map +1 -0
  211. package/dist/providers/coreStore.d.ts +3 -0
  212. package/dist/providers/coreStore.d.ts.map +1 -0
  213. package/dist/providers/coreStore.js +11 -0
  214. package/dist/providers/coreStore.js.map +1 -0
  215. package/dist/providers/coreStore.mjs +12 -0
  216. package/dist/providers/coreStore.mjs.map +1 -0
  217. package/dist/providers/cron.d.ts +3 -0
  218. package/dist/providers/cron.d.ts.map +1 -0
  219. package/dist/providers/cron.js +20 -0
  220. package/dist/providers/cron.js.map +1 -0
  221. package/dist/providers/cron.mjs +21 -0
  222. package/dist/providers/cron.mjs.map +1 -0
  223. package/dist/providers/index.d.ts +3 -0
  224. package/dist/providers/index.d.ts.map +1 -0
  225. package/dist/providers/index.js +11 -0
  226. package/dist/providers/index.js.map +1 -0
  227. package/dist/providers/index.mjs +11 -0
  228. package/dist/providers/index.mjs.map +1 -0
  229. package/dist/providers/provider.d.ts +9 -0
  230. package/dist/providers/provider.d.ts.map +1 -0
  231. package/dist/providers/provider.js +5 -0
  232. package/dist/providers/provider.js.map +1 -0
  233. package/dist/providers/provider.mjs +5 -0
  234. package/dist/providers/provider.mjs.map +1 -0
  235. package/dist/providers/registries.d.ts +3 -0
  236. package/dist/providers/registries.d.ts.map +1 -0
  237. package/dist/providers/registries.js +35 -0
  238. package/dist/providers/registries.js.map +1 -0
  239. package/dist/providers/registries.mjs +36 -0
  240. package/dist/providers/registries.mjs.map +1 -0
  241. package/dist/providers/telemetry.d.ts +3 -0
  242. package/dist/providers/telemetry.d.ts.map +1 -0
  243. package/dist/providers/telemetry.js +19 -0
  244. package/dist/providers/telemetry.js.map +1 -0
  245. package/dist/providers/telemetry.mjs +20 -0
  246. package/dist/providers/telemetry.mjs.map +1 -0
  247. package/dist/providers/webhooks.d.ts +3 -0
  248. package/dist/providers/webhooks.d.ts.map +1 -0
  249. package/dist/providers/webhooks.js +30 -0
  250. package/dist/providers/webhooks.js.map +1 -0
  251. package/dist/providers/webhooks.mjs +31 -0
  252. package/dist/providers/webhooks.mjs.map +1 -0
  253. package/dist/registries/apis.js +2 -2
  254. package/dist/registries/apis.js.map +1 -1
  255. package/dist/registries/apis.mjs.map +1 -1
  256. package/dist/registries/components.js +2 -2
  257. package/dist/registries/components.js.map +1 -1
  258. package/dist/registries/components.mjs.map +1 -1
  259. package/dist/registries/content-types.js +3 -3
  260. package/dist/registries/content-types.js.map +1 -1
  261. package/dist/registries/content-types.mjs.map +1 -1
  262. package/dist/registries/controllers.js +3 -3
  263. package/dist/registries/controllers.js.map +1 -1
  264. package/dist/registries/controllers.mjs.map +1 -1
  265. package/dist/registries/custom-fields.js +4 -4
  266. package/dist/registries/custom-fields.js.map +1 -1
  267. package/dist/registries/custom-fields.mjs.map +1 -1
  268. package/dist/registries/hooks.js +2 -2
  269. package/dist/registries/hooks.js.map +1 -1
  270. package/dist/registries/hooks.mjs.map +1 -1
  271. package/dist/registries/index.d.ts +0 -1
  272. package/dist/registries/index.d.ts.map +1 -1
  273. package/dist/registries/middlewares.js +3 -3
  274. package/dist/registries/middlewares.js.map +1 -1
  275. package/dist/registries/middlewares.mjs.map +1 -1
  276. package/dist/registries/models.js.map +1 -1
  277. package/dist/registries/models.mjs.map +1 -1
  278. package/dist/registries/modules.js +3 -3
  279. package/dist/registries/modules.js.map +1 -1
  280. package/dist/registries/modules.mjs.map +1 -1
  281. package/dist/registries/namespace.js.map +1 -1
  282. package/dist/registries/namespace.mjs.map +1 -1
  283. package/dist/registries/plugins.js +2 -2
  284. package/dist/registries/plugins.js.map +1 -1
  285. package/dist/registries/plugins.mjs.map +1 -1
  286. package/dist/registries/policies.d.ts +1 -1
  287. package/dist/registries/policies.d.ts.map +1 -1
  288. package/dist/registries/policies.js +5 -5
  289. package/dist/registries/policies.js.map +1 -1
  290. package/dist/registries/policies.mjs +1 -1
  291. package/dist/registries/policies.mjs.map +1 -1
  292. package/dist/registries/sanitizers.js.map +1 -1
  293. package/dist/registries/sanitizers.mjs.map +1 -1
  294. package/dist/registries/services.js +3 -3
  295. package/dist/registries/services.js.map +1 -1
  296. package/dist/registries/services.mjs.map +1 -1
  297. package/dist/registries/validators.js.map +1 -1
  298. package/dist/registries/validators.mjs.map +1 -1
  299. package/dist/services/auth/index.js +3 -3
  300. package/dist/services/auth/index.js.map +1 -1
  301. package/dist/services/auth/index.mjs.map +1 -1
  302. package/dist/services/config.d.ts +3 -0
  303. package/dist/services/config.d.ts.map +1 -0
  304. package/dist/{registries → services}/config.js +11 -7
  305. package/dist/services/config.js.map +1 -0
  306. package/dist/{registries → services}/config.mjs +10 -7
  307. package/dist/services/config.mjs.map +1 -0
  308. package/dist/services/content-api/index.d.ts +10 -12
  309. package/dist/services/content-api/index.d.ts.map +1 -1
  310. package/dist/services/content-api/index.js +1 -1
  311. package/dist/services/content-api/index.js.map +1 -1
  312. package/dist/services/content-api/index.mjs +1 -1
  313. package/dist/services/content-api/index.mjs.map +1 -1
  314. package/dist/services/content-api/permissions/index.d.ts +10 -12
  315. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  316. package/dist/services/content-api/permissions/index.js +1 -1
  317. package/dist/services/content-api/permissions/index.js.map +1 -1
  318. package/dist/services/content-api/permissions/index.mjs +1 -1
  319. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  320. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  321. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  322. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  323. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  324. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  325. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  326. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  327. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  328. package/dist/services/core-store.d.ts.map +1 -1
  329. package/dist/services/core-store.js +3 -3
  330. package/dist/services/core-store.js.map +1 -1
  331. package/dist/services/core-store.mjs.map +1 -1
  332. package/dist/services/cron.d.ts +3 -3
  333. package/dist/services/cron.d.ts.map +1 -1
  334. package/dist/services/cron.js +12 -8
  335. package/dist/services/cron.js.map +1 -1
  336. package/dist/services/cron.mjs +9 -5
  337. package/dist/services/cron.mjs.map +1 -1
  338. package/dist/services/custom-fields.js.map +1 -1
  339. package/dist/services/custom-fields.mjs.map +1 -1
  340. package/dist/services/document-service/attributes/index.d.ts +6 -0
  341. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  342. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  343. package/dist/services/document-service/attributes/index.js.map +1 -0
  344. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  345. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  346. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  347. package/dist/services/{entity-service → document-service}/attributes/transforms.js +3 -3
  348. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  349. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  350. package/dist/services/document-service/common.d.ts +1 -1
  351. package/dist/services/document-service/common.d.ts.map +1 -1
  352. package/dist/services/document-service/common.js.map +1 -1
  353. package/dist/services/document-service/common.mjs.map +1 -1
  354. package/dist/services/document-service/components.d.ts +25 -1
  355. package/dist/services/document-service/components.d.ts.map +1 -1
  356. package/dist/services/{entity-service → document-service}/components.js +46 -56
  357. package/dist/services/document-service/components.js.map +1 -0
  358. package/dist/services/{entity-service → document-service}/components.mjs +36 -46
  359. package/dist/services/document-service/components.mjs.map +1 -0
  360. package/dist/services/document-service/draft-and-publish.js +16 -16
  361. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  362. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  363. package/dist/services/document-service/entries.d.ts +10 -0
  364. package/dist/services/document-service/entries.d.ts.map +1 -0
  365. package/dist/services/document-service/entries.js +95 -0
  366. package/dist/services/document-service/entries.js.map +1 -0
  367. package/dist/services/document-service/entries.mjs +95 -0
  368. package/dist/services/document-service/entries.mjs.map +1 -0
  369. package/dist/services/document-service/events.d.ts +25 -0
  370. package/dist/services/document-service/events.d.ts.map +1 -0
  371. package/dist/services/document-service/events.js +47 -0
  372. package/dist/services/document-service/events.js.map +1 -0
  373. package/dist/services/document-service/events.mjs +47 -0
  374. package/dist/services/document-service/events.mjs.map +1 -0
  375. package/dist/services/document-service/index.d.ts +2 -3
  376. package/dist/services/document-service/index.d.ts.map +1 -1
  377. package/dist/services/document-service/index.js +16 -4
  378. package/dist/services/document-service/index.js.map +1 -1
  379. package/dist/services/document-service/index.mjs +16 -4
  380. package/dist/services/document-service/index.mjs.map +1 -1
  381. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  382. package/dist/services/document-service/internationalization.js +21 -12
  383. package/dist/services/document-service/internationalization.js.map +1 -1
  384. package/dist/services/document-service/internationalization.mjs +14 -5
  385. package/dist/services/document-service/internationalization.mjs.map +1 -1
  386. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  387. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  388. package/dist/services/document-service/middlewares/middleware-manager.d.ts +5 -2
  389. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -1
  390. package/dist/services/document-service/middlewares/middleware-manager.js +8 -5
  391. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  392. package/dist/services/document-service/middlewares/middleware-manager.mjs +8 -5
  393. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  394. package/dist/services/document-service/params.d.ts +3 -1
  395. package/dist/services/document-service/params.d.ts.map +1 -1
  396. package/dist/services/{entity-service → document-service}/params.js +2 -2
  397. package/dist/services/document-service/params.js.map +1 -0
  398. package/dist/services/document-service/params.mjs.map +1 -0
  399. package/dist/services/document-service/repository.d.ts.map +1 -1
  400. package/dist/services/document-service/repository.js +194 -159
  401. package/dist/services/document-service/repository.js.map +1 -1
  402. package/dist/services/document-service/repository.mjs +172 -137
  403. package/dist/services/document-service/repository.mjs.map +1 -1
  404. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  405. package/dist/services/document-service/transform/data.js +4 -2
  406. package/dist/services/document-service/transform/data.js.map +1 -1
  407. package/dist/services/document-service/transform/data.mjs +4 -2
  408. package/dist/services/document-service/transform/data.mjs.map +1 -1
  409. package/dist/services/document-service/transform/fields.js.map +1 -1
  410. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  411. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  412. package/dist/services/document-service/transform/id-map.js +15 -8
  413. package/dist/services/document-service/transform/id-map.js.map +1 -1
  414. package/dist/services/document-service/transform/id-map.mjs +16 -9
  415. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  416. package/dist/services/document-service/transform/id-transform.js +2 -2
  417. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  418. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  419. package/dist/services/document-service/transform/populate.js.map +1 -1
  420. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  421. package/dist/services/document-service/transform/query.d.ts +5 -0
  422. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  423. package/dist/services/document-service/transform/query.js +9 -0
  424. package/dist/services/document-service/transform/query.js.map +1 -0
  425. package/dist/services/document-service/transform/query.mjs +9 -0
  426. package/dist/services/document-service/transform/query.mjs.map +1 -0
  427. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  428. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  429. package/dist/services/document-service/transform/relations/extract/data-ids.js +51 -77
  430. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  431. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +51 -77
  432. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  433. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +7 -3
  434. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  435. package/dist/services/document-service/transform/relations/transform/data-ids.js +69 -125
  436. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  437. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +69 -125
  438. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  439. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  440. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  441. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  442. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  443. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  444. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  445. package/dist/services/document-service/transform/relations/utils/dp.js +2 -2
  446. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  447. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  448. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +2 -2
  449. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  450. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  451. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  452. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  453. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  454. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  455. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  456. package/dist/services/document-service/transform/relations/utils/map-relation.js +84 -0
  457. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  458. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +84 -0
  459. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  460. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  461. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  462. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  463. package/dist/services/document-service/utils/populate.js +8 -2
  464. package/dist/services/document-service/utils/populate.js.map +1 -1
  465. package/dist/services/document-service/utils/populate.mjs +8 -2
  466. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  467. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  468. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  469. package/dist/services/document-service/utils/unidirectional-relations.js +68 -0
  470. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  471. package/dist/services/document-service/utils/unidirectional-relations.mjs +68 -0
  472. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  473. package/dist/services/entity-service/index.d.ts.map +1 -1
  474. package/dist/services/entity-service/index.js +11 -4
  475. package/dist/services/entity-service/index.js.map +1 -1
  476. package/dist/services/entity-service/index.mjs +11 -4
  477. package/dist/services/entity-service/index.mjs.map +1 -1
  478. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  479. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  480. package/dist/services/entity-validator/blocks-validator.js +4 -3
  481. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  482. package/dist/services/entity-validator/blocks-validator.mjs +3 -3
  483. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  484. package/dist/services/entity-validator/index.d.ts +15 -1
  485. package/dist/services/entity-validator/index.d.ts.map +1 -1
  486. package/dist/services/entity-validator/index.js +189 -127
  487. package/dist/services/entity-validator/index.js.map +1 -1
  488. package/dist/services/entity-validator/index.mjs +184 -122
  489. package/dist/services/entity-validator/index.mjs.map +1 -1
  490. package/dist/services/entity-validator/validators.d.ts +36 -25
  491. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  492. package/dist/services/entity-validator/validators.js +148 -33
  493. package/dist/services/entity-validator/validators.js.map +1 -1
  494. package/dist/services/entity-validator/validators.mjs +140 -25
  495. package/dist/services/entity-validator/validators.mjs.map +1 -1
  496. package/dist/services/errors.js.map +1 -1
  497. package/dist/services/errors.mjs.map +1 -1
  498. package/dist/services/event-hub.d.ts +1 -0
  499. package/dist/services/event-hub.d.ts.map +1 -1
  500. package/dist/services/event-hub.js +9 -4
  501. package/dist/services/event-hub.js.map +1 -1
  502. package/dist/services/event-hub.mjs +9 -4
  503. package/dist/services/event-hub.mjs.map +1 -1
  504. package/dist/services/features.js.map +1 -1
  505. package/dist/services/features.mjs.map +1 -1
  506. package/dist/services/fs.js.map +1 -1
  507. package/dist/services/fs.mjs.map +1 -1
  508. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  509. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  510. package/dist/services/metrics/index.js +1 -2
  511. package/dist/services/metrics/index.js.map +1 -1
  512. package/dist/services/metrics/index.mjs +1 -2
  513. package/dist/services/metrics/index.mjs.map +1 -1
  514. package/dist/services/metrics/is-truthy.js.map +1 -1
  515. package/dist/services/metrics/middleware.d.ts.map +1 -1
  516. package/dist/services/metrics/middleware.js.map +1 -1
  517. package/dist/services/metrics/middleware.mjs.map +1 -1
  518. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  519. package/dist/services/metrics/rate-limiter.js.map +1 -1
  520. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  521. package/dist/services/metrics/sender.js.map +1 -1
  522. package/dist/services/metrics/sender.mjs.map +1 -1
  523. package/dist/services/query-params.js.map +1 -1
  524. package/dist/services/query-params.mjs.map +1 -1
  525. package/dist/services/reloader.d.ts +7 -0
  526. package/dist/services/reloader.d.ts.map +1 -0
  527. package/dist/services/reloader.js +36 -0
  528. package/dist/services/reloader.js.map +1 -0
  529. package/dist/services/reloader.mjs +36 -0
  530. package/dist/services/reloader.mjs.map +1 -0
  531. package/dist/services/request-context.js.map +1 -1
  532. package/dist/services/request-context.mjs.map +1 -1
  533. package/dist/services/server/admin-api.js.map +1 -1
  534. package/dist/services/server/admin-api.mjs.map +1 -1
  535. package/dist/services/server/api.js.map +1 -1
  536. package/dist/services/server/api.mjs.map +1 -1
  537. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  538. package/dist/services/server/compose-endpoint.js +7 -7
  539. package/dist/services/server/compose-endpoint.js.map +1 -1
  540. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  541. package/dist/services/server/content-api.js.map +1 -1
  542. package/dist/services/server/content-api.mjs.map +1 -1
  543. package/dist/services/server/http-server.js.map +1 -1
  544. package/dist/services/server/http-server.mjs.map +1 -1
  545. package/dist/services/server/index.js +1 -1
  546. package/dist/services/server/index.js.map +1 -1
  547. package/dist/services/server/index.mjs +1 -1
  548. package/dist/services/server/index.mjs.map +1 -1
  549. package/dist/services/server/koa.d.ts.map +1 -1
  550. package/dist/services/server/koa.js +4 -4
  551. package/dist/services/server/koa.js.map +1 -1
  552. package/dist/services/server/koa.mjs +1 -1
  553. package/dist/services/server/koa.mjs.map +1 -1
  554. package/dist/services/server/middleware.js +3 -3
  555. package/dist/services/server/middleware.js.map +1 -1
  556. package/dist/services/server/middleware.mjs.map +1 -1
  557. package/dist/services/server/policy.js.map +1 -1
  558. package/dist/services/server/policy.mjs.map +1 -1
  559. package/dist/services/server/register-middlewares.js.map +1 -1
  560. package/dist/services/server/register-middlewares.mjs.map +1 -1
  561. package/dist/services/server/register-routes.js +3 -3
  562. package/dist/services/server/register-routes.js.map +1 -1
  563. package/dist/services/server/register-routes.mjs +3 -3
  564. package/dist/services/server/register-routes.mjs.map +1 -1
  565. package/dist/services/server/routing.d.ts +1 -1
  566. package/dist/services/server/routing.js +2 -2
  567. package/dist/services/server/routing.js.map +1 -1
  568. package/dist/services/server/routing.mjs.map +1 -1
  569. package/dist/services/utils/dynamic-zones.js +5 -5
  570. package/dist/services/utils/dynamic-zones.js.map +1 -1
  571. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  572. package/dist/services/webhook-runner.d.ts +2 -1
  573. package/dist/services/webhook-runner.d.ts.map +1 -1
  574. package/dist/services/webhook-runner.js.map +1 -1
  575. package/dist/services/webhook-runner.mjs.map +1 -1
  576. package/dist/services/webhook-store.d.ts +2 -8
  577. package/dist/services/webhook-store.d.ts.map +1 -1
  578. package/dist/services/webhook-store.js +14 -8
  579. package/dist/services/webhook-store.js.map +1 -1
  580. package/dist/services/webhook-store.mjs +14 -8
  581. package/dist/services/webhook-store.mjs.map +1 -1
  582. package/dist/services/worker-queue.js.map +1 -1
  583. package/dist/services/worker-queue.mjs.map +1 -1
  584. package/dist/utils/convert-custom-field-type.js.map +1 -1
  585. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  586. package/dist/utils/cron.js +3 -3
  587. package/dist/utils/cron.js.map +1 -1
  588. package/dist/utils/cron.mjs.map +1 -1
  589. package/dist/utils/fetch.d.ts.map +1 -1
  590. package/dist/utils/fetch.js +4 -3
  591. package/dist/utils/fetch.js.map +1 -1
  592. package/dist/utils/fetch.mjs +4 -3
  593. package/dist/utils/fetch.mjs.map +1 -1
  594. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  595. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  596. package/dist/utils/filepath-to-prop-path.js +27 -6
  597. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  598. package/dist/utils/filepath-to-prop-path.mjs +25 -5
  599. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  600. package/dist/utils/index.d.ts +2 -1
  601. package/dist/utils/index.d.ts.map +1 -1
  602. package/dist/utils/is-initialized.js +3 -3
  603. package/dist/utils/is-initialized.js.map +1 -1
  604. package/dist/utils/is-initialized.mjs.map +1 -1
  605. package/dist/utils/load-config-file.js.map +1 -1
  606. package/dist/utils/load-config-file.mjs.map +1 -1
  607. package/dist/utils/load-files.d.ts.map +1 -1
  608. package/dist/utils/load-files.js +1 -2
  609. package/dist/utils/load-files.js.map +1 -1
  610. package/dist/utils/load-files.mjs +1 -2
  611. package/dist/utils/load-files.mjs.map +1 -1
  612. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  613. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  614. package/dist/utils/resolve-working-dirs.js +13 -0
  615. package/dist/utils/resolve-working-dirs.js.map +1 -0
  616. package/dist/utils/resolve-working-dirs.mjs +11 -0
  617. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  618. package/dist/utils/signals.js.map +1 -1
  619. package/dist/utils/signals.mjs.map +1 -1
  620. package/dist/utils/startup-logger.d.ts.map +1 -1
  621. package/dist/utils/startup-logger.js +10 -5
  622. package/dist/utils/startup-logger.js.map +1 -1
  623. package/dist/utils/startup-logger.mjs +9 -4
  624. package/dist/utils/startup-logger.mjs.map +1 -1
  625. package/dist/utils/transform-content-types-to-models.d.ts +375 -38
  626. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  627. package/dist/utils/transform-content-types-to-models.js +112 -61
  628. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  629. package/dist/utils/transform-content-types-to-models.mjs +111 -60
  630. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  631. package/dist/utils/update-notifier/index.d.ts +1 -6
  632. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  633. package/dist/utils/update-notifier/index.js +11 -14
  634. package/dist/utils/update-notifier/index.js.map +1 -1
  635. package/dist/utils/update-notifier/index.mjs +11 -14
  636. package/dist/utils/update-notifier/index.mjs.map +1 -1
  637. package/package.json +35 -32
  638. package/dist/registries/config.d.ts +0 -4
  639. package/dist/registries/config.d.ts.map +0 -1
  640. package/dist/registries/config.js.map +0 -1
  641. package/dist/registries/config.mjs.map +0 -1
  642. package/dist/services/document-service/document-engine.d.ts +0 -2
  643. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  644. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -2
  645. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  646. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  647. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  648. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  649. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  650. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  651. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  652. package/dist/services/entity-service/attributes/index.js.map +0 -1
  653. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  654. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  655. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  656. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  657. package/dist/services/entity-service/components.d.ts +0 -95
  658. package/dist/services/entity-service/components.d.ts.map +0 -1
  659. package/dist/services/entity-service/components.js.map +0 -1
  660. package/dist/services/entity-service/components.mjs.map +0 -1
  661. package/dist/services/entity-service/params.d.ts +0 -8
  662. package/dist/services/entity-service/params.d.ts.map +0 -1
  663. package/dist/services/entity-service/params.js.map +0 -1
  664. package/dist/services/entity-service/params.mjs.map +0 -1
  665. package/dist/utils/get-dirs.d.ts +0 -9
  666. package/dist/utils/get-dirs.d.ts.map +0 -1
  667. package/dist/utils/get-dirs.js.map +0 -1
  668. package/dist/utils/get-dirs.mjs.map +0 -1
  669. /package/dist/services/{entity-service → document-service}/attributes/transforms.d.ts +0 -0
  670. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
  671. /package/dist/services/{entity-service → document-service}/params.mjs +0 -0
@@ -38,7 +38,7 @@ const toDBObject = (data) => {
38
38
  };
39
39
  const fromDBObject = (row) => {
40
40
  return {
41
- id: row.id,
41
+ id: typeof row.id === "number" ? row.id.toString() : row.id,
42
42
  name: row.name,
43
43
  url: row.url,
44
44
  headers: row.headers,
@@ -56,9 +56,15 @@ const webhookEventValidator = async (allowedEvents, events) => {
56
56
  });
57
57
  };
58
58
  const createWebhookStore = ({ db }) => {
59
- const webhookQueries = db.query("strapi::webhook");
60
59
  return {
61
- allowedEvents: /* @__PURE__ */ new Map([]),
60
+ allowedEvents: /* @__PURE__ */ new Map([
61
+ ["ENTRY_CREATE", "entry.create"],
62
+ ["ENTRY_UPDATE", "entry.update"],
63
+ ["ENTRY_DELETE", "entry.delete"],
64
+ ["ENTRY_PUBLISH", "entry.publish"],
65
+ ["ENTRY_UNPUBLISH", "entry.unpublish"],
66
+ ["ENTRY_DRAFT_DISCARD", "entry.draft-discard"]
67
+ ]),
62
68
  addAllowedEvent(key, value) {
63
69
  this.allowedEvents.set(key, value);
64
70
  },
@@ -72,29 +78,29 @@ const createWebhookStore = ({ db }) => {
72
78
  return this.allowedEvents.get(key);
73
79
  },
74
80
  async findWebhooks() {
75
- const results = await webhookQueries.findMany();
81
+ const results = await db.query("strapi::webhook").findMany();
76
82
  return results.map(fromDBObject);
77
83
  },
78
84
  async findWebhook(id) {
79
- const result = await webhookQueries.findOne({ where: { id } });
85
+ const result = await db.query("strapi::webhook").findOne({ where: { id } });
80
86
  return result ? fromDBObject(result) : null;
81
87
  },
82
88
  async createWebhook(data) {
83
89
  await webhookEventValidator(this.allowedEvents, data.events);
84
- return webhookQueries.create({
90
+ return db.query("strapi::webhook").create({
85
91
  data: toDBObject({ ...data, isEnabled: true })
86
92
  }).then(fromDBObject);
87
93
  },
88
94
  async updateWebhook(id, data) {
89
95
  await webhookEventValidator(this.allowedEvents, data.events);
90
- const webhook = await webhookQueries.update({
96
+ const webhook = await db.query("strapi::webhook").update({
91
97
  where: { id },
92
98
  data: toDBObject(data)
93
99
  });
94
100
  return webhook ? fromDBObject(webhook) : null;
95
101
  },
96
102
  async deleteWebhook(id) {
97
- const webhook = await webhookQueries.delete({ where: { id } });
103
+ const webhook = await db.query("strapi::webhook").delete({ where: { id } });
98
104
  return webhook ? fromDBObject(webhook) : null;
99
105
  }
100
106
  };
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-store.js","sources":["../../src/services/webhook-store.ts"],"sourcesContent":["/**\n * Webhook store is the implementation of webhook storage over the core_store\n */\n\nimport { errors } from '@strapi/utils';\nimport type { Model, Database } from '@strapi/database';\n\nconst { ValidationError } = errors;\n\nconst webhookModel: Model = {\n uid: 'strapi::webhook',\n singularName: 'strapi_webhooks',\n tableName: 'strapi_webhooks',\n attributes: {\n id: {\n type: 'increments',\n },\n name: {\n type: 'string',\n },\n url: {\n type: 'text',\n },\n headers: {\n type: 'json',\n },\n events: {\n type: 'json',\n },\n enabled: {\n type: 'boolean',\n },\n },\n};\n\ninterface DBInput {\n name: string;\n url: string;\n headers: Record<string, string>;\n events: string[];\n enabled: boolean;\n}\n\ninterface DBOutput {\n id: string;\n name: string;\n url: string;\n headers: Record<string, string>;\n events: string[];\n enabled: boolean;\n}\n\nexport interface Webhook {\n id: string;\n name: string;\n url: string;\n headers: Record<string, string>;\n events: string[];\n isEnabled: boolean;\n}\n\nconst toDBObject = (data: Webhook): DBInput => {\n return {\n name: data.name,\n url: data.url,\n headers: data.headers,\n events: data.events,\n enabled: data.isEnabled,\n };\n};\n\nconst fromDBObject = (row: DBOutput): Webhook => {\n return {\n id: row.id,\n name: row.name,\n url: row.url,\n headers: row.headers,\n events: row.events,\n isEnabled: row.enabled,\n };\n};\n\nconst webhookEventValidator = async (allowedEvents: Map<string, string>, events: string[]) => {\n const allowedValues = Array.from(allowedEvents.values());\n\n events.forEach((event) => {\n if (allowedValues.includes(event)) {\n return;\n }\n\n throw new ValidationError(`Webhook event ${event} is not supported`);\n });\n};\n\nexport interface WebhookStore {\n allowedEvents: Map<string, string>;\n addAllowedEvent(key: string, value: string): void;\n removeAllowedEvent(key: string): void;\n listAllowedEvents(): string[];\n getAllowedEvent(key: string): string | undefined;\n findWebhooks(): Promise<Webhook[]>;\n findWebhook(id: string): Promise<Webhook | null>;\n createWebhook(data: Webhook): Promise<Webhook>;\n updateWebhook(id: string, data: Webhook): Promise<Webhook | null>;\n deleteWebhook(id: string): Promise<Webhook | null>;\n}\n\nconst createWebhookStore = ({ db }: { db: Database }): WebhookStore => {\n const webhookQueries = db.query('strapi::webhook');\n\n return {\n allowedEvents: new Map([]),\n addAllowedEvent(key, value) {\n this.allowedEvents.set(key, value);\n },\n removeAllowedEvent(key) {\n this.allowedEvents.delete(key);\n },\n listAllowedEvents() {\n return Array.from(this.allowedEvents.keys());\n },\n getAllowedEvent(key) {\n return this.allowedEvents.get(key);\n },\n async findWebhooks() {\n const results = await webhookQueries.findMany();\n\n return results.map(fromDBObject);\n },\n async findWebhook(id) {\n const result = await webhookQueries.findOne({ where: { id } });\n return result ? fromDBObject(result) : null;\n },\n async createWebhook(data) {\n await webhookEventValidator(this.allowedEvents, data.events);\n\n return webhookQueries\n .create({\n data: toDBObject({ ...data, isEnabled: true }),\n })\n .then(fromDBObject);\n },\n async updateWebhook(id, data) {\n await webhookEventValidator(this.allowedEvents, data.events);\n\n const webhook = await webhookQueries.update({\n where: { id },\n data: toDBObject(data),\n });\n\n return webhook ? fromDBObject(webhook) : null;\n },\n async deleteWebhook(id) {\n const webhook = await webhookQueries.delete({ where: { id } });\n return webhook ? fromDBObject(webhook) : null;\n },\n };\n};\n\nexport { webhookModel, createWebhookStore };\n"],"names":["errors"],"mappings":"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"}
1
+ {"version":3,"file":"webhook-store.js","sources":["../../src/services/webhook-store.ts"],"sourcesContent":["/**\n * Webhook store is the implementation of webhook storage over the core_store\n */\n\nimport { errors } from '@strapi/utils';\nimport type { Model, Database } from '@strapi/database';\nimport type { Modules } from '@strapi/types';\n\nconst { ValidationError } = errors;\n\nconst webhookModel: Model = {\n uid: 'strapi::webhook',\n singularName: 'strapi_webhooks',\n tableName: 'strapi_webhooks',\n attributes: {\n id: {\n type: 'increments',\n },\n name: {\n type: 'string',\n },\n url: {\n type: 'text',\n },\n headers: {\n type: 'json',\n },\n events: {\n type: 'json',\n },\n enabled: {\n type: 'boolean',\n },\n },\n};\n\ntype Webhook = Modules.WebhookStore.Webhook;\ntype DBOutput = Omit<Webhook, 'id' | 'isEnabled'> & { id: string | number; enabled: boolean };\ntype DBInput = Omit<DBOutput, 'id'>;\n\nconst toDBObject = (data: Webhook): DBInput => {\n return {\n name: data.name,\n url: data.url,\n headers: data.headers,\n events: data.events,\n enabled: data.isEnabled,\n };\n};\n\nconst fromDBObject = (row: DBOutput): Webhook => {\n return {\n id: typeof row.id === 'number' ? row.id.toString() : row.id,\n name: row.name,\n url: row.url,\n headers: row.headers,\n events: row.events,\n isEnabled: row.enabled,\n };\n};\n\nconst webhookEventValidator = async (allowedEvents: Map<string, string>, events: string[]) => {\n const allowedValues = Array.from(allowedEvents.values());\n\n events.forEach((event) => {\n if (allowedValues.includes(event)) {\n return;\n }\n\n throw new ValidationError(`Webhook event ${event} is not supported`);\n });\n};\n\nexport interface WebhookStore {\n allowedEvents: Map<string, string>;\n addAllowedEvent(key: string, value: string): void;\n removeAllowedEvent(key: string): void;\n listAllowedEvents(): string[];\n getAllowedEvent(key: string): string | undefined;\n findWebhooks(): Promise<Webhook[]>;\n findWebhook(id: string): Promise<Webhook | null>;\n createWebhook(data: Webhook): Promise<Webhook>;\n updateWebhook(id: string, data: Webhook): Promise<Webhook | null>;\n deleteWebhook(id: string): Promise<Webhook | null>;\n}\n\nconst createWebhookStore = ({ db }: { db: Database }): WebhookStore => {\n return {\n allowedEvents: new Map([\n ['ENTRY_CREATE', 'entry.create'],\n ['ENTRY_UPDATE', 'entry.update'],\n ['ENTRY_DELETE', 'entry.delete'],\n ['ENTRY_PUBLISH', 'entry.publish'],\n ['ENTRY_UNPUBLISH', 'entry.unpublish'],\n ['ENTRY_DRAFT_DISCARD', 'entry.draft-discard'],\n ]),\n addAllowedEvent(key, value) {\n this.allowedEvents.set(key, value);\n },\n removeAllowedEvent(key) {\n this.allowedEvents.delete(key);\n },\n listAllowedEvents() {\n return Array.from(this.allowedEvents.keys());\n },\n getAllowedEvent(key) {\n return this.allowedEvents.get(key);\n },\n async findWebhooks() {\n const results = await db.query('strapi::webhook').findMany();\n\n return results.map(fromDBObject);\n },\n async findWebhook(id) {\n const result = await db.query('strapi::webhook').findOne({ where: { id } });\n return result ? fromDBObject(result) : null;\n },\n async createWebhook(data) {\n await webhookEventValidator(this.allowedEvents, data.events);\n\n return db\n .query('strapi::webhook')\n .create({\n data: toDBObject({ ...data, isEnabled: true }),\n })\n .then(fromDBObject);\n },\n async updateWebhook(id, data) {\n await webhookEventValidator(this.allowedEvents, data.events);\n\n const webhook = await db.query('strapi::webhook').update({\n where: { id },\n data: toDBObject(data),\n });\n\n return webhook ? fromDBObject(webhook) : null;\n },\n async deleteWebhook(id) {\n const webhook = await db.query('strapi::webhook').delete({ where: { id } });\n return webhook ? fromDBObject(webhook) : null;\n },\n };\n};\n\nexport { webhookModel, createWebhookStore };\n"],"names":["errors"],"mappings":"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"}
@@ -36,7 +36,7 @@ const toDBObject = (data) => {
36
36
  };
37
37
  const fromDBObject = (row) => {
38
38
  return {
39
- id: row.id,
39
+ id: typeof row.id === "number" ? row.id.toString() : row.id,
40
40
  name: row.name,
41
41
  url: row.url,
42
42
  headers: row.headers,
@@ -54,9 +54,15 @@ const webhookEventValidator = async (allowedEvents, events) => {
54
54
  });
55
55
  };
56
56
  const createWebhookStore = ({ db }) => {
57
- const webhookQueries = db.query("strapi::webhook");
58
57
  return {
59
- allowedEvents: /* @__PURE__ */ new Map([]),
58
+ allowedEvents: /* @__PURE__ */ new Map([
59
+ ["ENTRY_CREATE", "entry.create"],
60
+ ["ENTRY_UPDATE", "entry.update"],
61
+ ["ENTRY_DELETE", "entry.delete"],
62
+ ["ENTRY_PUBLISH", "entry.publish"],
63
+ ["ENTRY_UNPUBLISH", "entry.unpublish"],
64
+ ["ENTRY_DRAFT_DISCARD", "entry.draft-discard"]
65
+ ]),
60
66
  addAllowedEvent(key, value) {
61
67
  this.allowedEvents.set(key, value);
62
68
  },
@@ -70,29 +76,29 @@ const createWebhookStore = ({ db }) => {
70
76
  return this.allowedEvents.get(key);
71
77
  },
72
78
  async findWebhooks() {
73
- const results = await webhookQueries.findMany();
79
+ const results = await db.query("strapi::webhook").findMany();
74
80
  return results.map(fromDBObject);
75
81
  },
76
82
  async findWebhook(id) {
77
- const result = await webhookQueries.findOne({ where: { id } });
83
+ const result = await db.query("strapi::webhook").findOne({ where: { id } });
78
84
  return result ? fromDBObject(result) : null;
79
85
  },
80
86
  async createWebhook(data) {
81
87
  await webhookEventValidator(this.allowedEvents, data.events);
82
- return webhookQueries.create({
88
+ return db.query("strapi::webhook").create({
83
89
  data: toDBObject({ ...data, isEnabled: true })
84
90
  }).then(fromDBObject);
85
91
  },
86
92
  async updateWebhook(id, data) {
87
93
  await webhookEventValidator(this.allowedEvents, data.events);
88
- const webhook = await webhookQueries.update({
94
+ const webhook = await db.query("strapi::webhook").update({
89
95
  where: { id },
90
96
  data: toDBObject(data)
91
97
  });
92
98
  return webhook ? fromDBObject(webhook) : null;
93
99
  },
94
100
  async deleteWebhook(id) {
95
- const webhook = await webhookQueries.delete({ where: { id } });
101
+ const webhook = await db.query("strapi::webhook").delete({ where: { id } });
96
102
  return webhook ? fromDBObject(webhook) : null;
97
103
  }
98
104
  };
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-store.mjs","sources":["../../src/services/webhook-store.ts"],"sourcesContent":["/**\n * Webhook store is the implementation of webhook storage over the core_store\n */\n\nimport { errors } from '@strapi/utils';\nimport type { Model, Database } from '@strapi/database';\n\nconst { ValidationError } = errors;\n\nconst webhookModel: Model = {\n uid: 'strapi::webhook',\n singularName: 'strapi_webhooks',\n tableName: 'strapi_webhooks',\n attributes: {\n id: {\n type: 'increments',\n },\n name: {\n type: 'string',\n },\n url: {\n type: 'text',\n },\n headers: {\n type: 'json',\n },\n events: {\n type: 'json',\n },\n enabled: {\n type: 'boolean',\n },\n },\n};\n\ninterface DBInput {\n name: string;\n url: string;\n headers: Record<string, string>;\n events: string[];\n enabled: boolean;\n}\n\ninterface DBOutput {\n id: string;\n name: string;\n url: string;\n headers: Record<string, string>;\n events: string[];\n enabled: boolean;\n}\n\nexport interface Webhook {\n id: string;\n name: string;\n url: string;\n headers: Record<string, string>;\n events: string[];\n isEnabled: boolean;\n}\n\nconst toDBObject = (data: Webhook): DBInput => {\n return {\n name: data.name,\n url: data.url,\n headers: data.headers,\n events: data.events,\n enabled: data.isEnabled,\n };\n};\n\nconst fromDBObject = (row: DBOutput): Webhook => {\n return {\n id: row.id,\n name: row.name,\n url: row.url,\n headers: row.headers,\n events: row.events,\n isEnabled: row.enabled,\n };\n};\n\nconst webhookEventValidator = async (allowedEvents: Map<string, string>, events: string[]) => {\n const allowedValues = Array.from(allowedEvents.values());\n\n events.forEach((event) => {\n if (allowedValues.includes(event)) {\n return;\n }\n\n throw new ValidationError(`Webhook event ${event} is not supported`);\n });\n};\n\nexport interface WebhookStore {\n allowedEvents: Map<string, string>;\n addAllowedEvent(key: string, value: string): void;\n removeAllowedEvent(key: string): void;\n listAllowedEvents(): string[];\n getAllowedEvent(key: string): string | undefined;\n findWebhooks(): Promise<Webhook[]>;\n findWebhook(id: string): Promise<Webhook | null>;\n createWebhook(data: Webhook): Promise<Webhook>;\n updateWebhook(id: string, data: Webhook): Promise<Webhook | null>;\n deleteWebhook(id: string): Promise<Webhook | null>;\n}\n\nconst createWebhookStore = ({ db }: { db: Database }): WebhookStore => {\n const webhookQueries = db.query('strapi::webhook');\n\n return {\n allowedEvents: new Map([]),\n addAllowedEvent(key, value) {\n this.allowedEvents.set(key, value);\n },\n removeAllowedEvent(key) {\n this.allowedEvents.delete(key);\n },\n listAllowedEvents() {\n return Array.from(this.allowedEvents.keys());\n },\n getAllowedEvent(key) {\n return this.allowedEvents.get(key);\n },\n async findWebhooks() {\n const results = await webhookQueries.findMany();\n\n return results.map(fromDBObject);\n },\n async findWebhook(id) {\n const result = await webhookQueries.findOne({ where: { id } });\n return result ? fromDBObject(result) : null;\n },\n async createWebhook(data) {\n await webhookEventValidator(this.allowedEvents, data.events);\n\n return webhookQueries\n .create({\n data: toDBObject({ ...data, isEnabled: true }),\n })\n .then(fromDBObject);\n },\n async updateWebhook(id, data) {\n await webhookEventValidator(this.allowedEvents, data.events);\n\n const webhook = await webhookQueries.update({\n where: { id },\n data: toDBObject(data),\n });\n\n return webhook ? fromDBObject(webhook) : null;\n },\n async deleteWebhook(id) {\n const webhook = await webhookQueries.delete({ where: { id } });\n return webhook ? fromDBObject(webhook) : null;\n },\n };\n};\n\nexport { webhookModel, createWebhookStore };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhook-store.mjs","sources":["../../src/services/webhook-store.ts"],"sourcesContent":["/**\n * Webhook store is the implementation of webhook storage over the core_store\n */\n\nimport { errors } from '@strapi/utils';\nimport type { Model, Database } from '@strapi/database';\nimport type { Modules } from '@strapi/types';\n\nconst { ValidationError } = errors;\n\nconst webhookModel: Model = {\n uid: 'strapi::webhook',\n singularName: 'strapi_webhooks',\n tableName: 'strapi_webhooks',\n attributes: {\n id: {\n type: 'increments',\n },\n name: {\n type: 'string',\n },\n url: {\n type: 'text',\n },\n headers: {\n type: 'json',\n },\n events: {\n type: 'json',\n },\n enabled: {\n type: 'boolean',\n },\n },\n};\n\ntype Webhook = Modules.WebhookStore.Webhook;\ntype DBOutput = Omit<Webhook, 'id' | 'isEnabled'> & { id: string | number; enabled: boolean };\ntype DBInput = Omit<DBOutput, 'id'>;\n\nconst toDBObject = (data: Webhook): DBInput => {\n return {\n name: data.name,\n url: data.url,\n headers: data.headers,\n events: data.events,\n enabled: data.isEnabled,\n };\n};\n\nconst fromDBObject = (row: DBOutput): Webhook => {\n return {\n id: typeof row.id === 'number' ? row.id.toString() : row.id,\n name: row.name,\n url: row.url,\n headers: row.headers,\n events: row.events,\n isEnabled: row.enabled,\n };\n};\n\nconst webhookEventValidator = async (allowedEvents: Map<string, string>, events: string[]) => {\n const allowedValues = Array.from(allowedEvents.values());\n\n events.forEach((event) => {\n if (allowedValues.includes(event)) {\n return;\n }\n\n throw new ValidationError(`Webhook event ${event} is not supported`);\n });\n};\n\nexport interface WebhookStore {\n allowedEvents: Map<string, string>;\n addAllowedEvent(key: string, value: string): void;\n removeAllowedEvent(key: string): void;\n listAllowedEvents(): string[];\n getAllowedEvent(key: string): string | undefined;\n findWebhooks(): Promise<Webhook[]>;\n findWebhook(id: string): Promise<Webhook | null>;\n createWebhook(data: Webhook): Promise<Webhook>;\n updateWebhook(id: string, data: Webhook): Promise<Webhook | null>;\n deleteWebhook(id: string): Promise<Webhook | null>;\n}\n\nconst createWebhookStore = ({ db }: { db: Database }): WebhookStore => {\n return {\n allowedEvents: new Map([\n ['ENTRY_CREATE', 'entry.create'],\n ['ENTRY_UPDATE', 'entry.update'],\n ['ENTRY_DELETE', 'entry.delete'],\n ['ENTRY_PUBLISH', 'entry.publish'],\n ['ENTRY_UNPUBLISH', 'entry.unpublish'],\n ['ENTRY_DRAFT_DISCARD', 'entry.draft-discard'],\n ]),\n addAllowedEvent(key, value) {\n this.allowedEvents.set(key, value);\n },\n removeAllowedEvent(key) {\n this.allowedEvents.delete(key);\n },\n listAllowedEvents() {\n return Array.from(this.allowedEvents.keys());\n },\n getAllowedEvent(key) {\n return this.allowedEvents.get(key);\n },\n async findWebhooks() {\n const results = await db.query('strapi::webhook').findMany();\n\n return results.map(fromDBObject);\n },\n async findWebhook(id) {\n const result = await db.query('strapi::webhook').findOne({ where: { id } });\n return result ? fromDBObject(result) : null;\n },\n async createWebhook(data) {\n await webhookEventValidator(this.allowedEvents, data.events);\n\n return db\n .query('strapi::webhook')\n .create({\n data: toDBObject({ ...data, isEnabled: true }),\n })\n .then(fromDBObject);\n },\n async updateWebhook(id, data) {\n await webhookEventValidator(this.allowedEvents, data.events);\n\n const webhook = await db.query('strapi::webhook').update({\n where: { id },\n data: toDBObject(data),\n });\n\n return webhook ? fromDBObject(webhook) : null;\n },\n async deleteWebhook(id) {\n const webhook = await db.query('strapi::webhook').delete({ where: { id } });\n return webhook ? fromDBObject(webhook) : null;\n },\n };\n};\n\nexport { webhookModel, createWebhookStore };\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker-queue.js","sources":["../../src/services/worker-queue.ts"],"sourcesContent":["/**\n * Simple worker queue in memory\n */\nimport createDebugger from 'debug';\nimport type { Logger } from '@strapi/logger';\nimport type { Utils } from '@strapi/types';\n\nconst debug = createDebugger('strapi:worker-queue');\n\ninterface ConstructorParameters {\n logger: Logger;\n concurrency?: number;\n}\n\ntype Worker<TPayload, TReturn> = (payload: TPayload) => Promise<TReturn> | TReturn;\n\nconst noop: Utils.Function.Any = () => {};\n\nexport default class WorkerQueue<TPayload, TReturn> {\n logger: Logger;\n\n worker: Worker<TPayload, TReturn>;\n\n concurrency: number;\n\n running: number;\n\n queue: TPayload[];\n\n constructor({ logger, concurrency = 5 }: ConstructorParameters) {\n debug('Initialize worker queue');\n\n this.logger = logger;\n this.worker = noop;\n\n this.concurrency = concurrency;\n this.running = 0;\n this.queue = [];\n }\n\n subscribe(worker: Worker<TPayload, TReturn>) {\n debug('Subscribe to worker queue');\n this.worker = worker;\n }\n\n enqueue(payload: TPayload) {\n debug('Enqueue event in worker queue');\n if (this.running < this.concurrency) {\n this.running += 1;\n this.execute(payload);\n } else {\n this.queue.unshift(payload);\n }\n }\n\n pop() {\n debug('Pop worker queue and execute');\n const payload = this.queue.pop();\n\n if (payload) {\n this.execute(payload);\n } else {\n this.running -= 1;\n }\n }\n\n async execute(payload: TPayload) {\n debug('Execute worker');\n try {\n await this.worker(payload);\n } catch (error) {\n this.logger.error(error);\n } finally {\n this.pop();\n }\n }\n}\n"],"names":["createDebugger"],"mappings":";;;;AAOA,MAAM,QAAQA,wBAAAA,QAAe,qBAAqB;AASlD,MAAM,OAA2B,MAAM;AAAC;AAExC,MAAqB,YAA+B;AAAA,EAClD;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,YAAY,EAAE,QAAQ,cAAc,KAA4B;AAC9D,UAAM,yBAAyB;AAE/B,SAAK,SAAS;AACd,SAAK,SAAS;AAEd,SAAK,cAAc;AACnB,SAAK,UAAU;AACf,SAAK,QAAQ;EACf;AAAA,EAEA,UAAU,QAAmC;AAC3C,UAAM,2BAA2B;AACjC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,QAAQ,SAAmB;AACzB,UAAM,+BAA+B;AACjC,QAAA,KAAK,UAAU,KAAK,aAAa;AACnC,WAAK,WAAW;AAChB,WAAK,QAAQ,OAAO;AAAA,IAAA,OACf;AACA,WAAA,MAAM,QAAQ,OAAO;AAAA,IAC5B;AAAA,EACF;AAAA,EAEA,MAAM;AACJ,UAAM,8BAA8B;AAC9B,UAAA,UAAU,KAAK,MAAM,IAAI;AAE/B,QAAI,SAAS;AACX,WAAK,QAAQ,OAAO;AAAA,IAAA,OACf;AACL,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,SAAmB;AAC/B,UAAM,gBAAgB;AAClB,QAAA;AACI,YAAA,KAAK,OAAO,OAAO;AAAA,aAClB,OAAO;AACT,WAAA,OAAO,MAAM,KAAK;AAAA,IAAA,UACvB;AACA,WAAK,IAAI;AAAA,IACX;AAAA,EACF;AACF;;"}
1
+ {"version":3,"file":"worker-queue.js","sources":["../../src/services/worker-queue.ts"],"sourcesContent":["/**\n * Simple worker queue in memory\n */\nimport createDebugger from 'debug';\nimport type { Logger } from '@strapi/logger';\nimport type { Utils } from '@strapi/types';\n\nconst debug = createDebugger('strapi:worker-queue');\n\ninterface ConstructorParameters {\n logger: Logger;\n concurrency?: number;\n}\n\ntype Worker<TPayload, TReturn> = (payload: TPayload) => Promise<TReturn> | TReturn;\n\nconst noop: Utils.Function.Any = () => {};\n\nexport default class WorkerQueue<TPayload, TReturn> {\n logger: Logger;\n\n worker: Worker<TPayload, TReturn>;\n\n concurrency: number;\n\n running: number;\n\n queue: TPayload[];\n\n constructor({ logger, concurrency = 5 }: ConstructorParameters) {\n debug('Initialize worker queue');\n\n this.logger = logger;\n this.worker = noop;\n\n this.concurrency = concurrency;\n this.running = 0;\n this.queue = [];\n }\n\n subscribe(worker: Worker<TPayload, TReturn>) {\n debug('Subscribe to worker queue');\n this.worker = worker;\n }\n\n enqueue(payload: TPayload) {\n debug('Enqueue event in worker queue');\n if (this.running < this.concurrency) {\n this.running += 1;\n this.execute(payload);\n } else {\n this.queue.unshift(payload);\n }\n }\n\n pop() {\n debug('Pop worker queue and execute');\n const payload = this.queue.pop();\n\n if (payload) {\n this.execute(payload);\n } else {\n this.running -= 1;\n }\n }\n\n async execute(payload: TPayload) {\n debug('Execute worker');\n try {\n await this.worker(payload);\n } catch (error) {\n this.logger.error(error);\n } finally {\n this.pop();\n }\n }\n}\n"],"names":["createDebugger"],"mappings":";;;;AAOA,MAAM,QAAQA,gCAAe,qBAAqB;AASlD,MAAM,OAA2B,MAAM;AAAC;AAExC,MAAqB,YAA+B;AAAA,EAClD;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,YAAY,EAAE,QAAQ,cAAc,KAA4B;AAC9D,UAAM,yBAAyB;AAE/B,SAAK,SAAS;AACd,SAAK,SAAS;AAEd,SAAK,cAAc;AACnB,SAAK,UAAU;AACf,SAAK,QAAQ,CAAC;AAAA,EAAA;AAAA,EAGhB,UAAU,QAAmC;AAC3C,UAAM,2BAA2B;AACjC,SAAK,SAAS;AAAA,EAAA;AAAA,EAGhB,QAAQ,SAAmB;AACzB,UAAM,+BAA+B;AACjC,QAAA,KAAK,UAAU,KAAK,aAAa;AACnC,WAAK,WAAW;AAChB,WAAK,QAAQ,OAAO;AAAA,IAAA,OACf;AACA,WAAA,MAAM,QAAQ,OAAO;AAAA,IAAA;AAAA,EAC5B;AAAA,EAGF,MAAM;AACJ,UAAM,8BAA8B;AAC9B,UAAA,UAAU,KAAK,MAAM,IAAI;AAE/B,QAAI,SAAS;AACX,WAAK,QAAQ,OAAO;AAAA,IAAA,OACf;AACL,WAAK,WAAW;AAAA,IAAA;AAAA,EAClB;AAAA,EAGF,MAAM,QAAQ,SAAmB;AAC/B,UAAM,gBAAgB;AAClB,QAAA;AACI,YAAA,KAAK,OAAO,OAAO;AAAA,aAClB,OAAO;AACT,WAAA,OAAO,MAAM,KAAK;AAAA,IAAA,UACvB;AACA,WAAK,IAAI;AAAA,IAAA;AAAA,EACX;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker-queue.mjs","sources":["../../src/services/worker-queue.ts"],"sourcesContent":["/**\n * Simple worker queue in memory\n */\nimport createDebugger from 'debug';\nimport type { Logger } from '@strapi/logger';\nimport type { Utils } from '@strapi/types';\n\nconst debug = createDebugger('strapi:worker-queue');\n\ninterface ConstructorParameters {\n logger: Logger;\n concurrency?: number;\n}\n\ntype Worker<TPayload, TReturn> = (payload: TPayload) => Promise<TReturn> | TReturn;\n\nconst noop: Utils.Function.Any = () => {};\n\nexport default class WorkerQueue<TPayload, TReturn> {\n logger: Logger;\n\n worker: Worker<TPayload, TReturn>;\n\n concurrency: number;\n\n running: number;\n\n queue: TPayload[];\n\n constructor({ logger, concurrency = 5 }: ConstructorParameters) {\n debug('Initialize worker queue');\n\n this.logger = logger;\n this.worker = noop;\n\n this.concurrency = concurrency;\n this.running = 0;\n this.queue = [];\n }\n\n subscribe(worker: Worker<TPayload, TReturn>) {\n debug('Subscribe to worker queue');\n this.worker = worker;\n }\n\n enqueue(payload: TPayload) {\n debug('Enqueue event in worker queue');\n if (this.running < this.concurrency) {\n this.running += 1;\n this.execute(payload);\n } else {\n this.queue.unshift(payload);\n }\n }\n\n pop() {\n debug('Pop worker queue and execute');\n const payload = this.queue.pop();\n\n if (payload) {\n this.execute(payload);\n } else {\n this.running -= 1;\n }\n }\n\n async execute(payload: TPayload) {\n debug('Execute worker');\n try {\n await this.worker(payload);\n } catch (error) {\n this.logger.error(error);\n } finally {\n this.pop();\n }\n }\n}\n"],"names":[],"mappings":";AAOA,MAAM,QAAQ,eAAe,qBAAqB;AASlD,MAAM,OAA2B,MAAM;AAAC;AAExC,MAAqB,YAA+B;AAAA,EAClD;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,YAAY,EAAE,QAAQ,cAAc,KAA4B;AAC9D,UAAM,yBAAyB;AAE/B,SAAK,SAAS;AACd,SAAK,SAAS;AAEd,SAAK,cAAc;AACnB,SAAK,UAAU;AACf,SAAK,QAAQ;EACf;AAAA,EAEA,UAAU,QAAmC;AAC3C,UAAM,2BAA2B;AACjC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,QAAQ,SAAmB;AACzB,UAAM,+BAA+B;AACjC,QAAA,KAAK,UAAU,KAAK,aAAa;AACnC,WAAK,WAAW;AAChB,WAAK,QAAQ,OAAO;AAAA,IAAA,OACf;AACA,WAAA,MAAM,QAAQ,OAAO;AAAA,IAC5B;AAAA,EACF;AAAA,EAEA,MAAM;AACJ,UAAM,8BAA8B;AAC9B,UAAA,UAAU,KAAK,MAAM,IAAI;AAE/B,QAAI,SAAS;AACX,WAAK,QAAQ,OAAO;AAAA,IAAA,OACf;AACL,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,SAAmB;AAC/B,UAAM,gBAAgB;AAClB,QAAA;AACI,YAAA,KAAK,OAAO,OAAO;AAAA,aAClB,OAAO;AACT,WAAA,OAAO,MAAM,KAAK;AAAA,IAAA,UACvB;AACA,WAAK,IAAI;AAAA,IACX;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"worker-queue.mjs","sources":["../../src/services/worker-queue.ts"],"sourcesContent":["/**\n * Simple worker queue in memory\n */\nimport createDebugger from 'debug';\nimport type { Logger } from '@strapi/logger';\nimport type { Utils } from '@strapi/types';\n\nconst debug = createDebugger('strapi:worker-queue');\n\ninterface ConstructorParameters {\n logger: Logger;\n concurrency?: number;\n}\n\ntype Worker<TPayload, TReturn> = (payload: TPayload) => Promise<TReturn> | TReturn;\n\nconst noop: Utils.Function.Any = () => {};\n\nexport default class WorkerQueue<TPayload, TReturn> {\n logger: Logger;\n\n worker: Worker<TPayload, TReturn>;\n\n concurrency: number;\n\n running: number;\n\n queue: TPayload[];\n\n constructor({ logger, concurrency = 5 }: ConstructorParameters) {\n debug('Initialize worker queue');\n\n this.logger = logger;\n this.worker = noop;\n\n this.concurrency = concurrency;\n this.running = 0;\n this.queue = [];\n }\n\n subscribe(worker: Worker<TPayload, TReturn>) {\n debug('Subscribe to worker queue');\n this.worker = worker;\n }\n\n enqueue(payload: TPayload) {\n debug('Enqueue event in worker queue');\n if (this.running < this.concurrency) {\n this.running += 1;\n this.execute(payload);\n } else {\n this.queue.unshift(payload);\n }\n }\n\n pop() {\n debug('Pop worker queue and execute');\n const payload = this.queue.pop();\n\n if (payload) {\n this.execute(payload);\n } else {\n this.running -= 1;\n }\n }\n\n async execute(payload: TPayload) {\n debug('Execute worker');\n try {\n await this.worker(payload);\n } catch (error) {\n this.logger.error(error);\n } finally {\n this.pop();\n }\n }\n}\n"],"names":[],"mappings":";AAOA,MAAM,QAAQ,eAAe,qBAAqB;AASlD,MAAM,OAA2B,MAAM;AAAC;AAExC,MAAqB,YAA+B;AAAA,EAClD;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,YAAY,EAAE,QAAQ,cAAc,KAA4B;AAC9D,UAAM,yBAAyB;AAE/B,SAAK,SAAS;AACd,SAAK,SAAS;AAEd,SAAK,cAAc;AACnB,SAAK,UAAU;AACf,SAAK,QAAQ,CAAC;AAAA,EAAA;AAAA,EAGhB,UAAU,QAAmC;AAC3C,UAAM,2BAA2B;AACjC,SAAK,SAAS;AAAA,EAAA;AAAA,EAGhB,QAAQ,SAAmB;AACzB,UAAM,+BAA+B;AACjC,QAAA,KAAK,UAAU,KAAK,aAAa;AACnC,WAAK,WAAW;AAChB,WAAK,QAAQ,OAAO;AAAA,IAAA,OACf;AACA,WAAA,MAAM,QAAQ,OAAO;AAAA,IAAA;AAAA,EAC5B;AAAA,EAGF,MAAM;AACJ,UAAM,8BAA8B;AAC9B,UAAA,UAAU,KAAK,MAAM,IAAI;AAE/B,QAAI,SAAS;AACX,WAAK,QAAQ,OAAO;AAAA,IAAA,OACf;AACL,WAAK,WAAW;AAAA,IAAA;AAAA,EAClB;AAAA,EAGF,MAAM,QAAQ,SAAmB;AAC/B,UAAM,gBAAgB;AAClB,QAAA;AACI,YAAA,KAAK,OAAO,OAAO;AAAA,aAClB,OAAO;AACT,WAAA,OAAO,MAAM,KAAK;AAAA,IAAA,UACvB;AACA,WAAK,IAAI;AAAA,IAAA;AAAA,EACX;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"convert-custom-field-type.js","sources":["../../src/utils/convert-custom-field-type.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\ntype InputAttributes = {\n [key: string]: {\n type: string;\n customField?: string;\n };\n};\n\nexport const convertCustomFieldType = (strapi: Core.Strapi) => {\n const allContentTypeSchemaAttributes = Object.values(strapi.contentTypes).map(\n (schema) => schema.attributes\n );\n\n const allComponentSchemaAttributes = Object.values(strapi.components).map(\n (schema) => schema.attributes\n );\n const allSchemasAttributes: InputAttributes[] = [\n ...allContentTypeSchemaAttributes,\n ...allComponentSchemaAttributes,\n ];\n\n for (const schemaAttrbutes of allSchemasAttributes) {\n for (const attribute of Object.values(schemaAttrbutes)) {\n if (attribute.type === 'customField') {\n const customField = strapi.get('custom-fields').get(attribute.customField);\n attribute.type = customField.type;\n }\n }\n }\n};\n"],"names":[],"mappings":";;AASa,MAAA,yBAAyB,CAAC,WAAwB;AAC7D,QAAM,iCAAiC,OAAO,OAAO,OAAO,YAAY,EAAE;AAAA,IACxE,CAAC,WAAW,OAAO;AAAA,EAAA;AAGrB,QAAM,+BAA+B,OAAO,OAAO,OAAO,UAAU,EAAE;AAAA,IACpE,CAAC,WAAW,OAAO;AAAA,EAAA;AAErB,QAAM,uBAA0C;AAAA,IAC9C,GAAG;AAAA,IACH,GAAG;AAAA,EAAA;AAGL,aAAW,mBAAmB,sBAAsB;AAClD,eAAW,aAAa,OAAO,OAAO,eAAe,GAAG;AAClD,UAAA,UAAU,SAAS,eAAe;AACpC,cAAM,cAAc,OAAO,IAAI,eAAe,EAAE,IAAI,UAAU,WAAW;AACzE,kBAAU,OAAO,YAAY;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACF;;"}
1
+ {"version":3,"file":"convert-custom-field-type.js","sources":["../../src/utils/convert-custom-field-type.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\ntype InputAttributes = {\n [key: string]: {\n type: string;\n customField?: string;\n };\n};\n\nexport const convertCustomFieldType = (strapi: Core.Strapi) => {\n const allContentTypeSchemaAttributes = Object.values(strapi.contentTypes).map(\n (schema) => schema.attributes\n );\n\n const allComponentSchemaAttributes = Object.values(strapi.components).map(\n (schema) => schema.attributes\n );\n const allSchemasAttributes: InputAttributes[] = [\n ...allContentTypeSchemaAttributes,\n ...allComponentSchemaAttributes,\n ];\n\n for (const schemaAttrbutes of allSchemasAttributes) {\n for (const attribute of Object.values(schemaAttrbutes)) {\n if (attribute.type === 'customField') {\n const customField = strapi.get('custom-fields').get(attribute.customField);\n attribute.type = customField.type;\n }\n }\n }\n};\n"],"names":[],"mappings":";;AASa,MAAA,yBAAyB,CAAC,WAAwB;AAC7D,QAAM,iCAAiC,OAAO,OAAO,OAAO,YAAY,EAAE;AAAA,IACxE,CAAC,WAAW,OAAO;AAAA,EACrB;AAEA,QAAM,+BAA+B,OAAO,OAAO,OAAO,UAAU,EAAE;AAAA,IACpE,CAAC,WAAW,OAAO;AAAA,EACrB;AACA,QAAM,uBAA0C;AAAA,IAC9C,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,aAAW,mBAAmB,sBAAsB;AAClD,eAAW,aAAa,OAAO,OAAO,eAAe,GAAG;AAClD,UAAA,UAAU,SAAS,eAAe;AACpC,cAAM,cAAc,OAAO,IAAI,eAAe,EAAE,IAAI,UAAU,WAAW;AACzE,kBAAU,OAAO,YAAY;AAAA,MAAA;AAAA,IAC/B;AAAA,EACF;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"convert-custom-field-type.mjs","sources":["../../src/utils/convert-custom-field-type.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\ntype InputAttributes = {\n [key: string]: {\n type: string;\n customField?: string;\n };\n};\n\nexport const convertCustomFieldType = (strapi: Core.Strapi) => {\n const allContentTypeSchemaAttributes = Object.values(strapi.contentTypes).map(\n (schema) => schema.attributes\n );\n\n const allComponentSchemaAttributes = Object.values(strapi.components).map(\n (schema) => schema.attributes\n );\n const allSchemasAttributes: InputAttributes[] = [\n ...allContentTypeSchemaAttributes,\n ...allComponentSchemaAttributes,\n ];\n\n for (const schemaAttrbutes of allSchemasAttributes) {\n for (const attribute of Object.values(schemaAttrbutes)) {\n if (attribute.type === 'customField') {\n const customField = strapi.get('custom-fields').get(attribute.customField);\n attribute.type = customField.type;\n }\n }\n }\n};\n"],"names":[],"mappings":"AASa,MAAA,yBAAyB,CAAC,WAAwB;AAC7D,QAAM,iCAAiC,OAAO,OAAO,OAAO,YAAY,EAAE;AAAA,IACxE,CAAC,WAAW,OAAO;AAAA,EAAA;AAGrB,QAAM,+BAA+B,OAAO,OAAO,OAAO,UAAU,EAAE;AAAA,IACpE,CAAC,WAAW,OAAO;AAAA,EAAA;AAErB,QAAM,uBAA0C;AAAA,IAC9C,GAAG;AAAA,IACH,GAAG;AAAA,EAAA;AAGL,aAAW,mBAAmB,sBAAsB;AAClD,eAAW,aAAa,OAAO,OAAO,eAAe,GAAG;AAClD,UAAA,UAAU,SAAS,eAAe;AACpC,cAAM,cAAc,OAAO,IAAI,eAAe,EAAE,IAAI,UAAU,WAAW;AACzE,kBAAU,OAAO,YAAY;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"convert-custom-field-type.mjs","sources":["../../src/utils/convert-custom-field-type.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\ntype InputAttributes = {\n [key: string]: {\n type: string;\n customField?: string;\n };\n};\n\nexport const convertCustomFieldType = (strapi: Core.Strapi) => {\n const allContentTypeSchemaAttributes = Object.values(strapi.contentTypes).map(\n (schema) => schema.attributes\n );\n\n const allComponentSchemaAttributes = Object.values(strapi.components).map(\n (schema) => schema.attributes\n );\n const allSchemasAttributes: InputAttributes[] = [\n ...allContentTypeSchemaAttributes,\n ...allComponentSchemaAttributes,\n ];\n\n for (const schemaAttrbutes of allSchemasAttributes) {\n for (const attribute of Object.values(schemaAttrbutes)) {\n if (attribute.type === 'customField') {\n const customField = strapi.get('custom-fields').get(attribute.customField);\n attribute.type = customField.type;\n }\n }\n }\n};\n"],"names":[],"mappings":"AASa,MAAA,yBAAyB,CAAC,WAAwB;AAC7D,QAAM,iCAAiC,OAAO,OAAO,OAAO,YAAY,EAAE;AAAA,IACxE,CAAC,WAAW,OAAO;AAAA,EACrB;AAEA,QAAM,+BAA+B,OAAO,OAAO,OAAO,UAAU,EAAE;AAAA,IACpE,CAAC,WAAW,OAAO;AAAA,EACrB;AACA,QAAM,uBAA0C;AAAA,IAC9C,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,aAAW,mBAAmB,sBAAsB;AAClD,eAAW,aAAa,OAAO,OAAO,eAAe,GAAG;AAClD,UAAA,UAAU,SAAS,eAAe;AACpC,cAAM,cAAc,OAAO,IAAI,eAAe,EAAE,IAAI,UAAU,WAAW;AACzE,kBAAU,OAAO,YAAY;AAAA,MAAA;AAAA,IAC/B;AAAA,EACF;AAEJ;"}
@@ -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 INTEGER_REGEX = /^\d+$/;
5
5
  const STEP_REGEX = /^\*\/\d+$/;
6
6
  const COMPONENTS = [
@@ -24,13 +24,13 @@ const shift = (component, index, date) => {
24
24
  if (STEP_REGEX.test(component)) {
25
25
  const [, step] = component.split("/");
26
26
  const frequency = Math.floor(limit / Number(step));
27
- const list = Array.from({ length: frequency }, (_2, index2) => index2 * Number(step));
27
+ const list = Array.from({ length: frequency }, (_, index2) => index2 * Number(step));
28
28
  return list.map((value) => (value + currentValue) % limit + offset).sort((a, b) => a - b);
29
29
  }
30
30
  return component;
31
31
  };
32
32
  const shiftCronExpression = (rule, date = /* @__PURE__ */ new Date()) => {
33
- const components = rule.trim().split(" ").filter(_.negate(_.isEmpty));
33
+ const components = rule.trim().split(" ").filter(fp.negate(fp.isEmpty));
34
34
  const secondsIncluded = components.length === 6;
35
35
  return components.map((component, index) => shift(component, secondsIncluded ? index : index + 1, date)).join(" ");
36
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cron.js","sources":["../../src/utils/cron.ts"],"sourcesContent":["import { isEmpty, negate } from 'lodash/fp';\n\nconst DATE_FUNCTIONS = [\n 'getSeconds',\n 'getMinutes',\n 'getHours',\n 'getDate',\n 'getMonth',\n 'getDay',\n] as const;\n\nconst INTEGER_REGEX = /^\\d+$/;\nconst STEP_REGEX = /^\\*\\/\\d+$/;\nconst COMPONENTS: {\n limit: number;\n zeroBasedIndices: boolean;\n functionName: (typeof DATE_FUNCTIONS)[number];\n}[] = [\n { limit: 60, zeroBasedIndices: true, functionName: 'getSeconds' },\n { limit: 60, zeroBasedIndices: true, functionName: 'getMinutes' },\n { limit: 24, zeroBasedIndices: true, functionName: 'getHours' },\n { limit: 31, zeroBasedIndices: false, functionName: 'getDate' },\n { limit: 12, zeroBasedIndices: false, functionName: 'getMonth' },\n { limit: 7, zeroBasedIndices: true, functionName: 'getDay' },\n];\n\nconst shift = (component: string, index: number, date: Date) => {\n if (component === '*') {\n return '*';\n }\n\n const { limit, zeroBasedIndices, functionName } = COMPONENTS[index];\n const offset = +!zeroBasedIndices;\n const currentValue = date[functionName]();\n\n if (INTEGER_REGEX.test(component)) {\n return ((Number.parseInt(component, 10) + currentValue) % limit) + offset;\n }\n\n if (STEP_REGEX.test(component)) {\n const [, step] = component.split('/');\n const frequency = Math.floor(limit / Number(step));\n const list = Array.from({ length: frequency }, (_, index) => index * Number(step));\n return list.map((value) => ((value + currentValue) % limit) + offset).sort((a, b) => a - b);\n }\n\n // Unsupported syntax\n return component;\n};\n\n/**\n * Simulate an interval by shifting a cron expression using the specified date.\n * @param {string} rule A cron expression you want to shift.\n * @param {Date} date The date that's gonna be used as the start of the \"interval\", it defaults to now.\n * @returns The shifted cron expression.\n */\nexport const shiftCronExpression = (rule: string, date = new Date()) => {\n const components = rule.trim().split(' ').filter(negate(isEmpty));\n const secondsIncluded = components.length === 6;\n return components\n .map((component, index) => shift(component, secondsIncluded ? index : index + 1, date))\n .join(' ');\n};\n"],"names":["_","index","negate","isEmpty"],"mappings":";;;AAWA,MAAM,gBAAgB;AACtB,MAAM,aAAa;AACnB,MAAM,aAIA;AAAA,EACJ,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,aAAa;AAAA,EAChE,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,aAAa;AAAA,EAChE,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,WAAW;AAAA,EAC9D,EAAE,OAAO,IAAI,kBAAkB,OAAO,cAAc,UAAU;AAAA,EAC9D,EAAE,OAAO,IAAI,kBAAkB,OAAO,cAAc,WAAW;AAAA,EAC/D,EAAE,OAAO,GAAG,kBAAkB,MAAM,cAAc,SAAS;AAC7D;AAEA,MAAM,QAAQ,CAAC,WAAmB,OAAe,SAAe;AAC9D,MAAI,cAAc,KAAK;AACd,WAAA;AAAA,EACT;AAEA,QAAM,EAAE,OAAO,kBAAkB,aAAa,IAAI,WAAW,KAAK;AAC5D,QAAA,SAAS,CAAC,CAAC;AACX,QAAA,eAAe,KAAK,YAAY;AAElC,MAAA,cAAc,KAAK,SAAS,GAAG;AACjC,YAAS,OAAO,SAAS,WAAW,EAAE,IAAI,gBAAgB,QAAS;AAAA,EACrE;AAEI,MAAA,WAAW,KAAK,SAAS,GAAG;AAC9B,UAAM,CAAG,EAAA,IAAI,IAAI,UAAU,MAAM,GAAG;AACpC,UAAM,YAAY,KAAK,MAAM,QAAQ,OAAO,IAAI,CAAC;AACjD,UAAM,OAAO,MAAM,KAAK,EAAE,QAAQ,UAAA,GAAa,CAACA,IAAGC,WAAUA,SAAQ,OAAO,IAAI,CAAC;AACjF,WAAO,KAAK,IAAI,CAAC,WAAY,QAAQ,gBAAgB,QAAS,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AAAA,EAC5F;AAGO,SAAA;AACT;AAQO,MAAM,sBAAsB,CAAC,MAAc,OAAO,oBAAI,WAAW;AAChE,QAAA,aAAa,KAAK,KAAA,EAAO,MAAM,GAAG,EAAE,OAAOC,EAAAA,OAAOC,EAAO,OAAA,CAAC;AAC1D,QAAA,kBAAkB,WAAW,WAAW;AAC9C,SAAO,WACJ,IAAI,CAAC,WAAW,UAAU,MAAM,WAAW,kBAAkB,QAAQ,QAAQ,GAAG,IAAI,CAAC,EACrF,KAAK,GAAG;AACb;;"}
1
+ {"version":3,"file":"cron.js","sources":["../../src/utils/cron.ts"],"sourcesContent":["import { isEmpty, negate } from 'lodash/fp';\n\nconst DATE_FUNCTIONS = [\n 'getSeconds',\n 'getMinutes',\n 'getHours',\n 'getDate',\n 'getMonth',\n 'getDay',\n] as const;\n\nconst INTEGER_REGEX = /^\\d+$/;\nconst STEP_REGEX = /^\\*\\/\\d+$/;\nconst COMPONENTS: {\n limit: number;\n zeroBasedIndices: boolean;\n functionName: (typeof DATE_FUNCTIONS)[number];\n}[] = [\n { limit: 60, zeroBasedIndices: true, functionName: 'getSeconds' },\n { limit: 60, zeroBasedIndices: true, functionName: 'getMinutes' },\n { limit: 24, zeroBasedIndices: true, functionName: 'getHours' },\n { limit: 31, zeroBasedIndices: false, functionName: 'getDate' },\n { limit: 12, zeroBasedIndices: false, functionName: 'getMonth' },\n { limit: 7, zeroBasedIndices: true, functionName: 'getDay' },\n];\n\nconst shift = (component: string, index: number, date: Date) => {\n if (component === '*') {\n return '*';\n }\n\n const { limit, zeroBasedIndices, functionName } = COMPONENTS[index];\n const offset = +!zeroBasedIndices;\n const currentValue = date[functionName]();\n\n if (INTEGER_REGEX.test(component)) {\n return ((Number.parseInt(component, 10) + currentValue) % limit) + offset;\n }\n\n if (STEP_REGEX.test(component)) {\n const [, step] = component.split('/');\n const frequency = Math.floor(limit / Number(step));\n const list = Array.from({ length: frequency }, (_, index) => index * Number(step));\n return list.map((value) => ((value + currentValue) % limit) + offset).sort((a, b) => a - b);\n }\n\n // Unsupported syntax\n return component;\n};\n\n/**\n * Simulate an interval by shifting a cron expression using the specified date.\n * @param {string} rule A cron expression you want to shift.\n * @param {Date} date The date that's gonna be used as the start of the \"interval\", it defaults to now.\n * @returns The shifted cron expression.\n */\nexport const shiftCronExpression = (rule: string, date = new Date()) => {\n const components = rule.trim().split(' ').filter(negate(isEmpty));\n const secondsIncluded = components.length === 6;\n return components\n .map((component, index) => shift(component, secondsIncluded ? index : index + 1, date))\n .join(' ');\n};\n"],"names":["index","negate","isEmpty"],"mappings":";;;AAWA,MAAM,gBAAgB;AACtB,MAAM,aAAa;AACnB,MAAM,aAIA;AAAA,EACJ,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,aAAa;AAAA,EAChE,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,aAAa;AAAA,EAChE,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,WAAW;AAAA,EAC9D,EAAE,OAAO,IAAI,kBAAkB,OAAO,cAAc,UAAU;AAAA,EAC9D,EAAE,OAAO,IAAI,kBAAkB,OAAO,cAAc,WAAW;AAAA,EAC/D,EAAE,OAAO,GAAG,kBAAkB,MAAM,cAAc,SAAS;AAC7D;AAEA,MAAM,QAAQ,CAAC,WAAmB,OAAe,SAAe;AAC9D,MAAI,cAAc,KAAK;AACd,WAAA;AAAA,EAAA;AAGT,QAAM,EAAE,OAAO,kBAAkB,aAAa,IAAI,WAAW,KAAK;AAC5D,QAAA,SAAS,CAAC,CAAC;AACX,QAAA,eAAe,KAAK,YAAY,EAAE;AAEpC,MAAA,cAAc,KAAK,SAAS,GAAG;AACjC,YAAS,OAAO,SAAS,WAAW,EAAE,IAAI,gBAAgB,QAAS;AAAA,EAAA;AAGjE,MAAA,WAAW,KAAK,SAAS,GAAG;AAC9B,UAAM,CAAG,EAAA,IAAI,IAAI,UAAU,MAAM,GAAG;AACpC,UAAM,YAAY,KAAK,MAAM,QAAQ,OAAO,IAAI,CAAC;AACjD,UAAM,OAAO,MAAM,KAAK,EAAE,QAAQ,UAAA,GAAa,CAAC,GAAGA,WAAUA,SAAQ,OAAO,IAAI,CAAC;AACjF,WAAO,KAAK,IAAI,CAAC,WAAY,QAAQ,gBAAgB,QAAS,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AAAA,EAAA;AAIrF,SAAA;AACT;AAQO,MAAM,sBAAsB,CAAC,MAAc,OAAO,oBAAI,WAAW;AAChE,QAAA,aAAa,KAAK,OAAO,MAAM,GAAG,EAAE,OAAOC,UAAOC,GAAAA,OAAO,CAAC;AAC1D,QAAA,kBAAkB,WAAW,WAAW;AAC9C,SAAO,WACJ,IAAI,CAAC,WAAW,UAAU,MAAM,WAAW,kBAAkB,QAAQ,QAAQ,GAAG,IAAI,CAAC,EACrF,KAAK,GAAG;AACb;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"cron.mjs","sources":["../../src/utils/cron.ts"],"sourcesContent":["import { isEmpty, negate } from 'lodash/fp';\n\nconst DATE_FUNCTIONS = [\n 'getSeconds',\n 'getMinutes',\n 'getHours',\n 'getDate',\n 'getMonth',\n 'getDay',\n] as const;\n\nconst INTEGER_REGEX = /^\\d+$/;\nconst STEP_REGEX = /^\\*\\/\\d+$/;\nconst COMPONENTS: {\n limit: number;\n zeroBasedIndices: boolean;\n functionName: (typeof DATE_FUNCTIONS)[number];\n}[] = [\n { limit: 60, zeroBasedIndices: true, functionName: 'getSeconds' },\n { limit: 60, zeroBasedIndices: true, functionName: 'getMinutes' },\n { limit: 24, zeroBasedIndices: true, functionName: 'getHours' },\n { limit: 31, zeroBasedIndices: false, functionName: 'getDate' },\n { limit: 12, zeroBasedIndices: false, functionName: 'getMonth' },\n { limit: 7, zeroBasedIndices: true, functionName: 'getDay' },\n];\n\nconst shift = (component: string, index: number, date: Date) => {\n if (component === '*') {\n return '*';\n }\n\n const { limit, zeroBasedIndices, functionName } = COMPONENTS[index];\n const offset = +!zeroBasedIndices;\n const currentValue = date[functionName]();\n\n if (INTEGER_REGEX.test(component)) {\n return ((Number.parseInt(component, 10) + currentValue) % limit) + offset;\n }\n\n if (STEP_REGEX.test(component)) {\n const [, step] = component.split('/');\n const frequency = Math.floor(limit / Number(step));\n const list = Array.from({ length: frequency }, (_, index) => index * Number(step));\n return list.map((value) => ((value + currentValue) % limit) + offset).sort((a, b) => a - b);\n }\n\n // Unsupported syntax\n return component;\n};\n\n/**\n * Simulate an interval by shifting a cron expression using the specified date.\n * @param {string} rule A cron expression you want to shift.\n * @param {Date} date The date that's gonna be used as the start of the \"interval\", it defaults to now.\n * @returns The shifted cron expression.\n */\nexport const shiftCronExpression = (rule: string, date = new Date()) => {\n const components = rule.trim().split(' ').filter(negate(isEmpty));\n const secondsIncluded = components.length === 6;\n return components\n .map((component, index) => shift(component, secondsIncluded ? index : index + 1, date))\n .join(' ');\n};\n"],"names":["index"],"mappings":";AAWA,MAAM,gBAAgB;AACtB,MAAM,aAAa;AACnB,MAAM,aAIA;AAAA,EACJ,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,aAAa;AAAA,EAChE,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,aAAa;AAAA,EAChE,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,WAAW;AAAA,EAC9D,EAAE,OAAO,IAAI,kBAAkB,OAAO,cAAc,UAAU;AAAA,EAC9D,EAAE,OAAO,IAAI,kBAAkB,OAAO,cAAc,WAAW;AAAA,EAC/D,EAAE,OAAO,GAAG,kBAAkB,MAAM,cAAc,SAAS;AAC7D;AAEA,MAAM,QAAQ,CAAC,WAAmB,OAAe,SAAe;AAC9D,MAAI,cAAc,KAAK;AACd,WAAA;AAAA,EACT;AAEA,QAAM,EAAE,OAAO,kBAAkB,aAAa,IAAI,WAAW,KAAK;AAC5D,QAAA,SAAS,CAAC,CAAC;AACX,QAAA,eAAe,KAAK,YAAY;AAElC,MAAA,cAAc,KAAK,SAAS,GAAG;AACjC,YAAS,OAAO,SAAS,WAAW,EAAE,IAAI,gBAAgB,QAAS;AAAA,EACrE;AAEI,MAAA,WAAW,KAAK,SAAS,GAAG;AAC9B,UAAM,CAAG,EAAA,IAAI,IAAI,UAAU,MAAM,GAAG;AACpC,UAAM,YAAY,KAAK,MAAM,QAAQ,OAAO,IAAI,CAAC;AACjD,UAAM,OAAO,MAAM,KAAK,EAAE,QAAQ,UAAA,GAAa,CAAC,GAAGA,WAAUA,SAAQ,OAAO,IAAI,CAAC;AACjF,WAAO,KAAK,IAAI,CAAC,WAAY,QAAQ,gBAAgB,QAAS,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AAAA,EAC5F;AAGO,SAAA;AACT;AAQO,MAAM,sBAAsB,CAAC,MAAc,OAAO,oBAAI,WAAW;AAChE,QAAA,aAAa,KAAK,KAAA,EAAO,MAAM,GAAG,EAAE,OAAO,OAAO,OAAO,CAAC;AAC1D,QAAA,kBAAkB,WAAW,WAAW;AAC9C,SAAO,WACJ,IAAI,CAAC,WAAW,UAAU,MAAM,WAAW,kBAAkB,QAAQ,QAAQ,GAAG,IAAI,CAAC,EACrF,KAAK,GAAG;AACb;"}
1
+ {"version":3,"file":"cron.mjs","sources":["../../src/utils/cron.ts"],"sourcesContent":["import { isEmpty, negate } from 'lodash/fp';\n\nconst DATE_FUNCTIONS = [\n 'getSeconds',\n 'getMinutes',\n 'getHours',\n 'getDate',\n 'getMonth',\n 'getDay',\n] as const;\n\nconst INTEGER_REGEX = /^\\d+$/;\nconst STEP_REGEX = /^\\*\\/\\d+$/;\nconst COMPONENTS: {\n limit: number;\n zeroBasedIndices: boolean;\n functionName: (typeof DATE_FUNCTIONS)[number];\n}[] = [\n { limit: 60, zeroBasedIndices: true, functionName: 'getSeconds' },\n { limit: 60, zeroBasedIndices: true, functionName: 'getMinutes' },\n { limit: 24, zeroBasedIndices: true, functionName: 'getHours' },\n { limit: 31, zeroBasedIndices: false, functionName: 'getDate' },\n { limit: 12, zeroBasedIndices: false, functionName: 'getMonth' },\n { limit: 7, zeroBasedIndices: true, functionName: 'getDay' },\n];\n\nconst shift = (component: string, index: number, date: Date) => {\n if (component === '*') {\n return '*';\n }\n\n const { limit, zeroBasedIndices, functionName } = COMPONENTS[index];\n const offset = +!zeroBasedIndices;\n const currentValue = date[functionName]();\n\n if (INTEGER_REGEX.test(component)) {\n return ((Number.parseInt(component, 10) + currentValue) % limit) + offset;\n }\n\n if (STEP_REGEX.test(component)) {\n const [, step] = component.split('/');\n const frequency = Math.floor(limit / Number(step));\n const list = Array.from({ length: frequency }, (_, index) => index * Number(step));\n return list.map((value) => ((value + currentValue) % limit) + offset).sort((a, b) => a - b);\n }\n\n // Unsupported syntax\n return component;\n};\n\n/**\n * Simulate an interval by shifting a cron expression using the specified date.\n * @param {string} rule A cron expression you want to shift.\n * @param {Date} date The date that's gonna be used as the start of the \"interval\", it defaults to now.\n * @returns The shifted cron expression.\n */\nexport const shiftCronExpression = (rule: string, date = new Date()) => {\n const components = rule.trim().split(' ').filter(negate(isEmpty));\n const secondsIncluded = components.length === 6;\n return components\n .map((component, index) => shift(component, secondsIncluded ? index : index + 1, date))\n .join(' ');\n};\n"],"names":["index"],"mappings":";AAWA,MAAM,gBAAgB;AACtB,MAAM,aAAa;AACnB,MAAM,aAIA;AAAA,EACJ,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,aAAa;AAAA,EAChE,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,aAAa;AAAA,EAChE,EAAE,OAAO,IAAI,kBAAkB,MAAM,cAAc,WAAW;AAAA,EAC9D,EAAE,OAAO,IAAI,kBAAkB,OAAO,cAAc,UAAU;AAAA,EAC9D,EAAE,OAAO,IAAI,kBAAkB,OAAO,cAAc,WAAW;AAAA,EAC/D,EAAE,OAAO,GAAG,kBAAkB,MAAM,cAAc,SAAS;AAC7D;AAEA,MAAM,QAAQ,CAAC,WAAmB,OAAe,SAAe;AAC9D,MAAI,cAAc,KAAK;AACd,WAAA;AAAA,EAAA;AAGT,QAAM,EAAE,OAAO,kBAAkB,aAAa,IAAI,WAAW,KAAK;AAC5D,QAAA,SAAS,CAAC,CAAC;AACX,QAAA,eAAe,KAAK,YAAY,EAAE;AAEpC,MAAA,cAAc,KAAK,SAAS,GAAG;AACjC,YAAS,OAAO,SAAS,WAAW,EAAE,IAAI,gBAAgB,QAAS;AAAA,EAAA;AAGjE,MAAA,WAAW,KAAK,SAAS,GAAG;AAC9B,UAAM,CAAG,EAAA,IAAI,IAAI,UAAU,MAAM,GAAG;AACpC,UAAM,YAAY,KAAK,MAAM,QAAQ,OAAO,IAAI,CAAC;AACjD,UAAM,OAAO,MAAM,KAAK,EAAE,QAAQ,UAAA,GAAa,CAAC,GAAGA,WAAUA,SAAQ,OAAO,IAAI,CAAC;AACjF,WAAO,KAAK,IAAI,CAAC,WAAY,QAAQ,gBAAgB,QAAS,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AAAA,EAAA;AAIrF,SAAA;AACT;AAQO,MAAM,sBAAsB,CAAC,MAAc,OAAO,oBAAI,WAAW;AAChE,QAAA,aAAa,KAAK,OAAO,MAAM,GAAG,EAAE,OAAO,OAAO,OAAO,CAAC;AAC1D,QAAA,kBAAkB,WAAW,WAAW;AAC9C,SAAO,WACJ,IAAI,CAAC,WAAW,UAAU,MAAM,WAAW,kBAAkB,QAAQ,QAAQ,GAAG,IAAI,CAAC,EACrF,KAAK,GAAG;AACb;"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMnD,eAAO,MAAM,iBAAiB,WAAY,KAAK,MAAM,KAAG,aAAa,MAkBpE,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMnD,eAAO,MAAM,iBAAiB,WAAY,KAAK,MAAM,KAAG,aAAa,MAoBpE,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC"}
@@ -10,9 +10,10 @@ const createStrapiFetch = (strapi) => {
10
10
  strapi.log.debug(`Making request for ${url}`);
11
11
  return fetch(url, fetchOptions);
12
12
  }
13
- const globalProxy = strapi.config.get("server.globalProxy");
14
- if (globalProxy) {
15
- strapiFetch.dispatcher = new undici.ProxyAgent(globalProxy);
13
+ const proxy = strapi.config.get("server.proxy.fetch") || strapi.config.get("server.proxy.global");
14
+ if (proxy) {
15
+ strapi.log.info(`Using proxy for Fetch requests: ${proxy}`);
16
+ strapiFetch.dispatcher = new undici.ProxyAgent(proxy);
16
17
  }
17
18
  return strapiFetch;
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sources":["../../src/utils/fetch.ts"],"sourcesContent":["import type { Core, Modules } from '@strapi/types';\nimport { ProxyAgent } from 'undici';\n\n// TODO: once core Node exposes a stable way to create a ProxyAgent we will use that instead of undici\n\n// Create a wrapper for Node's Fetch API that applies a global proxy\nexport const createStrapiFetch = (strapi: Core.Strapi): Modules.Fetch.Fetch => {\n function strapiFetch(url: RequestInfo | URL, options?: RequestInit) {\n const fetchOptions = {\n ...(strapiFetch.dispatcher ? { dispatcher: strapiFetch.dispatcher } : {}),\n ...options,\n };\n strapi.log.debug(`Making request for ${url}`);\n return fetch(url, fetchOptions);\n }\n\n const globalProxy =\n strapi.config.get<ConstructorParameters<typeof ProxyAgent>[0]>('server.globalProxy');\n\n if (globalProxy) {\n strapiFetch.dispatcher = new ProxyAgent(globalProxy);\n }\n\n return strapiFetch;\n};\n\nexport type Fetch = Modules.Fetch.Fetch;\n"],"names":["ProxyAgent"],"mappings":";;;AAMa,MAAA,oBAAoB,CAAC,WAA6C;AACpE,WAAA,YAAY,KAAwB,SAAuB;AAClE,UAAM,eAAe;AAAA,MACnB,GAAI,YAAY,aAAa,EAAE,YAAY,YAAY,WAAA,IAAe,CAAC;AAAA,MACvE,GAAG;AAAA,IAAA;AAEL,WAAO,IAAI,MAAM,sBAAsB,GAAG,EAAE;AACrC,WAAA,MAAM,KAAK,YAAY;AAAA,EAChC;AAEA,QAAM,cACJ,OAAO,OAAO,IAAiD,oBAAoB;AAErF,MAAI,aAAa;AACH,gBAAA,aAAa,IAAIA,OAAA,WAAW,WAAW;AAAA,EACrD;AAEO,SAAA;AACT;;"}
1
+ {"version":3,"file":"fetch.js","sources":["../../src/utils/fetch.ts"],"sourcesContent":["import type { Core, Modules } from '@strapi/types';\nimport { ProxyAgent } from 'undici';\n\n// TODO: once core Node exposes a stable way to create a ProxyAgent we will use that instead of undici\n\n// Create a wrapper for Node's Fetch API that applies a global proxy\nexport const createStrapiFetch = (strapi: Core.Strapi): Modules.Fetch.Fetch => {\n function strapiFetch(url: RequestInfo | URL, options?: RequestInit) {\n const fetchOptions = {\n ...(strapiFetch.dispatcher ? { dispatcher: strapiFetch.dispatcher } : {}),\n ...options,\n };\n strapi.log.debug(`Making request for ${url}`);\n return fetch(url, fetchOptions);\n }\n\n const proxy =\n strapi.config.get<ConstructorParameters<typeof ProxyAgent>[0]>('server.proxy.fetch') ||\n strapi.config.get<string>('server.proxy.global');\n\n if (proxy) {\n strapi.log.info(`Using proxy for Fetch requests: ${proxy}`);\n strapiFetch.dispatcher = new ProxyAgent(proxy);\n }\n\n return strapiFetch;\n};\n\nexport type Fetch = Modules.Fetch.Fetch;\n"],"names":["ProxyAgent"],"mappings":";;;AAMa,MAAA,oBAAoB,CAAC,WAA6C;AACpE,WAAA,YAAY,KAAwB,SAAuB;AAClE,UAAM,eAAe;AAAA,MACnB,GAAI,YAAY,aAAa,EAAE,YAAY,YAAY,WAAA,IAAe,CAAC;AAAA,MACvE,GAAG;AAAA,IACL;AACA,WAAO,IAAI,MAAM,sBAAsB,GAAG,EAAE;AACrC,WAAA,MAAM,KAAK,YAAY;AAAA,EAAA;AAG1B,QAAA,QACJ,OAAO,OAAO,IAAiD,oBAAoB,KACnF,OAAO,OAAO,IAAY,qBAAqB;AAEjD,MAAI,OAAO;AACT,WAAO,IAAI,KAAK,mCAAmC,KAAK,EAAE;AAC9C,gBAAA,aAAa,IAAIA,OAAA,WAAW,KAAK;AAAA,EAAA;AAGxC,SAAA;AACT;;"}
@@ -8,9 +8,10 @@ const createStrapiFetch = (strapi) => {
8
8
  strapi.log.debug(`Making request for ${url}`);
9
9
  return fetch(url, fetchOptions);
10
10
  }
11
- const globalProxy = strapi.config.get("server.globalProxy");
12
- if (globalProxy) {
13
- strapiFetch.dispatcher = new ProxyAgent(globalProxy);
11
+ const proxy = strapi.config.get("server.proxy.fetch") || strapi.config.get("server.proxy.global");
12
+ if (proxy) {
13
+ strapi.log.info(`Using proxy for Fetch requests: ${proxy}`);
14
+ strapiFetch.dispatcher = new ProxyAgent(proxy);
14
15
  }
15
16
  return strapiFetch;
16
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.mjs","sources":["../../src/utils/fetch.ts"],"sourcesContent":["import type { Core, Modules } from '@strapi/types';\nimport { ProxyAgent } from 'undici';\n\n// TODO: once core Node exposes a stable way to create a ProxyAgent we will use that instead of undici\n\n// Create a wrapper for Node's Fetch API that applies a global proxy\nexport const createStrapiFetch = (strapi: Core.Strapi): Modules.Fetch.Fetch => {\n function strapiFetch(url: RequestInfo | URL, options?: RequestInit) {\n const fetchOptions = {\n ...(strapiFetch.dispatcher ? { dispatcher: strapiFetch.dispatcher } : {}),\n ...options,\n };\n strapi.log.debug(`Making request for ${url}`);\n return fetch(url, fetchOptions);\n }\n\n const globalProxy =\n strapi.config.get<ConstructorParameters<typeof ProxyAgent>[0]>('server.globalProxy');\n\n if (globalProxy) {\n strapiFetch.dispatcher = new ProxyAgent(globalProxy);\n }\n\n return strapiFetch;\n};\n\nexport type Fetch = Modules.Fetch.Fetch;\n"],"names":[],"mappings":";AAMa,MAAA,oBAAoB,CAAC,WAA6C;AACpE,WAAA,YAAY,KAAwB,SAAuB;AAClE,UAAM,eAAe;AAAA,MACnB,GAAI,YAAY,aAAa,EAAE,YAAY,YAAY,WAAA,IAAe,CAAC;AAAA,MACvE,GAAG;AAAA,IAAA;AAEL,WAAO,IAAI,MAAM,sBAAsB,GAAG,EAAE;AACrC,WAAA,MAAM,KAAK,YAAY;AAAA,EAChC;AAEA,QAAM,cACJ,OAAO,OAAO,IAAiD,oBAAoB;AAErF,MAAI,aAAa;AACH,gBAAA,aAAa,IAAI,WAAW,WAAW;AAAA,EACrD;AAEO,SAAA;AACT;"}
1
+ {"version":3,"file":"fetch.mjs","sources":["../../src/utils/fetch.ts"],"sourcesContent":["import type { Core, Modules } from '@strapi/types';\nimport { ProxyAgent } from 'undici';\n\n// TODO: once core Node exposes a stable way to create a ProxyAgent we will use that instead of undici\n\n// Create a wrapper for Node's Fetch API that applies a global proxy\nexport const createStrapiFetch = (strapi: Core.Strapi): Modules.Fetch.Fetch => {\n function strapiFetch(url: RequestInfo | URL, options?: RequestInit) {\n const fetchOptions = {\n ...(strapiFetch.dispatcher ? { dispatcher: strapiFetch.dispatcher } : {}),\n ...options,\n };\n strapi.log.debug(`Making request for ${url}`);\n return fetch(url, fetchOptions);\n }\n\n const proxy =\n strapi.config.get<ConstructorParameters<typeof ProxyAgent>[0]>('server.proxy.fetch') ||\n strapi.config.get<string>('server.proxy.global');\n\n if (proxy) {\n strapi.log.info(`Using proxy for Fetch requests: ${proxy}`);\n strapiFetch.dispatcher = new ProxyAgent(proxy);\n }\n\n return strapiFetch;\n};\n\nexport type Fetch = Modules.Fetch.Fetch;\n"],"names":[],"mappings":";AAMa,MAAA,oBAAoB,CAAC,WAA6C;AACpE,WAAA,YAAY,KAAwB,SAAuB;AAClE,UAAM,eAAe;AAAA,MACnB,GAAI,YAAY,aAAa,EAAE,YAAY,YAAY,WAAA,IAAe,CAAC;AAAA,MACvE,GAAG;AAAA,IACL;AACA,WAAO,IAAI,MAAM,sBAAsB,GAAG,EAAE;AACrC,WAAA,MAAM,KAAK,YAAY;AAAA,EAAA;AAG1B,QAAA,QACJ,OAAO,OAAO,IAAiD,oBAAoB,KACnF,OAAO,OAAO,IAAY,qBAAqB;AAEjD,MAAI,OAAO;AACT,WAAO,IAAI,KAAK,mCAAmC,KAAK,EAAE;AAC9C,gBAAA,aAAa,IAAI,WAAW,KAAK;AAAA,EAAA;AAGxC,SAAA;AACT;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Returns a path (as an array) from a file path
3
3
  */
4
- export declare const filePathToPropPath: (filePath: string, useFileNameAsKey?: boolean) => string[];
4
+ export declare const filePathToPropPath: (entryPath: string, useFileNameAsKey?: boolean) => string[];
5
5
  //# sourceMappingURL=filepath-to-prop-path.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filepath-to-prop-path.d.ts","sourceRoot":"","sources":["../../src/utils/filepath-to-prop-path.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,kBAAkB,aAAc,MAAM,yCAYlD,CAAC"}
1
+ {"version":3,"file":"filepath-to-prop-path.d.ts","sourceRoot":"","sources":["../../src/utils/filepath-to-prop-path.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,kBAAkB,cAClB,MAAM,qBACC,OAAO,KACxB,MAAM,EAqBR,CAAC"}
@@ -1,12 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash");
3
+ const path = require("node:path");
4
+ const fp = require("lodash/fp");
4
5
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
5
- const ___default = /* @__PURE__ */ _interopDefault(_);
6
- const filePathToPropPath = (filePath, useFileNameAsKey = true) => {
7
- const cleanPath = filePath.startsWith("./") ? filePath.slice(2) : filePath;
8
- const prop = cleanPath.replace(/(\.settings|\.json|\.js)/g, "").toLowerCase().split("/").map((p) => ___default.default.trimStart(p, ".")).join(".").split(".");
9
- return useFileNameAsKey === true ? prop : prop.slice(0, -1);
6
+ const path__default = /* @__PURE__ */ _interopDefault(path);
7
+ const fp__default = /* @__PURE__ */ _interopDefault(fp);
8
+ const filePathToPropPath = (entryPath, useFileNameAsKey = true) => {
9
+ const transform = fp__default.default.pipe(
10
+ // Remove the relative path prefixes: './' for posix (and some win32) and ".\" for win32
11
+ removeRelativePrefix,
12
+ // Remove the path metadata and extensions
13
+ fp__default.default.replace(/(\.settings|\.json|\.js)/g, ""),
14
+ // Transform to lowercase
15
+ // Note: We're using fp.toLower instead of fp.lowercase as the latest removes special characters such as "/"
16
+ fp__default.default.toLower,
17
+ // Split the cleaned path by matching every possible separator (either "/" or "\" depending on the OS)
18
+ fp__default.default.split(new RegExp(`[\\${path__default.default.win32.sep}|${path__default.default.posix.sep}]`, "g")),
19
+ // Make sure to remove leading '.' from the different path parts
20
+ fp__default.default.map(fp__default.default.trimCharsStart(".")),
21
+ // join + split in case some '.' characters are still present in different parts of the path
22
+ fp__default.default.join("."),
23
+ fp__default.default.split("."),
24
+ // Remove the last portion of the path array if the file name shouldn't be used as a key
25
+ useFileNameAsKey ? fp__default.default.identity : fp__default.default.slice(0, -1)
26
+ );
27
+ return transform(entryPath);
28
+ };
29
+ const removeRelativePrefix = (filePath) => {
30
+ return filePath.startsWith(`.${path__default.default.win32.sep}`) || filePath.startsWith(`.${path__default.default.posix.sep}`) ? filePath.slice(2) : filePath;
10
31
  };
11
32
  exports.filePathToPropPath = filePathToPropPath;
12
33
  //# sourceMappingURL=filepath-to-prop-path.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filepath-to-prop-path.js","sources":["../../src/utils/filepath-to-prop-path.ts"],"sourcesContent":["import _ from 'lodash';\n\n/**\n * Returns a path (as an array) from a file path\n */\nexport const filePathToPropPath = (filePath: string, useFileNameAsKey = true) => {\n const cleanPath = filePath.startsWith('./') ? filePath.slice(2) : filePath;\n\n const prop = cleanPath\n .replace(/(\\.settings|\\.json|\\.js)/g, '')\n .toLowerCase()\n .split('/')\n .map((p) => _.trimStart(p, '.'))\n .join('.')\n .split('.');\n\n return useFileNameAsKey === true ? prop : prop.slice(0, -1);\n};\n"],"names":["_"],"mappings":";;;;;AAKO,MAAM,qBAAqB,CAAC,UAAkB,mBAAmB,SAAS;AACzE,QAAA,YAAY,SAAS,WAAW,IAAI,IAAI,SAAS,MAAM,CAAC,IAAI;AAE5D,QAAA,OAAO,UACV,QAAQ,6BAA6B,EAAE,EACvC,cACA,MAAM,GAAG,EACT,IAAI,CAAC,MAAMA,mBAAE,UAAU,GAAG,GAAG,CAAC,EAC9B,KAAK,GAAG,EACR,MAAM,GAAG;AAEZ,SAAO,qBAAqB,OAAO,OAAO,KAAK,MAAM,GAAG,EAAE;AAC5D;;"}
1
+ {"version":3,"file":"filepath-to-prop-path.js","sources":["../../src/utils/filepath-to-prop-path.ts"],"sourcesContent":["import path from 'node:path';\nimport fp from 'lodash/fp';\n\n/**\n * Returns a path (as an array) from a file path\n */\nexport const filePathToPropPath = (\n entryPath: string,\n useFileNameAsKey: boolean = true\n): string[] => {\n const transform = fp.pipe(\n // Remove the relative path prefixes: './' for posix (and some win32) and \".\\\" for win32\n removeRelativePrefix,\n // Remove the path metadata and extensions\n fp.replace(/(\\.settings|\\.json|\\.js)/g, ''),\n // Transform to lowercase\n // Note: We're using fp.toLower instead of fp.lowercase as the latest removes special characters such as \"/\"\n fp.toLower,\n // Split the cleaned path by matching every possible separator (either \"/\" or \"\\\" depending on the OS)\n fp.split(new RegExp(`[\\\\${path.win32.sep}|${path.posix.sep}]`, 'g')),\n // Make sure to remove leading '.' from the different path parts\n fp.map(fp.trimCharsStart('.')),\n // join + split in case some '.' characters are still present in different parts of the path\n fp.join('.'),\n fp.split('.'),\n // Remove the last portion of the path array if the file name shouldn't be used as a key\n useFileNameAsKey ? fp.identity : fp.slice(0, -1)\n );\n\n return transform(entryPath) as string[];\n};\n\nconst removeRelativePrefix = (filePath: string) => {\n return filePath.startsWith(`.${path.win32.sep}`) || filePath.startsWith(`.${path.posix.sep}`)\n ? filePath.slice(2)\n : filePath;\n};\n"],"names":["fp","path"],"mappings":";;;;;;;AAMO,MAAM,qBAAqB,CAChC,WACA,mBAA4B,SACf;AACb,QAAM,YAAYA,YAAAA,QAAG;AAAA;AAAA,IAEnB;AAAA;AAAA,IAEAA,oBAAG,QAAQ,6BAA6B,EAAE;AAAA;AAAA;AAAA,IAG1CA,YAAAA,QAAG;AAAA;AAAA,IAEHA,YAAG,QAAA,MAAM,IAAI,OAAO,MAAMC,cAAK,QAAA,MAAM,GAAG,IAAIA,cAAK,QAAA,MAAM,GAAG,KAAK,GAAG,CAAC;AAAA;AAAA,IAEnED,YAAAA,QAAG,IAAIA,YAAAA,QAAG,eAAe,GAAG,CAAC;AAAA;AAAA,IAE7BA,YAAA,QAAG,KAAK,GAAG;AAAA,IACXA,YAAA,QAAG,MAAM,GAAG;AAAA;AAAA,IAEZ,mBAAmBA,YAAG,QAAA,WAAWA,YAAG,QAAA,MAAM,GAAG,EAAE;AAAA,EACjD;AAEA,SAAO,UAAU,SAAS;AAC5B;AAEA,MAAM,uBAAuB,CAAC,aAAqB;AACjD,SAAO,SAAS,WAAW,IAAIC,cAAAA,QAAK,MAAM,GAAG,EAAE,KAAK,SAAS,WAAW,IAAIA,cAAAA,QAAK,MAAM,GAAG,EAAE,IACxF,SAAS,MAAM,CAAC,IAChB;AACN;;"}
@@ -1,8 +1,28 @@
1
- import _ from "lodash";
2
- const filePathToPropPath = (filePath, useFileNameAsKey = true) => {
3
- const cleanPath = filePath.startsWith("./") ? filePath.slice(2) : filePath;
4
- const prop = cleanPath.replace(/(\.settings|\.json|\.js)/g, "").toLowerCase().split("/").map((p) => _.trimStart(p, ".")).join(".").split(".");
5
- return useFileNameAsKey === true ? prop : prop.slice(0, -1);
1
+ import path from "node:path";
2
+ import fp from "lodash/fp";
3
+ const filePathToPropPath = (entryPath, useFileNameAsKey = true) => {
4
+ const transform = fp.pipe(
5
+ // Remove the relative path prefixes: './' for posix (and some win32) and ".\" for win32
6
+ removeRelativePrefix,
7
+ // Remove the path metadata and extensions
8
+ fp.replace(/(\.settings|\.json|\.js)/g, ""),
9
+ // Transform to lowercase
10
+ // Note: We're using fp.toLower instead of fp.lowercase as the latest removes special characters such as "/"
11
+ fp.toLower,
12
+ // Split the cleaned path by matching every possible separator (either "/" or "\" depending on the OS)
13
+ fp.split(new RegExp(`[\\${path.win32.sep}|${path.posix.sep}]`, "g")),
14
+ // Make sure to remove leading '.' from the different path parts
15
+ fp.map(fp.trimCharsStart(".")),
16
+ // join + split in case some '.' characters are still present in different parts of the path
17
+ fp.join("."),
18
+ fp.split("."),
19
+ // Remove the last portion of the path array if the file name shouldn't be used as a key
20
+ useFileNameAsKey ? fp.identity : fp.slice(0, -1)
21
+ );
22
+ return transform(entryPath);
23
+ };
24
+ const removeRelativePrefix = (filePath) => {
25
+ return filePath.startsWith(`.${path.win32.sep}`) || filePath.startsWith(`.${path.posix.sep}`) ? filePath.slice(2) : filePath;
6
26
  };
7
27
  export {
8
28
  filePathToPropPath
@@ -1 +1 @@
1
- {"version":3,"file":"filepath-to-prop-path.mjs","sources":["../../src/utils/filepath-to-prop-path.ts"],"sourcesContent":["import _ from 'lodash';\n\n/**\n * Returns a path (as an array) from a file path\n */\nexport const filePathToPropPath = (filePath: string, useFileNameAsKey = true) => {\n const cleanPath = filePath.startsWith('./') ? filePath.slice(2) : filePath;\n\n const prop = cleanPath\n .replace(/(\\.settings|\\.json|\\.js)/g, '')\n .toLowerCase()\n .split('/')\n .map((p) => _.trimStart(p, '.'))\n .join('.')\n .split('.');\n\n return useFileNameAsKey === true ? prop : prop.slice(0, -1);\n};\n"],"names":[],"mappings":";AAKO,MAAM,qBAAqB,CAAC,UAAkB,mBAAmB,SAAS;AACzE,QAAA,YAAY,SAAS,WAAW,IAAI,IAAI,SAAS,MAAM,CAAC,IAAI;AAE5D,QAAA,OAAO,UACV,QAAQ,6BAA6B,EAAE,EACvC,cACA,MAAM,GAAG,EACT,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,GAAG,CAAC,EAC9B,KAAK,GAAG,EACR,MAAM,GAAG;AAEZ,SAAO,qBAAqB,OAAO,OAAO,KAAK,MAAM,GAAG,EAAE;AAC5D;"}
1
+ {"version":3,"file":"filepath-to-prop-path.mjs","sources":["../../src/utils/filepath-to-prop-path.ts"],"sourcesContent":["import path from 'node:path';\nimport fp from 'lodash/fp';\n\n/**\n * Returns a path (as an array) from a file path\n */\nexport const filePathToPropPath = (\n entryPath: string,\n useFileNameAsKey: boolean = true\n): string[] => {\n const transform = fp.pipe(\n // Remove the relative path prefixes: './' for posix (and some win32) and \".\\\" for win32\n removeRelativePrefix,\n // Remove the path metadata and extensions\n fp.replace(/(\\.settings|\\.json|\\.js)/g, ''),\n // Transform to lowercase\n // Note: We're using fp.toLower instead of fp.lowercase as the latest removes special characters such as \"/\"\n fp.toLower,\n // Split the cleaned path by matching every possible separator (either \"/\" or \"\\\" depending on the OS)\n fp.split(new RegExp(`[\\\\${path.win32.sep}|${path.posix.sep}]`, 'g')),\n // Make sure to remove leading '.' from the different path parts\n fp.map(fp.trimCharsStart('.')),\n // join + split in case some '.' characters are still present in different parts of the path\n fp.join('.'),\n fp.split('.'),\n // Remove the last portion of the path array if the file name shouldn't be used as a key\n useFileNameAsKey ? fp.identity : fp.slice(0, -1)\n );\n\n return transform(entryPath) as string[];\n};\n\nconst removeRelativePrefix = (filePath: string) => {\n return filePath.startsWith(`.${path.win32.sep}`) || filePath.startsWith(`.${path.posix.sep}`)\n ? filePath.slice(2)\n : filePath;\n};\n"],"names":[],"mappings":";;AAMO,MAAM,qBAAqB,CAChC,WACA,mBAA4B,SACf;AACb,QAAM,YAAY,GAAG;AAAA;AAAA,IAEnB;AAAA;AAAA,IAEA,GAAG,QAAQ,6BAA6B,EAAE;AAAA;AAAA;AAAA,IAG1C,GAAG;AAAA;AAAA,IAEH,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,KAAK,GAAG,CAAC;AAAA;AAAA,IAEnE,GAAG,IAAI,GAAG,eAAe,GAAG,CAAC;AAAA;AAAA,IAE7B,GAAG,KAAK,GAAG;AAAA,IACX,GAAG,MAAM,GAAG;AAAA;AAAA,IAEZ,mBAAmB,GAAG,WAAW,GAAG,MAAM,GAAG,EAAE;AAAA,EACjD;AAEA,SAAO,UAAU,SAAS;AAC5B;AAEA,MAAM,uBAAuB,CAAC,aAAqB;AACjD,SAAO,SAAS,WAAW,IAAI,KAAK,MAAM,GAAG,EAAE,KAAK,SAAS,WAAW,IAAI,KAAK,MAAM,GAAG,EAAE,IACxF,SAAS,MAAM,CAAC,IAChB;AACN;"}
@@ -1,6 +1,6 @@
1
1
  export { openBrowser } from './open-browser';
2
2
  export { isInitialized } from './is-initialized';
3
- export { getDirs } from './get-dirs';
3
+ export { getDirs } from '../configuration/get-dirs';
4
4
  export { ee } from './ee';
5
5
  export { createUpdateNotifier } from './update-notifier';
6
6
  export { createStrapiFetch, Fetch } from './fetch';
@@ -9,4 +9,5 @@ export { createStartupLogger } from './startup-logger';
9
9
  export { transformContentTypesToModels } from './transform-content-types-to-models';
10
10
  export { destroyOnSignal } from './signals';
11
11
  export { LIFECYCLES } from './lifecycles';
12
+ export { resolveWorkingDirectories } from './resolve-working-dirs';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,13 +1,13 @@
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 isInitialized = async (strapi) => {
5
5
  try {
6
- if (_.isEmpty(strapi.admin)) {
6
+ if (fp.isEmpty(strapi.admin)) {
7
7
  return true;
8
8
  }
9
9
  const anyAdministrator = await strapi.db.query("admin::user").findOne({ select: ["id"] });
10
- return !_.isNil(anyAdministrator);
10
+ return !fp.isNil(anyAdministrator);
11
11
  } catch (err) {
12
12
  strapi.stopWithError(err);
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"is-initialized.js","sources":["../../src/utils/is-initialized.ts"],"sourcesContent":["import { isEmpty, isNil } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\n\n/**\n * Test if the strapi application is considered as initialized (1st user has been created)\n */\nexport const isInitialized = async (strapi: Core.Strapi): Promise<boolean> => {\n try {\n if (isEmpty(strapi.admin)) {\n return true;\n }\n\n // test if there is at least one admin\n const anyAdministrator = await strapi.db.query('admin::user').findOne({ select: ['id'] });\n\n return !isNil(anyAdministrator);\n } catch (err) {\n strapi.stopWithError(err);\n }\n};\n"],"names":["isEmpty","isNil"],"mappings":";;;AAOa,MAAA,gBAAgB,OAAO,WAA0C;AACxE,MAAA;AACE,QAAAA,EAAA,QAAQ,OAAO,KAAK,GAAG;AAClB,aAAA;AAAA,IACT;AAGA,UAAM,mBAAmB,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAG,CAAA;AAEjF,WAAA,CAACC,EAAAA,MAAM,gBAAgB;AAAA,WACvB,KAAK;AACZ,WAAO,cAAc,GAAG;AAAA,EAC1B;AACF;;"}
1
+ {"version":3,"file":"is-initialized.js","sources":["../../src/utils/is-initialized.ts"],"sourcesContent":["import { isEmpty, isNil } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\n\n/**\n * Test if the strapi application is considered as initialized (1st user has been created)\n */\nexport const isInitialized = async (strapi: Core.Strapi): Promise<boolean> => {\n try {\n if (isEmpty(strapi.admin)) {\n return true;\n }\n\n // test if there is at least one admin\n const anyAdministrator = await strapi.db.query('admin::user').findOne({ select: ['id'] });\n\n return !isNil(anyAdministrator);\n } catch (err) {\n strapi.stopWithError(err);\n }\n};\n"],"names":["isEmpty","isNil"],"mappings":";;;AAOa,MAAA,gBAAgB,OAAO,WAA0C;AACxE,MAAA;AACE,QAAAA,GAAA,QAAQ,OAAO,KAAK,GAAG;AAClB,aAAA;AAAA,IAAA;AAIT,UAAM,mBAAmB,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAG;AAEjF,WAAA,CAACC,SAAM,gBAAgB;AAAA,WACvB,KAAK;AACZ,WAAO,cAAc,GAAG;AAAA,EAAA;AAE5B;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-initialized.mjs","sources":["../../src/utils/is-initialized.ts"],"sourcesContent":["import { isEmpty, isNil } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\n\n/**\n * Test if the strapi application is considered as initialized (1st user has been created)\n */\nexport const isInitialized = async (strapi: Core.Strapi): Promise<boolean> => {\n try {\n if (isEmpty(strapi.admin)) {\n return true;\n }\n\n // test if there is at least one admin\n const anyAdministrator = await strapi.db.query('admin::user').findOne({ select: ['id'] });\n\n return !isNil(anyAdministrator);\n } catch (err) {\n strapi.stopWithError(err);\n }\n};\n"],"names":[],"mappings":";AAOa,MAAA,gBAAgB,OAAO,WAA0C;AACxE,MAAA;AACE,QAAA,QAAQ,OAAO,KAAK,GAAG;AAClB,aAAA;AAAA,IACT;AAGA,UAAM,mBAAmB,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAG,CAAA;AAEjF,WAAA,CAAC,MAAM,gBAAgB;AAAA,WACvB,KAAK;AACZ,WAAO,cAAc,GAAG;AAAA,EAC1B;AACF;"}
1
+ {"version":3,"file":"is-initialized.mjs","sources":["../../src/utils/is-initialized.ts"],"sourcesContent":["import { isEmpty, isNil } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\n\n/**\n * Test if the strapi application is considered as initialized (1st user has been created)\n */\nexport const isInitialized = async (strapi: Core.Strapi): Promise<boolean> => {\n try {\n if (isEmpty(strapi.admin)) {\n return true;\n }\n\n // test if there is at least one admin\n const anyAdministrator = await strapi.db.query('admin::user').findOne({ select: ['id'] });\n\n return !isNil(anyAdministrator);\n } catch (err) {\n strapi.stopWithError(err);\n }\n};\n"],"names":[],"mappings":";AAOa,MAAA,gBAAgB,OAAO,WAA0C;AACxE,MAAA;AACE,QAAA,QAAQ,OAAO,KAAK,GAAG;AAClB,aAAA;AAAA,IAAA;AAIT,UAAM,mBAAmB,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAG;AAEjF,WAAA,CAAC,MAAM,gBAAgB;AAAA,WACvB,KAAK;AACZ,WAAO,cAAc,GAAG;AAAA,EAAA;AAE5B;"}
@@ -1 +1 @@
1
- {"version":3,"file":"load-config-file.js","sources":["../../src/utils/load-config-file.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport { env, importDefault } from '@strapi/utils';\n\nconst loadJsFile = (file: string) => {\n try {\n const jsModule = importDefault(file);\n\n // call if function\n if (typeof jsModule === 'function') {\n return jsModule({ env });\n }\n\n return jsModule;\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Could not load js config file ${file}: ${error.message}`);\n }\n\n throw new Error('Unknown error');\n }\n};\n\nconst loadJSONFile = (file: string) => {\n try {\n return JSON.parse(fs.readFileSync(file).toString());\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Could not load json config file ${file}: ${error.message}`);\n }\n\n throw new Error('Unknown error');\n }\n};\n\nexport const loadConfigFile = (file: string) => {\n const ext = path.extname(file);\n\n switch (ext) {\n case '.js':\n return loadJsFile(file);\n case '.json':\n return loadJSONFile(file);\n default:\n return {};\n }\n};\n"],"names":["importDefault","env","fs","path"],"mappings":";;;;;;;;AAIA,MAAM,aAAa,CAAC,SAAiB;AAC/B,MAAA;AACI,UAAA,WAAWA,0BAAc,IAAI;AAG/B,QAAA,OAAO,aAAa,YAAY;AAC3B,aAAA,SAAS,OAAEC,YAAA,IAAA,CAAK;AAAA,IACzB;AAEO,WAAA;AAAA,WACA,OAAO;AACd,QAAI,iBAAiB,OAAO;AAC1B,YAAM,IAAI,MAAM,iCAAiC,IAAI,KAAK,MAAM,OAAO,EAAE;AAAA,IAC3E;AAEM,UAAA,IAAI,MAAM,eAAe;AAAA,EACjC;AACF;AAEA,MAAM,eAAe,CAAC,SAAiB;AACjC,MAAA;AACF,WAAO,KAAK,MAAMC,YAAA,QAAG,aAAa,IAAI,EAAE,UAAU;AAAA,WAC3C,OAAO;AACd,QAAI,iBAAiB,OAAO;AAC1B,YAAM,IAAI,MAAM,mCAAmC,IAAI,KAAK,MAAM,OAAO,EAAE;AAAA,IAC7E;AAEM,UAAA,IAAI,MAAM,eAAe;AAAA,EACjC;AACF;AAEa,MAAA,iBAAiB,CAAC,SAAiB;AACxC,QAAA,MAAMC,cAAAA,QAAK,QAAQ,IAAI;AAE7B,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,aAAO,WAAW,IAAI;AAAA,IACxB,KAAK;AACH,aAAO,aAAa,IAAI;AAAA,IAC1B;AACE,aAAO;EACX;AACF;;"}
1
+ {"version":3,"file":"load-config-file.js","sources":["../../src/utils/load-config-file.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport { env, importDefault } from '@strapi/utils';\n\nconst loadJsFile = (file: string) => {\n try {\n const jsModule = importDefault(file);\n\n // call if function\n if (typeof jsModule === 'function') {\n return jsModule({ env });\n }\n\n return jsModule;\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Could not load js config file ${file}: ${error.message}`);\n }\n\n throw new Error('Unknown error');\n }\n};\n\nconst loadJSONFile = (file: string) => {\n try {\n return JSON.parse(fs.readFileSync(file).toString());\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Could not load json config file ${file}: ${error.message}`);\n }\n\n throw new Error('Unknown error');\n }\n};\n\nexport const loadConfigFile = (file: string) => {\n const ext = path.extname(file);\n\n switch (ext) {\n case '.js':\n return loadJsFile(file);\n case '.json':\n return loadJSONFile(file);\n default:\n return {};\n }\n};\n"],"names":["importDefault","env","fs","path"],"mappings":";;;;;;;;AAIA,MAAM,aAAa,CAAC,SAAiB;AAC/B,MAAA;AACI,UAAA,WAAWA,0BAAc,IAAI;AAG/B,QAAA,OAAO,aAAa,YAAY;AAC3B,aAAA,SAAS,EAAEC,KAAAA,YAAAA,KAAK;AAAA,IAAA;AAGlB,WAAA;AAAA,WACA,OAAO;AACd,QAAI,iBAAiB,OAAO;AAC1B,YAAM,IAAI,MAAM,iCAAiC,IAAI,KAAK,MAAM,OAAO,EAAE;AAAA,IAAA;AAGrE,UAAA,IAAI,MAAM,eAAe;AAAA,EAAA;AAEnC;AAEA,MAAM,eAAe,CAAC,SAAiB;AACjC,MAAA;AACF,WAAO,KAAK,MAAMC,YAAA,QAAG,aAAa,IAAI,EAAE,UAAU;AAAA,WAC3C,OAAO;AACd,QAAI,iBAAiB,OAAO;AAC1B,YAAM,IAAI,MAAM,mCAAmC,IAAI,KAAK,MAAM,OAAO,EAAE;AAAA,IAAA;AAGvE,UAAA,IAAI,MAAM,eAAe;AAAA,EAAA;AAEnC;AAEa,MAAA,iBAAiB,CAAC,SAAiB;AACxC,QAAA,MAAMC,cAAAA,QAAK,QAAQ,IAAI;AAE7B,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,aAAO,WAAW,IAAI;AAAA,IACxB,KAAK;AACH,aAAO,aAAa,IAAI;AAAA,IAC1B;AACE,aAAO,CAAC;AAAA,EAAA;AAEd;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"load-config-file.mjs","sources":["../../src/utils/load-config-file.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport { env, importDefault } from '@strapi/utils';\n\nconst loadJsFile = (file: string) => {\n try {\n const jsModule = importDefault(file);\n\n // call if function\n if (typeof jsModule === 'function') {\n return jsModule({ env });\n }\n\n return jsModule;\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Could not load js config file ${file}: ${error.message}`);\n }\n\n throw new Error('Unknown error');\n }\n};\n\nconst loadJSONFile = (file: string) => {\n try {\n return JSON.parse(fs.readFileSync(file).toString());\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Could not load json config file ${file}: ${error.message}`);\n }\n\n throw new Error('Unknown error');\n }\n};\n\nexport const loadConfigFile = (file: string) => {\n const ext = path.extname(file);\n\n switch (ext) {\n case '.js':\n return loadJsFile(file);\n case '.json':\n return loadJSONFile(file);\n default:\n return {};\n }\n};\n"],"names":[],"mappings":";;;AAIA,MAAM,aAAa,CAAC,SAAiB;AAC/B,MAAA;AACI,UAAA,WAAW,cAAc,IAAI;AAG/B,QAAA,OAAO,aAAa,YAAY;AAC3B,aAAA,SAAS,EAAE,IAAA,CAAK;AAAA,IACzB;AAEO,WAAA;AAAA,WACA,OAAO;AACd,QAAI,iBAAiB,OAAO;AAC1B,YAAM,IAAI,MAAM,iCAAiC,IAAI,KAAK,MAAM,OAAO,EAAE;AAAA,IAC3E;AAEM,UAAA,IAAI,MAAM,eAAe;AAAA,EACjC;AACF;AAEA,MAAM,eAAe,CAAC,SAAiB;AACjC,MAAA;AACF,WAAO,KAAK,MAAM,GAAG,aAAa,IAAI,EAAE,UAAU;AAAA,WAC3C,OAAO;AACd,QAAI,iBAAiB,OAAO;AAC1B,YAAM,IAAI,MAAM,mCAAmC,IAAI,KAAK,MAAM,OAAO,EAAE;AAAA,IAC7E;AAEM,UAAA,IAAI,MAAM,eAAe;AAAA,EACjC;AACF;AAEa,MAAA,iBAAiB,CAAC,SAAiB;AACxC,QAAA,MAAM,KAAK,QAAQ,IAAI;AAE7B,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,aAAO,WAAW,IAAI;AAAA,IACxB,KAAK;AACH,aAAO,aAAa,IAAI;AAAA,IAC1B;AACE,aAAO;EACX;AACF;"}
1
+ {"version":3,"file":"load-config-file.mjs","sources":["../../src/utils/load-config-file.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport { env, importDefault } from '@strapi/utils';\n\nconst loadJsFile = (file: string) => {\n try {\n const jsModule = importDefault(file);\n\n // call if function\n if (typeof jsModule === 'function') {\n return jsModule({ env });\n }\n\n return jsModule;\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Could not load js config file ${file}: ${error.message}`);\n }\n\n throw new Error('Unknown error');\n }\n};\n\nconst loadJSONFile = (file: string) => {\n try {\n return JSON.parse(fs.readFileSync(file).toString());\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Could not load json config file ${file}: ${error.message}`);\n }\n\n throw new Error('Unknown error');\n }\n};\n\nexport const loadConfigFile = (file: string) => {\n const ext = path.extname(file);\n\n switch (ext) {\n case '.js':\n return loadJsFile(file);\n case '.json':\n return loadJSONFile(file);\n default:\n return {};\n }\n};\n"],"names":[],"mappings":";;;AAIA,MAAM,aAAa,CAAC,SAAiB;AAC/B,MAAA;AACI,UAAA,WAAW,cAAc,IAAI;AAG/B,QAAA,OAAO,aAAa,YAAY;AAC3B,aAAA,SAAS,EAAE,KAAK;AAAA,IAAA;AAGlB,WAAA;AAAA,WACA,OAAO;AACd,QAAI,iBAAiB,OAAO;AAC1B,YAAM,IAAI,MAAM,iCAAiC,IAAI,KAAK,MAAM,OAAO,EAAE;AAAA,IAAA;AAGrE,UAAA,IAAI,MAAM,eAAe;AAAA,EAAA;AAEnC;AAEA,MAAM,eAAe,CAAC,SAAiB;AACjC,MAAA;AACF,WAAO,KAAK,MAAM,GAAG,aAAa,IAAI,EAAE,UAAU;AAAA,WAC3C,OAAO;AACd,QAAI,iBAAiB,OAAO;AAC1B,YAAM,IAAI,MAAM,mCAAmC,IAAI,KAAK,MAAM,OAAO,EAAE;AAAA,IAAA;AAGvE,UAAA,IAAI,MAAM,eAAe;AAAA,EAAA;AAEnC;AAEa,MAAA,iBAAiB,CAAC,SAAiB;AACxC,QAAA,MAAM,KAAK,QAAQ,IAAI;AAE7B,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,aAAO,WAAW,IAAI;AAAA,IACxB,KAAK;AACH,aAAO,aAAa,IAAI;AAAA,IAC1B;AACE,aAAO,CAAC;AAAA,EAAA;AAEd;"}
@@ -1 +1 @@
1
- {"version":3,"file":"load-files.d.ts","sourceRoot":"","sources":["../../src/utils/load-files.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C;;;GAGG;AACH,eAAO,MAAM,SAAS,0BACf,MAAM,WACF,MAAM;;kCAE2C,GAAG;;gBAgC9D,CAAC"}
1
+ {"version":3,"file":"load-files.d.ts","sourceRoot":"","sources":["../../src/utils/load-files.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C;;;GAGG;AACH,eAAO,MAAM,SAAS,0BACf,MAAM,WACF,MAAM;;kCAE2C,GAAG;;MAC5D,QAAQ,CAAC,CA+BX,CAAC"}