@strapi/core 0.0.0-next.fc1775f7731f8999840e56e298a216b9a6c5c4ad → 0.0.0-next.fdac61dd05ca665168f51f655f1d165b55ec4231

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (680) hide show
  1. package/dist/configuration/index.d.ts.map +1 -1
  2. package/dist/index.js +9954 -27
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +9932 -29
  5. package/dist/index.mjs.map +1 -1
  6. package/dist/middlewares/body.d.ts.map +1 -1
  7. package/dist/migrations/draft-publish.d.ts +1 -1
  8. package/dist/migrations/draft-publish.d.ts.map +1 -1
  9. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  10. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  11. package/dist/services/document-service/events.d.ts +1 -1
  12. package/dist/services/document-service/events.d.ts.map +1 -1
  13. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  14. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  15. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  16. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  17. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  18. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  19. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  20. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  21. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  22. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  23. package/dist/services/document-service/utils/populate.d.ts +1 -1
  24. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  25. package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
  26. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  27. package/dist/services/entity-validator/index.d.ts +1 -1
  28. package/dist/services/entity-validator/index.d.ts.map +1 -1
  29. package/dist/services/metrics/middleware.d.ts.map +1 -1
  30. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  31. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  32. package/package.json +23 -23
  33. package/dist/Strapi.js +0 -437
  34. package/dist/Strapi.js.map +0 -1
  35. package/dist/Strapi.mjs +0 -416
  36. package/dist/Strapi.mjs.map +0 -1
  37. package/dist/compile.js +0 -18
  38. package/dist/compile.js.map +0 -1
  39. package/dist/compile.mjs +0 -17
  40. package/dist/compile.mjs.map +0 -1
  41. package/dist/configuration/config-loader.js +0 -105
  42. package/dist/configuration/config-loader.js.map +0 -1
  43. package/dist/configuration/config-loader.mjs +0 -103
  44. package/dist/configuration/config-loader.mjs.map +0 -1
  45. package/dist/configuration/get-dirs.js +0 -31
  46. package/dist/configuration/get-dirs.js.map +0 -1
  47. package/dist/configuration/get-dirs.mjs +0 -31
  48. package/dist/configuration/get-dirs.mjs.map +0 -1
  49. package/dist/configuration/index.js +0 -85
  50. package/dist/configuration/index.js.map +0 -1
  51. package/dist/configuration/index.mjs +0 -80
  52. package/dist/configuration/index.mjs.map +0 -1
  53. package/dist/configuration/urls.js +0 -68
  54. package/dist/configuration/urls.js.map +0 -1
  55. package/dist/configuration/urls.mjs +0 -66
  56. package/dist/configuration/urls.mjs.map +0 -1
  57. package/dist/container.js +0 -30
  58. package/dist/container.js.map +0 -1
  59. package/dist/container.mjs +0 -30
  60. package/dist/container.mjs.map +0 -1
  61. package/dist/core-api/controller/collection-type.js +0 -84
  62. package/dist/core-api/controller/collection-type.js.map +0 -1
  63. package/dist/core-api/controller/collection-type.mjs +0 -84
  64. package/dist/core-api/controller/collection-type.mjs.map +0 -1
  65. package/dist/core-api/controller/index.js +0 -52
  66. package/dist/core-api/controller/index.js.map +0 -1
  67. package/dist/core-api/controller/index.mjs +0 -52
  68. package/dist/core-api/controller/index.mjs.map +0 -1
  69. package/dist/core-api/controller/single-type.js +0 -46
  70. package/dist/core-api/controller/single-type.js.map +0 -1
  71. package/dist/core-api/controller/single-type.mjs +0 -46
  72. package/dist/core-api/controller/single-type.mjs.map +0 -1
  73. package/dist/core-api/controller/transform.js +0 -76
  74. package/dist/core-api/controller/transform.js.map +0 -1
  75. package/dist/core-api/controller/transform.mjs +0 -76
  76. package/dist/core-api/controller/transform.mjs.map +0 -1
  77. package/dist/core-api/routes/index.js +0 -67
  78. package/dist/core-api/routes/index.js.map +0 -1
  79. package/dist/core-api/routes/index.mjs +0 -67
  80. package/dist/core-api/routes/index.mjs.map +0 -1
  81. package/dist/core-api/service/collection-type.js +0 -67
  82. package/dist/core-api/service/collection-type.js.map +0 -1
  83. package/dist/core-api/service/collection-type.mjs +0 -67
  84. package/dist/core-api/service/collection-type.mjs.map +0 -1
  85. package/dist/core-api/service/core-service.js +0 -12
  86. package/dist/core-api/service/core-service.js.map +0 -1
  87. package/dist/core-api/service/core-service.mjs +0 -12
  88. package/dist/core-api/service/core-service.mjs.map +0 -1
  89. package/dist/core-api/service/index.js +0 -16
  90. package/dist/core-api/service/index.js.map +0 -1
  91. package/dist/core-api/service/index.mjs +0 -16
  92. package/dist/core-api/service/index.mjs.map +0 -1
  93. package/dist/core-api/service/pagination.js +0 -52
  94. package/dist/core-api/service/pagination.js.map +0 -1
  95. package/dist/core-api/service/pagination.mjs +0 -52
  96. package/dist/core-api/service/pagination.mjs.map +0 -1
  97. package/dist/core-api/service/single-type.js +0 -45
  98. package/dist/core-api/service/single-type.js.map +0 -1
  99. package/dist/core-api/service/single-type.mjs +0 -45
  100. package/dist/core-api/service/single-type.mjs.map +0 -1
  101. package/dist/domain/content-type/index.js +0 -111
  102. package/dist/domain/content-type/index.js.map +0 -1
  103. package/dist/domain/content-type/index.mjs +0 -109
  104. package/dist/domain/content-type/index.mjs.map +0 -1
  105. package/dist/domain/content-type/validator.js +0 -77
  106. package/dist/domain/content-type/validator.js.map +0 -1
  107. package/dist/domain/content-type/validator.mjs +0 -75
  108. package/dist/domain/content-type/validator.mjs.map +0 -1
  109. package/dist/domain/module/index.js +0 -107
  110. package/dist/domain/module/index.js.map +0 -1
  111. package/dist/domain/module/index.mjs +0 -105
  112. package/dist/domain/module/index.mjs.map +0 -1
  113. package/dist/domain/module/validation.js +0 -25
  114. package/dist/domain/module/validation.js.map +0 -1
  115. package/dist/domain/module/validation.mjs +0 -25
  116. package/dist/domain/module/validation.mjs.map +0 -1
  117. package/dist/ee/index.js +0 -158
  118. package/dist/ee/index.js.map +0 -1
  119. package/dist/ee/index.mjs +0 -159
  120. package/dist/ee/index.mjs.map +0 -1
  121. package/dist/ee/license.js +0 -91
  122. package/dist/ee/license.js.map +0 -1
  123. package/dist/ee/license.mjs +0 -88
  124. package/dist/ee/license.mjs.map +0 -1
  125. package/dist/factories.js +0 -80
  126. package/dist/factories.js.map +0 -1
  127. package/dist/factories.mjs +0 -80
  128. package/dist/factories.mjs.map +0 -1
  129. package/dist/loaders/admin.js +0 -26
  130. package/dist/loaders/admin.js.map +0 -1
  131. package/dist/loaders/admin.mjs +0 -25
  132. package/dist/loaders/admin.mjs.map +0 -1
  133. package/dist/loaders/apis.js +0 -137
  134. package/dist/loaders/apis.js.map +0 -1
  135. package/dist/loaders/apis.mjs +0 -135
  136. package/dist/loaders/apis.mjs.map +0 -1
  137. package/dist/loaders/components.js +0 -38
  138. package/dist/loaders/components.js.map +0 -1
  139. package/dist/loaders/components.mjs +0 -37
  140. package/dist/loaders/components.mjs.map +0 -1
  141. package/dist/loaders/index.js +0 -24
  142. package/dist/loaders/index.js.map +0 -1
  143. package/dist/loaders/index.mjs +0 -24
  144. package/dist/loaders/index.mjs.map +0 -1
  145. package/dist/loaders/middlewares.js +0 -31
  146. package/dist/loaders/middlewares.js.map +0 -1
  147. package/dist/loaders/middlewares.mjs +0 -30
  148. package/dist/loaders/middlewares.mjs.map +0 -1
  149. package/dist/loaders/plugins/get-enabled-plugins.js +0 -141
  150. package/dist/loaders/plugins/get-enabled-plugins.js.map +0 -1
  151. package/dist/loaders/plugins/get-enabled-plugins.mjs +0 -117
  152. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +0 -1
  153. package/dist/loaders/plugins/get-user-plugins-config.js +0 -27
  154. package/dist/loaders/plugins/get-user-plugins-config.js.map +0 -1
  155. package/dist/loaders/plugins/get-user-plugins-config.mjs +0 -25
  156. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +0 -1
  157. package/dist/loaders/plugins/index.js +0 -144
  158. package/dist/loaders/plugins/index.js.map +0 -1
  159. package/dist/loaders/plugins/index.mjs +0 -125
  160. package/dist/loaders/plugins/index.mjs.map +0 -1
  161. package/dist/loaders/policies.js +0 -25
  162. package/dist/loaders/policies.js.map +0 -1
  163. package/dist/loaders/policies.mjs +0 -24
  164. package/dist/loaders/policies.mjs.map +0 -1
  165. package/dist/loaders/sanitizers.js +0 -6
  166. package/dist/loaders/sanitizers.js.map +0 -1
  167. package/dist/loaders/sanitizers.mjs +0 -7
  168. package/dist/loaders/sanitizers.mjs.map +0 -1
  169. package/dist/loaders/src-index.js +0 -33
  170. package/dist/loaders/src-index.js.map +0 -1
  171. package/dist/loaders/src-index.mjs +0 -34
  172. package/dist/loaders/src-index.mjs.map +0 -1
  173. package/dist/loaders/validators.js +0 -6
  174. package/dist/loaders/validators.js.map +0 -1
  175. package/dist/loaders/validators.mjs +0 -7
  176. package/dist/loaders/validators.mjs.map +0 -1
  177. package/dist/middlewares/body.js +0 -65
  178. package/dist/middlewares/body.js.map +0 -1
  179. package/dist/middlewares/body.mjs +0 -61
  180. package/dist/middlewares/body.mjs.map +0 -1
  181. package/dist/middlewares/compression.js +0 -8
  182. package/dist/middlewares/compression.js.map +0 -1
  183. package/dist/middlewares/compression.mjs +0 -6
  184. package/dist/middlewares/compression.mjs.map +0 -1
  185. package/dist/middlewares/cors.js +0 -53
  186. package/dist/middlewares/cors.js.map +0 -1
  187. package/dist/middlewares/cors.mjs +0 -51
  188. package/dist/middlewares/cors.mjs.map +0 -1
  189. package/dist/middlewares/errors.js +0 -33
  190. package/dist/middlewares/errors.js.map +0 -1
  191. package/dist/middlewares/errors.mjs +0 -33
  192. package/dist/middlewares/errors.mjs.map +0 -1
  193. package/dist/middlewares/favicon.js +0 -22
  194. package/dist/middlewares/favicon.js.map +0 -1
  195. package/dist/middlewares/favicon.mjs +0 -20
  196. package/dist/middlewares/favicon.mjs.map +0 -1
  197. package/dist/middlewares/index.js +0 -34
  198. package/dist/middlewares/index.js.map +0 -1
  199. package/dist/middlewares/index.mjs +0 -34
  200. package/dist/middlewares/index.mjs.map +0 -1
  201. package/dist/middlewares/ip.js +0 -8
  202. package/dist/middlewares/ip.js.map +0 -1
  203. package/dist/middlewares/ip.mjs +0 -6
  204. package/dist/middlewares/ip.mjs.map +0 -1
  205. package/dist/middlewares/logger.js +0 -12
  206. package/dist/middlewares/logger.js.map +0 -1
  207. package/dist/middlewares/logger.mjs +0 -12
  208. package/dist/middlewares/logger.mjs.map +0 -1
  209. package/dist/middlewares/powered-by.js +0 -14
  210. package/dist/middlewares/powered-by.js.map +0 -1
  211. package/dist/middlewares/powered-by.mjs +0 -14
  212. package/dist/middlewares/powered-by.mjs.map +0 -1
  213. package/dist/middlewares/public.js +0 -34
  214. package/dist/middlewares/public.js.map +0 -1
  215. package/dist/middlewares/public.mjs +0 -32
  216. package/dist/middlewares/public.mjs.map +0 -1
  217. package/dist/middlewares/query.js +0 -40
  218. package/dist/middlewares/query.js.map +0 -1
  219. package/dist/middlewares/query.mjs +0 -38
  220. package/dist/middlewares/query.mjs.map +0 -1
  221. package/dist/middlewares/response-time.js +0 -12
  222. package/dist/middlewares/response-time.js.map +0 -1
  223. package/dist/middlewares/response-time.mjs +0 -12
  224. package/dist/middlewares/response-time.mjs.map +0 -1
  225. package/dist/middlewares/responses.js +0 -15
  226. package/dist/middlewares/responses.js.map +0 -1
  227. package/dist/middlewares/responses.mjs +0 -15
  228. package/dist/middlewares/responses.mjs.map +0 -1
  229. package/dist/middlewares/security.js +0 -78
  230. package/dist/middlewares/security.js.map +0 -1
  231. package/dist/middlewares/security.mjs +0 -76
  232. package/dist/middlewares/security.mjs.map +0 -1
  233. package/dist/middlewares/session.js +0 -30
  234. package/dist/middlewares/session.js.map +0 -1
  235. package/dist/middlewares/session.mjs +0 -28
  236. package/dist/middlewares/session.mjs.map +0 -1
  237. package/dist/migrations/database/5.0.0-discard-drafts.js +0 -109
  238. package/dist/migrations/database/5.0.0-discard-drafts.js.map +0 -1
  239. package/dist/migrations/database/5.0.0-discard-drafts.mjs +0 -109
  240. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +0 -1
  241. package/dist/migrations/draft-publish.js +0 -42
  242. package/dist/migrations/draft-publish.js.map +0 -1
  243. package/dist/migrations/draft-publish.mjs +0 -42
  244. package/dist/migrations/draft-publish.mjs.map +0 -1
  245. package/dist/migrations/i18n.js +0 -54
  246. package/dist/migrations/i18n.js.map +0 -1
  247. package/dist/migrations/i18n.mjs +0 -54
  248. package/dist/migrations/i18n.mjs.map +0 -1
  249. package/dist/migrations/index.js +0 -15
  250. package/dist/migrations/index.js.map +0 -1
  251. package/dist/migrations/index.mjs +0 -15
  252. package/dist/migrations/index.mjs.map +0 -1
  253. package/dist/providers/admin.js +0 -20
  254. package/dist/providers/admin.js.map +0 -1
  255. package/dist/providers/admin.mjs +0 -21
  256. package/dist/providers/admin.mjs.map +0 -1
  257. package/dist/providers/coreStore.js +0 -11
  258. package/dist/providers/coreStore.js.map +0 -1
  259. package/dist/providers/coreStore.mjs +0 -12
  260. package/dist/providers/coreStore.mjs.map +0 -1
  261. package/dist/providers/cron.js +0 -20
  262. package/dist/providers/cron.js.map +0 -1
  263. package/dist/providers/cron.mjs +0 -21
  264. package/dist/providers/cron.mjs.map +0 -1
  265. package/dist/providers/index.js +0 -11
  266. package/dist/providers/index.js.map +0 -1
  267. package/dist/providers/index.mjs +0 -11
  268. package/dist/providers/index.mjs.map +0 -1
  269. package/dist/providers/provider.js +0 -5
  270. package/dist/providers/provider.js.map +0 -1
  271. package/dist/providers/provider.mjs +0 -5
  272. package/dist/providers/provider.mjs.map +0 -1
  273. package/dist/providers/registries.js +0 -35
  274. package/dist/providers/registries.js.map +0 -1
  275. package/dist/providers/registries.mjs +0 -36
  276. package/dist/providers/registries.mjs.map +0 -1
  277. package/dist/providers/telemetry.js +0 -19
  278. package/dist/providers/telemetry.js.map +0 -1
  279. package/dist/providers/telemetry.mjs +0 -20
  280. package/dist/providers/telemetry.mjs.map +0 -1
  281. package/dist/providers/webhooks.js +0 -30
  282. package/dist/providers/webhooks.js.map +0 -1
  283. package/dist/providers/webhooks.mjs +0 -31
  284. package/dist/providers/webhooks.mjs.map +0 -1
  285. package/dist/registries/apis.js +0 -23
  286. package/dist/registries/apis.js.map +0 -1
  287. package/dist/registries/apis.mjs +0 -24
  288. package/dist/registries/apis.mjs.map +0 -1
  289. package/dist/registries/components.js +0 -45
  290. package/dist/registries/components.js.map +0 -1
  291. package/dist/registries/components.mjs +0 -46
  292. package/dist/registries/components.mjs.map +0 -1
  293. package/dist/registries/content-types.js +0 -70
  294. package/dist/registries/content-types.js.map +0 -1
  295. package/dist/registries/content-types.mjs +0 -71
  296. package/dist/registries/content-types.mjs.map +0 -1
  297. package/dist/registries/controllers.js +0 -80
  298. package/dist/registries/controllers.js.map +0 -1
  299. package/dist/registries/controllers.mjs +0 -81
  300. package/dist/registries/controllers.mjs.map +0 -1
  301. package/dist/registries/custom-fields.js +0 -71
  302. package/dist/registries/custom-fields.js.map +0 -1
  303. package/dist/registries/custom-fields.mjs +0 -72
  304. package/dist/registries/custom-fields.mjs.map +0 -1
  305. package/dist/registries/hooks.js +0 -58
  306. package/dist/registries/hooks.js.map +0 -1
  307. package/dist/registries/hooks.mjs +0 -59
  308. package/dist/registries/hooks.mjs.map +0 -1
  309. package/dist/registries/middlewares.js +0 -60
  310. package/dist/registries/middlewares.js.map +0 -1
  311. package/dist/registries/middlewares.mjs +0 -61
  312. package/dist/registries/middlewares.mjs.map +0 -1
  313. package/dist/registries/models.js +0 -16
  314. package/dist/registries/models.js.map +0 -1
  315. package/dist/registries/models.mjs +0 -16
  316. package/dist/registries/models.mjs.map +0 -1
  317. package/dist/registries/modules.js +0 -39
  318. package/dist/registries/modules.js.map +0 -1
  319. package/dist/registries/modules.mjs +0 -40
  320. package/dist/registries/modules.mjs.map +0 -1
  321. package/dist/registries/namespace.js +0 -27
  322. package/dist/registries/namespace.js.map +0 -1
  323. package/dist/registries/namespace.mjs +0 -27
  324. package/dist/registries/namespace.mjs.map +0 -1
  325. package/dist/registries/plugins.js +0 -23
  326. package/dist/registries/plugins.js.map +0 -1
  327. package/dist/registries/plugins.mjs +0 -24
  328. package/dist/registries/plugins.mjs.map +0 -1
  329. package/dist/registries/policies.js +0 -108
  330. package/dist/registries/policies.js.map +0 -1
  331. package/dist/registries/policies.mjs +0 -109
  332. package/dist/registries/policies.mjs.map +0 -1
  333. package/dist/registries/sanitizers.js +0 -25
  334. package/dist/registries/sanitizers.js.map +0 -1
  335. package/dist/registries/sanitizers.mjs +0 -24
  336. package/dist/registries/sanitizers.mjs.map +0 -1
  337. package/dist/registries/services.js +0 -80
  338. package/dist/registries/services.js.map +0 -1
  339. package/dist/registries/services.mjs +0 -81
  340. package/dist/registries/services.mjs.map +0 -1
  341. package/dist/registries/validators.js +0 -25
  342. package/dist/registries/validators.js.map +0 -1
  343. package/dist/registries/validators.mjs +0 -24
  344. package/dist/registries/validators.mjs.map +0 -1
  345. package/dist/services/auth/index.js +0 -81
  346. package/dist/services/auth/index.js.map +0 -1
  347. package/dist/services/auth/index.mjs +0 -80
  348. package/dist/services/auth/index.mjs.map +0 -1
  349. package/dist/services/config.js +0 -47
  350. package/dist/services/config.js.map +0 -1
  351. package/dist/services/config.mjs +0 -47
  352. package/dist/services/config.mjs.map +0 -1
  353. package/dist/services/content-api/index.js +0 -85
  354. package/dist/services/content-api/index.js.map +0 -1
  355. package/dist/services/content-api/index.mjs +0 -84
  356. package/dist/services/content-api/index.mjs.map +0 -1
  357. package/dist/services/content-api/permissions/engine.js +0 -7
  358. package/dist/services/content-api/permissions/engine.js.map +0 -1
  359. package/dist/services/content-api/permissions/engine.mjs +0 -6
  360. package/dist/services/content-api/permissions/engine.mjs.map +0 -1
  361. package/dist/services/content-api/permissions/index.js +0 -87
  362. package/dist/services/content-api/permissions/index.js.map +0 -1
  363. package/dist/services/content-api/permissions/index.mjs +0 -86
  364. package/dist/services/content-api/permissions/index.mjs.map +0 -1
  365. package/dist/services/content-api/permissions/providers/action.js +0 -16
  366. package/dist/services/content-api/permissions/providers/action.js.map +0 -1
  367. package/dist/services/content-api/permissions/providers/action.mjs +0 -17
  368. package/dist/services/content-api/permissions/providers/action.mjs.map +0 -1
  369. package/dist/services/content-api/permissions/providers/condition.js +0 -16
  370. package/dist/services/content-api/permissions/providers/condition.js.map +0 -1
  371. package/dist/services/content-api/permissions/providers/condition.mjs +0 -17
  372. package/dist/services/content-api/permissions/providers/condition.mjs.map +0 -1
  373. package/dist/services/core-store.js +0 -107
  374. package/dist/services/core-store.js.map +0 -1
  375. package/dist/services/core-store.mjs +0 -107
  376. package/dist/services/core-store.mjs.map +0 -1
  377. package/dist/services/cron.js +0 -67
  378. package/dist/services/cron.js.map +0 -1
  379. package/dist/services/cron.mjs +0 -68
  380. package/dist/services/cron.mjs.map +0 -1
  381. package/dist/services/custom-fields.js +0 -10
  382. package/dist/services/custom-fields.js.map +0 -1
  383. package/dist/services/custom-fields.mjs +0 -11
  384. package/dist/services/custom-fields.mjs.map +0 -1
  385. package/dist/services/document-service/attributes/index.js +0 -22
  386. package/dist/services/document-service/attributes/index.js.map +0 -1
  387. package/dist/services/document-service/attributes/index.mjs +0 -22
  388. package/dist/services/document-service/attributes/index.mjs.map +0 -1
  389. package/dist/services/document-service/attributes/transforms.js +0 -20
  390. package/dist/services/document-service/attributes/transforms.js.map +0 -1
  391. package/dist/services/document-service/attributes/transforms.mjs +0 -19
  392. package/dist/services/document-service/attributes/transforms.mjs.map +0 -1
  393. package/dist/services/document-service/common.js +0 -7
  394. package/dist/services/document-service/common.js.map +0 -1
  395. package/dist/services/document-service/common.mjs +0 -7
  396. package/dist/services/document-service/common.mjs.map +0 -1
  397. package/dist/services/document-service/components.js +0 -288
  398. package/dist/services/document-service/components.js.map +0 -1
  399. package/dist/services/document-service/components.mjs +0 -286
  400. package/dist/services/document-service/components.mjs.map +0 -1
  401. package/dist/services/document-service/draft-and-publish.js +0 -69
  402. package/dist/services/document-service/draft-and-publish.js.map +0 -1
  403. package/dist/services/document-service/draft-and-publish.mjs +0 -69
  404. package/dist/services/document-service/draft-and-publish.mjs.map +0 -1
  405. package/dist/services/document-service/entries.js +0 -95
  406. package/dist/services/document-service/entries.js.map +0 -1
  407. package/dist/services/document-service/entries.mjs +0 -95
  408. package/dist/services/document-service/entries.mjs.map +0 -1
  409. package/dist/services/document-service/events.js +0 -47
  410. package/dist/services/document-service/events.js.map +0 -1
  411. package/dist/services/document-service/events.mjs +0 -47
  412. package/dist/services/document-service/events.mjs.map +0 -1
  413. package/dist/services/document-service/index.js +0 -36
  414. package/dist/services/document-service/index.js.map +0 -1
  415. package/dist/services/document-service/index.mjs +0 -36
  416. package/dist/services/document-service/index.mjs.map +0 -1
  417. package/dist/services/document-service/internationalization.js +0 -63
  418. package/dist/services/document-service/internationalization.js.map +0 -1
  419. package/dist/services/document-service/internationalization.mjs +0 -63
  420. package/dist/services/document-service/internationalization.mjs.map +0 -1
  421. package/dist/services/document-service/middlewares/errors.js +0 -25
  422. package/dist/services/document-service/middlewares/errors.js.map +0 -1
  423. package/dist/services/document-service/middlewares/errors.mjs +0 -25
  424. package/dist/services/document-service/middlewares/errors.mjs.map +0 -1
  425. package/dist/services/document-service/middlewares/middleware-manager.js +0 -49
  426. package/dist/services/document-service/middlewares/middleware-manager.js.map +0 -1
  427. package/dist/services/document-service/middlewares/middleware-manager.mjs +0 -49
  428. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +0 -1
  429. package/dist/services/document-service/params.js +0 -8
  430. package/dist/services/document-service/params.js.map +0 -1
  431. package/dist/services/document-service/params.mjs +0 -8
  432. package/dist/services/document-service/params.mjs.map +0 -1
  433. package/dist/services/document-service/repository.js +0 -332
  434. package/dist/services/document-service/repository.js.map +0 -1
  435. package/dist/services/document-service/repository.mjs +0 -332
  436. package/dist/services/document-service/repository.mjs.map +0 -1
  437. package/dist/services/document-service/transform/data.js +0 -15
  438. package/dist/services/document-service/transform/data.js.map +0 -1
  439. package/dist/services/document-service/transform/data.mjs +0 -15
  440. package/dist/services/document-service/transform/data.mjs.map +0 -1
  441. package/dist/services/document-service/transform/fields.js +0 -24
  442. package/dist/services/document-service/transform/fields.js.map +0 -1
  443. package/dist/services/document-service/transform/fields.mjs +0 -24
  444. package/dist/services/document-service/transform/fields.mjs.map +0 -1
  445. package/dist/services/document-service/transform/id-map.js +0 -85
  446. package/dist/services/document-service/transform/id-map.js.map +0 -1
  447. package/dist/services/document-service/transform/id-map.mjs +0 -85
  448. package/dist/services/document-service/transform/id-map.mjs.map +0 -1
  449. package/dist/services/document-service/transform/id-transform.js +0 -33
  450. package/dist/services/document-service/transform/id-transform.js.map +0 -1
  451. package/dist/services/document-service/transform/id-transform.mjs +0 -33
  452. package/dist/services/document-service/transform/id-transform.mjs.map +0 -1
  453. package/dist/services/document-service/transform/populate.js +0 -21
  454. package/dist/services/document-service/transform/populate.js.map +0 -1
  455. package/dist/services/document-service/transform/populate.mjs +0 -21
  456. package/dist/services/document-service/transform/populate.mjs.map +0 -1
  457. package/dist/services/document-service/transform/query.js +0 -9
  458. package/dist/services/document-service/transform/query.js.map +0 -1
  459. package/dist/services/document-service/transform/query.mjs +0 -9
  460. package/dist/services/document-service/transform/query.mjs.map +0 -1
  461. package/dist/services/document-service/transform/relations/extract/data-ids.js +0 -64
  462. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +0 -1
  463. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +0 -64
  464. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +0 -1
  465. package/dist/services/document-service/transform/relations/transform/data-ids.js +0 -85
  466. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +0 -1
  467. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +0 -85
  468. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +0 -1
  469. package/dist/services/document-service/transform/relations/transform/default-locale.js +0 -32
  470. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +0 -1
  471. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +0 -32
  472. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +0 -1
  473. package/dist/services/document-service/transform/relations/utils/dp.js +0 -30
  474. package/dist/services/document-service/transform/relations/utils/dp.js.map +0 -1
  475. package/dist/services/document-service/transform/relations/utils/dp.mjs +0 -30
  476. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +0 -1
  477. package/dist/services/document-service/transform/relations/utils/i18n.js +0 -25
  478. package/dist/services/document-service/transform/relations/utils/i18n.js.map +0 -1
  479. package/dist/services/document-service/transform/relations/utils/i18n.mjs +0 -25
  480. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +0 -1
  481. package/dist/services/document-service/transform/relations/utils/map-relation.js +0 -84
  482. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +0 -1
  483. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +0 -84
  484. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +0 -1
  485. package/dist/services/document-service/utils/populate.js +0 -47
  486. package/dist/services/document-service/utils/populate.js.map +0 -1
  487. package/dist/services/document-service/utils/populate.mjs +0 -47
  488. package/dist/services/document-service/utils/populate.mjs.map +0 -1
  489. package/dist/services/document-service/utils/unidirectional-relations.js +0 -68
  490. package/dist/services/document-service/utils/unidirectional-relations.js.map +0 -1
  491. package/dist/services/document-service/utils/unidirectional-relations.mjs +0 -68
  492. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +0 -1
  493. package/dist/services/entity-service/index.js +0 -169
  494. package/dist/services/entity-service/index.js.map +0 -1
  495. package/dist/services/entity-service/index.mjs +0 -167
  496. package/dist/services/entity-service/index.mjs.map +0 -1
  497. package/dist/services/entity-validator/blocks-validator.js +0 -128
  498. package/dist/services/entity-validator/blocks-validator.js.map +0 -1
  499. package/dist/services/entity-validator/blocks-validator.mjs +0 -128
  500. package/dist/services/entity-validator/blocks-validator.mjs.map +0 -1
  501. package/dist/services/entity-validator/index.js +0 -389
  502. package/dist/services/entity-validator/index.js.map +0 -1
  503. package/dist/services/entity-validator/index.mjs +0 -388
  504. package/dist/services/entity-validator/index.mjs.map +0 -1
  505. package/dist/services/entity-validator/validators.js +0 -241
  506. package/dist/services/entity-validator/validators.js.map +0 -1
  507. package/dist/services/entity-validator/validators.mjs +0 -239
  508. package/dist/services/entity-validator/validators.mjs.map +0 -1
  509. package/dist/services/errors.js +0 -76
  510. package/dist/services/errors.js.map +0 -1
  511. package/dist/services/errors.mjs +0 -74
  512. package/dist/services/errors.mjs.map +0 -1
  513. package/dist/services/event-hub.js +0 -72
  514. package/dist/services/event-hub.js.map +0 -1
  515. package/dist/services/event-hub.mjs +0 -73
  516. package/dist/services/event-hub.mjs.map +0 -1
  517. package/dist/services/features.js +0 -17
  518. package/dist/services/features.js.map +0 -1
  519. package/dist/services/features.mjs +0 -17
  520. package/dist/services/features.mjs.map +0 -1
  521. package/dist/services/fs.js +0 -51
  522. package/dist/services/fs.js.map +0 -1
  523. package/dist/services/fs.mjs +0 -49
  524. package/dist/services/fs.mjs.map +0 -1
  525. package/dist/services/metrics/admin-user-hash.js +0 -14
  526. package/dist/services/metrics/admin-user-hash.js.map +0 -1
  527. package/dist/services/metrics/admin-user-hash.mjs +0 -12
  528. package/dist/services/metrics/admin-user-hash.mjs.map +0 -1
  529. package/dist/services/metrics/index.js +0 -44
  530. package/dist/services/metrics/index.js.map +0 -1
  531. package/dist/services/metrics/index.mjs +0 -45
  532. package/dist/services/metrics/index.mjs.map +0 -1
  533. package/dist/services/metrics/is-truthy.js +0 -9
  534. package/dist/services/metrics/is-truthy.js.map +0 -1
  535. package/dist/services/metrics/is-truthy.mjs +0 -8
  536. package/dist/services/metrics/is-truthy.mjs.map +0 -1
  537. package/dist/services/metrics/middleware.js +0 -25
  538. package/dist/services/metrics/middleware.js.map +0 -1
  539. package/dist/services/metrics/middleware.mjs +0 -26
  540. package/dist/services/metrics/middleware.mjs.map +0 -1
  541. package/dist/services/metrics/rate-limiter.js +0 -21
  542. package/dist/services/metrics/rate-limiter.js.map +0 -1
  543. package/dist/services/metrics/rate-limiter.mjs +0 -22
  544. package/dist/services/metrics/rate-limiter.mjs.map +0 -1
  545. package/dist/services/metrics/sender.js +0 -76
  546. package/dist/services/metrics/sender.js.map +0 -1
  547. package/dist/services/metrics/sender.mjs +0 -70
  548. package/dist/services/metrics/sender.mjs.map +0 -1
  549. package/dist/services/query-params.js +0 -12
  550. package/dist/services/query-params.js.map +0 -1
  551. package/dist/services/query-params.mjs +0 -13
  552. package/dist/services/query-params.mjs.map +0 -1
  553. package/dist/services/reloader.js +0 -36
  554. package/dist/services/reloader.js.map +0 -1
  555. package/dist/services/reloader.mjs +0 -36
  556. package/dist/services/reloader.mjs.map +0 -1
  557. package/dist/services/request-context.js +0 -13
  558. package/dist/services/request-context.js.map +0 -1
  559. package/dist/services/request-context.mjs +0 -14
  560. package/dist/services/request-context.mjs.map +0 -1
  561. package/dist/services/server/admin-api.js +0 -13
  562. package/dist/services/server/admin-api.js.map +0 -1
  563. package/dist/services/server/admin-api.mjs +0 -13
  564. package/dist/services/server/admin-api.mjs.map +0 -1
  565. package/dist/services/server/api.js +0 -30
  566. package/dist/services/server/api.js.map +0 -1
  567. package/dist/services/server/api.mjs +0 -28
  568. package/dist/services/server/api.mjs.map +0 -1
  569. package/dist/services/server/compose-endpoint.js +0 -117
  570. package/dist/services/server/compose-endpoint.js.map +0 -1
  571. package/dist/services/server/compose-endpoint.mjs +0 -116
  572. package/dist/services/server/compose-endpoint.mjs.map +0 -1
  573. package/dist/services/server/content-api.js +0 -12
  574. package/dist/services/server/content-api.js.map +0 -1
  575. package/dist/services/server/content-api.mjs +0 -12
  576. package/dist/services/server/content-api.mjs.map +0 -1
  577. package/dist/services/server/http-server.js +0 -50
  578. package/dist/services/server/http-server.js.map +0 -1
  579. package/dist/services/server/http-server.mjs +0 -48
  580. package/dist/services/server/http-server.mjs.map +0 -1
  581. package/dist/services/server/index.js +0 -87
  582. package/dist/services/server/index.js.map +0 -1
  583. package/dist/services/server/index.mjs +0 -85
  584. package/dist/services/server/index.mjs.map +0 -1
  585. package/dist/services/server/koa.js +0 -52
  586. package/dist/services/server/koa.js.map +0 -1
  587. package/dist/services/server/koa.mjs +0 -48
  588. package/dist/services/server/koa.mjs.map +0 -1
  589. package/dist/services/server/middleware.js +0 -92
  590. package/dist/services/server/middleware.js.map +0 -1
  591. package/dist/services/server/middleware.mjs +0 -90
  592. package/dist/services/server/middleware.mjs.map +0 -1
  593. package/dist/services/server/policy.js +0 -20
  594. package/dist/services/server/policy.js.map +0 -1
  595. package/dist/services/server/policy.mjs +0 -20
  596. package/dist/services/server/policy.mjs.map +0 -1
  597. package/dist/services/server/register-middlewares.js +0 -72
  598. package/dist/services/server/register-middlewares.js.map +0 -1
  599. package/dist/services/server/register-middlewares.mjs +0 -73
  600. package/dist/services/server/register-middlewares.mjs.map +0 -1
  601. package/dist/services/server/register-routes.js +0 -76
  602. package/dist/services/server/register-routes.js.map +0 -1
  603. package/dist/services/server/register-routes.mjs +0 -75
  604. package/dist/services/server/register-routes.mjs.map +0 -1
  605. package/dist/services/server/routing.js +0 -91
  606. package/dist/services/server/routing.js.map +0 -1
  607. package/dist/services/server/routing.mjs +0 -89
  608. package/dist/services/server/routing.mjs.map +0 -1
  609. package/dist/services/utils/dynamic-zones.js +0 -17
  610. package/dist/services/utils/dynamic-zones.js.map +0 -1
  611. package/dist/services/utils/dynamic-zones.mjs +0 -18
  612. package/dist/services/utils/dynamic-zones.mjs.map +0 -1
  613. package/dist/services/webhook-runner.js +0 -133
  614. package/dist/services/webhook-runner.js.map +0 -1
  615. package/dist/services/webhook-runner.mjs +0 -131
  616. package/dist/services/webhook-runner.mjs.map +0 -1
  617. package/dist/services/webhook-store.js +0 -110
  618. package/dist/services/webhook-store.js.map +0 -1
  619. package/dist/services/webhook-store.mjs +0 -110
  620. package/dist/services/webhook-store.mjs.map +0 -1
  621. package/dist/services/worker-queue.js +0 -56
  622. package/dist/services/worker-queue.js.map +0 -1
  623. package/dist/services/worker-queue.mjs +0 -55
  624. package/dist/services/worker-queue.mjs.map +0 -1
  625. package/dist/utils/convert-custom-field-type.js +0 -24
  626. package/dist/utils/convert-custom-field-type.js.map +0 -1
  627. package/dist/utils/convert-custom-field-type.mjs +0 -24
  628. package/dist/utils/convert-custom-field-type.mjs.map +0 -1
  629. package/dist/utils/cron.js +0 -38
  630. package/dist/utils/cron.js.map +0 -1
  631. package/dist/utils/cron.mjs +0 -38
  632. package/dist/utils/cron.mjs.map +0 -1
  633. package/dist/utils/fetch.js +0 -21
  634. package/dist/utils/fetch.js.map +0 -1
  635. package/dist/utils/fetch.mjs +0 -21
  636. package/dist/utils/fetch.mjs.map +0 -1
  637. package/dist/utils/filepath-to-prop-path.js +0 -33
  638. package/dist/utils/filepath-to-prop-path.js.map +0 -1
  639. package/dist/utils/filepath-to-prop-path.mjs +0 -30
  640. package/dist/utils/filepath-to-prop-path.mjs.map +0 -1
  641. package/dist/utils/is-initialized.js +0 -16
  642. package/dist/utils/is-initialized.js.map +0 -1
  643. package/dist/utils/is-initialized.mjs +0 -16
  644. package/dist/utils/is-initialized.mjs.map +0 -1
  645. package/dist/utils/lifecycles.js +0 -9
  646. package/dist/utils/lifecycles.js.map +0 -1
  647. package/dist/utils/lifecycles.mjs +0 -9
  648. package/dist/utils/lifecycles.mjs.map +0 -1
  649. package/dist/utils/load-config-file.js +0 -45
  650. package/dist/utils/load-config-file.js.map +0 -1
  651. package/dist/utils/load-config-file.mjs +0 -42
  652. package/dist/utils/load-config-file.mjs.map +0 -1
  653. package/dist/utils/load-files.js +0 -38
  654. package/dist/utils/load-files.js.map +0 -1
  655. package/dist/utils/load-files.mjs +0 -34
  656. package/dist/utils/load-files.mjs.map +0 -1
  657. package/dist/utils/open-browser.js +0 -11
  658. package/dist/utils/open-browser.js.map +0 -1
  659. package/dist/utils/open-browser.mjs +0 -9
  660. package/dist/utils/open-browser.mjs.map +0 -1
  661. package/dist/utils/resolve-working-dirs.js +0 -13
  662. package/dist/utils/resolve-working-dirs.js.map +0 -1
  663. package/dist/utils/resolve-working-dirs.mjs +0 -11
  664. package/dist/utils/resolve-working-dirs.mjs.map +0 -1
  665. package/dist/utils/signals.js +0 -17
  666. package/dist/utils/signals.js.map +0 -1
  667. package/dist/utils/signals.mjs +0 -17
  668. package/dist/utils/signals.mjs.map +0 -1
  669. package/dist/utils/startup-logger.js +0 -86
  670. package/dist/utils/startup-logger.js.map +0 -1
  671. package/dist/utils/startup-logger.mjs +0 -82
  672. package/dist/utils/startup-logger.mjs.map +0 -1
  673. package/dist/utils/transform-content-types-to-models.js +0 -288
  674. package/dist/utils/transform-content-types-to-models.js.map +0 -1
  675. package/dist/utils/transform-content-types-to-models.mjs +0 -285
  676. package/dist/utils/transform-content-types-to-models.mjs.map +0 -1
  677. package/dist/utils/update-notifier/index.js +0 -85
  678. package/dist/utils/update-notifier/index.js.map +0 -1
  679. package/dist/utils/update-notifier/index.mjs +0 -78
  680. package/dist/utils/update-notifier/index.mjs.map +0 -1
@@ -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 { Core } 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 { name: 'cms-content-history', options: { retentionDays: 99999 } },\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 (\n { strapi }: { strapi: Core.Strapi },\n key: string,\n projectId: string\n) => {\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,IAC/B,EAAE,MAAM,uBAAuB,SAAS,EAAE,eAAe,MAAQ,EAAA;AAAA,EAAA;AAErE;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,EAAA;AAE1B;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,IAAA;AAAA,EAC9E;AAEJ;AAEM,MAAA,gBAAgB,CAAC,YAAoB;AACzC,QAAM,CAAC,WAAW,aAAa,IAAI,OAAO,KAAK,SAAS,QAAQ,EAAE,WAAW,MAAM,IAAI;AAEnF,MAAA,CAAC,aAAa,CAAC,eAAe;AAC1B,UAAA,IAAI,MAAM,kBAAkB;AAAA,EAAA;AAGpC,QAAM,qBAAqB,OAAO,KAAK,eAAe,QAAQ,EAAE,SAAS;AAEnE,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,EAAA;AAG9B,QAAA,cAA2B,KAAK,MAAM,kBAAkB;AAE1D,MAAA,CAAC,YAAY,UAAU;AACb,gBAAA,WAAW,iBAAiB,YAAY,IAAI;AAAA,EAAA;AAGnD,SAAA,OAAO,YAAY,QAAQ;AAC3B,SAAA;AACT;AAEA,MAAM,aAAa,MAAM;AACjB,QAAA,IAAI,kBAAkB,+DAA+D,IAAI;AACjG;AAEA,MAAM,eAAe,OACnB,EAAE,UACF,KACA,cACG;AACH,QAAM,WAAW,MAAM,OACpB,MAAM,mDAAmD;AAAA,IACxD,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,IAC9C,MAAM,KAAK,UAAU,EAAE,KAAK,WAAW,UAAU,YAAa,CAAA;AAAA,EAAA,CAC/D,EACA,MAAM,UAAU;AAEnB,QAAM,cAAc,SAAS,QAAQ,IAAI,cAAc;AAEnD,MAAA,aAAa,SAAS,kBAAkB,GAAG;AAC7C,UAAM,EAAE,MAAM,MAAU,IAAA,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,mBAAA;AAAA,IAAA;AAAA,EACf,OACK;AACM,eAAA;AAAA,EAAA;AAEf;"}
package/dist/factories.js DELETED
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const fp = 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 ({
12
- strapi: strapi2
13
- }) => {
14
- const baseController = index.createController({ contentType: strapi2.contentType(uid) });
15
- const userCtrl = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
16
- for (const methodName of Object.keys(baseController)) {
17
- if (userCtrl[methodName] === void 0) {
18
- userCtrl[methodName] = baseController[methodName];
19
- }
20
- }
21
- Object.setPrototypeOf(userCtrl, baseController);
22
- const isCustom = typeof cfg !== "undefined";
23
- if (isCustom) {
24
- Object.defineProperty(userCtrl, symbols.CustomController, {
25
- writable: false,
26
- configurable: false,
27
- enumerable: false
28
- });
29
- }
30
- return userCtrl;
31
- };
32
- };
33
- function createCoreService(uid, cfg) {
34
- return ({
35
- strapi: strapi2
36
- }) => {
37
- const baseService = index$1.createService({ contentType: strapi2.contentType(uid) });
38
- const userService = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
39
- for (const methodName of Object.keys(baseService)) {
40
- if (userService[methodName] === void 0) {
41
- userService[methodName] = baseService[methodName];
42
- }
43
- }
44
- Object.setPrototypeOf(userService, baseService);
45
- return userService;
46
- };
47
- }
48
- function createCoreRouter(uid, cfg) {
49
- const { prefix, config = {}, only, except, type = "content-api" } = cfg ?? {};
50
- let routes;
51
- return {
52
- type,
53
- prefix,
54
- get routes() {
55
- if (!routes) {
56
- const contentType = strapi.contentType(uid);
57
- const defaultRoutes = index$2.createRoutes({ contentType });
58
- const keys = Object.keys(defaultRoutes);
59
- keys.forEach((routeName) => {
60
- const defaultRoute = defaultRoutes[routeName];
61
- Object.assign(defaultRoute.config, config[routeName] || {});
62
- });
63
- const selectedRoutes = fp.pipe(
64
- (routes2) => except ? fp.omit(except, routes2) : routes2,
65
- (routes2) => only ? fp.pick(only, routes2) : routes2
66
- )(defaultRoutes);
67
- routes = Object.values(selectedRoutes);
68
- }
69
- return routes;
70
- }
71
- };
72
- }
73
- const isCustomController = (controller) => {
74
- return symbols.CustomController in controller;
75
- };
76
- exports.createCoreController = createCoreController;
77
- exports.createCoreRouter = createCoreRouter;
78
- exports.createCoreService = createCoreService;
79
- exports.isCustomController = isCustomController;
80
- //# 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 { Core, UID, 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: Core.Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends UID.ContentType,\n TController extends Core.CoreAPI.Controller.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<\n Utils.PartialWithThis<Core.CoreAPI.Controller.Extendable<TUID> & TController>\n >\n) => {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TController & Core.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 UID.ContentType,\n TService extends Core.CoreAPI.Service.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<Core.CoreAPI.Service.Extendable<TUID> & TService>>\n) {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TService & Core.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 UID.ContentType>(\n uid: T,\n cfg?: Core.CoreAPI.Router.RouterConfig<T>\n): Core.CoreAPI.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: Core.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 Core.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,QAGG;AACH,SAAO,CAAC;AAAA,IACN,QAAAA;AAAAA,EAAA,MAG6D;AACvD,UAAA,iBAAiBC,MAAAA,iBAAiB,EAAE,aAAaD,QAAO,YAAY,GAAG,GAAG;AAE1E,UAAA,WAAW,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAO,CAAC,IAAK,OAAQ,CAAC;AAEzE,eAAW,cAAc,OAAO,KAAK,cAAc,GAAyC;AACtF,UAAA,SAAS,UAAU,MAAM,QAAW;AAC7B,iBAAA,UAAU,IAAI,eAAe,UAAU;AAAA,MAAA;AAAA,IAClD;AAGK,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,IAAA;AAGI,WAAA;AAAA,EACT;AACF;AAEA,SAAS,kBAIP,KACA,KACA;AACA,SAAO,CAAC;AAAA,IACN,QAAAA;AAAAA,EAAA,MAGuD;AACjD,UAAA,cAAcE,QAAAA,cAAc,EAAE,aAAaF,QAAO,YAAY,GAAG,GAAG;AAEpE,UAAA,cAAc,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAO,CAAC,IAAK,OAAQ,CAAC;AAE5E,eAAW,cAAc,OAAO,KAAK,WAAW,GAAsC;AAChF,UAAA,YAAY,UAAU,MAAM,QAAW;AAC7B,oBAAA,UAAU,IAAI,YAAY,UAAU;AAAA,MAAA;AAAA,IAClD;AAGK,WAAA,eAAe,aAAa,WAAW;AACvC,WAAA;AAAA,EACT;AACF;AAEA,SAAS,iBACP,KACA,KAC4B;AACtB,QAAA,EAAE,QAAQ,SAAS,IAAI,MAAM,QAAQ,OAAO,kBAAkB,OAAO,CAAC;AACxE,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,aAAa;AAC5C,cAAA,OAAO,OAAO,KAAK,aAAa;AAEjC,aAAA,QAAQ,CAAC,cAAc;AACpB,gBAAA,eAAe,cAAc,SAAS;AAE5C,iBAAO,OAAO,aAAa,QAAQ,OAAO,SAAS,KAAK,EAAE;AAAA,QAAA,CAC3D;AAED,cAAM,iBAAiBC,GAAA;AAAA,UACrB,CAACC,YAAY,SAASC,GAAAA,KAAK,QAAQD,OAAM,IAAIA;AAAAA,UAC7C,CAACA,YAAY,OAAOE,GAAK,KAAA,MAAMF,OAAM,IAAIA;AAAAA,UACzC,aAAa;AAEN,iBAAA,OAAO,OAAO,cAAc;AAAA,MAAA;AAGhC,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;AAEM,MAAA,qBAAqB,CAA4B,eAA2B;AAChF,SAAO,QAAQ,oBAAoB;AACrC;;;;;"}
@@ -1,80 +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 ({
10
- strapi: strapi2
11
- }) => {
12
- const baseController = 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 ({
33
- strapi: strapi2
34
- }) => {
35
- const baseService = createService({ contentType: strapi2.contentType(uid) });
36
- const userService = typeof cfg === "function" ? cfg({ strapi: strapi2 }) : cfg ?? {};
37
- for (const methodName of Object.keys(baseService)) {
38
- if (userService[methodName] === void 0) {
39
- userService[methodName] = baseService[methodName];
40
- }
41
- }
42
- Object.setPrototypeOf(userService, baseService);
43
- return userService;
44
- };
45
- }
46
- function createCoreRouter(uid, cfg) {
47
- const { prefix, config = {}, only, except, type = "content-api" } = cfg ?? {};
48
- let routes;
49
- return {
50
- type,
51
- prefix,
52
- get routes() {
53
- if (!routes) {
54
- const contentType = strapi.contentType(uid);
55
- const defaultRoutes = createRoutes({ contentType });
56
- const keys = Object.keys(defaultRoutes);
57
- keys.forEach((routeName) => {
58
- const defaultRoute = defaultRoutes[routeName];
59
- Object.assign(defaultRoute.config, config[routeName] || {});
60
- });
61
- const selectedRoutes = pipe(
62
- (routes2) => except ? omit(except, routes2) : routes2,
63
- (routes2) => only ? pick(only, routes2) : routes2
64
- )(defaultRoutes);
65
- routes = Object.values(selectedRoutes);
66
- }
67
- return routes;
68
- }
69
- };
70
- }
71
- const isCustomController = (controller) => {
72
- return symbols.CustomController in controller;
73
- };
74
- export {
75
- createCoreController,
76
- createCoreRouter,
77
- createCoreService,
78
- isCustomController
79
- };
80
- //# 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 { Core, UID, 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: Core.Strapi }>(params: S) => T);\n\nconst createCoreController = <\n TUID extends UID.ContentType,\n TController extends Core.CoreAPI.Controller.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<\n Utils.PartialWithThis<Core.CoreAPI.Controller.Extendable<TUID> & TController>\n >\n) => {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TController & Core.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 UID.ContentType,\n TService extends Core.CoreAPI.Service.Extendable<TUID>,\n>(\n uid: TUID,\n cfg?: WithStrapiCallback<Utils.PartialWithThis<Core.CoreAPI.Service.Extendable<TUID> & TService>>\n) {\n return ({\n strapi,\n }: {\n strapi: Core.Strapi;\n }): TService & Core.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 UID.ContentType>(\n uid: T,\n cfg?: Core.CoreAPI.Router.RouterConfig<T>\n): Core.CoreAPI.Router.Router {\n const { prefix, config = {}, only, except, type = 'content-api' } = cfg ?? {};\n let routes: Core.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 Core.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,QAGG;AACH,SAAO,CAAC;AAAA,IACN,QAAAA;AAAAA,EAAA,MAG6D;AACvD,UAAA,iBAAiB,iBAAiB,EAAE,aAAaA,QAAO,YAAY,GAAG,GAAG;AAE1E,UAAA,WAAW,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAO,CAAC,IAAK,OAAQ,CAAC;AAEzE,eAAW,cAAc,OAAO,KAAK,cAAc,GAAyC;AACtF,UAAA,SAAS,UAAU,MAAM,QAAW;AAC7B,iBAAA,UAAU,IAAI,eAAe,UAAU;AAAA,MAAA;AAAA,IAClD;AAGK,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,IAAA;AAGI,WAAA;AAAA,EACT;AACF;AAEA,SAAS,kBAIP,KACA,KACA;AACA,SAAO,CAAC;AAAA,IACN,QAAAA;AAAAA,EAAA,MAGuD;AACjD,UAAA,cAAc,cAAc,EAAE,aAAaA,QAAO,YAAY,GAAG,GAAG;AAEpE,UAAA,cAAc,OAAO,QAAQ,aAAa,IAAI,EAAE,QAAAA,QAAO,CAAC,IAAK,OAAQ,CAAC;AAE5E,eAAW,cAAc,OAAO,KAAK,WAAW,GAAsC;AAChF,UAAA,YAAY,UAAU,MAAM,QAAW;AAC7B,oBAAA,UAAU,IAAI,YAAY,UAAU;AAAA,MAAA;AAAA,IAClD;AAGK,WAAA,eAAe,aAAa,WAAW;AACvC,WAAA;AAAA,EACT;AACF;AAEA,SAAS,iBACP,KACA,KAC4B;AACtB,QAAA,EAAE,QAAQ,SAAS,IAAI,MAAM,QAAQ,OAAO,kBAAkB,OAAO,CAAC;AACxE,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,aAAa;AAC5C,cAAA,OAAO,OAAO,KAAK,aAAa;AAEjC,aAAA,QAAQ,CAAC,cAAc;AACpB,gBAAA,eAAe,cAAc,SAAS;AAE5C,iBAAO,OAAO,aAAa,QAAQ,OAAO,SAAS,KAAK,EAAE;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,MAAA;AAGhC,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;AAEM,MAAA,qBAAqB,CAA4B,eAA2B;AAChF,SAAO,QAAQ,oBAAoB;AACrC;"}
@@ -1,26 +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.get("services").add(`admin::`, strapi.admin?.services);
8
- strapi.get("controllers").add(`admin::`, strapi.admin?.controllers);
9
- strapi.get("content-types").add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));
10
- strapi.get("policies").add(`admin::`, strapi.admin?.policies);
11
- strapi.get("middlewares").add(`admin::`, strapi.admin?.middlewares);
12
- const userAdminConfig = strapi.config.get("admin");
13
- strapi.get("config").set("admin", ___default.default.merge(strapi.admin?.config, userAdminConfig));
14
- }
15
- const formatContentTypes = (contentTypes) => {
16
- Object.values(contentTypes).forEach((definition) => {
17
- const { schema } = definition;
18
- Object.assign(schema, {
19
- plugin: "admin",
20
- globalId: index.getGlobalId(schema, "admin")
21
- });
22
- });
23
- return contentTypes;
24
- };
25
- module.exports = loadAdmin;
26
- //# sourceMappingURL=admin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.js","sources":["../../src/loaders/admin.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core, Struct } from '@strapi/types';\nimport { getGlobalId } from '../domain/content-type';\n\nexport default async function loadAdmin(strapi: Core.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: Struct.ContentTypeSchema }>) => {\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,QAAqB;AAG3D,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,CAAE,CAAA,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,mBAAE,MAAM,OAAO,OAAO,QAAQ,eAAe,CAAC;AAClF;AAEA,MAAM,qBAAqB,CAAC,iBAAuE;AACjG,SAAO,OAAO,YAAY,EAAE,QAAQ,CAAC,eAAe;AAC5C,UAAA,EAAE,WAAW;AAEnB,WAAO,OAAO,QAAQ;AAAA,MACpB,QAAQ;AAAA,MACR,UAAUC,MAAAA,YAAY,QAAQ,OAAO;AAAA,IAAA,CACtC;AAAA,EAAA,CACF;AAEM,SAAA;AACT;;"}
@@ -1,25 +0,0 @@
1
- import _ from "lodash";
2
- import { getGlobalId } from "../domain/content-type/index.mjs";
3
- async function loadAdmin(strapi) {
4
- strapi.get("services").add(`admin::`, strapi.admin?.services);
5
- strapi.get("controllers").add(`admin::`, strapi.admin?.controllers);
6
- strapi.get("content-types").add(`admin::`, formatContentTypes(strapi.admin?.contentTypes ?? {}));
7
- strapi.get("policies").add(`admin::`, strapi.admin?.policies);
8
- strapi.get("middlewares").add(`admin::`, strapi.admin?.middlewares);
9
- const userAdminConfig = strapi.config.get("admin");
10
- strapi.get("config").set("admin", _.merge(strapi.admin?.config, userAdminConfig));
11
- }
12
- const formatContentTypes = (contentTypes) => {
13
- Object.values(contentTypes).forEach((definition) => {
14
- const { schema } = definition;
15
- Object.assign(schema, {
16
- plugin: "admin",
17
- globalId: getGlobalId(schema, "admin")
18
- });
19
- });
20
- return contentTypes;
21
- };
22
- export {
23
- loadAdmin as default
24
- };
25
- //# sourceMappingURL=admin.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.mjs","sources":["../../src/loaders/admin.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core, Struct } from '@strapi/types';\nimport { getGlobalId } from '../domain/content-type';\n\nexport default async function loadAdmin(strapi: Core.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: Struct.ContentTypeSchema }>) => {\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":[],"mappings":";;AAIA,eAA8B,UAAU,QAAqB;AAG3D,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,CAAE,CAAA,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,SAAS,EAAE,MAAM,OAAO,OAAO,QAAQ,eAAe,CAAC;AAClF;AAEA,MAAM,qBAAqB,CAAC,iBAAuE;AACjG,SAAO,OAAO,YAAY,EAAE,QAAQ,CAAC,eAAe;AAC5C,UAAA,EAAE,WAAW;AAEnB,WAAO,OAAO,QAAQ;AAAA,MACpB,QAAQ;AAAA,MACR,UAAU,YAAY,QAAQ,OAAO;AAAA,IAAA,CACtC;AAAA,EAAA,CACF;AAEM,SAAA;AACT;"}
@@ -1,137 +0,0 @@
1
- "use strict";
2
- const path = require("path");
3
- const fse = require("fs-extra");
4
- const _ = require("lodash");
5
- const strapiUtils = require("@strapi/utils");
6
- const fp = require("lodash/fp");
7
- const index = require("../domain/content-type/index.js");
8
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
9
- const fse__default = /* @__PURE__ */ _interopDefault(fse);
10
- const ___default = /* @__PURE__ */ _interopDefault(_);
11
- const DEFAULT_CONTENT_TYPE = {
12
- schema: {},
13
- actions: {},
14
- lifecycles: {}
15
- };
16
- const normalizeName = (name) => strapiUtils.strings.isKebabCase(name) ? name : ___default.default.kebabCase(name);
17
- const isDirectory = (fd) => fd.isDirectory();
18
- const isDotFile = (fd) => fd.name.startsWith(".");
19
- async function loadAPIs(strapi) {
20
- if (!fse.existsSync(strapi.dirs.dist.api)) {
21
- return;
22
- }
23
- const apisFDs = await (await fse__default.default.readdir(strapi.dirs.dist.api, { withFileTypes: true })).filter(isDirectory).filter(___default.default.negate(isDotFile));
24
- const apis = {};
25
- for (const apiFD of apisFDs) {
26
- const apiName = normalizeName(apiFD.name);
27
- const api = await loadAPI(apiName, path.join(strapi.dirs.dist.api, apiFD.name));
28
- apis[apiName] = api;
29
- }
30
- validateContentTypesUnicity(apis);
31
- for (const apiName of Object.keys(apis)) {
32
- strapi.get("apis").add(apiName, apis[apiName]);
33
- }
34
- }
35
- const validateContentTypesUnicity = (apis) => {
36
- const allApisSchemas = Object.values(apis).flatMap((api) => Object.values(api.contentTypes));
37
- const names = [];
38
- allApisSchemas.forEach(({ schema }) => {
39
- if (schema.info.singularName) {
40
- const singularName = ___default.default.kebabCase(schema.info.singularName);
41
- if (names.includes(singularName)) {
42
- throw new Error(`The singular name "${schema.info.singularName}" should be unique`);
43
- }
44
- names.push(singularName);
45
- }
46
- if (schema.info.pluralName) {
47
- const pluralName = ___default.default.kebabCase(schema.info.pluralName);
48
- if (names.includes(pluralName)) {
49
- throw new Error(`The plural name "${schema.info.pluralName}" should be unique`);
50
- }
51
- names.push(pluralName);
52
- }
53
- });
54
- };
55
- const loadAPI = async (apiName, dir) => {
56
- const [index2, config, routes, controllers, services, policies, middlewares, contentTypes] = (await Promise.all([
57
- loadIndex(dir),
58
- loadDir(path.join(dir, "config")),
59
- loadDir(path.join(dir, "routes")),
60
- loadDir(path.join(dir, "controllers")),
61
- loadDir(path.join(dir, "services")),
62
- loadDir(path.join(dir, "policies")),
63
- loadDir(path.join(dir, "middlewares")),
64
- loadContentTypes(apiName, path.join(dir, "content-types"))
65
- ])).map((result) => result?.result);
66
- return {
67
- ...index2 || {},
68
- config: config || {},
69
- routes: routes || [],
70
- controllers: controllers || {},
71
- services: services || {},
72
- policies: policies || {},
73
- middlewares: middlewares || {},
74
- contentTypes: contentTypes || {}
75
- };
76
- };
77
- const loadIndex = async (dir) => {
78
- if (await fse__default.default.pathExists(path.join(dir, "index.js"))) {
79
- return loadFile(path.join(dir, "index.js"));
80
- }
81
- };
82
- const loadContentTypes = async (apiName, dir) => {
83
- if (!await fse__default.default.pathExists(dir)) {
84
- return;
85
- }
86
- const fds = await fse__default.default.readdir(dir, { withFileTypes: true });
87
- const contentTypes = {};
88
- for (const fd of fds) {
89
- if (fd.isFile()) {
90
- continue;
91
- }
92
- const contentTypeName = normalizeName(fd.name);
93
- const loadedContentType = (await loadDir(path.join(dir, fd.name)))?.result;
94
- if (fp.isEmpty(loadedContentType) || fp.isEmpty(loadedContentType.schema)) {
95
- throw new Error(`Could not load content type found at ${dir}`);
96
- }
97
- const contentType = {
98
- ...DEFAULT_CONTENT_TYPE,
99
- ...loadedContentType
100
- };
101
- Object.assign(contentType.schema, {
102
- apiName,
103
- collectionName: contentType.schema.collectionName || contentType.schema.info.singularName,
104
- globalId: index.getGlobalId(contentType.schema)
105
- });
106
- contentTypes[normalizeName(contentTypeName)] = contentType;
107
- }
108
- return { result: contentTypes };
109
- };
110
- const loadDir = async (dir) => {
111
- if (!await fse__default.default.pathExists(dir)) {
112
- return;
113
- }
114
- const fds = await fse__default.default.readdir(dir, { withFileTypes: true });
115
- const root = {};
116
- for (const fd of fds) {
117
- if (!fd.isFile() || path.extname(fd.name) === ".map") {
118
- continue;
119
- }
120
- const key = path.basename(fd.name, path.extname(fd.name));
121
- root[normalizeName(key)] = (await loadFile(path.join(dir, fd.name))).result;
122
- }
123
- return { result: root };
124
- };
125
- const loadFile = async (file) => {
126
- const ext = path.extname(file);
127
- switch (ext) {
128
- case ".js":
129
- return { result: strapiUtils.importDefault(file) };
130
- case ".json":
131
- return { result: await fse__default.default.readJSON(file) };
132
- default:
133
- return { result: {} };
134
- }
135
- };
136
- module.exports = loadAPIs;
137
- //# sourceMappingURL=apis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apis.js","sources":["../../src/loaders/apis.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse, { existsSync } from 'fs-extra';\nimport _ from 'lodash';\nimport { strings, importDefault } from '@strapi/utils';\nimport { isEmpty } from 'lodash/fp';\nimport type { Core, Struct } from '@strapi/types';\nimport { getGlobalId, type ContentTypeDefinition } from '../domain/content-type';\n\ninterface API {\n bootstrap: () => void | Promise<void>;\n destroy: () => void | Promise<void>;\n register: () => void | Promise<void>;\n config: Record<string, unknown>;\n routes: Record<string, Core.Router>;\n controllers: Record<string, Core.Controller>;\n services: Record<string, Core.Service>;\n policies: Record<string, Core.Policy>;\n middlewares: Record<string, Core.Middleware>;\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>;\n}\n\ninterface APIs {\n [key: string]: API;\n}\n\nconst DEFAULT_CONTENT_TYPE = {\n schema: {},\n actions: {},\n lifecycles: {},\n};\n\n// to handle names with numbers in it we first check if it is already in kebabCase\nconst normalizeName = (name: string) => (strings.isKebabCase(name) ? name : _.kebabCase(name));\n\nconst isDirectory = (fd: fse.Dirent) => fd.isDirectory();\nconst isDotFile = (fd: fse.Dirent) => fd.name.startsWith('.');\n\nexport default async function loadAPIs(strapi: Core.Strapi) {\n if (!existsSync(strapi.dirs.dist.api)) {\n return;\n }\n\n const apisFDs = await (await fse.readdir(strapi.dirs.dist.api, { withFileTypes: true }))\n .filter(isDirectory)\n .filter(_.negate(isDotFile));\n\n const apis: APIs = {};\n\n // only load folders\n for (const apiFD of apisFDs) {\n const apiName = normalizeName(apiFD.name);\n const api = await loadAPI(apiName, join(strapi.dirs.dist.api, apiFD.name));\n\n // @ts-expect-error TODO verify that it's a valid api, not missing bootstrap, register, and destroy\n apis[apiName] = api;\n }\n\n validateContentTypesUnicity(apis);\n\n for (const apiName of Object.keys(apis)) {\n strapi.get('apis').add(apiName, apis[apiName]);\n }\n}\n\nconst validateContentTypesUnicity = (apis: APIs) => {\n const allApisSchemas = Object.values(apis).flatMap((api) => Object.values(api.contentTypes));\n\n const names: string[] = [];\n allApisSchemas.forEach(({ schema }) => {\n if (schema.info.singularName) {\n const singularName = _.kebabCase(schema.info.singularName);\n if (names.includes(singularName)) {\n throw new Error(`The singular name \"${schema.info.singularName}\" should be unique`);\n }\n names.push(singularName);\n }\n\n if (schema.info.pluralName) {\n const pluralName = _.kebabCase(schema.info.pluralName);\n if (names.includes(pluralName)) {\n throw new Error(`The plural name \"${schema.info.pluralName}\" should be unique`);\n }\n names.push(pluralName);\n }\n });\n};\n\nconst loadAPI = async (apiName: string, dir: string) => {\n const [index, config, routes, controllers, services, policies, middlewares, contentTypes] = (\n await Promise.all([\n loadIndex(dir),\n loadDir(join(dir, 'config')),\n loadDir(join(dir, 'routes')),\n loadDir(join(dir, 'controllers')),\n loadDir(join(dir, 'services')),\n loadDir(join(dir, 'policies')),\n loadDir(join(dir, 'middlewares')),\n loadContentTypes(apiName, join(dir, 'content-types')),\n ])\n ).map((result) => result?.result);\n\n return {\n ...(index || {}),\n config: config || {},\n routes: routes || [],\n controllers: controllers || {},\n services: services || {},\n policies: policies || {},\n middlewares: middlewares || {},\n contentTypes: contentTypes || {},\n };\n};\n\nconst loadIndex = async (dir: string) => {\n if (await fse.pathExists(join(dir, 'index.js'))) {\n return loadFile(join(dir, 'index.js'));\n }\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadContentTypes = async (apiName: string, dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n const contentTypes: API['contentTypes'] = {};\n\n // only load folders\n for (const fd of fds) {\n if (fd.isFile()) {\n continue;\n }\n\n const contentTypeName = normalizeName(fd.name);\n const loadedContentType = (await loadDir(join(dir, fd.name)))?.result;\n\n if (isEmpty(loadedContentType) || isEmpty(loadedContentType.schema)) {\n throw new Error(`Could not load content type found at ${dir}`);\n }\n\n const contentType = {\n ...DEFAULT_CONTENT_TYPE,\n ...loadedContentType,\n } as ContentTypeDefinition;\n\n Object.assign(contentType.schema, {\n apiName,\n collectionName: contentType.schema.collectionName || contentType.schema.info.singularName,\n globalId: getGlobalId(contentType.schema),\n });\n\n contentTypes[normalizeName(contentTypeName)] = contentType;\n }\n\n return { result: contentTypes };\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadDir = async (dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n\n const root: Record<string, unknown> = {};\n for (const fd of fds) {\n if (!fd.isFile() || extname(fd.name) === '.map') {\n continue;\n }\n\n const key = basename(fd.name, extname(fd.name));\n\n root[normalizeName(key)] = (await loadFile(join(dir, fd.name))).result;\n }\n\n return { result: root };\n};\n\n// because this is async and its contents are dynamic, we must return it as an array to avoid a property called `then` being interpreted as a Promise\nconst loadFile = async (file: string): Promise<{ result: unknown }> => {\n const ext = extname(file);\n\n switch (ext) {\n case '.js':\n return { result: importDefault(file) };\n case '.json':\n return { result: await fse.readJSON(file) };\n default:\n return { result: {} };\n }\n};\n"],"names":["strings","_","existsSync","fse","join","index","isEmpty","getGlobalId","extname","basename","importDefault"],"mappings":"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"}
@@ -1,135 +0,0 @@
1
- import { join, extname, basename } from "path";
2
- import fse, { existsSync } from "fs-extra";
3
- import _ from "lodash";
4
- import { strings, importDefault } from "@strapi/utils";
5
- import { isEmpty } from "lodash/fp";
6
- import { getGlobalId } from "../domain/content-type/index.mjs";
7
- const DEFAULT_CONTENT_TYPE = {
8
- schema: {},
9
- actions: {},
10
- lifecycles: {}
11
- };
12
- const normalizeName = (name) => strings.isKebabCase(name) ? name : _.kebabCase(name);
13
- const isDirectory = (fd) => fd.isDirectory();
14
- const isDotFile = (fd) => fd.name.startsWith(".");
15
- async function loadAPIs(strapi) {
16
- if (!existsSync(strapi.dirs.dist.api)) {
17
- return;
18
- }
19
- const apisFDs = await (await fse.readdir(strapi.dirs.dist.api, { withFileTypes: true })).filter(isDirectory).filter(_.negate(isDotFile));
20
- const apis = {};
21
- for (const apiFD of apisFDs) {
22
- const apiName = normalizeName(apiFD.name);
23
- const api = await loadAPI(apiName, join(strapi.dirs.dist.api, apiFD.name));
24
- apis[apiName] = api;
25
- }
26
- validateContentTypesUnicity(apis);
27
- for (const apiName of Object.keys(apis)) {
28
- strapi.get("apis").add(apiName, apis[apiName]);
29
- }
30
- }
31
- const validateContentTypesUnicity = (apis) => {
32
- const allApisSchemas = Object.values(apis).flatMap((api) => Object.values(api.contentTypes));
33
- const names = [];
34
- allApisSchemas.forEach(({ schema }) => {
35
- if (schema.info.singularName) {
36
- const singularName = _.kebabCase(schema.info.singularName);
37
- if (names.includes(singularName)) {
38
- throw new Error(`The singular name "${schema.info.singularName}" should be unique`);
39
- }
40
- names.push(singularName);
41
- }
42
- if (schema.info.pluralName) {
43
- const pluralName = _.kebabCase(schema.info.pluralName);
44
- if (names.includes(pluralName)) {
45
- throw new Error(`The plural name "${schema.info.pluralName}" should be unique`);
46
- }
47
- names.push(pluralName);
48
- }
49
- });
50
- };
51
- const loadAPI = async (apiName, dir) => {
52
- const [index, config, routes, controllers, services, policies, middlewares, contentTypes] = (await Promise.all([
53
- loadIndex(dir),
54
- loadDir(join(dir, "config")),
55
- loadDir(join(dir, "routes")),
56
- loadDir(join(dir, "controllers")),
57
- loadDir(join(dir, "services")),
58
- loadDir(join(dir, "policies")),
59
- loadDir(join(dir, "middlewares")),
60
- loadContentTypes(apiName, join(dir, "content-types"))
61
- ])).map((result) => result?.result);
62
- return {
63
- ...index || {},
64
- config: config || {},
65
- routes: routes || [],
66
- controllers: controllers || {},
67
- services: services || {},
68
- policies: policies || {},
69
- middlewares: middlewares || {},
70
- contentTypes: contentTypes || {}
71
- };
72
- };
73
- const loadIndex = async (dir) => {
74
- if (await fse.pathExists(join(dir, "index.js"))) {
75
- return loadFile(join(dir, "index.js"));
76
- }
77
- };
78
- const loadContentTypes = async (apiName, dir) => {
79
- if (!await fse.pathExists(dir)) {
80
- return;
81
- }
82
- const fds = await fse.readdir(dir, { withFileTypes: true });
83
- const contentTypes = {};
84
- for (const fd of fds) {
85
- if (fd.isFile()) {
86
- continue;
87
- }
88
- const contentTypeName = normalizeName(fd.name);
89
- const loadedContentType = (await loadDir(join(dir, fd.name)))?.result;
90
- if (isEmpty(loadedContentType) || isEmpty(loadedContentType.schema)) {
91
- throw new Error(`Could not load content type found at ${dir}`);
92
- }
93
- const contentType = {
94
- ...DEFAULT_CONTENT_TYPE,
95
- ...loadedContentType
96
- };
97
- Object.assign(contentType.schema, {
98
- apiName,
99
- collectionName: contentType.schema.collectionName || contentType.schema.info.singularName,
100
- globalId: getGlobalId(contentType.schema)
101
- });
102
- contentTypes[normalizeName(contentTypeName)] = contentType;
103
- }
104
- return { result: contentTypes };
105
- };
106
- const loadDir = async (dir) => {
107
- if (!await fse.pathExists(dir)) {
108
- return;
109
- }
110
- const fds = await fse.readdir(dir, { withFileTypes: true });
111
- const root = {};
112
- for (const fd of fds) {
113
- if (!fd.isFile() || extname(fd.name) === ".map") {
114
- continue;
115
- }
116
- const key = basename(fd.name, extname(fd.name));
117
- root[normalizeName(key)] = (await loadFile(join(dir, fd.name))).result;
118
- }
119
- return { result: root };
120
- };
121
- const loadFile = async (file) => {
122
- const ext = extname(file);
123
- switch (ext) {
124
- case ".js":
125
- return { result: importDefault(file) };
126
- case ".json":
127
- return { result: await fse.readJSON(file) };
128
- default:
129
- return { result: {} };
130
- }
131
- };
132
- export {
133
- loadAPIs as default
134
- };
135
- //# sourceMappingURL=apis.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apis.mjs","sources":["../../src/loaders/apis.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse, { existsSync } from 'fs-extra';\nimport _ from 'lodash';\nimport { strings, importDefault } from '@strapi/utils';\nimport { isEmpty } from 'lodash/fp';\nimport type { Core, Struct } from '@strapi/types';\nimport { getGlobalId, type ContentTypeDefinition } from '../domain/content-type';\n\ninterface API {\n bootstrap: () => void | Promise<void>;\n destroy: () => void | Promise<void>;\n register: () => void | Promise<void>;\n config: Record<string, unknown>;\n routes: Record<string, Core.Router>;\n controllers: Record<string, Core.Controller>;\n services: Record<string, Core.Service>;\n policies: Record<string, Core.Policy>;\n middlewares: Record<string, Core.Middleware>;\n contentTypes: Record<string, { schema: Struct.ContentTypeSchema }>;\n}\n\ninterface APIs {\n [key: string]: API;\n}\n\nconst DEFAULT_CONTENT_TYPE = {\n schema: {},\n actions: {},\n lifecycles: {},\n};\n\n// to handle names with numbers in it we first check if it is already in kebabCase\nconst normalizeName = (name: string) => (strings.isKebabCase(name) ? name : _.kebabCase(name));\n\nconst isDirectory = (fd: fse.Dirent) => fd.isDirectory();\nconst isDotFile = (fd: fse.Dirent) => fd.name.startsWith('.');\n\nexport default async function loadAPIs(strapi: Core.Strapi) {\n if (!existsSync(strapi.dirs.dist.api)) {\n return;\n }\n\n const apisFDs = await (await fse.readdir(strapi.dirs.dist.api, { withFileTypes: true }))\n .filter(isDirectory)\n .filter(_.negate(isDotFile));\n\n const apis: APIs = {};\n\n // only load folders\n for (const apiFD of apisFDs) {\n const apiName = normalizeName(apiFD.name);\n const api = await loadAPI(apiName, join(strapi.dirs.dist.api, apiFD.name));\n\n // @ts-expect-error TODO verify that it's a valid api, not missing bootstrap, register, and destroy\n apis[apiName] = api;\n }\n\n validateContentTypesUnicity(apis);\n\n for (const apiName of Object.keys(apis)) {\n strapi.get('apis').add(apiName, apis[apiName]);\n }\n}\n\nconst validateContentTypesUnicity = (apis: APIs) => {\n const allApisSchemas = Object.values(apis).flatMap((api) => Object.values(api.contentTypes));\n\n const names: string[] = [];\n allApisSchemas.forEach(({ schema }) => {\n if (schema.info.singularName) {\n const singularName = _.kebabCase(schema.info.singularName);\n if (names.includes(singularName)) {\n throw new Error(`The singular name \"${schema.info.singularName}\" should be unique`);\n }\n names.push(singularName);\n }\n\n if (schema.info.pluralName) {\n const pluralName = _.kebabCase(schema.info.pluralName);\n if (names.includes(pluralName)) {\n throw new Error(`The plural name \"${schema.info.pluralName}\" should be unique`);\n }\n names.push(pluralName);\n }\n });\n};\n\nconst loadAPI = async (apiName: string, dir: string) => {\n const [index, config, routes, controllers, services, policies, middlewares, contentTypes] = (\n await Promise.all([\n loadIndex(dir),\n loadDir(join(dir, 'config')),\n loadDir(join(dir, 'routes')),\n loadDir(join(dir, 'controllers')),\n loadDir(join(dir, 'services')),\n loadDir(join(dir, 'policies')),\n loadDir(join(dir, 'middlewares')),\n loadContentTypes(apiName, join(dir, 'content-types')),\n ])\n ).map((result) => result?.result);\n\n return {\n ...(index || {}),\n config: config || {},\n routes: routes || [],\n controllers: controllers || {},\n services: services || {},\n policies: policies || {},\n middlewares: middlewares || {},\n contentTypes: contentTypes || {},\n };\n};\n\nconst loadIndex = async (dir: string) => {\n if (await fse.pathExists(join(dir, 'index.js'))) {\n return loadFile(join(dir, 'index.js'));\n }\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadContentTypes = async (apiName: string, dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n const contentTypes: API['contentTypes'] = {};\n\n // only load folders\n for (const fd of fds) {\n if (fd.isFile()) {\n continue;\n }\n\n const contentTypeName = normalizeName(fd.name);\n const loadedContentType = (await loadDir(join(dir, fd.name)))?.result;\n\n if (isEmpty(loadedContentType) || isEmpty(loadedContentType.schema)) {\n throw new Error(`Could not load content type found at ${dir}`);\n }\n\n const contentType = {\n ...DEFAULT_CONTENT_TYPE,\n ...loadedContentType,\n } as ContentTypeDefinition;\n\n Object.assign(contentType.schema, {\n apiName,\n collectionName: contentType.schema.collectionName || contentType.schema.info.singularName,\n globalId: getGlobalId(contentType.schema),\n });\n\n contentTypes[normalizeName(contentTypeName)] = contentType;\n }\n\n return { result: contentTypes };\n};\n\n// because this is async and its contents are dynamic, we must return it within an object to avoid a property called `then` being interpreted as a Promise\nconst loadDir = async (dir: string) => {\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const fds = await fse.readdir(dir, { withFileTypes: true });\n\n const root: Record<string, unknown> = {};\n for (const fd of fds) {\n if (!fd.isFile() || extname(fd.name) === '.map') {\n continue;\n }\n\n const key = basename(fd.name, extname(fd.name));\n\n root[normalizeName(key)] = (await loadFile(join(dir, fd.name))).result;\n }\n\n return { result: root };\n};\n\n// because this is async and its contents are dynamic, we must return it as an array to avoid a property called `then` being interpreted as a Promise\nconst loadFile = async (file: string): Promise<{ result: unknown }> => {\n const ext = extname(file);\n\n switch (ext) {\n case '.js':\n return { result: importDefault(file) };\n case '.json':\n return { result: await fse.readJSON(file) };\n default:\n return { result: {} };\n }\n};\n"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- const path = require("path");
3
- const _ = require("lodash");
4
- const fse = require("fs-extra");
5
- const loadFiles = require("../utils/load-files.js");
6
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
7
- const ___default = /* @__PURE__ */ _interopDefault(_);
8
- async function loadComponents(strapi) {
9
- if (!await fse.pathExists(strapi.dirs.dist.components)) {
10
- return {};
11
- }
12
- const map = await loadFiles.loadFiles(strapi.dirs.dist.components, "*/*.*(js|json)");
13
- const components = Object.keys(map).reduce((acc, category) => {
14
- Object.keys(map[category]).forEach((key) => {
15
- const schema = map[category][key];
16
- if (!schema.collectionName) {
17
- const filePath = path.join(strapi.dirs.app.components, category, schema.__filename__);
18
- return strapi.stopWithError(
19
- `Component ${key} is missing a "collectionName" property.
20
- Verify file ${filePath}.`
21
- );
22
- }
23
- const uid = `${category}.${key}`;
24
- acc[uid] = Object.assign(schema, {
25
- __schema__: ___default.default.cloneDeep(schema),
26
- uid,
27
- category,
28
- modelType: "component",
29
- modelName: key,
30
- globalId: schema.globalId || ___default.default.upperFirst(___default.default.camelCase(`component_${uid}`))
31
- });
32
- });
33
- return acc;
34
- }, {});
35
- strapi.get("components").add(components);
36
- }
37
- module.exports = loadComponents;
38
- //# sourceMappingURL=components.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.js","sources":["../../src/loaders/components.ts"],"sourcesContent":["import { join } from 'path';\nimport _ from 'lodash';\nimport { pathExists } from 'fs-extra';\nimport type { Core, Struct, UID } from '@strapi/types';\nimport { loadFiles } from '../utils/load-files';\n\ntype LoadedComponent = {\n collectionName: string;\n __filename__: string;\n __schema__: LoadedComponent;\n uid: string;\n category: string;\n modelName: string;\n globalId: string;\n info: any;\n attributes: any;\n};\n\ntype LoadedComponents = {\n [category: string]: {\n [key: string]: LoadedComponent;\n };\n};\n\ntype ComponentMap = {\n [uid in UID.Component]: Struct.ComponentSchema;\n};\n\nexport default async function loadComponents(strapi: Core.Strapi) {\n if (!(await pathExists(strapi.dirs.dist.components))) {\n return {};\n }\n\n const map = await loadFiles<LoadedComponents>(strapi.dirs.dist.components, '*/*.*(js|json)');\n\n const components = Object.keys(map).reduce((acc, category) => {\n Object.keys(map[category]).forEach((key) => {\n const schema = map[category][key];\n\n if (!schema.collectionName) {\n // NOTE: We're using the filepath from the app directory instead of the dist for information purpose\n const filePath = join(strapi.dirs.app.components, category, schema.__filename__);\n\n return strapi.stopWithError(\n `Component ${key} is missing a \"collectionName\" property.\\nVerify file ${filePath}.`\n );\n }\n\n const uid: UID.Component = `${category}.${key}`;\n\n acc[uid] = Object.assign(schema, {\n __schema__: _.cloneDeep(schema),\n uid,\n category,\n modelType: 'component' as const,\n modelName: key,\n globalId: schema.globalId || _.upperFirst(_.camelCase(`component_${uid}`)),\n });\n });\n\n return acc;\n }, {} as ComponentMap);\n\n strapi.get('components').add(components);\n}\n"],"names":["pathExists","loadFiles","join","_"],"mappings":";;;;;;;AA4BA,eAA8B,eAAe,QAAqB;AAChE,MAAI,CAAE,MAAMA,IAAAA,WAAW,OAAO,KAAK,KAAK,UAAU,GAAI;AACpD,WAAO,CAAC;AAAA,EAAA;AAGV,QAAM,MAAM,MAAMC,oBAA4B,OAAO,KAAK,KAAK,YAAY,gBAAgB;AAErF,QAAA,aAAa,OAAO,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,aAAa;AAC5D,WAAO,KAAK,IAAI,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ;AAC1C,YAAM,SAAS,IAAI,QAAQ,EAAE,GAAG;AAE5B,UAAA,CAAC,OAAO,gBAAgB;AAEpB,cAAA,WAAWC,UAAK,OAAO,KAAK,IAAI,YAAY,UAAU,OAAO,YAAY;AAE/E,eAAO,OAAO;AAAA,UACZ,aAAa,GAAG;AAAA,cAAyD,QAAQ;AAAA,QACnF;AAAA,MAAA;AAGF,YAAM,MAAqB,GAAG,QAAQ,IAAI,GAAG;AAE7C,UAAI,GAAG,IAAI,OAAO,OAAO,QAAQ;AAAA,QAC/B,YAAYC,WAAAA,QAAE,UAAU,MAAM;AAAA,QAC9B;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX,WAAW;AAAA,QACX,UAAU,OAAO,YAAYA,WAAAA,QAAE,WAAWA,mBAAE,UAAU,aAAa,GAAG,EAAE,CAAC;AAAA,MAAA,CAC1E;AAAA,IAAA,CACF;AAEM,WAAA;AAAA,EACT,GAAG,EAAkB;AAErB,SAAO,IAAI,YAAY,EAAE,IAAI,UAAU;AACzC;;"}