@strapi/core 0.0.0-experimental.3f7b2587c5e3d548262671895cf11d8bf8c9166e → 0.0.0-experimental.45c1b845d32b56e7c14f4155ec0d4a2d2774c77e

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

Potentially problematic release.


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

Files changed (306) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +8 -4
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +7 -3
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/configuration/index.d.ts.map +1 -1
  7. package/dist/configuration/index.js +4 -4
  8. package/dist/configuration/index.js.map +1 -1
  9. package/dist/configuration/index.mjs +1 -1
  10. package/dist/configuration/index.mjs.map +1 -1
  11. package/dist/configuration/urls.d.ts +8 -0
  12. package/dist/configuration/urls.d.ts.map +1 -0
  13. package/dist/configuration/urls.js +68 -0
  14. package/dist/configuration/urls.js.map +1 -0
  15. package/dist/configuration/urls.mjs +66 -0
  16. package/dist/configuration/urls.mjs.map +1 -0
  17. package/dist/core-api/controller/collection-type.d.ts +1 -1
  18. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  19. package/dist/core-api/controller/collection-type.js +9 -20
  20. package/dist/core-api/controller/collection-type.js.map +1 -1
  21. package/dist/core-api/controller/collection-type.mjs +8 -20
  22. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  23. package/dist/core-api/controller/index.d.ts.map +1 -1
  24. package/dist/core-api/controller/index.js +8 -3
  25. package/dist/core-api/controller/index.js.map +1 -1
  26. package/dist/core-api/controller/index.mjs +8 -3
  27. package/dist/core-api/controller/index.mjs.map +1 -1
  28. package/dist/core-api/controller/single-type.d.ts +1 -1
  29. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  30. package/dist/core-api/controller/single-type.js +6 -11
  31. package/dist/core-api/controller/single-type.js.map +1 -1
  32. package/dist/core-api/controller/single-type.mjs +5 -11
  33. package/dist/core-api/controller/single-type.mjs.map +1 -1
  34. package/dist/core-api/controller/transform.d.ts +9 -17
  35. package/dist/core-api/controller/transform.d.ts.map +1 -1
  36. package/dist/core-api/controller/transform.js +9 -14
  37. package/dist/core-api/controller/transform.js.map +1 -1
  38. package/dist/core-api/controller/transform.mjs +9 -14
  39. package/dist/core-api/controller/transform.mjs.map +1 -1
  40. package/dist/core-api/service/collection-type.d.ts +28 -5
  41. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  42. package/dist/core-api/service/collection-type.js +47 -49
  43. package/dist/core-api/service/collection-type.js.map +1 -1
  44. package/dist/core-api/service/collection-type.mjs +47 -50
  45. package/dist/core-api/service/collection-type.mjs.map +1 -1
  46. package/dist/core-api/service/core-service.d.ts +4 -0
  47. package/dist/core-api/service/core-service.d.ts.map +1 -0
  48. package/dist/core-api/service/core-service.js +12 -0
  49. package/dist/core-api/service/core-service.js.map +1 -0
  50. package/dist/core-api/service/core-service.mjs +12 -0
  51. package/dist/core-api/service/core-service.mjs.map +1 -0
  52. package/dist/core-api/service/index.js +2 -2
  53. package/dist/core-api/service/index.js.map +1 -1
  54. package/dist/core-api/service/index.mjs +4 -4
  55. package/dist/core-api/service/index.mjs.map +1 -1
  56. package/dist/core-api/service/pagination.d.ts +1 -5
  57. package/dist/core-api/service/pagination.d.ts.map +1 -1
  58. package/dist/core-api/service/pagination.js +0 -11
  59. package/dist/core-api/service/pagination.js.map +1 -1
  60. package/dist/core-api/service/pagination.mjs +0 -11
  61. package/dist/core-api/service/pagination.mjs.map +1 -1
  62. package/dist/core-api/service/single-type.d.ts +14 -8
  63. package/dist/core-api/service/single-type.d.ts.map +1 -1
  64. package/dist/core-api/service/single-type.js +35 -50
  65. package/dist/core-api/service/single-type.js.map +1 -1
  66. package/dist/core-api/service/single-type.mjs +34 -50
  67. package/dist/core-api/service/single-type.mjs.map +1 -1
  68. package/dist/domain/content-type/index.d.ts.map +1 -1
  69. package/dist/domain/content-type/index.js +3 -0
  70. package/dist/domain/content-type/index.js.map +1 -1
  71. package/dist/domain/content-type/index.mjs +3 -0
  72. package/dist/domain/content-type/index.mjs.map +1 -1
  73. package/dist/domain/content-type/validator.d.ts.map +1 -1
  74. package/dist/domain/content-type/validator.js +1 -1
  75. package/dist/domain/content-type/validator.js.map +1 -1
  76. package/dist/domain/content-type/validator.mjs +2 -2
  77. package/dist/domain/content-type/validator.mjs.map +1 -1
  78. package/dist/domain/module/index.d.ts.map +1 -1
  79. package/dist/domain/module/index.js +2 -3
  80. package/dist/domain/module/index.js.map +1 -1
  81. package/dist/domain/module/index.mjs +2 -3
  82. package/dist/domain/module/index.mjs.map +1 -1
  83. package/dist/factories.d.ts.map +1 -1
  84. package/dist/factories.js +2 -12
  85. package/dist/factories.js.map +1 -1
  86. package/dist/factories.mjs +2 -12
  87. package/dist/factories.mjs.map +1 -1
  88. package/dist/loaders/apis.js +1 -1
  89. package/dist/loaders/apis.js.map +1 -1
  90. package/dist/loaders/apis.mjs +2 -2
  91. package/dist/loaders/apis.mjs.map +1 -1
  92. package/dist/loaders/plugins/get-enabled-plugins.js +1 -1
  93. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  94. package/dist/loaders/plugins/get-enabled-plugins.mjs +2 -2
  95. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  96. package/dist/registries/config.d.ts +2 -2
  97. package/dist/registries/config.d.ts.map +1 -1
  98. package/dist/registries/config.js +14 -6
  99. package/dist/registries/config.js.map +1 -1
  100. package/dist/registries/config.mjs +15 -5
  101. package/dist/registries/config.mjs.map +1 -1
  102. package/dist/registries/content-types.d.ts.map +1 -1
  103. package/dist/registries/content-types.js +1 -2
  104. package/dist/registries/content-types.js.map +1 -1
  105. package/dist/registries/content-types.mjs +1 -2
  106. package/dist/registries/content-types.mjs.map +1 -1
  107. package/dist/services/document-service/common.d.ts +4 -0
  108. package/dist/services/document-service/common.d.ts.map +1 -0
  109. package/dist/services/document-service/common.js +7 -0
  110. package/dist/services/document-service/common.js.map +1 -0
  111. package/dist/services/document-service/common.mjs +7 -0
  112. package/dist/services/document-service/common.mjs.map +1 -0
  113. package/dist/services/document-service/draft-and-publish.d.ts +10 -0
  114. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -0
  115. package/dist/services/document-service/draft-and-publish.js +69 -0
  116. package/dist/services/document-service/draft-and-publish.js.map +1 -0
  117. package/dist/services/document-service/draft-and-publish.mjs +69 -0
  118. package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
  119. package/dist/services/document-service/{document-service.d.ts → index.d.ts} +2 -4
  120. package/dist/services/document-service/index.d.ts.map +1 -0
  121. package/dist/services/document-service/index.js +22 -0
  122. package/dist/services/document-service/index.js.map +1 -0
  123. package/dist/services/document-service/index.mjs +22 -0
  124. package/dist/services/document-service/index.mjs.map +1 -0
  125. package/dist/services/document-service/internationalization.d.ts +8 -0
  126. package/dist/services/document-service/internationalization.d.ts.map +1 -0
  127. package/dist/services/document-service/internationalization.js +54 -0
  128. package/dist/services/document-service/internationalization.js.map +1 -0
  129. package/dist/services/document-service/internationalization.mjs +54 -0
  130. package/dist/services/document-service/internationalization.mjs.map +1 -0
  131. package/dist/services/document-service/middlewares.d.ts +8 -0
  132. package/dist/services/document-service/middlewares.d.ts.map +1 -0
  133. package/dist/services/document-service/middlewares.js +46 -0
  134. package/dist/services/document-service/middlewares.js.map +1 -0
  135. package/dist/services/document-service/middlewares.mjs +46 -0
  136. package/dist/services/document-service/middlewares.mjs.map +1 -0
  137. package/dist/services/document-service/repository.d.ts +3 -0
  138. package/dist/services/document-service/repository.d.ts.map +1 -0
  139. package/dist/services/document-service/repository.js +304 -0
  140. package/dist/services/document-service/repository.js.map +1 -0
  141. package/dist/services/document-service/repository.mjs +304 -0
  142. package/dist/services/document-service/repository.mjs.map +1 -0
  143. package/dist/services/document-service/transform/data.d.ts +5 -0
  144. package/dist/services/document-service/transform/data.d.ts.map +1 -0
  145. package/dist/services/document-service/transform/data.js +13 -0
  146. package/dist/services/document-service/transform/data.js.map +1 -0
  147. package/dist/services/document-service/transform/data.mjs +13 -0
  148. package/dist/services/document-service/transform/data.mjs.map +1 -0
  149. package/dist/services/document-service/transform/fields.d.ts +5 -0
  150. package/dist/services/document-service/transform/fields.d.ts.map +1 -0
  151. package/dist/services/document-service/transform/fields.js +24 -0
  152. package/dist/services/document-service/transform/fields.js.map +1 -0
  153. package/dist/services/document-service/transform/fields.mjs +24 -0
  154. package/dist/services/document-service/transform/fields.mjs.map +1 -0
  155. package/dist/services/document-service/transform/filters.d.ts +3 -0
  156. package/dist/services/document-service/transform/filters.d.ts.map +1 -0
  157. package/dist/services/document-service/transform/id-map.d.ts +23 -0
  158. package/dist/services/document-service/transform/id-map.d.ts.map +1 -0
  159. package/dist/services/document-service/transform/id-map.js +78 -0
  160. package/dist/services/document-service/transform/id-map.js.map +1 -0
  161. package/dist/services/document-service/transform/id-map.mjs +78 -0
  162. package/dist/services/document-service/transform/id-map.mjs.map +1 -0
  163. package/dist/services/document-service/transform/id-transform.d.ts +5 -0
  164. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -0
  165. package/dist/services/document-service/transform/id-transform.js +33 -0
  166. package/dist/services/document-service/transform/id-transform.js.map +1 -0
  167. package/dist/services/document-service/transform/id-transform.mjs +33 -0
  168. package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
  169. package/dist/services/document-service/transform/populate.d.ts +6 -0
  170. package/dist/services/document-service/transform/populate.d.ts.map +1 -0
  171. package/dist/services/document-service/transform/populate.js +21 -0
  172. package/dist/services/document-service/transform/populate.js.map +1 -0
  173. package/dist/services/document-service/transform/populate.mjs +21 -0
  174. package/dist/services/document-service/transform/populate.mjs.map +1 -0
  175. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +13 -0
  176. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -0
  177. package/dist/services/document-service/transform/relations/extract/data-ids.js +90 -0
  178. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
  179. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +90 -0
  180. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
  181. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +10 -0
  182. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -0
  183. package/dist/services/document-service/transform/relations/transform/data-ids.js +141 -0
  184. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
  185. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +141 -0
  186. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
  187. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +4 -0
  188. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +1 -0
  189. package/dist/services/document-service/transform/relations/utils/data.d.ts +4 -0
  190. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -0
  191. package/dist/services/document-service/transform/relations/utils/data.js +12 -0
  192. package/dist/services/document-service/transform/relations/utils/data.js.map +1 -0
  193. package/dist/services/document-service/transform/relations/utils/data.mjs +12 -0
  194. package/dist/services/document-service/transform/relations/utils/data.mjs.map +1 -0
  195. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  196. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  197. package/dist/services/document-service/transform/relations/utils/dp.js +25 -0
  198. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  199. package/dist/services/document-service/transform/relations/utils/dp.mjs +25 -0
  200. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  201. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +10 -0
  202. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -0
  203. package/dist/services/document-service/transform/relations/utils/i18n.js +31 -0
  204. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
  205. package/dist/services/document-service/transform/relations/utils/i18n.mjs +31 -0
  206. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
  207. package/dist/services/document-service/transform/relations/utils/types.d.ts +15 -0
  208. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -0
  209. package/dist/services/document-service/transform/sort.d.ts +5 -0
  210. package/dist/services/document-service/transform/sort.d.ts.map +1 -0
  211. package/dist/services/document-service/transform/types.d.ts +13 -0
  212. package/dist/services/document-service/transform/types.d.ts.map +1 -0
  213. package/dist/services/document-service/transform/utils.d.ts +9 -0
  214. package/dist/services/document-service/transform/utils.d.ts.map +1 -0
  215. package/dist/services/document-service/utils/populate.d.ts +3 -0
  216. package/dist/services/document-service/utils/populate.d.ts.map +1 -0
  217. package/dist/services/document-service/utils/populate.js +41 -0
  218. package/dist/services/document-service/utils/populate.js.map +1 -0
  219. package/dist/services/document-service/utils/populate.mjs +41 -0
  220. package/dist/services/document-service/utils/populate.mjs.map +1 -0
  221. package/dist/services/entity-service/components.js +8 -8
  222. package/dist/services/entity-service/components.js.map +1 -1
  223. package/dist/services/entity-service/components.mjs +9 -9
  224. package/dist/services/entity-service/components.mjs.map +1 -1
  225. package/dist/services/entity-service/index.d.ts.map +1 -1
  226. package/dist/services/entity-service/index.js +3 -3
  227. package/dist/services/entity-service/index.js.map +1 -1
  228. package/dist/services/entity-service/index.mjs +3 -3
  229. package/dist/services/entity-service/index.mjs.map +1 -1
  230. package/dist/services/entity-service/params.d.ts +4 -4
  231. package/dist/services/entity-service/params.d.ts.map +1 -1
  232. package/dist/services/entity-service/params.js +1 -1
  233. package/dist/services/entity-service/params.js.map +1 -1
  234. package/dist/services/entity-service/params.mjs +1 -1
  235. package/dist/services/entity-service/params.mjs.map +1 -1
  236. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  237. package/dist/services/entity-validator/blocks-validator.js +22 -2
  238. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  239. package/dist/services/entity-validator/blocks-validator.mjs +22 -2
  240. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  241. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  242. package/dist/services/entity-validator/validators.js +7 -8
  243. package/dist/services/entity-validator/validators.js.map +1 -1
  244. package/dist/services/entity-validator/validators.mjs +7 -8
  245. package/dist/services/entity-validator/validators.mjs.map +1 -1
  246. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  247. package/dist/services/server/compose-endpoint.js +3 -0
  248. package/dist/services/server/compose-endpoint.js.map +1 -1
  249. package/dist/services/server/compose-endpoint.mjs +3 -0
  250. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  251. package/dist/services/webhook-store.js +2 -2
  252. package/dist/services/webhook-store.js.map +1 -1
  253. package/dist/services/webhook-store.mjs +2 -2
  254. package/dist/services/webhook-store.mjs.map +1 -1
  255. package/dist/utils/load-config-file.js +1 -1
  256. package/dist/utils/load-config-file.js.map +1 -1
  257. package/dist/utils/load-config-file.mjs +2 -2
  258. package/dist/utils/load-config-file.mjs.map +1 -1
  259. package/dist/utils/transform-content-types-to-models.d.ts +174 -3
  260. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  261. package/dist/utils/transform-content-types-to-models.js +80 -41
  262. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  263. package/dist/utils/transform-content-types-to-models.mjs +79 -41
  264. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  265. package/package.json +14 -14
  266. package/dist/core-api/service/get-fetch-params.d.ts +0 -7
  267. package/dist/core-api/service/get-fetch-params.d.ts.map +0 -1
  268. package/dist/core-api/service/get-fetch-params.js +0 -14
  269. package/dist/core-api/service/get-fetch-params.js.map +0 -1
  270. package/dist/core-api/service/get-fetch-params.mjs +0 -14
  271. package/dist/core-api/service/get-fetch-params.mjs.map +0 -1
  272. package/dist/services/document-service/document-engine.d.ts +0 -8
  273. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  274. package/dist/services/document-service/document-engine.js +0 -200
  275. package/dist/services/document-service/document-engine.js.map +0 -1
  276. package/dist/services/document-service/document-engine.mjs +0 -201
  277. package/dist/services/document-service/document-engine.mjs.map +0 -1
  278. package/dist/services/document-service/document-service.d.ts.map +0 -1
  279. package/dist/services/document-service/document-service.js +0 -132
  280. package/dist/services/document-service/document-service.js.map +0 -1
  281. package/dist/services/document-service/document-service.mjs +0 -132
  282. package/dist/services/document-service/document-service.mjs.map +0 -1
  283. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts +0 -26
  284. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts.map +0 -1
  285. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js +0 -58
  286. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js.map +0 -1
  287. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs +0 -58
  288. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs.map +0 -1
  289. package/dist/services/document-service/middlewares/defaults/index.d.ts +0 -3
  290. package/dist/services/document-service/middlewares/defaults/index.d.ts.map +0 -1
  291. package/dist/services/document-service/middlewares/defaults/index.js +0 -82
  292. package/dist/services/document-service/middlewares/defaults/index.js.map +0 -1
  293. package/dist/services/document-service/middlewares/defaults/index.mjs +0 -82
  294. package/dist/services/document-service/middlewares/defaults/index.mjs.map +0 -1
  295. package/dist/services/document-service/middlewares/defaults/locales.d.ts +0 -18
  296. package/dist/services/document-service/middlewares/defaults/locales.d.ts.map +0 -1
  297. package/dist/services/document-service/middlewares/defaults/locales.js +0 -50
  298. package/dist/services/document-service/middlewares/defaults/locales.js.map +0 -1
  299. package/dist/services/document-service/middlewares/defaults/locales.mjs +0 -50
  300. package/dist/services/document-service/middlewares/defaults/locales.mjs.map +0 -1
  301. package/dist/services/document-service/middlewares/index.d.ts +0 -11
  302. package/dist/services/document-service/middlewares/index.d.ts.map +0 -1
  303. package/dist/services/document-service/middlewares/index.js +0 -59
  304. package/dist/services/document-service/middlewares/index.js.map +0 -1
  305. package/dist/services/document-service/middlewares/index.mjs +0 -59
  306. package/dist/services/document-service/middlewares/index.mjs.map +0 -1
@@ -1,26 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const _ = require("lodash/fp");
4
- const strapiUtils = require("@strapi/utils");
5
4
  function isEntry(property) {
6
5
  return property === null || _.isPlainObject(property) || Array.isArray(property);
7
6
  }
8
7
  function isDZEntries(property) {
9
8
  return Array.isArray(property);
10
9
  }
11
- const parseBody = (ctx) => {
12
- if (ctx.is("multipart")) {
13
- return strapiUtils.parseMultipartData(ctx);
14
- }
15
- const { data } = ctx.request.body || {};
16
- return { data };
17
- };
18
- const transformResponse = (resource, meta = {}, opts = {}) => {
10
+ const transformResponse = (resource, meta = {}, opts = {
11
+ useJsonAPIFormat: false
12
+ }) => {
19
13
  if (_.isNil(resource)) {
20
14
  return resource;
21
15
  }
16
+ if (!_.isPlainObject(resource) && !Array.isArray(resource)) {
17
+ throw new Error("Entry must be an object or an arrayy of objects");
18
+ }
22
19
  return {
23
- data: transformEntry(resource, opts?.contentType),
20
+ data: opts.useJsonAPIFormat ? transformEntry(resource, opts?.contentType) : resource,
24
21
  meta
25
22
  };
26
23
  };
@@ -45,7 +42,7 @@ function transformEntry(entry, type) {
45
42
  if (!_.isPlainObject(entry)) {
46
43
  throw new Error("Entry must be an object");
47
44
  }
48
- const { id, ...properties } = entry;
45
+ const { id, documentId, ...properties } = entry;
49
46
  const attributeValues = {};
50
47
  for (const key of Object.keys(properties)) {
51
48
  const property = properties[key];
@@ -74,11 +71,9 @@ function transformEntry(entry, type) {
74
71
  }
75
72
  return {
76
73
  id,
74
+ documentId,
77
75
  attributes: attributeValues
78
- // NOTE: not necessary for now
79
- // meta: {},
80
76
  };
81
77
  }
82
- exports.parseBody = parseBody;
83
78
  exports.transformResponse = transformResponse;
84
79
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sources":["../../../src/core-api/controller/transform.ts"],"sourcesContent":["import { isNil, isPlainObject } from 'lodash/fp';\nimport { parseMultipartData } from '@strapi/utils';\nimport type Koa from 'koa';\nimport type { Common, Schema, UID } from '@strapi/types';\n\ntype TransformedEntry = {\n id: string;\n attributes: Record<string, unknown>;\n meta?: Record<string, unknown>;\n};\n\ntype TransformedComponent = {\n id: string;\n [key: string]: unknown;\n};\n\ntype Entry = {\n id: string;\n [key: string]: Entry | Entry[] | string | number | null | boolean | Date;\n};\n\nfunction isEntry(property: unknown): property is Entry | Entry[] {\n return property === null || isPlainObject(property) || Array.isArray(property);\n}\n\nfunction isDZEntries(property: unknown): property is (Entry & { __component: UID.Component })[] {\n return Array.isArray(property);\n}\n\nconst parseBody = (ctx: Koa.Context) => {\n if (ctx.is('multipart')) {\n return parseMultipartData(ctx);\n }\n\n const { data } = ctx.request.body || {};\n\n return { data };\n};\n\nconst transformResponse = (\n resource: any,\n meta: unknown = {},\n opts: { contentType?: Schema.ContentType | Schema.Component } = {}\n) => {\n if (isNil(resource)) {\n return resource;\n }\n\n return {\n data: transformEntry(resource, opts?.contentType),\n meta,\n };\n};\n\nfunction transformComponent<T extends Entry | Entry[] | null>(\n data: T,\n component: Schema.Component\n): T extends Entry[] ? TransformedComponent[] : T extends Entry ? TransformedComponent : null;\nfunction transformComponent(\n data: Entry | Entry[] | null,\n component: Schema.Component\n): TransformedComponent | TransformedComponent[] | null {\n if (Array.isArray(data)) {\n return data.map((datum) => transformComponent(datum, component));\n }\n\n const res = transformEntry(data, component);\n\n if (isNil(res)) {\n return res;\n }\n\n const { id, attributes } = res;\n return { id, ...attributes };\n}\n\nfunction transformEntry<T extends Entry | Entry[] | null>(\n entry: T,\n type?: Schema.ContentType | Schema.Component\n): T extends Entry[] ? TransformedEntry[] : T extends Entry ? TransformedEntry : null;\nfunction transformEntry(\n entry: Entry | Entry[] | null,\n type?: Schema.ContentType | Schema.Component\n): TransformedEntry | TransformedEntry[] | null {\n if (isNil(entry)) {\n return entry;\n }\n\n if (Array.isArray(entry)) {\n return entry.map((singleEntry) => transformEntry(singleEntry, type));\n }\n\n if (!isPlainObject(entry)) {\n throw new Error('Entry must be an object');\n }\n\n const { id, ...properties } = entry;\n\n const attributeValues: Record<string, unknown> = {};\n\n for (const key of Object.keys(properties)) {\n const property = properties[key];\n const attribute = type && type.attributes[key];\n\n if (attribute && attribute.type === 'relation' && isEntry(property) && 'target' in attribute) {\n const data = transformEntry(\n property,\n strapi.contentType(attribute.target as Common.UID.ContentType)\n );\n\n attributeValues[key] = { data };\n } else if (attribute && attribute.type === 'component' && isEntry(property)) {\n attributeValues[key] = transformComponent(property, strapi.components[attribute.component]);\n } else if (attribute && attribute.type === 'dynamiczone' && isDZEntries(property)) {\n if (isNil(property)) {\n attributeValues[key] = property;\n }\n\n attributeValues[key] = property.map((subProperty) => {\n return transformComponent(subProperty, strapi.components[subProperty.__component]);\n });\n } else if (attribute && attribute.type === 'media' && isEntry(property)) {\n const data = transformEntry(property, strapi.contentType('plugin::upload.file'));\n\n attributeValues[key] = { data };\n } else {\n attributeValues[key] = property;\n }\n }\n\n return {\n id,\n attributes: attributeValues,\n // NOTE: not necessary for now\n // meta: {},\n };\n}\n\nexport { parseBody, transformResponse };\n"],"names":["isPlainObject","parseMultipartData","isNil"],"mappings":";;;;AAqBA,SAAS,QAAQ,UAAgD;AAC/D,SAAO,aAAa,QAAQA,gBAAc,QAAQ,KAAK,MAAM,QAAQ,QAAQ;AAC/E;AAEA,SAAS,YAAY,UAA2E;AACvF,SAAA,MAAM,QAAQ,QAAQ;AAC/B;AAEM,MAAA,YAAY,CAAC,QAAqB;AAClC,MAAA,IAAI,GAAG,WAAW,GAAG;AACvB,WAAOC,YAAAA,mBAAmB,GAAG;AAAA,EAC/B;AAEA,QAAM,EAAE,KAAK,IAAI,IAAI,QAAQ,QAAQ,CAAA;AAErC,SAAO,EAAE,KAAK;AAChB;AAEM,MAAA,oBAAoB,CACxB,UACA,OAAgB,CAAA,GAChB,OAAgE,CAAA,MAC7D;AACC,MAAAC,EAAAA,MAAM,QAAQ,GAAG;AACZ,WAAA;AAAA,EACT;AAEO,SAAA;AAAA,IACL,MAAM,eAAe,UAAU,MAAM,WAAW;AAAA,IAChD;AAAA,EAAA;AAEJ;AAMA,SAAS,mBACP,MACA,WACsD;AAClD,MAAA,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAO,KAAK,IAAI,CAAC,UAAU,mBAAmB,OAAO,SAAS,CAAC;AAAA,EACjE;AAEM,QAAA,MAAM,eAAe,MAAM,SAAS;AAEtC,MAAAA,EAAAA,MAAM,GAAG,GAAG;AACP,WAAA;AAAA,EACT;AAEM,QAAA,EAAE,IAAI,WAAe,IAAA;AACpB,SAAA,EAAE,IAAI,GAAG;AAClB;AAMA,SAAS,eACP,OACA,MAC8C;AAC1C,MAAAA,EAAAA,MAAM,KAAK,GAAG;AACT,WAAA;AAAA,EACT;AAEI,MAAA,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,IAAI,CAAC,gBAAgB,eAAe,aAAa,IAAI,CAAC;AAAA,EACrE;AAEI,MAAA,CAACF,EAAAA,cAAc,KAAK,GAAG;AACnB,UAAA,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAEA,QAAM,EAAE,IAAI,GAAG,WAAA,IAAe;AAE9B,QAAM,kBAA2C,CAAA;AAEjD,aAAW,OAAO,OAAO,KAAK,UAAU,GAAG;AACnC,UAAA,WAAW,WAAW,GAAG;AAC/B,UAAM,YAAY,QAAQ,KAAK,WAAW,GAAG;AAEzC,QAAA,aAAa,UAAU,SAAS,cAAc,QAAQ,QAAQ,KAAK,YAAY,WAAW;AAC5F,YAAM,OAAO;AAAA,QACX;AAAA,QACA,OAAO,YAAY,UAAU,MAAgC;AAAA,MAAA;AAG/C,sBAAA,GAAG,IAAI,EAAE;IAAK,WACrB,aAAa,UAAU,SAAS,eAAe,QAAQ,QAAQ,GAAG;AAC3D,sBAAA,GAAG,IAAI,mBAAmB,UAAU,OAAO,WAAW,UAAU,SAAS,CAAC;AAAA,IAAA,WACjF,aAAa,UAAU,SAAS,iBAAiB,YAAY,QAAQ,GAAG;AAC7E,UAAAE,EAAAA,MAAM,QAAQ,GAAG;AACnB,wBAAgB,GAAG,IAAI;AAAA,MACzB;AAEA,sBAAgB,GAAG,IAAI,SAAS,IAAI,CAAC,gBAAgB;AACnD,eAAO,mBAAmB,aAAa,OAAO,WAAW,YAAY,WAAW,CAAC;AAAA,MAAA,CAClF;AAAA,IAAA,WACQ,aAAa,UAAU,SAAS,WAAW,QAAQ,QAAQ,GAAG;AACvE,YAAM,OAAO,eAAe,UAAU,OAAO,YAAY,qBAAqB,CAAC;AAE/D,sBAAA,GAAG,IAAI,EAAE;IAAK,OACzB;AACL,sBAAgB,GAAG,IAAI;AAAA,IACzB;AAAA,EACF;AAEO,SAAA;AAAA,IACL;AAAA,IACA,YAAY;AAAA;AAAA;AAAA,EAAA;AAIhB;;;"}
1
+ {"version":3,"file":"transform.js","sources":["../../../src/core-api/controller/transform.ts"],"sourcesContent":["import { isNil, isPlainObject } from 'lodash/fp';\nimport type { Common, Schema, UID } from '@strapi/types';\n\ntype TransformedEntry = {\n id: string;\n documentId?: string | null;\n attributes: Record<string, unknown>;\n};\n\ntype TransformedComponent = {\n id: string;\n [key: string]: unknown;\n};\n\ntype Entry = {\n id: string;\n documentId: string | null;\n [key: string]: Entry | Entry[] | string | number | null | boolean | Date;\n};\n\nfunction isEntry(property: unknown): property is Entry | Entry[] {\n return property === null || isPlainObject(property) || Array.isArray(property);\n}\n\nfunction isDZEntries(property: unknown): property is (Entry & { __component: UID.Component })[] {\n return Array.isArray(property);\n}\n\ninterface TransformOptions {\n contentType?: Schema.ContentType | Schema.Component;\n /**\n * @deprecated this option is deprecated and will be removed in the next major version\n */\n useJsonAPIFormat?: boolean;\n}\n\nconst transformResponse = (\n resource: any,\n meta: unknown = {},\n opts: TransformOptions = {\n useJsonAPIFormat: false,\n }\n) => {\n if (isNil(resource)) {\n return resource;\n }\n\n if (!isPlainObject(resource) && !Array.isArray(resource)) {\n throw new Error('Entry must be an object or an arrayy of objects');\n }\n\n return {\n data: opts.useJsonAPIFormat ? transformEntry(resource, opts?.contentType) : resource,\n meta,\n };\n};\n\nfunction transformComponent<T extends Entry | Entry[] | null>(\n data: T,\n component: Schema.Component\n): T extends Entry[] ? TransformedComponent[] : T extends Entry ? TransformedComponent : null;\nfunction transformComponent(\n data: Entry | Entry[] | null,\n component: Schema.Component\n): TransformedComponent | TransformedComponent[] | null {\n if (Array.isArray(data)) {\n return data.map((datum) => transformComponent(datum, component));\n }\n\n const res = transformEntry(data, component);\n\n if (isNil(res)) {\n return res;\n }\n\n const { id, attributes } = res;\n return { id, ...attributes };\n}\n\nfunction transformEntry<T extends Entry | Entry[] | null>(\n entry: T,\n type?: Schema.ContentType | Schema.Component\n): T extends Entry[] ? TransformedEntry[] : T extends Entry ? TransformedEntry : null;\nfunction transformEntry(\n entry: Entry | Entry[] | null,\n type?: Schema.ContentType | Schema.Component\n): TransformedEntry | TransformedEntry[] | null {\n if (isNil(entry)) {\n return entry;\n }\n\n if (Array.isArray(entry)) {\n return entry.map((singleEntry) => transformEntry(singleEntry, type));\n }\n\n if (!isPlainObject(entry)) {\n throw new Error('Entry must be an object');\n }\n\n const { id, documentId, ...properties } = entry;\n\n const attributeValues: Record<string, unknown> = {};\n\n for (const key of Object.keys(properties)) {\n const property = properties[key];\n const attribute = type && type.attributes[key];\n\n if (attribute && attribute.type === 'relation' && isEntry(property) && 'target' in attribute) {\n const data = transformEntry(\n property,\n strapi.contentType(attribute.target as Common.UID.ContentType)\n );\n\n attributeValues[key] = { data };\n } else if (attribute && attribute.type === 'component' && isEntry(property)) {\n attributeValues[key] = transformComponent(property, strapi.components[attribute.component]);\n } else if (attribute && attribute.type === 'dynamiczone' && isDZEntries(property)) {\n if (isNil(property)) {\n attributeValues[key] = property;\n }\n\n attributeValues[key] = property.map((subProperty) => {\n return transformComponent(subProperty, strapi.components[subProperty.__component]);\n });\n } else if (attribute && attribute.type === 'media' && isEntry(property)) {\n const data = transformEntry(property, strapi.contentType('plugin::upload.file'));\n\n attributeValues[key] = { data };\n } else {\n attributeValues[key] = property;\n }\n }\n\n return {\n id,\n documentId,\n attributes: attributeValues,\n };\n}\n\nexport { transformResponse };\n"],"names":["isPlainObject","isNil"],"mappings":";;;AAoBA,SAAS,QAAQ,UAAgD;AAC/D,SAAO,aAAa,QAAQA,gBAAc,QAAQ,KAAK,MAAM,QAAQ,QAAQ;AAC/E;AAEA,SAAS,YAAY,UAA2E;AACvF,SAAA,MAAM,QAAQ,QAAQ;AAC/B;AAUA,MAAM,oBAAoB,CACxB,UACA,OAAgB,CAAA,GAChB,OAAyB;AAAA,EACvB,kBAAkB;AACpB,MACG;AACC,MAAAC,EAAAA,MAAM,QAAQ,GAAG;AACZ,WAAA;AAAA,EACT;AAEI,MAAA,CAACD,gBAAc,QAAQ,KAAK,CAAC,MAAM,QAAQ,QAAQ,GAAG;AAClD,UAAA,IAAI,MAAM,iDAAiD;AAAA,EACnE;AAEO,SAAA;AAAA,IACL,MAAM,KAAK,mBAAmB,eAAe,UAAU,MAAM,WAAW,IAAI;AAAA,IAC5E;AAAA,EAAA;AAEJ;AAMA,SAAS,mBACP,MACA,WACsD;AAClD,MAAA,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAO,KAAK,IAAI,CAAC,UAAU,mBAAmB,OAAO,SAAS,CAAC;AAAA,EACjE;AAEM,QAAA,MAAM,eAAe,MAAM,SAAS;AAEtC,MAAAC,EAAAA,MAAM,GAAG,GAAG;AACP,WAAA;AAAA,EACT;AAEM,QAAA,EAAE,IAAI,WAAe,IAAA;AACpB,SAAA,EAAE,IAAI,GAAG;AAClB;AAMA,SAAS,eACP,OACA,MAC8C;AAC1C,MAAAA,EAAAA,MAAM,KAAK,GAAG;AACT,WAAA;AAAA,EACT;AAEI,MAAA,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,IAAI,CAAC,gBAAgB,eAAe,aAAa,IAAI,CAAC;AAAA,EACrE;AAEI,MAAA,CAACD,EAAAA,cAAc,KAAK,GAAG;AACnB,UAAA,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAEA,QAAM,EAAE,IAAI,YAAY,GAAG,eAAe;AAE1C,QAAM,kBAA2C,CAAA;AAEjD,aAAW,OAAO,OAAO,KAAK,UAAU,GAAG;AACnC,UAAA,WAAW,WAAW,GAAG;AAC/B,UAAM,YAAY,QAAQ,KAAK,WAAW,GAAG;AAEzC,QAAA,aAAa,UAAU,SAAS,cAAc,QAAQ,QAAQ,KAAK,YAAY,WAAW;AAC5F,YAAM,OAAO;AAAA,QACX;AAAA,QACA,OAAO,YAAY,UAAU,MAAgC;AAAA,MAAA;AAG/C,sBAAA,GAAG,IAAI,EAAE;IAAK,WACrB,aAAa,UAAU,SAAS,eAAe,QAAQ,QAAQ,GAAG;AAC3D,sBAAA,GAAG,IAAI,mBAAmB,UAAU,OAAO,WAAW,UAAU,SAAS,CAAC;AAAA,IAAA,WACjF,aAAa,UAAU,SAAS,iBAAiB,YAAY,QAAQ,GAAG;AAC7E,UAAAC,EAAAA,MAAM,QAAQ,GAAG;AACnB,wBAAgB,GAAG,IAAI;AAAA,MACzB;AAEA,sBAAgB,GAAG,IAAI,SAAS,IAAI,CAAC,gBAAgB;AACnD,eAAO,mBAAmB,aAAa,OAAO,WAAW,YAAY,WAAW,CAAC;AAAA,MAAA,CAClF;AAAA,IAAA,WACQ,aAAa,UAAU,SAAS,WAAW,QAAQ,QAAQ,GAAG;AACvE,YAAM,OAAO,eAAe,UAAU,OAAO,YAAY,qBAAqB,CAAC;AAE/D,sBAAA,GAAG,IAAI,EAAE;IAAK,OACzB;AACL,sBAAgB,GAAG,IAAI;AAAA,IACzB;AAAA,EACF;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EAAA;AAEhB;;"}
@@ -1,24 +1,21 @@
1
1
  import { isNil, isPlainObject } from "lodash/fp";
2
- import { parseMultipartData } from "@strapi/utils";
3
2
  function isEntry(property) {
4
3
  return property === null || isPlainObject(property) || Array.isArray(property);
5
4
  }
6
5
  function isDZEntries(property) {
7
6
  return Array.isArray(property);
8
7
  }
9
- const parseBody = (ctx) => {
10
- if (ctx.is("multipart")) {
11
- return parseMultipartData(ctx);
12
- }
13
- const { data } = ctx.request.body || {};
14
- return { data };
15
- };
16
- const transformResponse = (resource, meta = {}, opts = {}) => {
8
+ const transformResponse = (resource, meta = {}, opts = {
9
+ useJsonAPIFormat: false
10
+ }) => {
17
11
  if (isNil(resource)) {
18
12
  return resource;
19
13
  }
14
+ if (!isPlainObject(resource) && !Array.isArray(resource)) {
15
+ throw new Error("Entry must be an object or an arrayy of objects");
16
+ }
20
17
  return {
21
- data: transformEntry(resource, opts?.contentType),
18
+ data: opts.useJsonAPIFormat ? transformEntry(resource, opts?.contentType) : resource,
22
19
  meta
23
20
  };
24
21
  };
@@ -43,7 +40,7 @@ function transformEntry(entry, type) {
43
40
  if (!isPlainObject(entry)) {
44
41
  throw new Error("Entry must be an object");
45
42
  }
46
- const { id, ...properties } = entry;
43
+ const { id, documentId, ...properties } = entry;
47
44
  const attributeValues = {};
48
45
  for (const key of Object.keys(properties)) {
49
46
  const property = properties[key];
@@ -72,13 +69,11 @@ function transformEntry(entry, type) {
72
69
  }
73
70
  return {
74
71
  id,
72
+ documentId,
75
73
  attributes: attributeValues
76
- // NOTE: not necessary for now
77
- // meta: {},
78
74
  };
79
75
  }
80
76
  export {
81
- parseBody,
82
77
  transformResponse
83
78
  };
84
79
  //# sourceMappingURL=transform.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.mjs","sources":["../../../src/core-api/controller/transform.ts"],"sourcesContent":["import { isNil, isPlainObject } from 'lodash/fp';\nimport { parseMultipartData } from '@strapi/utils';\nimport type Koa from 'koa';\nimport type { Common, Schema, UID } from '@strapi/types';\n\ntype TransformedEntry = {\n id: string;\n attributes: Record<string, unknown>;\n meta?: Record<string, unknown>;\n};\n\ntype TransformedComponent = {\n id: string;\n [key: string]: unknown;\n};\n\ntype Entry = {\n id: string;\n [key: string]: Entry | Entry[] | string | number | null | boolean | Date;\n};\n\nfunction isEntry(property: unknown): property is Entry | Entry[] {\n return property === null || isPlainObject(property) || Array.isArray(property);\n}\n\nfunction isDZEntries(property: unknown): property is (Entry & { __component: UID.Component })[] {\n return Array.isArray(property);\n}\n\nconst parseBody = (ctx: Koa.Context) => {\n if (ctx.is('multipart')) {\n return parseMultipartData(ctx);\n }\n\n const { data } = ctx.request.body || {};\n\n return { data };\n};\n\nconst transformResponse = (\n resource: any,\n meta: unknown = {},\n opts: { contentType?: Schema.ContentType | Schema.Component } = {}\n) => {\n if (isNil(resource)) {\n return resource;\n }\n\n return {\n data: transformEntry(resource, opts?.contentType),\n meta,\n };\n};\n\nfunction transformComponent<T extends Entry | Entry[] | null>(\n data: T,\n component: Schema.Component\n): T extends Entry[] ? TransformedComponent[] : T extends Entry ? TransformedComponent : null;\nfunction transformComponent(\n data: Entry | Entry[] | null,\n component: Schema.Component\n): TransformedComponent | TransformedComponent[] | null {\n if (Array.isArray(data)) {\n return data.map((datum) => transformComponent(datum, component));\n }\n\n const res = transformEntry(data, component);\n\n if (isNil(res)) {\n return res;\n }\n\n const { id, attributes } = res;\n return { id, ...attributes };\n}\n\nfunction transformEntry<T extends Entry | Entry[] | null>(\n entry: T,\n type?: Schema.ContentType | Schema.Component\n): T extends Entry[] ? TransformedEntry[] : T extends Entry ? TransformedEntry : null;\nfunction transformEntry(\n entry: Entry | Entry[] | null,\n type?: Schema.ContentType | Schema.Component\n): TransformedEntry | TransformedEntry[] | null {\n if (isNil(entry)) {\n return entry;\n }\n\n if (Array.isArray(entry)) {\n return entry.map((singleEntry) => transformEntry(singleEntry, type));\n }\n\n if (!isPlainObject(entry)) {\n throw new Error('Entry must be an object');\n }\n\n const { id, ...properties } = entry;\n\n const attributeValues: Record<string, unknown> = {};\n\n for (const key of Object.keys(properties)) {\n const property = properties[key];\n const attribute = type && type.attributes[key];\n\n if (attribute && attribute.type === 'relation' && isEntry(property) && 'target' in attribute) {\n const data = transformEntry(\n property,\n strapi.contentType(attribute.target as Common.UID.ContentType)\n );\n\n attributeValues[key] = { data };\n } else if (attribute && attribute.type === 'component' && isEntry(property)) {\n attributeValues[key] = transformComponent(property, strapi.components[attribute.component]);\n } else if (attribute && attribute.type === 'dynamiczone' && isDZEntries(property)) {\n if (isNil(property)) {\n attributeValues[key] = property;\n }\n\n attributeValues[key] = property.map((subProperty) => {\n return transformComponent(subProperty, strapi.components[subProperty.__component]);\n });\n } else if (attribute && attribute.type === 'media' && isEntry(property)) {\n const data = transformEntry(property, strapi.contentType('plugin::upload.file'));\n\n attributeValues[key] = { data };\n } else {\n attributeValues[key] = property;\n }\n }\n\n return {\n id,\n attributes: attributeValues,\n // NOTE: not necessary for now\n // meta: {},\n };\n}\n\nexport { parseBody, transformResponse };\n"],"names":[],"mappings":";;AAqBA,SAAS,QAAQ,UAAgD;AAC/D,SAAO,aAAa,QAAQ,cAAc,QAAQ,KAAK,MAAM,QAAQ,QAAQ;AAC/E;AAEA,SAAS,YAAY,UAA2E;AACvF,SAAA,MAAM,QAAQ,QAAQ;AAC/B;AAEM,MAAA,YAAY,CAAC,QAAqB;AAClC,MAAA,IAAI,GAAG,WAAW,GAAG;AACvB,WAAO,mBAAmB,GAAG;AAAA,EAC/B;AAEA,QAAM,EAAE,KAAK,IAAI,IAAI,QAAQ,QAAQ,CAAA;AAErC,SAAO,EAAE,KAAK;AAChB;AAEM,MAAA,oBAAoB,CACxB,UACA,OAAgB,CAAA,GAChB,OAAgE,CAAA,MAC7D;AACC,MAAA,MAAM,QAAQ,GAAG;AACZ,WAAA;AAAA,EACT;AAEO,SAAA;AAAA,IACL,MAAM,eAAe,UAAU,MAAM,WAAW;AAAA,IAChD;AAAA,EAAA;AAEJ;AAMA,SAAS,mBACP,MACA,WACsD;AAClD,MAAA,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAO,KAAK,IAAI,CAAC,UAAU,mBAAmB,OAAO,SAAS,CAAC;AAAA,EACjE;AAEM,QAAA,MAAM,eAAe,MAAM,SAAS;AAEtC,MAAA,MAAM,GAAG,GAAG;AACP,WAAA;AAAA,EACT;AAEM,QAAA,EAAE,IAAI,WAAe,IAAA;AACpB,SAAA,EAAE,IAAI,GAAG;AAClB;AAMA,SAAS,eACP,OACA,MAC8C;AAC1C,MAAA,MAAM,KAAK,GAAG;AACT,WAAA;AAAA,EACT;AAEI,MAAA,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,IAAI,CAAC,gBAAgB,eAAe,aAAa,IAAI,CAAC;AAAA,EACrE;AAEI,MAAA,CAAC,cAAc,KAAK,GAAG;AACnB,UAAA,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAEA,QAAM,EAAE,IAAI,GAAG,WAAA,IAAe;AAE9B,QAAM,kBAA2C,CAAA;AAEjD,aAAW,OAAO,OAAO,KAAK,UAAU,GAAG;AACnC,UAAA,WAAW,WAAW,GAAG;AAC/B,UAAM,YAAY,QAAQ,KAAK,WAAW,GAAG;AAEzC,QAAA,aAAa,UAAU,SAAS,cAAc,QAAQ,QAAQ,KAAK,YAAY,WAAW;AAC5F,YAAM,OAAO;AAAA,QACX;AAAA,QACA,OAAO,YAAY,UAAU,MAAgC;AAAA,MAAA;AAG/C,sBAAA,GAAG,IAAI,EAAE;IAAK,WACrB,aAAa,UAAU,SAAS,eAAe,QAAQ,QAAQ,GAAG;AAC3D,sBAAA,GAAG,IAAI,mBAAmB,UAAU,OAAO,WAAW,UAAU,SAAS,CAAC;AAAA,IAAA,WACjF,aAAa,UAAU,SAAS,iBAAiB,YAAY,QAAQ,GAAG;AAC7E,UAAA,MAAM,QAAQ,GAAG;AACnB,wBAAgB,GAAG,IAAI;AAAA,MACzB;AAEA,sBAAgB,GAAG,IAAI,SAAS,IAAI,CAAC,gBAAgB;AACnD,eAAO,mBAAmB,aAAa,OAAO,WAAW,YAAY,WAAW,CAAC;AAAA,MAAA,CAClF;AAAA,IAAA,WACQ,aAAa,UAAU,SAAS,WAAW,QAAQ,QAAQ,GAAG;AACvE,YAAM,OAAO,eAAe,UAAU,OAAO,YAAY,qBAAqB,CAAC;AAE/D,sBAAA,GAAG,IAAI,EAAE;IAAK,OACzB;AACL,sBAAgB,GAAG,IAAI;AAAA,IACzB;AAAA,EACF;AAEO,SAAA;AAAA,IACL;AAAA,IACA,YAAY;AAAA;AAAA;AAAA,EAAA;AAIhB;"}
1
+ {"version":3,"file":"transform.mjs","sources":["../../../src/core-api/controller/transform.ts"],"sourcesContent":["import { isNil, isPlainObject } from 'lodash/fp';\nimport type { Common, Schema, UID } from '@strapi/types';\n\ntype TransformedEntry = {\n id: string;\n documentId?: string | null;\n attributes: Record<string, unknown>;\n};\n\ntype TransformedComponent = {\n id: string;\n [key: string]: unknown;\n};\n\ntype Entry = {\n id: string;\n documentId: string | null;\n [key: string]: Entry | Entry[] | string | number | null | boolean | Date;\n};\n\nfunction isEntry(property: unknown): property is Entry | Entry[] {\n return property === null || isPlainObject(property) || Array.isArray(property);\n}\n\nfunction isDZEntries(property: unknown): property is (Entry & { __component: UID.Component })[] {\n return Array.isArray(property);\n}\n\ninterface TransformOptions {\n contentType?: Schema.ContentType | Schema.Component;\n /**\n * @deprecated this option is deprecated and will be removed in the next major version\n */\n useJsonAPIFormat?: boolean;\n}\n\nconst transformResponse = (\n resource: any,\n meta: unknown = {},\n opts: TransformOptions = {\n useJsonAPIFormat: false,\n }\n) => {\n if (isNil(resource)) {\n return resource;\n }\n\n if (!isPlainObject(resource) && !Array.isArray(resource)) {\n throw new Error('Entry must be an object or an arrayy of objects');\n }\n\n return {\n data: opts.useJsonAPIFormat ? transformEntry(resource, opts?.contentType) : resource,\n meta,\n };\n};\n\nfunction transformComponent<T extends Entry | Entry[] | null>(\n data: T,\n component: Schema.Component\n): T extends Entry[] ? TransformedComponent[] : T extends Entry ? TransformedComponent : null;\nfunction transformComponent(\n data: Entry | Entry[] | null,\n component: Schema.Component\n): TransformedComponent | TransformedComponent[] | null {\n if (Array.isArray(data)) {\n return data.map((datum) => transformComponent(datum, component));\n }\n\n const res = transformEntry(data, component);\n\n if (isNil(res)) {\n return res;\n }\n\n const { id, attributes } = res;\n return { id, ...attributes };\n}\n\nfunction transformEntry<T extends Entry | Entry[] | null>(\n entry: T,\n type?: Schema.ContentType | Schema.Component\n): T extends Entry[] ? TransformedEntry[] : T extends Entry ? TransformedEntry : null;\nfunction transformEntry(\n entry: Entry | Entry[] | null,\n type?: Schema.ContentType | Schema.Component\n): TransformedEntry | TransformedEntry[] | null {\n if (isNil(entry)) {\n return entry;\n }\n\n if (Array.isArray(entry)) {\n return entry.map((singleEntry) => transformEntry(singleEntry, type));\n }\n\n if (!isPlainObject(entry)) {\n throw new Error('Entry must be an object');\n }\n\n const { id, documentId, ...properties } = entry;\n\n const attributeValues: Record<string, unknown> = {};\n\n for (const key of Object.keys(properties)) {\n const property = properties[key];\n const attribute = type && type.attributes[key];\n\n if (attribute && attribute.type === 'relation' && isEntry(property) && 'target' in attribute) {\n const data = transformEntry(\n property,\n strapi.contentType(attribute.target as Common.UID.ContentType)\n );\n\n attributeValues[key] = { data };\n } else if (attribute && attribute.type === 'component' && isEntry(property)) {\n attributeValues[key] = transformComponent(property, strapi.components[attribute.component]);\n } else if (attribute && attribute.type === 'dynamiczone' && isDZEntries(property)) {\n if (isNil(property)) {\n attributeValues[key] = property;\n }\n\n attributeValues[key] = property.map((subProperty) => {\n return transformComponent(subProperty, strapi.components[subProperty.__component]);\n });\n } else if (attribute && attribute.type === 'media' && isEntry(property)) {\n const data = transformEntry(property, strapi.contentType('plugin::upload.file'));\n\n attributeValues[key] = { data };\n } else {\n attributeValues[key] = property;\n }\n }\n\n return {\n id,\n documentId,\n attributes: attributeValues,\n };\n}\n\nexport { transformResponse };\n"],"names":[],"mappings":";AAoBA,SAAS,QAAQ,UAAgD;AAC/D,SAAO,aAAa,QAAQ,cAAc,QAAQ,KAAK,MAAM,QAAQ,QAAQ;AAC/E;AAEA,SAAS,YAAY,UAA2E;AACvF,SAAA,MAAM,QAAQ,QAAQ;AAC/B;AAUA,MAAM,oBAAoB,CACxB,UACA,OAAgB,CAAA,GAChB,OAAyB;AAAA,EACvB,kBAAkB;AACpB,MACG;AACC,MAAA,MAAM,QAAQ,GAAG;AACZ,WAAA;AAAA,EACT;AAEI,MAAA,CAAC,cAAc,QAAQ,KAAK,CAAC,MAAM,QAAQ,QAAQ,GAAG;AAClD,UAAA,IAAI,MAAM,iDAAiD;AAAA,EACnE;AAEO,SAAA;AAAA,IACL,MAAM,KAAK,mBAAmB,eAAe,UAAU,MAAM,WAAW,IAAI;AAAA,IAC5E;AAAA,EAAA;AAEJ;AAMA,SAAS,mBACP,MACA,WACsD;AAClD,MAAA,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAO,KAAK,IAAI,CAAC,UAAU,mBAAmB,OAAO,SAAS,CAAC;AAAA,EACjE;AAEM,QAAA,MAAM,eAAe,MAAM,SAAS;AAEtC,MAAA,MAAM,GAAG,GAAG;AACP,WAAA;AAAA,EACT;AAEM,QAAA,EAAE,IAAI,WAAe,IAAA;AACpB,SAAA,EAAE,IAAI,GAAG;AAClB;AAMA,SAAS,eACP,OACA,MAC8C;AAC1C,MAAA,MAAM,KAAK,GAAG;AACT,WAAA;AAAA,EACT;AAEI,MAAA,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,IAAI,CAAC,gBAAgB,eAAe,aAAa,IAAI,CAAC;AAAA,EACrE;AAEI,MAAA,CAAC,cAAc,KAAK,GAAG;AACnB,UAAA,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AAEA,QAAM,EAAE,IAAI,YAAY,GAAG,eAAe;AAE1C,QAAM,kBAA2C,CAAA;AAEjD,aAAW,OAAO,OAAO,KAAK,UAAU,GAAG;AACnC,UAAA,WAAW,WAAW,GAAG;AAC/B,UAAM,YAAY,QAAQ,KAAK,WAAW,GAAG;AAEzC,QAAA,aAAa,UAAU,SAAS,cAAc,QAAQ,QAAQ,KAAK,YAAY,WAAW;AAC5F,YAAM,OAAO;AAAA,QACX;AAAA,QACA,OAAO,YAAY,UAAU,MAAgC;AAAA,MAAA;AAG/C,sBAAA,GAAG,IAAI,EAAE;IAAK,WACrB,aAAa,UAAU,SAAS,eAAe,QAAQ,QAAQ,GAAG;AAC3D,sBAAA,GAAG,IAAI,mBAAmB,UAAU,OAAO,WAAW,UAAU,SAAS,CAAC;AAAA,IAAA,WACjF,aAAa,UAAU,SAAS,iBAAiB,YAAY,QAAQ,GAAG;AAC7E,UAAA,MAAM,QAAQ,GAAG;AACnB,wBAAgB,GAAG,IAAI;AAAA,MACzB;AAEA,sBAAgB,GAAG,IAAI,SAAS,IAAI,CAAC,gBAAgB;AACnD,eAAO,mBAAmB,aAAa,OAAO,WAAW,YAAY,WAAW,CAAC;AAAA,MAAA,CAClF;AAAA,IAAA,WACQ,aAAa,UAAU,SAAS,WAAW,QAAQ,QAAQ,GAAG;AACvE,YAAM,OAAO,eAAe,UAAU,OAAO,YAAY,qBAAqB,CAAC;AAE/D,sBAAA,GAAG,IAAI,EAAE;IAAK,OACzB;AACL,sBAAgB,GAAG,IAAI;AAAA,IACzB;AAAA,EACF;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EAAA;AAEhB;"}
@@ -1,10 +1,33 @@
1
- import type { CoreApi, Schema } from '@strapi/types';
1
+ import type { CoreApi, Schema, Documents } from '@strapi/types';
2
+ import { CoreService } from './core-service';
3
+ export declare class CollectionTypeService extends CoreService implements CoreApi.Service.CollectionType {
4
+ private contentType;
5
+ constructor(contentType: Schema.CollectionType);
6
+ find(params?: {}): Promise<{
7
+ results: Documents.AnyDocument[];
8
+ pagination: {
9
+ page: number;
10
+ pageSize: number;
11
+ } | {
12
+ start: number;
13
+ limit: number;
14
+ };
15
+ }>;
16
+ findOne(documentId: Documents.ID, params?: {}): import("@strapi/types/dist/modules/documents/result/document-enigne").FindOne<import("@strapi/types/dist/types/core/common/uid").ContentType, any>;
17
+ create(params?: {
18
+ data: {};
19
+ }): Promise<Documents.AnyDocument>;
20
+ update(docId: Documents.ID, params?: {
21
+ data: {};
22
+ }): import("@strapi/types/dist/modules/documents/result/document-enigne").Update<import("@strapi/types/dist/types/core/common/uid").ContentType, any>;
23
+ delete(docId: Documents.ID, params?: {}): Promise<{
24
+ deletedEntries: number;
25
+ }>;
26
+ }
2
27
  /**
3
28
  *
4
29
  * Returns a collection type service to handle default core-api actions
5
30
  */
6
- declare const createCollectionTypeService: ({ contentType, }: {
7
- contentType: Schema.CollectionType;
8
- }) => CoreApi.Service.CollectionType;
9
- export default createCollectionTypeService;
31
+ declare const createCollectionTypeService: (contentType: Schema.CollectionType) => CoreApi.Service.CollectionType;
32
+ export { createCollectionTypeService };
10
33
  //# sourceMappingURL=collection-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection-type.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/collection-type.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAkB7D;;;GAGG;AACH,QAAA,MAAM,2BAA2B;iBAGlB,OAAO,cAAc;MAChC,QAAQ,OAAO,CAAC,cAyDnB,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"collection-type.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/collection-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAIhE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,qBAAsB,SAAQ,WAAY,YAAW,OAAO,CAAC,OAAO,CAAC,cAAc;IAC9F,OAAO,CAAC,WAAW,CAAwB;gBAE/B,WAAW,EAAE,MAAM,CAAC,cAAc;IAMxC,IAAI,CAAC,MAAM,KAAK;;;;;;;;;;IA+BtB,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,KAAK;IAMvC,MAAM,CAAC,MAAM;;KAAe;IAMlC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM;;KAAe;IAM3C,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,KAAK;;;CAK9C;AAED;;;GAGG;AAEH,QAAA,MAAM,2BAA2B,gBAClB,OAAO,cAAc,KACjC,QAAQ,OAAO,CAAC,cAElB,CAAC;AAEF,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
@@ -1,58 +1,56 @@
1
1
  "use strict";
2
- const _ = require("lodash/fp");
3
- const strapiUtils = require("@strapi/utils");
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
3
  const pagination = require("./pagination.js");
5
- const getFetchParams = require("./get-fetch-params.js");
6
- const {
7
- constants: { PUBLISHED_AT_ATTRIBUTE }
8
- } = strapiUtils.contentTypes;
9
- const setPublishedAt = (data) => {
10
- data[PUBLISHED_AT_ATTRIBUTE] = _.propOr(/* @__PURE__ */ new Date(), PUBLISHED_AT_ATTRIBUTE, data);
11
- };
12
- const createCollectionTypeService = ({
13
- contentType
14
- }) => {
15
- const { uid } = contentType;
16
- return {
17
- getFetchParams: getFetchParams.getFetchParams,
18
- async find(params = {}) {
19
- const fetchParams = this.getFetchParams(params);
20
- const paginationInfo = pagination.getPaginationInfo(fetchParams);
21
- const results = await strapi.entityService?.findMany(uid, {
22
- ...fetchParams,
23
- ...pagination.convertPagedToStartLimit(paginationInfo)
24
- });
25
- if (pagination.shouldCount(fetchParams)) {
26
- const count = await strapi.entityService?.count(uid, { ...fetchParams, ...paginationInfo });
27
- if (typeof count !== "number") {
28
- throw new Error("Count should be a number");
29
- }
30
- return {
31
- results,
32
- pagination: pagination.transformPaginationResponse(paginationInfo, count)
33
- };
4
+ const coreService = require("./core-service.js");
5
+ class CollectionTypeService extends coreService.CoreService {
6
+ contentType;
7
+ constructor(contentType) {
8
+ super();
9
+ this.contentType = contentType;
10
+ }
11
+ async find(params = {}) {
12
+ const { uid } = this.contentType;
13
+ const fetchParams = this.getFetchParams(params);
14
+ const paginationInfo = pagination.getPaginationInfo(fetchParams);
15
+ const results = await strapi.documents(uid).findMany({
16
+ ...fetchParams,
17
+ ...paginationInfo
18
+ });
19
+ if (pagination.shouldCount(fetchParams)) {
20
+ const count = await strapi.documents(uid).count({ ...fetchParams, ...paginationInfo });
21
+ if (typeof count !== "number") {
22
+ throw new Error("Count should be a number");
34
23
  }
35
24
  return {
36
25
  results,
37
- pagination: paginationInfo
26
+ pagination: pagination.transformPaginationResponse(paginationInfo, count)
38
27
  };
39
- },
40
- findOne(entityId, params = {}) {
41
- return strapi.entityService?.findOne(uid, entityId, this.getFetchParams(params));
42
- },
43
- create(params = { data: {} }) {
44
- const { data } = params;
45
- setPublishedAt(data);
46
- return strapi.entityService?.create(uid, { ...params, data });
47
- },
48
- update(entityId, params = { data: {} }) {
49
- const { data } = params;
50
- return strapi.entityService?.update(uid, entityId, { ...params, data });
51
- },
52
- delete(entityId, params = {}) {
53
- return strapi.entityService?.delete(uid, entityId, params);
54
28
  }
55
- };
29
+ return {
30
+ results,
31
+ pagination: paginationInfo
32
+ };
33
+ }
34
+ findOne(documentId, params = {}) {
35
+ const { uid } = this.contentType;
36
+ return strapi.documents(uid).findOne(documentId, this.getFetchParams(params));
37
+ }
38
+ async create(params = { data: {} }) {
39
+ const { uid } = this.contentType;
40
+ return strapi.documents(uid).create(this.getFetchParams(params));
41
+ }
42
+ update(docId, params = { data: {} }) {
43
+ const { uid } = this.contentType;
44
+ return strapi.documents(uid).update(docId, this.getFetchParams(params));
45
+ }
46
+ async delete(docId, params = {}) {
47
+ const { uid } = this.contentType;
48
+ return strapi.documents(uid).delete(docId, this.getFetchParams(params));
49
+ }
50
+ }
51
+ const createCollectionTypeService = (contentType) => {
52
+ return new CollectionTypeService(contentType);
56
53
  };
57
- module.exports = createCollectionTypeService;
54
+ exports.CollectionTypeService = CollectionTypeService;
55
+ exports.createCollectionTypeService = createCollectionTypeService;
58
56
  //# sourceMappingURL=collection-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection-type.js","sources":["../../../src/core-api/service/collection-type.ts"],"sourcesContent":["import { propOr } from 'lodash/fp';\nimport { contentTypes } from '@strapi/utils';\nimport type { CoreApi, Schema, Entity } from '@strapi/types';\n\nimport {\n getPaginationInfo,\n convertPagedToStartLimit,\n shouldCount,\n transformPaginationResponse,\n} from './pagination';\nimport { getFetchParams } from './get-fetch-params';\n\nconst {\n constants: { PUBLISHED_AT_ATTRIBUTE },\n} = contentTypes;\n\nconst setPublishedAt = (data: Record<string, unknown>) => {\n data[PUBLISHED_AT_ATTRIBUTE] = propOr(new Date(), PUBLISHED_AT_ATTRIBUTE, data);\n};\n\n/**\n *\n * Returns a collection type service to handle default core-api actions\n */\nconst createCollectionTypeService = ({\n contentType,\n}: {\n contentType: Schema.CollectionType;\n}): CoreApi.Service.CollectionType => {\n const { uid } = contentType;\n\n return <any>{\n getFetchParams,\n\n async find(params = {}) {\n const fetchParams = this.getFetchParams(params);\n\n const paginationInfo = getPaginationInfo(fetchParams);\n\n const results = await strapi.entityService?.findMany(uid, {\n ...fetchParams,\n ...convertPagedToStartLimit(paginationInfo),\n });\n\n if (shouldCount(fetchParams)) {\n const count = await strapi.entityService?.count(uid, { ...fetchParams, ...paginationInfo });\n\n if (typeof count !== 'number') {\n throw new Error('Count should be a number');\n }\n\n return {\n results,\n pagination: transformPaginationResponse(paginationInfo, count),\n };\n }\n\n return {\n results,\n pagination: paginationInfo,\n };\n },\n\n findOne(entityId: Entity.ID, params = {}) {\n return strapi.entityService?.findOne(uid, entityId, this.getFetchParams(params));\n },\n\n create(params = { data: {} }) {\n const { data } = params;\n\n setPublishedAt(data);\n\n return strapi.entityService?.create(uid, { ...params, data });\n },\n\n update(entityId: Entity.ID, params = { data: {} }) {\n const { data } = params;\n\n return strapi.entityService?.update(uid, entityId, { ...params, data });\n },\n\n delete(entityId: Entity.ID, params = {}) {\n return strapi.entityService?.delete(uid, entityId, params);\n },\n };\n};\n\nexport default createCollectionTypeService;\n"],"names":["contentTypes","propOr","getFetchParams","getPaginationInfo","convertPagedToStartLimit","shouldCount","transformPaginationResponse"],"mappings":";;;;;AAYA,MAAM;AAAA,EACJ,WAAW,EAAE,uBAAuB;AACtC,IAAIA;AAEJ,MAAM,iBAAiB,CAAC,SAAkC;AACxD,OAAK,sBAAsB,IAAIC,EAAA,2BAAW,QAAQ,wBAAwB,IAAI;AAChF;AAMA,MAAM,8BAA8B,CAAC;AAAA,EACnC;AACF,MAEsC;AAC9B,QAAA,EAAE,IAAQ,IAAA;AAEJ,SAAA;AAAA,IAAA,gBACVC,eAAA;AAAA,IAEA,MAAM,KAAK,SAAS,IAAI;AAChB,YAAA,cAAc,KAAK,eAAe,MAAM;AAExC,YAAA,iBAAiBC,6BAAkB,WAAW;AAEpD,YAAM,UAAU,MAAM,OAAO,eAAe,SAAS,KAAK;AAAA,QACxD,GAAG;AAAA,QACH,GAAGC,WAAAA,yBAAyB,cAAc;AAAA,MAAA,CAC3C;AAEG,UAAAC,WAAAA,YAAY,WAAW,GAAG;AACtB,cAAA,QAAQ,MAAM,OAAO,eAAe,MAAM,KAAK,EAAE,GAAG,aAAa,GAAG,eAAA,CAAgB;AAEtF,YAAA,OAAO,UAAU,UAAU;AACvB,gBAAA,IAAI,MAAM,0BAA0B;AAAA,QAC5C;AAEO,eAAA;AAAA,UACL;AAAA,UACA,YAAYC,WAAAA,4BAA4B,gBAAgB,KAAK;AAAA,QAAA;AAAA,MAEjE;AAEO,aAAA;AAAA,QACL;AAAA,QACA,YAAY;AAAA,MAAA;AAAA,IAEhB;AAAA,IAEA,QAAQ,UAAqB,SAAS,IAAI;AACjC,aAAA,OAAO,eAAe,QAAQ,KAAK,UAAU,KAAK,eAAe,MAAM,CAAC;AAAA,IACjF;AAAA,IAEA,OAAO,SAAS,EAAE,MAAM,MAAM;AACtB,YAAA,EAAE,KAAS,IAAA;AAEjB,qBAAe,IAAI;AAEZ,aAAA,OAAO,eAAe,OAAO,KAAK,EAAE,GAAG,QAAQ,MAAM;AAAA,IAC9D;AAAA,IAEA,OAAO,UAAqB,SAAS,EAAE,MAAM,MAAM;AAC3C,YAAA,EAAE,KAAS,IAAA;AAEV,aAAA,OAAO,eAAe,OAAO,KAAK,UAAU,EAAE,GAAG,QAAQ,KAAA,CAAM;AAAA,IACxE;AAAA,IAEA,OAAO,UAAqB,SAAS,IAAI;AACvC,aAAO,OAAO,eAAe,OAAO,KAAK,UAAU,MAAM;AAAA,IAC3D;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"collection-type.js","sources":["../../../src/core-api/service/collection-type.ts"],"sourcesContent":["import type { CoreApi, Schema, Documents } from '@strapi/types';\n\nimport { getPaginationInfo, shouldCount, transformPaginationResponse } from './pagination';\n\nimport { CoreService } from './core-service';\n\nexport class CollectionTypeService extends CoreService implements CoreApi.Service.CollectionType {\n private contentType: Schema.CollectionType;\n\n constructor(contentType: Schema.CollectionType) {\n super();\n\n this.contentType = contentType;\n }\n\n async find(params = {}) {\n const { uid } = this.contentType;\n\n const fetchParams = this.getFetchParams(params);\n\n const paginationInfo = getPaginationInfo(fetchParams);\n\n const results = await strapi.documents(uid).findMany({\n ...fetchParams,\n ...paginationInfo,\n });\n\n if (shouldCount(fetchParams)) {\n const count = await strapi.documents(uid).count({ ...fetchParams, ...paginationInfo });\n\n if (typeof count !== 'number') {\n throw new Error('Count should be a number');\n }\n\n return {\n results,\n pagination: transformPaginationResponse(paginationInfo, count),\n };\n }\n\n return {\n results,\n pagination: paginationInfo,\n };\n }\n\n findOne(documentId: Documents.ID, params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).findOne(documentId, this.getFetchParams(params));\n }\n\n async create(params = { data: {} }) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).create(this.getFetchParams(params));\n }\n\n update(docId: Documents.ID, params = { data: {} }) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).update(docId, this.getFetchParams(params));\n }\n\n async delete(docId: Documents.ID, params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).delete(docId, this.getFetchParams(params));\n }\n}\n\n/**\n *\n * Returns a collection type service to handle default core-api actions\n */\n\nconst createCollectionTypeService = (\n contentType: Schema.CollectionType\n): CoreApi.Service.CollectionType => {\n return new CollectionTypeService(contentType);\n};\n\nexport { createCollectionTypeService };\n"],"names":["CoreService","getPaginationInfo","shouldCount","transformPaginationResponse"],"mappings":";;;;AAMO,MAAM,8BAA8BA,YAAAA,YAAsD;AAAA,EACvF;AAAA,EAER,YAAY,aAAoC;AACxC;AAEN,SAAK,cAAc;AAAA,EACrB;AAAA,EAEA,MAAM,KAAK,SAAS,IAAI;AAChB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEf,UAAA,cAAc,KAAK,eAAe,MAAM;AAExC,UAAA,iBAAiBC,6BAAkB,WAAW;AAEpD,UAAM,UAAU,MAAM,OAAO,UAAU,GAAG,EAAE,SAAS;AAAA,MACnD,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,CACJ;AAEG,QAAAC,WAAAA,YAAY,WAAW,GAAG;AAC5B,YAAM,QAAQ,MAAM,OAAO,UAAU,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,GAAG,eAAgB,CAAA;AAEjF,UAAA,OAAO,UAAU,UAAU;AACvB,cAAA,IAAI,MAAM,0BAA0B;AAAA,MAC5C;AAEO,aAAA;AAAA,QACL;AAAA,QACA,YAAYC,WAAAA,4BAA4B,gBAAgB,KAAK;AAAA,MAAA;AAAA,IAEjE;AAEO,WAAA;AAAA,MACL;AAAA,MACA,YAAY;AAAA,IAAA;AAAA,EAEhB;AAAA,EAEA,QAAQ,YAA0B,SAAS,IAAI;AACvC,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,QAAQ,YAAY,KAAK,eAAe,MAAM,CAAC;AAAA,EAC9E;AAAA,EAEA,MAAM,OAAO,SAAS,EAAE,MAAM,MAAM;AAC5B,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACjE;AAAA,EAEA,OAAO,OAAqB,SAAS,EAAE,MAAM,MAAM;AAC3C,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACxE;AAAA,EAEA,MAAM,OAAO,OAAqB,SAAS,IAAI;AACvC,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACxE;AACF;AAOM,MAAA,8BAA8B,CAClC,gBACmC;AAC5B,SAAA,IAAI,sBAAsB,WAAW;AAC9C;;;"}
@@ -1,59 +1,56 @@
1
- import { propOr } from "lodash/fp";
2
- import { contentTypes } from "@strapi/utils";
3
- import { getPaginationInfo, convertPagedToStartLimit, shouldCount, transformPaginationResponse } from "./pagination.mjs";
4
- import { getFetchParams } from "./get-fetch-params.mjs";
5
- const {
6
- constants: { PUBLISHED_AT_ATTRIBUTE }
7
- } = contentTypes;
8
- const setPublishedAt = (data) => {
9
- data[PUBLISHED_AT_ATTRIBUTE] = propOr(/* @__PURE__ */ new Date(), PUBLISHED_AT_ATTRIBUTE, data);
10
- };
11
- const createCollectionTypeService = ({
12
- contentType
13
- }) => {
14
- const { uid } = contentType;
15
- return {
16
- getFetchParams,
17
- async find(params = {}) {
18
- const fetchParams = this.getFetchParams(params);
19
- const paginationInfo = getPaginationInfo(fetchParams);
20
- const results = await strapi.entityService?.findMany(uid, {
21
- ...fetchParams,
22
- ...convertPagedToStartLimit(paginationInfo)
23
- });
24
- if (shouldCount(fetchParams)) {
25
- const count = await strapi.entityService?.count(uid, { ...fetchParams, ...paginationInfo });
26
- if (typeof count !== "number") {
27
- throw new Error("Count should be a number");
28
- }
29
- return {
30
- results,
31
- pagination: transformPaginationResponse(paginationInfo, count)
32
- };
1
+ import { getPaginationInfo, shouldCount, transformPaginationResponse } from "./pagination.mjs";
2
+ import { CoreService } from "./core-service.mjs";
3
+ class CollectionTypeService extends CoreService {
4
+ contentType;
5
+ constructor(contentType) {
6
+ super();
7
+ this.contentType = contentType;
8
+ }
9
+ async find(params = {}) {
10
+ const { uid } = this.contentType;
11
+ const fetchParams = this.getFetchParams(params);
12
+ const paginationInfo = getPaginationInfo(fetchParams);
13
+ const results = await strapi.documents(uid).findMany({
14
+ ...fetchParams,
15
+ ...paginationInfo
16
+ });
17
+ if (shouldCount(fetchParams)) {
18
+ const count = await strapi.documents(uid).count({ ...fetchParams, ...paginationInfo });
19
+ if (typeof count !== "number") {
20
+ throw new Error("Count should be a number");
33
21
  }
34
22
  return {
35
23
  results,
36
- pagination: paginationInfo
24
+ pagination: transformPaginationResponse(paginationInfo, count)
37
25
  };
38
- },
39
- findOne(entityId, params = {}) {
40
- return strapi.entityService?.findOne(uid, entityId, this.getFetchParams(params));
41
- },
42
- create(params = { data: {} }) {
43
- const { data } = params;
44
- setPublishedAt(data);
45
- return strapi.entityService?.create(uid, { ...params, data });
46
- },
47
- update(entityId, params = { data: {} }) {
48
- const { data } = params;
49
- return strapi.entityService?.update(uid, entityId, { ...params, data });
50
- },
51
- delete(entityId, params = {}) {
52
- return strapi.entityService?.delete(uid, entityId, params);
53
26
  }
54
- };
27
+ return {
28
+ results,
29
+ pagination: paginationInfo
30
+ };
31
+ }
32
+ findOne(documentId, params = {}) {
33
+ const { uid } = this.contentType;
34
+ return strapi.documents(uid).findOne(documentId, this.getFetchParams(params));
35
+ }
36
+ async create(params = { data: {} }) {
37
+ const { uid } = this.contentType;
38
+ return strapi.documents(uid).create(this.getFetchParams(params));
39
+ }
40
+ update(docId, params = { data: {} }) {
41
+ const { uid } = this.contentType;
42
+ return strapi.documents(uid).update(docId, this.getFetchParams(params));
43
+ }
44
+ async delete(docId, params = {}) {
45
+ const { uid } = this.contentType;
46
+ return strapi.documents(uid).delete(docId, this.getFetchParams(params));
47
+ }
48
+ }
49
+ const createCollectionTypeService = (contentType) => {
50
+ return new CollectionTypeService(contentType);
55
51
  };
56
52
  export {
57
- createCollectionTypeService as default
53
+ CollectionTypeService,
54
+ createCollectionTypeService
58
55
  };
59
56
  //# sourceMappingURL=collection-type.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection-type.mjs","sources":["../../../src/core-api/service/collection-type.ts"],"sourcesContent":["import { propOr } from 'lodash/fp';\nimport { contentTypes } from '@strapi/utils';\nimport type { CoreApi, Schema, Entity } from '@strapi/types';\n\nimport {\n getPaginationInfo,\n convertPagedToStartLimit,\n shouldCount,\n transformPaginationResponse,\n} from './pagination';\nimport { getFetchParams } from './get-fetch-params';\n\nconst {\n constants: { PUBLISHED_AT_ATTRIBUTE },\n} = contentTypes;\n\nconst setPublishedAt = (data: Record<string, unknown>) => {\n data[PUBLISHED_AT_ATTRIBUTE] = propOr(new Date(), PUBLISHED_AT_ATTRIBUTE, data);\n};\n\n/**\n *\n * Returns a collection type service to handle default core-api actions\n */\nconst createCollectionTypeService = ({\n contentType,\n}: {\n contentType: Schema.CollectionType;\n}): CoreApi.Service.CollectionType => {\n const { uid } = contentType;\n\n return <any>{\n getFetchParams,\n\n async find(params = {}) {\n const fetchParams = this.getFetchParams(params);\n\n const paginationInfo = getPaginationInfo(fetchParams);\n\n const results = await strapi.entityService?.findMany(uid, {\n ...fetchParams,\n ...convertPagedToStartLimit(paginationInfo),\n });\n\n if (shouldCount(fetchParams)) {\n const count = await strapi.entityService?.count(uid, { ...fetchParams, ...paginationInfo });\n\n if (typeof count !== 'number') {\n throw new Error('Count should be a number');\n }\n\n return {\n results,\n pagination: transformPaginationResponse(paginationInfo, count),\n };\n }\n\n return {\n results,\n pagination: paginationInfo,\n };\n },\n\n findOne(entityId: Entity.ID, params = {}) {\n return strapi.entityService?.findOne(uid, entityId, this.getFetchParams(params));\n },\n\n create(params = { data: {} }) {\n const { data } = params;\n\n setPublishedAt(data);\n\n return strapi.entityService?.create(uid, { ...params, data });\n },\n\n update(entityId: Entity.ID, params = { data: {} }) {\n const { data } = params;\n\n return strapi.entityService?.update(uid, entityId, { ...params, data });\n },\n\n delete(entityId: Entity.ID, params = {}) {\n return strapi.entityService?.delete(uid, entityId, params);\n },\n };\n};\n\nexport default createCollectionTypeService;\n"],"names":[],"mappings":";;;;AAYA,MAAM;AAAA,EACJ,WAAW,EAAE,uBAAuB;AACtC,IAAI;AAEJ,MAAM,iBAAiB,CAAC,SAAkC;AACxD,OAAK,sBAAsB,IAAI,2BAAW,QAAQ,wBAAwB,IAAI;AAChF;AAMA,MAAM,8BAA8B,CAAC;AAAA,EACnC;AACF,MAEsC;AAC9B,QAAA,EAAE,IAAQ,IAAA;AAEJ,SAAA;AAAA,IACV;AAAA,IAEA,MAAM,KAAK,SAAS,IAAI;AAChB,YAAA,cAAc,KAAK,eAAe,MAAM;AAExC,YAAA,iBAAiB,kBAAkB,WAAW;AAEpD,YAAM,UAAU,MAAM,OAAO,eAAe,SAAS,KAAK;AAAA,QACxD,GAAG;AAAA,QACH,GAAG,yBAAyB,cAAc;AAAA,MAAA,CAC3C;AAEG,UAAA,YAAY,WAAW,GAAG;AACtB,cAAA,QAAQ,MAAM,OAAO,eAAe,MAAM,KAAK,EAAE,GAAG,aAAa,GAAG,eAAA,CAAgB;AAEtF,YAAA,OAAO,UAAU,UAAU;AACvB,gBAAA,IAAI,MAAM,0BAA0B;AAAA,QAC5C;AAEO,eAAA;AAAA,UACL;AAAA,UACA,YAAY,4BAA4B,gBAAgB,KAAK;AAAA,QAAA;AAAA,MAEjE;AAEO,aAAA;AAAA,QACL;AAAA,QACA,YAAY;AAAA,MAAA;AAAA,IAEhB;AAAA,IAEA,QAAQ,UAAqB,SAAS,IAAI;AACjC,aAAA,OAAO,eAAe,QAAQ,KAAK,UAAU,KAAK,eAAe,MAAM,CAAC;AAAA,IACjF;AAAA,IAEA,OAAO,SAAS,EAAE,MAAM,MAAM;AACtB,YAAA,EAAE,KAAS,IAAA;AAEjB,qBAAe,IAAI;AAEZ,aAAA,OAAO,eAAe,OAAO,KAAK,EAAE,GAAG,QAAQ,MAAM;AAAA,IAC9D;AAAA,IAEA,OAAO,UAAqB,SAAS,EAAE,MAAM,MAAM;AAC3C,YAAA,EAAE,KAAS,IAAA;AAEV,aAAA,OAAO,eAAe,OAAO,KAAK,UAAU,EAAE,GAAG,QAAQ,KAAA,CAAM;AAAA,IACxE;AAAA,IAEA,OAAO,UAAqB,SAAS,IAAI;AACvC,aAAO,OAAO,eAAe,OAAO,KAAK,UAAU,MAAM;AAAA,IAC3D;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"collection-type.mjs","sources":["../../../src/core-api/service/collection-type.ts"],"sourcesContent":["import type { CoreApi, Schema, Documents } from '@strapi/types';\n\nimport { getPaginationInfo, shouldCount, transformPaginationResponse } from './pagination';\n\nimport { CoreService } from './core-service';\n\nexport class CollectionTypeService extends CoreService implements CoreApi.Service.CollectionType {\n private contentType: Schema.CollectionType;\n\n constructor(contentType: Schema.CollectionType) {\n super();\n\n this.contentType = contentType;\n }\n\n async find(params = {}) {\n const { uid } = this.contentType;\n\n const fetchParams = this.getFetchParams(params);\n\n const paginationInfo = getPaginationInfo(fetchParams);\n\n const results = await strapi.documents(uid).findMany({\n ...fetchParams,\n ...paginationInfo,\n });\n\n if (shouldCount(fetchParams)) {\n const count = await strapi.documents(uid).count({ ...fetchParams, ...paginationInfo });\n\n if (typeof count !== 'number') {\n throw new Error('Count should be a number');\n }\n\n return {\n results,\n pagination: transformPaginationResponse(paginationInfo, count),\n };\n }\n\n return {\n results,\n pagination: paginationInfo,\n };\n }\n\n findOne(documentId: Documents.ID, params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).findOne(documentId, this.getFetchParams(params));\n }\n\n async create(params = { data: {} }) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).create(this.getFetchParams(params));\n }\n\n update(docId: Documents.ID, params = { data: {} }) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).update(docId, this.getFetchParams(params));\n }\n\n async delete(docId: Documents.ID, params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).delete(docId, this.getFetchParams(params));\n }\n}\n\n/**\n *\n * Returns a collection type service to handle default core-api actions\n */\n\nconst createCollectionTypeService = (\n contentType: Schema.CollectionType\n): CoreApi.Service.CollectionType => {\n return new CollectionTypeService(contentType);\n};\n\nexport { createCollectionTypeService };\n"],"names":[],"mappings":";;AAMO,MAAM,8BAA8B,YAAsD;AAAA,EACvF;AAAA,EAER,YAAY,aAAoC;AACxC;AAEN,SAAK,cAAc;AAAA,EACrB;AAAA,EAEA,MAAM,KAAK,SAAS,IAAI;AAChB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEf,UAAA,cAAc,KAAK,eAAe,MAAM;AAExC,UAAA,iBAAiB,kBAAkB,WAAW;AAEpD,UAAM,UAAU,MAAM,OAAO,UAAU,GAAG,EAAE,SAAS;AAAA,MACnD,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,CACJ;AAEG,QAAA,YAAY,WAAW,GAAG;AAC5B,YAAM,QAAQ,MAAM,OAAO,UAAU,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,GAAG,eAAgB,CAAA;AAEjF,UAAA,OAAO,UAAU,UAAU;AACvB,cAAA,IAAI,MAAM,0BAA0B;AAAA,MAC5C;AAEO,aAAA;AAAA,QACL;AAAA,QACA,YAAY,4BAA4B,gBAAgB,KAAK;AAAA,MAAA;AAAA,IAEjE;AAEO,WAAA;AAAA,MACL;AAAA,MACA,YAAY;AAAA,IAAA;AAAA,EAEhB;AAAA,EAEA,QAAQ,YAA0B,SAAS,IAAI;AACvC,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,QAAQ,YAAY,KAAK,eAAe,MAAM,CAAC;AAAA,EAC9E;AAAA,EAEA,MAAM,OAAO,SAAS,EAAE,MAAM,MAAM;AAC5B,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACjE;AAAA,EAEA,OAAO,OAAqB,SAAS,EAAE,MAAM,MAAM;AAC3C,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACxE;AAAA,EAEA,MAAM,OAAO,OAAqB,SAAS,IAAI;AACvC,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACxE;AACF;AAOM,MAAA,8BAA8B,CAClC,gBACmC;AAC5B,SAAA,IAAI,sBAAsB,WAAW;AAC9C;"}
@@ -0,0 +1,4 @@
1
+ export declare abstract class CoreService {
2
+ getFetchParams(params?: {}): any;
3
+ }
4
+ //# sourceMappingURL=core-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-service.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/core-service.ts"],"names":[],"mappings":"AAAA,8BAAsB,WAAW;IAC/B,cAAc,CAAC,MAAM,KAAK,GAAG,GAAG;CAMjC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ class CoreService {
4
+ getFetchParams(params = {}) {
5
+ return {
6
+ status: "published",
7
+ ...params
8
+ };
9
+ }
10
+ }
11
+ exports.CoreService = CoreService;
12
+ //# sourceMappingURL=core-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-service.js","sources":["../../../src/core-api/service/core-service.ts"],"sourcesContent":["export abstract class CoreService {\n getFetchParams(params = {}): any {\n return {\n status: 'published',\n ...params,\n };\n }\n}\n"],"names":[],"mappings":";;AAAO,MAAe,YAAY;AAAA,EAChC,eAAe,SAAS,IAAS;AACxB,WAAA;AAAA,MACL,QAAQ;AAAA,MACR,GAAG;AAAA,IAAA;AAAA,EAEP;AACF;;"}
@@ -0,0 +1,12 @@
1
+ class CoreService {
2
+ getFetchParams(params = {}) {
3
+ return {
4
+ status: "published",
5
+ ...params
6
+ };
7
+ }
8
+ }
9
+ export {
10
+ CoreService
11
+ };
12
+ //# sourceMappingURL=core-service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-service.mjs","sources":["../../../src/core-api/service/core-service.ts"],"sourcesContent":["export abstract class CoreService {\n getFetchParams(params = {}): any {\n return {\n status: 'published',\n ...params,\n };\n }\n}\n"],"names":[],"mappings":"AAAO,MAAe,YAAY;AAAA,EAChC,eAAe,SAAS,IAAS;AACxB,WAAA;AAAA,MACL,QAAQ;AAAA,MACR,GAAG;AAAA,IAAA;AAAA,EAEP;AACF;"}
@@ -8,9 +8,9 @@ function createService({
8
8
  contentType
9
9
  }) {
10
10
  if (isSingleType(contentType)) {
11
- return singleType({ contentType });
11
+ return singleType.createSingleTypeService(contentType);
12
12
  }
13
- return collectionType({ contentType });
13
+ return collectionType.createCollectionTypeService(contentType);
14
14
  }
15
15
  exports.createService = createService;
16
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/core-api/service/index.ts"],"sourcesContent":["import { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport type { CoreApi, Schema } from '@strapi/types';\n\nimport createSingleTypeService from './single-type';\nimport createCollectionTypeService from './collection-type';\n\nconst isSingleType = (contentType: Schema.ContentType): contentType is Schema.SingleType =>\n contentTypeUtils.isSingleType(contentType);\n\n/**\n * Returns a core api for the provided model\n */\nfunction createService<T extends Schema.SingleType | Schema.CollectionType>(opts: {\n contentType: T;\n}): T extends Schema.SingleType ? CoreApi.Service.SingleType : CoreApi.Service.CollectionType;\nfunction createService({\n contentType,\n}: {\n contentType: Schema.CollectionType | Schema.SingleType;\n}): CoreApi.Service.SingleType | CoreApi.Service.CollectionType {\n if (isSingleType(contentType)) {\n return createSingleTypeService({ contentType });\n }\n\n return createCollectionTypeService({ contentType });\n}\n\nexport { createService };\n"],"names":["contentTypeUtils","createSingleTypeService","createCollectionTypeService"],"mappings":";;;;;AAMA,MAAM,eAAe,CAAC,gBACpBA,YAAA,aAAiB,aAAa,WAAW;AAQ3C,SAAS,cAAc;AAAA,EACrB;AACF,GAEgE;AAC1D,MAAA,aAAa,WAAW,GAAG;AACtB,WAAAC,WAAwB,EAAE,YAAA,CAAa;AAAA,EAChD;AAEO,SAAAC,eAA4B,EAAE,YAAA,CAAa;AACpD;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/core-api/service/index.ts"],"sourcesContent":["import { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport type { CoreApi, Schema } from '@strapi/types';\n\nimport { createSingleTypeService } from './single-type';\nimport { createCollectionTypeService } from './collection-type';\n\nconst isSingleType = (contentType: Schema.ContentType): contentType is Schema.SingleType =>\n contentTypeUtils.isSingleType(contentType);\n\n/**\n * Returns a core api for the provided model\n */\nfunction createService<T extends Schema.SingleType | Schema.CollectionType>(opts: {\n contentType: T;\n}): T extends Schema.SingleType ? CoreApi.Service.SingleType : CoreApi.Service.CollectionType;\nfunction createService({\n contentType,\n}: {\n contentType: Schema.CollectionType | Schema.SingleType;\n}): CoreApi.Service.SingleType | CoreApi.Service.CollectionType {\n if (isSingleType(contentType)) {\n return createSingleTypeService(contentType);\n }\n\n return createCollectionTypeService(contentType);\n}\n\nexport { createService };\n"],"names":["contentTypeUtils","createSingleTypeService","createCollectionTypeService"],"mappings":";;;;;AAMA,MAAM,eAAe,CAAC,gBACpBA,YAAA,aAAiB,aAAa,WAAW;AAQ3C,SAAS,cAAc;AAAA,EACrB;AACF,GAEgE;AAC1D,MAAA,aAAa,WAAW,GAAG;AAC7B,WAAOC,WAAAA,wBAAwB,WAAW;AAAA,EAC5C;AAEA,SAAOC,eAAAA,4BAA4B,WAAW;AAChD;;"}
@@ -1,14 +1,14 @@
1
1
  import { contentTypes } from "@strapi/utils";
2
- import createSingleTypeService from "./single-type.mjs";
3
- import createCollectionTypeService from "./collection-type.mjs";
2
+ import { createSingleTypeService } from "./single-type.mjs";
3
+ import { createCollectionTypeService } from "./collection-type.mjs";
4
4
  const isSingleType = (contentType) => contentTypes.isSingleType(contentType);
5
5
  function createService({
6
6
  contentType
7
7
  }) {
8
8
  if (isSingleType(contentType)) {
9
- return createSingleTypeService({ contentType });
9
+ return createSingleTypeService(contentType);
10
10
  }
11
- return createCollectionTypeService({ contentType });
11
+ return createCollectionTypeService(contentType);
12
12
  }
13
13
  export {
14
14
  createService
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/core-api/service/index.ts"],"sourcesContent":["import { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport type { CoreApi, Schema } from '@strapi/types';\n\nimport createSingleTypeService from './single-type';\nimport createCollectionTypeService from './collection-type';\n\nconst isSingleType = (contentType: Schema.ContentType): contentType is Schema.SingleType =>\n contentTypeUtils.isSingleType(contentType);\n\n/**\n * Returns a core api for the provided model\n */\nfunction createService<T extends Schema.SingleType | Schema.CollectionType>(opts: {\n contentType: T;\n}): T extends Schema.SingleType ? CoreApi.Service.SingleType : CoreApi.Service.CollectionType;\nfunction createService({\n contentType,\n}: {\n contentType: Schema.CollectionType | Schema.SingleType;\n}): CoreApi.Service.SingleType | CoreApi.Service.CollectionType {\n if (isSingleType(contentType)) {\n return createSingleTypeService({ contentType });\n }\n\n return createCollectionTypeService({ contentType });\n}\n\nexport { createService };\n"],"names":["contentTypeUtils"],"mappings":";;;AAMA,MAAM,eAAe,CAAC,gBACpBA,aAAiB,aAAa,WAAW;AAQ3C,SAAS,cAAc;AAAA,EACrB;AACF,GAEgE;AAC1D,MAAA,aAAa,WAAW,GAAG;AACtB,WAAA,wBAAwB,EAAE,YAAA,CAAa;AAAA,EAChD;AAEO,SAAA,4BAA4B,EAAE,YAAA,CAAa;AACpD;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/core-api/service/index.ts"],"sourcesContent":["import { contentTypes as contentTypeUtils } from '@strapi/utils';\nimport type { CoreApi, Schema } from '@strapi/types';\n\nimport { createSingleTypeService } from './single-type';\nimport { createCollectionTypeService } from './collection-type';\n\nconst isSingleType = (contentType: Schema.ContentType): contentType is Schema.SingleType =>\n contentTypeUtils.isSingleType(contentType);\n\n/**\n * Returns a core api for the provided model\n */\nfunction createService<T extends Schema.SingleType | Schema.CollectionType>(opts: {\n contentType: T;\n}): T extends Schema.SingleType ? CoreApi.Service.SingleType : CoreApi.Service.CollectionType;\nfunction createService({\n contentType,\n}: {\n contentType: Schema.CollectionType | Schema.SingleType;\n}): CoreApi.Service.SingleType | CoreApi.Service.CollectionType {\n if (isSingleType(contentType)) {\n return createSingleTypeService(contentType);\n }\n\n return createCollectionTypeService(contentType);\n}\n\nexport { createService };\n"],"names":["contentTypeUtils"],"mappings":";;;AAMA,MAAM,eAAe,CAAC,gBACpBA,aAAiB,aAAa,WAAW;AAQ3C,SAAS,cAAc;AAAA,EACrB;AACF,GAEgE;AAC1D,MAAA,aAAa,WAAW,GAAG;AAC7B,WAAO,wBAAwB,WAAW;AAAA,EAC5C;AAEA,SAAO,4BAA4B,WAAW;AAChD;"}
@@ -23,10 +23,6 @@ declare const shouldCount: (params: {
23
23
  declare const getPaginationInfo: (params: {
24
24
  pagination?: PaginationParams;
25
25
  }) => PaginationInfo;
26
- declare const convertPagedToStartLimit: (paginationInfo: PaginationInfo) => {
27
- start: number;
28
- limit: number;
29
- };
30
26
  declare const transformPaginationResponse: (paginationInfo: PaginationInfo, count: number) => {
31
27
  pageCount: number;
32
28
  total: number;
@@ -37,5 +33,5 @@ declare const transformPaginationResponse: (paginationInfo: PaginationInfo, coun
37
33
  start: number;
38
34
  limit: number;
39
35
  };
40
- export { getPaginationInfo, convertPagedToStartLimit, transformPaginationResponse, shouldCount };
36
+ export { getPaginationInfo, transformPaginationResponse, shouldCount };
41
37
  //# sourceMappingURL=pagination.d.ts.map