@strapi/core 0.0.0-experimental.74c69aeafc770d59d5b3d5d37cd249934ef395ba → 0.0.0-experimental.75b9c6babc2f67877cfc879041cfff9fb966e742

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

Potentially problematic release.


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

Files changed (744) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +3 -1
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/configuration/index.d.ts.map +1 -1
  5. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  6. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  7. package/dist/core-api/routes/index.d.ts.map +1 -1
  8. package/dist/core-api/service/collection-type.d.ts +3 -9
  9. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  10. package/dist/core-api/service/pagination.d.ts +4 -11
  11. package/dist/core-api/service/pagination.d.ts.map +1 -1
  12. package/dist/core-api/service/single-type.d.ts.map +1 -1
  13. package/dist/ee/index.d.ts.map +1 -1
  14. package/dist/ee/license.d.ts.map +1 -1
  15. package/dist/factories.d.ts +2 -2
  16. package/dist/factories.d.ts.map +1 -1
  17. package/dist/index.d.ts +14 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +9954 -27
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.mjs +9932 -29
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/loaders/apis.d.ts.map +1 -1
  24. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  25. package/dist/loaders/plugins/index.d.ts.map +1 -1
  26. package/dist/middlewares/body.d.ts.map +1 -1
  27. package/dist/middlewares/cors.d.ts.map +1 -1
  28. package/dist/middlewares/query.d.ts.map +1 -1
  29. package/dist/middlewares/security.d.ts.map +1 -1
  30. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  31. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  32. package/dist/migrations/draft-publish.d.ts +2 -2
  33. package/dist/migrations/draft-publish.d.ts.map +1 -1
  34. package/dist/migrations/i18n.d.ts +5 -0
  35. package/dist/migrations/i18n.d.ts.map +1 -0
  36. package/dist/migrations/index.d.ts +5 -0
  37. package/dist/migrations/index.d.ts.map +1 -0
  38. package/dist/providers/admin.d.ts.map +1 -1
  39. package/dist/providers/registries.d.ts.map +1 -1
  40. package/dist/registries/policies.d.ts +1 -1
  41. package/dist/registries/policies.d.ts.map +1 -1
  42. package/dist/services/content-api/index.d.ts +10 -12
  43. package/dist/services/content-api/index.d.ts.map +1 -1
  44. package/dist/services/content-api/permissions/index.d.ts +10 -12
  45. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  46. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  47. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  48. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  49. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  50. package/dist/services/core-store.d.ts.map +1 -1
  51. package/dist/services/cron.d.ts +3 -3
  52. package/dist/services/cron.d.ts.map +1 -1
  53. package/dist/services/document-service/attributes/index.d.ts +4 -4
  54. package/dist/services/document-service/attributes/index.d.ts.map +1 -1
  55. package/dist/services/document-service/common.d.ts +1 -1
  56. package/dist/services/document-service/common.d.ts.map +1 -1
  57. package/dist/services/document-service/components.d.ts +8 -80
  58. package/dist/services/document-service/components.d.ts.map +1 -1
  59. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  60. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  61. package/dist/services/document-service/entries.d.ts +5 -3
  62. package/dist/services/document-service/entries.d.ts.map +1 -1
  63. package/dist/services/document-service/events.d.ts +25 -0
  64. package/dist/services/document-service/events.d.ts.map +1 -0
  65. package/dist/services/document-service/index.d.ts +2 -1
  66. package/dist/services/document-service/index.d.ts.map +1 -1
  67. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  68. package/dist/services/document-service/middlewares/middleware-manager.d.ts +5 -2
  69. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -1
  70. package/dist/services/document-service/params.d.ts +1 -5
  71. package/dist/services/document-service/params.d.ts.map +1 -1
  72. package/dist/services/document-service/repository.d.ts.map +1 -1
  73. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  74. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  75. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  76. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  77. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  78. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  79. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  80. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  81. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  82. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  83. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  84. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  85. package/dist/services/document-service/utils/populate.d.ts +1 -1
  86. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  87. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  88. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  89. package/dist/services/entity-service/index.d.ts.map +1 -1
  90. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  91. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  92. package/dist/services/entity-validator/index.d.ts +15 -1
  93. package/dist/services/entity-validator/index.d.ts.map +1 -1
  94. package/dist/services/entity-validator/validators.d.ts +36 -25
  95. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  96. package/dist/services/event-hub.d.ts +1 -0
  97. package/dist/services/event-hub.d.ts.map +1 -1
  98. package/dist/services/metrics/middleware.d.ts.map +1 -1
  99. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  100. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  101. package/dist/services/server/koa.d.ts.map +1 -1
  102. package/dist/services/webhook-runner.d.ts +2 -1
  103. package/dist/services/webhook-runner.d.ts.map +1 -1
  104. package/dist/services/webhook-store.d.ts +2 -8
  105. package/dist/services/webhook-store.d.ts.map +1 -1
  106. package/dist/utils/fetch.d.ts.map +1 -1
  107. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  108. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  109. package/dist/utils/load-files.d.ts.map +1 -1
  110. package/dist/utils/startup-logger.d.ts.map +1 -1
  111. package/dist/utils/transform-content-types-to-models.d.ts +355 -23
  112. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  113. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  114. package/package.json +37 -34
  115. package/dist/Strapi.js +0 -387
  116. package/dist/Strapi.js.map +0 -1
  117. package/dist/Strapi.mjs +0 -385
  118. package/dist/Strapi.mjs.map +0 -1
  119. package/dist/compile.js +0 -18
  120. package/dist/compile.js.map +0 -1
  121. package/dist/compile.mjs +0 -17
  122. package/dist/compile.mjs.map +0 -1
  123. package/dist/configuration/config-loader.js +0 -106
  124. package/dist/configuration/config-loader.js.map +0 -1
  125. package/dist/configuration/config-loader.mjs +0 -104
  126. package/dist/configuration/config-loader.mjs.map +0 -1
  127. package/dist/configuration/get-dirs.js +0 -31
  128. package/dist/configuration/get-dirs.js.map +0 -1
  129. package/dist/configuration/get-dirs.mjs +0 -31
  130. package/dist/configuration/get-dirs.mjs.map +0 -1
  131. package/dist/configuration/index.js +0 -80
  132. package/dist/configuration/index.js.map +0 -1
  133. package/dist/configuration/index.mjs +0 -75
  134. package/dist/configuration/index.mjs.map +0 -1
  135. package/dist/configuration/urls.js +0 -68
  136. package/dist/configuration/urls.js.map +0 -1
  137. package/dist/configuration/urls.mjs +0 -66
  138. package/dist/configuration/urls.mjs.map +0 -1
  139. package/dist/container.js +0 -30
  140. package/dist/container.js.map +0 -1
  141. package/dist/container.mjs +0 -30
  142. package/dist/container.mjs.map +0 -1
  143. package/dist/core-api/controller/collection-type.js +0 -81
  144. package/dist/core-api/controller/collection-type.js.map +0 -1
  145. package/dist/core-api/controller/collection-type.mjs +0 -81
  146. package/dist/core-api/controller/collection-type.mjs.map +0 -1
  147. package/dist/core-api/controller/index.js +0 -52
  148. package/dist/core-api/controller/index.js.map +0 -1
  149. package/dist/core-api/controller/index.mjs +0 -52
  150. package/dist/core-api/controller/index.mjs.map +0 -1
  151. package/dist/core-api/controller/single-type.js +0 -45
  152. package/dist/core-api/controller/single-type.js.map +0 -1
  153. package/dist/core-api/controller/single-type.mjs +0 -45
  154. package/dist/core-api/controller/single-type.mjs.map +0 -1
  155. package/dist/core-api/controller/transform.js +0 -76
  156. package/dist/core-api/controller/transform.js.map +0 -1
  157. package/dist/core-api/controller/transform.mjs +0 -76
  158. package/dist/core-api/controller/transform.mjs.map +0 -1
  159. package/dist/core-api/routes/index.js +0 -67
  160. package/dist/core-api/routes/index.js.map +0 -1
  161. package/dist/core-api/routes/index.mjs +0 -67
  162. package/dist/core-api/routes/index.mjs.map +0 -1
  163. package/dist/core-api/service/collection-type.js +0 -65
  164. package/dist/core-api/service/collection-type.js.map +0 -1
  165. package/dist/core-api/service/collection-type.mjs +0 -65
  166. package/dist/core-api/service/collection-type.mjs.map +0 -1
  167. package/dist/core-api/service/core-service.js +0 -12
  168. package/dist/core-api/service/core-service.js.map +0 -1
  169. package/dist/core-api/service/core-service.mjs +0 -12
  170. package/dist/core-api/service/core-service.mjs.map +0 -1
  171. package/dist/core-api/service/index.js +0 -16
  172. package/dist/core-api/service/index.js.map +0 -1
  173. package/dist/core-api/service/index.mjs +0 -16
  174. package/dist/core-api/service/index.mjs.map +0 -1
  175. package/dist/core-api/service/pagination.js +0 -78
  176. package/dist/core-api/service/pagination.js.map +0 -1
  177. package/dist/core-api/service/pagination.mjs +0 -78
  178. package/dist/core-api/service/pagination.mjs.map +0 -1
  179. package/dist/core-api/service/single-type.js +0 -45
  180. package/dist/core-api/service/single-type.js.map +0 -1
  181. package/dist/core-api/service/single-type.mjs +0 -45
  182. package/dist/core-api/service/single-type.mjs.map +0 -1
  183. package/dist/domain/content-type/index.js +0 -111
  184. package/dist/domain/content-type/index.js.map +0 -1
  185. package/dist/domain/content-type/index.mjs +0 -109
  186. package/dist/domain/content-type/index.mjs.map +0 -1
  187. package/dist/domain/content-type/validator.js +0 -77
  188. package/dist/domain/content-type/validator.js.map +0 -1
  189. package/dist/domain/content-type/validator.mjs +0 -75
  190. package/dist/domain/content-type/validator.mjs.map +0 -1
  191. package/dist/domain/module/index.js +0 -107
  192. package/dist/domain/module/index.js.map +0 -1
  193. package/dist/domain/module/index.mjs +0 -105
  194. package/dist/domain/module/index.mjs.map +0 -1
  195. package/dist/domain/module/validation.js +0 -25
  196. package/dist/domain/module/validation.js.map +0 -1
  197. package/dist/domain/module/validation.mjs +0 -25
  198. package/dist/domain/module/validation.mjs.map +0 -1
  199. package/dist/ee/index.js +0 -153
  200. package/dist/ee/index.js.map +0 -1
  201. package/dist/ee/index.mjs +0 -154
  202. package/dist/ee/index.mjs.map +0 -1
  203. package/dist/ee/license.js +0 -90
  204. package/dist/ee/license.js.map +0 -1
  205. package/dist/ee/license.mjs +0 -87
  206. package/dist/ee/license.mjs.map +0 -1
  207. package/dist/factories.js +0 -80
  208. package/dist/factories.js.map +0 -1
  209. package/dist/factories.mjs +0 -80
  210. package/dist/factories.mjs.map +0 -1
  211. package/dist/loaders/admin.js +0 -26
  212. package/dist/loaders/admin.js.map +0 -1
  213. package/dist/loaders/admin.mjs +0 -25
  214. package/dist/loaders/admin.mjs.map +0 -1
  215. package/dist/loaders/apis.js +0 -137
  216. package/dist/loaders/apis.js.map +0 -1
  217. package/dist/loaders/apis.mjs +0 -135
  218. package/dist/loaders/apis.mjs.map +0 -1
  219. package/dist/loaders/components.js +0 -38
  220. package/dist/loaders/components.js.map +0 -1
  221. package/dist/loaders/components.mjs +0 -37
  222. package/dist/loaders/components.mjs.map +0 -1
  223. package/dist/loaders/index.js +0 -24
  224. package/dist/loaders/index.js.map +0 -1
  225. package/dist/loaders/index.mjs +0 -24
  226. package/dist/loaders/index.mjs.map +0 -1
  227. package/dist/loaders/middlewares.js +0 -31
  228. package/dist/loaders/middlewares.js.map +0 -1
  229. package/dist/loaders/middlewares.mjs +0 -30
  230. package/dist/loaders/middlewares.mjs.map +0 -1
  231. package/dist/loaders/plugins/get-enabled-plugins.js +0 -113
  232. package/dist/loaders/plugins/get-enabled-plugins.js.map +0 -1
  233. package/dist/loaders/plugins/get-enabled-plugins.mjs +0 -111
  234. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +0 -1
  235. package/dist/loaders/plugins/get-user-plugins-config.js +0 -27
  236. package/dist/loaders/plugins/get-user-plugins-config.js.map +0 -1
  237. package/dist/loaders/plugins/get-user-plugins-config.mjs +0 -25
  238. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +0 -1
  239. package/dist/loaders/plugins/index.js +0 -118
  240. package/dist/loaders/plugins/index.js.map +0 -1
  241. package/dist/loaders/plugins/index.mjs +0 -117
  242. package/dist/loaders/plugins/index.mjs.map +0 -1
  243. package/dist/loaders/policies.js +0 -25
  244. package/dist/loaders/policies.js.map +0 -1
  245. package/dist/loaders/policies.mjs +0 -24
  246. package/dist/loaders/policies.mjs.map +0 -1
  247. package/dist/loaders/sanitizers.js +0 -6
  248. package/dist/loaders/sanitizers.js.map +0 -1
  249. package/dist/loaders/sanitizers.mjs +0 -7
  250. package/dist/loaders/sanitizers.mjs.map +0 -1
  251. package/dist/loaders/src-index.js +0 -33
  252. package/dist/loaders/src-index.js.map +0 -1
  253. package/dist/loaders/src-index.mjs +0 -34
  254. package/dist/loaders/src-index.mjs.map +0 -1
  255. package/dist/loaders/validators.js +0 -6
  256. package/dist/loaders/validators.js.map +0 -1
  257. package/dist/loaders/validators.mjs +0 -7
  258. package/dist/loaders/validators.mjs.map +0 -1
  259. package/dist/middlewares/body.js +0 -65
  260. package/dist/middlewares/body.js.map +0 -1
  261. package/dist/middlewares/body.mjs +0 -61
  262. package/dist/middlewares/body.mjs.map +0 -1
  263. package/dist/middlewares/compression.js +0 -8
  264. package/dist/middlewares/compression.js.map +0 -1
  265. package/dist/middlewares/compression.mjs +0 -6
  266. package/dist/middlewares/compression.mjs.map +0 -1
  267. package/dist/middlewares/cors.js +0 -51
  268. package/dist/middlewares/cors.js.map +0 -1
  269. package/dist/middlewares/cors.mjs +0 -49
  270. package/dist/middlewares/cors.mjs.map +0 -1
  271. package/dist/middlewares/errors.js +0 -33
  272. package/dist/middlewares/errors.js.map +0 -1
  273. package/dist/middlewares/errors.mjs +0 -33
  274. package/dist/middlewares/errors.mjs.map +0 -1
  275. package/dist/middlewares/favicon.js +0 -22
  276. package/dist/middlewares/favicon.js.map +0 -1
  277. package/dist/middlewares/favicon.mjs +0 -20
  278. package/dist/middlewares/favicon.mjs.map +0 -1
  279. package/dist/middlewares/index.js +0 -34
  280. package/dist/middlewares/index.js.map +0 -1
  281. package/dist/middlewares/index.mjs +0 -34
  282. package/dist/middlewares/index.mjs.map +0 -1
  283. package/dist/middlewares/ip.js +0 -8
  284. package/dist/middlewares/ip.js.map +0 -1
  285. package/dist/middlewares/ip.mjs +0 -6
  286. package/dist/middlewares/ip.mjs.map +0 -1
  287. package/dist/middlewares/logger.js +0 -12
  288. package/dist/middlewares/logger.js.map +0 -1
  289. package/dist/middlewares/logger.mjs +0 -12
  290. package/dist/middlewares/logger.mjs.map +0 -1
  291. package/dist/middlewares/powered-by.js +0 -14
  292. package/dist/middlewares/powered-by.js.map +0 -1
  293. package/dist/middlewares/powered-by.mjs +0 -14
  294. package/dist/middlewares/powered-by.mjs.map +0 -1
  295. package/dist/middlewares/public.js +0 -34
  296. package/dist/middlewares/public.js.map +0 -1
  297. package/dist/middlewares/public.mjs +0 -32
  298. package/dist/middlewares/public.mjs.map +0 -1
  299. package/dist/middlewares/query.js +0 -40
  300. package/dist/middlewares/query.js.map +0 -1
  301. package/dist/middlewares/query.mjs +0 -38
  302. package/dist/middlewares/query.mjs.map +0 -1
  303. package/dist/middlewares/response-time.js +0 -12
  304. package/dist/middlewares/response-time.js.map +0 -1
  305. package/dist/middlewares/response-time.mjs +0 -12
  306. package/dist/middlewares/response-time.mjs.map +0 -1
  307. package/dist/middlewares/responses.js +0 -15
  308. package/dist/middlewares/responses.js.map +0 -1
  309. package/dist/middlewares/responses.mjs +0 -15
  310. package/dist/middlewares/responses.mjs.map +0 -1
  311. package/dist/middlewares/security.js +0 -71
  312. package/dist/middlewares/security.js.map +0 -1
  313. package/dist/middlewares/security.mjs +0 -69
  314. package/dist/middlewares/security.mjs.map +0 -1
  315. package/dist/middlewares/session.js +0 -30
  316. package/dist/middlewares/session.js.map +0 -1
  317. package/dist/middlewares/session.mjs +0 -28
  318. package/dist/middlewares/session.mjs.map +0 -1
  319. package/dist/migrations/draft-publish.js +0 -59
  320. package/dist/migrations/draft-publish.js.map +0 -1
  321. package/dist/migrations/draft-publish.mjs +0 -59
  322. package/dist/migrations/draft-publish.mjs.map +0 -1
  323. package/dist/providers/admin.js +0 -20
  324. package/dist/providers/admin.js.map +0 -1
  325. package/dist/providers/admin.mjs +0 -21
  326. package/dist/providers/admin.mjs.map +0 -1
  327. package/dist/providers/coreStore.js +0 -11
  328. package/dist/providers/coreStore.js.map +0 -1
  329. package/dist/providers/coreStore.mjs +0 -12
  330. package/dist/providers/coreStore.mjs.map +0 -1
  331. package/dist/providers/cron.js +0 -20
  332. package/dist/providers/cron.js.map +0 -1
  333. package/dist/providers/cron.mjs +0 -21
  334. package/dist/providers/cron.mjs.map +0 -1
  335. package/dist/providers/index.js +0 -11
  336. package/dist/providers/index.js.map +0 -1
  337. package/dist/providers/index.mjs +0 -11
  338. package/dist/providers/index.mjs.map +0 -1
  339. package/dist/providers/provider.js +0 -5
  340. package/dist/providers/provider.js.map +0 -1
  341. package/dist/providers/provider.mjs +0 -5
  342. package/dist/providers/provider.mjs.map +0 -1
  343. package/dist/providers/registries.js +0 -33
  344. package/dist/providers/registries.js.map +0 -1
  345. package/dist/providers/registries.mjs +0 -34
  346. package/dist/providers/registries.mjs.map +0 -1
  347. package/dist/providers/telemetry.js +0 -19
  348. package/dist/providers/telemetry.js.map +0 -1
  349. package/dist/providers/telemetry.mjs +0 -20
  350. package/dist/providers/telemetry.mjs.map +0 -1
  351. package/dist/providers/webhooks.js +0 -30
  352. package/dist/providers/webhooks.js.map +0 -1
  353. package/dist/providers/webhooks.mjs +0 -31
  354. package/dist/providers/webhooks.mjs.map +0 -1
  355. package/dist/registries/apis.js +0 -23
  356. package/dist/registries/apis.js.map +0 -1
  357. package/dist/registries/apis.mjs +0 -24
  358. package/dist/registries/apis.mjs.map +0 -1
  359. package/dist/registries/components.js +0 -45
  360. package/dist/registries/components.js.map +0 -1
  361. package/dist/registries/components.mjs +0 -46
  362. package/dist/registries/components.mjs.map +0 -1
  363. package/dist/registries/content-types.js +0 -70
  364. package/dist/registries/content-types.js.map +0 -1
  365. package/dist/registries/content-types.mjs +0 -71
  366. package/dist/registries/content-types.mjs.map +0 -1
  367. package/dist/registries/controllers.js +0 -80
  368. package/dist/registries/controllers.js.map +0 -1
  369. package/dist/registries/controllers.mjs +0 -81
  370. package/dist/registries/controllers.mjs.map +0 -1
  371. package/dist/registries/custom-fields.js +0 -71
  372. package/dist/registries/custom-fields.js.map +0 -1
  373. package/dist/registries/custom-fields.mjs +0 -72
  374. package/dist/registries/custom-fields.mjs.map +0 -1
  375. package/dist/registries/hooks.js +0 -58
  376. package/dist/registries/hooks.js.map +0 -1
  377. package/dist/registries/hooks.mjs +0 -59
  378. package/dist/registries/hooks.mjs.map +0 -1
  379. package/dist/registries/middlewares.js +0 -60
  380. package/dist/registries/middlewares.js.map +0 -1
  381. package/dist/registries/middlewares.mjs +0 -61
  382. package/dist/registries/middlewares.mjs.map +0 -1
  383. package/dist/registries/models.js +0 -16
  384. package/dist/registries/models.js.map +0 -1
  385. package/dist/registries/models.mjs +0 -16
  386. package/dist/registries/models.mjs.map +0 -1
  387. package/dist/registries/modules.js +0 -39
  388. package/dist/registries/modules.js.map +0 -1
  389. package/dist/registries/modules.mjs +0 -40
  390. package/dist/registries/modules.mjs.map +0 -1
  391. package/dist/registries/namespace.js +0 -27
  392. package/dist/registries/namespace.js.map +0 -1
  393. package/dist/registries/namespace.mjs +0 -27
  394. package/dist/registries/namespace.mjs.map +0 -1
  395. package/dist/registries/plugins.js +0 -23
  396. package/dist/registries/plugins.js.map +0 -1
  397. package/dist/registries/plugins.mjs +0 -24
  398. package/dist/registries/plugins.mjs.map +0 -1
  399. package/dist/registries/policies.js +0 -108
  400. package/dist/registries/policies.js.map +0 -1
  401. package/dist/registries/policies.mjs +0 -109
  402. package/dist/registries/policies.mjs.map +0 -1
  403. package/dist/registries/sanitizers.js +0 -25
  404. package/dist/registries/sanitizers.js.map +0 -1
  405. package/dist/registries/sanitizers.mjs +0 -24
  406. package/dist/registries/sanitizers.mjs.map +0 -1
  407. package/dist/registries/services.js +0 -80
  408. package/dist/registries/services.js.map +0 -1
  409. package/dist/registries/services.mjs +0 -81
  410. package/dist/registries/services.mjs.map +0 -1
  411. package/dist/registries/validators.js +0 -25
  412. package/dist/registries/validators.js.map +0 -1
  413. package/dist/registries/validators.mjs +0 -24
  414. package/dist/registries/validators.mjs.map +0 -1
  415. package/dist/services/auth/index.js +0 -81
  416. package/dist/services/auth/index.js.map +0 -1
  417. package/dist/services/auth/index.mjs +0 -80
  418. package/dist/services/auth/index.mjs.map +0 -1
  419. package/dist/services/config.js +0 -47
  420. package/dist/services/config.js.map +0 -1
  421. package/dist/services/config.mjs +0 -47
  422. package/dist/services/config.mjs.map +0 -1
  423. package/dist/services/content-api/index.js +0 -85
  424. package/dist/services/content-api/index.js.map +0 -1
  425. package/dist/services/content-api/index.mjs +0 -84
  426. package/dist/services/content-api/index.mjs.map +0 -1
  427. package/dist/services/content-api/permissions/engine.js +0 -7
  428. package/dist/services/content-api/permissions/engine.js.map +0 -1
  429. package/dist/services/content-api/permissions/engine.mjs +0 -6
  430. package/dist/services/content-api/permissions/engine.mjs.map +0 -1
  431. package/dist/services/content-api/permissions/index.js +0 -87
  432. package/dist/services/content-api/permissions/index.js.map +0 -1
  433. package/dist/services/content-api/permissions/index.mjs +0 -86
  434. package/dist/services/content-api/permissions/index.mjs.map +0 -1
  435. package/dist/services/content-api/permissions/providers/action.js +0 -16
  436. package/dist/services/content-api/permissions/providers/action.js.map +0 -1
  437. package/dist/services/content-api/permissions/providers/action.mjs +0 -17
  438. package/dist/services/content-api/permissions/providers/action.mjs.map +0 -1
  439. package/dist/services/content-api/permissions/providers/condition.js +0 -16
  440. package/dist/services/content-api/permissions/providers/condition.js.map +0 -1
  441. package/dist/services/content-api/permissions/providers/condition.mjs +0 -17
  442. package/dist/services/content-api/permissions/providers/condition.mjs.map +0 -1
  443. package/dist/services/core-store.js +0 -107
  444. package/dist/services/core-store.js.map +0 -1
  445. package/dist/services/core-store.mjs +0 -107
  446. package/dist/services/core-store.mjs.map +0 -1
  447. package/dist/services/cron.js +0 -63
  448. package/dist/services/cron.js.map +0 -1
  449. package/dist/services/cron.mjs +0 -64
  450. package/dist/services/cron.mjs.map +0 -1
  451. package/dist/services/custom-fields.js +0 -10
  452. package/dist/services/custom-fields.js.map +0 -1
  453. package/dist/services/custom-fields.mjs +0 -11
  454. package/dist/services/custom-fields.mjs.map +0 -1
  455. package/dist/services/document-service/attributes/index.js +0 -22
  456. package/dist/services/document-service/attributes/index.js.map +0 -1
  457. package/dist/services/document-service/attributes/index.mjs +0 -22
  458. package/dist/services/document-service/attributes/index.mjs.map +0 -1
  459. package/dist/services/document-service/attributes/transforms.js +0 -20
  460. package/dist/services/document-service/attributes/transforms.js.map +0 -1
  461. package/dist/services/document-service/attributes/transforms.mjs +0 -19
  462. package/dist/services/document-service/attributes/transforms.mjs.map +0 -1
  463. package/dist/services/document-service/common.js +0 -7
  464. package/dist/services/document-service/common.js.map +0 -1
  465. package/dist/services/document-service/common.mjs +0 -7
  466. package/dist/services/document-service/common.mjs.map +0 -1
  467. package/dist/services/document-service/components.js +0 -289
  468. package/dist/services/document-service/components.js.map +0 -1
  469. package/dist/services/document-service/components.mjs +0 -287
  470. package/dist/services/document-service/components.mjs.map +0 -1
  471. package/dist/services/document-service/document-engine.d.ts +0 -2
  472. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  473. package/dist/services/document-service/draft-and-publish.js +0 -69
  474. package/dist/services/document-service/draft-and-publish.js.map +0 -1
  475. package/dist/services/document-service/draft-and-publish.mjs +0 -69
  476. package/dist/services/document-service/draft-and-publish.mjs.map +0 -1
  477. package/dist/services/document-service/entries.js +0 -62
  478. package/dist/services/document-service/entries.js.map +0 -1
  479. package/dist/services/document-service/entries.mjs +0 -62
  480. package/dist/services/document-service/entries.mjs.map +0 -1
  481. package/dist/services/document-service/index.js +0 -28
  482. package/dist/services/document-service/index.js.map +0 -1
  483. package/dist/services/document-service/index.mjs +0 -28
  484. package/dist/services/document-service/index.mjs.map +0 -1
  485. package/dist/services/document-service/internationalization.js +0 -54
  486. package/dist/services/document-service/internationalization.js.map +0 -1
  487. package/dist/services/document-service/internationalization.mjs +0 -54
  488. package/dist/services/document-service/internationalization.mjs.map +0 -1
  489. package/dist/services/document-service/middlewares/errors.js +0 -25
  490. package/dist/services/document-service/middlewares/errors.js.map +0 -1
  491. package/dist/services/document-service/middlewares/errors.mjs +0 -25
  492. package/dist/services/document-service/middlewares/errors.mjs.map +0 -1
  493. package/dist/services/document-service/middlewares/middleware-manager.js +0 -46
  494. package/dist/services/document-service/middlewares/middleware-manager.js.map +0 -1
  495. package/dist/services/document-service/middlewares/middleware-manager.mjs +0 -46
  496. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +0 -1
  497. package/dist/services/document-service/params.js +0 -8
  498. package/dist/services/document-service/params.js.map +0 -1
  499. package/dist/services/document-service/params.mjs +0 -8
  500. package/dist/services/document-service/params.mjs.map +0 -1
  501. package/dist/services/document-service/repository.js +0 -276
  502. package/dist/services/document-service/repository.js.map +0 -1
  503. package/dist/services/document-service/repository.mjs +0 -276
  504. package/dist/services/document-service/repository.mjs.map +0 -1
  505. package/dist/services/document-service/transform/data.js +0 -15
  506. package/dist/services/document-service/transform/data.js.map +0 -1
  507. package/dist/services/document-service/transform/data.mjs +0 -15
  508. package/dist/services/document-service/transform/data.mjs.map +0 -1
  509. package/dist/services/document-service/transform/fields.js +0 -24
  510. package/dist/services/document-service/transform/fields.js.map +0 -1
  511. package/dist/services/document-service/transform/fields.mjs +0 -24
  512. package/dist/services/document-service/transform/fields.mjs.map +0 -1
  513. package/dist/services/document-service/transform/id-map.js +0 -78
  514. package/dist/services/document-service/transform/id-map.js.map +0 -1
  515. package/dist/services/document-service/transform/id-map.mjs +0 -78
  516. package/dist/services/document-service/transform/id-map.mjs.map +0 -1
  517. package/dist/services/document-service/transform/id-transform.js +0 -33
  518. package/dist/services/document-service/transform/id-transform.js.map +0 -1
  519. package/dist/services/document-service/transform/id-transform.mjs +0 -33
  520. package/dist/services/document-service/transform/id-transform.mjs.map +0 -1
  521. package/dist/services/document-service/transform/populate.js +0 -21
  522. package/dist/services/document-service/transform/populate.js.map +0 -1
  523. package/dist/services/document-service/transform/populate.mjs +0 -21
  524. package/dist/services/document-service/transform/populate.mjs.map +0 -1
  525. package/dist/services/document-service/transform/query.js +0 -9
  526. package/dist/services/document-service/transform/query.js.map +0 -1
  527. package/dist/services/document-service/transform/query.mjs +0 -9
  528. package/dist/services/document-service/transform/query.mjs.map +0 -1
  529. package/dist/services/document-service/transform/relations/extract/data-ids.js +0 -54
  530. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +0 -1
  531. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +0 -54
  532. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +0 -1
  533. package/dist/services/document-service/transform/relations/transform/data-ids.js +0 -73
  534. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +0 -1
  535. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +0 -73
  536. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +0 -1
  537. package/dist/services/document-service/transform/relations/transform/default-locale.js +0 -32
  538. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +0 -1
  539. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +0 -32
  540. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +0 -1
  541. package/dist/services/document-service/transform/relations/utils/dp.js +0 -30
  542. package/dist/services/document-service/transform/relations/utils/dp.js.map +0 -1
  543. package/dist/services/document-service/transform/relations/utils/dp.mjs +0 -30
  544. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +0 -1
  545. package/dist/services/document-service/transform/relations/utils/i18n.js +0 -25
  546. package/dist/services/document-service/transform/relations/utils/i18n.js.map +0 -1
  547. package/dist/services/document-service/transform/relations/utils/i18n.mjs +0 -25
  548. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +0 -1
  549. package/dist/services/document-service/transform/relations/utils/map-relation.js +0 -87
  550. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +0 -1
  551. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +0 -87
  552. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +0 -1
  553. package/dist/services/document-service/utils/populate.js +0 -41
  554. package/dist/services/document-service/utils/populate.js.map +0 -1
  555. package/dist/services/document-service/utils/populate.mjs +0 -41
  556. package/dist/services/document-service/utils/populate.mjs.map +0 -1
  557. package/dist/services/entity-service/index.js +0 -169
  558. package/dist/services/entity-service/index.js.map +0 -1
  559. package/dist/services/entity-service/index.mjs +0 -167
  560. package/dist/services/entity-service/index.mjs.map +0 -1
  561. package/dist/services/entity-validator/blocks-validator.js +0 -127
  562. package/dist/services/entity-validator/blocks-validator.js.map +0 -1
  563. package/dist/services/entity-validator/blocks-validator.mjs +0 -128
  564. package/dist/services/entity-validator/blocks-validator.mjs.map +0 -1
  565. package/dist/services/entity-validator/index.js +0 -333
  566. package/dist/services/entity-validator/index.js.map +0 -1
  567. package/dist/services/entity-validator/index.mjs +0 -332
  568. package/dist/services/entity-validator/index.mjs.map +0 -1
  569. package/dist/services/entity-validator/validators.js +0 -126
  570. package/dist/services/entity-validator/validators.js.map +0 -1
  571. package/dist/services/entity-validator/validators.mjs +0 -124
  572. package/dist/services/entity-validator/validators.mjs.map +0 -1
  573. package/dist/services/errors.js +0 -76
  574. package/dist/services/errors.js.map +0 -1
  575. package/dist/services/errors.mjs +0 -74
  576. package/dist/services/errors.mjs.map +0 -1
  577. package/dist/services/event-hub.js +0 -67
  578. package/dist/services/event-hub.js.map +0 -1
  579. package/dist/services/event-hub.mjs +0 -68
  580. package/dist/services/event-hub.mjs.map +0 -1
  581. package/dist/services/features.js +0 -17
  582. package/dist/services/features.js.map +0 -1
  583. package/dist/services/features.mjs +0 -17
  584. package/dist/services/features.mjs.map +0 -1
  585. package/dist/services/fs.js +0 -51
  586. package/dist/services/fs.js.map +0 -1
  587. package/dist/services/fs.mjs +0 -49
  588. package/dist/services/fs.mjs.map +0 -1
  589. package/dist/services/metrics/admin-user-hash.js +0 -14
  590. package/dist/services/metrics/admin-user-hash.js.map +0 -1
  591. package/dist/services/metrics/admin-user-hash.mjs +0 -12
  592. package/dist/services/metrics/admin-user-hash.mjs.map +0 -1
  593. package/dist/services/metrics/index.js +0 -45
  594. package/dist/services/metrics/index.js.map +0 -1
  595. package/dist/services/metrics/index.mjs +0 -46
  596. package/dist/services/metrics/index.mjs.map +0 -1
  597. package/dist/services/metrics/is-truthy.js +0 -9
  598. package/dist/services/metrics/is-truthy.js.map +0 -1
  599. package/dist/services/metrics/is-truthy.mjs +0 -8
  600. package/dist/services/metrics/is-truthy.mjs.map +0 -1
  601. package/dist/services/metrics/middleware.js +0 -25
  602. package/dist/services/metrics/middleware.js.map +0 -1
  603. package/dist/services/metrics/middleware.mjs +0 -26
  604. package/dist/services/metrics/middleware.mjs.map +0 -1
  605. package/dist/services/metrics/rate-limiter.js +0 -21
  606. package/dist/services/metrics/rate-limiter.js.map +0 -1
  607. package/dist/services/metrics/rate-limiter.mjs +0 -22
  608. package/dist/services/metrics/rate-limiter.mjs.map +0 -1
  609. package/dist/services/metrics/sender.js +0 -76
  610. package/dist/services/metrics/sender.js.map +0 -1
  611. package/dist/services/metrics/sender.mjs +0 -70
  612. package/dist/services/metrics/sender.mjs.map +0 -1
  613. package/dist/services/query-params.js +0 -12
  614. package/dist/services/query-params.js.map +0 -1
  615. package/dist/services/query-params.mjs +0 -13
  616. package/dist/services/query-params.mjs.map +0 -1
  617. package/dist/services/reloader.js +0 -36
  618. package/dist/services/reloader.js.map +0 -1
  619. package/dist/services/reloader.mjs +0 -36
  620. package/dist/services/reloader.mjs.map +0 -1
  621. package/dist/services/request-context.js +0 -13
  622. package/dist/services/request-context.js.map +0 -1
  623. package/dist/services/request-context.mjs +0 -14
  624. package/dist/services/request-context.mjs.map +0 -1
  625. package/dist/services/server/admin-api.js +0 -13
  626. package/dist/services/server/admin-api.js.map +0 -1
  627. package/dist/services/server/admin-api.mjs +0 -13
  628. package/dist/services/server/admin-api.mjs.map +0 -1
  629. package/dist/services/server/api.js +0 -30
  630. package/dist/services/server/api.js.map +0 -1
  631. package/dist/services/server/api.mjs +0 -28
  632. package/dist/services/server/api.mjs.map +0 -1
  633. package/dist/services/server/compose-endpoint.js +0 -117
  634. package/dist/services/server/compose-endpoint.js.map +0 -1
  635. package/dist/services/server/compose-endpoint.mjs +0 -116
  636. package/dist/services/server/compose-endpoint.mjs.map +0 -1
  637. package/dist/services/server/content-api.js +0 -12
  638. package/dist/services/server/content-api.js.map +0 -1
  639. package/dist/services/server/content-api.mjs +0 -12
  640. package/dist/services/server/content-api.mjs.map +0 -1
  641. package/dist/services/server/http-server.js +0 -50
  642. package/dist/services/server/http-server.js.map +0 -1
  643. package/dist/services/server/http-server.mjs +0 -48
  644. package/dist/services/server/http-server.mjs.map +0 -1
  645. package/dist/services/server/index.js +0 -87
  646. package/dist/services/server/index.js.map +0 -1
  647. package/dist/services/server/index.mjs +0 -85
  648. package/dist/services/server/index.mjs.map +0 -1
  649. package/dist/services/server/koa.js +0 -52
  650. package/dist/services/server/koa.js.map +0 -1
  651. package/dist/services/server/koa.mjs +0 -48
  652. package/dist/services/server/koa.mjs.map +0 -1
  653. package/dist/services/server/middleware.js +0 -92
  654. package/dist/services/server/middleware.js.map +0 -1
  655. package/dist/services/server/middleware.mjs +0 -90
  656. package/dist/services/server/middleware.mjs.map +0 -1
  657. package/dist/services/server/policy.js +0 -20
  658. package/dist/services/server/policy.js.map +0 -1
  659. package/dist/services/server/policy.mjs +0 -20
  660. package/dist/services/server/policy.mjs.map +0 -1
  661. package/dist/services/server/register-middlewares.js +0 -72
  662. package/dist/services/server/register-middlewares.js.map +0 -1
  663. package/dist/services/server/register-middlewares.mjs +0 -73
  664. package/dist/services/server/register-middlewares.mjs.map +0 -1
  665. package/dist/services/server/register-routes.js +0 -76
  666. package/dist/services/server/register-routes.js.map +0 -1
  667. package/dist/services/server/register-routes.mjs +0 -75
  668. package/dist/services/server/register-routes.mjs.map +0 -1
  669. package/dist/services/server/routing.js +0 -91
  670. package/dist/services/server/routing.js.map +0 -1
  671. package/dist/services/server/routing.mjs +0 -89
  672. package/dist/services/server/routing.mjs.map +0 -1
  673. package/dist/services/utils/dynamic-zones.js +0 -17
  674. package/dist/services/utils/dynamic-zones.js.map +0 -1
  675. package/dist/services/utils/dynamic-zones.mjs +0 -18
  676. package/dist/services/utils/dynamic-zones.mjs.map +0 -1
  677. package/dist/services/webhook-runner.js +0 -133
  678. package/dist/services/webhook-runner.js.map +0 -1
  679. package/dist/services/webhook-runner.mjs +0 -131
  680. package/dist/services/webhook-runner.mjs.map +0 -1
  681. package/dist/services/webhook-store.js +0 -103
  682. package/dist/services/webhook-store.js.map +0 -1
  683. package/dist/services/webhook-store.mjs +0 -103
  684. package/dist/services/webhook-store.mjs.map +0 -1
  685. package/dist/services/worker-queue.js +0 -56
  686. package/dist/services/worker-queue.js.map +0 -1
  687. package/dist/services/worker-queue.mjs +0 -55
  688. package/dist/services/worker-queue.mjs.map +0 -1
  689. package/dist/utils/convert-custom-field-type.js +0 -24
  690. package/dist/utils/convert-custom-field-type.js.map +0 -1
  691. package/dist/utils/convert-custom-field-type.mjs +0 -24
  692. package/dist/utils/convert-custom-field-type.mjs.map +0 -1
  693. package/dist/utils/cron.js +0 -38
  694. package/dist/utils/cron.js.map +0 -1
  695. package/dist/utils/cron.mjs +0 -38
  696. package/dist/utils/cron.mjs.map +0 -1
  697. package/dist/utils/fetch.js +0 -20
  698. package/dist/utils/fetch.js.map +0 -1
  699. package/dist/utils/fetch.mjs +0 -20
  700. package/dist/utils/fetch.mjs.map +0 -1
  701. package/dist/utils/filepath-to-prop-path.js +0 -12
  702. package/dist/utils/filepath-to-prop-path.js.map +0 -1
  703. package/dist/utils/filepath-to-prop-path.mjs +0 -10
  704. package/dist/utils/filepath-to-prop-path.mjs.map +0 -1
  705. package/dist/utils/is-initialized.js +0 -16
  706. package/dist/utils/is-initialized.js.map +0 -1
  707. package/dist/utils/is-initialized.mjs +0 -16
  708. package/dist/utils/is-initialized.mjs.map +0 -1
  709. package/dist/utils/lifecycles.js +0 -9
  710. package/dist/utils/lifecycles.js.map +0 -1
  711. package/dist/utils/lifecycles.mjs +0 -9
  712. package/dist/utils/lifecycles.mjs.map +0 -1
  713. package/dist/utils/load-config-file.js +0 -45
  714. package/dist/utils/load-config-file.js.map +0 -1
  715. package/dist/utils/load-config-file.mjs +0 -42
  716. package/dist/utils/load-config-file.mjs.map +0 -1
  717. package/dist/utils/load-files.js +0 -39
  718. package/dist/utils/load-files.js.map +0 -1
  719. package/dist/utils/load-files.mjs +0 -35
  720. package/dist/utils/load-files.mjs.map +0 -1
  721. package/dist/utils/open-browser.js +0 -11
  722. package/dist/utils/open-browser.js.map +0 -1
  723. package/dist/utils/open-browser.mjs +0 -9
  724. package/dist/utils/open-browser.mjs.map +0 -1
  725. package/dist/utils/resolve-working-dirs.js +0 -13
  726. package/dist/utils/resolve-working-dirs.js.map +0 -1
  727. package/dist/utils/resolve-working-dirs.mjs +0 -11
  728. package/dist/utils/resolve-working-dirs.mjs.map +0 -1
  729. package/dist/utils/signals.js +0 -17
  730. package/dist/utils/signals.js.map +0 -1
  731. package/dist/utils/signals.mjs +0 -17
  732. package/dist/utils/signals.mjs.map +0 -1
  733. package/dist/utils/startup-logger.js +0 -81
  734. package/dist/utils/startup-logger.js.map +0 -1
  735. package/dist/utils/startup-logger.mjs +0 -77
  736. package/dist/utils/startup-logger.mjs.map +0 -1
  737. package/dist/utils/transform-content-types-to-models.js +0 -275
  738. package/dist/utils/transform-content-types-to-models.js.map +0 -1
  739. package/dist/utils/transform-content-types-to-models.mjs +0 -272
  740. package/dist/utils/transform-content-types-to-models.mjs.map +0 -1
  741. package/dist/utils/update-notifier/index.js +0 -85
  742. package/dist/utils/update-notifier/index.js.map +0 -1
  743. package/dist/utils/update-notifier/index.mjs +0 -78
  744. package/dist/utils/update-notifier/index.mjs.map +0 -1
@@ -1,45 +0,0 @@
1
- import { CoreService } from "./core-service.mjs";
2
- class SingleTypeService extends CoreService {
3
- contentType;
4
- constructor(contentType) {
5
- super();
6
- this.contentType = contentType;
7
- }
8
- async getDocumentId() {
9
- const { uid } = this.contentType;
10
- return strapi.db.query(uid).findOne().then((document) => document?.documentId);
11
- }
12
- async find(params = {}) {
13
- const { uid } = this.contentType;
14
- return strapi.documents(uid).findFirst(this.getFetchParams(params));
15
- }
16
- async createOrUpdate(params = {}) {
17
- const { uid } = this.contentType;
18
- const documentId = await this.getDocumentId();
19
- if (documentId) {
20
- return strapi.documents(uid).update({
21
- ...this.getFetchParams(params),
22
- documentId
23
- });
24
- }
25
- return strapi.documents(uid).create(this.getFetchParams(params));
26
- }
27
- async delete(params = {}) {
28
- const { uid } = this.contentType;
29
- const documentId = await this.getDocumentId();
30
- if (!documentId)
31
- return { deletedEntries: 0 };
32
- return strapi.documents(uid).delete({
33
- ...this.getFetchParams(params),
34
- documentId
35
- });
36
- }
37
- }
38
- const createSingleTypeService = (contentType) => {
39
- return new SingleTypeService(contentType);
40
- };
41
- export {
42
- SingleTypeService,
43
- createSingleTypeService
44
- };
45
- //# sourceMappingURL=single-type.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"single-type.mjs","sources":["../../../src/core-api/service/single-type.ts"],"sourcesContent":["import type { Struct, Core } from '@strapi/types';\nimport { CoreService } from './core-service';\n\nexport class SingleTypeService extends CoreService implements Core.CoreAPI.Service.SingleType {\n private contentType: Struct.SingleTypeSchema;\n\n constructor(contentType: Struct.SingleTypeSchema) {\n super();\n\n this.contentType = contentType;\n }\n\n async getDocumentId() {\n const { uid } = this.contentType;\n\n return strapi.db\n .query(uid)\n .findOne()\n .then((document) => document?.documentId as string);\n }\n\n async find(params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).findFirst(this.getFetchParams(params));\n }\n\n async createOrUpdate(params = {}) {\n const { uid } = this.contentType;\n\n const documentId = await this.getDocumentId();\n\n if (documentId) {\n return strapi.documents(uid).update({\n ...this.getFetchParams(params),\n documentId,\n });\n }\n\n return strapi.documents(uid).create(this.getFetchParams(params));\n }\n\n async delete(params = {}) {\n const { uid } = this.contentType;\n\n const documentId = await this.getDocumentId();\n if (!documentId) return { deletedEntries: 0 };\n\n return strapi.documents(uid).delete({\n ...this.getFetchParams(params),\n documentId,\n });\n }\n}\n\nconst createSingleTypeService = (\n contentType: Struct.SingleTypeSchema\n): Core.CoreAPI.Service.SingleType => {\n return new SingleTypeService(contentType);\n};\n\nexport { createSingleTypeService };\n"],"names":[],"mappings":";AAGO,MAAM,0BAA0B,YAAuD;AAAA,EACpF;AAAA,EAER,YAAY,aAAsC;AAC1C;AAEN,SAAK,cAAc;AAAA,EACrB;AAAA,EAEA,MAAM,gBAAgB;AACd,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,GACX,MAAM,GAAG,EACT,UACA,KAAK,CAAC,aAAa,UAAU,UAAoB;AAAA,EACtD;AAAA,EAEA,MAAM,KAAK,SAAS,IAAI;AAChB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,UAAU,KAAK,eAAe,MAAM,CAAC;AAAA,EACpE;AAAA,EAEA,MAAM,eAAe,SAAS,IAAI;AAC1B,UAAA,EAAE,IAAI,IAAI,KAAK;AAEf,UAAA,aAAa,MAAM,KAAK;AAE9B,QAAI,YAAY;AACd,aAAO,OAAO,UAAU,GAAG,EAAE,OAAO;AAAA,QAClC,GAAG,KAAK,eAAe,MAAM;AAAA,QAC7B;AAAA,MAAA,CACD;AAAA,IACH;AAEO,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACjE;AAAA,EAEA,MAAM,OAAO,SAAS,IAAI;AAClB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEf,UAAA,aAAa,MAAM,KAAK;AAC9B,QAAI,CAAC;AAAmB,aAAA,EAAE,gBAAgB;AAE1C,WAAO,OAAO,UAAU,GAAG,EAAE,OAAO;AAAA,MAClC,GAAG,KAAK,eAAe,MAAM;AAAA,MAC7B;AAAA,IAAA,CACD;AAAA,EACH;AACF;AAEM,MAAA,0BAA0B,CAC9B,gBACoC;AAC7B,SAAA,IAAI,kBAAkB,WAAW;AAC1C;"}
@@ -1,111 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
4
- const _$1 = require("lodash");
5
- const strapiUtils = require("@strapi/utils");
6
- const validator = require("./validator.js");
7
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
8
- const ___default = /* @__PURE__ */ _interopDefault(_$1);
9
- const {
10
- CREATED_AT_ATTRIBUTE,
11
- UPDATED_AT_ATTRIBUTE,
12
- PUBLISHED_AT_ATTRIBUTE,
13
- CREATED_BY_ATTRIBUTE,
14
- UPDATED_BY_ATTRIBUTE
15
- } = strapiUtils.contentTypes.constants;
16
- const createContentType = (uid, definition) => {
17
- try {
18
- validator.validateContentTypeDefinition(definition);
19
- } catch (e) {
20
- if (e instanceof strapiUtils.yup.ValidationError) {
21
- throw new Error(`Content Type Definition is invalid for ${uid}'.
22
- ${e.errors}`);
23
- }
24
- throw e;
25
- }
26
- const { schema, actions, lifecycles } = _.cloneDeep(definition);
27
- Object.assign(schema, {
28
- uid,
29
- modelType: "contentType",
30
- kind: schema.kind || "collectionType",
31
- __schema__: pickSchema(definition.schema),
32
- modelName: definition.schema.info.singularName,
33
- actions,
34
- lifecycles
35
- });
36
- addTimestamps(schema);
37
- addDraftAndPublish(schema);
38
- addCreatorFields(schema);
39
- return schema;
40
- };
41
- const addTimestamps = (schema) => {
42
- Object.assign(schema.attributes, {
43
- [CREATED_AT_ATTRIBUTE]: {
44
- type: "datetime"
45
- },
46
- // TODO: handle on edit set to new date
47
- [UPDATED_AT_ATTRIBUTE]: {
48
- type: "datetime"
49
- }
50
- });
51
- };
52
- const addDraftAndPublish = (schema) => {
53
- if (!___default.default.has(schema, "options.draftAndPublish")) {
54
- ___default.default.set(schema, "options.draftAndPublish", false);
55
- }
56
- schema.attributes[PUBLISHED_AT_ATTRIBUTE] = {
57
- type: "datetime",
58
- configurable: false,
59
- writable: true,
60
- visible: false,
61
- default() {
62
- return /* @__PURE__ */ new Date();
63
- }
64
- };
65
- };
66
- const addCreatorFields = (schema) => {
67
- const isPrivate = !___default.default.get(schema, "options.populateCreatorFields", false);
68
- schema.attributes[CREATED_BY_ATTRIBUTE] = {
69
- type: "relation",
70
- relation: "oneToOne",
71
- target: "admin::user",
72
- configurable: false,
73
- writable: false,
74
- visible: false,
75
- useJoinTable: false,
76
- private: isPrivate
77
- };
78
- schema.attributes[UPDATED_BY_ATTRIBUTE] = {
79
- type: "relation",
80
- relation: "oneToOne",
81
- target: "admin::user",
82
- configurable: false,
83
- writable: false,
84
- visible: false,
85
- useJoinTable: false,
86
- private: isPrivate
87
- };
88
- };
89
- const getGlobalId = (schema, prefix) => {
90
- const modelName = schema.info.singularName;
91
- const globalId = prefix ? `${prefix}-${modelName}` : modelName;
92
- return schema.globalId || ___default.default.upperFirst(___default.default.camelCase(globalId));
93
- };
94
- const pickSchema = (model) => {
95
- const schema = ___default.default.cloneDeep(
96
- ___default.default.pick(model, [
97
- "connection",
98
- "collectionName",
99
- "info",
100
- "options",
101
- "pluginOptions",
102
- "attributes",
103
- "kind"
104
- ])
105
- );
106
- schema.kind = model.kind || "collectionType";
107
- return schema;
108
- };
109
- exports.createContentType = createContentType;
110
- exports.getGlobalId = getGlobalId;
111
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/domain/content-type/index.ts"],"sourcesContent":["import { cloneDeep } from 'lodash/fp';\nimport _ from 'lodash';\nimport { yup, contentTypes as contentTypesUtils } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\nimport { validateContentTypeDefinition } from './validator';\n\nexport type ContentTypeDefinition = {\n schema: Schema.ContentType;\n actions: Record<string, unknown>;\n lifecycles: Record<string, unknown>;\n};\n\nconst {\n CREATED_AT_ATTRIBUTE,\n UPDATED_AT_ATTRIBUTE,\n PUBLISHED_AT_ATTRIBUTE,\n CREATED_BY_ATTRIBUTE,\n UPDATED_BY_ATTRIBUTE,\n} = contentTypesUtils.constants;\n\nconst createContentType = (uid: string, definition: ContentTypeDefinition) => {\n try {\n validateContentTypeDefinition(definition);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n throw new Error(`Content Type Definition is invalid for ${uid}'.\\n${e.errors}`);\n }\n\n throw e;\n }\n\n const { schema, actions, lifecycles } = cloneDeep(definition);\n\n // general info\n Object.assign(schema, {\n uid,\n modelType: 'contentType',\n kind: schema.kind || 'collectionType',\n __schema__: pickSchema(definition.schema),\n modelName: definition.schema.info.singularName,\n actions,\n lifecycles,\n });\n\n addTimestamps(schema);\n\n // Published at is added regardless of draft and publish being enabled\n // In case it is not enabled, value will be always published, and it will not contain a draft\n addDraftAndPublish(schema);\n\n addCreatorFields(schema);\n\n return schema;\n};\n\nconst addTimestamps = (schema: Schema.ContentType) => {\n // attributes\n Object.assign(schema.attributes, {\n [CREATED_AT_ATTRIBUTE]: {\n type: 'datetime',\n },\n // TODO: handle on edit set to new date\n [UPDATED_AT_ATTRIBUTE]: {\n type: 'datetime',\n },\n });\n};\n\nconst addDraftAndPublish = (schema: Schema.ContentType) => {\n if (!_.has(schema, 'options.draftAndPublish')) {\n _.set(schema, 'options.draftAndPublish', false); // Disabled by default\n }\n\n schema.attributes[PUBLISHED_AT_ATTRIBUTE] = {\n type: 'datetime',\n configurable: false,\n writable: true,\n visible: false,\n default() {\n return new Date();\n },\n };\n};\n\nconst addCreatorFields = (schema: Schema.ContentType) => {\n const isPrivate = !_.get(schema, 'options.populateCreatorFields', false);\n\n schema.attributes[CREATED_BY_ATTRIBUTE] = {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n configurable: false,\n writable: false,\n visible: false,\n useJoinTable: false,\n private: isPrivate,\n };\n\n schema.attributes[UPDATED_BY_ATTRIBUTE] = {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n configurable: false,\n writable: false,\n visible: false,\n useJoinTable: false,\n private: isPrivate,\n };\n};\n\nconst getGlobalId = (schema: Schema.ContentType, prefix?: string) => {\n const modelName = schema.info.singularName;\n const globalId = prefix ? `${prefix}-${modelName}` : modelName;\n\n return schema.globalId || _.upperFirst(_.camelCase(globalId));\n};\n\nconst pickSchema = (model: Schema.ContentType) => {\n const schema = _.cloneDeep(\n _.pick(model, [\n 'connection',\n 'collectionName',\n 'info',\n 'options',\n 'pluginOptions',\n 'attributes',\n 'kind',\n ])\n );\n\n schema.kind = model.kind || 'collectionType';\n return schema;\n};\n\nexport { createContentType, getGlobalId };\n"],"names":["contentTypesUtils","validateContentTypeDefinition","yup","cloneDeep","_"],"mappings":";;;;;;;;AAYA,MAAM;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAIA,YAAAA,aAAkB;AAEhB,MAAA,oBAAoB,CAAC,KAAa,eAAsC;AACxE,MAAA;AACFC,cAAA,8BAA8B,UAAU;AAAA,WACjC,GAAG;AACN,QAAA,aAAaC,gBAAI,iBAAiB;AAC9B,YAAA,IAAI,MAAM,0CAA0C,GAAG;AAAA,EAAO,EAAE,MAAM,EAAE;AAAA,IAChF;AAEM,UAAA;AAAA,EACR;AAEA,QAAM,EAAE,QAAQ,SAAS,WAAW,IAAIC,EAAAA,UAAU,UAAU;AAG5D,SAAO,OAAO,QAAQ;AAAA,IACpB;AAAA,IACA,WAAW;AAAA,IACX,MAAM,OAAO,QAAQ;AAAA,IACrB,YAAY,WAAW,WAAW,MAAM;AAAA,IACxC,WAAW,WAAW,OAAO,KAAK;AAAA,IAClC;AAAA,IACA;AAAA,EAAA,CACD;AAED,gBAAc,MAAM;AAIpB,qBAAmB,MAAM;AAEzB,mBAAiB,MAAM;AAEhB,SAAA;AACT;AAEA,MAAM,gBAAgB,CAAC,WAA+B;AAE7C,SAAA,OAAO,OAAO,YAAY;AAAA,IAC/B,CAAC,oBAAoB,GAAG;AAAA,MACtB,MAAM;AAAA,IACR;AAAA;AAAA,IAEA,CAAC,oBAAoB,GAAG;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,EAAA,CACD;AACH;AAEA,MAAM,qBAAqB,CAAC,WAA+B;AACzD,MAAI,CAACC,WAAAA,QAAE,IAAI,QAAQ,yBAAyB,GAAG;AAC3CA,eAAAA,QAAA,IAAI,QAAQ,2BAA2B,KAAK;AAAA,EAChD;AAEO,SAAA,WAAW,sBAAsB,IAAI;AAAA,IAC1C,MAAM;AAAA,IACN,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,UAAU;AACR,iCAAW,KAAK;AAAA,IAClB;AAAA,EAAA;AAEJ;AAEA,MAAM,mBAAmB,CAAC,WAA+B;AACvD,QAAM,YAAY,CAACA,mBAAE,IAAI,QAAQ,iCAAiC,KAAK;AAEhE,SAAA,WAAW,oBAAoB,IAAI;AAAA,IACxC,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,EAAA;AAGJ,SAAA,WAAW,oBAAoB,IAAI;AAAA,IACxC,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,EAAA;AAEb;AAEM,MAAA,cAAc,CAAC,QAA4B,WAAoB;AAC7D,QAAA,YAAY,OAAO,KAAK;AAC9B,QAAM,WAAW,SAAS,GAAG,MAAM,IAAI,SAAS,KAAK;AAErD,SAAO,OAAO,YAAYA,mBAAE,WAAWA,WAAAA,QAAE,UAAU,QAAQ,CAAC;AAC9D;AAEA,MAAM,aAAa,CAAC,UAA8B;AAChD,QAAM,SAASA,WAAAA,QAAE;AAAA,IACfA,WAAA,QAAE,KAAK,OAAO;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAAA,EAAA;AAGI,SAAA,OAAO,MAAM,QAAQ;AACrB,SAAA;AACT;;;"}
@@ -1,109 +0,0 @@
1
- import { cloneDeep } from "lodash/fp";
2
- import _ from "lodash";
3
- import { contentTypes, yup } from "@strapi/utils";
4
- import { validateContentTypeDefinition } from "./validator.mjs";
5
- const {
6
- CREATED_AT_ATTRIBUTE,
7
- UPDATED_AT_ATTRIBUTE,
8
- PUBLISHED_AT_ATTRIBUTE,
9
- CREATED_BY_ATTRIBUTE,
10
- UPDATED_BY_ATTRIBUTE
11
- } = contentTypes.constants;
12
- const createContentType = (uid, definition) => {
13
- try {
14
- validateContentTypeDefinition(definition);
15
- } catch (e) {
16
- if (e instanceof yup.ValidationError) {
17
- throw new Error(`Content Type Definition is invalid for ${uid}'.
18
- ${e.errors}`);
19
- }
20
- throw e;
21
- }
22
- const { schema, actions, lifecycles } = cloneDeep(definition);
23
- Object.assign(schema, {
24
- uid,
25
- modelType: "contentType",
26
- kind: schema.kind || "collectionType",
27
- __schema__: pickSchema(definition.schema),
28
- modelName: definition.schema.info.singularName,
29
- actions,
30
- lifecycles
31
- });
32
- addTimestamps(schema);
33
- addDraftAndPublish(schema);
34
- addCreatorFields(schema);
35
- return schema;
36
- };
37
- const addTimestamps = (schema) => {
38
- Object.assign(schema.attributes, {
39
- [CREATED_AT_ATTRIBUTE]: {
40
- type: "datetime"
41
- },
42
- // TODO: handle on edit set to new date
43
- [UPDATED_AT_ATTRIBUTE]: {
44
- type: "datetime"
45
- }
46
- });
47
- };
48
- const addDraftAndPublish = (schema) => {
49
- if (!_.has(schema, "options.draftAndPublish")) {
50
- _.set(schema, "options.draftAndPublish", false);
51
- }
52
- schema.attributes[PUBLISHED_AT_ATTRIBUTE] = {
53
- type: "datetime",
54
- configurable: false,
55
- writable: true,
56
- visible: false,
57
- default() {
58
- return /* @__PURE__ */ new Date();
59
- }
60
- };
61
- };
62
- const addCreatorFields = (schema) => {
63
- const isPrivate = !_.get(schema, "options.populateCreatorFields", false);
64
- schema.attributes[CREATED_BY_ATTRIBUTE] = {
65
- type: "relation",
66
- relation: "oneToOne",
67
- target: "admin::user",
68
- configurable: false,
69
- writable: false,
70
- visible: false,
71
- useJoinTable: false,
72
- private: isPrivate
73
- };
74
- schema.attributes[UPDATED_BY_ATTRIBUTE] = {
75
- type: "relation",
76
- relation: "oneToOne",
77
- target: "admin::user",
78
- configurable: false,
79
- writable: false,
80
- visible: false,
81
- useJoinTable: false,
82
- private: isPrivate
83
- };
84
- };
85
- const getGlobalId = (schema, prefix) => {
86
- const modelName = schema.info.singularName;
87
- const globalId = prefix ? `${prefix}-${modelName}` : modelName;
88
- return schema.globalId || _.upperFirst(_.camelCase(globalId));
89
- };
90
- const pickSchema = (model) => {
91
- const schema = _.cloneDeep(
92
- _.pick(model, [
93
- "connection",
94
- "collectionName",
95
- "info",
96
- "options",
97
- "pluginOptions",
98
- "attributes",
99
- "kind"
100
- ])
101
- );
102
- schema.kind = model.kind || "collectionType";
103
- return schema;
104
- };
105
- export {
106
- createContentType,
107
- getGlobalId
108
- };
109
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/domain/content-type/index.ts"],"sourcesContent":["import { cloneDeep } from 'lodash/fp';\nimport _ from 'lodash';\nimport { yup, contentTypes as contentTypesUtils } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\nimport { validateContentTypeDefinition } from './validator';\n\nexport type ContentTypeDefinition = {\n schema: Schema.ContentType;\n actions: Record<string, unknown>;\n lifecycles: Record<string, unknown>;\n};\n\nconst {\n CREATED_AT_ATTRIBUTE,\n UPDATED_AT_ATTRIBUTE,\n PUBLISHED_AT_ATTRIBUTE,\n CREATED_BY_ATTRIBUTE,\n UPDATED_BY_ATTRIBUTE,\n} = contentTypesUtils.constants;\n\nconst createContentType = (uid: string, definition: ContentTypeDefinition) => {\n try {\n validateContentTypeDefinition(definition);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n throw new Error(`Content Type Definition is invalid for ${uid}'.\\n${e.errors}`);\n }\n\n throw e;\n }\n\n const { schema, actions, lifecycles } = cloneDeep(definition);\n\n // general info\n Object.assign(schema, {\n uid,\n modelType: 'contentType',\n kind: schema.kind || 'collectionType',\n __schema__: pickSchema(definition.schema),\n modelName: definition.schema.info.singularName,\n actions,\n lifecycles,\n });\n\n addTimestamps(schema);\n\n // Published at is added regardless of draft and publish being enabled\n // In case it is not enabled, value will be always published, and it will not contain a draft\n addDraftAndPublish(schema);\n\n addCreatorFields(schema);\n\n return schema;\n};\n\nconst addTimestamps = (schema: Schema.ContentType) => {\n // attributes\n Object.assign(schema.attributes, {\n [CREATED_AT_ATTRIBUTE]: {\n type: 'datetime',\n },\n // TODO: handle on edit set to new date\n [UPDATED_AT_ATTRIBUTE]: {\n type: 'datetime',\n },\n });\n};\n\nconst addDraftAndPublish = (schema: Schema.ContentType) => {\n if (!_.has(schema, 'options.draftAndPublish')) {\n _.set(schema, 'options.draftAndPublish', false); // Disabled by default\n }\n\n schema.attributes[PUBLISHED_AT_ATTRIBUTE] = {\n type: 'datetime',\n configurable: false,\n writable: true,\n visible: false,\n default() {\n return new Date();\n },\n };\n};\n\nconst addCreatorFields = (schema: Schema.ContentType) => {\n const isPrivate = !_.get(schema, 'options.populateCreatorFields', false);\n\n schema.attributes[CREATED_BY_ATTRIBUTE] = {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n configurable: false,\n writable: false,\n visible: false,\n useJoinTable: false,\n private: isPrivate,\n };\n\n schema.attributes[UPDATED_BY_ATTRIBUTE] = {\n type: 'relation',\n relation: 'oneToOne',\n target: 'admin::user',\n configurable: false,\n writable: false,\n visible: false,\n useJoinTable: false,\n private: isPrivate,\n };\n};\n\nconst getGlobalId = (schema: Schema.ContentType, prefix?: string) => {\n const modelName = schema.info.singularName;\n const globalId = prefix ? `${prefix}-${modelName}` : modelName;\n\n return schema.globalId || _.upperFirst(_.camelCase(globalId));\n};\n\nconst pickSchema = (model: Schema.ContentType) => {\n const schema = _.cloneDeep(\n _.pick(model, [\n 'connection',\n 'collectionName',\n 'info',\n 'options',\n 'pluginOptions',\n 'attributes',\n 'kind',\n ])\n );\n\n schema.kind = model.kind || 'collectionType';\n return schema;\n};\n\nexport { createContentType, getGlobalId };\n"],"names":["contentTypesUtils"],"mappings":";;;;AAYA,MAAM;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAIA,aAAkB;AAEhB,MAAA,oBAAoB,CAAC,KAAa,eAAsC;AACxE,MAAA;AACF,kCAA8B,UAAU;AAAA,WACjC,GAAG;AACN,QAAA,aAAa,IAAI,iBAAiB;AAC9B,YAAA,IAAI,MAAM,0CAA0C,GAAG;AAAA,EAAO,EAAE,MAAM,EAAE;AAAA,IAChF;AAEM,UAAA;AAAA,EACR;AAEA,QAAM,EAAE,QAAQ,SAAS,WAAW,IAAI,UAAU,UAAU;AAG5D,SAAO,OAAO,QAAQ;AAAA,IACpB;AAAA,IACA,WAAW;AAAA,IACX,MAAM,OAAO,QAAQ;AAAA,IACrB,YAAY,WAAW,WAAW,MAAM;AAAA,IACxC,WAAW,WAAW,OAAO,KAAK;AAAA,IAClC;AAAA,IACA;AAAA,EAAA,CACD;AAED,gBAAc,MAAM;AAIpB,qBAAmB,MAAM;AAEzB,mBAAiB,MAAM;AAEhB,SAAA;AACT;AAEA,MAAM,gBAAgB,CAAC,WAA+B;AAE7C,SAAA,OAAO,OAAO,YAAY;AAAA,IAC/B,CAAC,oBAAoB,GAAG;AAAA,MACtB,MAAM;AAAA,IACR;AAAA;AAAA,IAEA,CAAC,oBAAoB,GAAG;AAAA,MACtB,MAAM;AAAA,IACR;AAAA,EAAA,CACD;AACH;AAEA,MAAM,qBAAqB,CAAC,WAA+B;AACzD,MAAI,CAAC,EAAE,IAAI,QAAQ,yBAAyB,GAAG;AAC3C,MAAA,IAAI,QAAQ,2BAA2B,KAAK;AAAA,EAChD;AAEO,SAAA,WAAW,sBAAsB,IAAI;AAAA,IAC1C,MAAM;AAAA,IACN,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,UAAU;AACR,iCAAW,KAAK;AAAA,IAClB;AAAA,EAAA;AAEJ;AAEA,MAAM,mBAAmB,CAAC,WAA+B;AACvD,QAAM,YAAY,CAAC,EAAE,IAAI,QAAQ,iCAAiC,KAAK;AAEhE,SAAA,WAAW,oBAAoB,IAAI;AAAA,IACxC,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,EAAA;AAGJ,SAAA,WAAW,oBAAoB,IAAI;AAAA,IACxC,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,UAAU;AAAA,IACV,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,EAAA;AAEb;AAEM,MAAA,cAAc,CAAC,QAA4B,WAAoB;AAC7D,QAAA,YAAY,OAAO,KAAK;AAC9B,QAAM,WAAW,SAAS,GAAG,MAAM,IAAI,SAAS,KAAK;AAErD,SAAO,OAAO,YAAY,EAAE,WAAW,EAAE,UAAU,QAAQ,CAAC;AAC9D;AAEA,MAAM,aAAa,CAAC,UAA8B;AAChD,QAAM,SAAS,EAAE;AAAA,IACf,EAAE,KAAK,OAAO;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAAA,EAAA;AAGI,SAAA,OAAO,MAAM,QAAQ;AACrB,SAAA;AACT;"}
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash");
4
- const strapiUtils = require("@strapi/utils");
5
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
6
- const ___default = /* @__PURE__ */ _interopDefault(_);
7
- const LIFECYCLES = [
8
- "beforeCreate",
9
- "afterCreate",
10
- "beforeFindOne",
11
- "afterFindOne",
12
- "beforeFindMany",
13
- "afterFindMany",
14
- "beforeCount",
15
- "afterCount",
16
- "beforeCreateMany",
17
- "afterCreateMany",
18
- "beforeUpdate",
19
- "afterUpdate",
20
- "beforeUpdateMany",
21
- "afterUpdateMany",
22
- "beforeDelete",
23
- "afterDelete",
24
- "beforeDeleteMany",
25
- "afterDeleteMany"
26
- ];
27
- const GRAPHQL_ENUM_REGEX = /^[_A-Za-z][_0-9A-Za-z]*$/;
28
- const lifecyclesShape = ___default.default.mapValues(___default.default.keyBy(LIFECYCLES), () => strapiUtils.yup.mixed().nullable().isFunction());
29
- const contentTypeSchemaValidator = strapiUtils.yup.object().shape({
30
- schema: strapiUtils.yup.object().shape({
31
- info: strapiUtils.yup.object().shape({
32
- displayName: strapiUtils.yup.string().required(),
33
- singularName: strapiUtils.yup.string().isKebabCase().required(),
34
- pluralName: strapiUtils.yup.string().isKebabCase().required()
35
- }).required(),
36
- attributes: strapiUtils.yup.object().test({
37
- name: "valuesCollide",
38
- message: "Some values collide when normalized",
39
- test(attributes) {
40
- for (const attrName of Object.keys(attributes)) {
41
- const attr = attributes[attrName];
42
- if (attr.type === "enumeration") {
43
- const regressedValues = attr.enum.map(strapiUtils.strings.toRegressedEnumValue);
44
- if (!regressedValues.every((value) => GRAPHQL_ENUM_REGEX.test(value))) {
45
- const message = `Invalid enumeration value. Values should have at least one alphabetical character preceding the first occurence of a number. Update your enumeration '${attrName}'.`;
46
- return this.createError({ message });
47
- }
48
- if (regressedValues.some((value) => value === "")) {
49
- return this.createError({
50
- message: `At least one value of the enumeration '${attrName}' appears to be empty. Only alphanumerical characters are taken into account.`
51
- });
52
- }
53
- const duplicates = ___default.default.uniq(
54
- regressedValues.filter(
55
- (value, index, values) => values.indexOf(value) !== index
56
- )
57
- );
58
- if (duplicates.length) {
59
- const message = `Some enumeration values of the field '${attrName}' collide when normalized: ${duplicates.join(
60
- ", "
61
- )}. Please modify your enumeration.`;
62
- return this.createError({ message });
63
- }
64
- }
65
- }
66
- return true;
67
- }
68
- })
69
- }),
70
- actions: strapiUtils.yup.object().onlyContainsFunctions(),
71
- lifecycles: strapiUtils.yup.object().shape(lifecyclesShape).noUnknown()
72
- });
73
- const validateContentTypeDefinition = (data) => {
74
- return contentTypeSchemaValidator.validateSync(data, { strict: true, abortEarly: false });
75
- };
76
- exports.validateContentTypeDefinition = validateContentTypeDefinition;
77
- //# sourceMappingURL=validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.js","sources":["../../../src/domain/content-type/validator.ts"],"sourcesContent":["import _ from 'lodash';\nimport { yup, strings } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nconst LIFECYCLES = [\n 'beforeCreate',\n 'afterCreate',\n 'beforeFindOne',\n 'afterFindOne',\n 'beforeFindMany',\n 'afterFindMany',\n 'beforeCount',\n 'afterCount',\n 'beforeCreateMany',\n 'afterCreateMany',\n 'beforeUpdate',\n 'afterUpdate',\n 'beforeUpdateMany',\n 'afterUpdateMany',\n 'beforeDelete',\n 'afterDelete',\n 'beforeDeleteMany',\n 'afterDeleteMany',\n] as const;\n\n/**\n * For enumerations the least common denomiator is GraphQL, where\n * values needs to match the secure name regex:\n * GraphQL Spec https://spec.graphql.org/June2018/#sec-Names\n *\n * Therefore we need to make sure our users only use values, which\n * can be returned by GraphQL, by checking the regressed values\n * agains the GraphQL regex.\n *\n * TODO V5: check if we can avoid this coupling by moving this logic\n * into the GraphQL plugin.\n */\nconst GRAPHQL_ENUM_REGEX = /^[_A-Za-z][_0-9A-Za-z]*$/;\n\nconst lifecyclesShape = _.mapValues(_.keyBy(LIFECYCLES), () => yup.mixed().nullable().isFunction());\n\nconst contentTypeSchemaValidator = yup.object().shape({\n schema: yup.object().shape({\n info: yup\n .object()\n .shape({\n displayName: yup.string().required(),\n singularName: yup.string().isKebabCase().required(),\n pluralName: yup.string().isKebabCase().required(),\n })\n .required(),\n attributes: yup.object().test({\n name: 'valuesCollide',\n message: 'Some values collide when normalized',\n test(attributes: Schema.ContentType['attributes']) {\n for (const attrName of Object.keys(attributes)) {\n const attr = attributes[attrName];\n if (attr.type === 'enumeration') {\n const regressedValues = attr.enum.map(strings.toRegressedEnumValue);\n\n // should match the GraphQL regex\n if (!regressedValues.every((value: string) => GRAPHQL_ENUM_REGEX.test(value))) {\n const message = `Invalid enumeration value. Values should have at least one alphabetical character preceding the first occurence of a number. Update your enumeration '${attrName}'.`;\n\n return this.createError({ message });\n }\n\n // should not contain empty values\n if (regressedValues.some((value: string) => value === '')) {\n return this.createError({\n message: `At least one value of the enumeration '${attrName}' appears to be empty. Only alphanumerical characters are taken into account.`,\n });\n }\n\n // should not collide\n const duplicates = _.uniq(\n regressedValues.filter(\n (value: string, index: number, values: string[]) => values.indexOf(value) !== index\n )\n );\n\n if (duplicates.length) {\n const message = `Some enumeration values of the field '${attrName}' collide when normalized: ${duplicates.join(\n ', '\n )}. Please modify your enumeration.`;\n\n return this.createError({ message });\n }\n }\n }\n\n return true;\n },\n }),\n }),\n actions: yup.object().onlyContainsFunctions(),\n lifecycles: yup.object().shape(lifecyclesShape).noUnknown(),\n});\n\nconst validateContentTypeDefinition = (data: unknown) => {\n return contentTypeSchemaValidator.validateSync(data, { strict: true, abortEarly: false });\n};\n\nexport { validateContentTypeDefinition };\n"],"names":["_","yup","strings"],"mappings":";;;;;;AAIA,MAAM,aAAa;AAAA,EACjB;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;AAAA,EACA;AAAA,EACA;AACF;AAcA,MAAM,qBAAqB;AAE3B,MAAM,kBAAkBA,WAAAA,QAAE,UAAUA,WAAA,QAAE,MAAM,UAAU,GAAG,MAAMC,YAAAA,IAAI,MAAM,EAAE,SAAS,EAAE,WAAY,CAAA;AAElG,MAAM,6BAA6BA,YAAA,IAAI,OAAO,EAAE,MAAM;AAAA,EACpD,QAAQA,YAAA,IAAI,OAAO,EAAE,MAAM;AAAA,IACzB,MAAMA,YAAA,IACH,OAAO,EACP,MAAM;AAAA,MACL,aAAaA,YAAA,IAAI,OAAO,EAAE,SAAS;AAAA,MACnC,cAAcA,YAAAA,IAAI,OAAS,EAAA,YAAA,EAAc,SAAS;AAAA,MAClD,YAAYA,YAAAA,IAAI,OAAS,EAAA,YAAA,EAAc,SAAS;AAAA,IACjD,CAAA,EACA,SAAS;AAAA,IACZ,YAAYA,YAAA,IAAI,OAAO,EAAE,KAAK;AAAA,MAC5B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,KAAK,YAA8C;AACjD,mBAAW,YAAY,OAAO,KAAK,UAAU,GAAG;AACxC,gBAAA,OAAO,WAAW,QAAQ;AAC5B,cAAA,KAAK,SAAS,eAAe;AAC/B,kBAAM,kBAAkB,KAAK,KAAK,IAAIC,YAAAA,QAAQ,oBAAoB;AAG9D,gBAAA,CAAC,gBAAgB,MAAM,CAAC,UAAkB,mBAAmB,KAAK,KAAK,CAAC,GAAG;AACvE,oBAAA,UAAU,yJAAyJ,QAAQ;AAEjL,qBAAO,KAAK,YAAY,EAAE,QAAS,CAAA;AAAA,YACrC;AAGA,gBAAI,gBAAgB,KAAK,CAAC,UAAkB,UAAU,EAAE,GAAG;AACzD,qBAAO,KAAK,YAAY;AAAA,gBACtB,SAAS,0CAA0C,QAAQ;AAAA,cAAA,CAC5D;AAAA,YACH;AAGA,kBAAM,aAAaF,WAAAA,QAAE;AAAA,cACnB,gBAAgB;AAAA,gBACd,CAAC,OAAe,OAAe,WAAqB,OAAO,QAAQ,KAAK,MAAM;AAAA,cAChF;AAAA,YAAA;AAGF,gBAAI,WAAW,QAAQ;AACrB,oBAAM,UAAU,yCAAyC,QAAQ,8BAA8B,WAAW;AAAA,gBACxG;AAAA,cACD,CAAA;AAED,qBAAO,KAAK,YAAY,EAAE,QAAS,CAAA;AAAA,YACrC;AAAA,UACF;AAAA,QACF;AAEO,eAAA;AAAA,MACT;AAAA,IAAA,CACD;AAAA,EAAA,CACF;AAAA,EACD,SAASC,YAAA,IAAI,OAAO,EAAE,sBAAsB;AAAA,EAC5C,YAAYA,YAAI,IAAA,OAAA,EAAS,MAAM,eAAe,EAAE,UAAU;AAC5D,CAAC;AAEK,MAAA,gCAAgC,CAAC,SAAkB;AAChD,SAAA,2BAA2B,aAAa,MAAM,EAAE,QAAQ,MAAM,YAAY,OAAO;AAC1F;;"}
@@ -1,75 +0,0 @@
1
- import _ from "lodash";
2
- import { yup, strings } from "@strapi/utils";
3
- const LIFECYCLES = [
4
- "beforeCreate",
5
- "afterCreate",
6
- "beforeFindOne",
7
- "afterFindOne",
8
- "beforeFindMany",
9
- "afterFindMany",
10
- "beforeCount",
11
- "afterCount",
12
- "beforeCreateMany",
13
- "afterCreateMany",
14
- "beforeUpdate",
15
- "afterUpdate",
16
- "beforeUpdateMany",
17
- "afterUpdateMany",
18
- "beforeDelete",
19
- "afterDelete",
20
- "beforeDeleteMany",
21
- "afterDeleteMany"
22
- ];
23
- const GRAPHQL_ENUM_REGEX = /^[_A-Za-z][_0-9A-Za-z]*$/;
24
- const lifecyclesShape = _.mapValues(_.keyBy(LIFECYCLES), () => yup.mixed().nullable().isFunction());
25
- const contentTypeSchemaValidator = yup.object().shape({
26
- schema: yup.object().shape({
27
- info: yup.object().shape({
28
- displayName: yup.string().required(),
29
- singularName: yup.string().isKebabCase().required(),
30
- pluralName: yup.string().isKebabCase().required()
31
- }).required(),
32
- attributes: yup.object().test({
33
- name: "valuesCollide",
34
- message: "Some values collide when normalized",
35
- test(attributes) {
36
- for (const attrName of Object.keys(attributes)) {
37
- const attr = attributes[attrName];
38
- if (attr.type === "enumeration") {
39
- const regressedValues = attr.enum.map(strings.toRegressedEnumValue);
40
- if (!regressedValues.every((value) => GRAPHQL_ENUM_REGEX.test(value))) {
41
- const message = `Invalid enumeration value. Values should have at least one alphabetical character preceding the first occurence of a number. Update your enumeration '${attrName}'.`;
42
- return this.createError({ message });
43
- }
44
- if (regressedValues.some((value) => value === "")) {
45
- return this.createError({
46
- message: `At least one value of the enumeration '${attrName}' appears to be empty. Only alphanumerical characters are taken into account.`
47
- });
48
- }
49
- const duplicates = _.uniq(
50
- regressedValues.filter(
51
- (value, index, values) => values.indexOf(value) !== index
52
- )
53
- );
54
- if (duplicates.length) {
55
- const message = `Some enumeration values of the field '${attrName}' collide when normalized: ${duplicates.join(
56
- ", "
57
- )}. Please modify your enumeration.`;
58
- return this.createError({ message });
59
- }
60
- }
61
- }
62
- return true;
63
- }
64
- })
65
- }),
66
- actions: yup.object().onlyContainsFunctions(),
67
- lifecycles: yup.object().shape(lifecyclesShape).noUnknown()
68
- });
69
- const validateContentTypeDefinition = (data) => {
70
- return contentTypeSchemaValidator.validateSync(data, { strict: true, abortEarly: false });
71
- };
72
- export {
73
- validateContentTypeDefinition
74
- };
75
- //# sourceMappingURL=validator.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.mjs","sources":["../../../src/domain/content-type/validator.ts"],"sourcesContent":["import _ from 'lodash';\nimport { yup, strings } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nconst LIFECYCLES = [\n 'beforeCreate',\n 'afterCreate',\n 'beforeFindOne',\n 'afterFindOne',\n 'beforeFindMany',\n 'afterFindMany',\n 'beforeCount',\n 'afterCount',\n 'beforeCreateMany',\n 'afterCreateMany',\n 'beforeUpdate',\n 'afterUpdate',\n 'beforeUpdateMany',\n 'afterUpdateMany',\n 'beforeDelete',\n 'afterDelete',\n 'beforeDeleteMany',\n 'afterDeleteMany',\n] as const;\n\n/**\n * For enumerations the least common denomiator is GraphQL, where\n * values needs to match the secure name regex:\n * GraphQL Spec https://spec.graphql.org/June2018/#sec-Names\n *\n * Therefore we need to make sure our users only use values, which\n * can be returned by GraphQL, by checking the regressed values\n * agains the GraphQL regex.\n *\n * TODO V5: check if we can avoid this coupling by moving this logic\n * into the GraphQL plugin.\n */\nconst GRAPHQL_ENUM_REGEX = /^[_A-Za-z][_0-9A-Za-z]*$/;\n\nconst lifecyclesShape = _.mapValues(_.keyBy(LIFECYCLES), () => yup.mixed().nullable().isFunction());\n\nconst contentTypeSchemaValidator = yup.object().shape({\n schema: yup.object().shape({\n info: yup\n .object()\n .shape({\n displayName: yup.string().required(),\n singularName: yup.string().isKebabCase().required(),\n pluralName: yup.string().isKebabCase().required(),\n })\n .required(),\n attributes: yup.object().test({\n name: 'valuesCollide',\n message: 'Some values collide when normalized',\n test(attributes: Schema.ContentType['attributes']) {\n for (const attrName of Object.keys(attributes)) {\n const attr = attributes[attrName];\n if (attr.type === 'enumeration') {\n const regressedValues = attr.enum.map(strings.toRegressedEnumValue);\n\n // should match the GraphQL regex\n if (!regressedValues.every((value: string) => GRAPHQL_ENUM_REGEX.test(value))) {\n const message = `Invalid enumeration value. Values should have at least one alphabetical character preceding the first occurence of a number. Update your enumeration '${attrName}'.`;\n\n return this.createError({ message });\n }\n\n // should not contain empty values\n if (regressedValues.some((value: string) => value === '')) {\n return this.createError({\n message: `At least one value of the enumeration '${attrName}' appears to be empty. Only alphanumerical characters are taken into account.`,\n });\n }\n\n // should not collide\n const duplicates = _.uniq(\n regressedValues.filter(\n (value: string, index: number, values: string[]) => values.indexOf(value) !== index\n )\n );\n\n if (duplicates.length) {\n const message = `Some enumeration values of the field '${attrName}' collide when normalized: ${duplicates.join(\n ', '\n )}. Please modify your enumeration.`;\n\n return this.createError({ message });\n }\n }\n }\n\n return true;\n },\n }),\n }),\n actions: yup.object().onlyContainsFunctions(),\n lifecycles: yup.object().shape(lifecyclesShape).noUnknown(),\n});\n\nconst validateContentTypeDefinition = (data: unknown) => {\n return contentTypeSchemaValidator.validateSync(data, { strict: true, abortEarly: false });\n};\n\nexport { validateContentTypeDefinition };\n"],"names":[],"mappings":";;AAIA,MAAM,aAAa;AAAA,EACjB;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;AAAA,EACA;AAAA,EACA;AACF;AAcA,MAAM,qBAAqB;AAE3B,MAAM,kBAAkB,EAAE,UAAU,EAAE,MAAM,UAAU,GAAG,MAAM,IAAI,MAAM,EAAE,SAAS,EAAE,WAAY,CAAA;AAElG,MAAM,6BAA6B,IAAI,OAAO,EAAE,MAAM;AAAA,EACpD,QAAQ,IAAI,OAAO,EAAE,MAAM;AAAA,IACzB,MAAM,IACH,OAAO,EACP,MAAM;AAAA,MACL,aAAa,IAAI,OAAO,EAAE,SAAS;AAAA,MACnC,cAAc,IAAI,OAAS,EAAA,YAAA,EAAc,SAAS;AAAA,MAClD,YAAY,IAAI,OAAS,EAAA,YAAA,EAAc,SAAS;AAAA,IACjD,CAAA,EACA,SAAS;AAAA,IACZ,YAAY,IAAI,OAAO,EAAE,KAAK;AAAA,MAC5B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,KAAK,YAA8C;AACjD,mBAAW,YAAY,OAAO,KAAK,UAAU,GAAG;AACxC,gBAAA,OAAO,WAAW,QAAQ;AAC5B,cAAA,KAAK,SAAS,eAAe;AAC/B,kBAAM,kBAAkB,KAAK,KAAK,IAAI,QAAQ,oBAAoB;AAG9D,gBAAA,CAAC,gBAAgB,MAAM,CAAC,UAAkB,mBAAmB,KAAK,KAAK,CAAC,GAAG;AACvE,oBAAA,UAAU,yJAAyJ,QAAQ;AAEjL,qBAAO,KAAK,YAAY,EAAE,QAAS,CAAA;AAAA,YACrC;AAGA,gBAAI,gBAAgB,KAAK,CAAC,UAAkB,UAAU,EAAE,GAAG;AACzD,qBAAO,KAAK,YAAY;AAAA,gBACtB,SAAS,0CAA0C,QAAQ;AAAA,cAAA,CAC5D;AAAA,YACH;AAGA,kBAAM,aAAa,EAAE;AAAA,cACnB,gBAAgB;AAAA,gBACd,CAAC,OAAe,OAAe,WAAqB,OAAO,QAAQ,KAAK,MAAM;AAAA,cAChF;AAAA,YAAA;AAGF,gBAAI,WAAW,QAAQ;AACrB,oBAAM,UAAU,yCAAyC,QAAQ,8BAA8B,WAAW;AAAA,gBACxG;AAAA,cACD,CAAA;AAED,qBAAO,KAAK,YAAY,EAAE,QAAS,CAAA;AAAA,YACrC;AAAA,UACF;AAAA,QACF;AAEO,eAAA;AAAA,MACT;AAAA,IAAA,CACD;AAAA,EAAA,CACF;AAAA,EACD,SAAS,IAAI,OAAO,EAAE,sBAAsB;AAAA,EAC5C,YAAY,IAAI,OAAA,EAAS,MAAM,eAAe,EAAE,UAAU;AAC5D,CAAC;AAEK,MAAA,gCAAgC,CAAC,SAAkB;AAChD,SAAA,2BAA2B,aAAa,MAAM,EAAE,QAAQ,MAAM,YAAY,OAAO;AAC1F;"}
@@ -1,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash");
4
- const strapiUtils = require("@strapi/utils");
5
- const namespace = require("../../registries/namespace.js");
6
- const validation = require("./validation.js");
7
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
8
- const ___default = /* @__PURE__ */ _interopDefault(_);
9
- const removeNamespacedKeys = (map, namespace$1) => {
10
- return ___default.default.mapKeys(map, (value, key) => namespace.removeNamespace(key, namespace$1));
11
- };
12
- const defaultModule = {
13
- config: {},
14
- routes: [],
15
- controllers: {},
16
- services: {},
17
- contentTypes: {},
18
- policies: {},
19
- middlewares: {}
20
- };
21
- const createModule = (namespace2, rawModule, strapi) => {
22
- ___default.default.defaults(rawModule, defaultModule);
23
- try {
24
- validation.validateModule(rawModule);
25
- } catch (e) {
26
- if (e instanceof strapiUtils.yup.ValidationError) {
27
- throw new Error(`strapi-server.js is invalid for '${namespace2}'.
28
- ${e.errors.join("\n")}`);
29
- }
30
- }
31
- const called = {};
32
- return {
33
- async bootstrap() {
34
- if (called.bootstrap) {
35
- throw new Error(`Bootstrap for ${namespace2} has already been called`);
36
- }
37
- called.bootstrap = true;
38
- await (rawModule.bootstrap && rawModule.bootstrap({ strapi }));
39
- },
40
- async register() {
41
- if (called.register) {
42
- throw new Error(`Register for ${namespace2} has already been called`);
43
- }
44
- called.register = true;
45
- await (rawModule.register && rawModule.register({ strapi }));
46
- },
47
- async destroy() {
48
- if (called.destroy) {
49
- throw new Error(`Destroy for ${namespace2} has already been called`);
50
- }
51
- called.destroy = true;
52
- await (rawModule.destroy && rawModule.destroy({ strapi }));
53
- },
54
- load() {
55
- strapi.get("content-types").add(namespace2, rawModule.contentTypes);
56
- strapi.get("services").add(namespace2, rawModule.services);
57
- strapi.get("policies").add(namespace2, rawModule.policies);
58
- strapi.get("middlewares").add(namespace2, rawModule.middlewares);
59
- strapi.get("controllers").add(namespace2, rawModule.controllers);
60
- strapi.get("config").set(namespace2, rawModule.config);
61
- },
62
- get routes() {
63
- return rawModule.routes ?? {};
64
- },
65
- config(path, defaultValue) {
66
- const pathArray = _.flatten([namespace2, path]);
67
- return strapi.get("config").get(pathArray, defaultValue);
68
- },
69
- contentType(ctName) {
70
- return strapi.get("content-types").get(`${namespace2}.${ctName}`);
71
- },
72
- get contentTypes() {
73
- const contentTypes = strapi.get("content-types").getAll(namespace2);
74
- return removeNamespacedKeys(contentTypes, namespace2);
75
- },
76
- service(serviceName) {
77
- return strapi.get("services").get(`${namespace2}.${serviceName}`);
78
- },
79
- get services() {
80
- const services = strapi.get("services").getAll(namespace2);
81
- return removeNamespacedKeys(services, namespace2);
82
- },
83
- policy(policyName) {
84
- return strapi.get("policies").get(`${namespace2}.${policyName}`);
85
- },
86
- get policies() {
87
- const policies = strapi.get("policies").getAll(namespace2);
88
- return removeNamespacedKeys(policies, namespace2);
89
- },
90
- middleware(middlewareName) {
91
- return strapi.get("middlewares").get(`${namespace2}.${middlewareName}`);
92
- },
93
- get middlewares() {
94
- const middlewares = strapi.get("middlewares").getAll(namespace2);
95
- return removeNamespacedKeys(middlewares, namespace2);
96
- },
97
- controller(controllerName) {
98
- return strapi.get("controllers").get(`${namespace2}.${controllerName}`);
99
- },
100
- get controllers() {
101
- const controllers = strapi.get("controllers").getAll(namespace2);
102
- return removeNamespacedKeys(controllers, namespace2);
103
- }
104
- };
105
- };
106
- exports.createModule = createModule;
107
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/domain/module/index.ts"],"sourcesContent":["import _, { type PropertyPath, flatten } from 'lodash';\nimport { yup } from '@strapi/utils';\nimport type { Core, UID, Struct } from '@strapi/types';\n\nimport { removeNamespace } from '../../registries/namespace';\nimport { validateModule } from './validation';\n\ninterface LifecyclesState {\n bootstrap?: boolean;\n register?: boolean;\n destroy?: boolean;\n}\n\nexport interface RawModule {\n config?: Record<string, unknown>;\n routes?: Core.Module['routes'];\n controllers?: Core.Module['controllers'];\n services?: Core.Module['services'];\n contentTypes?: Core.Module['contentTypes'];\n policies?: Core.Module['policies'];\n middlewares?: Core.Module['middlewares'];\n bootstrap?: (params: { strapi: Core.Strapi }) => Promise<void>;\n register?: (params: { strapi: Core.Strapi }) => Promise<void>;\n destroy?: (params: { strapi: Core.Strapi }) => Promise<void>;\n}\n\nexport interface Module {\n bootstrap: () => Promise<void>;\n register: () => Promise<void>;\n destroy: () => Promise<void>;\n load: () => void;\n routes: Core.Module['routes'];\n config<T = unknown>(key: PropertyPath, defaultVal?: T): T; // TODO: this mirrors ConfigProvider.get, we should use it directly\n contentType: (ctName: UID.ContentType) => Struct.ContentTypeSchema;\n contentTypes: Record<string, Struct.ContentTypeSchema>;\n service: (serviceName: UID.Service) => Core.Service;\n services: Record<string, Core.Service>;\n policy: (policyName: UID.Policy) => Core.Policy;\n policies: Record<string, Core.Policy>;\n middleware: (middlewareName: UID.Middleware) => Core.Middleware;\n middlewares: Record<string, Core.Middleware>;\n controller: (controllerName: UID.Controller) => Core.Controller;\n controllers: Record<string, Core.Controller>;\n}\n\n// Removes the namespace from a map with keys prefixed with a namespace\nconst removeNamespacedKeys = <T extends Record<string, unknown>>(map: T, namespace: string) => {\n return _.mapKeys(map, (value, key) => removeNamespace(key, namespace));\n};\n\nconst defaultModule = {\n config: {},\n routes: [],\n controllers: {},\n services: {},\n contentTypes: {},\n policies: {},\n middlewares: {},\n};\n\nexport const createModule = (\n namespace: string,\n rawModule: RawModule,\n strapi: Core.Strapi\n): Module => {\n _.defaults(rawModule, defaultModule);\n\n try {\n validateModule(rawModule);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n throw new Error(`strapi-server.js is invalid for '${namespace}'.\\n${e.errors.join('\\n')}`);\n }\n }\n\n const called: LifecyclesState = {};\n return {\n async bootstrap() {\n if (called.bootstrap) {\n throw new Error(`Bootstrap for ${namespace} has already been called`);\n }\n called.bootstrap = true;\n await (rawModule.bootstrap && rawModule.bootstrap({ strapi }));\n },\n async register() {\n if (called.register) {\n throw new Error(`Register for ${namespace} has already been called`);\n }\n called.register = true;\n await (rawModule.register && rawModule.register({ strapi }));\n },\n async destroy() {\n if (called.destroy) {\n throw new Error(`Destroy for ${namespace} has already been called`);\n }\n called.destroy = true;\n await (rawModule.destroy && rawModule.destroy({ strapi }));\n },\n load() {\n strapi.get('content-types').add(namespace, rawModule.contentTypes);\n strapi.get('services').add(namespace, rawModule.services);\n strapi.get('policies').add(namespace, rawModule.policies);\n strapi.get('middlewares').add(namespace, rawModule.middlewares);\n strapi.get('controllers').add(namespace, rawModule.controllers);\n strapi.get('config').set(namespace, rawModule.config);\n },\n get routes() {\n return rawModule.routes ?? {};\n },\n config(path: PropertyPath, defaultValue: unknown) {\n const pathArray = flatten([namespace, path]);\n return strapi.get('config').get(pathArray, defaultValue);\n },\n contentType(ctName: UID.ContentType) {\n return strapi.get('content-types').get(`${namespace}.${ctName}`);\n },\n get contentTypes() {\n const contentTypes = strapi.get('content-types').getAll(namespace);\n return removeNamespacedKeys(contentTypes, namespace);\n },\n service(serviceName: UID.Service) {\n return strapi.get('services').get(`${namespace}.${serviceName}`);\n },\n get services() {\n const services = strapi.get('services').getAll(namespace);\n return removeNamespacedKeys(services, namespace);\n },\n policy(policyName: UID.Policy) {\n return strapi.get('policies').get(`${namespace}.${policyName}`);\n },\n get policies() {\n const policies = strapi.get('policies').getAll(namespace);\n return removeNamespacedKeys(policies, namespace);\n },\n middleware(middlewareName: UID.Middleware) {\n return strapi.get('middlewares').get(`${namespace}.${middlewareName}`);\n },\n get middlewares() {\n const middlewares = strapi.get('middlewares').getAll(namespace);\n return removeNamespacedKeys(middlewares, namespace);\n },\n controller(controllerName: UID.Controller) {\n return strapi.get('controllers').get(`${namespace}.${controllerName}`);\n },\n get controllers() {\n const controllers = strapi.get('controllers').getAll(namespace);\n return removeNamespacedKeys(controllers, namespace);\n },\n };\n};\n"],"names":["namespace","_","removeNamespace","validateModule","yup","flatten"],"mappings":";;;;;;;;AA8CA,MAAM,uBAAuB,CAAoC,KAAQA,gBAAsB;AACtF,SAAAC,WAAA,QAAE,QAAQ,KAAK,CAAC,OAAO,QAAQC,0BAAgB,KAAKF,WAAS,CAAC;AACvE;AAEA,MAAM,gBAAgB;AAAA,EACpB,QAAQ,CAAC;AAAA,EACT,QAAQ,CAAC;AAAA,EACT,aAAa,CAAC;AAAA,EACd,UAAU,CAAC;AAAA,EACX,cAAc,CAAC;AAAA,EACf,UAAU,CAAC;AAAA,EACX,aAAa,CAAC;AAChB;AAEO,MAAM,eAAe,CAC1BA,YACA,WACA,WACW;AACTC,aAAAA,QAAA,SAAS,WAAW,aAAa;AAE/B,MAAA;AACFE,eAAA,eAAe,SAAS;AAAA,WACjB,GAAG;AACN,QAAA,aAAaC,gBAAI,iBAAiB;AAC9B,YAAA,IAAI,MAAM,oCAAoCJ,UAAS;AAAA,EAAO,EAAE,OAAO,KAAK,IAAI,CAAC,EAAE;AAAA,IAC3F;AAAA,EACF;AAEA,QAAM,SAA0B,CAAA;AACzB,SAAA;AAAA,IACL,MAAM,YAAY;AAChB,UAAI,OAAO,WAAW;AACpB,cAAM,IAAI,MAAM,iBAAiBA,UAAS,0BAA0B;AAAA,MACtE;AACA,aAAO,YAAY;AACnB,aAAO,UAAU,aAAa,UAAU,UAAU,EAAE,OAAQ,CAAA;AAAA,IAC9D;AAAA,IACA,MAAM,WAAW;AACf,UAAI,OAAO,UAAU;AACnB,cAAM,IAAI,MAAM,gBAAgBA,UAAS,0BAA0B;AAAA,MACrE;AACA,aAAO,WAAW;AAClB,aAAO,UAAU,YAAY,UAAU,SAAS,EAAE,OAAQ,CAAA;AAAA,IAC5D;AAAA,IACA,MAAM,UAAU;AACd,UAAI,OAAO,SAAS;AAClB,cAAM,IAAI,MAAM,eAAeA,UAAS,0BAA0B;AAAA,MACpE;AACA,aAAO,UAAU;AACjB,aAAO,UAAU,WAAW,UAAU,QAAQ,EAAE,OAAQ,CAAA;AAAA,IAC1D;AAAA,IACA,OAAO;AACL,aAAO,IAAI,eAAe,EAAE,IAAIA,YAAW,UAAU,YAAY;AACjE,aAAO,IAAI,UAAU,EAAE,IAAIA,YAAW,UAAU,QAAQ;AACxD,aAAO,IAAI,UAAU,EAAE,IAAIA,YAAW,UAAU,QAAQ;AACxD,aAAO,IAAI,aAAa,EAAE,IAAIA,YAAW,UAAU,WAAW;AAC9D,aAAO,IAAI,aAAa,EAAE,IAAIA,YAAW,UAAU,WAAW;AAC9D,aAAO,IAAI,QAAQ,EAAE,IAAIA,YAAW,UAAU,MAAM;AAAA,IACtD;AAAA,IACA,IAAI,SAAS;AACJ,aAAA,UAAU,UAAU;IAC7B;AAAA,IACA,OAAO,MAAoB,cAAuB;AAChD,YAAM,YAAYK,EAAA,QAAQ,CAACL,YAAW,IAAI,CAAC;AAC3C,aAAO,OAAO,IAAI,QAAQ,EAAE,IAAI,WAAW,YAAY;AAAA,IACzD;AAAA,IACA,YAAY,QAAyB;AAC5B,aAAA,OAAO,IAAI,eAAe,EAAE,IAAI,GAAGA,UAAS,IAAI,MAAM,EAAE;AAAA,IACjE;AAAA,IACA,IAAI,eAAe;AACjB,YAAM,eAAe,OAAO,IAAI,eAAe,EAAE,OAAOA,UAAS;AAC1D,aAAA,qBAAqB,cAAcA,UAAS;AAAA,IACrD;AAAA,IACA,QAAQ,aAA0B;AACzB,aAAA,OAAO,IAAI,UAAU,EAAE,IAAI,GAAGA,UAAS,IAAI,WAAW,EAAE;AAAA,IACjE;AAAA,IACA,IAAI,WAAW;AACb,YAAM,WAAW,OAAO,IAAI,UAAU,EAAE,OAAOA,UAAS;AACjD,aAAA,qBAAqB,UAAUA,UAAS;AAAA,IACjD;AAAA,IACA,OAAO,YAAwB;AACtB,aAAA,OAAO,IAAI,UAAU,EAAE,IAAI,GAAGA,UAAS,IAAI,UAAU,EAAE;AAAA,IAChE;AAAA,IACA,IAAI,WAAW;AACb,YAAM,WAAW,OAAO,IAAI,UAAU,EAAE,OAAOA,UAAS;AACjD,aAAA,qBAAqB,UAAUA,UAAS;AAAA,IACjD;AAAA,IACA,WAAW,gBAAgC;AAClC,aAAA,OAAO,IAAI,aAAa,EAAE,IAAI,GAAGA,UAAS,IAAI,cAAc,EAAE;AAAA,IACvE;AAAA,IACA,IAAI,cAAc;AAChB,YAAM,cAAc,OAAO,IAAI,aAAa,EAAE,OAAOA,UAAS;AACvD,aAAA,qBAAqB,aAAaA,UAAS;AAAA,IACpD;AAAA,IACA,WAAW,gBAAgC;AAClC,aAAA,OAAO,IAAI,aAAa,EAAE,IAAI,GAAGA,UAAS,IAAI,cAAc,EAAE;AAAA,IACvE;AAAA,IACA,IAAI,cAAc;AAChB,YAAM,cAAc,OAAO,IAAI,aAAa,EAAE,OAAOA,UAAS;AACvD,aAAA,qBAAqB,aAAaA,UAAS;AAAA,IACpD;AAAA,EAAA;AAEJ;;"}