@strapi/core 0.0.0-experimental.2363945b79274c79e6505e5a6c3cdec876ed8cec → 0.0.0-experimental.24165c9d5cbc756c03fe23bc491569c77973f5ac

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (882) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +52 -59
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/configuration/config-loader.d.ts.map +1 -1
  5. package/dist/configuration/get-dirs.d.ts +10 -0
  6. package/dist/configuration/get-dirs.d.ts.map +1 -0
  7. package/dist/configuration/index.d.ts +4 -7
  8. package/dist/configuration/index.d.ts.map +1 -1
  9. package/dist/configuration/urls.d.ts +8 -0
  10. package/dist/configuration/urls.d.ts.map +1 -0
  11. package/dist/container.d.ts +2 -2
  12. package/dist/container.d.ts.map +1 -1
  13. package/dist/core-api/controller/collection-type.d.ts +3 -3
  14. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  15. package/dist/core-api/controller/index.d.ts +3 -3
  16. package/dist/core-api/controller/index.d.ts.map +1 -1
  17. package/dist/core-api/controller/single-type.d.ts +3 -3
  18. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  19. package/dist/core-api/controller/transform.d.ts +2 -2
  20. package/dist/core-api/controller/transform.d.ts.map +1 -1
  21. package/dist/core-api/routes/index.d.ts.map +1 -1
  22. package/dist/core-api/service/collection-type.d.ts +11 -17
  23. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  24. package/dist/core-api/service/index.d.ts +3 -3
  25. package/dist/core-api/service/index.d.ts.map +1 -1
  26. package/dist/core-api/service/pagination.d.ts +4 -11
  27. package/dist/core-api/service/pagination.d.ts.map +1 -1
  28. package/dist/core-api/service/single-type.d.ts +5 -5
  29. package/dist/core-api/service/single-type.d.ts.map +1 -1
  30. package/dist/domain/content-type/index.d.ts +1 -1
  31. package/dist/domain/content-type/index.d.ts.map +1 -1
  32. package/dist/domain/content-type/validator.d.ts.map +1 -1
  33. package/dist/domain/module/index.d.ts +24 -23
  34. package/dist/domain/module/index.d.ts.map +1 -1
  35. package/dist/ee/index.d.ts +4 -2
  36. package/dist/ee/index.d.ts.map +1 -1
  37. package/dist/ee/license.d.ts +2 -2
  38. package/dist/ee/license.d.ts.map +1 -1
  39. package/dist/factories.d.ts +10 -10
  40. package/dist/factories.d.ts.map +1 -1
  41. package/dist/index.d.ts +18 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +9956 -5
  44. package/dist/index.js.map +1 -1
  45. package/dist/index.mjs +9932 -5
  46. package/dist/index.mjs.map +1 -1
  47. package/dist/loaders/admin.d.ts +2 -2
  48. package/dist/loaders/admin.d.ts.map +1 -1
  49. package/dist/loaders/apis.d.ts +2 -2
  50. package/dist/loaders/apis.d.ts.map +1 -1
  51. package/dist/loaders/components.d.ts +2 -2
  52. package/dist/loaders/components.d.ts.map +1 -1
  53. package/dist/loaders/index.d.ts +2 -2
  54. package/dist/loaders/index.d.ts.map +1 -1
  55. package/dist/loaders/middlewares.d.ts +2 -2
  56. package/dist/loaders/middlewares.d.ts.map +1 -1
  57. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  58. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  59. package/dist/loaders/plugins/index.d.ts +2 -2
  60. package/dist/loaders/plugins/index.d.ts.map +1 -1
  61. package/dist/loaders/policies.d.ts +2 -2
  62. package/dist/loaders/policies.d.ts.map +1 -1
  63. package/dist/loaders/sanitizers.d.ts +2 -2
  64. package/dist/loaders/sanitizers.d.ts.map +1 -1
  65. package/dist/loaders/src-index.d.ts +2 -2
  66. package/dist/loaders/src-index.d.ts.map +1 -1
  67. package/dist/loaders/validators.d.ts +2 -2
  68. package/dist/loaders/validators.d.ts.map +1 -1
  69. package/dist/middlewares/body.d.ts +4 -4
  70. package/dist/middlewares/body.d.ts.map +1 -1
  71. package/dist/middlewares/compression.d.ts +2 -2
  72. package/dist/middlewares/compression.d.ts.map +1 -1
  73. package/dist/middlewares/cors.d.ts +2 -2
  74. package/dist/middlewares/cors.d.ts.map +1 -1
  75. package/dist/middlewares/errors.d.ts +2 -2
  76. package/dist/middlewares/errors.d.ts.map +1 -1
  77. package/dist/middlewares/favicon.d.ts +2 -2
  78. package/dist/middlewares/favicon.d.ts.map +1 -1
  79. package/dist/middlewares/index.d.ts +2 -2
  80. package/dist/middlewares/index.d.ts.map +1 -1
  81. package/dist/middlewares/ip.d.ts +2 -2
  82. package/dist/middlewares/ip.d.ts.map +1 -1
  83. package/dist/middlewares/logger.d.ts +2 -2
  84. package/dist/middlewares/logger.d.ts.map +1 -1
  85. package/dist/middlewares/powered-by.d.ts +2 -2
  86. package/dist/middlewares/powered-by.d.ts.map +1 -1
  87. package/dist/middlewares/public.d.ts +2 -2
  88. package/dist/middlewares/public.d.ts.map +1 -1
  89. package/dist/middlewares/query.d.ts +2 -2
  90. package/dist/middlewares/query.d.ts.map +1 -1
  91. package/dist/middlewares/response-time.d.ts +2 -2
  92. package/dist/middlewares/response-time.d.ts.map +1 -1
  93. package/dist/middlewares/responses.d.ts +3 -3
  94. package/dist/middlewares/responses.d.ts.map +1 -1
  95. package/dist/middlewares/security.d.ts +2 -2
  96. package/dist/middlewares/security.d.ts.map +1 -1
  97. package/dist/middlewares/session.d.ts +2 -2
  98. package/dist/middlewares/session.d.ts.map +1 -1
  99. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  100. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  101. package/dist/migrations/draft-publish.d.ts +17 -0
  102. package/dist/migrations/draft-publish.d.ts.map +1 -0
  103. package/dist/migrations/i18n.d.ts +5 -0
  104. package/dist/migrations/i18n.d.ts.map +1 -0
  105. package/dist/migrations/index.d.ts +5 -0
  106. package/dist/migrations/index.d.ts.map +1 -0
  107. package/dist/providers/admin.d.ts +3 -0
  108. package/dist/providers/admin.d.ts.map +1 -0
  109. package/dist/providers/coreStore.d.ts +3 -0
  110. package/dist/providers/coreStore.d.ts.map +1 -0
  111. package/dist/providers/cron.d.ts +3 -0
  112. package/dist/providers/cron.d.ts.map +1 -0
  113. package/dist/providers/index.d.ts +3 -0
  114. package/dist/providers/index.d.ts.map +1 -0
  115. package/dist/providers/provider.d.ts +9 -0
  116. package/dist/providers/provider.d.ts.map +1 -0
  117. package/dist/providers/registries.d.ts +3 -0
  118. package/dist/providers/registries.d.ts.map +1 -0
  119. package/dist/providers/telemetry.d.ts +3 -0
  120. package/dist/providers/telemetry.d.ts.map +1 -0
  121. package/dist/providers/webhooks.d.ts +3 -0
  122. package/dist/providers/webhooks.d.ts.map +1 -0
  123. package/dist/registries/apis.d.ts +2 -2
  124. package/dist/registries/apis.d.ts.map +1 -1
  125. package/dist/registries/components.d.ts +6 -6
  126. package/dist/registries/components.d.ts.map +1 -1
  127. package/dist/registries/content-types.d.ts +5 -5
  128. package/dist/registries/content-types.d.ts.map +1 -1
  129. package/dist/registries/controllers.d.ts +10 -10
  130. package/dist/registries/controllers.d.ts.map +1 -1
  131. package/dist/registries/custom-fields.d.ts +3 -3
  132. package/dist/registries/custom-fields.d.ts.map +1 -1
  133. package/dist/registries/index.d.ts +0 -1
  134. package/dist/registries/index.d.ts.map +1 -1
  135. package/dist/registries/middlewares.d.ts +6 -6
  136. package/dist/registries/middlewares.d.ts.map +1 -1
  137. package/dist/registries/modules.d.ts +2 -2
  138. package/dist/registries/modules.d.ts.map +1 -1
  139. package/dist/registries/plugins.d.ts +5 -5
  140. package/dist/registries/plugins.d.ts.map +1 -1
  141. package/dist/registries/policies.d.ts +22 -10
  142. package/dist/registries/policies.d.ts.map +1 -1
  143. package/dist/registries/services.d.ts +8 -8
  144. package/dist/registries/services.d.ts.map +1 -1
  145. package/dist/services/auth/index.d.ts +4 -4
  146. package/dist/services/auth/index.d.ts.map +1 -1
  147. package/dist/services/config.d.ts +3 -0
  148. package/dist/services/config.d.ts.map +1 -0
  149. package/dist/services/content-api/index.d.ts +31 -15
  150. package/dist/services/content-api/index.d.ts.map +1 -1
  151. package/dist/services/content-api/permissions/index.d.ts +13 -15
  152. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  153. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  154. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  155. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  156. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  157. package/dist/services/core-store.d.ts.map +1 -1
  158. package/dist/services/cron.d.ts +5 -5
  159. package/dist/services/cron.d.ts.map +1 -1
  160. package/dist/services/custom-fields.d.ts +2 -2
  161. package/dist/services/custom-fields.d.ts.map +1 -1
  162. package/dist/services/document-service/attributes/index.d.ts +6 -0
  163. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  164. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  165. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  166. package/dist/services/document-service/common.d.ts +2 -2
  167. package/dist/services/document-service/common.d.ts.map +1 -1
  168. package/dist/services/document-service/components.d.ts +25 -1
  169. package/dist/services/document-service/components.d.ts.map +1 -1
  170. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  171. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  172. package/dist/services/document-service/entries.d.ts +10 -0
  173. package/dist/services/document-service/entries.d.ts.map +1 -0
  174. package/dist/services/document-service/events.d.ts +25 -0
  175. package/dist/services/document-service/events.d.ts.map +1 -0
  176. package/dist/services/document-service/index.d.ts +3 -4
  177. package/dist/services/document-service/index.d.ts.map +1 -1
  178. package/dist/services/document-service/internationalization.d.ts +5 -5
  179. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  180. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  181. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  182. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  183. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  184. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  185. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  186. package/dist/services/document-service/params.d.ts +3 -1
  187. package/dist/services/document-service/params.d.ts.map +1 -1
  188. package/dist/services/document-service/repository.d.ts.map +1 -1
  189. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  190. package/dist/services/document-service/transform/fields.d.ts +2 -2
  191. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  192. package/dist/services/document-service/transform/id-map.d.ts +4 -4
  193. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  194. package/dist/services/document-service/transform/id-transform.d.ts +4 -18
  195. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  196. package/dist/services/document-service/transform/populate.d.ts +5 -2
  197. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  198. package/dist/services/document-service/transform/query.d.ts +5 -0
  199. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  200. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  201. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  202. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +9 -5
  203. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  204. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  205. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  206. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  207. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  208. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  209. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  210. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  211. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  212. package/dist/services/document-service/transform/relations/utils/types.d.ts +10 -1
  213. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  214. package/dist/services/document-service/transform/types.d.ts +4 -4
  215. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  216. package/dist/services/document-service/utils/populate.d.ts +9 -2
  217. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  218. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  219. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  220. package/dist/services/entity-service/index.d.ts +4 -6
  221. package/dist/services/entity-service/index.d.ts.map +1 -1
  222. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  223. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  224. package/dist/services/entity-validator/index.d.ts +16 -2
  225. package/dist/services/entity-validator/index.d.ts.map +1 -1
  226. package/dist/services/entity-validator/validators.d.ts +36 -25
  227. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  228. package/dist/services/event-hub.d.ts +1 -0
  229. package/dist/services/event-hub.d.ts.map +1 -1
  230. package/dist/services/features.d.ts +3 -3
  231. package/dist/services/features.d.ts.map +1 -1
  232. package/dist/services/fs.d.ts +2 -2
  233. package/dist/services/fs.d.ts.map +1 -1
  234. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  235. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  236. package/dist/services/metrics/index.d.ts +2 -2
  237. package/dist/services/metrics/index.d.ts.map +1 -1
  238. package/dist/services/metrics/middleware.d.ts +2 -2
  239. package/dist/services/metrics/middleware.d.ts.map +1 -1
  240. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  241. package/dist/services/metrics/sender.d.ts +3 -3
  242. package/dist/services/metrics/sender.d.ts.map +1 -1
  243. package/dist/services/query-params.d.ts +7 -0
  244. package/dist/services/query-params.d.ts.map +1 -0
  245. package/dist/services/reloader.d.ts +7 -0
  246. package/dist/services/reloader.d.ts.map +1 -0
  247. package/dist/services/server/admin-api.d.ts +3 -3
  248. package/dist/services/server/admin-api.d.ts.map +1 -1
  249. package/dist/services/server/api.d.ts +3 -3
  250. package/dist/services/server/api.d.ts.map +1 -1
  251. package/dist/services/server/compose-endpoint.d.ts +2 -2
  252. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  253. package/dist/services/server/content-api.d.ts +3 -3
  254. package/dist/services/server/content-api.d.ts.map +1 -1
  255. package/dist/services/server/http-server.d.ts +2 -2
  256. package/dist/services/server/http-server.d.ts.map +1 -1
  257. package/dist/services/server/index.d.ts +2 -2
  258. package/dist/services/server/index.d.ts.map +1 -1
  259. package/dist/services/server/koa.d.ts.map +1 -1
  260. package/dist/services/server/middleware.d.ts +4 -4
  261. package/dist/services/server/middleware.d.ts.map +1 -1
  262. package/dist/services/server/policy.d.ts +3 -3
  263. package/dist/services/server/policy.d.ts.map +1 -1
  264. package/dist/services/server/register-middlewares.d.ts +2 -2
  265. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  266. package/dist/services/server/register-routes.d.ts +2 -2
  267. package/dist/services/server/register-routes.d.ts.map +1 -1
  268. package/dist/services/server/routing.d.ts +5 -5
  269. package/dist/services/server/routing.d.ts.map +1 -1
  270. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  271. package/dist/services/webhook-runner.d.ts +2 -1
  272. package/dist/services/webhook-runner.d.ts.map +1 -1
  273. package/dist/services/webhook-store.d.ts +2 -8
  274. package/dist/services/webhook-store.d.ts.map +1 -1
  275. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  276. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  277. package/dist/utils/fetch.d.ts +3 -3
  278. package/dist/utils/fetch.d.ts.map +1 -1
  279. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  280. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  281. package/dist/utils/index.d.ts +2 -1
  282. package/dist/utils/index.d.ts.map +1 -1
  283. package/dist/utils/is-initialized.d.ts +2 -2
  284. package/dist/utils/is-initialized.d.ts.map +1 -1
  285. package/dist/utils/load-files.d.ts.map +1 -1
  286. package/dist/utils/open-browser.d.ts +2 -2
  287. package/dist/utils/open-browser.d.ts.map +1 -1
  288. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  289. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  290. package/dist/utils/signals.d.ts +2 -2
  291. package/dist/utils/signals.d.ts.map +1 -1
  292. package/dist/utils/startup-logger.d.ts +2 -2
  293. package/dist/utils/startup-logger.d.ts.map +1 -1
  294. package/dist/utils/transform-content-types-to-models.d.ts +377 -90
  295. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  296. package/dist/utils/update-notifier/index.d.ts +2 -7
  297. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  298. package/package.json +43 -40
  299. package/dist/Strapi.js +0 -447
  300. package/dist/Strapi.js.map +0 -1
  301. package/dist/Strapi.mjs +0 -446
  302. package/dist/Strapi.mjs.map +0 -1
  303. package/dist/compile.js +0 -18
  304. package/dist/compile.js.map +0 -1
  305. package/dist/compile.mjs +0 -17
  306. package/dist/compile.mjs.map +0 -1
  307. package/dist/configuration/config-loader.js +0 -102
  308. package/dist/configuration/config-loader.js.map +0 -1
  309. package/dist/configuration/config-loader.mjs +0 -100
  310. package/dist/configuration/config-loader.mjs.map +0 -1
  311. package/dist/configuration/index.js +0 -78
  312. package/dist/configuration/index.js.map +0 -1
  313. package/dist/configuration/index.mjs +0 -74
  314. package/dist/configuration/index.mjs.map +0 -1
  315. package/dist/container.js +0 -30
  316. package/dist/container.js.map +0 -1
  317. package/dist/container.mjs +0 -30
  318. package/dist/container.mjs.map +0 -1
  319. package/dist/core-api/controller/collection-type.js +0 -81
  320. package/dist/core-api/controller/collection-type.js.map +0 -1
  321. package/dist/core-api/controller/collection-type.mjs +0 -81
  322. package/dist/core-api/controller/collection-type.mjs.map +0 -1
  323. package/dist/core-api/controller/index.js +0 -52
  324. package/dist/core-api/controller/index.js.map +0 -1
  325. package/dist/core-api/controller/index.mjs +0 -52
  326. package/dist/core-api/controller/index.mjs.map +0 -1
  327. package/dist/core-api/controller/single-type.js +0 -45
  328. package/dist/core-api/controller/single-type.js.map +0 -1
  329. package/dist/core-api/controller/single-type.mjs +0 -45
  330. package/dist/core-api/controller/single-type.mjs.map +0 -1
  331. package/dist/core-api/controller/transform.js +0 -79
  332. package/dist/core-api/controller/transform.js.map +0 -1
  333. package/dist/core-api/controller/transform.mjs +0 -79
  334. package/dist/core-api/controller/transform.mjs.map +0 -1
  335. package/dist/core-api/routes/index.js +0 -67
  336. package/dist/core-api/routes/index.js.map +0 -1
  337. package/dist/core-api/routes/index.mjs +0 -67
  338. package/dist/core-api/routes/index.mjs.map +0 -1
  339. package/dist/core-api/service/collection-type.js +0 -56
  340. package/dist/core-api/service/collection-type.js.map +0 -1
  341. package/dist/core-api/service/collection-type.mjs +0 -56
  342. package/dist/core-api/service/collection-type.mjs.map +0 -1
  343. package/dist/core-api/service/core-service.js +0 -12
  344. package/dist/core-api/service/core-service.js.map +0 -1
  345. package/dist/core-api/service/core-service.mjs +0 -12
  346. package/dist/core-api/service/core-service.mjs.map +0 -1
  347. package/dist/core-api/service/index.js +0 -16
  348. package/dist/core-api/service/index.js.map +0 -1
  349. package/dist/core-api/service/index.mjs +0 -16
  350. package/dist/core-api/service/index.mjs.map +0 -1
  351. package/dist/core-api/service/pagination.js +0 -78
  352. package/dist/core-api/service/pagination.js.map +0 -1
  353. package/dist/core-api/service/pagination.mjs +0 -78
  354. package/dist/core-api/service/pagination.mjs.map +0 -1
  355. package/dist/core-api/service/single-type.js +0 -40
  356. package/dist/core-api/service/single-type.js.map +0 -1
  357. package/dist/core-api/service/single-type.mjs +0 -40
  358. package/dist/core-api/service/single-type.mjs.map +0 -1
  359. package/dist/domain/content-type/index.js +0 -108
  360. package/dist/domain/content-type/index.js.map +0 -1
  361. package/dist/domain/content-type/index.mjs +0 -106
  362. package/dist/domain/content-type/index.mjs.map +0 -1
  363. package/dist/domain/content-type/validator.js +0 -77
  364. package/dist/domain/content-type/validator.js.map +0 -1
  365. package/dist/domain/content-type/validator.mjs +0 -75
  366. package/dist/domain/content-type/validator.mjs.map +0 -1
  367. package/dist/domain/module/index.js +0 -107
  368. package/dist/domain/module/index.js.map +0 -1
  369. package/dist/domain/module/index.mjs +0 -105
  370. package/dist/domain/module/index.mjs.map +0 -1
  371. package/dist/domain/module/validation.js +0 -25
  372. package/dist/domain/module/validation.js.map +0 -1
  373. package/dist/domain/module/validation.mjs +0 -25
  374. package/dist/domain/module/validation.mjs.map +0 -1
  375. package/dist/ee/index.js +0 -153
  376. package/dist/ee/index.js.map +0 -1
  377. package/dist/ee/index.mjs +0 -154
  378. package/dist/ee/index.mjs.map +0 -1
  379. package/dist/ee/license.js +0 -90
  380. package/dist/ee/license.js.map +0 -1
  381. package/dist/ee/license.mjs +0 -87
  382. package/dist/ee/license.mjs.map +0 -1
  383. package/dist/factories.js +0 -76
  384. package/dist/factories.js.map +0 -1
  385. package/dist/factories.mjs +0 -76
  386. package/dist/factories.mjs.map +0 -1
  387. package/dist/loaders/admin.js +0 -27
  388. package/dist/loaders/admin.js.map +0 -1
  389. package/dist/loaders/admin.mjs +0 -26
  390. package/dist/loaders/admin.mjs.map +0 -1
  391. package/dist/loaders/apis.js +0 -137
  392. package/dist/loaders/apis.js.map +0 -1
  393. package/dist/loaders/apis.mjs +0 -135
  394. package/dist/loaders/apis.mjs.map +0 -1
  395. package/dist/loaders/components.js +0 -38
  396. package/dist/loaders/components.js.map +0 -1
  397. package/dist/loaders/components.mjs +0 -37
  398. package/dist/loaders/components.mjs.map +0 -1
  399. package/dist/loaders/index.js +0 -26
  400. package/dist/loaders/index.js.map +0 -1
  401. package/dist/loaders/index.mjs +0 -26
  402. package/dist/loaders/index.mjs.map +0 -1
  403. package/dist/loaders/middlewares.js +0 -31
  404. package/dist/loaders/middlewares.js.map +0 -1
  405. package/dist/loaders/middlewares.mjs +0 -30
  406. package/dist/loaders/middlewares.mjs.map +0 -1
  407. package/dist/loaders/plugins/get-enabled-plugins.js +0 -111
  408. package/dist/loaders/plugins/get-enabled-plugins.js.map +0 -1
  409. package/dist/loaders/plugins/get-enabled-plugins.mjs +0 -109
  410. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +0 -1
  411. package/dist/loaders/plugins/get-user-plugins-config.js +0 -27
  412. package/dist/loaders/plugins/get-user-plugins-config.js.map +0 -1
  413. package/dist/loaders/plugins/get-user-plugins-config.mjs +0 -25
  414. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +0 -1
  415. package/dist/loaders/plugins/index.js +0 -118
  416. package/dist/loaders/plugins/index.js.map +0 -1
  417. package/dist/loaders/plugins/index.mjs +0 -117
  418. package/dist/loaders/plugins/index.mjs.map +0 -1
  419. package/dist/loaders/policies.js +0 -25
  420. package/dist/loaders/policies.js.map +0 -1
  421. package/dist/loaders/policies.mjs +0 -24
  422. package/dist/loaders/policies.mjs.map +0 -1
  423. package/dist/loaders/sanitizers.js +0 -6
  424. package/dist/loaders/sanitizers.js.map +0 -1
  425. package/dist/loaders/sanitizers.mjs +0 -7
  426. package/dist/loaders/sanitizers.mjs.map +0 -1
  427. package/dist/loaders/src-index.js +0 -33
  428. package/dist/loaders/src-index.js.map +0 -1
  429. package/dist/loaders/src-index.mjs +0 -34
  430. package/dist/loaders/src-index.mjs.map +0 -1
  431. package/dist/loaders/validators.js +0 -6
  432. package/dist/loaders/validators.js.map +0 -1
  433. package/dist/loaders/validators.mjs +0 -7
  434. package/dist/loaders/validators.mjs.map +0 -1
  435. package/dist/middlewares/body.js +0 -65
  436. package/dist/middlewares/body.js.map +0 -1
  437. package/dist/middlewares/body.mjs +0 -61
  438. package/dist/middlewares/body.mjs.map +0 -1
  439. package/dist/middlewares/compression.js +0 -8
  440. package/dist/middlewares/compression.js.map +0 -1
  441. package/dist/middlewares/compression.mjs +0 -6
  442. package/dist/middlewares/compression.mjs.map +0 -1
  443. package/dist/middlewares/cors.js +0 -51
  444. package/dist/middlewares/cors.js.map +0 -1
  445. package/dist/middlewares/cors.mjs +0 -49
  446. package/dist/middlewares/cors.mjs.map +0 -1
  447. package/dist/middlewares/errors.js +0 -33
  448. package/dist/middlewares/errors.js.map +0 -1
  449. package/dist/middlewares/errors.mjs +0 -33
  450. package/dist/middlewares/errors.mjs.map +0 -1
  451. package/dist/middlewares/favicon.js +0 -22
  452. package/dist/middlewares/favicon.js.map +0 -1
  453. package/dist/middlewares/favicon.mjs +0 -20
  454. package/dist/middlewares/favicon.mjs.map +0 -1
  455. package/dist/middlewares/index.js +0 -34
  456. package/dist/middlewares/index.js.map +0 -1
  457. package/dist/middlewares/index.mjs +0 -34
  458. package/dist/middlewares/index.mjs.map +0 -1
  459. package/dist/middlewares/ip.js +0 -8
  460. package/dist/middlewares/ip.js.map +0 -1
  461. package/dist/middlewares/ip.mjs +0 -6
  462. package/dist/middlewares/ip.mjs.map +0 -1
  463. package/dist/middlewares/logger.js +0 -12
  464. package/dist/middlewares/logger.js.map +0 -1
  465. package/dist/middlewares/logger.mjs +0 -12
  466. package/dist/middlewares/logger.mjs.map +0 -1
  467. package/dist/middlewares/powered-by.js +0 -14
  468. package/dist/middlewares/powered-by.js.map +0 -1
  469. package/dist/middlewares/powered-by.mjs +0 -14
  470. package/dist/middlewares/powered-by.mjs.map +0 -1
  471. package/dist/middlewares/public.js +0 -34
  472. package/dist/middlewares/public.js.map +0 -1
  473. package/dist/middlewares/public.mjs +0 -32
  474. package/dist/middlewares/public.mjs.map +0 -1
  475. package/dist/middlewares/query.js +0 -40
  476. package/dist/middlewares/query.js.map +0 -1
  477. package/dist/middlewares/query.mjs +0 -38
  478. package/dist/middlewares/query.mjs.map +0 -1
  479. package/dist/middlewares/response-time.js +0 -12
  480. package/dist/middlewares/response-time.js.map +0 -1
  481. package/dist/middlewares/response-time.mjs +0 -12
  482. package/dist/middlewares/response-time.mjs.map +0 -1
  483. package/dist/middlewares/responses.js +0 -15
  484. package/dist/middlewares/responses.js.map +0 -1
  485. package/dist/middlewares/responses.mjs +0 -15
  486. package/dist/middlewares/responses.mjs.map +0 -1
  487. package/dist/middlewares/security.js +0 -71
  488. package/dist/middlewares/security.js.map +0 -1
  489. package/dist/middlewares/security.mjs +0 -69
  490. package/dist/middlewares/security.mjs.map +0 -1
  491. package/dist/middlewares/session.js +0 -30
  492. package/dist/middlewares/session.js.map +0 -1
  493. package/dist/middlewares/session.mjs +0 -28
  494. package/dist/middlewares/session.mjs.map +0 -1
  495. package/dist/registries/apis.js +0 -23
  496. package/dist/registries/apis.js.map +0 -1
  497. package/dist/registries/apis.mjs +0 -24
  498. package/dist/registries/apis.mjs.map +0 -1
  499. package/dist/registries/components.js +0 -45
  500. package/dist/registries/components.js.map +0 -1
  501. package/dist/registries/components.mjs +0 -46
  502. package/dist/registries/components.mjs.map +0 -1
  503. package/dist/registries/config.d.ts +0 -4
  504. package/dist/registries/config.d.ts.map +0 -1
  505. package/dist/registries/config.js +0 -23
  506. package/dist/registries/config.js.map +0 -1
  507. package/dist/registries/config.mjs +0 -22
  508. package/dist/registries/config.mjs.map +0 -1
  509. package/dist/registries/content-types.js +0 -70
  510. package/dist/registries/content-types.js.map +0 -1
  511. package/dist/registries/content-types.mjs +0 -71
  512. package/dist/registries/content-types.mjs.map +0 -1
  513. package/dist/registries/controllers.js +0 -80
  514. package/dist/registries/controllers.js.map +0 -1
  515. package/dist/registries/controllers.mjs +0 -81
  516. package/dist/registries/controllers.mjs.map +0 -1
  517. package/dist/registries/custom-fields.js +0 -71
  518. package/dist/registries/custom-fields.js.map +0 -1
  519. package/dist/registries/custom-fields.mjs +0 -72
  520. package/dist/registries/custom-fields.mjs.map +0 -1
  521. package/dist/registries/hooks.js +0 -58
  522. package/dist/registries/hooks.js.map +0 -1
  523. package/dist/registries/hooks.mjs +0 -59
  524. package/dist/registries/hooks.mjs.map +0 -1
  525. package/dist/registries/middlewares.js +0 -60
  526. package/dist/registries/middlewares.js.map +0 -1
  527. package/dist/registries/middlewares.mjs +0 -61
  528. package/dist/registries/middlewares.mjs.map +0 -1
  529. package/dist/registries/models.js +0 -16
  530. package/dist/registries/models.js.map +0 -1
  531. package/dist/registries/models.mjs +0 -16
  532. package/dist/registries/models.mjs.map +0 -1
  533. package/dist/registries/modules.js +0 -39
  534. package/dist/registries/modules.js.map +0 -1
  535. package/dist/registries/modules.mjs +0 -40
  536. package/dist/registries/modules.mjs.map +0 -1
  537. package/dist/registries/namespace.js +0 -27
  538. package/dist/registries/namespace.js.map +0 -1
  539. package/dist/registries/namespace.mjs +0 -27
  540. package/dist/registries/namespace.mjs.map +0 -1
  541. package/dist/registries/plugins.js +0 -23
  542. package/dist/registries/plugins.js.map +0 -1
  543. package/dist/registries/plugins.mjs +0 -24
  544. package/dist/registries/plugins.mjs.map +0 -1
  545. package/dist/registries/policies.js +0 -62
  546. package/dist/registries/policies.js.map +0 -1
  547. package/dist/registries/policies.mjs +0 -63
  548. package/dist/registries/policies.mjs.map +0 -1
  549. package/dist/registries/sanitizers.js +0 -25
  550. package/dist/registries/sanitizers.js.map +0 -1
  551. package/dist/registries/sanitizers.mjs +0 -24
  552. package/dist/registries/sanitizers.mjs.map +0 -1
  553. package/dist/registries/services.js +0 -80
  554. package/dist/registries/services.js.map +0 -1
  555. package/dist/registries/services.mjs +0 -81
  556. package/dist/registries/services.mjs.map +0 -1
  557. package/dist/registries/validators.js +0 -25
  558. package/dist/registries/validators.js.map +0 -1
  559. package/dist/registries/validators.mjs +0 -24
  560. package/dist/registries/validators.mjs.map +0 -1
  561. package/dist/services/auth/index.js +0 -81
  562. package/dist/services/auth/index.js.map +0 -1
  563. package/dist/services/auth/index.mjs +0 -80
  564. package/dist/services/auth/index.mjs.map +0 -1
  565. package/dist/services/content-api/index.js +0 -59
  566. package/dist/services/content-api/index.js.map +0 -1
  567. package/dist/services/content-api/index.mjs +0 -58
  568. package/dist/services/content-api/index.mjs.map +0 -1
  569. package/dist/services/content-api/permissions/engine.js +0 -7
  570. package/dist/services/content-api/permissions/engine.js.map +0 -1
  571. package/dist/services/content-api/permissions/engine.mjs +0 -6
  572. package/dist/services/content-api/permissions/engine.mjs.map +0 -1
  573. package/dist/services/content-api/permissions/index.js +0 -87
  574. package/dist/services/content-api/permissions/index.js.map +0 -1
  575. package/dist/services/content-api/permissions/index.mjs +0 -86
  576. package/dist/services/content-api/permissions/index.mjs.map +0 -1
  577. package/dist/services/content-api/permissions/providers/action.js +0 -16
  578. package/dist/services/content-api/permissions/providers/action.js.map +0 -1
  579. package/dist/services/content-api/permissions/providers/action.mjs +0 -17
  580. package/dist/services/content-api/permissions/providers/action.mjs.map +0 -1
  581. package/dist/services/content-api/permissions/providers/condition.js +0 -16
  582. package/dist/services/content-api/permissions/providers/condition.js.map +0 -1
  583. package/dist/services/content-api/permissions/providers/condition.mjs +0 -17
  584. package/dist/services/content-api/permissions/providers/condition.mjs.map +0 -1
  585. package/dist/services/core-store.js +0 -107
  586. package/dist/services/core-store.js.map +0 -1
  587. package/dist/services/core-store.mjs +0 -107
  588. package/dist/services/core-store.mjs.map +0 -1
  589. package/dist/services/cron.js +0 -63
  590. package/dist/services/cron.js.map +0 -1
  591. package/dist/services/cron.mjs +0 -64
  592. package/dist/services/cron.mjs.map +0 -1
  593. package/dist/services/custom-fields.js +0 -10
  594. package/dist/services/custom-fields.js.map +0 -1
  595. package/dist/services/custom-fields.mjs +0 -11
  596. package/dist/services/custom-fields.mjs.map +0 -1
  597. package/dist/services/document-service/common.js +0 -7
  598. package/dist/services/document-service/common.js.map +0 -1
  599. package/dist/services/document-service/common.mjs +0 -7
  600. package/dist/services/document-service/common.mjs.map +0 -1
  601. package/dist/services/document-service/draft-and-publish.js +0 -41
  602. package/dist/services/document-service/draft-and-publish.js.map +0 -1
  603. package/dist/services/document-service/draft-and-publish.mjs +0 -41
  604. package/dist/services/document-service/draft-and-publish.mjs.map +0 -1
  605. package/dist/services/document-service/index.js +0 -22
  606. package/dist/services/document-service/index.js.map +0 -1
  607. package/dist/services/document-service/index.mjs +0 -22
  608. package/dist/services/document-service/index.mjs.map +0 -1
  609. package/dist/services/document-service/internationalization.js +0 -54
  610. package/dist/services/document-service/internationalization.js.map +0 -1
  611. package/dist/services/document-service/internationalization.mjs +0 -54
  612. package/dist/services/document-service/internationalization.mjs.map +0 -1
  613. package/dist/services/document-service/middlewares.d.ts +0 -8
  614. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  615. package/dist/services/document-service/middlewares.js +0 -46
  616. package/dist/services/document-service/middlewares.js.map +0 -1
  617. package/dist/services/document-service/middlewares.mjs +0 -46
  618. package/dist/services/document-service/middlewares.mjs.map +0 -1
  619. package/dist/services/document-service/repository.js +0 -309
  620. package/dist/services/document-service/repository.js.map +0 -1
  621. package/dist/services/document-service/repository.mjs +0 -309
  622. package/dist/services/document-service/repository.mjs.map +0 -1
  623. package/dist/services/document-service/transform/data.js +0 -13
  624. package/dist/services/document-service/transform/data.js.map +0 -1
  625. package/dist/services/document-service/transform/data.mjs +0 -13
  626. package/dist/services/document-service/transform/data.mjs.map +0 -1
  627. package/dist/services/document-service/transform/fields.js +0 -24
  628. package/dist/services/document-service/transform/fields.js.map +0 -1
  629. package/dist/services/document-service/transform/fields.mjs +0 -24
  630. package/dist/services/document-service/transform/fields.mjs.map +0 -1
  631. package/dist/services/document-service/transform/filters.d.ts +0 -3
  632. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  633. package/dist/services/document-service/transform/id-map.js +0 -72
  634. package/dist/services/document-service/transform/id-map.js.map +0 -1
  635. package/dist/services/document-service/transform/id-map.mjs +0 -72
  636. package/dist/services/document-service/transform/id-map.mjs.map +0 -1
  637. package/dist/services/document-service/transform/id-transform.js +0 -27
  638. package/dist/services/document-service/transform/id-transform.js.map +0 -1
  639. package/dist/services/document-service/transform/id-transform.mjs +0 -27
  640. package/dist/services/document-service/transform/id-transform.mjs.map +0 -1
  641. package/dist/services/document-service/transform/populate.js +0 -21
  642. package/dist/services/document-service/transform/populate.js.map +0 -1
  643. package/dist/services/document-service/transform/populate.mjs +0 -21
  644. package/dist/services/document-service/transform/populate.mjs.map +0 -1
  645. package/dist/services/document-service/transform/relations/extract/data-ids.js +0 -79
  646. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +0 -1
  647. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +0 -79
  648. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +0 -1
  649. package/dist/services/document-service/transform/relations/transform/data-ids.js +0 -117
  650. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +0 -1
  651. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +0 -117
  652. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +0 -1
  653. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  654. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  655. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  656. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  657. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  658. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  659. package/dist/services/document-service/transform/relations/utils/i18n.js +0 -31
  660. package/dist/services/document-service/transform/relations/utils/i18n.js.map +0 -1
  661. package/dist/services/document-service/transform/relations/utils/i18n.mjs +0 -31
  662. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +0 -1
  663. package/dist/services/document-service/transform/sort.d.ts +0 -5
  664. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  665. package/dist/services/document-service/transform/utils.d.ts +0 -9
  666. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  667. package/dist/services/document-service/utils/populate.js +0 -41
  668. package/dist/services/document-service/utils/populate.js.map +0 -1
  669. package/dist/services/document-service/utils/populate.mjs +0 -41
  670. package/dist/services/document-service/utils/populate.mjs.map +0 -1
  671. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  672. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  673. package/dist/services/entity-service/attributes/index.js +0 -22
  674. package/dist/services/entity-service/attributes/index.js.map +0 -1
  675. package/dist/services/entity-service/attributes/index.mjs +0 -22
  676. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  677. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  678. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  679. package/dist/services/entity-service/attributes/transforms.js +0 -20
  680. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  681. package/dist/services/entity-service/attributes/transforms.mjs +0 -19
  682. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  683. package/dist/services/entity-service/components.d.ts +0 -23
  684. package/dist/services/entity-service/components.d.ts.map +0 -1
  685. package/dist/services/entity-service/components.js +0 -384
  686. package/dist/services/entity-service/components.js.map +0 -1
  687. package/dist/services/entity-service/components.mjs +0 -382
  688. package/dist/services/entity-service/components.mjs.map +0 -1
  689. package/dist/services/entity-service/index.js +0 -328
  690. package/dist/services/entity-service/index.js.map +0 -1
  691. package/dist/services/entity-service/index.mjs +0 -326
  692. package/dist/services/entity-service/index.mjs.map +0 -1
  693. package/dist/services/entity-service/params.d.ts +0 -8
  694. package/dist/services/entity-service/params.d.ts.map +0 -1
  695. package/dist/services/entity-service/params.js +0 -8
  696. package/dist/services/entity-service/params.js.map +0 -1
  697. package/dist/services/entity-service/params.mjs +0 -8
  698. package/dist/services/entity-service/params.mjs.map +0 -1
  699. package/dist/services/entity-validator/blocks-validator.js +0 -127
  700. package/dist/services/entity-validator/blocks-validator.js.map +0 -1
  701. package/dist/services/entity-validator/blocks-validator.mjs +0 -128
  702. package/dist/services/entity-validator/blocks-validator.mjs.map +0 -1
  703. package/dist/services/entity-validator/index.js +0 -322
  704. package/dist/services/entity-validator/index.js.map +0 -1
  705. package/dist/services/entity-validator/index.mjs +0 -321
  706. package/dist/services/entity-validator/index.mjs.map +0 -1
  707. package/dist/services/entity-validator/validators.js +0 -121
  708. package/dist/services/entity-validator/validators.js.map +0 -1
  709. package/dist/services/entity-validator/validators.mjs +0 -119
  710. package/dist/services/entity-validator/validators.mjs.map +0 -1
  711. package/dist/services/errors.js +0 -76
  712. package/dist/services/errors.js.map +0 -1
  713. package/dist/services/errors.mjs +0 -74
  714. package/dist/services/errors.mjs.map +0 -1
  715. package/dist/services/event-hub.js +0 -67
  716. package/dist/services/event-hub.js.map +0 -1
  717. package/dist/services/event-hub.mjs +0 -68
  718. package/dist/services/event-hub.mjs.map +0 -1
  719. package/dist/services/features.js +0 -17
  720. package/dist/services/features.js.map +0 -1
  721. package/dist/services/features.mjs +0 -17
  722. package/dist/services/features.mjs.map +0 -1
  723. package/dist/services/fs.js +0 -51
  724. package/dist/services/fs.js.map +0 -1
  725. package/dist/services/fs.mjs +0 -49
  726. package/dist/services/fs.mjs.map +0 -1
  727. package/dist/services/metrics/admin-user-hash.js +0 -14
  728. package/dist/services/metrics/admin-user-hash.js.map +0 -1
  729. package/dist/services/metrics/admin-user-hash.mjs +0 -12
  730. package/dist/services/metrics/admin-user-hash.mjs.map +0 -1
  731. package/dist/services/metrics/index.js +0 -45
  732. package/dist/services/metrics/index.js.map +0 -1
  733. package/dist/services/metrics/index.mjs +0 -46
  734. package/dist/services/metrics/index.mjs.map +0 -1
  735. package/dist/services/metrics/is-truthy.js +0 -9
  736. package/dist/services/metrics/is-truthy.js.map +0 -1
  737. package/dist/services/metrics/is-truthy.mjs +0 -8
  738. package/dist/services/metrics/is-truthy.mjs.map +0 -1
  739. package/dist/services/metrics/middleware.js +0 -25
  740. package/dist/services/metrics/middleware.js.map +0 -1
  741. package/dist/services/metrics/middleware.mjs +0 -26
  742. package/dist/services/metrics/middleware.mjs.map +0 -1
  743. package/dist/services/metrics/rate-limiter.js +0 -21
  744. package/dist/services/metrics/rate-limiter.js.map +0 -1
  745. package/dist/services/metrics/rate-limiter.mjs +0 -22
  746. package/dist/services/metrics/rate-limiter.mjs.map +0 -1
  747. package/dist/services/metrics/sender.js +0 -76
  748. package/dist/services/metrics/sender.js.map +0 -1
  749. package/dist/services/metrics/sender.mjs +0 -70
  750. package/dist/services/metrics/sender.mjs.map +0 -1
  751. package/dist/services/request-context.js +0 -13
  752. package/dist/services/request-context.js.map +0 -1
  753. package/dist/services/request-context.mjs +0 -14
  754. package/dist/services/request-context.mjs.map +0 -1
  755. package/dist/services/server/admin-api.js +0 -13
  756. package/dist/services/server/admin-api.js.map +0 -1
  757. package/dist/services/server/admin-api.mjs +0 -13
  758. package/dist/services/server/admin-api.mjs.map +0 -1
  759. package/dist/services/server/api.js +0 -30
  760. package/dist/services/server/api.js.map +0 -1
  761. package/dist/services/server/api.mjs +0 -28
  762. package/dist/services/server/api.mjs.map +0 -1
  763. package/dist/services/server/compose-endpoint.js +0 -118
  764. package/dist/services/server/compose-endpoint.js.map +0 -1
  765. package/dist/services/server/compose-endpoint.mjs +0 -117
  766. package/dist/services/server/compose-endpoint.mjs.map +0 -1
  767. package/dist/services/server/content-api.js +0 -12
  768. package/dist/services/server/content-api.js.map +0 -1
  769. package/dist/services/server/content-api.mjs +0 -12
  770. package/dist/services/server/content-api.mjs.map +0 -1
  771. package/dist/services/server/http-server.js +0 -50
  772. package/dist/services/server/http-server.js.map +0 -1
  773. package/dist/services/server/http-server.mjs +0 -48
  774. package/dist/services/server/http-server.mjs.map +0 -1
  775. package/dist/services/server/index.js +0 -88
  776. package/dist/services/server/index.js.map +0 -1
  777. package/dist/services/server/index.mjs +0 -86
  778. package/dist/services/server/index.mjs.map +0 -1
  779. package/dist/services/server/koa.js +0 -52
  780. package/dist/services/server/koa.js.map +0 -1
  781. package/dist/services/server/koa.mjs +0 -48
  782. package/dist/services/server/koa.mjs.map +0 -1
  783. package/dist/services/server/middleware.js +0 -92
  784. package/dist/services/server/middleware.js.map +0 -1
  785. package/dist/services/server/middleware.mjs +0 -90
  786. package/dist/services/server/middleware.mjs.map +0 -1
  787. package/dist/services/server/policy.js +0 -20
  788. package/dist/services/server/policy.js.map +0 -1
  789. package/dist/services/server/policy.mjs +0 -20
  790. package/dist/services/server/policy.mjs.map +0 -1
  791. package/dist/services/server/register-middlewares.js +0 -72
  792. package/dist/services/server/register-middlewares.js.map +0 -1
  793. package/dist/services/server/register-middlewares.mjs +0 -73
  794. package/dist/services/server/register-middlewares.mjs.map +0 -1
  795. package/dist/services/server/register-routes.js +0 -76
  796. package/dist/services/server/register-routes.js.map +0 -1
  797. package/dist/services/server/register-routes.mjs +0 -75
  798. package/dist/services/server/register-routes.mjs.map +0 -1
  799. package/dist/services/server/routing.js +0 -91
  800. package/dist/services/server/routing.js.map +0 -1
  801. package/dist/services/server/routing.mjs +0 -89
  802. package/dist/services/server/routing.mjs.map +0 -1
  803. package/dist/services/utils/dynamic-zones.js +0 -16
  804. package/dist/services/utils/dynamic-zones.js.map +0 -1
  805. package/dist/services/utils/dynamic-zones.mjs +0 -17
  806. package/dist/services/utils/dynamic-zones.mjs.map +0 -1
  807. package/dist/services/utils/upload-files.d.ts +0 -8
  808. package/dist/services/utils/upload-files.d.ts.map +0 -1
  809. package/dist/services/utils/upload-files.js +0 -64
  810. package/dist/services/utils/upload-files.js.map +0 -1
  811. package/dist/services/utils/upload-files.mjs +0 -63
  812. package/dist/services/utils/upload-files.mjs.map +0 -1
  813. package/dist/services/webhook-runner.js +0 -133
  814. package/dist/services/webhook-runner.js.map +0 -1
  815. package/dist/services/webhook-runner.mjs +0 -131
  816. package/dist/services/webhook-runner.mjs.map +0 -1
  817. package/dist/services/webhook-store.js +0 -104
  818. package/dist/services/webhook-store.js.map +0 -1
  819. package/dist/services/webhook-store.mjs +0 -104
  820. package/dist/services/webhook-store.mjs.map +0 -1
  821. package/dist/services/worker-queue.js +0 -56
  822. package/dist/services/worker-queue.js.map +0 -1
  823. package/dist/services/worker-queue.mjs +0 -55
  824. package/dist/services/worker-queue.mjs.map +0 -1
  825. package/dist/utils/convert-custom-field-type.js +0 -24
  826. package/dist/utils/convert-custom-field-type.js.map +0 -1
  827. package/dist/utils/convert-custom-field-type.mjs +0 -24
  828. package/dist/utils/convert-custom-field-type.mjs.map +0 -1
  829. package/dist/utils/cron.js +0 -38
  830. package/dist/utils/cron.js.map +0 -1
  831. package/dist/utils/cron.mjs +0 -38
  832. package/dist/utils/cron.mjs.map +0 -1
  833. package/dist/utils/fetch.js +0 -20
  834. package/dist/utils/fetch.js.map +0 -1
  835. package/dist/utils/fetch.mjs +0 -20
  836. package/dist/utils/fetch.mjs.map +0 -1
  837. package/dist/utils/filepath-to-prop-path.js +0 -12
  838. package/dist/utils/filepath-to-prop-path.js.map +0 -1
  839. package/dist/utils/filepath-to-prop-path.mjs +0 -10
  840. package/dist/utils/filepath-to-prop-path.mjs.map +0 -1
  841. package/dist/utils/get-dirs.d.ts +0 -9
  842. package/dist/utils/get-dirs.d.ts.map +0 -1
  843. package/dist/utils/get-dirs.js +0 -30
  844. package/dist/utils/get-dirs.js.map +0 -1
  845. package/dist/utils/get-dirs.mjs +0 -30
  846. package/dist/utils/get-dirs.mjs.map +0 -1
  847. package/dist/utils/is-initialized.js +0 -16
  848. package/dist/utils/is-initialized.js.map +0 -1
  849. package/dist/utils/is-initialized.mjs +0 -16
  850. package/dist/utils/is-initialized.mjs.map +0 -1
  851. package/dist/utils/lifecycles.js +0 -9
  852. package/dist/utils/lifecycles.js.map +0 -1
  853. package/dist/utils/lifecycles.mjs +0 -9
  854. package/dist/utils/lifecycles.mjs.map +0 -1
  855. package/dist/utils/load-config-file.js +0 -45
  856. package/dist/utils/load-config-file.js.map +0 -1
  857. package/dist/utils/load-config-file.mjs +0 -42
  858. package/dist/utils/load-config-file.mjs.map +0 -1
  859. package/dist/utils/load-files.js +0 -39
  860. package/dist/utils/load-files.js.map +0 -1
  861. package/dist/utils/load-files.mjs +0 -35
  862. package/dist/utils/load-files.mjs.map +0 -1
  863. package/dist/utils/open-browser.js +0 -11
  864. package/dist/utils/open-browser.js.map +0 -1
  865. package/dist/utils/open-browser.mjs +0 -9
  866. package/dist/utils/open-browser.mjs.map +0 -1
  867. package/dist/utils/signals.js +0 -17
  868. package/dist/utils/signals.js.map +0 -1
  869. package/dist/utils/signals.mjs +0 -17
  870. package/dist/utils/signals.mjs.map +0 -1
  871. package/dist/utils/startup-logger.js +0 -81
  872. package/dist/utils/startup-logger.js.map +0 -1
  873. package/dist/utils/startup-logger.mjs +0 -77
  874. package/dist/utils/startup-logger.mjs.map +0 -1
  875. package/dist/utils/transform-content-types-to-models.js +0 -237
  876. package/dist/utils/transform-content-types-to-models.js.map +0 -1
  877. package/dist/utils/transform-content-types-to-models.mjs +0 -234
  878. package/dist/utils/transform-content-types-to-models.mjs.map +0 -1
  879. package/dist/utils/update-notifier/index.js +0 -88
  880. package/dist/utils/update-notifier/index.js.map +0 -1
  881. package/dist/utils/update-notifier/index.mjs +0 -81
  882. package/dist/utils/update-notifier/index.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/ee/index.ts"],"sourcesContent":["import { pick, isEqual } from 'lodash/fp';\nimport type { Logger } from '@strapi/logger';\nimport type { Strapi } from '@strapi/types';\n\nimport { readLicense, verifyLicense, fetchLicense, LicenseCheckError } from './license';\nimport { shiftCronExpression } from '../utils/cron';\n\nconst ONE_MINUTE = 1000 * 60;\n\ninterface EE {\n enabled: boolean;\n licenseInfo: {\n licenseKey?: string;\n features?: Array<{ name: string } | string>;\n expireAt?: string;\n seats?: number;\n type?: string;\n };\n logger?: Logger;\n}\n\nconst ee: EE = {\n enabled: false,\n licenseInfo: {},\n};\n\nconst disable = (message: string) => {\n // Prevent emitting ee.disable if it was already disabled\n const shouldEmitEvent = ee.enabled !== false;\n\n ee.logger?.warn(`${message} Switching to CE.`);\n // Only keep the license key for potential re-enabling during a later check\n ee.licenseInfo = pick('licenseKey', ee.licenseInfo);\n\n ee.enabled = false;\n\n if (shouldEmitEvent) {\n // Notify EE features that they should be disabled\n strapi.eventHub.emit('ee.disable');\n }\n};\n\nconst enable = () => {\n // Prevent emitting ee.enable if it was already enabled\n const shouldEmitEvent = ee.enabled !== true;\n\n ee.enabled = true;\n\n if (shouldEmitEvent) {\n // Notify EE features that they should be disabled\n strapi.eventHub.emit('ee.enable');\n }\n};\n\nlet initialized = false;\n\n/**\n * Optimistically enable EE if the format of the license is valid, only run once.\n */\nconst init = (licenseDir: string, logger?: Logger) => {\n if (initialized) {\n return;\n }\n\n initialized = true;\n ee.logger = logger;\n\n if (process.env.STRAPI_DISABLE_EE?.toLowerCase() === 'true') {\n return;\n }\n\n try {\n const license = process.env.STRAPI_LICENSE || readLicense(licenseDir);\n\n if (license) {\n ee.licenseInfo = verifyLicense(license);\n enable();\n }\n } catch (error) {\n if (error instanceof Error) {\n disable(error.message);\n } else {\n disable('Invalid license.');\n }\n }\n};\n\n/**\n * Contact the license registry to update the license to its latest state.\n *\n * Store the result in database to avoid unecessary requests, and will fallback to that in case of a network failure.\n */\nconst onlineUpdate = async ({ strapi }: { strapi: Strapi }) => {\n const { get, commit, rollback } = (await strapi.db?.transaction()) as any;\n const transaction = get();\n\n try {\n const storedInfo = await strapi.db\n ?.queryBuilder('strapi::core-store')\n .where({ key: 'ee_information' })\n .select('value')\n .first()\n .transacting(transaction)\n .forUpdate()\n .execute()\n .then((result: any) => (result ? JSON.parse(result.value) : result));\n\n const shouldContactRegistry = (storedInfo?.lastCheckAt ?? 0) < Date.now() - ONE_MINUTE;\n const result: {\n license?: string | null;\n error?: string;\n lastCheckAt?: number;\n } = { lastCheckAt: Date.now() };\n\n const fallback = (error: Error) => {\n if (error instanceof LicenseCheckError && error.shouldFallback && storedInfo?.license) {\n ee.logger?.warn(\n `${error.message} The last stored one will be used as a potential fallback.`\n );\n return storedInfo.license;\n }\n\n result.error = error.message;\n disable(error.message);\n };\n\n if (!ee?.licenseInfo?.licenseKey) {\n throw new Error('Missing license key.');\n }\n\n const license = shouldContactRegistry\n ? await fetchLicense({ strapi }, ee.licenseInfo.licenseKey, strapi.config.get('uuid')).catch(\n fallback\n )\n : storedInfo.license;\n\n if (license) {\n try {\n // Verify license and check if its info changed\n const newLicenseInfo = verifyLicense(license);\n const licenseInfoChanged =\n !isEqual(newLicenseInfo.features, ee.licenseInfo.features) ||\n newLicenseInfo.seats !== ee.licenseInfo.seats ||\n newLicenseInfo.type !== ee.licenseInfo.type;\n\n // Store the new license info\n ee.licenseInfo = newLicenseInfo;\n const wasEnabled = ee.enabled;\n validateInfo();\n\n // Notify EE features\n if (licenseInfoChanged && wasEnabled) {\n strapi.eventHub.emit('ee.update');\n }\n } catch (error) {\n if (error instanceof Error) {\n disable(error.message);\n } else {\n disable('Invalid license.');\n }\n }\n } else if (!shouldContactRegistry) {\n disable(storedInfo.error);\n }\n\n if (shouldContactRegistry) {\n result.license = license ?? null;\n const query = strapi.db!.queryBuilder('strapi::core-store').transacting(transaction);\n\n if (!storedInfo) {\n query.insert({ key: 'ee_information', value: JSON.stringify(result) });\n } else {\n query.update({ value: JSON.stringify(result) }).where({ key: 'ee_information' });\n }\n\n await query.execute();\n }\n\n await commit();\n } catch (error) {\n // Example of errors: SQLite does not support FOR UPDATE\n await rollback();\n }\n};\n\nconst validateInfo = () => {\n if (typeof ee.licenseInfo.expireAt === 'undefined') {\n throw new Error('Missing license key.');\n }\n\n const expirationTime = new Date(ee.licenseInfo.expireAt).getTime();\n\n if (expirationTime < new Date().getTime()) {\n return disable('License expired.');\n }\n\n enable();\n};\n\nconst checkLicense = async ({ strapi }: { strapi: Strapi }) => {\n const shouldStayOffline =\n ee.licenseInfo.type === 'gold' &&\n // This env variable support is temporarily used to ease the migration between online vs offline\n process.env.STRAPI_DISABLE_LICENSE_PING?.toLowerCase() === 'true';\n\n if (!shouldStayOffline) {\n await onlineUpdate({ strapi });\n strapi.cron.add({ [shiftCronExpression('0 0 */12 * * *')]: onlineUpdate });\n } else {\n if (!ee.licenseInfo.expireAt) {\n return disable('Your license does not have offline support.');\n }\n\n validateInfo();\n }\n};\n\nconst list = () => {\n return (\n ee.licenseInfo.features?.map((feature) =>\n typeof feature === 'object' ? feature : { name: feature }\n ) || []\n );\n};\n\nconst get = (featureName: string) => list().find((feature) => feature.name === featureName);\n\nexport default Object.freeze({\n init,\n checkLicense,\n\n get isEE() {\n return ee.enabled;\n },\n\n get seats() {\n return ee.licenseInfo.seats;\n },\n\n features: Object.freeze({\n list,\n get,\n isEnabled: (featureName: string) => get(featureName) !== undefined,\n }),\n});\n"],"names":["pick","license","readLicense","verifyLicense","strapi","get","result","LicenseCheckError","fetchLicense","isEqual","shiftCronExpression"],"mappings":"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"}
package/dist/ee/index.mjs DELETED
@@ -1,154 +0,0 @@
1
- import { pick, isEqual } from "lodash/fp";
2
- import { readLicense, verifyLicense, LicenseCheckError, fetchLicense } from "./license.mjs";
3
- import { shiftCronExpression } from "../utils/cron.mjs";
4
- const ONE_MINUTE = 1e3 * 60;
5
- const ee = {
6
- enabled: false,
7
- licenseInfo: {}
8
- };
9
- const disable = (message) => {
10
- const shouldEmitEvent = ee.enabled !== false;
11
- ee.logger?.warn(`${message} Switching to CE.`);
12
- ee.licenseInfo = pick("licenseKey", ee.licenseInfo);
13
- ee.enabled = false;
14
- if (shouldEmitEvent) {
15
- strapi.eventHub.emit("ee.disable");
16
- }
17
- };
18
- const enable = () => {
19
- const shouldEmitEvent = ee.enabled !== true;
20
- ee.enabled = true;
21
- if (shouldEmitEvent) {
22
- strapi.eventHub.emit("ee.enable");
23
- }
24
- };
25
- let initialized = false;
26
- const init = (licenseDir, logger) => {
27
- if (initialized) {
28
- return;
29
- }
30
- initialized = true;
31
- ee.logger = logger;
32
- if (process.env.STRAPI_DISABLE_EE?.toLowerCase() === "true") {
33
- return;
34
- }
35
- try {
36
- const license = process.env.STRAPI_LICENSE || readLicense(licenseDir);
37
- if (license) {
38
- ee.licenseInfo = verifyLicense(license);
39
- enable();
40
- }
41
- } catch (error) {
42
- if (error instanceof Error) {
43
- disable(error.message);
44
- } else {
45
- disable("Invalid license.");
46
- }
47
- }
48
- };
49
- const onlineUpdate = async ({ strapi: strapi2 }) => {
50
- const { get: get2, commit, rollback } = await strapi2.db?.transaction();
51
- const transaction = get2();
52
- try {
53
- const storedInfo = await strapi2.db?.queryBuilder("strapi::core-store").where({ key: "ee_information" }).select("value").first().transacting(transaction).forUpdate().execute().then((result2) => result2 ? JSON.parse(result2.value) : result2);
54
- const shouldContactRegistry = (storedInfo?.lastCheckAt ?? 0) < Date.now() - ONE_MINUTE;
55
- const result = { lastCheckAt: Date.now() };
56
- const fallback = (error) => {
57
- if (error instanceof LicenseCheckError && error.shouldFallback && storedInfo?.license) {
58
- ee.logger?.warn(
59
- `${error.message} The last stored one will be used as a potential fallback.`
60
- );
61
- return storedInfo.license;
62
- }
63
- result.error = error.message;
64
- disable(error.message);
65
- };
66
- if (!ee?.licenseInfo?.licenseKey) {
67
- throw new Error("Missing license key.");
68
- }
69
- const license = shouldContactRegistry ? await fetchLicense({ strapi: strapi2 }, ee.licenseInfo.licenseKey, strapi2.config.get("uuid")).catch(
70
- fallback
71
- ) : storedInfo.license;
72
- if (license) {
73
- try {
74
- const newLicenseInfo = verifyLicense(license);
75
- const licenseInfoChanged = !isEqual(newLicenseInfo.features, ee.licenseInfo.features) || newLicenseInfo.seats !== ee.licenseInfo.seats || newLicenseInfo.type !== ee.licenseInfo.type;
76
- ee.licenseInfo = newLicenseInfo;
77
- const wasEnabled = ee.enabled;
78
- validateInfo();
79
- if (licenseInfoChanged && wasEnabled) {
80
- strapi2.eventHub.emit("ee.update");
81
- }
82
- } catch (error) {
83
- if (error instanceof Error) {
84
- disable(error.message);
85
- } else {
86
- disable("Invalid license.");
87
- }
88
- }
89
- } else if (!shouldContactRegistry) {
90
- disable(storedInfo.error);
91
- }
92
- if (shouldContactRegistry) {
93
- result.license = license ?? null;
94
- const query = strapi2.db.queryBuilder("strapi::core-store").transacting(transaction);
95
- if (!storedInfo) {
96
- query.insert({ key: "ee_information", value: JSON.stringify(result) });
97
- } else {
98
- query.update({ value: JSON.stringify(result) }).where({ key: "ee_information" });
99
- }
100
- await query.execute();
101
- }
102
- await commit();
103
- } catch (error) {
104
- await rollback();
105
- }
106
- };
107
- const validateInfo = () => {
108
- if (typeof ee.licenseInfo.expireAt === "undefined") {
109
- throw new Error("Missing license key.");
110
- }
111
- const expirationTime = new Date(ee.licenseInfo.expireAt).getTime();
112
- if (expirationTime < (/* @__PURE__ */ new Date()).getTime()) {
113
- return disable("License expired.");
114
- }
115
- enable();
116
- };
117
- const checkLicense = async ({ strapi: strapi2 }) => {
118
- const shouldStayOffline = ee.licenseInfo.type === "gold" && // This env variable support is temporarily used to ease the migration between online vs offline
119
- process.env.STRAPI_DISABLE_LICENSE_PING?.toLowerCase() === "true";
120
- if (!shouldStayOffline) {
121
- await onlineUpdate({ strapi: strapi2 });
122
- strapi2.cron.add({ [shiftCronExpression("0 0 */12 * * *")]: onlineUpdate });
123
- } else {
124
- if (!ee.licenseInfo.expireAt) {
125
- return disable("Your license does not have offline support.");
126
- }
127
- validateInfo();
128
- }
129
- };
130
- const list = () => {
131
- return ee.licenseInfo.features?.map(
132
- (feature) => typeof feature === "object" ? feature : { name: feature }
133
- ) || [];
134
- };
135
- const get = (featureName) => list().find((feature) => feature.name === featureName);
136
- const index = Object.freeze({
137
- init,
138
- checkLicense,
139
- get isEE() {
140
- return ee.enabled;
141
- },
142
- get seats() {
143
- return ee.licenseInfo.seats;
144
- },
145
- features: Object.freeze({
146
- list,
147
- get,
148
- isEnabled: (featureName) => get(featureName) !== void 0
149
- })
150
- });
151
- export {
152
- index as default
153
- };
154
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/ee/index.ts"],"sourcesContent":["import { pick, isEqual } from 'lodash/fp';\nimport type { Logger } from '@strapi/logger';\nimport type { Strapi } from '@strapi/types';\n\nimport { readLicense, verifyLicense, fetchLicense, LicenseCheckError } from './license';\nimport { shiftCronExpression } from '../utils/cron';\n\nconst ONE_MINUTE = 1000 * 60;\n\ninterface EE {\n enabled: boolean;\n licenseInfo: {\n licenseKey?: string;\n features?: Array<{ name: string } | string>;\n expireAt?: string;\n seats?: number;\n type?: string;\n };\n logger?: Logger;\n}\n\nconst ee: EE = {\n enabled: false,\n licenseInfo: {},\n};\n\nconst disable = (message: string) => {\n // Prevent emitting ee.disable if it was already disabled\n const shouldEmitEvent = ee.enabled !== false;\n\n ee.logger?.warn(`${message} Switching to CE.`);\n // Only keep the license key for potential re-enabling during a later check\n ee.licenseInfo = pick('licenseKey', ee.licenseInfo);\n\n ee.enabled = false;\n\n if (shouldEmitEvent) {\n // Notify EE features that they should be disabled\n strapi.eventHub.emit('ee.disable');\n }\n};\n\nconst enable = () => {\n // Prevent emitting ee.enable if it was already enabled\n const shouldEmitEvent = ee.enabled !== true;\n\n ee.enabled = true;\n\n if (shouldEmitEvent) {\n // Notify EE features that they should be disabled\n strapi.eventHub.emit('ee.enable');\n }\n};\n\nlet initialized = false;\n\n/**\n * Optimistically enable EE if the format of the license is valid, only run once.\n */\nconst init = (licenseDir: string, logger?: Logger) => {\n if (initialized) {\n return;\n }\n\n initialized = true;\n ee.logger = logger;\n\n if (process.env.STRAPI_DISABLE_EE?.toLowerCase() === 'true') {\n return;\n }\n\n try {\n const license = process.env.STRAPI_LICENSE || readLicense(licenseDir);\n\n if (license) {\n ee.licenseInfo = verifyLicense(license);\n enable();\n }\n } catch (error) {\n if (error instanceof Error) {\n disable(error.message);\n } else {\n disable('Invalid license.');\n }\n }\n};\n\n/**\n * Contact the license registry to update the license to its latest state.\n *\n * Store the result in database to avoid unecessary requests, and will fallback to that in case of a network failure.\n */\nconst onlineUpdate = async ({ strapi }: { strapi: Strapi }) => {\n const { get, commit, rollback } = (await strapi.db?.transaction()) as any;\n const transaction = get();\n\n try {\n const storedInfo = await strapi.db\n ?.queryBuilder('strapi::core-store')\n .where({ key: 'ee_information' })\n .select('value')\n .first()\n .transacting(transaction)\n .forUpdate()\n .execute()\n .then((result: any) => (result ? JSON.parse(result.value) : result));\n\n const shouldContactRegistry = (storedInfo?.lastCheckAt ?? 0) < Date.now() - ONE_MINUTE;\n const result: {\n license?: string | null;\n error?: string;\n lastCheckAt?: number;\n } = { lastCheckAt: Date.now() };\n\n const fallback = (error: Error) => {\n if (error instanceof LicenseCheckError && error.shouldFallback && storedInfo?.license) {\n ee.logger?.warn(\n `${error.message} The last stored one will be used as a potential fallback.`\n );\n return storedInfo.license;\n }\n\n result.error = error.message;\n disable(error.message);\n };\n\n if (!ee?.licenseInfo?.licenseKey) {\n throw new Error('Missing license key.');\n }\n\n const license = shouldContactRegistry\n ? await fetchLicense({ strapi }, ee.licenseInfo.licenseKey, strapi.config.get('uuid')).catch(\n fallback\n )\n : storedInfo.license;\n\n if (license) {\n try {\n // Verify license and check if its info changed\n const newLicenseInfo = verifyLicense(license);\n const licenseInfoChanged =\n !isEqual(newLicenseInfo.features, ee.licenseInfo.features) ||\n newLicenseInfo.seats !== ee.licenseInfo.seats ||\n newLicenseInfo.type !== ee.licenseInfo.type;\n\n // Store the new license info\n ee.licenseInfo = newLicenseInfo;\n const wasEnabled = ee.enabled;\n validateInfo();\n\n // Notify EE features\n if (licenseInfoChanged && wasEnabled) {\n strapi.eventHub.emit('ee.update');\n }\n } catch (error) {\n if (error instanceof Error) {\n disable(error.message);\n } else {\n disable('Invalid license.');\n }\n }\n } else if (!shouldContactRegistry) {\n disable(storedInfo.error);\n }\n\n if (shouldContactRegistry) {\n result.license = license ?? null;\n const query = strapi.db!.queryBuilder('strapi::core-store').transacting(transaction);\n\n if (!storedInfo) {\n query.insert({ key: 'ee_information', value: JSON.stringify(result) });\n } else {\n query.update({ value: JSON.stringify(result) }).where({ key: 'ee_information' });\n }\n\n await query.execute();\n }\n\n await commit();\n } catch (error) {\n // Example of errors: SQLite does not support FOR UPDATE\n await rollback();\n }\n};\n\nconst validateInfo = () => {\n if (typeof ee.licenseInfo.expireAt === 'undefined') {\n throw new Error('Missing license key.');\n }\n\n const expirationTime = new Date(ee.licenseInfo.expireAt).getTime();\n\n if (expirationTime < new Date().getTime()) {\n return disable('License expired.');\n }\n\n enable();\n};\n\nconst checkLicense = async ({ strapi }: { strapi: Strapi }) => {\n const shouldStayOffline =\n ee.licenseInfo.type === 'gold' &&\n // This env variable support is temporarily used to ease the migration between online vs offline\n process.env.STRAPI_DISABLE_LICENSE_PING?.toLowerCase() === 'true';\n\n if (!shouldStayOffline) {\n await onlineUpdate({ strapi });\n strapi.cron.add({ [shiftCronExpression('0 0 */12 * * *')]: onlineUpdate });\n } else {\n if (!ee.licenseInfo.expireAt) {\n return disable('Your license does not have offline support.');\n }\n\n validateInfo();\n }\n};\n\nconst list = () => {\n return (\n ee.licenseInfo.features?.map((feature) =>\n typeof feature === 'object' ? feature : { name: feature }\n ) || []\n );\n};\n\nconst get = (featureName: string) => list().find((feature) => feature.name === featureName);\n\nexport default Object.freeze({\n init,\n checkLicense,\n\n get isEE() {\n return ee.enabled;\n },\n\n get seats() {\n return ee.licenseInfo.seats;\n },\n\n features: Object.freeze({\n list,\n get,\n isEnabled: (featureName: string) => get(featureName) !== undefined,\n }),\n});\n"],"names":["strapi","get","result"],"mappings":"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"}
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const fs = require("fs");
4
- const path = require("path");
5
- const crypto = require("crypto");
6
- const strapiUtils = require("@strapi/utils");
7
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
8
- const fs__default = /* @__PURE__ */ _interopDefault(fs);
9
- const crypto__default = /* @__PURE__ */ _interopDefault(crypto);
10
- const DEFAULT_FEATURES = {
11
- bronze: [],
12
- silver: [],
13
- gold: [
14
- { name: "sso" },
15
- // Set a null retention duration to allow the user to override it
16
- // The default of 90 days is set in the audit logs service
17
- { name: "audit-logs", options: { retentionDays: null } },
18
- { name: "review-workflows" },
19
- { name: "cms-content-releases" }
20
- ]
21
- };
22
- const publicKey = fs__default.default.readFileSync(path.resolve(__dirname, "../../resources/key.pub"));
23
- class LicenseCheckError extends Error {
24
- shouldFallback = false;
25
- constructor(message, shouldFallback = false) {
26
- super(message);
27
- this.shouldFallback = shouldFallback;
28
- }
29
- }
30
- const readLicense = (directory) => {
31
- try {
32
- const path$1 = path.join(directory, "license.txt");
33
- return fs__default.default.readFileSync(path$1).toString();
34
- } catch (error) {
35
- if (typeof error === "object" && error !== null && "code" in error && error.code !== "ENOENT") {
36
- throw Error("License file not readable, review its format and access rules.");
37
- }
38
- }
39
- };
40
- const verifyLicense = (license) => {
41
- const [signature, base64Content] = Buffer.from(license, "base64").toString().split("\n");
42
- if (!signature || !base64Content) {
43
- throw new Error("Invalid license.");
44
- }
45
- const stringifiedContent = Buffer.from(base64Content, "base64").toString();
46
- const verify = crypto__default.default.createVerify("RSA-SHA256");
47
- verify.update(stringifiedContent);
48
- verify.end();
49
- const verified = verify.verify(publicKey, signature, "base64");
50
- if (!verified) {
51
- throw new Error("Invalid license.");
52
- }
53
- const licenseInfo = JSON.parse(stringifiedContent);
54
- if (!licenseInfo.features) {
55
- licenseInfo.features = DEFAULT_FEATURES[licenseInfo.type];
56
- }
57
- Object.freeze(licenseInfo.features);
58
- return licenseInfo;
59
- };
60
- const throwError = () => {
61
- throw new LicenseCheckError("Could not proceed to the online validation of your license.", true);
62
- };
63
- const fetchLicense = async ({ strapi }, key, projectId) => {
64
- const response = await strapi.fetch(`https://license.strapi.io/api/licenses/validate`, {
65
- method: "POST",
66
- headers: { "Content-Type": "application/json" },
67
- body: JSON.stringify({ key, projectId, deviceId: strapiUtils.machineID() })
68
- }).catch(throwError);
69
- const contentType = response.headers.get("Content-Type");
70
- if (contentType?.includes("application/json")) {
71
- const { data, error } = await response.json();
72
- switch (response.status) {
73
- case 200:
74
- return data.license;
75
- case 400:
76
- throw new LicenseCheckError(error.message);
77
- case 404:
78
- throw new LicenseCheckError("The license used does not exists.");
79
- default:
80
- throwError();
81
- }
82
- } else {
83
- throwError();
84
- }
85
- };
86
- exports.LicenseCheckError = LicenseCheckError;
87
- exports.fetchLicense = fetchLicense;
88
- exports.readLicense = readLicense;
89
- exports.verifyLicense = verifyLicense;
90
- //# sourceMappingURL=license.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license.js","sources":["../../src/ee/license.ts"],"sourcesContent":["import fs from 'fs';\nimport { join, resolve } from 'path';\nimport crypto from 'crypto';\nimport type { Strapi } from '@strapi/types';\n\nimport { machineID } from '@strapi/utils';\n\ninterface LicenseInfo {\n type: 'bronze' | 'silver' | 'gold';\n expireAt?: string;\n seats?: number;\n features?: Array<{ name: string; options?: Record<string, unknown> }>;\n}\n\nconst DEFAULT_FEATURES = {\n bronze: [],\n silver: [],\n gold: [\n { name: 'sso' },\n // Set a null retention duration to allow the user to override it\n // The default of 90 days is set in the audit logs service\n { name: 'audit-logs', options: { retentionDays: null } },\n { name: 'review-workflows' },\n { name: 'cms-content-releases' },\n ],\n};\n\nconst publicKey = fs.readFileSync(resolve(__dirname, '../../resources/key.pub'));\n\nclass LicenseCheckError extends Error {\n shouldFallback = false;\n\n constructor(message: string, shouldFallback = false) {\n super(message);\n\n this.shouldFallback = shouldFallback;\n }\n}\n\nconst readLicense = (directory: string) => {\n try {\n const path = join(directory, 'license.txt');\n return fs.readFileSync(path).toString();\n } catch (error) {\n if (typeof error === 'object' && error !== null && 'code' in error && error.code !== 'ENOENT') {\n throw Error('License file not readable, review its format and access rules.');\n }\n }\n};\n\nconst verifyLicense = (license: string) => {\n const [signature, base64Content] = Buffer.from(license, 'base64').toString().split('\\n');\n\n if (!signature || !base64Content) {\n throw new Error('Invalid license.');\n }\n\n const stringifiedContent = Buffer.from(base64Content, 'base64').toString();\n\n const verify = crypto.createVerify('RSA-SHA256');\n verify.update(stringifiedContent);\n verify.end();\n\n const verified = verify.verify(publicKey, signature, 'base64');\n\n if (!verified) {\n throw new Error('Invalid license.');\n }\n\n const licenseInfo: LicenseInfo = JSON.parse(stringifiedContent);\n\n if (!licenseInfo.features) {\n licenseInfo.features = DEFAULT_FEATURES[licenseInfo.type];\n }\n\n Object.freeze(licenseInfo.features);\n return licenseInfo;\n};\n\nconst throwError = () => {\n throw new LicenseCheckError('Could not proceed to the online validation of your license.', true);\n};\n\nconst fetchLicense = async ({ strapi }: { strapi: Strapi }, key: string, projectId: string) => {\n const response = await strapi\n .fetch(`https://license.strapi.io/api/licenses/validate`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ key, projectId, deviceId: machineID() }),\n })\n .catch(throwError);\n\n const contentType = response.headers.get('Content-Type');\n\n if (contentType?.includes('application/json')) {\n const { data, error } = await response.json();\n\n switch (response.status) {\n case 200:\n return data.license;\n case 400:\n throw new LicenseCheckError(error.message);\n case 404:\n throw new LicenseCheckError('The license used does not exists.');\n default:\n throwError();\n }\n } else {\n throwError();\n }\n};\n\nexport { readLicense, verifyLicense, fetchLicense, LicenseCheckError };\n"],"names":["fs","resolve","path","join","crypto","machineID"],"mappings":";;;;;;;;;AAcA,MAAM,mBAAmB;AAAA,EACvB,QAAQ,CAAC;AAAA,EACT,QAAQ,CAAC;AAAA,EACT,MAAM;AAAA,IACJ,EAAE,MAAM,MAAM;AAAA;AAAA;AAAA,IAGd,EAAE,MAAM,cAAc,SAAS,EAAE,eAAe,OAAO;AAAA,IACvD,EAAE,MAAM,mBAAmB;AAAA,IAC3B,EAAE,MAAM,uBAAuB;AAAA,EACjC;AACF;AAEA,MAAM,YAAYA,YAAG,QAAA,aAAaC,KAAQ,QAAA,WAAW,yBAAyB,CAAC;AAE/E,MAAM,0BAA0B,MAAM;AAAA,EACpC,iBAAiB;AAAA,EAEjB,YAAY,SAAiB,iBAAiB,OAAO;AACnD,UAAM,OAAO;AAEb,SAAK,iBAAiB;AAAA,EACxB;AACF;AAEM,MAAA,cAAc,CAAC,cAAsB;AACrC,MAAA;AACI,UAAAC,SAAOC,KAAAA,KAAK,WAAW,aAAa;AAC1C,WAAOH,YAAG,QAAA,aAAaE,MAAI,EAAE,SAAS;AAAA,WAC/B,OAAO;AACV,QAAA,OAAO,UAAU,YAAY,UAAU,QAAQ,UAAU,SAAS,MAAM,SAAS,UAAU;AAC7F,YAAM,MAAM,gEAAgE;AAAA,IAC9E;AAAA,EACF;AACF;AAEM,MAAA,gBAAgB,CAAC,YAAoB;AACzC,QAAM,CAAC,WAAW,aAAa,IAAI,OAAO,KAAK,SAAS,QAAQ,EAAE,SAAA,EAAW,MAAM,IAAI;AAEnF,MAAA,CAAC,aAAa,CAAC,eAAe;AAC1B,UAAA,IAAI,MAAM,kBAAkB;AAAA,EACpC;AAEA,QAAM,qBAAqB,OAAO,KAAK,eAAe,QAAQ,EAAE;AAE1D,QAAA,SAASE,gBAAAA,QAAO,aAAa,YAAY;AAC/C,SAAO,OAAO,kBAAkB;AAChC,SAAO,IAAI;AAEX,QAAM,WAAW,OAAO,OAAO,WAAW,WAAW,QAAQ;AAE7D,MAAI,CAAC,UAAU;AACP,UAAA,IAAI,MAAM,kBAAkB;AAAA,EACpC;AAEM,QAAA,cAA2B,KAAK,MAAM,kBAAkB;AAE1D,MAAA,CAAC,YAAY,UAAU;AACb,gBAAA,WAAW,iBAAiB,YAAY,IAAI;AAAA,EAC1D;AAEO,SAAA,OAAO,YAAY,QAAQ;AAC3B,SAAA;AACT;AAEA,MAAM,aAAa,MAAM;AACjB,QAAA,IAAI,kBAAkB,+DAA+D,IAAI;AACjG;AAEA,MAAM,eAAe,OAAO,EAAE,UAA8B,KAAa,cAAsB;AAC7F,QAAM,WAAW,MAAM,OACpB,MAAM,mDAAmD;AAAA,IACxD,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,IAC9C,MAAM,KAAK,UAAU,EAAE,KAAK,WAAW,UAAUC,YAAU,UAAA,GAAG;AAAA,EAAA,CAC/D,EACA,MAAM,UAAU;AAEnB,QAAM,cAAc,SAAS,QAAQ,IAAI,cAAc;AAEnD,MAAA,aAAa,SAAS,kBAAkB,GAAG;AAC7C,UAAM,EAAE,MAAM,MAAA,IAAU,MAAM,SAAS,KAAK;AAE5C,YAAQ,SAAS,QAAQ;AAAA,MACvB,KAAK;AACH,eAAO,KAAK;AAAA,MACd,KAAK;AACG,cAAA,IAAI,kBAAkB,MAAM,OAAO;AAAA,MAC3C,KAAK;AACG,cAAA,IAAI,kBAAkB,mCAAmC;AAAA,MACjE;AACa;IACf;AAAA,EAAA,OACK;AACM;EACb;AACF;;;;;"}
@@ -1,87 +0,0 @@
1
- import fs from "fs";
2
- import { resolve, join } from "path";
3
- import crypto from "crypto";
4
- import { machineID } from "@strapi/utils";
5
- const DEFAULT_FEATURES = {
6
- bronze: [],
7
- silver: [],
8
- gold: [
9
- { name: "sso" },
10
- // Set a null retention duration to allow the user to override it
11
- // The default of 90 days is set in the audit logs service
12
- { name: "audit-logs", options: { retentionDays: null } },
13
- { name: "review-workflows" },
14
- { name: "cms-content-releases" }
15
- ]
16
- };
17
- const publicKey = fs.readFileSync(resolve(__dirname, "../../resources/key.pub"));
18
- class LicenseCheckError extends Error {
19
- shouldFallback = false;
20
- constructor(message, shouldFallback = false) {
21
- super(message);
22
- this.shouldFallback = shouldFallback;
23
- }
24
- }
25
- const readLicense = (directory) => {
26
- try {
27
- const path = join(directory, "license.txt");
28
- return fs.readFileSync(path).toString();
29
- } catch (error) {
30
- if (typeof error === "object" && error !== null && "code" in error && error.code !== "ENOENT") {
31
- throw Error("License file not readable, review its format and access rules.");
32
- }
33
- }
34
- };
35
- const verifyLicense = (license) => {
36
- const [signature, base64Content] = Buffer.from(license, "base64").toString().split("\n");
37
- if (!signature || !base64Content) {
38
- throw new Error("Invalid license.");
39
- }
40
- const stringifiedContent = Buffer.from(base64Content, "base64").toString();
41
- const verify = crypto.createVerify("RSA-SHA256");
42
- verify.update(stringifiedContent);
43
- verify.end();
44
- const verified = verify.verify(publicKey, signature, "base64");
45
- if (!verified) {
46
- throw new Error("Invalid license.");
47
- }
48
- const licenseInfo = JSON.parse(stringifiedContent);
49
- if (!licenseInfo.features) {
50
- licenseInfo.features = DEFAULT_FEATURES[licenseInfo.type];
51
- }
52
- Object.freeze(licenseInfo.features);
53
- return licenseInfo;
54
- };
55
- const throwError = () => {
56
- throw new LicenseCheckError("Could not proceed to the online validation of your license.", true);
57
- };
58
- const fetchLicense = async ({ strapi }, key, projectId) => {
59
- const response = await strapi.fetch(`https://license.strapi.io/api/licenses/validate`, {
60
- method: "POST",
61
- headers: { "Content-Type": "application/json" },
62
- body: JSON.stringify({ key, projectId, deviceId: machineID() })
63
- }).catch(throwError);
64
- const contentType = response.headers.get("Content-Type");
65
- if (contentType?.includes("application/json")) {
66
- const { data, error } = await response.json();
67
- switch (response.status) {
68
- case 200:
69
- return data.license;
70
- case 400:
71
- throw new LicenseCheckError(error.message);
72
- case 404:
73
- throw new LicenseCheckError("The license used does not exists.");
74
- default:
75
- throwError();
76
- }
77
- } else {
78
- throwError();
79
- }
80
- };
81
- export {
82
- LicenseCheckError,
83
- fetchLicense,
84
- readLicense,
85
- verifyLicense
86
- };
87
- //# sourceMappingURL=license.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license.mjs","sources":["../../src/ee/license.ts"],"sourcesContent":["import fs from 'fs';\nimport { join, resolve } from 'path';\nimport crypto from 'crypto';\nimport type { Strapi } from '@strapi/types';\n\nimport { machineID } from '@strapi/utils';\n\ninterface LicenseInfo {\n type: 'bronze' | 'silver' | 'gold';\n expireAt?: string;\n seats?: number;\n features?: Array<{ name: string; options?: Record<string, unknown> }>;\n}\n\nconst DEFAULT_FEATURES = {\n bronze: [],\n silver: [],\n gold: [\n { name: 'sso' },\n // Set a null retention duration to allow the user to override it\n // The default of 90 days is set in the audit logs service\n { name: 'audit-logs', options: { retentionDays: null } },\n { name: 'review-workflows' },\n { name: 'cms-content-releases' },\n ],\n};\n\nconst publicKey = fs.readFileSync(resolve(__dirname, '../../resources/key.pub'));\n\nclass LicenseCheckError extends Error {\n shouldFallback = false;\n\n constructor(message: string, shouldFallback = false) {\n super(message);\n\n this.shouldFallback = shouldFallback;\n }\n}\n\nconst readLicense = (directory: string) => {\n try {\n const path = join(directory, 'license.txt');\n return fs.readFileSync(path).toString();\n } catch (error) {\n if (typeof error === 'object' && error !== null && 'code' in error && error.code !== 'ENOENT') {\n throw Error('License file not readable, review its format and access rules.');\n }\n }\n};\n\nconst verifyLicense = (license: string) => {\n const [signature, base64Content] = Buffer.from(license, 'base64').toString().split('\\n');\n\n if (!signature || !base64Content) {\n throw new Error('Invalid license.');\n }\n\n const stringifiedContent = Buffer.from(base64Content, 'base64').toString();\n\n const verify = crypto.createVerify('RSA-SHA256');\n verify.update(stringifiedContent);\n verify.end();\n\n const verified = verify.verify(publicKey, signature, 'base64');\n\n if (!verified) {\n throw new Error('Invalid license.');\n }\n\n const licenseInfo: LicenseInfo = JSON.parse(stringifiedContent);\n\n if (!licenseInfo.features) {\n licenseInfo.features = DEFAULT_FEATURES[licenseInfo.type];\n }\n\n Object.freeze(licenseInfo.features);\n return licenseInfo;\n};\n\nconst throwError = () => {\n throw new LicenseCheckError('Could not proceed to the online validation of your license.', true);\n};\n\nconst fetchLicense = async ({ strapi }: { strapi: Strapi }, key: string, projectId: string) => {\n const response = await strapi\n .fetch(`https://license.strapi.io/api/licenses/validate`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ key, projectId, deviceId: machineID() }),\n })\n .catch(throwError);\n\n const contentType = response.headers.get('Content-Type');\n\n if (contentType?.includes('application/json')) {\n const { data, error } = await response.json();\n\n switch (response.status) {\n case 200:\n return data.license;\n case 400:\n throw new LicenseCheckError(error.message);\n case 404:\n throw new LicenseCheckError('The license used does not exists.');\n default:\n throwError();\n }\n } else {\n throwError();\n }\n};\n\nexport { readLicense, verifyLicense, fetchLicense, LicenseCheckError };\n"],"names":[],"mappings":";;;;AAcA,MAAM,mBAAmB;AAAA,EACvB,QAAQ,CAAC;AAAA,EACT,QAAQ,CAAC;AAAA,EACT,MAAM;AAAA,IACJ,EAAE,MAAM,MAAM;AAAA;AAAA;AAAA,IAGd,EAAE,MAAM,cAAc,SAAS,EAAE,eAAe,OAAO;AAAA,IACvD,EAAE,MAAM,mBAAmB;AAAA,IAC3B,EAAE,MAAM,uBAAuB;AAAA,EACjC;AACF;AAEA,MAAM,YAAY,GAAG,aAAa,QAAQ,WAAW,yBAAyB,CAAC;AAE/E,MAAM,0BAA0B,MAAM;AAAA,EACpC,iBAAiB;AAAA,EAEjB,YAAY,SAAiB,iBAAiB,OAAO;AACnD,UAAM,OAAO;AAEb,SAAK,iBAAiB;AAAA,EACxB;AACF;AAEM,MAAA,cAAc,CAAC,cAAsB;AACrC,MAAA;AACI,UAAA,OAAO,KAAK,WAAW,aAAa;AAC1C,WAAO,GAAG,aAAa,IAAI,EAAE,SAAS;AAAA,WAC/B,OAAO;AACV,QAAA,OAAO,UAAU,YAAY,UAAU,QAAQ,UAAU,SAAS,MAAM,SAAS,UAAU;AAC7F,YAAM,MAAM,gEAAgE;AAAA,IAC9E;AAAA,EACF;AACF;AAEM,MAAA,gBAAgB,CAAC,YAAoB;AACzC,QAAM,CAAC,WAAW,aAAa,IAAI,OAAO,KAAK,SAAS,QAAQ,EAAE,SAAA,EAAW,MAAM,IAAI;AAEnF,MAAA,CAAC,aAAa,CAAC,eAAe;AAC1B,UAAA,IAAI,MAAM,kBAAkB;AAAA,EACpC;AAEA,QAAM,qBAAqB,OAAO,KAAK,eAAe,QAAQ,EAAE;AAE1D,QAAA,SAAS,OAAO,aAAa,YAAY;AAC/C,SAAO,OAAO,kBAAkB;AAChC,SAAO,IAAI;AAEX,QAAM,WAAW,OAAO,OAAO,WAAW,WAAW,QAAQ;AAE7D,MAAI,CAAC,UAAU;AACP,UAAA,IAAI,MAAM,kBAAkB;AAAA,EACpC;AAEM,QAAA,cAA2B,KAAK,MAAM,kBAAkB;AAE1D,MAAA,CAAC,YAAY,UAAU;AACb,gBAAA,WAAW,iBAAiB,YAAY,IAAI;AAAA,EAC1D;AAEO,SAAA,OAAO,YAAY,QAAQ;AAC3B,SAAA;AACT;AAEA,MAAM,aAAa,MAAM;AACjB,QAAA,IAAI,kBAAkB,+DAA+D,IAAI;AACjG;AAEA,MAAM,eAAe,OAAO,EAAE,UAA8B,KAAa,cAAsB;AAC7F,QAAM,WAAW,MAAM,OACpB,MAAM,mDAAmD;AAAA,IACxD,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,IAC9C,MAAM,KAAK,UAAU,EAAE,KAAK,WAAW,UAAU,UAAU,GAAG;AAAA,EAAA,CAC/D,EACA,MAAM,UAAU;AAEnB,QAAM,cAAc,SAAS,QAAQ,IAAI,cAAc;AAEnD,MAAA,aAAa,SAAS,kBAAkB,GAAG;AAC7C,UAAM,EAAE,MAAM,MAAA,IAAU,MAAM,SAAS,KAAK;AAE5C,YAAQ,SAAS,QAAQ;AAAA,MACvB,KAAK;AACH,eAAO,KAAK;AAAA,MACd,KAAK;AACG,cAAA,IAAI,kBAAkB,MAAM,OAAO;AAAA,MAC3C,KAAK;AACG,cAAA,IAAI,kBAAkB,mCAAmC;AAAA,MACjE;AACa;IACf;AAAA,EAAA,OACK;AACM;EACb;AACF;"}
package/dist/factories.js DELETED
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
4
- const index = require("./core-api/controller/index.js");
5
- const index$1 = require("./core-api/service/index.js");
6
- const index$2 = require("./core-api/routes/index.js");
7
- const symbols = {
8
- CustomController: Symbol("StrapiCustomCoreController")
9
- };
10
- const createCoreController = (uid, cfg) => {
11
- return ({ strapi: strapi2 }) => {
12
- const baseController = index.createController({ contentType: strapi2.contentType(uid) });
13
- const userCtrl = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
14
- for (const methodName of Object.keys(baseController)) {
15
- if (userCtrl[methodName] === void 0) {
16
- userCtrl[methodName] = baseController[methodName];
17
- }
18
- }
19
- Object.setPrototypeOf(userCtrl, baseController);
20
- const isCustom = typeof cfg !== "undefined";
21
- if (isCustom) {
22
- Object.defineProperty(userCtrl, symbols.CustomController, {
23
- writable: false,
24
- configurable: false,
25
- enumerable: false
26
- });
27
- }
28
- return userCtrl;
29
- };
30
- };
31
- function createCoreService(uid, cfg) {
32
- return ({ strapi: strapi2 }) => {
33
- const baseService = index$1.createService({ contentType: strapi2.contentType(uid) });
34
- const userService = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
35
- for (const methodName of Object.keys(baseService)) {
36
- if (userService[methodName] === void 0) {
37
- userService[methodName] = baseService[methodName];
38
- }
39
- }
40
- Object.setPrototypeOf(userService, baseService);
41
- return userService;
42
- };
43
- }
44
- function createCoreRouter(uid, cfg) {
45
- const { prefix, config = {}, only, except, type = "content-api" } = cfg ?? {};
46
- let routes;
47
- return {
48
- type,
49
- prefix,
50
- get routes() {
51
- if (!routes) {
52
- const contentType = strapi.contentType(uid);
53
- const defaultRoutes = index$2.createRoutes({ contentType });
54
- const keys = Object.keys(defaultRoutes);
55
- keys.forEach((routeName) => {
56
- const defaultRoute = defaultRoutes[routeName];
57
- Object.assign(defaultRoute.config, config[routeName] || {});
58
- });
59
- const selectedRoutes = _.pipe(
60
- (routes2) => except ? _.omit(except, routes2) : routes2,
61
- (routes2) => only ? _.pick(only, routes2) : routes2
62
- )(defaultRoutes);
63
- routes = Object.values(selectedRoutes);
64
- }
65
- return routes;
66
- }
67
- };
68
- }
69
- const isCustomController = (controller) => {
70
- return symbols.CustomController in controller;
71
- };
72
- exports.createCoreController = createCoreController;
73
- exports.createCoreRouter = createCoreRouter;
74
- exports.createCoreService = createCoreService;
75
- exports.isCustomController = isCustomController;
76
- //# sourceMappingURL=factories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factories.js","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Strapi, Common, CoreApi, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends Common.UID.ContentType,\n TController extends CoreApi.Controller.Extendable<TUID>\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<CoreApi.Controller.Extendable<TUID> & TController>>\n) => {\n return ({ strapi }: { strapi: Strapi }): TController & CoreApi.Controller.ContentType<TUID> => {\n const baseController = createController({ contentType: strapi.contentType(uid) });\n\n const userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : cfg ?? ({} as any);\n\n for (const methodName of Object.keys(baseController) as Array<keyof typeof baseController>) {\n if (userCtrl[methodName] === undefined) {\n userCtrl[methodName] = baseController[methodName];\n }\n }\n\n Object.setPrototypeOf(userCtrl, baseController);\n\n const isCustom = typeof cfg !== 'undefined';\n if (isCustom) {\n Object.defineProperty(userCtrl, symbols.CustomController, {\n writable: false,\n configurable: false,\n enumerable: false,\n });\n }\n\n return userCtrl;\n };\n};\n\nfunction createCoreService<\n TUID extends Common.UID.ContentType,\n TService extends CoreApi.Service.Extendable<TUID>\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<CoreApi.Service.Extendable<TUID> & TService>>\n) {\n return ({ strapi }: { strapi: Strapi }): TService & CoreApi.Service.ContentType<TUID> => {\n const baseService = createService({ contentType: strapi.contentType(uid) });\n\n const userService = typeof cfg === 'function' ? cfg({ strapi }) : cfg ?? ({} as any);\n\n for (const methodName of Object.keys(baseService) as Array<keyof typeof baseService>) {\n if (userService[methodName] === undefined) {\n userService[methodName] = baseService[methodName];\n }\n }\n\n Object.setPrototypeOf(userService, baseService);\n return userService;\n };\n}\n\nfunction createCoreRouter<T extends Common.UID.ContentType>(\n uid: T,\n cfg?: CoreApi.Router.RouterConfig<T>\n): CoreApi.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: CoreApi.Router.Route[];\n\n return {\n type,\n prefix,\n get routes() {\n if (!routes) {\n const contentType = strapi.contentType(uid);\n\n const defaultRoutes = createRoutes({ contentType });\n const keys = Object.keys(defaultRoutes) as Array<keyof typeof defaultRoutes>;\n\n keys.forEach((routeName) => {\n const defaultRoute = defaultRoutes[routeName];\n\n Object.assign(defaultRoute.config, config[routeName] || {});\n });\n\n const selectedRoutes = pipe(\n (routes) => (except ? omit(except, routes) : routes),\n (routes) => (only ? pick(only, routes) : routes)\n )(defaultRoutes);\n\n routes = Object.values(selectedRoutes);\n }\n\n return routes;\n },\n };\n}\n\nconst isCustomController = <T extends Common.Controller>(controller: T): boolean => {\n return symbols.CustomController in controller;\n};\n\nexport { createCoreController, createCoreService, createCoreRouter, isCustomController };\n"],"names":["strapi","createController","createService","createRoutes","pipe","routes","omit","pick"],"mappings":";;;;;;AAOA,MAAM,UAAU;AAAA,EACd,kBAAkB,OAAO,4BAA4B;AACvD;AAIM,MAAA,uBAAuB,CAI3B,KACA,QACG;AACH,SAAO,CAAC,EAAE,QAAAA,cAAqF;AACvF,UAAA,iBAAiBC,uBAAiB,EAAE,aAAaD,QAAO,YAAY,GAAG,GAAG;AAE1E,UAAA,WAAW,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAI,OAAQ;AAEvE,eAAW,cAAc,OAAO,KAAK,cAAc,GAAyC;AACtF,UAAA,SAAS,UAAU,MAAM,QAAW;AAC7B,iBAAA,UAAU,IAAI,eAAe,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,UAAU,cAAc;AAExC,UAAA,WAAW,OAAO,QAAQ;AAChC,QAAI,UAAU;AACL,aAAA,eAAe,UAAU,QAAQ,kBAAkB;AAAA,QACxD,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,MAAA,CACb;AAAA,IACH;AAEO,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,kBAIP,KACA,KACA;AACA,SAAO,CAAC,EAAE,QAAAA,cAA+E;AACjF,UAAA,cAAcE,sBAAc,EAAE,aAAaF,QAAO,YAAY,GAAG,GAAG;AAEpE,UAAA,cAAc,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAI,OAAQ;AAE1E,eAAW,cAAc,OAAO,KAAK,WAAW,GAAsC;AAChF,UAAA,YAAY,UAAU,MAAM,QAAW;AAC7B,oBAAA,UAAU,IAAI,YAAY,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,aAAa,WAAW;AACvC,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,iBACP,KACA,KACuB;AACjB,QAAA,EAAE,QAAQ,SAAS,CAAA,GAAI,MAAM,QAAQ,OAAO,cAAA,IAAkB,OAAO;AACvE,MAAA;AAEG,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA,IAAI,SAAS;AACX,UAAI,CAAC,QAAQ;AACL,cAAA,cAAc,OAAO,YAAY,GAAG;AAE1C,cAAM,gBAAgBG,QAAAA,aAAa,EAAE,YAAa,CAAA;AAC5C,cAAA,OAAO,OAAO,KAAK,aAAa;AAEjC,aAAA,QAAQ,CAAC,cAAc;AACpB,gBAAA,eAAe,cAAc,SAAS;AAE5C,iBAAO,OAAO,aAAa,QAAQ,OAAO,SAAS,KAAK,CAAA,CAAE;AAAA,QAAA,CAC3D;AAED,cAAM,iBAAiBC,EAAA;AAAA,UACrB,CAACC,YAAY,SAASC,EAAAA,KAAK,QAAQD,OAAM,IAAIA;AAAAA,UAC7C,CAACA,YAAY,OAAOE,EAAAA,KAAK,MAAMF,OAAM,IAAIA;AAAAA,UACzC,aAAa;AAEN,iBAAA,OAAO,OAAO,cAAc;AAAA,MACvC;AAEO,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;AAEM,MAAA,qBAAqB,CAA8B,eAA2B;AAClF,SAAO,QAAQ,oBAAoB;AACrC;;;;;"}
@@ -1,76 +0,0 @@
1
- import { pipe, omit, pick } from "lodash/fp";
2
- import { createController } from "./core-api/controller/index.mjs";
3
- import { createService } from "./core-api/service/index.mjs";
4
- import { createRoutes } from "./core-api/routes/index.mjs";
5
- const symbols = {
6
- CustomController: Symbol("StrapiCustomCoreController")
7
- };
8
- const createCoreController = (uid, cfg) => {
9
- return ({ strapi: strapi2 }) => {
10
- const baseController = createController({ contentType: strapi2.contentType(uid) });
11
- const userCtrl = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
12
- for (const methodName of Object.keys(baseController)) {
13
- if (userCtrl[methodName] === void 0) {
14
- userCtrl[methodName] = baseController[methodName];
15
- }
16
- }
17
- Object.setPrototypeOf(userCtrl, baseController);
18
- const isCustom = typeof cfg !== "undefined";
19
- if (isCustom) {
20
- Object.defineProperty(userCtrl, symbols.CustomController, {
21
- writable: false,
22
- configurable: false,
23
- enumerable: false
24
- });
25
- }
26
- return userCtrl;
27
- };
28
- };
29
- function createCoreService(uid, cfg) {
30
- return ({ strapi: strapi2 }) => {
31
- const baseService = createService({ contentType: strapi2.contentType(uid) });
32
- const userService = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
33
- for (const methodName of Object.keys(baseService)) {
34
- if (userService[methodName] === void 0) {
35
- userService[methodName] = baseService[methodName];
36
- }
37
- }
38
- Object.setPrototypeOf(userService, baseService);
39
- return userService;
40
- };
41
- }
42
- function createCoreRouter(uid, cfg) {
43
- const { prefix, config = {}, only, except, type = "content-api" } = cfg ?? {};
44
- let routes;
45
- return {
46
- type,
47
- prefix,
48
- get routes() {
49
- if (!routes) {
50
- const contentType = strapi.contentType(uid);
51
- const defaultRoutes = createRoutes({ contentType });
52
- const keys = Object.keys(defaultRoutes);
53
- keys.forEach((routeName) => {
54
- const defaultRoute = defaultRoutes[routeName];
55
- Object.assign(defaultRoute.config, config[routeName] || {});
56
- });
57
- const selectedRoutes = pipe(
58
- (routes2) => except ? omit(except, routes2) : routes2,
59
- (routes2) => only ? pick(only, routes2) : routes2
60
- )(defaultRoutes);
61
- routes = Object.values(selectedRoutes);
62
- }
63
- return routes;
64
- }
65
- };
66
- }
67
- const isCustomController = (controller) => {
68
- return symbols.CustomController in controller;
69
- };
70
- export {
71
- createCoreController,
72
- createCoreRouter,
73
- createCoreService,
74
- isCustomController
75
- };
76
- //# sourceMappingURL=factories.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factories.mjs","sources":["../src/factories.ts"],"sourcesContent":["import { pipe, omit, pick } from 'lodash/fp';\nimport type { Strapi, Common, CoreApi, Utils } from '@strapi/types';\n\nimport { createController } from './core-api/controller';\nimport { createService } from './core-api/service';\nimport { createRoutes } from './core-api/routes';\n\nconst symbols = {\n CustomController: Symbol('StrapiCustomCoreController'),\n} as const;\n\ntype WithStrapiCallback<T> = T | (<S extends { strapi: Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends Common.UID.ContentType,\n TController extends CoreApi.Controller.Extendable<TUID>\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<CoreApi.Controller.Extendable<TUID> & TController>>\n) => {\n return ({ strapi }: { strapi: Strapi }): TController & CoreApi.Controller.ContentType<TUID> => {\n const baseController = createController({ contentType: strapi.contentType(uid) });\n\n const userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : cfg ?? ({} as any);\n\n for (const methodName of Object.keys(baseController) as Array<keyof typeof baseController>) {\n if (userCtrl[methodName] === undefined) {\n userCtrl[methodName] = baseController[methodName];\n }\n }\n\n Object.setPrototypeOf(userCtrl, baseController);\n\n const isCustom = typeof cfg !== 'undefined';\n if (isCustom) {\n Object.defineProperty(userCtrl, symbols.CustomController, {\n writable: false,\n configurable: false,\n enumerable: false,\n });\n }\n\n return userCtrl;\n };\n};\n\nfunction createCoreService<\n TUID extends Common.UID.ContentType,\n TService extends CoreApi.Service.Extendable<TUID>\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<CoreApi.Service.Extendable<TUID> & TService>>\n) {\n return ({ strapi }: { strapi: Strapi }): TService & CoreApi.Service.ContentType<TUID> => {\n const baseService = createService({ contentType: strapi.contentType(uid) });\n\n const userService = typeof cfg === 'function' ? cfg({ strapi }) : cfg ?? ({} as any);\n\n for (const methodName of Object.keys(baseService) as Array<keyof typeof baseService>) {\n if (userService[methodName] === undefined) {\n userService[methodName] = baseService[methodName];\n }\n }\n\n Object.setPrototypeOf(userService, baseService);\n return userService;\n };\n}\n\nfunction createCoreRouter<T extends Common.UID.ContentType>(\n uid: T,\n cfg?: CoreApi.Router.RouterConfig<T>\n): CoreApi.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: CoreApi.Router.Route[];\n\n return {\n type,\n prefix,\n get routes() {\n if (!routes) {\n const contentType = strapi.contentType(uid);\n\n const defaultRoutes = createRoutes({ contentType });\n const keys = Object.keys(defaultRoutes) as Array<keyof typeof defaultRoutes>;\n\n keys.forEach((routeName) => {\n const defaultRoute = defaultRoutes[routeName];\n\n Object.assign(defaultRoute.config, config[routeName] || {});\n });\n\n const selectedRoutes = pipe(\n (routes) => (except ? omit(except, routes) : routes),\n (routes) => (only ? pick(only, routes) : routes)\n )(defaultRoutes);\n\n routes = Object.values(selectedRoutes);\n }\n\n return routes;\n },\n };\n}\n\nconst isCustomController = <T extends Common.Controller>(controller: T): boolean => {\n return symbols.CustomController in controller;\n};\n\nexport { createCoreController, createCoreService, createCoreRouter, isCustomController };\n"],"names":["strapi","routes"],"mappings":";;;;AAOA,MAAM,UAAU;AAAA,EACd,kBAAkB,OAAO,4BAA4B;AACvD;AAIM,MAAA,uBAAuB,CAI3B,KACA,QACG;AACH,SAAO,CAAC,EAAE,QAAAA,cAAqF;AACvF,UAAA,iBAAiB,iBAAiB,EAAE,aAAaA,QAAO,YAAY,GAAG,GAAG;AAE1E,UAAA,WAAW,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAI,OAAQ;AAEvE,eAAW,cAAc,OAAO,KAAK,cAAc,GAAyC;AACtF,UAAA,SAAS,UAAU,MAAM,QAAW;AAC7B,iBAAA,UAAU,IAAI,eAAe,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,UAAU,cAAc;AAExC,UAAA,WAAW,OAAO,QAAQ;AAChC,QAAI,UAAU;AACL,aAAA,eAAe,UAAU,QAAQ,kBAAkB;AAAA,QACxD,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,MAAA,CACb;AAAA,IACH;AAEO,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,kBAIP,KACA,KACA;AACA,SAAO,CAAC,EAAE,QAAAA,cAA+E;AACjF,UAAA,cAAc,cAAc,EAAE,aAAaA,QAAO,YAAY,GAAG,GAAG;AAEpE,UAAA,cAAc,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAQ,CAAA,IAAI,OAAQ;AAE1E,eAAW,cAAc,OAAO,KAAK,WAAW,GAAsC;AAChF,UAAA,YAAY,UAAU,MAAM,QAAW;AAC7B,oBAAA,UAAU,IAAI,YAAY,UAAU;AAAA,MAClD;AAAA,IACF;AAEO,WAAA,eAAe,aAAa,WAAW;AACvC,WAAA;AAAA,EAAA;AAEX;AAEA,SAAS,iBACP,KACA,KACuB;AACjB,QAAA,EAAE,QAAQ,SAAS,CAAA,GAAI,MAAM,QAAQ,OAAO,cAAA,IAAkB,OAAO;AACvE,MAAA;AAEG,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA,IAAI,SAAS;AACX,UAAI,CAAC,QAAQ;AACL,cAAA,cAAc,OAAO,YAAY,GAAG;AAE1C,cAAM,gBAAgB,aAAa,EAAE,YAAa,CAAA;AAC5C,cAAA,OAAO,OAAO,KAAK,aAAa;AAEjC,aAAA,QAAQ,CAAC,cAAc;AACpB,gBAAA,eAAe,cAAc,SAAS;AAE5C,iBAAO,OAAO,aAAa,QAAQ,OAAO,SAAS,KAAK,CAAA,CAAE;AAAA,QAAA,CAC3D;AAED,cAAM,iBAAiB;AAAA,UACrB,CAACC,YAAY,SAAS,KAAK,QAAQA,OAAM,IAAIA;AAAAA,UAC7C,CAACA,YAAY,OAAO,KAAK,MAAMA,OAAM,IAAIA;AAAAA,UACzC,aAAa;AAEN,iBAAA,OAAO,OAAO,cAAc;AAAA,MACvC;AAEO,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;AAEM,MAAA,qBAAqB,CAA8B,eAA2B;AAClF,SAAO,QAAQ,oBAAoB;AACrC;"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- const _ = require("lodash");
3
- const index = require("../domain/content-type/index.js");
4
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
5
- const ___default = /* @__PURE__ */ _interopDefault(_);
6
- async function loadAdmin(strapi) {
7
- strapi.admin = require("@strapi/admin/strapi-server");
8
- strapi.get("services").add(`admin::`, strapi.admin?.services);
9
- strapi.get("controllers").add(`admin::`, strapi.admin?.controllers);
10
- strapi.get("content-types").add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));
11
- strapi.get("policies").add(`admin::`, strapi.admin?.policies);
12
- strapi.get("middlewares").add(`admin::`, strapi.admin?.middlewares);
13
- const userAdminConfig = strapi.config.get("admin");
14
- strapi.get("config").set("admin", ___default.default.merge(strapi.admin?.config, userAdminConfig));
15
- }
16
- const formatContentTypes = (contentTypes) => {
17
- Object.values(contentTypes).forEach((definition) => {
18
- const { schema } = definition;
19
- Object.assign(schema, {
20
- plugin: "admin",
21
- globalId: index.getGlobalId(schema, "admin")
22
- });
23
- });
24
- return contentTypes;
25
- };
26
- module.exports = loadAdmin;
27
- //# sourceMappingURL=admin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.js","sources":["../../src/loaders/admin.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Strapi, Schema } from '@strapi/types';\nimport { getGlobalId } from '../domain/content-type';\n\nexport default async function loadAdmin(strapi: Strapi) {\n strapi.admin = require('@strapi/admin/strapi-server');\n\n strapi.get('services').add(`admin::`, strapi.admin?.services);\n strapi.get('controllers').add(`admin::`, strapi.admin?.controllers);\n strapi.get('content-types').add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));\n strapi.get('policies').add(`admin::`, strapi.admin?.policies);\n strapi.get('middlewares').add(`admin::`, strapi.admin?.middlewares);\n\n const userAdminConfig = strapi.config.get('admin');\n strapi.get('config').set('admin', _.merge(strapi.admin?.config, userAdminConfig));\n}\n\nconst formatContentTypes = (contentTypes: Record<string, { schema: Schema.ContentType }>) => {\n Object.values(contentTypes).forEach((definition) => {\n const { schema } = definition;\n\n Object.assign(schema, {\n plugin: 'admin',\n globalId: getGlobalId(schema, 'admin'),\n });\n });\n\n return contentTypes;\n};\n"],"names":["_","getGlobalId"],"mappings":";;;;;AAIA,eAA8B,UAAU,QAAgB;AAC/C,SAAA,QAAQ,QAAQ,6BAA6B;AAEpD,SAAO,IAAI,UAAU,EAAE,IAAI,WAAW,OAAO,OAAO,QAAQ;AAC5D,SAAO,IAAI,aAAa,EAAE,IAAI,WAAW,OAAO,OAAO,WAAW;AAC3D,SAAA,IAAI,eAAe,EAAE,IAAI,WAAW,mBAAmB,OAAO,OAAO,gBAAgB,CAAA,CAAE,CAAC;AAC/F,SAAO,IAAI,UAAU,EAAE,IAAI,WAAW,OAAO,OAAO,QAAQ;AAC5D,SAAO,IAAI,aAAa,EAAE,IAAI,WAAW,OAAO,OAAO,WAAW;AAElE,QAAM,kBAAkB,OAAO,OAAO,IAAI,OAAO;AAC1C,SAAA,IAAI,QAAQ,EAAE,IAAI,SAASA,WAAAA,QAAE,MAAM,OAAO,OAAO,QAAQ,eAAe,CAAC;AAClF;AAEA,MAAM,qBAAqB,CAAC,iBAAiE;AAC3F,SAAO,OAAO,YAAY,EAAE,QAAQ,CAAC,eAAe;AAC5C,UAAA,EAAE,OAAW,IAAA;AAEnB,WAAO,OAAO,QAAQ;AAAA,MACpB,QAAQ;AAAA,MACR,UAAUC,MAAAA,YAAY,QAAQ,OAAO;AAAA,IAAA,CACtC;AAAA,EAAA,CACF;AAEM,SAAA;AACT;;"}
@@ -1,26 +0,0 @@
1
- import _ from "lodash";
2
- import { getGlobalId } from "../domain/content-type/index.mjs";
3
- async function loadAdmin(strapi) {
4
- strapi.admin = require("@strapi/admin/strapi-server");
5
- strapi.get("services").add(`admin::`, strapi.admin?.services);
6
- strapi.get("controllers").add(`admin::`, strapi.admin?.controllers);
7
- strapi.get("content-types").add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));
8
- strapi.get("policies").add(`admin::`, strapi.admin?.policies);
9
- strapi.get("middlewares").add(`admin::`, strapi.admin?.middlewares);
10
- const userAdminConfig = strapi.config.get("admin");
11
- strapi.get("config").set("admin", _.merge(strapi.admin?.config, userAdminConfig));
12
- }
13
- const formatContentTypes = (contentTypes) => {
14
- Object.values(contentTypes).forEach((definition) => {
15
- const { schema } = definition;
16
- Object.assign(schema, {
17
- plugin: "admin",
18
- globalId: getGlobalId(schema, "admin")
19
- });
20
- });
21
- return contentTypes;
22
- };
23
- export {
24
- loadAdmin as default
25
- };
26
- //# sourceMappingURL=admin.mjs.map