@strapi/core 0.0.0-experimental.a407f3bc8fb79a53cf7975140864526b6ddbac4b → 0.0.0-experimental.baa6cf22298e591b4d52d8e59c60406d7a9f137f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (773) hide show
  1. package/dist/Strapi.d.ts +49 -58
  2. package/dist/Strapi.d.ts.map +1 -1
  3. package/dist/Strapi.js +148 -208
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +139 -200
  6. package/dist/Strapi.mjs.map +1 -1
  7. package/dist/configuration/config-loader.d.ts.map +1 -1
  8. package/dist/configuration/config-loader.js +9 -5
  9. package/dist/configuration/config-loader.js.map +1 -1
  10. package/dist/configuration/config-loader.mjs +9 -5
  11. package/dist/configuration/config-loader.mjs.map +1 -1
  12. package/dist/configuration/get-dirs.d.ts +10 -0
  13. package/dist/configuration/get-dirs.d.ts.map +1 -0
  14. package/dist/{utils → configuration}/get-dirs.js +3 -2
  15. package/dist/configuration/get-dirs.js.map +1 -0
  16. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  17. package/dist/configuration/get-dirs.mjs.map +1 -0
  18. package/dist/configuration/index.d.ts +4 -7
  19. package/dist/configuration/index.d.ts.map +1 -1
  20. package/dist/configuration/index.js +10 -8
  21. package/dist/configuration/index.js.map +1 -1
  22. package/dist/configuration/index.mjs +6 -5
  23. package/dist/configuration/index.mjs.map +1 -1
  24. package/dist/configuration/urls.d.ts +8 -0
  25. package/dist/configuration/urls.d.ts.map +1 -0
  26. package/dist/configuration/urls.js +68 -0
  27. package/dist/configuration/urls.js.map +1 -0
  28. package/dist/configuration/urls.mjs +66 -0
  29. package/dist/configuration/urls.mjs.map +1 -0
  30. package/dist/container.d.ts +2 -2
  31. package/dist/container.d.ts.map +1 -1
  32. package/dist/container.js.map +1 -1
  33. package/dist/container.mjs.map +1 -1
  34. package/dist/core-api/controller/collection-type.d.ts +3 -3
  35. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  36. package/dist/core-api/controller/collection-type.js +3 -0
  37. package/dist/core-api/controller/collection-type.js.map +1 -1
  38. package/dist/core-api/controller/collection-type.mjs +3 -0
  39. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  40. package/dist/core-api/controller/index.d.ts +3 -3
  41. package/dist/core-api/controller/index.d.ts.map +1 -1
  42. package/dist/core-api/controller/index.js +11 -6
  43. package/dist/core-api/controller/index.js.map +1 -1
  44. package/dist/core-api/controller/index.mjs +12 -7
  45. package/dist/core-api/controller/index.mjs.map +1 -1
  46. package/dist/core-api/controller/single-type.d.ts +3 -3
  47. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  48. package/dist/core-api/controller/single-type.js +1 -0
  49. package/dist/core-api/controller/single-type.js.map +1 -1
  50. package/dist/core-api/controller/single-type.mjs +1 -0
  51. package/dist/core-api/controller/single-type.mjs.map +1 -1
  52. package/dist/core-api/controller/transform.d.ts +10 -9
  53. package/dist/core-api/controller/transform.d.ts.map +1 -1
  54. package/dist/core-api/controller/transform.js +19 -13
  55. package/dist/core-api/controller/transform.js.map +1 -1
  56. package/dist/core-api/controller/transform.mjs +19 -13
  57. package/dist/core-api/controller/transform.mjs.map +1 -1
  58. package/dist/core-api/routes/index.d.ts.map +1 -1
  59. package/dist/core-api/service/collection-type.d.ts +11 -17
  60. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  61. package/dist/core-api/service/collection-type.js +18 -7
  62. package/dist/core-api/service/collection-type.js.map +1 -1
  63. package/dist/core-api/service/collection-type.mjs +19 -8
  64. package/dist/core-api/service/collection-type.mjs.map +1 -1
  65. package/dist/core-api/service/index.d.ts +3 -3
  66. package/dist/core-api/service/index.d.ts.map +1 -1
  67. package/dist/core-api/service/index.js.map +1 -1
  68. package/dist/core-api/service/index.mjs.map +1 -1
  69. package/dist/core-api/service/pagination.d.ts +4 -11
  70. package/dist/core-api/service/pagination.d.ts.map +1 -1
  71. package/dist/core-api/service/pagination.js +14 -40
  72. package/dist/core-api/service/pagination.js.map +1 -1
  73. package/dist/core-api/service/pagination.mjs +16 -42
  74. package/dist/core-api/service/pagination.mjs.map +1 -1
  75. package/dist/core-api/service/single-type.d.ts +5 -5
  76. package/dist/core-api/service/single-type.d.ts.map +1 -1
  77. package/dist/core-api/service/single-type.js +12 -6
  78. package/dist/core-api/service/single-type.js.map +1 -1
  79. package/dist/core-api/service/single-type.mjs +12 -6
  80. package/dist/core-api/service/single-type.mjs.map +1 -1
  81. package/dist/domain/content-type/index.d.ts +1 -1
  82. package/dist/domain/content-type/index.d.ts.map +1 -1
  83. package/dist/domain/content-type/index.js +3 -0
  84. package/dist/domain/content-type/index.js.map +1 -1
  85. package/dist/domain/content-type/index.mjs +3 -0
  86. package/dist/domain/content-type/index.mjs.map +1 -1
  87. package/dist/domain/content-type/validator.d.ts.map +1 -1
  88. package/dist/domain/content-type/validator.js +1 -1
  89. package/dist/domain/content-type/validator.js.map +1 -1
  90. package/dist/domain/content-type/validator.mjs +2 -2
  91. package/dist/domain/content-type/validator.mjs.map +1 -1
  92. package/dist/domain/module/index.d.ts +24 -23
  93. package/dist/domain/module/index.d.ts.map +1 -1
  94. package/dist/domain/module/index.js +3 -3
  95. package/dist/domain/module/index.js.map +1 -1
  96. package/dist/domain/module/index.mjs +4 -4
  97. package/dist/domain/module/index.mjs.map +1 -1
  98. package/dist/ee/index.d.ts +4 -2
  99. package/dist/ee/index.d.ts.map +1 -1
  100. package/dist/ee/index.js.map +1 -1
  101. package/dist/ee/index.mjs.map +1 -1
  102. package/dist/ee/license.d.ts +2 -2
  103. package/dist/ee/license.d.ts.map +1 -1
  104. package/dist/ee/license.js +2 -1
  105. package/dist/ee/license.js.map +1 -1
  106. package/dist/ee/license.mjs +2 -1
  107. package/dist/ee/license.mjs.map +1 -1
  108. package/dist/factories.d.ts +10 -10
  109. package/dist/factories.d.ts.map +1 -1
  110. package/dist/factories.js +6 -2
  111. package/dist/factories.js.map +1 -1
  112. package/dist/factories.mjs +6 -2
  113. package/dist/factories.mjs.map +1 -1
  114. package/dist/index.d.ts +4 -2
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +25 -1
  117. package/dist/index.js.map +1 -1
  118. package/dist/index.mjs +27 -3
  119. package/dist/index.mjs.map +1 -1
  120. package/dist/loaders/admin.d.ts +2 -2
  121. package/dist/loaders/admin.d.ts.map +1 -1
  122. package/dist/loaders/admin.js +0 -1
  123. package/dist/loaders/admin.js.map +1 -1
  124. package/dist/loaders/admin.mjs +0 -1
  125. package/dist/loaders/admin.mjs.map +1 -1
  126. package/dist/loaders/apis.d.ts +2 -2
  127. package/dist/loaders/apis.d.ts.map +1 -1
  128. package/dist/loaders/apis.js +11 -11
  129. package/dist/loaders/apis.js.map +1 -1
  130. package/dist/loaders/apis.mjs +12 -12
  131. package/dist/loaders/apis.mjs.map +1 -1
  132. package/dist/loaders/components.d.ts +2 -2
  133. package/dist/loaders/components.d.ts.map +1 -1
  134. package/dist/loaders/components.js.map +1 -1
  135. package/dist/loaders/components.mjs.map +1 -1
  136. package/dist/loaders/index.d.ts +2 -2
  137. package/dist/loaders/index.d.ts.map +1 -1
  138. package/dist/loaders/index.js +0 -2
  139. package/dist/loaders/index.js.map +1 -1
  140. package/dist/loaders/index.mjs +0 -2
  141. package/dist/loaders/index.mjs.map +1 -1
  142. package/dist/loaders/middlewares.d.ts +2 -2
  143. package/dist/loaders/middlewares.d.ts.map +1 -1
  144. package/dist/loaders/middlewares.js.map +1 -1
  145. package/dist/loaders/middlewares.mjs.map +1 -1
  146. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  147. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  148. package/dist/loaders/plugins/get-enabled-plugins.js +8 -6
  149. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  150. package/dist/loaders/plugins/get-enabled-plugins.mjs +9 -7
  151. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  152. package/dist/loaders/plugins/index.d.ts +2 -2
  153. package/dist/loaders/plugins/index.d.ts.map +1 -1
  154. package/dist/loaders/plugins/index.js.map +1 -1
  155. package/dist/loaders/plugins/index.mjs.map +1 -1
  156. package/dist/loaders/policies.d.ts +2 -2
  157. package/dist/loaders/policies.d.ts.map +1 -1
  158. package/dist/loaders/policies.js.map +1 -1
  159. package/dist/loaders/policies.mjs.map +1 -1
  160. package/dist/loaders/sanitizers.d.ts +2 -2
  161. package/dist/loaders/sanitizers.d.ts.map +1 -1
  162. package/dist/loaders/sanitizers.js.map +1 -1
  163. package/dist/loaders/sanitizers.mjs.map +1 -1
  164. package/dist/loaders/src-index.d.ts +2 -2
  165. package/dist/loaders/src-index.d.ts.map +1 -1
  166. package/dist/loaders/src-index.js.map +1 -1
  167. package/dist/loaders/src-index.mjs.map +1 -1
  168. package/dist/loaders/validators.d.ts +2 -2
  169. package/dist/loaders/validators.d.ts.map +1 -1
  170. package/dist/loaders/validators.js.map +1 -1
  171. package/dist/loaders/validators.mjs.map +1 -1
  172. package/dist/middlewares/body.d.ts +4 -4
  173. package/dist/middlewares/body.d.ts.map +1 -1
  174. package/dist/middlewares/body.js +4 -4
  175. package/dist/middlewares/body.js.map +1 -1
  176. package/dist/middlewares/body.mjs +4 -4
  177. package/dist/middlewares/body.mjs.map +1 -1
  178. package/dist/middlewares/compression.d.ts +2 -2
  179. package/dist/middlewares/compression.d.ts.map +1 -1
  180. package/dist/middlewares/compression.js.map +1 -1
  181. package/dist/middlewares/compression.mjs.map +1 -1
  182. package/dist/middlewares/cors.d.ts +2 -2
  183. package/dist/middlewares/cors.d.ts.map +1 -1
  184. package/dist/middlewares/cors.js.map +1 -1
  185. package/dist/middlewares/cors.mjs.map +1 -1
  186. package/dist/middlewares/errors.d.ts +2 -2
  187. package/dist/middlewares/errors.d.ts.map +1 -1
  188. package/dist/middlewares/errors.js.map +1 -1
  189. package/dist/middlewares/errors.mjs.map +1 -1
  190. package/dist/middlewares/favicon.d.ts +2 -2
  191. package/dist/middlewares/favicon.d.ts.map +1 -1
  192. package/dist/middlewares/favicon.js.map +1 -1
  193. package/dist/middlewares/favicon.mjs.map +1 -1
  194. package/dist/middlewares/index.d.ts +2 -2
  195. package/dist/middlewares/index.d.ts.map +1 -1
  196. package/dist/middlewares/index.js.map +1 -1
  197. package/dist/middlewares/index.mjs.map +1 -1
  198. package/dist/middlewares/ip.d.ts +2 -2
  199. package/dist/middlewares/ip.d.ts.map +1 -1
  200. package/dist/middlewares/ip.js.map +1 -1
  201. package/dist/middlewares/ip.mjs.map +1 -1
  202. package/dist/middlewares/logger.d.ts +2 -2
  203. package/dist/middlewares/logger.d.ts.map +1 -1
  204. package/dist/middlewares/logger.js.map +1 -1
  205. package/dist/middlewares/logger.mjs.map +1 -1
  206. package/dist/middlewares/powered-by.d.ts +2 -2
  207. package/dist/middlewares/powered-by.d.ts.map +1 -1
  208. package/dist/middlewares/powered-by.js.map +1 -1
  209. package/dist/middlewares/powered-by.mjs.map +1 -1
  210. package/dist/middlewares/public.d.ts +2 -2
  211. package/dist/middlewares/public.d.ts.map +1 -1
  212. package/dist/middlewares/public.js +1 -1
  213. package/dist/middlewares/public.js.map +1 -1
  214. package/dist/middlewares/public.mjs +1 -1
  215. package/dist/middlewares/public.mjs.map +1 -1
  216. package/dist/middlewares/query.d.ts +2 -2
  217. package/dist/middlewares/query.d.ts.map +1 -1
  218. package/dist/middlewares/query.js.map +1 -1
  219. package/dist/middlewares/query.mjs.map +1 -1
  220. package/dist/middlewares/response-time.d.ts +2 -2
  221. package/dist/middlewares/response-time.d.ts.map +1 -1
  222. package/dist/middlewares/response-time.js.map +1 -1
  223. package/dist/middlewares/response-time.mjs.map +1 -1
  224. package/dist/middlewares/responses.d.ts +3 -3
  225. package/dist/middlewares/responses.d.ts.map +1 -1
  226. package/dist/middlewares/responses.js.map +1 -1
  227. package/dist/middlewares/responses.mjs.map +1 -1
  228. package/dist/middlewares/security.d.ts +2 -2
  229. package/dist/middlewares/security.d.ts.map +1 -1
  230. package/dist/middlewares/security.js +2 -2
  231. package/dist/middlewares/security.js.map +1 -1
  232. package/dist/middlewares/security.mjs +2 -2
  233. package/dist/middlewares/security.mjs.map +1 -1
  234. package/dist/middlewares/session.d.ts +2 -2
  235. package/dist/middlewares/session.d.ts.map +1 -1
  236. package/dist/middlewares/session.js.map +1 -1
  237. package/dist/middlewares/session.mjs.map +1 -1
  238. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +30 -0
  239. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  240. package/dist/migrations/database/5.0.0-discard-drafts.js +50 -0
  241. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  242. package/dist/migrations/database/5.0.0-discard-drafts.mjs +50 -0
  243. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  244. package/dist/migrations/draft-publish.d.ts +17 -0
  245. package/dist/migrations/draft-publish.d.ts.map +1 -0
  246. package/dist/migrations/draft-publish.js +42 -0
  247. package/dist/migrations/draft-publish.js.map +1 -0
  248. package/dist/migrations/draft-publish.mjs +42 -0
  249. package/dist/migrations/draft-publish.mjs.map +1 -0
  250. package/dist/providers/admin.d.ts +3 -0
  251. package/dist/providers/admin.d.ts.map +1 -0
  252. package/dist/providers/admin.js +20 -0
  253. package/dist/providers/admin.js.map +1 -0
  254. package/dist/providers/admin.mjs +21 -0
  255. package/dist/providers/admin.mjs.map +1 -0
  256. package/dist/providers/coreStore.d.ts +3 -0
  257. package/dist/providers/coreStore.d.ts.map +1 -0
  258. package/dist/providers/coreStore.js +11 -0
  259. package/dist/providers/coreStore.js.map +1 -0
  260. package/dist/providers/coreStore.mjs +12 -0
  261. package/dist/providers/coreStore.mjs.map +1 -0
  262. package/dist/providers/cron.d.ts +3 -0
  263. package/dist/providers/cron.d.ts.map +1 -0
  264. package/dist/providers/cron.js +20 -0
  265. package/dist/providers/cron.js.map +1 -0
  266. package/dist/providers/cron.mjs +21 -0
  267. package/dist/providers/cron.mjs.map +1 -0
  268. package/dist/providers/index.d.ts +3 -0
  269. package/dist/providers/index.d.ts.map +1 -0
  270. package/dist/providers/index.js +11 -0
  271. package/dist/providers/index.js.map +1 -0
  272. package/dist/providers/index.mjs +11 -0
  273. package/dist/providers/index.mjs.map +1 -0
  274. package/dist/providers/provider.d.ts +9 -0
  275. package/dist/providers/provider.d.ts.map +1 -0
  276. package/dist/providers/provider.js +5 -0
  277. package/dist/providers/provider.js.map +1 -0
  278. package/dist/providers/provider.mjs +5 -0
  279. package/dist/providers/provider.mjs.map +1 -0
  280. package/dist/providers/registries.d.ts +3 -0
  281. package/dist/providers/registries.d.ts.map +1 -0
  282. package/dist/providers/registries.js +35 -0
  283. package/dist/providers/registries.js.map +1 -0
  284. package/dist/providers/registries.mjs +36 -0
  285. package/dist/providers/registries.mjs.map +1 -0
  286. package/dist/providers/telemetry.d.ts +3 -0
  287. package/dist/providers/telemetry.d.ts.map +1 -0
  288. package/dist/providers/telemetry.js +19 -0
  289. package/dist/providers/telemetry.js.map +1 -0
  290. package/dist/providers/telemetry.mjs +20 -0
  291. package/dist/providers/telemetry.mjs.map +1 -0
  292. package/dist/providers/webhooks.d.ts +3 -0
  293. package/dist/providers/webhooks.d.ts.map +1 -0
  294. package/dist/providers/webhooks.js +30 -0
  295. package/dist/providers/webhooks.js.map +1 -0
  296. package/dist/providers/webhooks.mjs +31 -0
  297. package/dist/providers/webhooks.mjs.map +1 -0
  298. package/dist/registries/apis.d.ts +2 -2
  299. package/dist/registries/apis.d.ts.map +1 -1
  300. package/dist/registries/apis.js.map +1 -1
  301. package/dist/registries/apis.mjs.map +1 -1
  302. package/dist/registries/components.d.ts +6 -6
  303. package/dist/registries/components.d.ts.map +1 -1
  304. package/dist/registries/components.js.map +1 -1
  305. package/dist/registries/components.mjs.map +1 -1
  306. package/dist/registries/content-types.d.ts +5 -5
  307. package/dist/registries/content-types.d.ts.map +1 -1
  308. package/dist/registries/content-types.js.map +1 -1
  309. package/dist/registries/content-types.mjs.map +1 -1
  310. package/dist/registries/controllers.d.ts +10 -10
  311. package/dist/registries/controllers.d.ts.map +1 -1
  312. package/dist/registries/controllers.js.map +1 -1
  313. package/dist/registries/controllers.mjs.map +1 -1
  314. package/dist/registries/custom-fields.d.ts +3 -3
  315. package/dist/registries/custom-fields.d.ts.map +1 -1
  316. package/dist/registries/custom-fields.js.map +1 -1
  317. package/dist/registries/custom-fields.mjs.map +1 -1
  318. package/dist/registries/index.d.ts +0 -1
  319. package/dist/registries/index.d.ts.map +1 -1
  320. package/dist/registries/middlewares.d.ts +6 -6
  321. package/dist/registries/middlewares.d.ts.map +1 -1
  322. package/dist/registries/middlewares.js.map +1 -1
  323. package/dist/registries/middlewares.mjs.map +1 -1
  324. package/dist/registries/modules.d.ts +2 -2
  325. package/dist/registries/modules.d.ts.map +1 -1
  326. package/dist/registries/modules.js.map +1 -1
  327. package/dist/registries/modules.mjs.map +1 -1
  328. package/dist/registries/plugins.d.ts +5 -5
  329. package/dist/registries/plugins.d.ts.map +1 -1
  330. package/dist/registries/plugins.js.map +1 -1
  331. package/dist/registries/plugins.mjs.map +1 -1
  332. package/dist/registries/policies.d.ts +23 -11
  333. package/dist/registries/policies.d.ts.map +1 -1
  334. package/dist/registries/policies.js +64 -18
  335. package/dist/registries/policies.js.map +1 -1
  336. package/dist/registries/policies.mjs +65 -19
  337. package/dist/registries/policies.mjs.map +1 -1
  338. package/dist/registries/services.d.ts +8 -8
  339. package/dist/registries/services.d.ts.map +1 -1
  340. package/dist/registries/services.js.map +1 -1
  341. package/dist/registries/services.mjs.map +1 -1
  342. package/dist/services/auth/index.d.ts +4 -4
  343. package/dist/services/auth/index.d.ts.map +1 -1
  344. package/dist/services/auth/index.js.map +1 -1
  345. package/dist/services/auth/index.mjs.map +1 -1
  346. package/dist/services/config.d.ts +3 -0
  347. package/dist/services/config.d.ts.map +1 -0
  348. package/dist/services/config.js +47 -0
  349. package/dist/services/config.js.map +1 -0
  350. package/dist/services/config.mjs +47 -0
  351. package/dist/services/config.mjs.map +1 -0
  352. package/dist/services/content-api/index.d.ts +21 -3
  353. package/dist/services/content-api/index.d.ts.map +1 -1
  354. package/dist/services/content-api/index.js +28 -2
  355. package/dist/services/content-api/index.js.map +1 -1
  356. package/dist/services/content-api/index.mjs +28 -2
  357. package/dist/services/content-api/index.mjs.map +1 -1
  358. package/dist/services/content-api/permissions/index.d.ts +3 -3
  359. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  360. package/dist/services/content-api/permissions/index.js +1 -1
  361. package/dist/services/content-api/permissions/index.js.map +1 -1
  362. package/dist/services/content-api/permissions/index.mjs +1 -1
  363. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  364. package/dist/services/core-store.d.ts.map +1 -1
  365. package/dist/services/cron.d.ts +2 -2
  366. package/dist/services/cron.d.ts.map +1 -1
  367. package/dist/services/cron.js.map +1 -1
  368. package/dist/services/cron.mjs.map +1 -1
  369. package/dist/services/custom-fields.d.ts +2 -2
  370. package/dist/services/custom-fields.d.ts.map +1 -1
  371. package/dist/services/custom-fields.js.map +1 -1
  372. package/dist/services/custom-fields.mjs.map +1 -1
  373. package/dist/services/document-service/attributes/index.d.ts +6 -0
  374. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  375. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  376. package/dist/services/document-service/attributes/index.js.map +1 -0
  377. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  378. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  379. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  380. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  381. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  382. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  383. package/dist/services/document-service/common.d.ts +2 -2
  384. package/dist/services/document-service/common.d.ts.map +1 -1
  385. package/dist/services/document-service/common.js.map +1 -1
  386. package/dist/services/document-service/common.mjs.map +1 -1
  387. package/dist/services/document-service/components.d.ts +25 -1
  388. package/dist/services/document-service/components.d.ts.map +1 -1
  389. package/dist/services/{entity-service → document-service}/components.js +46 -142
  390. package/dist/services/document-service/components.js.map +1 -0
  391. package/dist/services/{entity-service → document-service}/components.mjs +48 -144
  392. package/dist/services/document-service/components.mjs.map +1 -0
  393. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  394. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  395. package/dist/services/document-service/draft-and-publish.js +37 -9
  396. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  397. package/dist/services/document-service/draft-and-publish.mjs +38 -10
  398. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  399. package/dist/services/document-service/entries.d.ts +10 -0
  400. package/dist/services/document-service/entries.d.ts.map +1 -0
  401. package/dist/services/document-service/entries.js +96 -0
  402. package/dist/services/document-service/entries.js.map +1 -0
  403. package/dist/services/document-service/entries.mjs +96 -0
  404. package/dist/services/document-service/entries.mjs.map +1 -0
  405. package/dist/services/document-service/events.d.ts +25 -0
  406. package/dist/services/document-service/events.d.ts.map +1 -0
  407. package/dist/services/document-service/events.js +47 -0
  408. package/dist/services/document-service/events.js.map +1 -0
  409. package/dist/services/document-service/events.mjs +47 -0
  410. package/dist/services/document-service/events.mjs.map +1 -0
  411. package/dist/services/document-service/index.d.ts +2 -4
  412. package/dist/services/document-service/index.d.ts.map +1 -1
  413. package/dist/services/document-service/index.js +21 -8
  414. package/dist/services/document-service/index.js.map +1 -1
  415. package/dist/services/document-service/index.mjs +17 -4
  416. package/dist/services/document-service/index.mjs.map +1 -1
  417. package/dist/services/document-service/internationalization.d.ts +5 -5
  418. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  419. package/dist/services/document-service/internationalization.js +14 -5
  420. package/dist/services/document-service/internationalization.js.map +1 -1
  421. package/dist/services/document-service/internationalization.mjs +14 -5
  422. package/dist/services/document-service/internationalization.mjs.map +1 -1
  423. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  424. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  425. package/dist/services/document-service/middlewares/errors.js +25 -0
  426. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  427. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  428. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  429. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  430. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  431. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  432. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  433. package/dist/services/document-service/{middlewares.js → middlewares/middleware-manager.js} +9 -6
  434. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  435. package/dist/services/document-service/{middlewares.mjs → middlewares/middleware-manager.mjs} +9 -6
  436. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  437. package/dist/services/document-service/params.d.ts +3 -1
  438. package/dist/services/document-service/params.d.ts.map +1 -1
  439. package/dist/services/{entity-service → document-service}/params.js +1 -1
  440. package/dist/services/document-service/params.js.map +1 -0
  441. package/dist/services/{entity-service → document-service}/params.mjs +1 -1
  442. package/dist/services/document-service/params.mjs.map +1 -0
  443. package/dist/services/document-service/repository.d.ts +3 -0
  444. package/dist/services/document-service/repository.d.ts.map +1 -0
  445. package/dist/services/document-service/repository.js +278 -0
  446. package/dist/services/document-service/repository.js.map +1 -0
  447. package/dist/services/document-service/repository.mjs +278 -0
  448. package/dist/services/document-service/repository.mjs.map +1 -0
  449. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  450. package/dist/services/document-service/transform/data.js +4 -2
  451. package/dist/services/document-service/transform/data.js.map +1 -1
  452. package/dist/services/document-service/transform/data.mjs +4 -2
  453. package/dist/services/document-service/transform/data.mjs.map +1 -1
  454. package/dist/services/document-service/transform/fields.d.ts +2 -2
  455. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  456. package/dist/services/document-service/transform/fields.js.map +1 -1
  457. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  458. package/dist/services/document-service/transform/id-map.d.ts +4 -4
  459. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  460. package/dist/services/document-service/transform/id-map.js +15 -9
  461. package/dist/services/document-service/transform/id-map.js.map +1 -1
  462. package/dist/services/document-service/transform/id-map.mjs +16 -10
  463. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  464. package/dist/services/document-service/transform/id-transform.d.ts +4 -18
  465. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  466. package/dist/services/document-service/transform/id-transform.js +18 -12
  467. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  468. package/dist/services/document-service/transform/id-transform.mjs +18 -12
  469. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  470. package/dist/services/document-service/transform/populate.d.ts +5 -2
  471. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  472. package/dist/services/document-service/transform/populate.js +1 -1
  473. package/dist/services/document-service/transform/populate.js.map +1 -1
  474. package/dist/services/document-service/transform/populate.mjs +1 -1
  475. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  476. package/dist/services/document-service/transform/query.d.ts +5 -0
  477. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  478. package/dist/services/document-service/transform/query.js +9 -0
  479. package/dist/services/document-service/transform/query.js.map +1 -0
  480. package/dist/services/document-service/transform/query.mjs +9 -0
  481. package/dist/services/document-service/transform/query.mjs.map +1 -0
  482. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  483. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  484. package/dist/services/document-service/transform/relations/extract/data-ids.js +45 -67
  485. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  486. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +45 -67
  487. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  488. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +9 -5
  489. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  490. package/dist/services/document-service/transform/relations/transform/data-ids.js +63 -104
  491. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  492. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +64 -105
  493. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  494. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  495. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  496. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  497. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  498. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  499. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  500. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  501. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  502. package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
  503. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  504. package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
  505. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  506. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  507. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  508. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  509. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  510. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  511. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  512. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  513. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  514. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  515. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  516. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  517. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  518. package/dist/services/document-service/transform/relations/utils/types.d.ts +10 -1
  519. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  520. package/dist/services/document-service/transform/types.d.ts +4 -4
  521. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  522. package/dist/services/document-service/utils/populate.d.ts +9 -2
  523. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  524. package/dist/services/document-service/utils/populate.js +5 -5
  525. package/dist/services/document-service/utils/populate.js.map +1 -1
  526. package/dist/services/document-service/utils/populate.mjs +5 -5
  527. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  528. package/dist/services/entity-service/index.d.ts +4 -6
  529. package/dist/services/entity-service/index.d.ts.map +1 -1
  530. package/dist/services/entity-service/index.js +44 -203
  531. package/dist/services/entity-service/index.js.map +1 -1
  532. package/dist/services/entity-service/index.mjs +38 -197
  533. package/dist/services/entity-service/index.mjs.map +1 -1
  534. package/dist/services/entity-validator/index.d.ts +2 -2
  535. package/dist/services/entity-validator/index.d.ts.map +1 -1
  536. package/dist/services/entity-validator/index.js +101 -90
  537. package/dist/services/entity-validator/index.js.map +1 -1
  538. package/dist/services/entity-validator/index.mjs +101 -90
  539. package/dist/services/entity-validator/index.mjs.map +1 -1
  540. package/dist/services/entity-validator/validators.d.ts +18 -18
  541. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  542. package/dist/services/entity-validator/validators.js +6 -1
  543. package/dist/services/entity-validator/validators.js.map +1 -1
  544. package/dist/services/entity-validator/validators.mjs +6 -1
  545. package/dist/services/entity-validator/validators.mjs.map +1 -1
  546. package/dist/services/event-hub.d.ts +1 -0
  547. package/dist/services/event-hub.d.ts.map +1 -1
  548. package/dist/services/event-hub.js +9 -4
  549. package/dist/services/event-hub.js.map +1 -1
  550. package/dist/services/event-hub.mjs +9 -4
  551. package/dist/services/event-hub.mjs.map +1 -1
  552. package/dist/services/features.d.ts +3 -3
  553. package/dist/services/features.d.ts.map +1 -1
  554. package/dist/services/features.js.map +1 -1
  555. package/dist/services/features.mjs.map +1 -1
  556. package/dist/services/fs.d.ts +2 -2
  557. package/dist/services/fs.d.ts.map +1 -1
  558. package/dist/services/fs.js.map +1 -1
  559. package/dist/services/fs.mjs.map +1 -1
  560. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  561. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  562. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  563. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  564. package/dist/services/metrics/index.d.ts +2 -2
  565. package/dist/services/metrics/index.d.ts.map +1 -1
  566. package/dist/services/metrics/index.js.map +1 -1
  567. package/dist/services/metrics/index.mjs.map +1 -1
  568. package/dist/services/metrics/middleware.d.ts +2 -2
  569. package/dist/services/metrics/middleware.d.ts.map +1 -1
  570. package/dist/services/metrics/middleware.js.map +1 -1
  571. package/dist/services/metrics/middleware.mjs.map +1 -1
  572. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  573. package/dist/services/metrics/rate-limiter.js.map +1 -1
  574. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  575. package/dist/services/metrics/sender.d.ts +3 -3
  576. package/dist/services/metrics/sender.d.ts.map +1 -1
  577. package/dist/services/metrics/sender.js.map +1 -1
  578. package/dist/services/metrics/sender.mjs.map +1 -1
  579. package/dist/services/query-params.d.ts +7 -0
  580. package/dist/services/query-params.d.ts.map +1 -0
  581. package/dist/services/query-params.js +12 -0
  582. package/dist/services/query-params.js.map +1 -0
  583. package/dist/services/query-params.mjs +13 -0
  584. package/dist/services/query-params.mjs.map +1 -0
  585. package/dist/services/reloader.d.ts +7 -0
  586. package/dist/services/reloader.d.ts.map +1 -0
  587. package/dist/services/reloader.js +36 -0
  588. package/dist/services/reloader.js.map +1 -0
  589. package/dist/services/reloader.mjs +36 -0
  590. package/dist/services/reloader.mjs.map +1 -0
  591. package/dist/services/server/admin-api.d.ts +3 -3
  592. package/dist/services/server/admin-api.d.ts.map +1 -1
  593. package/dist/services/server/admin-api.js.map +1 -1
  594. package/dist/services/server/admin-api.mjs.map +1 -1
  595. package/dist/services/server/api.d.ts +3 -3
  596. package/dist/services/server/api.d.ts.map +1 -1
  597. package/dist/services/server/api.js.map +1 -1
  598. package/dist/services/server/api.mjs.map +1 -1
  599. package/dist/services/server/compose-endpoint.d.ts +2 -2
  600. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  601. package/dist/services/server/compose-endpoint.js +1 -2
  602. package/dist/services/server/compose-endpoint.js.map +1 -1
  603. package/dist/services/server/compose-endpoint.mjs +2 -3
  604. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  605. package/dist/services/server/content-api.d.ts +3 -3
  606. package/dist/services/server/content-api.d.ts.map +1 -1
  607. package/dist/services/server/content-api.js.map +1 -1
  608. package/dist/services/server/content-api.mjs.map +1 -1
  609. package/dist/services/server/http-server.d.ts +2 -2
  610. package/dist/services/server/http-server.d.ts.map +1 -1
  611. package/dist/services/server/http-server.js.map +1 -1
  612. package/dist/services/server/http-server.mjs.map +1 -1
  613. package/dist/services/server/index.d.ts +2 -2
  614. package/dist/services/server/index.d.ts.map +1 -1
  615. package/dist/services/server/index.js +1 -2
  616. package/dist/services/server/index.js.map +1 -1
  617. package/dist/services/server/index.mjs +1 -2
  618. package/dist/services/server/index.mjs.map +1 -1
  619. package/dist/services/server/koa.d.ts.map +1 -1
  620. package/dist/services/server/koa.js +1 -1
  621. package/dist/services/server/koa.js.map +1 -1
  622. package/dist/services/server/koa.mjs +1 -1
  623. package/dist/services/server/koa.mjs.map +1 -1
  624. package/dist/services/server/middleware.d.ts +4 -4
  625. package/dist/services/server/middleware.d.ts.map +1 -1
  626. package/dist/services/server/middleware.js.map +1 -1
  627. package/dist/services/server/middleware.mjs.map +1 -1
  628. package/dist/services/server/policy.d.ts +3 -3
  629. package/dist/services/server/policy.d.ts.map +1 -1
  630. package/dist/services/server/policy.js +4 -4
  631. package/dist/services/server/policy.js.map +1 -1
  632. package/dist/services/server/policy.mjs +4 -4
  633. package/dist/services/server/policy.mjs.map +1 -1
  634. package/dist/services/server/register-middlewares.d.ts +2 -2
  635. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  636. package/dist/services/server/register-middlewares.js.map +1 -1
  637. package/dist/services/server/register-middlewares.mjs.map +1 -1
  638. package/dist/services/server/register-routes.d.ts +2 -2
  639. package/dist/services/server/register-routes.d.ts.map +1 -1
  640. package/dist/services/server/register-routes.js +3 -3
  641. package/dist/services/server/register-routes.js.map +1 -1
  642. package/dist/services/server/register-routes.mjs +3 -3
  643. package/dist/services/server/register-routes.mjs.map +1 -1
  644. package/dist/services/server/routing.d.ts +5 -5
  645. package/dist/services/server/routing.d.ts.map +1 -1
  646. package/dist/services/server/routing.js.map +1 -1
  647. package/dist/services/server/routing.mjs.map +1 -1
  648. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  649. package/dist/services/utils/dynamic-zones.js +2 -1
  650. package/dist/services/utils/dynamic-zones.js.map +1 -1
  651. package/dist/services/utils/dynamic-zones.mjs +2 -1
  652. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  653. package/dist/services/webhook-runner.js.map +1 -1
  654. package/dist/services/webhook-runner.mjs.map +1 -1
  655. package/dist/services/webhook-store.d.ts.map +1 -1
  656. package/dist/services/webhook-store.js +13 -7
  657. package/dist/services/webhook-store.js.map +1 -1
  658. package/dist/services/webhook-store.mjs +13 -7
  659. package/dist/services/webhook-store.mjs.map +1 -1
  660. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  661. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  662. package/dist/utils/convert-custom-field-type.js.map +1 -1
  663. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  664. package/dist/utils/fetch.d.ts +3 -3
  665. package/dist/utils/fetch.d.ts.map +1 -1
  666. package/dist/utils/fetch.js.map +1 -1
  667. package/dist/utils/fetch.mjs.map +1 -1
  668. package/dist/utils/index.d.ts +2 -1
  669. package/dist/utils/index.d.ts.map +1 -1
  670. package/dist/utils/is-initialized.d.ts +2 -2
  671. package/dist/utils/is-initialized.d.ts.map +1 -1
  672. package/dist/utils/is-initialized.js +1 -1
  673. package/dist/utils/is-initialized.js.map +1 -1
  674. package/dist/utils/is-initialized.mjs +1 -1
  675. package/dist/utils/is-initialized.mjs.map +1 -1
  676. package/dist/utils/load-config-file.js +1 -1
  677. package/dist/utils/load-config-file.js.map +1 -1
  678. package/dist/utils/load-config-file.mjs +2 -2
  679. package/dist/utils/load-config-file.mjs.map +1 -1
  680. package/dist/utils/load-files.d.ts.map +1 -1
  681. package/dist/utils/open-browser.d.ts +2 -2
  682. package/dist/utils/open-browser.d.ts.map +1 -1
  683. package/dist/utils/open-browser.js.map +1 -1
  684. package/dist/utils/open-browser.mjs.map +1 -1
  685. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  686. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  687. package/dist/utils/resolve-working-dirs.js +13 -0
  688. package/dist/utils/resolve-working-dirs.js.map +1 -0
  689. package/dist/utils/resolve-working-dirs.mjs +11 -0
  690. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  691. package/dist/utils/signals.d.ts +2 -2
  692. package/dist/utils/signals.d.ts.map +1 -1
  693. package/dist/utils/signals.js.map +1 -1
  694. package/dist/utils/signals.mjs.map +1 -1
  695. package/dist/utils/startup-logger.d.ts +2 -2
  696. package/dist/utils/startup-logger.d.ts.map +1 -1
  697. package/dist/utils/startup-logger.js.map +1 -1
  698. package/dist/utils/startup-logger.mjs.map +1 -1
  699. package/dist/utils/transform-content-types-to-models.d.ts +54 -99
  700. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  701. package/dist/utils/transform-content-types-to-models.js +95 -57
  702. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  703. package/dist/utils/transform-content-types-to-models.mjs +95 -57
  704. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  705. package/dist/utils/update-notifier/index.d.ts +2 -7
  706. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  707. package/dist/utils/update-notifier/index.js +11 -14
  708. package/dist/utils/update-notifier/index.js.map +1 -1
  709. package/dist/utils/update-notifier/index.mjs +11 -14
  710. package/dist/utils/update-notifier/index.mjs.map +1 -1
  711. package/package.json +29 -27
  712. package/dist/registries/config.d.ts +0 -4
  713. package/dist/registries/config.d.ts.map +0 -1
  714. package/dist/registries/config.js +0 -23
  715. package/dist/registries/config.js.map +0 -1
  716. package/dist/registries/config.mjs +0 -22
  717. package/dist/registries/config.mjs.map +0 -1
  718. package/dist/services/document-service/document-engine.d.ts +0 -8
  719. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  720. package/dist/services/document-service/document-engine.js +0 -241
  721. package/dist/services/document-service/document-engine.js.map +0 -1
  722. package/dist/services/document-service/document-engine.mjs +0 -242
  723. package/dist/services/document-service/document-engine.mjs.map +0 -1
  724. package/dist/services/document-service/middlewares.d.ts +0 -8
  725. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  726. package/dist/services/document-service/middlewares.js.map +0 -1
  727. package/dist/services/document-service/middlewares.mjs.map +0 -1
  728. package/dist/services/document-service/repositories/content-type.d.ts +0 -3
  729. package/dist/services/document-service/repositories/content-type.d.ts.map +0 -1
  730. package/dist/services/document-service/repositories/content-type.js +0 -139
  731. package/dist/services/document-service/repositories/content-type.js.map +0 -1
  732. package/dist/services/document-service/repositories/content-type.mjs +0 -139
  733. package/dist/services/document-service/repositories/content-type.mjs.map +0 -1
  734. package/dist/services/document-service/transform/filters.d.ts +0 -3
  735. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  736. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  737. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  738. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  739. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  740. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  741. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  742. package/dist/services/document-service/transform/sort.d.ts +0 -5
  743. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  744. package/dist/services/document-service/transform/utils.d.ts +0 -9
  745. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  746. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  747. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  748. package/dist/services/entity-service/attributes/index.js.map +0 -1
  749. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  750. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  751. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  752. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  753. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  754. package/dist/services/entity-service/components.d.ts +0 -23
  755. package/dist/services/entity-service/components.d.ts.map +0 -1
  756. package/dist/services/entity-service/components.js.map +0 -1
  757. package/dist/services/entity-service/components.mjs.map +0 -1
  758. package/dist/services/entity-service/params.d.ts +0 -8
  759. package/dist/services/entity-service/params.d.ts.map +0 -1
  760. package/dist/services/entity-service/params.js.map +0 -1
  761. package/dist/services/entity-service/params.mjs.map +0 -1
  762. package/dist/services/utils/upload-files.d.ts +0 -8
  763. package/dist/services/utils/upload-files.d.ts.map +0 -1
  764. package/dist/services/utils/upload-files.js +0 -64
  765. package/dist/services/utils/upload-files.js.map +0 -1
  766. package/dist/services/utils/upload-files.mjs +0 -63
  767. package/dist/services/utils/upload-files.mjs.map +0 -1
  768. package/dist/utils/get-dirs.d.ts +0 -9
  769. package/dist/utils/get-dirs.d.ts.map +0 -1
  770. package/dist/utils/get-dirs.js.map +0 -1
  771. package/dist/utils/get-dirs.mjs.map +0 -1
  772. /package/dist/services/{entity-service → document-service}/attributes/transforms.js +0 -0
  773. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
@@ -1,10 +1,11 @@
1
- import { has, isUndefined, toNumber } from "lodash/fp";
2
- import { errors } from "@strapi/utils";
1
+ import { has, omit, toNumber } from "lodash/fp";
2
+ import { errors, pagination } from "@strapi/utils";
3
3
  const getLimitConfigDefaults = () => ({
4
4
  defaultLimit: toNumber(strapi.config.get("api.rest.defaultLimit", 25)),
5
5
  maxLimit: toNumber(strapi.config.get("api.rest.maxLimit")) || null
6
6
  });
7
- const shouldApplyMaxLimit = (limit, maxLimit, { isPagedPagination: isPagedPagination2 = false } = {}) => !isPagedPagination2 && limit === -1 || maxLimit !== null && limit > maxLimit;
7
+ const isOffsetPagination = (pagination2) => has("start", pagination2) || has("limit", pagination2);
8
+ const isPagedPagination = (pagination2) => has("page", pagination2) || has("pageSize", pagination2) || !isOffsetPagination(pagination2);
8
9
  const shouldCount = (params) => {
9
10
  if (has("pagination.withCount", params)) {
10
11
  const withCount = params.pagination?.withCount;
@@ -26,52 +27,25 @@ const shouldCount = (params) => {
26
27
  }
27
28
  return Boolean(strapi.config.get("api.rest.withCount", true));
28
29
  };
29
- const isOffsetPagination = (pagination) => has("start", pagination) || has("limit", pagination);
30
- const isPagedPagination = (pagination) => has("page", pagination) || has("pageSize", pagination);
31
30
  const getPaginationInfo = (params) => {
32
31
  const { defaultLimit, maxLimit } = getLimitConfigDefaults();
33
- const { pagination } = params;
34
- const isPaged = isPagedPagination(pagination);
35
- const isOffset = isOffsetPagination(pagination);
36
- if (isOffset && isPaged) {
37
- throw new errors.ValidationError(
38
- "Invalid pagination parameters. Expected either start/limit or page/pageSize"
39
- );
40
- }
41
- if (!isOffset && !isPaged) {
42
- return {
43
- page: 1,
44
- pageSize: defaultLimit
45
- };
46
- }
47
- if (isPagedPagination(pagination)) {
48
- const pageSize = isUndefined(pagination.pageSize) ? defaultLimit : Math.max(1, toNumber(pagination.pageSize));
49
- return {
50
- page: Math.max(1, toNumber(pagination.page || 1)),
51
- pageSize: typeof maxLimit === "number" && shouldApplyMaxLimit(pageSize, maxLimit, { isPagedPagination: true }) ? maxLimit : Math.max(1, pageSize)
52
- };
53
- }
54
- const limit = isUndefined(pagination.limit) ? defaultLimit : toNumber(pagination.limit);
55
- return {
56
- start: Math.max(0, toNumber(pagination.start || 0)),
57
- limit: shouldApplyMaxLimit(limit, maxLimit) ? maxLimit || -1 : Math.max(1, limit)
58
- };
32
+ const { start, limit } = pagination.withDefaultPagination(params.pagination || {}, {
33
+ defaults: { offset: { limit: defaultLimit }, page: { pageSize: defaultLimit } },
34
+ maxLimit: maxLimit || -1
35
+ });
36
+ return { start, limit };
59
37
  };
60
- const transformPaginationResponse = (paginationInfo, count) => {
61
- if ("page" in paginationInfo) {
62
- return {
63
- ...paginationInfo,
64
- pageCount: Math.ceil(count / paginationInfo.pageSize),
65
- total: count
66
- };
38
+ const transformPaginationResponse = (paginationInfo, total, isPaged) => {
39
+ const transform = isPaged ? pagination.transformPagedPaginationInfo : pagination.transformOffsetPaginationInfo;
40
+ const paginationResponse = transform(paginationInfo, total);
41
+ if (!total) {
42
+ return omit(["total", "pageCount"], paginationResponse);
67
43
  }
68
- return {
69
- ...paginationInfo,
70
- total: count
71
- };
44
+ return paginationResponse;
72
45
  };
73
46
  export {
74
47
  getPaginationInfo,
48
+ isPagedPagination,
75
49
  shouldCount,
76
50
  transformPaginationResponse
77
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.mjs","sources":["../../../src/core-api/service/pagination.ts"],"sourcesContent":["import { has, toNumber, isUndefined } from 'lodash/fp';\nimport { errors } from '@strapi/utils';\n\ninterface BasePaginationParams {\n withCount?: boolean | 't' | '1' | 'true' | 'f' | '0' | 'false' | 0 | 1;\n}\n\ntype PagedPagination = BasePaginationParams & {\n page?: number;\n pageSize?: number;\n};\n\ntype OffsetPagination = BasePaginationParams & {\n start?: number;\n limit?: number;\n};\n\nexport type PaginationParams = PagedPagination | OffsetPagination;\n\ntype PaginationInfo =\n | {\n page: number;\n pageSize: number;\n }\n | {\n start: number;\n limit: number;\n };\n\n/**\n * Default limit values from config\n */\nconst getLimitConfigDefaults = () => ({\n defaultLimit: toNumber(strapi.config.get('api.rest.defaultLimit', 25)),\n maxLimit: toNumber(strapi.config.get('api.rest.maxLimit')) || null,\n});\n\n/**\n * Should maxLimit be used as the limit or not\n */\nconst shouldApplyMaxLimit = (\n limit: number,\n maxLimit: number | null,\n { isPagedPagination = false } = {}\n) => (!isPagedPagination && limit === -1) || (maxLimit !== null && limit > maxLimit);\n\nconst shouldCount = (params: { pagination?: PaginationParams }) => {\n if (has('pagination.withCount', params)) {\n const withCount = params.pagination?.withCount;\n\n if (typeof withCount === 'boolean') {\n return withCount;\n }\n\n if (typeof withCount === 'undefined') {\n return false;\n }\n\n if (['true', 't', '1', 1].includes(withCount)) {\n return true;\n }\n\n if (['false', 'f', '0', 0].includes(withCount)) {\n return false;\n }\n\n throw new errors.ValidationError(\n 'Invalid withCount parameter. Expected \"t\",\"1\",\"true\",\"false\",\"0\",\"f\"'\n );\n }\n\n return Boolean(strapi.config.get('api.rest.withCount', true));\n};\n\nconst isOffsetPagination = (pagination?: PaginationParams): pagination is OffsetPagination =>\n has('start', pagination) || has('limit', pagination);\n\nconst isPagedPagination = (pagination?: PaginationParams): pagination is PagedPagination =>\n has('page', pagination) || has('pageSize', pagination);\n\nconst getPaginationInfo = (params: { pagination?: PaginationParams }): PaginationInfo => {\n const { defaultLimit, maxLimit } = getLimitConfigDefaults();\n\n const { pagination } = params;\n\n const isPaged = isPagedPagination(pagination);\n const isOffset = isOffsetPagination(pagination);\n\n if (isOffset && isPaged) {\n throw new errors.ValidationError(\n 'Invalid pagination parameters. Expected either start/limit or page/pageSize'\n );\n }\n\n if (!isOffset && !isPaged) {\n return {\n page: 1,\n pageSize: defaultLimit,\n };\n }\n\n if (isPagedPagination(pagination)) {\n const pageSize = isUndefined(pagination.pageSize)\n ? defaultLimit\n : Math.max(1, toNumber(pagination.pageSize));\n\n return {\n page: Math.max(1, toNumber(pagination.page || 1)),\n pageSize:\n typeof maxLimit === 'number' &&\n shouldApplyMaxLimit(pageSize, maxLimit, { isPagedPagination: true })\n ? maxLimit\n : Math.max(1, pageSize),\n };\n }\n\n const limit = isUndefined(pagination.limit) ? defaultLimit : toNumber(pagination.limit);\n\n return {\n start: Math.max(0, toNumber(pagination.start || 0)),\n limit: shouldApplyMaxLimit(limit, maxLimit) ? maxLimit || -1 : Math.max(1, limit),\n };\n};\n\nconst transformPaginationResponse = (paginationInfo: PaginationInfo, count: number) => {\n if ('page' in paginationInfo) {\n return {\n ...paginationInfo,\n pageCount: Math.ceil(count / paginationInfo.pageSize),\n total: count,\n };\n }\n\n return {\n ...paginationInfo,\n total: count,\n };\n};\n\nexport { getPaginationInfo, transformPaginationResponse, shouldCount };\n"],"names":["isPagedPagination"],"mappings":";;AAgCA,MAAM,yBAAyB,OAAO;AAAA,EACpC,cAAc,SAAS,OAAO,OAAO,IAAI,yBAAyB,EAAE,CAAC;AAAA,EACrE,UAAU,SAAS,OAAO,OAAO,IAAI,mBAAmB,CAAC,KAAK;AAChE;AAKA,MAAM,sBAAsB,CAC1B,OACA,UACA,EAAE,mBAAAA,qBAAoB,UAAU,CAAA,MAC5B,CAACA,sBAAqB,UAAU,MAAQ,aAAa,QAAQ,QAAQ;AAErE,MAAA,cAAc,CAAC,WAA8C;AAC7D,MAAA,IAAI,wBAAwB,MAAM,GAAG;AACjC,UAAA,YAAY,OAAO,YAAY;AAEjC,QAAA,OAAO,cAAc,WAAW;AAC3B,aAAA;AAAA,IACT;AAEI,QAAA,OAAO,cAAc,aAAa;AAC7B,aAAA;AAAA,IACT;AAEI,QAAA,CAAC,QAAQ,KAAK,KAAK,CAAC,EAAE,SAAS,SAAS,GAAG;AACtC,aAAA;AAAA,IACT;AAEI,QAAA,CAAC,SAAS,KAAK,KAAK,CAAC,EAAE,SAAS,SAAS,GAAG;AACvC,aAAA;AAAA,IACT;AAEA,UAAM,IAAI,OAAO;AAAA,MACf;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAO,QAAQ,OAAO,OAAO,IAAI,sBAAsB,IAAI,CAAC;AAC9D;AAEA,MAAM,qBAAqB,CAAC,eAC1B,IAAI,SAAS,UAAU,KAAK,IAAI,SAAS,UAAU;AAErD,MAAM,oBAAoB,CAAC,eACzB,IAAI,QAAQ,UAAU,KAAK,IAAI,YAAY,UAAU;AAEjD,MAAA,oBAAoB,CAAC,WAA8D;AACvF,QAAM,EAAE,cAAc,SAAS,IAAI,uBAAuB;AAEpD,QAAA,EAAE,WAAe,IAAA;AAEjB,QAAA,UAAU,kBAAkB,UAAU;AACtC,QAAA,WAAW,mBAAmB,UAAU;AAE9C,MAAI,YAAY,SAAS;AACvB,UAAM,IAAI,OAAO;AAAA,MACf;AAAA,IAAA;AAAA,EAEJ;AAEI,MAAA,CAAC,YAAY,CAAC,SAAS;AAClB,WAAA;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EAEd;AAEI,MAAA,kBAAkB,UAAU,GAAG;AACjC,UAAM,WAAW,YAAY,WAAW,QAAQ,IAC5C,eACA,KAAK,IAAI,GAAG,SAAS,WAAW,QAAQ,CAAC;AAEtC,WAAA;AAAA,MACL,MAAM,KAAK,IAAI,GAAG,SAAS,WAAW,QAAQ,CAAC,CAAC;AAAA,MAChD,UACE,OAAO,aAAa,YACpB,oBAAoB,UAAU,UAAU,EAAE,mBAAmB,KAAA,CAAM,IAC/D,WACA,KAAK,IAAI,GAAG,QAAQ;AAAA,IAAA;AAAA,EAE9B;AAEM,QAAA,QAAQ,YAAY,WAAW,KAAK,IAAI,eAAe,SAAS,WAAW,KAAK;AAE/E,SAAA;AAAA,IACL,OAAO,KAAK,IAAI,GAAG,SAAS,WAAW,SAAS,CAAC,CAAC;AAAA,IAClD,OAAO,oBAAoB,OAAO,QAAQ,IAAI,YAAY,KAAK,KAAK,IAAI,GAAG,KAAK;AAAA,EAAA;AAEpF;AAEM,MAAA,8BAA8B,CAAC,gBAAgC,UAAkB;AACrF,MAAI,UAAU,gBAAgB;AACrB,WAAA;AAAA,MACL,GAAG;AAAA,MACH,WAAW,KAAK,KAAK,QAAQ,eAAe,QAAQ;AAAA,MACpD,OAAO;AAAA,IAAA;AAAA,EAEX;AAEO,SAAA;AAAA,IACL,GAAG;AAAA,IACH,OAAO;AAAA,EAAA;AAEX;"}
1
+ {"version":3,"file":"pagination.mjs","sources":["../../../src/core-api/service/pagination.ts"],"sourcesContent":["import { omit, has, toNumber } from 'lodash/fp';\n\nimport { errors, pagination } from '@strapi/utils';\n\ninterface BasePaginationParams {\n withCount?: boolean | 't' | '1' | 'true' | 'f' | '0' | 'false' | 0 | 1;\n}\n\ntype PagedPagination = BasePaginationParams & {\n page?: number;\n pageSize?: number;\n};\n\ntype OffsetPagination = BasePaginationParams & {\n start?: number;\n limit?: number;\n};\n\nexport type PaginationParams = PagedPagination | OffsetPagination;\n\ntype PaginationInfo =\n | {\n page: number;\n pageSize: number;\n }\n | {\n start: number;\n limit: number;\n };\n\n/**\n * Default limit values from config\n */\nconst getLimitConfigDefaults = () => ({\n defaultLimit: toNumber(strapi.config.get('api.rest.defaultLimit', 25)),\n maxLimit: toNumber(strapi.config.get('api.rest.maxLimit')) || null,\n});\n\nconst isOffsetPagination = (pagination?: PaginationParams): pagination is OffsetPagination =>\n has('start', pagination) || has('limit', pagination);\n\nconst isPagedPagination = (pagination?: PaginationParams): pagination is PagedPagination =>\n has('page', pagination) || has('pageSize', pagination) || !isOffsetPagination(pagination);\n\nconst shouldCount = (params: { pagination?: PaginationParams }) => {\n if (has('pagination.withCount', params)) {\n const withCount = params.pagination?.withCount;\n\n if (typeof withCount === 'boolean') {\n return withCount;\n }\n\n if (typeof withCount === 'undefined') {\n return false;\n }\n\n if (['true', 't', '1', 1].includes(withCount)) {\n return true;\n }\n\n if (['false', 'f', '0', 0].includes(withCount)) {\n return false;\n }\n\n throw new errors.ValidationError(\n 'Invalid withCount parameter. Expected \"t\",\"1\",\"true\",\"false\",\"0\",\"f\"'\n );\n }\n\n return Boolean(strapi.config.get('api.rest.withCount', true));\n};\n\nconst getPaginationInfo = (params: { pagination?: PaginationParams }): PaginationInfo => {\n const { defaultLimit, maxLimit } = getLimitConfigDefaults();\n\n const { start, limit } = pagination.withDefaultPagination(params.pagination || {}, {\n defaults: { offset: { limit: defaultLimit }, page: { pageSize: defaultLimit } },\n maxLimit: maxLimit || -1,\n });\n\n return { start, limit };\n};\n\nconst transformPaginationResponse = (\n paginationInfo: PaginationInfo,\n total: number | undefined,\n isPaged: boolean\n) => {\n const transform = isPaged\n ? pagination.transformPagedPaginationInfo\n : pagination.transformOffsetPaginationInfo;\n\n const paginationResponse = transform(paginationInfo, total!);\n\n if (!total) {\n // Ignore total and pageCount if `total` value is not available.\n return omit(['total', 'pageCount'], paginationResponse) as ReturnType<typeof transform>;\n }\n\n return paginationResponse;\n};\n\nexport { isPagedPagination, shouldCount, getPaginationInfo, transformPaginationResponse };\n"],"names":["pagination"],"mappings":";;AAiCA,MAAM,yBAAyB,OAAO;AAAA,EACpC,cAAc,SAAS,OAAO,OAAO,IAAI,yBAAyB,EAAE,CAAC;AAAA,EACrE,UAAU,SAAS,OAAO,OAAO,IAAI,mBAAmB,CAAC,KAAK;AAChE;AAEA,MAAM,qBAAqB,CAACA,gBAC1B,IAAI,SAASA,WAAU,KAAK,IAAI,SAASA,WAAU;AAErD,MAAM,oBAAoB,CAACA,gBACzB,IAAI,QAAQA,WAAU,KAAK,IAAI,YAAYA,WAAU,KAAK,CAAC,mBAAmBA,WAAU;AAEpF,MAAA,cAAc,CAAC,WAA8C;AAC7D,MAAA,IAAI,wBAAwB,MAAM,GAAG;AACjC,UAAA,YAAY,OAAO,YAAY;AAEjC,QAAA,OAAO,cAAc,WAAW;AAC3B,aAAA;AAAA,IACT;AAEI,QAAA,OAAO,cAAc,aAAa;AAC7B,aAAA;AAAA,IACT;AAEI,QAAA,CAAC,QAAQ,KAAK,KAAK,CAAC,EAAE,SAAS,SAAS,GAAG;AACtC,aAAA;AAAA,IACT;AAEI,QAAA,CAAC,SAAS,KAAK,KAAK,CAAC,EAAE,SAAS,SAAS,GAAG;AACvC,aAAA;AAAA,IACT;AAEA,UAAM,IAAI,OAAO;AAAA,MACf;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAO,QAAQ,OAAO,OAAO,IAAI,sBAAsB,IAAI,CAAC;AAC9D;AAEM,MAAA,oBAAoB,CAAC,WAA8D;AACvF,QAAM,EAAE,cAAc,SAAS,IAAI,uBAAuB;AAEpD,QAAA,EAAE,OAAO,UAAU,WAAW,sBAAsB,OAAO,cAAc,IAAI;AAAA,IACjF,UAAU,EAAE,QAAQ,EAAE,OAAO,aAAa,GAAG,MAAM,EAAE,UAAU,eAAe;AAAA,IAC9E,UAAU,YAAY;AAAA,EAAA,CACvB;AAEM,SAAA,EAAE,OAAO;AAClB;AAEA,MAAM,8BAA8B,CAClC,gBACA,OACA,YACG;AACH,QAAM,YAAY,UACd,WAAW,+BACX,WAAW;AAET,QAAA,qBAAqB,UAAU,gBAAgB,KAAM;AAE3D,MAAI,CAAC,OAAO;AAEV,WAAO,KAAK,CAAC,SAAS,WAAW,GAAG,kBAAkB;AAAA,EACxD;AAEO,SAAA;AACT;"}
@@ -1,15 +1,15 @@
1
- import type { Schema, CoreApi } from '@strapi/types';
1
+ import type { Struct, Core } from '@strapi/types';
2
2
  import { CoreService } from './core-service';
3
- export declare class SingleTypeService extends CoreService implements CoreApi.Service.SingleType {
3
+ export declare class SingleTypeService extends CoreService implements Core.CoreAPI.Service.SingleType {
4
4
  private contentType;
5
- constructor(contentType: Schema.SingleType);
6
- getDocumentId(opts?: {}): Promise<string>;
5
+ constructor(contentType: Struct.SingleTypeSchema);
6
+ getDocumentId(): Promise<string>;
7
7
  find(params?: {}): Promise<import("@strapi/types/dist/modules/documents").AnyDocument | null>;
8
8
  createOrUpdate(params?: {}): Promise<import("@strapi/types/dist/modules/documents").AnyDocument | null>;
9
9
  delete(params?: {}): Promise<{
10
10
  deletedEntries: number;
11
11
  }>;
12
12
  }
13
- declare const createSingleTypeService: (contentType: Schema.SingleType) => CoreApi.Service.SingleType;
13
+ declare const createSingleTypeService: (contentType: Struct.SingleTypeSchema) => Core.CoreAPI.Service.SingleType;
14
14
  export { createSingleTypeService };
15
15
  //# sourceMappingURL=single-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"single-type.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/single-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,WAAY,YAAW,OAAO,CAAC,OAAO,CAAC,UAAU;IACtF,OAAO,CAAC,WAAW,CAAoB;gBAE3B,WAAW,EAAE,MAAM,CAAC,UAAU;IAMpC,aAAa,CAAC,IAAI,KAAK;IASvB,IAAI,CAAC,MAAM,KAAK;IAMhB,cAAc,CAAC,MAAM,KAAK;IAa1B,MAAM,CAAC,MAAM,KAAK;;;CAQzB;AAED,QAAA,MAAM,uBAAuB,gBAAiB,OAAO,UAAU,KAAG,QAAQ,OAAO,CAAC,UAEjF,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"single-type.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/single-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,WAAY,YAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU;IAC3F,OAAO,CAAC,WAAW,CAA0B;gBAEjC,WAAW,EAAE,MAAM,CAAC,gBAAgB;IAM1C,aAAa;IASb,IAAI,CAAC,MAAM,KAAK;IAMhB,cAAc,CAAC,MAAM,KAAK;IAe1B,MAAM,CAAC,MAAM,KAAK;;;CAazB;AAED,QAAA,MAAM,uBAAuB,gBACd,OAAO,gBAAgB,KACnC,KAAK,OAAO,CAAC,OAAO,CAAC,UAEvB,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -7,9 +7,9 @@ class SingleTypeService extends coreService.CoreService {
7
7
  super();
8
8
  this.contentType = contentType;
9
9
  }
10
- async getDocumentId(opts = {}) {
10
+ async getDocumentId() {
11
11
  const { uid } = this.contentType;
12
- return strapi.documents(uid).findFirst(opts).then((document) => document?.documentId);
12
+ return strapi.db.query(uid).findOne().then((document) => document?.documentId);
13
13
  }
14
14
  async find(params = {}) {
15
15
  const { uid } = this.contentType;
@@ -17,10 +17,12 @@ class SingleTypeService extends coreService.CoreService {
17
17
  }
18
18
  async createOrUpdate(params = {}) {
19
19
  const { uid } = this.contentType;
20
- const fetchParams = this.getFetchParams(params);
21
- const documentId = await this.getDocumentId({ status: fetchParams.status });
20
+ const documentId = await this.getDocumentId();
22
21
  if (documentId) {
23
- return strapi.documents(uid).update(documentId, this.getFetchParams(params));
22
+ return strapi.documents(uid).update({
23
+ ...this.getFetchParams(params),
24
+ documentId
25
+ });
24
26
  }
25
27
  return strapi.documents(uid).create(this.getFetchParams(params));
26
28
  }
@@ -29,7 +31,11 @@ class SingleTypeService extends coreService.CoreService {
29
31
  const documentId = await this.getDocumentId();
30
32
  if (!documentId)
31
33
  return { deletedEntries: 0 };
32
- return strapi.documents(uid).delete(documentId, this.getFetchParams(params));
34
+ const { entries } = await strapi.documents(uid).delete({
35
+ ...this.getFetchParams(params),
36
+ documentId
37
+ });
38
+ return { deletedEntries: entries.length };
33
39
  }
34
40
  }
35
41
  const createSingleTypeService = (contentType) => {
@@ -1 +1 @@
1
- {"version":3,"file":"single-type.js","sources":["../../../src/core-api/service/single-type.ts"],"sourcesContent":["import type { Schema, CoreApi } from '@strapi/types';\nimport { CoreService } from './core-service';\n\nexport class SingleTypeService extends CoreService implements CoreApi.Service.SingleType {\n private contentType: Schema.SingleType;\n\n constructor(contentType: Schema.SingleType) {\n super();\n\n this.contentType = contentType;\n }\n\n async getDocumentId(opts = {}) {\n const { uid } = this.contentType;\n\n return strapi\n .documents(uid)\n .findFirst(opts)\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 fetchParams = this.getFetchParams(params);\n const documentId = await this.getDocumentId({ status: fetchParams.status });\n\n if (documentId) {\n return strapi.documents(uid).update(documentId, this.getFetchParams(params));\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(documentId, this.getFetchParams(params));\n }\n}\n\nconst createSingleTypeService = (contentType: Schema.SingleType): CoreApi.Service.SingleType => {\n return new SingleTypeService(contentType);\n};\n\nexport { createSingleTypeService };\n"],"names":["CoreService"],"mappings":";;;AAGO,MAAM,0BAA0BA,YAAAA,YAAkD;AAAA,EAC/E;AAAA,EAER,YAAY,aAAgC;AACpC;AAEN,SAAK,cAAc;AAAA,EACrB;AAAA,EAEA,MAAM,cAAc,OAAO,IAAI;AACvB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OACJ,UAAU,GAAG,EACb,UAAU,IAAI,EACd,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,cAAc,KAAK,eAAe,MAAM;AACxC,UAAA,aAAa,MAAM,KAAK,cAAc,EAAE,QAAQ,YAAY,QAAQ;AAE1E,QAAI,YAAY;AACP,aAAA,OAAO,UAAU,GAAG,EAAE,OAAO,YAAY,KAAK,eAAe,MAAM,CAAC;AAAA,IAC7E;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;AAEnC,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,YAAY,KAAK,eAAe,MAAM,CAAC;AAAA,EAC7E;AACF;AAEM,MAAA,0BAA0B,CAAC,gBAA+D;AACvF,SAAA,IAAI,kBAAkB,WAAW;AAC1C;;;"}
1
+ {"version":3,"file":"single-type.js","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 const { entries } = await strapi.documents(uid).delete({\n ...this.getFetchParams(params),\n documentId,\n });\n\n return { deletedEntries: entries.length };\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":["CoreService"],"mappings":";;;AAGO,MAAM,0BAA0BA,YAAAA,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;AAEpC,UAAA,EAAE,YAAY,MAAM,OAAO,UAAU,GAAG,EAAE,OAAO;AAAA,MACrD,GAAG,KAAK,eAAe,MAAM;AAAA,MAC7B;AAAA,IAAA,CACD;AAEM,WAAA,EAAE,gBAAgB,QAAQ;EACnC;AACF;AAEM,MAAA,0BAA0B,CAC9B,gBACoC;AAC7B,SAAA,IAAI,kBAAkB,WAAW;AAC1C;;;"}
@@ -5,9 +5,9 @@ class SingleTypeService extends CoreService {
5
5
  super();
6
6
  this.contentType = contentType;
7
7
  }
8
- async getDocumentId(opts = {}) {
8
+ async getDocumentId() {
9
9
  const { uid } = this.contentType;
10
- return strapi.documents(uid).findFirst(opts).then((document) => document?.documentId);
10
+ return strapi.db.query(uid).findOne().then((document) => document?.documentId);
11
11
  }
12
12
  async find(params = {}) {
13
13
  const { uid } = this.contentType;
@@ -15,10 +15,12 @@ class SingleTypeService extends CoreService {
15
15
  }
16
16
  async createOrUpdate(params = {}) {
17
17
  const { uid } = this.contentType;
18
- const fetchParams = this.getFetchParams(params);
19
- const documentId = await this.getDocumentId({ status: fetchParams.status });
18
+ const documentId = await this.getDocumentId();
20
19
  if (documentId) {
21
- return strapi.documents(uid).update(documentId, this.getFetchParams(params));
20
+ return strapi.documents(uid).update({
21
+ ...this.getFetchParams(params),
22
+ documentId
23
+ });
22
24
  }
23
25
  return strapi.documents(uid).create(this.getFetchParams(params));
24
26
  }
@@ -27,7 +29,11 @@ class SingleTypeService extends CoreService {
27
29
  const documentId = await this.getDocumentId();
28
30
  if (!documentId)
29
31
  return { deletedEntries: 0 };
30
- return strapi.documents(uid).delete(documentId, this.getFetchParams(params));
32
+ const { entries } = await strapi.documents(uid).delete({
33
+ ...this.getFetchParams(params),
34
+ documentId
35
+ });
36
+ return { deletedEntries: entries.length };
31
37
  }
32
38
  }
33
39
  const createSingleTypeService = (contentType) => {
@@ -1 +1 @@
1
- {"version":3,"file":"single-type.mjs","sources":["../../../src/core-api/service/single-type.ts"],"sourcesContent":["import type { Schema, CoreApi } from '@strapi/types';\nimport { CoreService } from './core-service';\n\nexport class SingleTypeService extends CoreService implements CoreApi.Service.SingleType {\n private contentType: Schema.SingleType;\n\n constructor(contentType: Schema.SingleType) {\n super();\n\n this.contentType = contentType;\n }\n\n async getDocumentId(opts = {}) {\n const { uid } = this.contentType;\n\n return strapi\n .documents(uid)\n .findFirst(opts)\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 fetchParams = this.getFetchParams(params);\n const documentId = await this.getDocumentId({ status: fetchParams.status });\n\n if (documentId) {\n return strapi.documents(uid).update(documentId, this.getFetchParams(params));\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(documentId, this.getFetchParams(params));\n }\n}\n\nconst createSingleTypeService = (contentType: Schema.SingleType): CoreApi.Service.SingleType => {\n return new SingleTypeService(contentType);\n};\n\nexport { createSingleTypeService };\n"],"names":[],"mappings":";AAGO,MAAM,0BAA0B,YAAkD;AAAA,EAC/E;AAAA,EAER,YAAY,aAAgC;AACpC;AAEN,SAAK,cAAc;AAAA,EACrB;AAAA,EAEA,MAAM,cAAc,OAAO,IAAI;AACvB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OACJ,UAAU,GAAG,EACb,UAAU,IAAI,EACd,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,cAAc,KAAK,eAAe,MAAM;AACxC,UAAA,aAAa,MAAM,KAAK,cAAc,EAAE,QAAQ,YAAY,QAAQ;AAE1E,QAAI,YAAY;AACP,aAAA,OAAO,UAAU,GAAG,EAAE,OAAO,YAAY,KAAK,eAAe,MAAM,CAAC;AAAA,IAC7E;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;AAEnC,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,YAAY,KAAK,eAAe,MAAM,CAAC;AAAA,EAC7E;AACF;AAEM,MAAA,0BAA0B,CAAC,gBAA+D;AACvF,SAAA,IAAI,kBAAkB,WAAW;AAC1C;"}
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 const { entries } = await strapi.documents(uid).delete({\n ...this.getFetchParams(params),\n documentId,\n });\n\n return { deletedEntries: entries.length };\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;AAEpC,UAAA,EAAE,YAAY,MAAM,OAAO,UAAU,GAAG,EAAE,OAAO;AAAA,MACrD,GAAG,KAAK,eAAe,MAAM;AAAA,MAC7B;AAAA,IAAA,CACD;AAEM,WAAA,EAAE,gBAAgB,QAAQ;EACnC;AACF;AAEM,MAAA,0BAA0B,CAC9B,gBACoC;AAC7B,SAAA,IAAI,kBAAkB,WAAW;AAC1C;"}
@@ -4,7 +4,7 @@ export type ContentTypeDefinition = {
4
4
  actions: Record<string, unknown>;
5
5
  lifecycles: Record<string, unknown>;
6
6
  };
7
- declare const createContentType: (uid: string, definition: ContentTypeDefinition) => Schema.ContentType;
7
+ declare const createContentType: (uid: string, definition: ContentTypeDefinition) => import("@strapi/types/dist/struct").ContentTypeSchema;
8
8
  declare const getGlobalId: (schema: Schema.ContentType, prefix?: string) => string;
9
9
  export { createContentType, getGlobalId };
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/content-type/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAUF,QAAA,MAAM,iBAAiB,QAAS,MAAM,cAAc,qBAAqB,uBA+BxE,CAAC;AAqDF,QAAA,MAAM,WAAW,WAAY,OAAO,WAAW,WAAW,MAAM,WAK/D,CAAC;AAmBF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/content-type/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAUF,QAAA,MAAM,iBAAiB,QAAS,MAAM,cAAc,qBAAqB,0DAiCxE,CAAC;AAyDF,QAAA,MAAM,WAAW,WAAY,OAAO,WAAW,WAAW,MAAM,WAK/D,CAAC;AAmBF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC"}
@@ -50,6 +50,9 @@ const addTimestamps = (schema) => {
50
50
  });
51
51
  };
52
52
  const addDraftAndPublish = (schema) => {
53
+ if (!___default.default.has(schema, "options.draftAndPublish")) {
54
+ ___default.default.set(schema, "options.draftAndPublish", false);
55
+ }
53
56
  schema.attributes[PUBLISHED_AT_ATTRIBUTE] = {
54
57
  type: "datetime",
55
58
  configurable: false,
@@ -1 +1 @@
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 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 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;AAEpB,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;AAClD,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,CAACC,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
+ {"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;;;"}
@@ -46,6 +46,9 @@ const addTimestamps = (schema) => {
46
46
  });
47
47
  };
48
48
  const addDraftAndPublish = (schema) => {
49
+ if (!_.has(schema, "options.draftAndPublish")) {
50
+ _.set(schema, "options.draftAndPublish", false);
51
+ }
49
52
  schema.attributes[PUBLISHED_AT_ATTRIBUTE] = {
50
53
  type: "datetime",
51
54
  configurable: false,
@@ -1 +1 @@
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 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 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;AAEpB,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;AAClD,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
+ {"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 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/domain/content-type/validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAwB,MAAM,eAAe,CAAC;AAkG1D,QAAA,MAAM,6BAA6B,SAAU,OAAO;;;;;;;;;;;;;;;;;;;GAEnD,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/domain/content-type/validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAW,MAAM,eAAe,CAAC;AAkG7C,QAAA,MAAM,6BAA6B,SAAU,OAAO;;;;;;;;;;;;;;;;;;;GAEnD,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
@@ -40,7 +40,7 @@ const contentTypeSchemaValidator = strapiUtils.yup.object().shape({
40
40
  for (const attrName of Object.keys(attributes)) {
41
41
  const attr = attributes[attrName];
42
42
  if (attr.type === "enumeration") {
43
- const regressedValues = attr.enum.map(strapiUtils.toRegressedEnumValue);
43
+ const regressedValues = attr.enum.map(strapiUtils.strings.toRegressedEnumValue);
44
44
  if (!regressedValues.every((value) => GRAPHQL_ENUM_REGEX.test(value))) {
45
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
46
  return this.createError({ message });
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sources":["../../../src/domain/content-type/validator.ts"],"sourcesContent":["import _ from 'lodash';\nimport { yup, toRegressedEnumValue } 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(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","toRegressedEnumValue"],"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,YAAoB,oBAAA;AAGtD,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
+ {"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,5 +1,5 @@
1
1
  import _ from "lodash";
2
- import { yup, toRegressedEnumValue } from "@strapi/utils";
2
+ import { yup, strings } from "@strapi/utils";
3
3
  const LIFECYCLES = [
4
4
  "beforeCreate",
5
5
  "afterCreate",
@@ -36,7 +36,7 @@ const contentTypeSchemaValidator = yup.object().shape({
36
36
  for (const attrName of Object.keys(attributes)) {
37
37
  const attr = attributes[attrName];
38
38
  if (attr.type === "enumeration") {
39
- const regressedValues = attr.enum.map(toRegressedEnumValue);
39
+ const regressedValues = attr.enum.map(strings.toRegressedEnumValue);
40
40
  if (!regressedValues.every((value) => GRAPHQL_ENUM_REGEX.test(value))) {
41
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
42
  return this.createError({ message });
@@ -1 +1 @@
1
- {"version":3,"file":"validator.mjs","sources":["../../../src/domain/content-type/validator.ts"],"sourcesContent":["import _ from 'lodash';\nimport { yup, toRegressedEnumValue } 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(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,oBAAoB;AAGtD,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
+ {"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,20 +1,21 @@
1
- import type { Strapi, Common, Schema } from '@strapi/types';
1
+ import { type PropertyPath } from 'lodash';
2
+ import type { Core, UID, Struct } from '@strapi/types';
2
3
  export interface RawModule {
3
4
  config?: Record<string, unknown>;
4
- routes?: Common.Module['routes'];
5
- controllers?: Common.Module['controllers'];
6
- services?: Common.Module['services'];
7
- contentTypes?: Common.Module['contentTypes'];
8
- policies?: Common.Module['policies'];
9
- middlewares?: Common.Module['middlewares'];
5
+ routes?: Core.Module['routes'];
6
+ controllers?: Core.Module['controllers'];
7
+ services?: Core.Module['services'];
8
+ contentTypes?: Core.Module['contentTypes'];
9
+ policies?: Core.Module['policies'];
10
+ middlewares?: Core.Module['middlewares'];
10
11
  bootstrap?: (params: {
11
- strapi: Strapi;
12
+ strapi: Core.Strapi;
12
13
  }) => Promise<void>;
13
14
  register?: (params: {
14
- strapi: Strapi;
15
+ strapi: Core.Strapi;
15
16
  }) => Promise<void>;
16
17
  destroy?: (params: {
17
- strapi: Strapi;
18
+ strapi: Core.Strapi;
18
19
  }) => Promise<void>;
19
20
  }
20
21
  export interface Module {
@@ -22,18 +23,18 @@ export interface Module {
22
23
  register: () => Promise<void>;
23
24
  destroy: () => Promise<void>;
24
25
  load: () => void;
25
- routes: Common.Module['routes'];
26
- config: (path: string, defaultValue?: unknown) => unknown;
27
- contentType: (ctName: Common.UID.ContentType) => Schema.ContentType;
28
- contentTypes: Record<string, Schema.ContentType>;
29
- service: (serviceName: Common.UID.Service) => Common.Service;
30
- services: Record<string, Common.Service>;
31
- policy: (policyName: Common.UID.Policy) => Common.Policy;
32
- policies: Record<string, Common.Policy>;
33
- middleware: (middlewareName: Common.UID.Middleware) => Common.Middleware;
34
- middlewares: Record<string, Common.Middleware>;
35
- controller: (controllerName: Common.UID.Controller) => Common.Controller;
36
- controllers: Record<string, Common.Controller>;
26
+ routes: Core.Module['routes'];
27
+ config<T = unknown>(key: PropertyPath, defaultVal?: T): T;
28
+ contentType: (ctName: UID.ContentType) => Struct.ContentTypeSchema;
29
+ contentTypes: Record<string, Struct.ContentTypeSchema>;
30
+ service: (serviceName: UID.Service) => Core.Service;
31
+ services: Record<string, Core.Service>;
32
+ policy: (policyName: UID.Policy) => Core.Policy;
33
+ policies: Record<string, Core.Policy>;
34
+ middleware: (middlewareName: UID.Middleware) => Core.Middleware;
35
+ middlewares: Record<string, Core.Middleware>;
36
+ controller: (controllerName: UID.Controller) => Core.Controller;
37
+ controllers: Record<string, Core.Controller>;
37
38
  }
38
- export declare const createModule: (namespace: string, rawModule: RawModule, strapi: Strapi) => Module;
39
+ export declare const createModule: (namespace: string, rawModule: RawModule, strapi: Core.Strapi) => Module;
39
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/module/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAW5D,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IAC1D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC;IACpE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;IACzD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;CAChD;AAmBD,eAAO,MAAM,YAAY,cAAe,MAAM,aAAa,SAAS,UAAU,MAAM,KAAG,MAoFtF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/module/index.ts"],"names":[],"mappings":"AAAA,OAAU,EAAE,KAAK,YAAY,EAAW,MAAM,QAAQ,CAAC;AAEvD,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAWvD,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1D,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC,iBAAiB,CAAC;IACnE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;IACpD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,UAAU,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,UAAU,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;CAC9C;AAiBD,eAAO,MAAM,YAAY,cACZ,MAAM,aACN,SAAS,UACZ,KAAK,MAAM,KAClB,MAqFF,CAAC"}
@@ -6,7 +6,6 @@ const namespace = require("../../registries/namespace.js");
6
6
  const validation = require("./validation.js");
7
7
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
8
8
  const ___default = /* @__PURE__ */ _interopDefault(_);
9
- const uidToPath = (uid) => uid.replace("::", ".");
10
9
  const removeNamespacedKeys = (map, namespace$1) => {
11
10
  return ___default.default.mapKeys(map, (value, key) => namespace.removeNamespace(key, namespace$1));
12
11
  };
@@ -58,13 +57,14 @@ ${e.errors.join("\n")}`);
58
57
  strapi.get("policies").add(namespace2, rawModule.policies);
59
58
  strapi.get("middlewares").add(namespace2, rawModule.middlewares);
60
59
  strapi.get("controllers").add(namespace2, rawModule.controllers);
61
- strapi.get("config").set(uidToPath(namespace2), rawModule.config);
60
+ strapi.get("config").set(namespace2, rawModule.config);
62
61
  },
63
62
  get routes() {
64
63
  return rawModule.routes ?? {};
65
64
  },
66
65
  config(path, defaultValue) {
67
- return strapi.get("config").get(`${uidToPath(namespace2)}.${path}`, defaultValue);
66
+ const pathArray = _.flatten([namespace2, path]);
67
+ return strapi.get("config").get(pathArray, defaultValue);
68
68
  },
69
69
  contentType(ctName) {
70
70
  return strapi.get("content-types").get(`${namespace2}.${ctName}`);