@strapi/core 0.0.0-experimental.c5235059f5636c4549ea2118c75c43b92e2615c8 → 0.0.0-experimental.c537c14ded7f732c92e3599dc4f92a462d411494

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 (742) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +427 -403
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +426 -402
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/compile.js +23 -14
  7. package/dist/compile.js.map +1 -1
  8. package/dist/compile.mjs +22 -14
  9. package/dist/compile.mjs.map +1 -1
  10. package/dist/configuration/config-loader.js +110 -97
  11. package/dist/configuration/config-loader.js.map +1 -1
  12. package/dist/configuration/config-loader.mjs +109 -96
  13. package/dist/configuration/config-loader.mjs.map +1 -1
  14. package/dist/configuration/get-dirs.js +31 -29
  15. package/dist/configuration/get-dirs.js.map +1 -1
  16. package/dist/configuration/get-dirs.mjs +30 -30
  17. package/dist/configuration/get-dirs.mjs.map +1 -1
  18. package/dist/configuration/index.d.ts +1 -0
  19. package/dist/configuration/index.d.ts.map +1 -1
  20. package/dist/configuration/index.js +85 -73
  21. package/dist/configuration/index.js.map +1 -1
  22. package/dist/configuration/index.mjs +84 -69
  23. package/dist/configuration/index.mjs.map +1 -1
  24. package/dist/configuration/urls.d.ts.map +1 -1
  25. package/dist/configuration/urls.js +74 -61
  26. package/dist/configuration/urls.js.map +1 -1
  27. package/dist/configuration/urls.mjs +73 -62
  28. package/dist/configuration/urls.mjs.map +1 -1
  29. package/dist/container.js +27 -23
  30. package/dist/container.js.map +1 -1
  31. package/dist/container.mjs +26 -24
  32. package/dist/container.mjs.map +1 -1
  33. package/dist/core-api/controller/collection-type.js +77 -76
  34. package/dist/core-api/controller/collection-type.js.map +1 -1
  35. package/dist/core-api/controller/collection-type.mjs +76 -77
  36. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  37. package/dist/core-api/controller/index.js +63 -48
  38. package/dist/core-api/controller/index.js.map +1 -1
  39. package/dist/core-api/controller/index.mjs +62 -49
  40. package/dist/core-api/controller/index.mjs.map +1 -1
  41. package/dist/core-api/controller/single-type.js +41 -40
  42. package/dist/core-api/controller/single-type.js.map +1 -1
  43. package/dist/core-api/controller/single-type.mjs +40 -41
  44. package/dist/core-api/controller/single-type.mjs.map +1 -1
  45. package/dist/core-api/controller/transform.js +72 -63
  46. package/dist/core-api/controller/transform.js.map +1 -1
  47. package/dist/core-api/controller/transform.mjs +71 -64
  48. package/dist/core-api/controller/transform.mjs.map +1 -1
  49. package/dist/core-api/routes/index.js +64 -62
  50. package/dist/core-api/routes/index.js.map +1 -1
  51. package/dist/core-api/routes/index.mjs +62 -62
  52. package/dist/core-api/routes/index.mjs.map +1 -1
  53. package/dist/core-api/service/collection-type.d.ts +2 -2
  54. package/dist/core-api/service/collection-type.js +73 -60
  55. package/dist/core-api/service/collection-type.js.map +1 -1
  56. package/dist/core-api/service/collection-type.mjs +72 -62
  57. package/dist/core-api/service/collection-type.mjs.map +1 -1
  58. package/dist/core-api/service/core-service.js +9 -8
  59. package/dist/core-api/service/core-service.js.map +1 -1
  60. package/dist/core-api/service/core-service.mjs +8 -9
  61. package/dist/core-api/service/core-service.mjs.map +1 -1
  62. package/dist/core-api/service/index.js +13 -13
  63. package/dist/core-api/service/index.js.map +1 -1
  64. package/dist/core-api/service/index.mjs +12 -14
  65. package/dist/core-api/service/index.mjs.map +1 -1
  66. package/dist/core-api/service/pagination.js +69 -43
  67. package/dist/core-api/service/pagination.js.map +1 -1
  68. package/dist/core-api/service/pagination.mjs +68 -47
  69. package/dist/core-api/service/pagination.mjs.map +1 -1
  70. package/dist/core-api/service/single-type.js +43 -39
  71. package/dist/core-api/service/single-type.js.map +1 -1
  72. package/dist/core-api/service/single-type.mjs +42 -41
  73. package/dist/core-api/service/single-type.mjs.map +1 -1
  74. package/dist/domain/content-type/index.js +95 -100
  75. package/dist/domain/content-type/index.js.map +1 -1
  76. package/dist/domain/content-type/index.mjs +94 -100
  77. package/dist/domain/content-type/index.mjs.map +1 -1
  78. package/dist/domain/content-type/validator.js +84 -69
  79. package/dist/domain/content-type/validator.js.map +1 -1
  80. package/dist/domain/content-type/validator.mjs +83 -68
  81. package/dist/domain/content-type/validator.mjs.map +1 -1
  82. package/dist/domain/module/index.js +109 -100
  83. package/dist/domain/module/index.js.map +1 -1
  84. package/dist/domain/module/index.mjs +108 -99
  85. package/dist/domain/module/index.mjs.map +1 -1
  86. package/dist/domain/module/validation.js +25 -20
  87. package/dist/domain/module/validation.js.map +1 -1
  88. package/dist/domain/module/validation.mjs +24 -21
  89. package/dist/domain/module/validation.mjs.map +1 -1
  90. package/dist/ee/index.d.ts +7 -0
  91. package/dist/ee/index.d.ts.map +1 -1
  92. package/dist/ee/index.js +197 -132
  93. package/dist/ee/index.js.map +1 -1
  94. package/dist/ee/index.mjs +196 -134
  95. package/dist/ee/index.mjs.map +1 -1
  96. package/dist/ee/license.d.ts +3 -1
  97. package/dist/ee/license.d.ts.map +1 -1
  98. package/dist/ee/license.js +105 -75
  99. package/dist/ee/license.js.map +1 -1
  100. package/dist/ee/license.mjs +103 -76
  101. package/dist/ee/license.mjs.map +1 -1
  102. package/dist/factories.js +72 -67
  103. package/dist/factories.js.map +1 -1
  104. package/dist/factories.mjs +71 -71
  105. package/dist/factories.mjs.map +1 -1
  106. package/dist/index.js +29 -26
  107. package/dist/index.js.map +1 -1
  108. package/dist/index.mjs +29 -29
  109. package/dist/index.mjs.map +1 -1
  110. package/dist/loaders/admin.d.ts.map +1 -1
  111. package/dist/loaders/admin.js +21 -20
  112. package/dist/loaders/admin.js.map +1 -1
  113. package/dist/loaders/admin.mjs +20 -20
  114. package/dist/loaders/admin.mjs.map +1 -1
  115. package/dist/loaders/apis.js +143 -120
  116. package/dist/loaders/apis.js.map +1 -1
  117. package/dist/loaders/apis.mjs +142 -119
  118. package/dist/loaders/apis.mjs.map +1 -1
  119. package/dist/loaders/components.js +33 -34
  120. package/dist/loaders/components.js.map +1 -1
  121. package/dist/loaders/components.mjs +32 -34
  122. package/dist/loaders/components.mjs.map +1 -1
  123. package/dist/loaders/index.js +22 -20
  124. package/dist/loaders/index.js.map +1 -1
  125. package/dist/loaders/index.mjs +21 -21
  126. package/dist/loaders/index.mjs.map +1 -1
  127. package/dist/loaders/middlewares.js +29 -25
  128. package/dist/loaders/middlewares.js.map +1 -1
  129. package/dist/loaders/middlewares.mjs +28 -25
  130. package/dist/loaders/middlewares.mjs.map +1 -1
  131. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  132. package/dist/loaders/plugins/get-enabled-plugins.js +125 -102
  133. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  134. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -101
  135. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  136. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  137. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  138. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  139. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  140. package/dist/loaders/plugins/index.d.ts.map +1 -1
  141. package/dist/loaders/plugins/index.js +141 -104
  142. package/dist/loaders/plugins/index.js.map +1 -1
  143. package/dist/loaders/plugins/index.mjs +121 -104
  144. package/dist/loaders/plugins/index.mjs.map +1 -1
  145. package/dist/loaders/policies.js +24 -20
  146. package/dist/loaders/policies.js.map +1 -1
  147. package/dist/loaders/policies.mjs +23 -20
  148. package/dist/loaders/policies.mjs.map +1 -1
  149. package/dist/loaders/sanitizers.js +10 -4
  150. package/dist/loaders/sanitizers.js.map +1 -1
  151. package/dist/loaders/sanitizers.mjs +9 -6
  152. package/dist/loaders/sanitizers.mjs.map +1 -1
  153. package/dist/loaders/src-index.js +35 -27
  154. package/dist/loaders/src-index.js.map +1 -1
  155. package/dist/loaders/src-index.mjs +34 -29
  156. package/dist/loaders/src-index.mjs.map +1 -1
  157. package/dist/loaders/validators.js +9 -4
  158. package/dist/loaders/validators.js.map +1 -1
  159. package/dist/loaders/validators.mjs +8 -6
  160. package/dist/loaders/validators.mjs.map +1 -1
  161. package/dist/middlewares/body.d.ts.map +1 -1
  162. package/dist/middlewares/body.js +58 -54
  163. package/dist/middlewares/body.js.map +1 -1
  164. package/dist/middlewares/body.mjs +57 -51
  165. package/dist/middlewares/body.mjs.map +1 -1
  166. package/dist/middlewares/compression.js +6 -6
  167. package/dist/middlewares/compression.js.map +1 -1
  168. package/dist/middlewares/compression.mjs +5 -5
  169. package/dist/middlewares/compression.mjs.map +1 -1
  170. package/dist/middlewares/cors.js +59 -48
  171. package/dist/middlewares/cors.js.map +1 -1
  172. package/dist/middlewares/cors.mjs +58 -47
  173. package/dist/middlewares/cors.mjs.map +1 -1
  174. package/dist/middlewares/errors.js +32 -30
  175. package/dist/middlewares/errors.js.map +1 -1
  176. package/dist/middlewares/errors.mjs +31 -31
  177. package/dist/middlewares/errors.mjs.map +1 -1
  178. package/dist/middlewares/favicon.js +27 -17
  179. package/dist/middlewares/favicon.js.map +1 -1
  180. package/dist/middlewares/favicon.mjs +26 -16
  181. package/dist/middlewares/favicon.mjs.map +1 -1
  182. package/dist/middlewares/index.js +32 -30
  183. package/dist/middlewares/index.js.map +1 -1
  184. package/dist/middlewares/index.mjs +31 -31
  185. package/dist/middlewares/index.mjs.map +1 -1
  186. package/dist/middlewares/ip.js +6 -6
  187. package/dist/middlewares/ip.js.map +1 -1
  188. package/dist/middlewares/ip.mjs +5 -5
  189. package/dist/middlewares/ip.mjs.map +1 -1
  190. package/dist/middlewares/logger.js +10 -9
  191. package/dist/middlewares/logger.js.map +1 -1
  192. package/dist/middlewares/logger.mjs +9 -10
  193. package/dist/middlewares/logger.mjs.map +1 -1
  194. package/dist/middlewares/powered-by.js +13 -9
  195. package/dist/middlewares/powered-by.js.map +1 -1
  196. package/dist/middlewares/powered-by.mjs +12 -10
  197. package/dist/middlewares/powered-by.mjs.map +1 -1
  198. package/dist/middlewares/public.js +33 -29
  199. package/dist/middlewares/public.js.map +1 -1
  200. package/dist/middlewares/public.mjs +32 -28
  201. package/dist/middlewares/public.mjs.map +1 -1
  202. package/dist/middlewares/query.js +35 -32
  203. package/dist/middlewares/query.js.map +1 -1
  204. package/dist/middlewares/query.mjs +34 -31
  205. package/dist/middlewares/query.mjs.map +1 -1
  206. package/dist/middlewares/response-time.js +10 -9
  207. package/dist/middlewares/response-time.js.map +1 -1
  208. package/dist/middlewares/response-time.mjs +9 -10
  209. package/dist/middlewares/response-time.mjs.map +1 -1
  210. package/dist/middlewares/responses.js +14 -12
  211. package/dist/middlewares/responses.js.map +1 -1
  212. package/dist/middlewares/responses.mjs +13 -13
  213. package/dist/middlewares/responses.mjs.map +1 -1
  214. package/dist/middlewares/security.d.ts.map +1 -1
  215. package/dist/middlewares/security.js +109 -71
  216. package/dist/middlewares/security.js.map +1 -1
  217. package/dist/middlewares/security.mjs +108 -70
  218. package/dist/middlewares/security.mjs.map +1 -1
  219. package/dist/middlewares/session.js +26 -25
  220. package/dist/middlewares/session.js.map +1 -1
  221. package/dist/middlewares/session.mjs +25 -24
  222. package/dist/middlewares/session.mjs.map +1 -1
  223. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +14 -11
  224. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  225. package/dist/migrations/database/5.0.0-discard-drafts.js +153 -35
  226. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  227. package/dist/migrations/database/5.0.0-discard-drafts.mjs +152 -37
  228. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  229. package/dist/migrations/draft-publish.d.ts +2 -2
  230. package/dist/migrations/draft-publish.d.ts.map +1 -1
  231. package/dist/migrations/draft-publish.js +61 -34
  232. package/dist/migrations/draft-publish.js.map +1 -1
  233. package/dist/migrations/draft-publish.mjs +60 -36
  234. package/dist/migrations/draft-publish.mjs.map +1 -1
  235. package/dist/migrations/i18n.d.ts +5 -0
  236. package/dist/migrations/i18n.d.ts.map +1 -0
  237. package/dist/migrations/i18n.js +71 -0
  238. package/dist/migrations/i18n.js.map +1 -0
  239. package/dist/migrations/i18n.mjs +68 -0
  240. package/dist/migrations/i18n.mjs.map +1 -0
  241. package/dist/migrations/index.d.ts +5 -0
  242. package/dist/migrations/index.d.ts.map +1 -0
  243. package/dist/migrations/index.js +29 -0
  244. package/dist/migrations/index.js.map +1 -0
  245. package/dist/migrations/index.mjs +26 -0
  246. package/dist/migrations/index.mjs.map +1 -0
  247. package/dist/package.json.js +184 -0
  248. package/dist/package.json.js.map +1 -0
  249. package/dist/package.json.mjs +161 -0
  250. package/dist/package.json.mjs.map +1 -0
  251. package/dist/providers/admin.d.ts.map +1 -1
  252. package/dist/providers/admin.js +27 -17
  253. package/dist/providers/admin.js.map +1 -1
  254. package/dist/providers/admin.mjs +26 -19
  255. package/dist/providers/admin.mjs.map +1 -1
  256. package/dist/providers/coreStore.js +13 -8
  257. package/dist/providers/coreStore.js.map +1 -1
  258. package/dist/providers/coreStore.mjs +12 -10
  259. package/dist/providers/coreStore.mjs.map +1 -1
  260. package/dist/providers/cron.js +19 -16
  261. package/dist/providers/cron.js.map +1 -1
  262. package/dist/providers/cron.mjs +18 -18
  263. package/dist/providers/cron.mjs.map +1 -1
  264. package/dist/providers/index.js +18 -9
  265. package/dist/providers/index.js.map +1 -1
  266. package/dist/providers/index.mjs +17 -10
  267. package/dist/providers/index.mjs.map +1 -1
  268. package/dist/providers/provider.js +4 -3
  269. package/dist/providers/provider.js.map +1 -1
  270. package/dist/providers/provider.mjs +3 -4
  271. package/dist/providers/provider.mjs.map +1 -1
  272. package/dist/providers/registries.js +37 -32
  273. package/dist/providers/registries.js.map +1 -1
  274. package/dist/providers/registries.mjs +36 -34
  275. package/dist/providers/registries.mjs.map +1 -1
  276. package/dist/providers/telemetry.js +19 -16
  277. package/dist/providers/telemetry.js.map +1 -1
  278. package/dist/providers/telemetry.mjs +18 -18
  279. package/dist/providers/telemetry.mjs.map +1 -1
  280. package/dist/providers/webhooks.js +28 -26
  281. package/dist/providers/webhooks.js.map +1 -1
  282. package/dist/providers/webhooks.mjs +27 -28
  283. package/dist/providers/webhooks.mjs.map +1 -1
  284. package/dist/registries/apis.js +23 -20
  285. package/dist/registries/apis.js.map +1 -1
  286. package/dist/registries/apis.mjs +22 -22
  287. package/dist/registries/apis.mjs.map +1 -1
  288. package/dist/registries/components.js +35 -37
  289. package/dist/registries/components.js.map +1 -1
  290. package/dist/registries/components.mjs +34 -39
  291. package/dist/registries/components.mjs.map +1 -1
  292. package/dist/registries/content-types.js +54 -59
  293. package/dist/registries/content-types.js.map +1 -1
  294. package/dist/registries/content-types.mjs +53 -61
  295. package/dist/registries/content-types.mjs.map +1 -1
  296. package/dist/registries/controllers.js +70 -71
  297. package/dist/registries/controllers.js.map +1 -1
  298. package/dist/registries/controllers.mjs +69 -73
  299. package/dist/registries/controllers.mjs.map +1 -1
  300. package/dist/registries/custom-fields.js +75 -65
  301. package/dist/registries/custom-fields.js.map +1 -1
  302. package/dist/registries/custom-fields.mjs +74 -67
  303. package/dist/registries/custom-fields.mjs.map +1 -1
  304. package/dist/registries/hooks.js +46 -49
  305. package/dist/registries/hooks.js.map +1 -1
  306. package/dist/registries/hooks.mjs +45 -51
  307. package/dist/registries/hooks.mjs.map +1 -1
  308. package/dist/registries/middlewares.js +49 -51
  309. package/dist/registries/middlewares.js.map +1 -1
  310. package/dist/registries/middlewares.mjs +48 -53
  311. package/dist/registries/middlewares.mjs.map +1 -1
  312. package/dist/registries/models.js +14 -13
  313. package/dist/registries/models.js.map +1 -1
  314. package/dist/registries/models.mjs +13 -14
  315. package/dist/registries/models.mjs.map +1 -1
  316. package/dist/registries/modules.js +39 -36
  317. package/dist/registries/modules.js.map +1 -1
  318. package/dist/registries/modules.mjs +38 -38
  319. package/dist/registries/modules.mjs.map +1 -1
  320. package/dist/registries/namespace.js +21 -20
  321. package/dist/registries/namespace.js.map +1 -1
  322. package/dist/registries/namespace.mjs +20 -23
  323. package/dist/registries/namespace.mjs.map +1 -1
  324. package/dist/registries/plugins.js +23 -20
  325. package/dist/registries/plugins.js.map +1 -1
  326. package/dist/registries/plugins.mjs +22 -22
  327. package/dist/registries/plugins.mjs.map +1 -1
  328. package/dist/registries/policies.d.ts +1 -1
  329. package/dist/registries/policies.d.ts.map +1 -1
  330. package/dist/registries/policies.js +103 -96
  331. package/dist/registries/policies.js.map +1 -1
  332. package/dist/registries/policies.mjs +102 -98
  333. package/dist/registries/policies.mjs.map +1 -1
  334. package/dist/registries/sanitizers.js +23 -22
  335. package/dist/registries/sanitizers.js.map +1 -1
  336. package/dist/registries/sanitizers.mjs +22 -22
  337. package/dist/registries/sanitizers.mjs.map +1 -1
  338. package/dist/registries/services.js +71 -71
  339. package/dist/registries/services.js.map +1 -1
  340. package/dist/registries/services.mjs +70 -73
  341. package/dist/registries/services.mjs.map +1 -1
  342. package/dist/registries/validators.js +23 -22
  343. package/dist/registries/validators.js.map +1 -1
  344. package/dist/registries/validators.mjs +22 -22
  345. package/dist/registries/validators.mjs.map +1 -1
  346. package/dist/services/auth/index.js +74 -74
  347. package/dist/services/auth/index.js.map +1 -1
  348. package/dist/services/auth/index.mjs +73 -74
  349. package/dist/services/auth/index.mjs.map +1 -1
  350. package/dist/services/config.js +47 -43
  351. package/dist/services/config.js.map +1 -1
  352. package/dist/services/config.mjs +46 -44
  353. package/dist/services/config.mjs.map +1 -1
  354. package/dist/services/content-api/index.d.ts +10 -12
  355. package/dist/services/content-api/index.d.ts.map +1 -1
  356. package/dist/services/content-api/index.js +80 -79
  357. package/dist/services/content-api/index.js.map +1 -1
  358. package/dist/services/content-api/index.mjs +79 -79
  359. package/dist/services/content-api/index.mjs.map +1 -1
  360. package/dist/services/content-api/permissions/engine.js +8 -5
  361. package/dist/services/content-api/permissions/engine.js.map +1 -1
  362. package/dist/services/content-api/permissions/engine.mjs +7 -5
  363. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  364. package/dist/services/content-api/permissions/index.d.ts +10 -12
  365. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  366. package/dist/services/content-api/permissions/index.js +101 -81
  367. package/dist/services/content-api/permissions/index.js.map +1 -1
  368. package/dist/services/content-api/permissions/index.mjs +100 -81
  369. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  370. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  371. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  372. package/dist/services/content-api/permissions/providers/action.js +17 -14
  373. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  374. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  375. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  376. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  377. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  378. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  379. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  380. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  381. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  382. package/dist/services/core-store.d.ts +2 -2
  383. package/dist/services/core-store.d.ts.map +1 -1
  384. package/dist/services/core-store.js +115 -95
  385. package/dist/services/core-store.js.map +1 -1
  386. package/dist/services/core-store.mjs +114 -97
  387. package/dist/services/core-store.mjs.map +1 -1
  388. package/dist/services/cron.d.ts +3 -3
  389. package/dist/services/cron.d.ts.map +1 -1
  390. package/dist/services/cron.js +74 -60
  391. package/dist/services/cron.js.map +1 -1
  392. package/dist/services/cron.mjs +73 -62
  393. package/dist/services/cron.mjs.map +1 -1
  394. package/dist/services/custom-fields.js +9 -7
  395. package/dist/services/custom-fields.js.map +1 -1
  396. package/dist/services/custom-fields.mjs +8 -9
  397. package/dist/services/custom-fields.mjs.map +1 -1
  398. package/dist/services/document-service/attributes/index.js +23 -18
  399. package/dist/services/document-service/attributes/index.js.map +1 -1
  400. package/dist/services/document-service/attributes/index.mjs +22 -19
  401. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  402. package/dist/services/document-service/attributes/transforms.js +16 -15
  403. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  404. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  405. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  406. package/dist/services/document-service/common.d.ts +1 -1
  407. package/dist/services/document-service/common.d.ts.map +1 -1
  408. package/dist/services/document-service/common.js +5 -4
  409. package/dist/services/document-service/common.js.map +1 -1
  410. package/dist/services/document-service/common.mjs +4 -5
  411. package/dist/services/document-service/common.mjs.map +1 -1
  412. package/dist/services/document-service/components.d.ts.map +1 -1
  413. package/dist/services/document-service/components.js +255 -257
  414. package/dist/services/document-service/components.js.map +1 -1
  415. package/dist/services/document-service/components.mjs +254 -262
  416. package/dist/services/document-service/components.mjs.map +1 -1
  417. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  418. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  419. package/dist/services/document-service/draft-and-publish.js +88 -48
  420. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  421. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  422. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  423. package/dist/services/document-service/entries.d.ts +2 -2
  424. package/dist/services/document-service/entries.d.ts.map +1 -1
  425. package/dist/services/document-service/entries.js +151 -92
  426. package/dist/services/document-service/entries.js.map +1 -1
  427. package/dist/services/document-service/entries.mjs +150 -93
  428. package/dist/services/document-service/entries.mjs.map +1 -1
  429. package/dist/services/document-service/events.d.ts +1 -1
  430. package/dist/services/document-service/events.d.ts.map +1 -1
  431. package/dist/services/document-service/events.js +52 -40
  432. package/dist/services/document-service/events.js.map +1 -1
  433. package/dist/services/document-service/events.mjs +51 -41
  434. package/dist/services/document-service/events.mjs.map +1 -1
  435. package/dist/services/document-service/index.d.ts +2 -1
  436. package/dist/services/document-service/index.d.ts.map +1 -1
  437. package/dist/services/document-service/index.js +53 -32
  438. package/dist/services/document-service/index.js.map +1 -1
  439. package/dist/services/document-service/index.mjs +52 -33
  440. package/dist/services/document-service/index.mjs.map +1 -1
  441. package/dist/services/document-service/internationalization.js +62 -46
  442. package/dist/services/document-service/internationalization.js.map +1 -1
  443. package/dist/services/document-service/internationalization.mjs +61 -50
  444. package/dist/services/document-service/internationalization.mjs.map +1 -1
  445. package/dist/services/document-service/middlewares/errors.js +23 -19
  446. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  447. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  448. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  449. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  450. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  451. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  452. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  453. package/dist/services/document-service/params.js +11 -5
  454. package/dist/services/document-service/params.js.map +1 -1
  455. package/dist/services/document-service/params.mjs +10 -6
  456. package/dist/services/document-service/params.mjs.map +1 -1
  457. package/dist/services/document-service/repository.d.ts.map +1 -1
  458. package/dist/services/document-service/repository.js +355 -269
  459. package/dist/services/document-service/repository.js.map +1 -1
  460. package/dist/services/document-service/repository.mjs +354 -270
  461. package/dist/services/document-service/repository.mjs.map +1 -1
  462. package/dist/services/document-service/transform/data.js +22 -12
  463. package/dist/services/document-service/transform/data.js.map +1 -1
  464. package/dist/services/document-service/transform/data.mjs +21 -13
  465. package/dist/services/document-service/transform/data.mjs.map +1 -1
  466. package/dist/services/document-service/transform/fields.js +26 -17
  467. package/dist/services/document-service/transform/fields.js.map +1 -1
  468. package/dist/services/document-service/transform/fields.mjs +25 -18
  469. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  470. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  471. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  472. package/dist/services/document-service/transform/id-map.js +116 -69
  473. package/dist/services/document-service/transform/id-map.js.map +1 -1
  474. package/dist/services/document-service/transform/id-map.mjs +115 -70
  475. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  476. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  477. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  478. package/dist/services/document-service/transform/id-transform.js +37 -29
  479. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  480. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  481. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  482. package/dist/services/document-service/transform/populate.js +23 -18
  483. package/dist/services/document-service/transform/populate.js.map +1 -1
  484. package/dist/services/document-service/transform/populate.mjs +22 -19
  485. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  486. package/dist/services/document-service/transform/query.js +11 -6
  487. package/dist/services/document-service/transform/query.js.map +1 -1
  488. package/dist/services/document-service/transform/query.mjs +10 -7
  489. package/dist/services/document-service/transform/query.mjs.map +1 -1
  490. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  491. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  492. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  493. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  494. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  495. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  496. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  497. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  498. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  499. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  500. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  501. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  502. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  503. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  504. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  505. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  506. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  507. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  508. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  509. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  510. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  511. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  512. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  513. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  514. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  515. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  516. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  517. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  518. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  519. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  520. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  521. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  522. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  523. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  524. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  525. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  526. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  527. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  528. package/dist/services/document-service/utils/populate.d.ts +1 -1
  529. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  530. package/dist/services/document-service/utils/populate.js +67 -41
  531. package/dist/services/document-service/utils/populate.js.map +1 -1
  532. package/dist/services/document-service/utils/populate.mjs +66 -42
  533. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  534. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  535. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  536. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  537. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  538. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  539. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  540. package/dist/services/entity-service/index.js +230 -161
  541. package/dist/services/entity-service/index.js.map +1 -1
  542. package/dist/services/entity-service/index.mjs +229 -160
  543. package/dist/services/entity-service/index.mjs.map +1 -1
  544. package/dist/services/entity-validator/blocks-validator.js +135 -103
  545. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  546. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  547. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  548. package/dist/services/entity-validator/index.d.ts +1 -1
  549. package/dist/services/entity-validator/index.d.ts.map +1 -1
  550. package/dist/services/entity-validator/index.js +370 -362
  551. package/dist/services/entity-validator/index.js.map +1 -1
  552. package/dist/services/entity-validator/index.mjs +366 -359
  553. package/dist/services/entity-validator/index.mjs.map +1 -1
  554. package/dist/services/entity-validator/validators.d.ts +1 -0
  555. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  556. package/dist/services/entity-validator/validators.js +273 -208
  557. package/dist/services/entity-validator/validators.js.map +1 -1
  558. package/dist/services/entity-validator/validators.mjs +272 -214
  559. package/dist/services/entity-validator/validators.mjs.map +1 -1
  560. package/dist/services/errors.js +65 -65
  561. package/dist/services/errors.js.map +1 -1
  562. package/dist/services/errors.mjs +64 -66
  563. package/dist/services/errors.mjs.map +1 -1
  564. package/dist/services/event-hub.js +82 -69
  565. package/dist/services/event-hub.js.map +1 -1
  566. package/dist/services/event-hub.mjs +81 -71
  567. package/dist/services/event-hub.mjs.map +1 -1
  568. package/dist/services/features.js +19 -14
  569. package/dist/services/features.js.map +1 -1
  570. package/dist/services/features.mjs +18 -15
  571. package/dist/services/features.mjs.map +1 -1
  572. package/dist/services/fs.js +41 -40
  573. package/dist/services/fs.js.map +1 -1
  574. package/dist/services/fs.mjs +40 -39
  575. package/dist/services/fs.mjs.map +1 -1
  576. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  577. package/dist/services/metrics/admin-user-hash.js +13 -11
  578. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  579. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  580. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  581. package/dist/services/metrics/index.js +46 -40
  582. package/dist/services/metrics/index.js.map +1 -1
  583. package/dist/services/metrics/index.mjs +45 -42
  584. package/dist/services/metrics/index.mjs.map +1 -1
  585. package/dist/services/metrics/is-truthy.js +13 -6
  586. package/dist/services/metrics/is-truthy.js.map +1 -1
  587. package/dist/services/metrics/is-truthy.mjs +12 -6
  588. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  589. package/dist/services/metrics/middleware.d.ts.map +1 -1
  590. package/dist/services/metrics/middleware.js +37 -22
  591. package/dist/services/metrics/middleware.js.map +1 -1
  592. package/dist/services/metrics/middleware.mjs +36 -24
  593. package/dist/services/metrics/middleware.mjs.map +1 -1
  594. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  595. package/dist/services/metrics/rate-limiter.js +24 -19
  596. package/dist/services/metrics/rate-limiter.js.map +1 -1
  597. package/dist/services/metrics/rate-limiter.mjs +23 -21
  598. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  599. package/dist/services/metrics/sender.d.ts.map +1 -1
  600. package/dist/services/metrics/sender.js +78 -69
  601. package/dist/services/metrics/sender.js.map +1 -1
  602. package/dist/services/metrics/sender.mjs +77 -64
  603. package/dist/services/metrics/sender.mjs.map +1 -1
  604. package/dist/services/query-params.js +13 -10
  605. package/dist/services/query-params.js.map +1 -1
  606. package/dist/services/query-params.mjs +12 -12
  607. package/dist/services/query-params.mjs.map +1 -1
  608. package/dist/services/reloader.js +35 -32
  609. package/dist/services/reloader.js.map +1 -1
  610. package/dist/services/reloader.mjs +34 -33
  611. package/dist/services/reloader.mjs.map +1 -1
  612. package/dist/services/request-context.js +11 -8
  613. package/dist/services/request-context.js.map +1 -1
  614. package/dist/services/request-context.mjs +10 -10
  615. package/dist/services/request-context.mjs.map +1 -1
  616. package/dist/services/server/admin-api.js +11 -10
  617. package/dist/services/server/admin-api.js.map +1 -1
  618. package/dist/services/server/admin-api.mjs +10 -11
  619. package/dist/services/server/admin-api.mjs.map +1 -1
  620. package/dist/services/server/api.js +33 -27
  621. package/dist/services/server/api.js.map +1 -1
  622. package/dist/services/server/api.mjs +32 -26
  623. package/dist/services/server/api.mjs.map +1 -1
  624. package/dist/services/server/compose-endpoint.js +116 -105
  625. package/dist/services/server/compose-endpoint.js.map +1 -1
  626. package/dist/services/server/compose-endpoint.mjs +115 -105
  627. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  628. package/dist/services/server/content-api.js +11 -9
  629. package/dist/services/server/content-api.js.map +1 -1
  630. package/dist/services/server/content-api.mjs +10 -10
  631. package/dist/services/server/content-api.mjs.map +1 -1
  632. package/dist/services/server/http-server.js +48 -44
  633. package/dist/services/server/http-server.js.map +1 -1
  634. package/dist/services/server/http-server.mjs +47 -43
  635. package/dist/services/server/http-server.mjs.map +1 -1
  636. package/dist/services/server/index.js +85 -82
  637. package/dist/services/server/index.js.map +1 -1
  638. package/dist/services/server/index.mjs +84 -81
  639. package/dist/services/server/index.mjs.map +1 -1
  640. package/dist/services/server/koa.js +49 -47
  641. package/dist/services/server/koa.js.map +1 -1
  642. package/dist/services/server/koa.mjs +48 -44
  643. package/dist/services/server/koa.mjs.map +1 -1
  644. package/dist/services/server/middleware.js +86 -82
  645. package/dist/services/server/middleware.js.map +1 -1
  646. package/dist/services/server/middleware.mjs +85 -82
  647. package/dist/services/server/middleware.mjs.map +1 -1
  648. package/dist/services/server/policy.js +24 -17
  649. package/dist/services/server/policy.js.map +1 -1
  650. package/dist/services/server/policy.mjs +23 -18
  651. package/dist/services/server/policy.mjs.map +1 -1
  652. package/dist/services/server/register-middlewares.js +68 -61
  653. package/dist/services/server/register-middlewares.js.map +1 -1
  654. package/dist/services/server/register-middlewares.mjs +67 -63
  655. package/dist/services/server/register-middlewares.mjs.map +1 -1
  656. package/dist/services/server/register-routes.js +90 -67
  657. package/dist/services/server/register-routes.js.map +1 -1
  658. package/dist/services/server/register-routes.mjs +89 -67
  659. package/dist/services/server/register-routes.mjs.map +1 -1
  660. package/dist/services/server/routing.js +94 -81
  661. package/dist/services/server/routing.js.map +1 -1
  662. package/dist/services/server/routing.mjs +93 -81
  663. package/dist/services/server/routing.mjs.map +1 -1
  664. package/dist/services/utils/dynamic-zones.js +13 -14
  665. package/dist/services/utils/dynamic-zones.js.map +1 -1
  666. package/dist/services/utils/dynamic-zones.mjs +12 -16
  667. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  668. package/dist/services/webhook-runner.js +124 -122
  669. package/dist/services/webhook-runner.js.map +1 -1
  670. package/dist/services/webhook-runner.mjs +123 -121
  671. package/dist/services/webhook-runner.mjs.map +1 -1
  672. package/dist/services/webhook-store.js +132 -99
  673. package/dist/services/webhook-store.js.map +1 -1
  674. package/dist/services/webhook-store.mjs +131 -101
  675. package/dist/services/webhook-store.mjs.map +1 -1
  676. package/dist/services/worker-queue.js +44 -49
  677. package/dist/services/worker-queue.js.map +1 -1
  678. package/dist/services/worker-queue.mjs +43 -49
  679. package/dist/services/worker-queue.mjs.map +1 -1
  680. package/dist/utils/convert-custom-field-type.js +17 -20
  681. package/dist/utils/convert-custom-field-type.js.map +1 -1
  682. package/dist/utils/convert-custom-field-type.mjs +16 -21
  683. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  684. package/dist/utils/cron.js +64 -30
  685. package/dist/utils/cron.js.map +1 -1
  686. package/dist/utils/cron.mjs +63 -31
  687. package/dist/utils/cron.mjs.map +1 -1
  688. package/dist/utils/fetch.d.ts +5 -1
  689. package/dist/utils/fetch.d.ts.map +1 -1
  690. package/dist/utils/fetch.js +28 -18
  691. package/dist/utils/fetch.js.map +1 -1
  692. package/dist/utils/fetch.mjs +27 -19
  693. package/dist/utils/fetch.mjs.map +1 -1
  694. package/dist/utils/filepath-to-prop-path.js +20 -28
  695. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  696. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  697. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  698. package/dist/utils/is-initialized.js +21 -12
  699. package/dist/utils/is-initialized.js.map +1 -1
  700. package/dist/utils/is-initialized.mjs +20 -13
  701. package/dist/utils/is-initialized.mjs.map +1 -1
  702. package/dist/utils/lifecycles.js +6 -5
  703. package/dist/utils/lifecycles.js.map +1 -1
  704. package/dist/utils/lifecycles.mjs +5 -6
  705. package/dist/utils/lifecycles.mjs.map +1 -1
  706. package/dist/utils/load-config-file.js +40 -38
  707. package/dist/utils/load-config-file.js.map +1 -1
  708. package/dist/utils/load-config-file.mjs +39 -36
  709. package/dist/utils/load-config-file.mjs.map +1 -1
  710. package/dist/utils/load-files.js +40 -35
  711. package/dist/utils/load-files.js.map +1 -1
  712. package/dist/utils/load-files.mjs +39 -32
  713. package/dist/utils/load-files.mjs.map +1 -1
  714. package/dist/utils/open-browser.js +8 -8
  715. package/dist/utils/open-browser.js.map +1 -1
  716. package/dist/utils/open-browser.mjs +7 -7
  717. package/dist/utils/open-browser.mjs.map +1 -1
  718. package/dist/utils/resolve-working-dirs.js +23 -10
  719. package/dist/utils/resolve-working-dirs.js.map +1 -1
  720. package/dist/utils/resolve-working-dirs.mjs +22 -9
  721. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  722. package/dist/utils/signals.js +20 -14
  723. package/dist/utils/signals.js.map +1 -1
  724. package/dist/utils/signals.mjs +19 -15
  725. package/dist/utils/signals.mjs.map +1 -1
  726. package/dist/utils/startup-logger.d.ts.map +1 -1
  727. package/dist/utils/startup-logger.js +107 -78
  728. package/dist/utils/startup-logger.js.map +1 -1
  729. package/dist/utils/startup-logger.mjs +106 -75
  730. package/dist/utils/startup-logger.mjs.map +1 -1
  731. package/dist/utils/transform-content-types-to-models.d.ts +552 -23
  732. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  733. package/dist/utils/transform-content-types-to-models.js +350 -260
  734. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  735. package/dist/utils/transform-content-types-to-models.mjs +349 -268
  736. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  737. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  738. package/dist/utils/update-notifier/index.js +68 -73
  739. package/dist/utils/update-notifier/index.js.map +1 -1
  740. package/dist/utils/update-notifier/index.mjs +67 -67
  741. package/dist/utils/update-notifier/index.mjs.map +1 -1
  742. package/package.json +32 -30
@@ -1 +1 @@
1
- {"version":3,"file":"content-types.mjs","sources":["../../src/registries/content-types.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { UID, Struct } from '@strapi/types';\nimport { createContentType, ContentTypeDefinition } from '../domain/content-type';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype ContentTypesInput = Record<string, ContentTypeDefinition>;\ntype ContentTypeExtendFn = (contentType: Struct.ContentTypeSchema) => Struct.ContentTypeSchema;\n\nconst validateKeySameToSingularName = (contentTypes: ContentTypesInput) => {\n for (const ctName of Object.keys(contentTypes)) {\n const contentType = contentTypes[ctName];\n\n if (ctName !== contentType.schema.info.singularName) {\n throw new Error(\n `The key of the content-type should be the same as its singularName. Found ${ctName} and ${contentType.schema.info.singularName}.`\n );\n }\n }\n};\n\nconst contentTypesRegistry = () => {\n const contentTypes: Record<string, Struct.ContentTypeSchema> = {};\n\n return {\n /**\n * Returns this list of registered contentTypes uids\n */\n keys() {\n return Object.keys(contentTypes);\n },\n\n /**\n * Returns the instance of a contentType. Instantiate the contentType if not already done\n */\n get(uid: UID.ContentType) {\n return contentTypes[uid];\n },\n\n /**\n * Returns a map with all the contentTypes in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(contentTypes);\n },\n\n /**\n * Registers a contentType\n */\n set(uid: UID.ContentType, contentType: Struct.ContentTypeSchema) {\n contentTypes[uid] = contentType;\n return this;\n },\n\n /**\n * Registers a map of contentTypes for a specific namespace\n */\n add(namespace: string, newContentTypes: ContentTypesInput) {\n validateKeySameToSingularName(newContentTypes);\n\n for (const rawCtName of Object.keys(newContentTypes)) {\n const uid = addNamespace(rawCtName, namespace);\n\n if (has(uid, contentTypes)) {\n throw new Error(`Content-type ${uid} has already been registered.`);\n }\n\n contentTypes[uid] = createContentType(uid, newContentTypes[rawCtName]);\n }\n },\n\n /**\n * Wraps a contentType to extend it\n */\n extend(ctUID: UID.ContentType, extendFn: ContentTypeExtendFn) {\n const currentContentType = this.get(ctUID);\n\n if (!currentContentType) {\n throw new Error(`Content-Type ${ctUID} doesn't exist`);\n }\n\n extendFn(currentContentType);\n\n return this;\n },\n };\n};\n\nexport default contentTypesRegistry;\n"],"names":[],"mappings":";;;AAQA,MAAM,gCAAgC,CAAC,iBAAoC;AACzE,aAAW,UAAU,OAAO,KAAK,YAAY,GAAG;AACxC,UAAA,cAAc,aAAa,MAAM;AAEvC,QAAI,WAAW,YAAY,OAAO,KAAK,cAAc;AACnD,YAAM,IAAI;AAAA,QACR,6EAA6E,MAAM,QAAQ,YAAY,OAAO,KAAK,YAAY;AAAA,MAAA;AAAA,IAEnI;AAAA,EACF;AACF;AAEA,MAAM,uBAAuB,MAAM;AACjC,QAAM,eAAyD,CAAA;AAExD,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,YAAY;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAsB;AACxB,aAAO,aAAa,GAAG;AAAA,IACzB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACjB,aAAA,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,YAAY;AAAA,IACtE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAsB,aAAuC;AAC/D,mBAAa,GAAG,IAAI;AACb,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,iBAAoC;AACzD,oCAA8B,eAAe;AAE7C,iBAAW,aAAa,OAAO,KAAK,eAAe,GAAG;AAC9C,cAAA,MAAM,aAAa,WAAW,SAAS;AAEzC,YAAA,IAAI,KAAK,YAAY,GAAG;AAC1B,gBAAM,IAAI,MAAM,gBAAgB,GAAG,+BAA+B;AAAA,QACpE;AAEA,qBAAa,GAAG,IAAI,kBAAkB,KAAK,gBAAgB,SAAS,CAAC;AAAA,MACvE;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,OAAwB,UAA+B;AACtD,YAAA,qBAAqB,KAAK,IAAI,KAAK;AAEzC,UAAI,CAAC,oBAAoB;AACvB,cAAM,IAAI,MAAM,gBAAgB,KAAK,gBAAgB;AAAA,MACvD;AAEA,eAAS,kBAAkB;AAEpB,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"content-types.mjs","sources":["../../src/registries/content-types.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { UID, Struct } from '@strapi/types';\nimport { createContentType, ContentTypeDefinition } from '../domain/content-type';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype ContentTypesInput = Record<string, ContentTypeDefinition>;\ntype ContentTypeExtendFn = (contentType: Struct.ContentTypeSchema) => Struct.ContentTypeSchema;\n\nconst validateKeySameToSingularName = (contentTypes: ContentTypesInput) => {\n for (const ctName of Object.keys(contentTypes)) {\n const contentType = contentTypes[ctName];\n\n if (ctName !== contentType.schema.info.singularName) {\n throw new Error(\n `The key of the content-type should be the same as its singularName. Found ${ctName} and ${contentType.schema.info.singularName}.`\n );\n }\n }\n};\n\nconst contentTypesRegistry = () => {\n const contentTypes: Record<string, Struct.ContentTypeSchema> = {};\n\n return {\n /**\n * Returns this list of registered contentTypes uids\n */\n keys() {\n return Object.keys(contentTypes);\n },\n\n /**\n * Returns the instance of a contentType. Instantiate the contentType if not already done\n */\n get(uid: UID.ContentType) {\n return contentTypes[uid];\n },\n\n /**\n * Returns a map with all the contentTypes in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(contentTypes);\n },\n\n /**\n * Registers a contentType\n */\n set(uid: UID.ContentType, contentType: Struct.ContentTypeSchema) {\n contentTypes[uid] = contentType;\n return this;\n },\n\n /**\n * Registers a map of contentTypes for a specific namespace\n */\n add(namespace: string, newContentTypes: ContentTypesInput) {\n validateKeySameToSingularName(newContentTypes);\n\n for (const rawCtName of Object.keys(newContentTypes)) {\n const uid = addNamespace(rawCtName, namespace);\n\n if (has(uid, contentTypes)) {\n throw new Error(`Content-type ${uid} has already been registered.`);\n }\n\n contentTypes[uid] = createContentType(uid, newContentTypes[rawCtName]);\n }\n },\n\n /**\n * Wraps a contentType to extend it\n */\n extend(ctUID: UID.ContentType, extendFn: ContentTypeExtendFn) {\n const currentContentType = this.get(ctUID);\n\n if (!currentContentType) {\n throw new Error(`Content-Type ${ctUID} doesn't exist`);\n }\n\n extendFn(currentContentType);\n\n return this;\n },\n };\n};\n\nexport default contentTypesRegistry;\n"],"names":["validateKeySameToSingularName","contentTypes","ctName","Object","keys","contentType","schema","info","singularName","Error","contentTypesRegistry","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","add","newContentTypes","rawCtName","addNamespace","has","createContentType","extend","ctUID","extendFn","currentContentType"],"mappings":";;;;AAQA,MAAMA,gCAAgC,CAACC,YAAAA,GAAAA;AACrC,IAAA,KAAK,MAAMC,MAAAA,IAAUC,MAAOC,CAAAA,IAAI,CAACH,YAAe,CAAA,CAAA;QAC9C,MAAMI,WAAAA,GAAcJ,YAAY,CAACC,MAAO,CAAA;AAExC,QAAA,IAAIA,WAAWG,WAAYC,CAAAA,MAAM,CAACC,IAAI,CAACC,YAAY,EAAE;AACnD,YAAA,MAAM,IAAIC,KACR,CAAA,CAAC,0EAA0E,EAAEP,OAAO,KAAK,EAAEG,WAAYC,CAAAA,MAAM,CAACC,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC,CAAA;AAEtI;AACF;AACF,CAAA;AAEA,MAAME,oBAAuB,GAAA,IAAA;AAC3B,IAAA,MAAMT,eAAyD,EAAC;IAEhE,OAAO;AACL;;QAGAG,IAAAA,CAAAA,GAAAA;YACE,OAAOD,MAAAA,CAAOC,IAAI,CAACH,YAAAA,CAAAA;AACrB,SAAA;AAEA;;AAEC,QACDU,KAAIC,GAAoB,EAAA;YACtB,OAAOX,YAAY,CAACW,GAAI,CAAA;AAC1B,SAAA;AAEA;;AAEC,QACDC,QAAOC,SAAiB,EAAA;AACtB,YAAA,OAAOC,OAAO,CAACC,CAAAA,EAAGJ,GAAQK,GAAAA,YAAAA,CAAaL,KAAKE,SAAYb,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA;AAC1D,SAAA;AAEA;;QAGAiB,GAAAA,CAAAA,CAAIN,GAAoB,EAAEP,WAAqC,EAAA;YAC7DJ,YAAY,CAACW,IAAI,GAAGP,WAAAA;AACpB,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAc,GAAAA,CAAAA,CAAIL,SAAiB,EAAEM,eAAkC,EAAA;YACvDpB,6BAA8BoB,CAAAA,eAAAA,CAAAA;AAE9B,YAAA,KAAK,MAAMC,SAAAA,IAAalB,MAAOC,CAAAA,IAAI,CAACgB,eAAkB,CAAA,CAAA;gBACpD,MAAMR,GAAAA,GAAMU,aAAaD,SAAWP,EAAAA,SAAAA,CAAAA;gBAEpC,IAAIS,GAAAA,CAAIX,KAAKX,YAAe,CAAA,EAAA;AAC1B,oBAAA,MAAM,IAAIQ,KAAM,CAAA,CAAC,aAAa,EAAEG,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AACpE;AAEAX,gBAAAA,YAAY,CAACW,GAAI,CAAA,GAAGY,kBAAkBZ,GAAKQ,EAAAA,eAAe,CAACC,SAAU,CAAA,CAAA;AACvE;AACF,SAAA;AAEA;;QAGAI,MAAAA,CAAAA,CAAOC,KAAsB,EAAEC,QAA6B,EAAA;AAC1D,YAAA,MAAMC,kBAAqB,GAAA,IAAI,CAACjB,GAAG,CAACe,KAAAA,CAAAA;AAEpC,YAAA,IAAI,CAACE,kBAAoB,EAAA;AACvB,gBAAA,MAAM,IAAInB,KAAM,CAAA,CAAC,aAAa,EAAEiB,KAAAA,CAAM,cAAc,CAAC,CAAA;AACvD;YAEAC,QAASC,CAAAA,kBAAAA,CAAAA;AAET,YAAA,OAAO,IAAI;AACb;AACF,KAAA;AACF;;;;"}
@@ -1,80 +1,79 @@
1
- "use strict";
2
- const fp = require("lodash/fp");
3
- const namespace = require("./namespace.js");
4
- const controllersRegistry = (strapi) => {
5
- const controllers = {};
6
- const instances = {};
7
- return {
8
- /**
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var namespace = require('./namespace.js');
5
+
6
+ const controllersRegistry = (strapi)=>{
7
+ const controllers = {};
8
+ const instances = {};
9
+ return {
10
+ /**
9
11
  * Returns this list of registered controllers uids
10
- */
11
- keys() {
12
- return Object.keys(controllers);
13
- },
14
- /**
12
+ */ keys () {
13
+ return Object.keys(controllers);
14
+ },
15
+ /**
15
16
  * Returns the instance of a controller. Instantiate the controller if not already done
16
- */
17
- get(uid) {
18
- if (instances[uid]) {
19
- return instances[uid];
20
- }
21
- const controller = controllers[uid];
22
- if (controller) {
23
- instances[uid] = typeof controller === "function" ? controller({ strapi }) : controller;
24
- return instances[uid];
25
- }
26
- },
27
- /**
17
+ */ get (uid) {
18
+ if (instances[uid]) {
19
+ return instances[uid];
20
+ }
21
+ const controller = controllers[uid];
22
+ if (controller) {
23
+ instances[uid] = typeof controller === 'function' ? controller({
24
+ strapi
25
+ }) : controller;
26
+ return instances[uid];
27
+ }
28
+ },
29
+ /**
28
30
  * Returns a map with all the controller in a namespace
29
- */
30
- getAll(namespace$1) {
31
- const filteredControllers = fp.pickBy((_, uid) => namespace.hasNamespace(uid, namespace$1))(controllers);
32
- const map = {};
33
- for (const uid of Object.keys(filteredControllers)) {
34
- Object.defineProperty(map, uid, {
35
- enumerable: true,
36
- get: () => {
37
- return this.get(uid);
38
- }
39
- });
40
- }
41
- return map;
42
- },
43
- /**
31
+ */ getAll (namespace$1) {
32
+ const filteredControllers = fp.pickBy((_, uid)=>namespace.hasNamespace(uid, namespace$1))(controllers);
33
+ const map = {};
34
+ for (const uid of Object.keys(filteredControllers)){
35
+ Object.defineProperty(map, uid, {
36
+ enumerable: true,
37
+ get: ()=>{
38
+ return this.get(uid);
39
+ }
40
+ });
41
+ }
42
+ return map;
43
+ },
44
+ /**
44
45
  * Registers a controller
45
- */
46
- set(uid, value) {
47
- controllers[uid] = value;
48
- delete instances[uid];
49
- return this;
50
- },
51
- /**
46
+ */ set (uid, value) {
47
+ controllers[uid] = value;
48
+ delete instances[uid];
49
+ return this;
50
+ },
51
+ /**
52
52
  * Registers a map of controllers for a specific namespace
53
- */
54
- add(namespace$1, newControllers) {
55
- for (const controllerName of Object.keys(newControllers)) {
56
- const controller = newControllers[controllerName];
57
- const uid = namespace.addNamespace(controllerName, namespace$1);
58
- if (fp.has(uid, controllers)) {
59
- throw new Error(`Controller ${uid} has already been registered.`);
60
- }
61
- controllers[uid] = controller;
62
- }
63
- return this;
64
- },
65
- /**
53
+ */ add (namespace$1, newControllers) {
54
+ for (const controllerName of Object.keys(newControllers)){
55
+ const controller = newControllers[controllerName];
56
+ const uid = namespace.addNamespace(controllerName, namespace$1);
57
+ if (fp.has(uid, controllers)) {
58
+ throw new Error(`Controller ${uid} has already been registered.`);
59
+ }
60
+ controllers[uid] = controller;
61
+ }
62
+ return this;
63
+ },
64
+ /**
66
65
  * Wraps a controller to extend it
67
- */
68
- extend(controllerUID, extendFn) {
69
- const currentController = this.get(controllerUID);
70
- if (!currentController) {
71
- throw new Error(`Controller ${controllerUID} doesn't exist`);
72
- }
73
- const newController = extendFn(currentController);
74
- instances[controllerUID] = newController;
75
- return this;
76
- }
77
- };
66
+ */ extend (controllerUID, extendFn) {
67
+ const currentController = this.get(controllerUID);
68
+ if (!currentController) {
69
+ throw new Error(`Controller ${controllerUID} doesn't exist`);
70
+ }
71
+ const newController = extendFn(currentController);
72
+ instances[controllerUID] = newController;
73
+ return this;
74
+ }
75
+ };
78
76
  };
77
+
79
78
  module.exports = controllersRegistry;
80
79
  //# sourceMappingURL=controllers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.js","sources":["../../src/registries/controllers.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nexport type ControllerFactory =\n | ((params: { strapi: Core.Strapi }) => Core.Controller)\n | Core.Controller;\nexport type ControllerFactoryMap = Record<UID.Controller, ControllerFactory>;\nexport type ControllerMap = Record<UID.Controller, Core.Controller>;\nexport type ControllerExtendFn = (service: Core.Controller) => Core.Controller;\n\nconst controllersRegistry = (strapi: Core.Strapi) => {\n const controllers: ControllerFactoryMap = {};\n const instances: ControllerMap = {};\n\n return {\n /**\n * Returns this list of registered controllers uids\n */\n keys() {\n return Object.keys(controllers);\n },\n\n /**\n * Returns the instance of a controller. Instantiate the controller if not already done\n */\n get(uid: UID.Controller) {\n if (instances[uid]) {\n return instances[uid];\n }\n\n const controller = controllers[uid];\n\n if (controller) {\n instances[uid] = typeof controller === 'function' ? controller({ strapi }) : controller;\n return instances[uid];\n }\n },\n\n /**\n * Returns a map with all the controller in a namespace\n */\n getAll(namespace: string) {\n const filteredControllers = pickBy((_, uid) => hasNamespace(uid, namespace))(controllers);\n\n const map = {};\n for (const uid of Object.keys(filteredControllers) as UID.Controller[]) {\n Object.defineProperty(map, uid, {\n enumerable: true,\n get: () => {\n return this.get(uid);\n },\n });\n }\n\n return map;\n },\n\n /**\n * Registers a controller\n */\n set(uid: UID.Controller, value: ControllerFactory) {\n controllers[uid] = value;\n delete instances[uid];\n return this;\n },\n\n /**\n * Registers a map of controllers for a specific namespace\n */\n add(namespace: string, newControllers: ControllerFactoryMap) {\n for (const controllerName of Object.keys(newControllers) as UID.Controller[]) {\n const controller = newControllers[controllerName];\n const uid = addNamespace(controllerName, namespace) as UID.Controller;\n\n if (has(uid, controllers)) {\n throw new Error(`Controller ${uid} has already been registered.`);\n }\n\n controllers[uid] = controller;\n }\n\n return this;\n },\n\n /**\n * Wraps a controller to extend it\n */\n extend(controllerUID: UID.Controller, extendFn: ControllerExtendFn) {\n const currentController = this.get(controllerUID);\n\n if (!currentController) {\n throw new Error(`Controller ${controllerUID} doesn't exist`);\n }\n\n const newController = extendFn(currentController);\n instances[controllerUID] = newController;\n\n return this;\n },\n };\n};\n\nexport default controllersRegistry;\n"],"names":["namespace","pickBy","hasNamespace","addNamespace","has"],"mappings":";;;AAWM,MAAA,sBAAsB,CAAC,WAAwB;AACnD,QAAM,cAAoC,CAAA;AAC1C,QAAM,YAA2B,CAAA;AAE1B,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,WAAW;AAAA,IAChC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB;AACnB,UAAA,UAAU,GAAG,GAAG;AAClB,eAAO,UAAU,GAAG;AAAA,MACtB;AAEM,YAAA,aAAa,YAAY,GAAG;AAElC,UAAI,YAAY;AACJ,kBAAA,GAAG,IAAI,OAAO,eAAe,aAAa,WAAW,EAAE,QAAQ,IAAI;AAC7E,eAAO,UAAU,GAAG;AAAA,MACtB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOA,aAAmB;AAClB,YAAA,sBAAsBC,GAAAA,OAAO,CAAC,GAAG,QAAQC,uBAAa,KAAKF,WAAS,CAAC,EAAE,WAAW;AAExF,YAAM,MAAM,CAAA;AACZ,iBAAW,OAAO,OAAO,KAAK,mBAAmB,GAAuB;AAC/D,eAAA,eAAe,KAAK,KAAK;AAAA,UAC9B,YAAY;AAAA,UACZ,KAAK,MAAM;AACF,mBAAA,KAAK,IAAI,GAAG;AAAA,UACrB;AAAA,QAAA,CACD;AAAA,MACH;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB,OAA0B;AACjD,kBAAY,GAAG,IAAI;AACnB,aAAO,UAAU,GAAG;AACb,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmB,gBAAsC;AAC3D,iBAAW,kBAAkB,OAAO,KAAK,cAAc,GAAuB;AACtE,cAAA,aAAa,eAAe,cAAc;AAC1C,cAAA,MAAMG,UAAAA,aAAa,gBAAgBH,WAAS;AAE9C,YAAAI,GAAA,IAAI,KAAK,WAAW,GAAG;AACzB,gBAAM,IAAI,MAAM,cAAc,GAAG,+BAA+B;AAAA,QAClE;AAEA,oBAAY,GAAG,IAAI;AAAA,MACrB;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,eAA+B,UAA8B;AAC5D,YAAA,oBAAoB,KAAK,IAAI,aAAa;AAEhD,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,aAAa,gBAAgB;AAAA,MAC7D;AAEM,YAAA,gBAAgB,SAAS,iBAAiB;AAChD,gBAAU,aAAa,IAAI;AAEpB,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"controllers.js","sources":["../../src/registries/controllers.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nexport type ControllerFactory =\n | ((params: { strapi: Core.Strapi }) => Core.Controller)\n | Core.Controller;\nexport type ControllerFactoryMap = Record<UID.Controller, ControllerFactory>;\nexport type ControllerMap = Record<UID.Controller, Core.Controller>;\nexport type ControllerExtendFn = (service: Core.Controller) => Core.Controller;\n\nconst controllersRegistry = (strapi: Core.Strapi) => {\n const controllers: ControllerFactoryMap = {};\n const instances: ControllerMap = {};\n\n return {\n /**\n * Returns this list of registered controllers uids\n */\n keys() {\n return Object.keys(controllers);\n },\n\n /**\n * Returns the instance of a controller. Instantiate the controller if not already done\n */\n get(uid: UID.Controller) {\n if (instances[uid]) {\n return instances[uid];\n }\n\n const controller = controllers[uid];\n\n if (controller) {\n instances[uid] = typeof controller === 'function' ? controller({ strapi }) : controller;\n return instances[uid];\n }\n },\n\n /**\n * Returns a map with all the controller in a namespace\n */\n getAll(namespace: string) {\n const filteredControllers = pickBy((_, uid) => hasNamespace(uid, namespace))(controllers);\n\n const map = {};\n for (const uid of Object.keys(filteredControllers) as UID.Controller[]) {\n Object.defineProperty(map, uid, {\n enumerable: true,\n get: () => {\n return this.get(uid);\n },\n });\n }\n\n return map;\n },\n\n /**\n * Registers a controller\n */\n set(uid: UID.Controller, value: ControllerFactory) {\n controllers[uid] = value;\n delete instances[uid];\n return this;\n },\n\n /**\n * Registers a map of controllers for a specific namespace\n */\n add(namespace: string, newControllers: ControllerFactoryMap) {\n for (const controllerName of Object.keys(newControllers) as UID.Controller[]) {\n const controller = newControllers[controllerName];\n const uid = addNamespace(controllerName, namespace) as UID.Controller;\n\n if (has(uid, controllers)) {\n throw new Error(`Controller ${uid} has already been registered.`);\n }\n\n controllers[uid] = controller;\n }\n\n return this;\n },\n\n /**\n * Wraps a controller to extend it\n */\n extend(controllerUID: UID.Controller, extendFn: ControllerExtendFn) {\n const currentController = this.get(controllerUID);\n\n if (!currentController) {\n throw new Error(`Controller ${controllerUID} doesn't exist`);\n }\n\n const newController = extendFn(currentController);\n instances[controllerUID] = newController;\n\n return this;\n },\n };\n};\n\nexport default controllersRegistry;\n"],"names":["controllersRegistry","strapi","controllers","instances","keys","Object","get","uid","controller","getAll","namespace","filteredControllers","pickBy","_","hasNamespace","map","defineProperty","enumerable","set","value","add","newControllers","controllerName","addNamespace","has","Error","extend","controllerUID","extendFn","currentController","newController"],"mappings":";;;;;AAWA,MAAMA,sBAAsB,CAACC,MAAAA,GAAAA;AAC3B,IAAA,MAAMC,cAAoC,EAAC;AAC3C,IAAA,MAAMC,YAA2B,EAAC;IAElC,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACF,WAAAA,CAAAA;AACrB,SAAA;AAEA;;AAEC,QACDI,KAAIC,GAAmB,EAAA;YACrB,IAAIJ,SAAS,CAACI,GAAAA,CAAI,EAAE;gBAClB,OAAOJ,SAAS,CAACI,GAAI,CAAA;AACvB;YAEA,MAAMC,UAAAA,GAAaN,WAAW,CAACK,GAAI,CAAA;AAEnC,YAAA,IAAIC,UAAY,EAAA;AACdL,gBAAAA,SAAS,CAACI,GAAI,CAAA,GAAG,OAAOC,UAAAA,KAAe,aAAaA,UAAW,CAAA;AAAEP,oBAAAA;iBAAYO,CAAAA,GAAAA,UAAAA;gBAC7E,OAAOL,SAAS,CAACI,GAAI,CAAA;AACvB;AACF,SAAA;AAEA;;AAEC,QACDE,QAAOC,WAAiB,EAAA;AACtB,YAAA,MAAMC,sBAAsBC,SAAO,CAAA,CAACC,GAAGN,GAAQO,GAAAA,sBAAAA,CAAaP,KAAKG,WAAYR,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA;AAE7E,YAAA,MAAMa,MAAM,EAAC;AACb,YAAA,KAAK,MAAMR,GAAAA,IAAOF,MAAOD,CAAAA,IAAI,CAACO,mBAA0C,CAAA,CAAA;gBACtEN,MAAOW,CAAAA,cAAc,CAACD,GAAAA,EAAKR,GAAK,EAAA;oBAC9BU,UAAY,EAAA,IAAA;oBACZX,GAAK,EAAA,IAAA;wBACH,OAAO,IAAI,CAACA,GAAG,CAACC,GAAAA,CAAAA;AAClB;AACF,iBAAA,CAAA;AACF;YAEA,OAAOQ,GAAAA;AACT,SAAA;AAEA;;QAGAG,GAAAA,CAAAA,CAAIX,GAAmB,EAAEY,KAAwB,EAAA;YAC/CjB,WAAW,CAACK,IAAI,GAAGY,KAAAA;YACnB,OAAOhB,SAAS,CAACI,GAAI,CAAA;AACrB,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAa,GAAAA,CAAAA,CAAIV,WAAiB,EAAEW,cAAoC,EAAA;AACzD,YAAA,KAAK,MAAMC,cAAAA,IAAkBjB,MAAOD,CAAAA,IAAI,CAACiB,cAAqC,CAAA,CAAA;gBAC5E,MAAMb,UAAAA,GAAaa,cAAc,CAACC,cAAe,CAAA;gBACjD,MAAMf,GAAAA,GAAMgB,uBAAaD,cAAgBZ,EAAAA,WAAAA,CAAAA;gBAEzC,IAAIc,MAAAA,CAAIjB,KAAKL,WAAc,CAAA,EAAA;AACzB,oBAAA,MAAM,IAAIuB,KAAM,CAAA,CAAC,WAAW,EAAElB,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AAClE;gBAEAL,WAAW,CAACK,IAAI,GAAGC,UAAAA;AACrB;AAEA,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAkB,MAAAA,CAAAA,CAAOC,aAA6B,EAAEC,QAA4B,EAAA;AAChE,YAAA,MAAMC,iBAAoB,GAAA,IAAI,CAACvB,GAAG,CAACqB,aAAAA,CAAAA;AAEnC,YAAA,IAAI,CAACE,iBAAmB,EAAA;AACtB,gBAAA,MAAM,IAAIJ,KAAM,CAAA,CAAC,WAAW,EAAEE,aAAAA,CAAc,cAAc,CAAC,CAAA;AAC7D;AAEA,YAAA,MAAMG,gBAAgBF,QAASC,CAAAA,iBAAAA,CAAAA;YAC/B1B,SAAS,CAACwB,cAAc,GAAGG,aAAAA;AAE3B,YAAA,OAAO,IAAI;AACb;AACF,KAAA;AACF;;;;"}
@@ -1,81 +1,77 @@
1
- import { pickBy, has } from "lodash/fp";
2
- import { hasNamespace, addNamespace } from "./namespace.mjs";
3
- const controllersRegistry = (strapi) => {
4
- const controllers = {};
5
- const instances = {};
6
- return {
7
- /**
1
+ import { pickBy, has } from 'lodash/fp';
2
+ import { hasNamespace, addNamespace } from './namespace.mjs';
3
+
4
+ const controllersRegistry = (strapi)=>{
5
+ const controllers = {};
6
+ const instances = {};
7
+ return {
8
+ /**
8
9
  * Returns this list of registered controllers uids
9
- */
10
- keys() {
11
- return Object.keys(controllers);
12
- },
13
- /**
10
+ */ keys () {
11
+ return Object.keys(controllers);
12
+ },
13
+ /**
14
14
  * Returns the instance of a controller. Instantiate the controller if not already done
15
- */
16
- get(uid) {
17
- if (instances[uid]) {
18
- return instances[uid];
19
- }
20
- const controller = controllers[uid];
21
- if (controller) {
22
- instances[uid] = typeof controller === "function" ? controller({ strapi }) : controller;
23
- return instances[uid];
24
- }
25
- },
26
- /**
15
+ */ get (uid) {
16
+ if (instances[uid]) {
17
+ return instances[uid];
18
+ }
19
+ const controller = controllers[uid];
20
+ if (controller) {
21
+ instances[uid] = typeof controller === 'function' ? controller({
22
+ strapi
23
+ }) : controller;
24
+ return instances[uid];
25
+ }
26
+ },
27
+ /**
27
28
  * Returns a map with all the controller in a namespace
28
- */
29
- getAll(namespace) {
30
- const filteredControllers = pickBy((_, uid) => hasNamespace(uid, namespace))(controllers);
31
- const map = {};
32
- for (const uid of Object.keys(filteredControllers)) {
33
- Object.defineProperty(map, uid, {
34
- enumerable: true,
35
- get: () => {
36
- return this.get(uid);
37
- }
38
- });
39
- }
40
- return map;
41
- },
42
- /**
29
+ */ getAll (namespace) {
30
+ const filteredControllers = pickBy((_, uid)=>hasNamespace(uid, namespace))(controllers);
31
+ const map = {};
32
+ for (const uid of Object.keys(filteredControllers)){
33
+ Object.defineProperty(map, uid, {
34
+ enumerable: true,
35
+ get: ()=>{
36
+ return this.get(uid);
37
+ }
38
+ });
39
+ }
40
+ return map;
41
+ },
42
+ /**
43
43
  * Registers a controller
44
- */
45
- set(uid, value) {
46
- controllers[uid] = value;
47
- delete instances[uid];
48
- return this;
49
- },
50
- /**
44
+ */ set (uid, value) {
45
+ controllers[uid] = value;
46
+ delete instances[uid];
47
+ return this;
48
+ },
49
+ /**
51
50
  * Registers a map of controllers for a specific namespace
52
- */
53
- add(namespace, newControllers) {
54
- for (const controllerName of Object.keys(newControllers)) {
55
- const controller = newControllers[controllerName];
56
- const uid = addNamespace(controllerName, namespace);
57
- if (has(uid, controllers)) {
58
- throw new Error(`Controller ${uid} has already been registered.`);
59
- }
60
- controllers[uid] = controller;
61
- }
62
- return this;
63
- },
64
- /**
51
+ */ add (namespace, newControllers) {
52
+ for (const controllerName of Object.keys(newControllers)){
53
+ const controller = newControllers[controllerName];
54
+ const uid = addNamespace(controllerName, namespace);
55
+ if (has(uid, controllers)) {
56
+ throw new Error(`Controller ${uid} has already been registered.`);
57
+ }
58
+ controllers[uid] = controller;
59
+ }
60
+ return this;
61
+ },
62
+ /**
65
63
  * Wraps a controller to extend it
66
- */
67
- extend(controllerUID, extendFn) {
68
- const currentController = this.get(controllerUID);
69
- if (!currentController) {
70
- throw new Error(`Controller ${controllerUID} doesn't exist`);
71
- }
72
- const newController = extendFn(currentController);
73
- instances[controllerUID] = newController;
74
- return this;
75
- }
76
- };
77
- };
78
- export {
79
- controllersRegistry as default
64
+ */ extend (controllerUID, extendFn) {
65
+ const currentController = this.get(controllerUID);
66
+ if (!currentController) {
67
+ throw new Error(`Controller ${controllerUID} doesn't exist`);
68
+ }
69
+ const newController = extendFn(currentController);
70
+ instances[controllerUID] = newController;
71
+ return this;
72
+ }
73
+ };
80
74
  };
75
+
76
+ export { controllersRegistry as default };
81
77
  //# sourceMappingURL=controllers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.mjs","sources":["../../src/registries/controllers.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nexport type ControllerFactory =\n | ((params: { strapi: Core.Strapi }) => Core.Controller)\n | Core.Controller;\nexport type ControllerFactoryMap = Record<UID.Controller, ControllerFactory>;\nexport type ControllerMap = Record<UID.Controller, Core.Controller>;\nexport type ControllerExtendFn = (service: Core.Controller) => Core.Controller;\n\nconst controllersRegistry = (strapi: Core.Strapi) => {\n const controllers: ControllerFactoryMap = {};\n const instances: ControllerMap = {};\n\n return {\n /**\n * Returns this list of registered controllers uids\n */\n keys() {\n return Object.keys(controllers);\n },\n\n /**\n * Returns the instance of a controller. Instantiate the controller if not already done\n */\n get(uid: UID.Controller) {\n if (instances[uid]) {\n return instances[uid];\n }\n\n const controller = controllers[uid];\n\n if (controller) {\n instances[uid] = typeof controller === 'function' ? controller({ strapi }) : controller;\n return instances[uid];\n }\n },\n\n /**\n * Returns a map with all the controller in a namespace\n */\n getAll(namespace: string) {\n const filteredControllers = pickBy((_, uid) => hasNamespace(uid, namespace))(controllers);\n\n const map = {};\n for (const uid of Object.keys(filteredControllers) as UID.Controller[]) {\n Object.defineProperty(map, uid, {\n enumerable: true,\n get: () => {\n return this.get(uid);\n },\n });\n }\n\n return map;\n },\n\n /**\n * Registers a controller\n */\n set(uid: UID.Controller, value: ControllerFactory) {\n controllers[uid] = value;\n delete instances[uid];\n return this;\n },\n\n /**\n * Registers a map of controllers for a specific namespace\n */\n add(namespace: string, newControllers: ControllerFactoryMap) {\n for (const controllerName of Object.keys(newControllers) as UID.Controller[]) {\n const controller = newControllers[controllerName];\n const uid = addNamespace(controllerName, namespace) as UID.Controller;\n\n if (has(uid, controllers)) {\n throw new Error(`Controller ${uid} has already been registered.`);\n }\n\n controllers[uid] = controller;\n }\n\n return this;\n },\n\n /**\n * Wraps a controller to extend it\n */\n extend(controllerUID: UID.Controller, extendFn: ControllerExtendFn) {\n const currentController = this.get(controllerUID);\n\n if (!currentController) {\n throw new Error(`Controller ${controllerUID} doesn't exist`);\n }\n\n const newController = extendFn(currentController);\n instances[controllerUID] = newController;\n\n return this;\n },\n };\n};\n\nexport default controllersRegistry;\n"],"names":[],"mappings":";;AAWM,MAAA,sBAAsB,CAAC,WAAwB;AACnD,QAAM,cAAoC,CAAA;AAC1C,QAAM,YAA2B,CAAA;AAE1B,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,WAAW;AAAA,IAChC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB;AACnB,UAAA,UAAU,GAAG,GAAG;AAClB,eAAO,UAAU,GAAG;AAAA,MACtB;AAEM,YAAA,aAAa,YAAY,GAAG;AAElC,UAAI,YAAY;AACJ,kBAAA,GAAG,IAAI,OAAO,eAAe,aAAa,WAAW,EAAE,QAAQ,IAAI;AAC7E,eAAO,UAAU,GAAG;AAAA,MACtB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AAClB,YAAA,sBAAsB,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,WAAW;AAExF,YAAM,MAAM,CAAA;AACZ,iBAAW,OAAO,OAAO,KAAK,mBAAmB,GAAuB;AAC/D,eAAA,eAAe,KAAK,KAAK;AAAA,UAC9B,YAAY;AAAA,UACZ,KAAK,MAAM;AACF,mBAAA,KAAK,IAAI,GAAG;AAAA,UACrB;AAAA,QAAA,CACD;AAAA,MACH;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB,OAA0B;AACjD,kBAAY,GAAG,IAAI;AACnB,aAAO,UAAU,GAAG;AACb,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,gBAAsC;AAC3D,iBAAW,kBAAkB,OAAO,KAAK,cAAc,GAAuB;AACtE,cAAA,aAAa,eAAe,cAAc;AAC1C,cAAA,MAAM,aAAa,gBAAgB,SAAS;AAE9C,YAAA,IAAI,KAAK,WAAW,GAAG;AACzB,gBAAM,IAAI,MAAM,cAAc,GAAG,+BAA+B;AAAA,QAClE;AAEA,oBAAY,GAAG,IAAI;AAAA,MACrB;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,eAA+B,UAA8B;AAC5D,YAAA,oBAAoB,KAAK,IAAI,aAAa;AAEhD,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,aAAa,gBAAgB;AAAA,MAC7D;AAEM,YAAA,gBAAgB,SAAS,iBAAiB;AAChD,gBAAU,aAAa,IAAI;AAEpB,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"controllers.mjs","sources":["../../src/registries/controllers.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nexport type ControllerFactory =\n | ((params: { strapi: Core.Strapi }) => Core.Controller)\n | Core.Controller;\nexport type ControllerFactoryMap = Record<UID.Controller, ControllerFactory>;\nexport type ControllerMap = Record<UID.Controller, Core.Controller>;\nexport type ControllerExtendFn = (service: Core.Controller) => Core.Controller;\n\nconst controllersRegistry = (strapi: Core.Strapi) => {\n const controllers: ControllerFactoryMap = {};\n const instances: ControllerMap = {};\n\n return {\n /**\n * Returns this list of registered controllers uids\n */\n keys() {\n return Object.keys(controllers);\n },\n\n /**\n * Returns the instance of a controller. Instantiate the controller if not already done\n */\n get(uid: UID.Controller) {\n if (instances[uid]) {\n return instances[uid];\n }\n\n const controller = controllers[uid];\n\n if (controller) {\n instances[uid] = typeof controller === 'function' ? controller({ strapi }) : controller;\n return instances[uid];\n }\n },\n\n /**\n * Returns a map with all the controller in a namespace\n */\n getAll(namespace: string) {\n const filteredControllers = pickBy((_, uid) => hasNamespace(uid, namespace))(controllers);\n\n const map = {};\n for (const uid of Object.keys(filteredControllers) as UID.Controller[]) {\n Object.defineProperty(map, uid, {\n enumerable: true,\n get: () => {\n return this.get(uid);\n },\n });\n }\n\n return map;\n },\n\n /**\n * Registers a controller\n */\n set(uid: UID.Controller, value: ControllerFactory) {\n controllers[uid] = value;\n delete instances[uid];\n return this;\n },\n\n /**\n * Registers a map of controllers for a specific namespace\n */\n add(namespace: string, newControllers: ControllerFactoryMap) {\n for (const controllerName of Object.keys(newControllers) as UID.Controller[]) {\n const controller = newControllers[controllerName];\n const uid = addNamespace(controllerName, namespace) as UID.Controller;\n\n if (has(uid, controllers)) {\n throw new Error(`Controller ${uid} has already been registered.`);\n }\n\n controllers[uid] = controller;\n }\n\n return this;\n },\n\n /**\n * Wraps a controller to extend it\n */\n extend(controllerUID: UID.Controller, extendFn: ControllerExtendFn) {\n const currentController = this.get(controllerUID);\n\n if (!currentController) {\n throw new Error(`Controller ${controllerUID} doesn't exist`);\n }\n\n const newController = extendFn(currentController);\n instances[controllerUID] = newController;\n\n return this;\n },\n };\n};\n\nexport default controllersRegistry;\n"],"names":["controllersRegistry","strapi","controllers","instances","keys","Object","get","uid","controller","getAll","namespace","filteredControllers","pickBy","_","hasNamespace","map","defineProperty","enumerable","set","value","add","newControllers","controllerName","addNamespace","has","Error","extend","controllerUID","extendFn","currentController","newController"],"mappings":";;;AAWA,MAAMA,sBAAsB,CAACC,MAAAA,GAAAA;AAC3B,IAAA,MAAMC,cAAoC,EAAC;AAC3C,IAAA,MAAMC,YAA2B,EAAC;IAElC,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACF,WAAAA,CAAAA;AACrB,SAAA;AAEA;;AAEC,QACDI,KAAIC,GAAmB,EAAA;YACrB,IAAIJ,SAAS,CAACI,GAAAA,CAAI,EAAE;gBAClB,OAAOJ,SAAS,CAACI,GAAI,CAAA;AACvB;YAEA,MAAMC,UAAAA,GAAaN,WAAW,CAACK,GAAI,CAAA;AAEnC,YAAA,IAAIC,UAAY,EAAA;AACdL,gBAAAA,SAAS,CAACI,GAAI,CAAA,GAAG,OAAOC,UAAAA,KAAe,aAAaA,UAAW,CAAA;AAAEP,oBAAAA;iBAAYO,CAAAA,GAAAA,UAAAA;gBAC7E,OAAOL,SAAS,CAACI,GAAI,CAAA;AACvB;AACF,SAAA;AAEA;;AAEC,QACDE,QAAOC,SAAiB,EAAA;AACtB,YAAA,MAAMC,sBAAsBC,MAAO,CAAA,CAACC,GAAGN,GAAQO,GAAAA,YAAAA,CAAaP,KAAKG,SAAYR,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA;AAE7E,YAAA,MAAMa,MAAM,EAAC;AACb,YAAA,KAAK,MAAMR,GAAAA,IAAOF,MAAOD,CAAAA,IAAI,CAACO,mBAA0C,CAAA,CAAA;gBACtEN,MAAOW,CAAAA,cAAc,CAACD,GAAAA,EAAKR,GAAK,EAAA;oBAC9BU,UAAY,EAAA,IAAA;oBACZX,GAAK,EAAA,IAAA;wBACH,OAAO,IAAI,CAACA,GAAG,CAACC,GAAAA,CAAAA;AAClB;AACF,iBAAA,CAAA;AACF;YAEA,OAAOQ,GAAAA;AACT,SAAA;AAEA;;QAGAG,GAAAA,CAAAA,CAAIX,GAAmB,EAAEY,KAAwB,EAAA;YAC/CjB,WAAW,CAACK,IAAI,GAAGY,KAAAA;YACnB,OAAOhB,SAAS,CAACI,GAAI,CAAA;AACrB,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAa,GAAAA,CAAAA,CAAIV,SAAiB,EAAEW,cAAoC,EAAA;AACzD,YAAA,KAAK,MAAMC,cAAAA,IAAkBjB,MAAOD,CAAAA,IAAI,CAACiB,cAAqC,CAAA,CAAA;gBAC5E,MAAMb,UAAAA,GAAaa,cAAc,CAACC,cAAe,CAAA;gBACjD,MAAMf,GAAAA,GAAMgB,aAAaD,cAAgBZ,EAAAA,SAAAA,CAAAA;gBAEzC,IAAIc,GAAAA,CAAIjB,KAAKL,WAAc,CAAA,EAAA;AACzB,oBAAA,MAAM,IAAIuB,KAAM,CAAA,CAAC,WAAW,EAAElB,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AAClE;gBAEAL,WAAW,CAACK,IAAI,GAAGC,UAAAA;AACrB;AAEA,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAkB,MAAAA,CAAAA,CAAOC,aAA6B,EAAEC,QAA4B,EAAA;AAChE,YAAA,MAAMC,iBAAoB,GAAA,IAAI,CAACvB,GAAG,CAACqB,aAAAA,CAAAA;AAEnC,YAAA,IAAI,CAACE,iBAAmB,EAAA;AACtB,gBAAA,MAAM,IAAIJ,KAAM,CAAA,CAAC,WAAW,EAAEE,aAAAA,CAAc,cAAc,CAAC,CAAA;AAC7D;AAEA,YAAA,MAAMG,gBAAgBF,QAASC,CAAAA,iBAAAA,CAAAA;YAC/B1B,SAAS,CAACwB,cAAc,GAAGG,aAAAA;AAE3B,YAAA,OAAO,IAAI;AACb;AACF,KAAA;AACF;;;;"}
@@ -1,71 +1,81 @@
1
- "use strict";
2
- const fp = require("lodash/fp");
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+
3
5
  const ALLOWED_TYPES = [
4
- "biginteger",
5
- "boolean",
6
- "date",
7
- "datetime",
8
- "decimal",
9
- "email",
10
- "enumeration",
11
- "float",
12
- "integer",
13
- "json",
14
- "password",
15
- "richtext",
16
- "string",
17
- "text",
18
- "time",
19
- "uid"
6
+ 'biginteger',
7
+ 'boolean',
8
+ 'date',
9
+ 'datetime',
10
+ 'decimal',
11
+ 'email',
12
+ 'enumeration',
13
+ 'float',
14
+ 'integer',
15
+ 'json',
16
+ 'password',
17
+ 'richtext',
18
+ 'string',
19
+ 'text',
20
+ 'time',
21
+ 'uid'
20
22
  ];
21
- const customFieldsRegistry = (strapi) => {
22
- const customFields = {};
23
- return {
24
- getAll() {
25
- return customFields;
26
- },
27
- get(customField) {
28
- const registeredCustomField = customFields[customField];
29
- if (!registeredCustomField) {
30
- throw new Error(`Could not find Custom Field: ${customField}`);
31
- }
32
- return registeredCustomField;
33
- },
34
- add(customField) {
35
- const customFieldList = Array.isArray(customField) ? customField : [customField];
36
- for (const cf of customFieldList) {
37
- if (!fp.has("name", cf) || !fp.has("type", cf)) {
38
- throw new Error(`Custom fields require a 'name' and 'type' key`);
23
+ const customFieldsRegistry = (strapi)=>{
24
+ const customFields = {};
25
+ return {
26
+ getAll () {
27
+ return customFields;
28
+ },
29
+ get (customField) {
30
+ const registeredCustomField = customFields[customField];
31
+ if (!registeredCustomField) {
32
+ throw new Error(`Could not find Custom Field: ${customField}`);
33
+ }
34
+ return registeredCustomField;
35
+ },
36
+ add (customField) {
37
+ const customFieldList = Array.isArray(customField) ? customField : [
38
+ customField
39
+ ];
40
+ for (const cf of customFieldList){
41
+ if (!fp.has('name', cf) || !fp.has('type', cf)) {
42
+ throw new Error(`Custom fields require a 'name' and 'type' key`);
43
+ }
44
+ const { name, plugin, type, inputSize } = cf;
45
+ if (!ALLOWED_TYPES.includes(type)) {
46
+ throw new Error(`Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`);
47
+ }
48
+ const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;
49
+ if (!isValidObjectKey.test(name)) {
50
+ throw new Error(`Custom field name: '${name}' is not a valid object key`);
51
+ }
52
+ // Validate inputSize when provided
53
+ if (inputSize) {
54
+ if (!fp.isPlainObject(inputSize) || !fp.has('default', inputSize) || !fp.has('isResizable', inputSize)) {
55
+ throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);
56
+ }
57
+ if (![
58
+ 4,
59
+ 6,
60
+ 8,
61
+ 12
62
+ ].includes(inputSize.default)) {
63
+ throw new Error('Custom fields require a valid default input size');
64
+ }
65
+ if (typeof inputSize.isResizable !== 'boolean') {
66
+ throw new Error('Custom fields should specify if their input is resizable');
67
+ }
68
+ }
69
+ // When no plugin is specified, or it isn't found in Strapi, default to global
70
+ const uid = plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;
71
+ if (fp.has(uid, customFields)) {
72
+ throw new Error(`Custom field: '${uid}' has already been registered`);
73
+ }
74
+ customFields[uid] = cf;
75
+ }
39
76
  }
40
- const { name, plugin, type, inputSize } = cf;
41
- if (!ALLOWED_TYPES.includes(type)) {
42
- throw new Error(
43
- `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`
44
- );
45
- }
46
- const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;
47
- if (!isValidObjectKey.test(name)) {
48
- throw new Error(`Custom field name: '${name}' is not a valid object key`);
49
- }
50
- if (inputSize) {
51
- if (!fp.isPlainObject(inputSize) || !fp.has("default", inputSize) || !fp.has("isResizable", inputSize)) {
52
- throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);
53
- }
54
- if (![4, 6, 8, 12].includes(inputSize.default)) {
55
- throw new Error("Custom fields require a valid default input size");
56
- }
57
- if (typeof inputSize.isResizable !== "boolean") {
58
- throw new Error("Custom fields should specify if their input is resizable");
59
- }
60
- }
61
- const uid = plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;
62
- if (fp.has(uid, customFields)) {
63
- throw new Error(`Custom field: '${uid}' has already been registered`);
64
- }
65
- customFields[uid] = cf;
66
- }
67
- }
68
- };
77
+ };
69
78
  };
79
+
70
80
  module.exports = customFieldsRegistry;
71
81
  //# sourceMappingURL=custom-fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.js","sources":["../../src/registries/custom-fields.ts"],"sourcesContent":["import { has, isPlainObject } from 'lodash/fp';\n\nimport type { Core, Modules } from '@strapi/types';\n\nconst ALLOWED_TYPES = [\n 'biginteger',\n 'boolean',\n 'date',\n 'datetime',\n 'decimal',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'password',\n 'richtext',\n 'string',\n 'text',\n 'time',\n 'uid',\n] as const;\n\nconst customFieldsRegistry = (strapi: Core.Strapi) => {\n const customFields: Record<string, unknown> = {};\n\n return {\n getAll() {\n return customFields;\n },\n get(customField: string) {\n const registeredCustomField = customFields[customField];\n if (!registeredCustomField) {\n throw new Error(`Could not find Custom Field: ${customField}`);\n }\n\n return registeredCustomField;\n },\n add(\n customField:\n | Modules.CustomFields.CustomFieldServerOptions\n | Modules.CustomFields.CustomFieldServerOptions[]\n ) {\n const customFieldList = Array.isArray(customField) ? customField : [customField];\n\n for (const cf of customFieldList) {\n if (!has('name', cf) || !has('type', cf)) {\n throw new Error(`Custom fields require a 'name' and 'type' key`);\n }\n\n const { name, plugin, type, inputSize } = cf;\n if (!ALLOWED_TYPES.includes(type)) {\n throw new Error(\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n }\n\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n if (!isValidObjectKey.test(name)) {\n throw new Error(`Custom field name: '${name}' is not a valid object key`);\n }\n\n // Validate inputSize when provided\n if (inputSize) {\n if (\n !isPlainObject(inputSize) ||\n !has('default', inputSize) ||\n !has('isResizable', inputSize)\n ) {\n throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);\n }\n if (![4, 6, 8, 12].includes(inputSize.default)) {\n throw new Error('Custom fields require a valid default input size');\n }\n if (typeof inputSize.isResizable !== 'boolean') {\n throw new Error('Custom fields should specify if their input is resizable');\n }\n }\n\n // When no plugin is specified, or it isn't found in Strapi, default to global\n const uid =\n plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;\n\n if (has(uid, customFields)) {\n throw new Error(`Custom field: '${uid}' has already been registered`);\n }\n\n customFields[uid] = cf;\n }\n },\n };\n};\n\nexport default customFieldsRegistry;\n"],"names":["has","isPlainObject"],"mappings":";;AAIA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEM,MAAA,uBAAuB,CAAC,WAAwB;AACpD,QAAM,eAAwC,CAAA;AAEvC,SAAA;AAAA,IACL,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,aAAqB;AACjB,YAAA,wBAAwB,aAAa,WAAW;AACtD,UAAI,CAAC,uBAAuB;AAC1B,cAAM,IAAI,MAAM,gCAAgC,WAAW,EAAE;AAAA,MAC/D;AAEO,aAAA;AAAA,IACT;AAAA,IACA,IACE,aAGA;AACA,YAAM,kBAAkB,MAAM,QAAQ,WAAW,IAAI,cAAc,CAAC,WAAW;AAE/E,iBAAW,MAAM,iBAAiB;AAC5B,YAAA,CAACA,GAAAA,IAAI,QAAQ,EAAE,KAAK,CAACA,OAAI,QAAQ,EAAE,GAAG;AAClC,gBAAA,IAAI,MAAM,+CAA+C;AAAA,QACjE;AAEA,cAAM,EAAE,MAAM,QAAQ,MAAM,cAAc;AAC1C,YAAI,CAAC,cAAc,SAAS,IAAI,GAAG;AACjC,gBAAM,IAAI;AAAA,YACR,uBAAuB,IAAI;AAAA,UAAA;AAAA,QAE/B;AAEA,cAAM,mBAAmB;AACzB,YAAI,CAAC,iBAAiB,KAAK,IAAI,GAAG;AAChC,gBAAM,IAAI,MAAM,uBAAuB,IAAI,6BAA6B;AAAA,QAC1E;AAGA,YAAI,WAAW;AACb,cACE,CAACC,GAAA,cAAc,SAAS,KACxB,CAACD,GAAAA,IAAI,WAAW,SAAS,KACzB,CAACA,GAAAA,IAAI,eAAe,SAAS,GAC7B;AACM,kBAAA,IAAI,MAAM,qEAAqE;AAAA,UACvF;AACI,cAAA,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,SAAS,UAAU,OAAO,GAAG;AACxC,kBAAA,IAAI,MAAM,kDAAkD;AAAA,UACpE;AACI,cAAA,OAAO,UAAU,gBAAgB,WAAW;AACxC,kBAAA,IAAI,MAAM,0DAA0D;AAAA,UAC5E;AAAA,QACF;AAGA,cAAM,MACJ,UAAU,OAAO,OAAO,MAAM,IAAI,WAAW,MAAM,IAAI,IAAI,KAAK,WAAW,IAAI;AAE7E,YAAAA,GAAA,IAAI,KAAK,YAAY,GAAG;AAC1B,gBAAM,IAAI,MAAM,kBAAkB,GAAG,+BAA+B;AAAA,QACtE;AAEA,qBAAa,GAAG,IAAI;AAAA,MACtB;AAAA,IACF;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"custom-fields.js","sources":["../../src/registries/custom-fields.ts"],"sourcesContent":["import { has, isPlainObject } from 'lodash/fp';\n\nimport type { Core, Modules } from '@strapi/types';\n\nconst ALLOWED_TYPES = [\n 'biginteger',\n 'boolean',\n 'date',\n 'datetime',\n 'decimal',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'password',\n 'richtext',\n 'string',\n 'text',\n 'time',\n 'uid',\n] as const;\n\nconst customFieldsRegistry = (strapi: Core.Strapi) => {\n const customFields: Record<string, unknown> = {};\n\n return {\n getAll() {\n return customFields;\n },\n get(customField: string) {\n const registeredCustomField = customFields[customField];\n if (!registeredCustomField) {\n throw new Error(`Could not find Custom Field: ${customField}`);\n }\n\n return registeredCustomField;\n },\n add(\n customField:\n | Modules.CustomFields.CustomFieldServerOptions\n | Modules.CustomFields.CustomFieldServerOptions[]\n ) {\n const customFieldList = Array.isArray(customField) ? customField : [customField];\n\n for (const cf of customFieldList) {\n if (!has('name', cf) || !has('type', cf)) {\n throw new Error(`Custom fields require a 'name' and 'type' key`);\n }\n\n const { name, plugin, type, inputSize } = cf;\n if (!ALLOWED_TYPES.includes(type)) {\n throw new Error(\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n }\n\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n if (!isValidObjectKey.test(name)) {\n throw new Error(`Custom field name: '${name}' is not a valid object key`);\n }\n\n // Validate inputSize when provided\n if (inputSize) {\n if (\n !isPlainObject(inputSize) ||\n !has('default', inputSize) ||\n !has('isResizable', inputSize)\n ) {\n throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);\n }\n if (![4, 6, 8, 12].includes(inputSize.default)) {\n throw new Error('Custom fields require a valid default input size');\n }\n if (typeof inputSize.isResizable !== 'boolean') {\n throw new Error('Custom fields should specify if their input is resizable');\n }\n }\n\n // When no plugin is specified, or it isn't found in Strapi, default to global\n const uid =\n plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;\n\n if (has(uid, customFields)) {\n throw new Error(`Custom field: '${uid}' has already been registered`);\n }\n\n customFields[uid] = cf;\n }\n },\n };\n};\n\nexport default customFieldsRegistry;\n"],"names":["ALLOWED_TYPES","customFieldsRegistry","strapi","customFields","getAll","get","customField","registeredCustomField","Error","add","customFieldList","Array","isArray","cf","has","name","plugin","type","inputSize","includes","isValidObjectKey","test","isPlainObject","default","isResizable","uid"],"mappings":";;;;AAIA,MAAMA,aAAgB,GAAA;AACpB,IAAA,YAAA;AACA,IAAA,SAAA;AACA,IAAA,MAAA;AACA,IAAA,UAAA;AACA,IAAA,SAAA;AACA,IAAA,OAAA;AACA,IAAA,aAAA;AACA,IAAA,OAAA;AACA,IAAA,SAAA;AACA,IAAA,MAAA;AACA,IAAA,UAAA;AACA,IAAA,UAAA;AACA,IAAA,QAAA;AACA,IAAA,MAAA;AACA,IAAA,MAAA;AACA,IAAA;AACD,CAAA;AAED,MAAMC,uBAAuB,CAACC,MAAAA,GAAAA;AAC5B,IAAA,MAAMC,eAAwC,EAAC;IAE/C,OAAO;AACLC,QAAAA,MAAAA,CAAAA,GAAAA;YACE,OAAOD,YAAAA;AACT,SAAA;AACAE,QAAAA,GAAAA,CAAAA,CAAIC,WAAmB,EAAA;YACrB,MAAMC,qBAAAA,GAAwBJ,YAAY,CAACG,WAAY,CAAA;AACvD,YAAA,IAAI,CAACC,qBAAuB,EAAA;AAC1B,gBAAA,MAAM,IAAIC,KAAM,CAAA,CAAC,6BAA6B,EAAEF,YAAY,CAAC,CAAA;AAC/D;YAEA,OAAOC,qBAAAA;AACT,SAAA;AACAE,QAAAA,GAAAA,CAAAA,CACEH,WAEmD,EAAA;AAEnD,YAAA,MAAMI,eAAkBC,GAAAA,KAAAA,CAAMC,OAAO,CAACN,eAAeA,WAAc,GAAA;AAACA,gBAAAA;AAAY,aAAA;YAEhF,KAAK,MAAMO,MAAMH,eAAiB,CAAA;AAChC,gBAAA,IAAI,CAACI,MAAI,CAAA,MAAA,EAAQD,OAAO,CAACC,MAAAA,CAAI,QAAQD,EAAK,CAAA,EAAA;AACxC,oBAAA,MAAM,IAAIL,KAAAA,CAAM,CAAC,6CAA6C,CAAC,CAAA;AACjE;gBAEA,MAAM,EAAEO,IAAI,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGL,EAAAA;AAC1C,gBAAA,IAAI,CAACb,aAAAA,CAAcmB,QAAQ,CAACF,IAAO,CAAA,EAAA;AACjC,oBAAA,MAAM,IAAIT,KACR,CAAA,CAAC,oBAAoB,EAAES,IAAAA,CAAK,oEAAoE,CAAC,CAAA;AAErG;AAEA,gBAAA,MAAMG,gBAAmB,GAAA,6BAAA;AACzB,gBAAA,IAAI,CAACA,gBAAAA,CAAiBC,IAAI,CAACN,IAAO,CAAA,EAAA;AAChC,oBAAA,MAAM,IAAIP,KAAM,CAAA,CAAC,oBAAoB,EAAEO,IAAAA,CAAK,2BAA2B,CAAC,CAAA;AAC1E;;AAGA,gBAAA,IAAIG,SAAW,EAAA;oBACb,IACE,CAACI,gBAAcJ,CAAAA,SAAAA,CAAAA,IACf,CAACJ,MAAAA,CAAI,WAAWI,SAChB,CAAA,IAAA,CAACJ,MAAI,CAAA,aAAA,EAAeI,SACpB,CAAA,EAAA;AACA,wBAAA,MAAM,IAAIV,KAAAA,CAAM,CAAC,mEAAmE,CAAC,CAAA;AACvF;AACA,oBAAA,IAAI,CAAC;AAAC,wBAAA,CAAA;AAAG,wBAAA,CAAA;AAAG,wBAAA,CAAA;AAAG,wBAAA;AAAG,qBAAA,CAACW,QAAQ,CAACD,SAAUK,CAAAA,OAAO,CAAG,EAAA;AAC9C,wBAAA,MAAM,IAAIf,KAAM,CAAA,kDAAA,CAAA;AAClB;AACA,oBAAA,IAAI,OAAOU,SAAAA,CAAUM,WAAW,KAAK,SAAW,EAAA;AAC9C,wBAAA,MAAM,IAAIhB,KAAM,CAAA,0DAAA,CAAA;AAClB;AACF;;AAGA,gBAAA,MAAMiB,MACJT,MAAUd,IAAAA,MAAAA,CAAOc,MAAM,CAACA,MAAAA,CAAAA,GAAU,CAAC,QAAQ,EAAEA,OAAO,CAAC,EAAED,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAEA,KAAK,CAAC;gBAEnF,IAAID,MAAAA,CAAIW,KAAKtB,YAAe,CAAA,EAAA;AAC1B,oBAAA,MAAM,IAAIK,KAAM,CAAA,CAAC,eAAe,EAAEiB,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AACtE;gBAEAtB,YAAY,CAACsB,IAAI,GAAGZ,EAAAA;AACtB;AACF;AACF,KAAA;AACF;;;;"}