@strapi/core 0.0.0-experimental.3f7b2587c5e3d548262671895cf11d8bf8c9166e → 0.0.0-experimental.90ca9123352ed07e0a9cedaf4bcad1475e74137f

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 (262) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +7 -3
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +6 -2
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/core-api/controller/collection-type.d.ts +1 -1
  7. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  8. package/dist/core-api/controller/collection-type.js +9 -20
  9. package/dist/core-api/controller/collection-type.js.map +1 -1
  10. package/dist/core-api/controller/collection-type.mjs +8 -20
  11. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  12. package/dist/core-api/controller/index.d.ts.map +1 -1
  13. package/dist/core-api/controller/index.js +2 -2
  14. package/dist/core-api/controller/index.js.map +1 -1
  15. package/dist/core-api/controller/index.mjs +2 -2
  16. package/dist/core-api/controller/index.mjs.map +1 -1
  17. package/dist/core-api/controller/single-type.d.ts +1 -1
  18. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  19. package/dist/core-api/controller/single-type.js +6 -11
  20. package/dist/core-api/controller/single-type.js.map +1 -1
  21. package/dist/core-api/controller/single-type.mjs +5 -11
  22. package/dist/core-api/controller/single-type.mjs.map +1 -1
  23. package/dist/core-api/controller/transform.d.ts +2 -11
  24. package/dist/core-api/controller/transform.d.ts.map +1 -1
  25. package/dist/core-api/controller/transform.js +2 -16
  26. package/dist/core-api/controller/transform.js.map +1 -1
  27. package/dist/core-api/controller/transform.mjs +2 -16
  28. package/dist/core-api/controller/transform.mjs.map +1 -1
  29. package/dist/core-api/service/collection-type.d.ts +28 -5
  30. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  31. package/dist/core-api/service/collection-type.js +47 -49
  32. package/dist/core-api/service/collection-type.js.map +1 -1
  33. package/dist/core-api/service/collection-type.mjs +47 -50
  34. package/dist/core-api/service/collection-type.mjs.map +1 -1
  35. package/dist/core-api/service/core-service.d.ts +4 -0
  36. package/dist/core-api/service/core-service.d.ts.map +1 -0
  37. package/dist/core-api/service/core-service.js +12 -0
  38. package/dist/core-api/service/core-service.js.map +1 -0
  39. package/dist/core-api/service/core-service.mjs +12 -0
  40. package/dist/core-api/service/core-service.mjs.map +1 -0
  41. package/dist/core-api/service/index.js +2 -2
  42. package/dist/core-api/service/index.js.map +1 -1
  43. package/dist/core-api/service/index.mjs +4 -4
  44. package/dist/core-api/service/index.mjs.map +1 -1
  45. package/dist/core-api/service/pagination.d.ts +1 -5
  46. package/dist/core-api/service/pagination.d.ts.map +1 -1
  47. package/dist/core-api/service/pagination.js +0 -11
  48. package/dist/core-api/service/pagination.js.map +1 -1
  49. package/dist/core-api/service/pagination.mjs +0 -11
  50. package/dist/core-api/service/pagination.mjs.map +1 -1
  51. package/dist/core-api/service/single-type.d.ts +13 -8
  52. package/dist/core-api/service/single-type.d.ts.map +1 -1
  53. package/dist/core-api/service/single-type.js +25 -51
  54. package/dist/core-api/service/single-type.js.map +1 -1
  55. package/dist/core-api/service/single-type.mjs +24 -51
  56. package/dist/core-api/service/single-type.mjs.map +1 -1
  57. package/dist/factories.d.ts.map +1 -1
  58. package/dist/factories.js +2 -12
  59. package/dist/factories.js.map +1 -1
  60. package/dist/factories.mjs +2 -12
  61. package/dist/factories.mjs.map +1 -1
  62. package/dist/registries/content-types.d.ts.map +1 -1
  63. package/dist/registries/content-types.js +1 -2
  64. package/dist/registries/content-types.js.map +1 -1
  65. package/dist/registries/content-types.mjs +1 -2
  66. package/dist/registries/content-types.mjs.map +1 -1
  67. package/dist/services/document-service/collection-type.d.ts +4 -0
  68. package/dist/services/document-service/collection-type.d.ts.map +1 -0
  69. package/dist/services/document-service/collection-type.js +145 -0
  70. package/dist/services/document-service/collection-type.js.map +1 -0
  71. package/dist/services/document-service/collection-type.mjs +145 -0
  72. package/dist/services/document-service/collection-type.mjs.map +1 -0
  73. package/dist/services/document-service/common.d.ts +4 -0
  74. package/dist/services/document-service/common.d.ts.map +1 -0
  75. package/dist/services/document-service/common.js +7 -0
  76. package/dist/services/document-service/common.js.map +1 -0
  77. package/dist/services/document-service/common.mjs +7 -0
  78. package/dist/services/document-service/common.mjs.map +1 -0
  79. package/dist/services/document-service/document-engine.d.ts.map +1 -1
  80. package/dist/services/document-service/document-engine.js +130 -81
  81. package/dist/services/document-service/document-engine.js.map +1 -1
  82. package/dist/services/document-service/document-engine.mjs +125 -76
  83. package/dist/services/document-service/document-engine.mjs.map +1 -1
  84. package/dist/services/document-service/draft-and-publish.d.ts +24 -0
  85. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -0
  86. package/dist/services/document-service/draft-and-publish.js +41 -0
  87. package/dist/services/document-service/draft-and-publish.js.map +1 -0
  88. package/dist/services/document-service/draft-and-publish.mjs +41 -0
  89. package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
  90. package/dist/services/document-service/{document-service.d.ts → index.d.ts} +2 -4
  91. package/dist/services/document-service/index.d.ts.map +1 -0
  92. package/dist/services/document-service/index.js +22 -0
  93. package/dist/services/document-service/index.js.map +1 -0
  94. package/dist/services/document-service/index.mjs +22 -0
  95. package/dist/services/document-service/index.mjs.map +1 -0
  96. package/dist/services/document-service/internationalization.d.ts +7 -0
  97. package/dist/services/document-service/internationalization.d.ts.map +1 -0
  98. package/dist/services/document-service/internationalization.js +40 -0
  99. package/dist/services/document-service/internationalization.js.map +1 -0
  100. package/dist/services/document-service/internationalization.mjs +40 -0
  101. package/dist/services/document-service/internationalization.mjs.map +1 -0
  102. package/dist/services/document-service/middlewares.d.ts +8 -0
  103. package/dist/services/document-service/middlewares.d.ts.map +1 -0
  104. package/dist/services/document-service/middlewares.js +46 -0
  105. package/dist/services/document-service/middlewares.js.map +1 -0
  106. package/dist/services/document-service/middlewares.mjs +46 -0
  107. package/dist/services/document-service/middlewares.mjs.map +1 -0
  108. package/dist/services/document-service/repository-factory.d.ts +3 -0
  109. package/dist/services/document-service/repository-factory.d.ts.map +1 -0
  110. package/dist/services/document-service/repository-factory.js +12 -0
  111. package/dist/services/document-service/repository-factory.js.map +1 -0
  112. package/dist/services/document-service/repository-factory.mjs +12 -0
  113. package/dist/services/document-service/repository-factory.mjs.map +1 -0
  114. package/dist/services/document-service/single-type.d.ts +4 -0
  115. package/dist/services/document-service/single-type.d.ts.map +1 -0
  116. package/dist/services/document-service/single-type.js +92 -0
  117. package/dist/services/document-service/single-type.js.map +1 -0
  118. package/dist/services/document-service/single-type.mjs +92 -0
  119. package/dist/services/document-service/single-type.mjs.map +1 -0
  120. package/dist/services/document-service/transform/data.d.ts +5 -0
  121. package/dist/services/document-service/transform/data.d.ts.map +1 -0
  122. package/dist/services/document-service/transform/data.js +13 -0
  123. package/dist/services/document-service/transform/data.js.map +1 -0
  124. package/dist/services/document-service/transform/data.mjs +13 -0
  125. package/dist/services/document-service/transform/data.mjs.map +1 -0
  126. package/dist/services/document-service/transform/fields.d.ts +5 -0
  127. package/dist/services/document-service/transform/fields.d.ts.map +1 -0
  128. package/dist/services/document-service/transform/fields.js +23 -0
  129. package/dist/services/document-service/transform/fields.js.map +1 -0
  130. package/dist/services/document-service/transform/fields.mjs +23 -0
  131. package/dist/services/document-service/transform/fields.mjs.map +1 -0
  132. package/dist/services/document-service/transform/filters.d.ts +3 -0
  133. package/dist/services/document-service/transform/filters.d.ts.map +1 -0
  134. package/dist/services/document-service/transform/filters.js +49 -0
  135. package/dist/services/document-service/transform/filters.js.map +1 -0
  136. package/dist/services/document-service/transform/filters.mjs +49 -0
  137. package/dist/services/document-service/transform/filters.mjs.map +1 -0
  138. package/dist/services/document-service/transform/id-map.d.ts +23 -0
  139. package/dist/services/document-service/transform/id-map.d.ts.map +1 -0
  140. package/dist/services/document-service/transform/id-map.js +72 -0
  141. package/dist/services/document-service/transform/id-map.js.map +1 -0
  142. package/dist/services/document-service/transform/id-map.mjs +72 -0
  143. package/dist/services/document-service/transform/id-map.mjs.map +1 -0
  144. package/dist/services/document-service/transform/id-transform.d.ts +26 -0
  145. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -0
  146. package/dist/services/document-service/transform/id-transform.js +57 -0
  147. package/dist/services/document-service/transform/id-transform.js.map +1 -0
  148. package/dist/services/document-service/transform/id-transform.mjs +57 -0
  149. package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
  150. package/dist/services/document-service/transform/populate.d.ts +3 -0
  151. package/dist/services/document-service/transform/populate.d.ts.map +1 -0
  152. package/dist/services/document-service/transform/populate.js +31 -0
  153. package/dist/services/document-service/transform/populate.js.map +1 -0
  154. package/dist/services/document-service/transform/populate.mjs +31 -0
  155. package/dist/services/document-service/transform/populate.mjs.map +1 -0
  156. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +13 -0
  157. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -0
  158. package/dist/services/document-service/transform/relations/extract/data-ids.js +76 -0
  159. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
  160. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +76 -0
  161. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
  162. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +10 -0
  163. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -0
  164. package/dist/services/document-service/transform/relations/transform/data-ids.js +115 -0
  165. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
  166. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +115 -0
  167. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
  168. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +4 -0
  169. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +1 -0
  170. package/dist/services/document-service/transform/relations/transform/output-ids.js +26 -0
  171. package/dist/services/document-service/transform/relations/transform/output-ids.js.map +1 -0
  172. package/dist/services/document-service/transform/relations/transform/output-ids.mjs +26 -0
  173. package/dist/services/document-service/transform/relations/transform/output-ids.mjs.map +1 -0
  174. package/dist/services/document-service/transform/relations/utils/data.d.ts +6 -0
  175. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -0
  176. package/dist/services/document-service/transform/relations/utils/data.js +12 -0
  177. package/dist/services/document-service/transform/relations/utils/data.js.map +1 -0
  178. package/dist/services/document-service/transform/relations/utils/data.mjs +12 -0
  179. package/dist/services/document-service/transform/relations/utils/data.mjs.map +1 -0
  180. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +10 -0
  181. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -0
  182. package/dist/services/document-service/transform/relations/utils/i18n.js +31 -0
  183. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
  184. package/dist/services/document-service/transform/relations/utils/i18n.mjs +31 -0
  185. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
  186. package/dist/services/document-service/transform/relations/utils/types.d.ts +8 -0
  187. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -0
  188. package/dist/services/document-service/transform/sort.d.ts +5 -0
  189. package/dist/services/document-service/transform/sort.d.ts.map +1 -0
  190. package/dist/services/document-service/transform/sort.js +44 -0
  191. package/dist/services/document-service/transform/sort.js.map +1 -0
  192. package/dist/services/document-service/transform/sort.mjs +44 -0
  193. package/dist/services/document-service/transform/sort.mjs.map +1 -0
  194. package/dist/services/document-service/transform/types.d.ts +13 -0
  195. package/dist/services/document-service/transform/types.d.ts.map +1 -0
  196. package/dist/services/document-service/transform/utils.d.ts +9 -0
  197. package/dist/services/document-service/transform/utils.d.ts.map +1 -0
  198. package/dist/services/document-service/transform/utils.js +23 -0
  199. package/dist/services/document-service/transform/utils.js.map +1 -0
  200. package/dist/services/document-service/transform/utils.mjs +23 -0
  201. package/dist/services/document-service/transform/utils.mjs.map +1 -0
  202. package/dist/services/document-service/utils/populate.d.ts +3 -0
  203. package/dist/services/document-service/utils/populate.d.ts.map +1 -0
  204. package/dist/services/document-service/utils/populate.js +41 -0
  205. package/dist/services/document-service/utils/populate.js.map +1 -0
  206. package/dist/services/document-service/utils/populate.mjs +41 -0
  207. package/dist/services/document-service/utils/populate.mjs.map +1 -0
  208. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  209. package/dist/services/entity-validator/blocks-validator.js +22 -2
  210. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  211. package/dist/services/entity-validator/blocks-validator.mjs +22 -2
  212. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  213. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  214. package/dist/services/entity-validator/validators.js +7 -8
  215. package/dist/services/entity-validator/validators.js.map +1 -1
  216. package/dist/services/entity-validator/validators.mjs +7 -8
  217. package/dist/services/entity-validator/validators.mjs.map +1 -1
  218. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  219. package/dist/services/server/compose-endpoint.js +3 -0
  220. package/dist/services/server/compose-endpoint.js.map +1 -1
  221. package/dist/services/server/compose-endpoint.mjs +3 -0
  222. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  223. package/dist/services/webhook-store.js +2 -2
  224. package/dist/services/webhook-store.js.map +1 -1
  225. package/dist/services/webhook-store.mjs +2 -2
  226. package/dist/services/webhook-store.mjs.map +1 -1
  227. package/package.json +14 -14
  228. package/dist/core-api/service/get-fetch-params.d.ts +0 -7
  229. package/dist/core-api/service/get-fetch-params.d.ts.map +0 -1
  230. package/dist/core-api/service/get-fetch-params.js +0 -14
  231. package/dist/core-api/service/get-fetch-params.js.map +0 -1
  232. package/dist/core-api/service/get-fetch-params.mjs +0 -14
  233. package/dist/core-api/service/get-fetch-params.mjs.map +0 -1
  234. package/dist/services/document-service/document-service.d.ts.map +0 -1
  235. package/dist/services/document-service/document-service.js +0 -132
  236. package/dist/services/document-service/document-service.js.map +0 -1
  237. package/dist/services/document-service/document-service.mjs +0 -132
  238. package/dist/services/document-service/document-service.mjs.map +0 -1
  239. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts +0 -26
  240. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts.map +0 -1
  241. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js +0 -58
  242. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js.map +0 -1
  243. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs +0 -58
  244. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs.map +0 -1
  245. package/dist/services/document-service/middlewares/defaults/index.d.ts +0 -3
  246. package/dist/services/document-service/middlewares/defaults/index.d.ts.map +0 -1
  247. package/dist/services/document-service/middlewares/defaults/index.js +0 -82
  248. package/dist/services/document-service/middlewares/defaults/index.js.map +0 -1
  249. package/dist/services/document-service/middlewares/defaults/index.mjs +0 -82
  250. package/dist/services/document-service/middlewares/defaults/index.mjs.map +0 -1
  251. package/dist/services/document-service/middlewares/defaults/locales.d.ts +0 -18
  252. package/dist/services/document-service/middlewares/defaults/locales.d.ts.map +0 -1
  253. package/dist/services/document-service/middlewares/defaults/locales.js +0 -50
  254. package/dist/services/document-service/middlewares/defaults/locales.js.map +0 -1
  255. package/dist/services/document-service/middlewares/defaults/locales.mjs +0 -50
  256. package/dist/services/document-service/middlewares/defaults/locales.mjs.map +0 -1
  257. package/dist/services/document-service/middlewares/index.d.ts +0 -11
  258. package/dist/services/document-service/middlewares/index.d.ts.map +0 -1
  259. package/dist/services/document-service/middlewares/index.js +0 -59
  260. package/dist/services/document-service/middlewares/index.js.map +0 -1
  261. package/dist/services/document-service/middlewares/index.mjs +0 -59
  262. package/dist/services/document-service/middlewares/index.mjs.map +0 -1
@@ -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<Schema.CollectionType>(uid).findMany({\n ...fetchParams,\n ...paginationInfo,\n });\n\n if (shouldCount(fetchParams)) {\n const count = await strapi\n .documents<Schema.CollectionType>(uid)\n .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\n .documents<Schema.CollectionType>(uid)\n .findOne(documentId, this.getFetchParams(params));\n }\n\n async create(params = { data: {} }) {\n const { uid } = this.contentType;\n\n return strapi.documents<Schema.CollectionType>(uid).create(this.getFetchParams(params));\n }\n\n update(docId: Documents.ID, params = { data: {} }) {\n const { uid } = this.contentType;\n\n return strapi.documents<Schema.CollectionType>(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<Schema.CollectionType>(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,UAAiC,GAAG,EAAE,SAAS;AAAA,MAC1E,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,CACJ;AAEG,QAAA,YAAY,WAAW,GAAG;AAC5B,YAAM,QAAQ,MAAM,OACjB,UAAiC,GAAG,EACpC,MAAM,EAAE,GAAG,aAAa,GAAG,eAAgB,CAAA;AAE1C,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,OACJ,UAAiC,GAAG,EACpC,QAAQ,YAAY,KAAK,eAAe,MAAM,CAAC;AAAA,EACpD;AAAA,EAEA,MAAM,OAAO,SAAS,EAAE,MAAM,MAAM;AAC5B,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAiC,GAAG,EAAE,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACxF;AAAA,EAEA,OAAO,OAAqB,SAAS,EAAE,MAAM,MAAM;AAC3C,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAiC,GAAG,EAAE,OAAO,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EAC/F;AAAA,EAEA,MAAM,OAAO,OAAqB,SAAS,IAAI;AACvC,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAiC,GAAG,EAAE,OAAO,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EAC/F;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
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/pagination.ts"],"names":[],"mappings":"AAGA,UAAU,oBAAoB;IAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;CACxE;AAED,KAAK,eAAe,GAAG,oBAAoB,GAAG;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,gBAAgB,GAAG,oBAAoB,GAAG;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAElE,KAAK,cAAc,GACf;IACE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAmBN,QAAA,MAAM,WAAW,WAAY;IAAE,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAE,YA0B7D,CAAC;AAOF,QAAA,MAAM,iBAAiB,WAAY;IAAE,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAE,KAAG,cA0CtE,CAAC;AAEF,QAAA,MAAM,wBAAwB,mBAAoB,cAAc;WAlGnD,MAAM;WACN,MAAM;CA2GlB,CAAC;AAEF,QAAA,MAAM,2BAA2B,mBAAoB,cAAc,SAAS,MAAM;;;UAlHtE,MAAM;cACF,MAAM;;;WAGT,MAAM;WACN,MAAM;CA0HlB,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/pagination.ts"],"names":[],"mappings":"AAGA,UAAU,oBAAoB;IAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;CACxE;AAED,KAAK,eAAe,GAAG,oBAAoB,GAAG;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,gBAAgB,GAAG,oBAAoB,GAAG;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAElE,KAAK,cAAc,GACf;IACE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAmBN,QAAA,MAAM,WAAW,WAAY;IAAE,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAE,YA0B7D,CAAC;AAQF,QAAA,MAAM,iBAAiB,WAAY;IAAE,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAE,KAAG,cA0CtE,CAAC;AAEF,QAAA,MAAM,2BAA2B,mBAAoB,cAAc,SAAS,MAAM;;;UAvGtE,MAAM;cACF,MAAM;;;WAGT,MAAM;WACN,MAAM;CA+GlB,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,WAAW,EAAE,CAAC"}
@@ -59,16 +59,6 @@ const getPaginationInfo = (params) => {
59
59
  limit: shouldApplyMaxLimit(limit, maxLimit) ? maxLimit || -1 : Math.max(1, limit)
60
60
  };
61
61
  };
62
- const convertPagedToStartLimit = (paginationInfo) => {
63
- if ("page" in paginationInfo) {
64
- const { page, pageSize } = paginationInfo;
65
- return {
66
- start: (page - 1) * pageSize,
67
- limit: pageSize
68
- };
69
- }
70
- return paginationInfo;
71
- };
72
62
  const transformPaginationResponse = (paginationInfo, count) => {
73
63
  if ("page" in paginationInfo) {
74
64
  return {
@@ -82,7 +72,6 @@ const transformPaginationResponse = (paginationInfo, count) => {
82
72
  total: count
83
73
  };
84
74
  };
85
- exports.convertPagedToStartLimit = convertPagedToStartLimit;
86
75
  exports.getPaginationInfo = getPaginationInfo;
87
76
  exports.shouldCount = shouldCount;
88
77
  exports.transformPaginationResponse = transformPaginationResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","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);\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 convertPagedToStartLimit = (paginationInfo: PaginationInfo) => {\n if ('page' in paginationInfo) {\n const { page, pageSize } = paginationInfo;\n return {\n start: (page - 1) * pageSize,\n limit: pageSize,\n };\n }\n\n return paginationInfo;\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, convertPagedToStartLimit, transformPaginationResponse, shouldCount };\n"],"names":["toNumber","isPagedPagination","has","errors","isUndefined"],"mappings":";;;;AAgCA,MAAM,yBAAyB,OAAO;AAAA,EACpC,cAAcA,EAAS,SAAA,OAAO,OAAO,IAAI,yBAAyB,EAAE,CAAC;AAAA,EACrE,UAAUA,EAAS,SAAA,OAAO,OAAO,IAAI,mBAAmB,CAAC,KAAK;AAChE;AAKA,MAAM,sBAAsB,CAC1B,OACA,UACA,EAAE,mBAAAC,qBAAoB,UAAU,CAAA,MAC5B,CAACA,sBAAqB,UAAU,MAAQ,aAAa,QAAQ,QAAQ;AAErE,MAAA,cAAc,CAAC,WAA8C;AAC7D,MAAAC,EAAA,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,IAAIC,YAAO,OAAA;AAAA,MACf;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAO,QAAQ,OAAO,OAAO,IAAI,sBAAsB,IAAI,CAAC;AAC9D;AAEA,MAAM,qBAAqB,CAAC,eAC1BD,EAAAA,IAAI,SAAS,UAAU,KAAKA,EAAI,IAAA,SAAS,UAAU;AACrD,MAAM,oBAAoB,CAAC,eACzBA,EAAAA,IAAI,QAAQ,UAAU,KAAKA,EAAI,IAAA,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,IAAIC,YAAO,OAAA;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,WAAWC,EAAA,YAAY,WAAW,QAAQ,IAC5C,eACA,KAAK,IAAI,GAAGJ,EAAAA,SAAS,WAAW,QAAQ,CAAC;AAEtC,WAAA;AAAA,MACL,MAAM,KAAK,IAAI,GAAGA,WAAS,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,QAAQI,cAAY,WAAW,KAAK,IAAI,eAAeJ,EAAA,SAAS,WAAW,KAAK;AAE/E,SAAA;AAAA,IACL,OAAO,KAAK,IAAI,GAAGA,WAAS,WAAW,SAAS,CAAC,CAAC;AAAA,IAClD,OAAO,oBAAoB,OAAO,QAAQ,IAAI,YAAY,KAAK,KAAK,IAAI,GAAG,KAAK;AAAA,EAAA;AAEpF;AAEM,MAAA,2BAA2B,CAAC,mBAAmC;AACnE,MAAI,UAAU,gBAAgB;AACtB,UAAA,EAAE,MAAM,SAAa,IAAA;AACpB,WAAA;AAAA,MACL,QAAQ,OAAO,KAAK;AAAA,MACpB,OAAO;AAAA,IAAA;AAAA,EAEX;AAEO,SAAA;AACT;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.js","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":["toNumber","isPagedPagination","has","errors","isUndefined"],"mappings":";;;;AAgCA,MAAM,yBAAyB,OAAO;AAAA,EACpC,cAAcA,EAAS,SAAA,OAAO,OAAO,IAAI,yBAAyB,EAAE,CAAC;AAAA,EACrE,UAAUA,EAAS,SAAA,OAAO,OAAO,IAAI,mBAAmB,CAAC,KAAK;AAChE;AAKA,MAAM,sBAAsB,CAC1B,OACA,UACA,EAAE,mBAAAC,qBAAoB,UAAU,CAAA,MAC5B,CAACA,sBAAqB,UAAU,MAAQ,aAAa,QAAQ,QAAQ;AAErE,MAAA,cAAc,CAAC,WAA8C;AAC7D,MAAAC,EAAA,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,IAAIC,YAAO,OAAA;AAAA,MACf;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAO,QAAQ,OAAO,OAAO,IAAI,sBAAsB,IAAI,CAAC;AAC9D;AAEA,MAAM,qBAAqB,CAAC,eAC1BD,EAAAA,IAAI,SAAS,UAAU,KAAKA,EAAI,IAAA,SAAS,UAAU;AAErD,MAAM,oBAAoB,CAAC,eACzBA,EAAAA,IAAI,QAAQ,UAAU,KAAKA,EAAI,IAAA,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,IAAIC,YAAO,OAAA;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,WAAWC,EAAA,YAAY,WAAW,QAAQ,IAC5C,eACA,KAAK,IAAI,GAAGJ,EAAAA,SAAS,WAAW,QAAQ,CAAC;AAEtC,WAAA;AAAA,MACL,MAAM,KAAK,IAAI,GAAGA,WAAS,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,QAAQI,cAAY,WAAW,KAAK,IAAI,eAAeJ,EAAA,SAAS,WAAW,KAAK;AAE/E,SAAA;AAAA,IACL,OAAO,KAAK,IAAI,GAAGA,WAAS,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;;;;"}
@@ -57,16 +57,6 @@ const getPaginationInfo = (params) => {
57
57
  limit: shouldApplyMaxLimit(limit, maxLimit) ? maxLimit || -1 : Math.max(1, limit)
58
58
  };
59
59
  };
60
- const convertPagedToStartLimit = (paginationInfo) => {
61
- if ("page" in paginationInfo) {
62
- const { page, pageSize } = paginationInfo;
63
- return {
64
- start: (page - 1) * pageSize,
65
- limit: pageSize
66
- };
67
- }
68
- return paginationInfo;
69
- };
70
60
  const transformPaginationResponse = (paginationInfo, count) => {
71
61
  if ("page" in paginationInfo) {
72
62
  return {
@@ -81,7 +71,6 @@ const transformPaginationResponse = (paginationInfo, count) => {
81
71
  };
82
72
  };
83
73
  export {
84
- convertPagedToStartLimit,
85
74
  getPaginationInfo,
86
75
  shouldCount,
87
76
  transformPaginationResponse
@@ -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);\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 convertPagedToStartLimit = (paginationInfo: PaginationInfo) => {\n if ('page' in paginationInfo) {\n const { page, pageSize } = paginationInfo;\n return {\n start: (page - 1) * pageSize,\n limit: pageSize,\n };\n }\n\n return paginationInfo;\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, convertPagedToStartLimit, 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;AACrD,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,2BAA2B,CAAC,mBAAmC;AACnE,MAAI,UAAU,gBAAgB;AACtB,UAAA,EAAE,MAAM,SAAa,IAAA;AACpB,WAAA;AAAA,MACL,QAAQ,OAAO,KAAK;AAAA,MACpB,OAAO;AAAA,IAAA;AAAA,EAEX;AAEO,SAAA;AACT;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 { 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,9 +1,14 @@
1
- import type { CoreApi, Schema } from '@strapi/types';
2
- /**
3
- * Returns a single type service to handle default core-api actions
4
- */
5
- declare const createSingleTypeService: ({ contentType, }: {
6
- contentType: Schema.SingleType;
7
- }) => CoreApi.Service.SingleType;
8
- export default createSingleTypeService;
1
+ import type { Schema, CoreApi } from '@strapi/types';
2
+ import { CoreService } from './core-service';
3
+ export declare class SingleTypeService extends CoreService implements CoreApi.Service.SingleType {
4
+ private contentType;
5
+ constructor(contentType: Schema.SingleType);
6
+ find(params?: {}): Promise<import("@strapi/types/dist/modules/documents").AnyDocument>;
7
+ createOrUpdate(params?: {}): Promise<import("@strapi/types/dist/modules/documents").AnyDocument>;
8
+ delete(params?: {}): Promise<{
9
+ deletedEntries: number;
10
+ }>;
11
+ }
12
+ declare const createSingleTypeService: (contentType: Schema.SingleType) => CoreApi.Service.SingleType;
13
+ export { createSingleTypeService };
9
14
  //# 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":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAY7D;;GAEG;AACH,QAAA,MAAM,uBAAuB;iBAGd,OAAO,UAAU;MAC5B,QAAQ,OAAO,CAAC,UAkDnB,CAAC;AAEF,eAAe,uBAAuB,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,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,IAAI,CAAC,MAAM,KAAK;IAMhB,cAAc,CAAC,MAAM,KAAK;IAM1B,MAAM,CAAC,MAAM,KAAK;;;CAKzB;AAED,QAAA,MAAM,uBAAuB,gBAAiB,OAAO,UAAU,KAAG,QAAQ,OAAO,CAAC,UAEjF,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,54 +1,28 @@
1
1
  "use strict";
2
- const _ = require("lodash/fp");
3
- const strapiUtils = require("@strapi/utils");
4
- const getFetchParams = require("./get-fetch-params.js");
5
- const {
6
- constants: { PUBLISHED_AT_ATTRIBUTE }
7
- } = strapiUtils.contentTypes;
8
- const setPublishedAt = (data) => {
9
- data[PUBLISHED_AT_ATTRIBUTE] = _.propOr(/* @__PURE__ */ new Date(), PUBLISHED_AT_ATTRIBUTE, data);
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const coreService = require("./core-service.js");
4
+ class SingleTypeService extends coreService.CoreService {
5
+ contentType;
6
+ constructor(contentType) {
7
+ super();
8
+ this.contentType = contentType;
9
+ }
10
+ async find(params = {}) {
11
+ const { uid } = this.contentType;
12
+ return strapi.documents(uid).find(this.getFetchParams(params));
13
+ }
14
+ async createOrUpdate(params = {}) {
15
+ const { uid } = this.contentType;
16
+ return strapi.documents(uid).update(this.getFetchParams(params));
17
+ }
18
+ async delete(params = {}) {
19
+ const { uid } = this.contentType;
20
+ return strapi.documents(uid).delete(this.getFetchParams(params));
21
+ }
22
+ }
23
+ const createSingleTypeService = (contentType) => {
24
+ return new SingleTypeService(contentType);
10
25
  };
11
- const createSingleTypeService = ({
12
- contentType
13
- }) => {
14
- const { uid } = contentType;
15
- return {
16
- getFetchParams: getFetchParams.getFetchParams,
17
- /**
18
- * Returns singleType content
19
- */
20
- find(params = {}) {
21
- return strapi.entityService?.findMany(uid, this.getFetchParams(params)) ?? null;
22
- },
23
- /**
24
- * Creates or updates a singleType content
25
- *
26
- * @return {Promise}
27
- */
28
- async createOrUpdate({ data, ...params } = { data: {} }) {
29
- const entity = await this.find({ ...params, publicationState: "preview" });
30
- if (!entity) {
31
- const count = await strapi.query(uid).count();
32
- if (count >= 1) {
33
- throw new strapiUtils.errors.ValidationError("singleType.alreadyExists");
34
- }
35
- setPublishedAt(data);
36
- return strapi.entityService?.create(uid, { ...params, data });
37
- }
38
- return strapi.entityService?.update(uid, entity.id, { ...params, data });
39
- },
40
- /**
41
- * Deletes the singleType content
42
- *
43
- * @return {Promise}
44
- */
45
- async delete(params = {}) {
46
- const entity = await this.find(params);
47
- if (!entity)
48
- return;
49
- return strapi.entityService?.delete(uid, entity.id);
50
- }
51
- };
52
- };
53
- module.exports = createSingleTypeService;
26
+ exports.SingleTypeService = SingleTypeService;
27
+ exports.createSingleTypeService = createSingleTypeService;
54
28
  //# sourceMappingURL=single-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"single-type.js","sources":["../../../src/core-api/service/single-type.ts"],"sourcesContent":["import { propOr } from 'lodash/fp';\nimport type { CoreApi, Schema, Common } from '@strapi/types';\nimport { errors, contentTypes as contentTypeUtils } from '@strapi/utils';\nimport { getFetchParams } from './get-fetch-params';\n\nconst {\n constants: { PUBLISHED_AT_ATTRIBUTE },\n} = contentTypeUtils;\n\nconst setPublishedAt = (data: Record<string, unknown>) => {\n data[PUBLISHED_AT_ATTRIBUTE] = propOr(new Date(), PUBLISHED_AT_ATTRIBUTE, data);\n};\n\n/**\n * Returns a single type service to handle default core-api actions\n */\nconst createSingleTypeService = ({\n contentType,\n}: {\n contentType: Schema.SingleType;\n}): CoreApi.Service.SingleType => {\n const { uid } = contentType;\n\n return <any>{\n getFetchParams,\n /**\n * Returns singleType content\n */\n find(params = {}) {\n return (\n strapi.entityService?.findMany(uid as Common.UID.SingleType, this.getFetchParams(params)) ??\n null\n );\n },\n\n /**\n * Creates or updates a singleType content\n *\n * @return {Promise}\n */\n async createOrUpdate({ data, ...params } = { data: {} }) {\n const entity = await this.find({ ...params, publicationState: 'preview' });\n\n if (!entity) {\n const count = await strapi.query(uid).count();\n if (count >= 1) {\n throw new errors.ValidationError('singleType.alreadyExists');\n }\n\n setPublishedAt(data);\n\n return strapi.entityService?.create(uid, { ...params, data });\n }\n\n return strapi.entityService?.update(uid, entity.id, { ...params, data });\n },\n\n /**\n * Deletes the singleType content\n *\n * @return {Promise}\n */\n async delete(params = {}) {\n const entity = await this.find(params);\n\n if (!entity) return;\n\n return strapi.entityService?.delete(uid, entity.id);\n },\n };\n};\n\nexport default createSingleTypeService;\n"],"names":["contentTypeUtils","propOr","getFetchParams","errors"],"mappings":";;;;AAKA,MAAM;AAAA,EACJ,WAAW,EAAE,uBAAuB;AACtC,IAAIA;AAEJ,MAAM,iBAAiB,CAAC,SAAkC;AACxD,OAAK,sBAAsB,IAAIC,EAAA,2BAAW,QAAQ,wBAAwB,IAAI;AAChF;AAKA,MAAM,0BAA0B,CAAC;AAAA,EAC/B;AACF,MAEkC;AAC1B,QAAA,EAAE,IAAQ,IAAA;AAEJ,SAAA;AAAA,IAAA,gBACVC,eAAA;AAAA;AAAA;AAAA;AAAA,IAIA,KAAK,SAAS,IAAI;AAEd,aAAA,OAAO,eAAe,SAAS,KAA8B,KAAK,eAAe,MAAM,CAAC,KACxF;AAAA,IAEJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAM,eAAe,EAAE,MAAM,GAAG,OAAO,IAAI,EAAE,MAAM,CAAA,KAAM;AACjD,YAAA,SAAS,MAAM,KAAK,KAAK,EAAE,GAAG,QAAQ,kBAAkB,UAAA,CAAW;AAEzE,UAAI,CAAC,QAAQ;AACX,cAAM,QAAQ,MAAM,OAAO,MAAM,GAAG,EAAE;AACtC,YAAI,SAAS,GAAG;AACR,gBAAA,IAAIC,YAAO,OAAA,gBAAgB,0BAA0B;AAAA,QAC7D;AAEA,uBAAe,IAAI;AAEZ,eAAA,OAAO,eAAe,OAAO,KAAK,EAAE,GAAG,QAAQ,MAAM;AAAA,MAC9D;AAEO,aAAA,OAAO,eAAe,OAAO,KAAK,OAAO,IAAI,EAAE,GAAG,QAAQ,KAAA,CAAM;AAAA,IACzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAM,OAAO,SAAS,IAAI;AACxB,YAAM,SAAS,MAAM,KAAK,KAAK,MAAM;AAErC,UAAI,CAAC;AAAQ;AAEb,aAAO,OAAO,eAAe,OAAO,KAAK,OAAO,EAAE;AAAA,IACpD;AAAA,EAAA;AAEJ;;"}
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 find(params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents<Schema.SingleType>(uid).find(this.getFetchParams(params));\n }\n\n async createOrUpdate(params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents<Schema.SingleType>(uid).update(this.getFetchParams(params));\n }\n\n async delete(params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents<Schema.SingleType>(uid).delete(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,KAAK,SAAS,IAAI;AAChB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAA6B,GAAG,EAAE,KAAK,KAAK,eAAe,MAAM,CAAC;AAAA,EAClF;AAAA,EAEA,MAAM,eAAe,SAAS,IAAI;AAC1B,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAA6B,GAAG,EAAE,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACpF;AAAA,EAEA,MAAM,OAAO,SAAS,IAAI;AAClB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAA6B,GAAG,EAAE,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACpF;AACF;AAEM,MAAA,0BAA0B,CAAC,gBAA+D;AACvF,SAAA,IAAI,kBAAkB,WAAW;AAC1C;;;"}
@@ -1,55 +1,28 @@
1
- import { propOr } from "lodash/fp";
2
- import { errors, contentTypes } from "@strapi/utils";
3
- import { getFetchParams } from "./get-fetch-params.mjs";
4
- const {
5
- constants: { PUBLISHED_AT_ATTRIBUTE }
6
- } = contentTypes;
7
- const setPublishedAt = (data) => {
8
- data[PUBLISHED_AT_ATTRIBUTE] = propOr(/* @__PURE__ */ new Date(), PUBLISHED_AT_ATTRIBUTE, data);
9
- };
10
- const createSingleTypeService = ({
11
- contentType
12
- }) => {
13
- const { uid } = contentType;
14
- return {
15
- getFetchParams,
16
- /**
17
- * Returns singleType content
18
- */
19
- find(params = {}) {
20
- return strapi.entityService?.findMany(uid, this.getFetchParams(params)) ?? null;
21
- },
22
- /**
23
- * Creates or updates a singleType content
24
- *
25
- * @return {Promise}
26
- */
27
- async createOrUpdate({ data, ...params } = { data: {} }) {
28
- const entity = await this.find({ ...params, publicationState: "preview" });
29
- if (!entity) {
30
- const count = await strapi.query(uid).count();
31
- if (count >= 1) {
32
- throw new errors.ValidationError("singleType.alreadyExists");
33
- }
34
- setPublishedAt(data);
35
- return strapi.entityService?.create(uid, { ...params, data });
36
- }
37
- return strapi.entityService?.update(uid, entity.id, { ...params, data });
38
- },
39
- /**
40
- * Deletes the singleType content
41
- *
42
- * @return {Promise}
43
- */
44
- async delete(params = {}) {
45
- const entity = await this.find(params);
46
- if (!entity)
47
- return;
48
- return strapi.entityService?.delete(uid, entity.id);
49
- }
50
- };
1
+ import { CoreService } from "./core-service.mjs";
2
+ class SingleTypeService extends CoreService {
3
+ contentType;
4
+ constructor(contentType) {
5
+ super();
6
+ this.contentType = contentType;
7
+ }
8
+ async find(params = {}) {
9
+ const { uid } = this.contentType;
10
+ return strapi.documents(uid).find(this.getFetchParams(params));
11
+ }
12
+ async createOrUpdate(params = {}) {
13
+ const { uid } = this.contentType;
14
+ return strapi.documents(uid).update(this.getFetchParams(params));
15
+ }
16
+ async delete(params = {}) {
17
+ const { uid } = this.contentType;
18
+ return strapi.documents(uid).delete(this.getFetchParams(params));
19
+ }
20
+ }
21
+ const createSingleTypeService = (contentType) => {
22
+ return new SingleTypeService(contentType);
51
23
  };
52
24
  export {
53
- createSingleTypeService as default
25
+ SingleTypeService,
26
+ createSingleTypeService
54
27
  };
55
28
  //# sourceMappingURL=single-type.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"single-type.mjs","sources":["../../../src/core-api/service/single-type.ts"],"sourcesContent":["import { propOr } from 'lodash/fp';\nimport type { CoreApi, Schema, Common } from '@strapi/types';\nimport { errors, contentTypes as contentTypeUtils } from '@strapi/utils';\nimport { getFetchParams } from './get-fetch-params';\n\nconst {\n constants: { PUBLISHED_AT_ATTRIBUTE },\n} = contentTypeUtils;\n\nconst setPublishedAt = (data: Record<string, unknown>) => {\n data[PUBLISHED_AT_ATTRIBUTE] = propOr(new Date(), PUBLISHED_AT_ATTRIBUTE, data);\n};\n\n/**\n * Returns a single type service to handle default core-api actions\n */\nconst createSingleTypeService = ({\n contentType,\n}: {\n contentType: Schema.SingleType;\n}): CoreApi.Service.SingleType => {\n const { uid } = contentType;\n\n return <any>{\n getFetchParams,\n /**\n * Returns singleType content\n */\n find(params = {}) {\n return (\n strapi.entityService?.findMany(uid as Common.UID.SingleType, this.getFetchParams(params)) ??\n null\n );\n },\n\n /**\n * Creates or updates a singleType content\n *\n * @return {Promise}\n */\n async createOrUpdate({ data, ...params } = { data: {} }) {\n const entity = await this.find({ ...params, publicationState: 'preview' });\n\n if (!entity) {\n const count = await strapi.query(uid).count();\n if (count >= 1) {\n throw new errors.ValidationError('singleType.alreadyExists');\n }\n\n setPublishedAt(data);\n\n return strapi.entityService?.create(uid, { ...params, data });\n }\n\n return strapi.entityService?.update(uid, entity.id, { ...params, data });\n },\n\n /**\n * Deletes the singleType content\n *\n * @return {Promise}\n */\n async delete(params = {}) {\n const entity = await this.find(params);\n\n if (!entity) return;\n\n return strapi.entityService?.delete(uid, entity.id);\n },\n };\n};\n\nexport default createSingleTypeService;\n"],"names":["contentTypeUtils"],"mappings":";;;AAKA,MAAM;AAAA,EACJ,WAAW,EAAE,uBAAuB;AACtC,IAAIA;AAEJ,MAAM,iBAAiB,CAAC,SAAkC;AACxD,OAAK,sBAAsB,IAAI,2BAAW,QAAQ,wBAAwB,IAAI;AAChF;AAKA,MAAM,0BAA0B,CAAC;AAAA,EAC/B;AACF,MAEkC;AAC1B,QAAA,EAAE,IAAQ,IAAA;AAEJ,SAAA;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAIA,KAAK,SAAS,IAAI;AAEd,aAAA,OAAO,eAAe,SAAS,KAA8B,KAAK,eAAe,MAAM,CAAC,KACxF;AAAA,IAEJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAM,eAAe,EAAE,MAAM,GAAG,OAAO,IAAI,EAAE,MAAM,CAAA,KAAM;AACjD,YAAA,SAAS,MAAM,KAAK,KAAK,EAAE,GAAG,QAAQ,kBAAkB,UAAA,CAAW;AAEzE,UAAI,CAAC,QAAQ;AACX,cAAM,QAAQ,MAAM,OAAO,MAAM,GAAG,EAAE;AACtC,YAAI,SAAS,GAAG;AACR,gBAAA,IAAI,OAAO,gBAAgB,0BAA0B;AAAA,QAC7D;AAEA,uBAAe,IAAI;AAEZ,eAAA,OAAO,eAAe,OAAO,KAAK,EAAE,GAAG,QAAQ,MAAM;AAAA,MAC9D;AAEO,aAAA,OAAO,eAAe,OAAO,KAAK,OAAO,IAAI,EAAE,GAAG,QAAQ,KAAA,CAAM;AAAA,IACzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAM,OAAO,SAAS,IAAI;AACxB,YAAM,SAAS,MAAM,KAAK,KAAK,MAAM;AAErC,UAAI,CAAC;AAAQ;AAEb,aAAO,OAAO,eAAe,OAAO,KAAK,OAAO,EAAE;AAAA,IACpD;AAAA,EAAA;AAEJ;"}
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 find(params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents<Schema.SingleType>(uid).find(this.getFetchParams(params));\n }\n\n async createOrUpdate(params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents<Schema.SingleType>(uid).update(this.getFetchParams(params));\n }\n\n async delete(params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents<Schema.SingleType>(uid).delete(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,KAAK,SAAS,IAAI;AAChB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAA6B,GAAG,EAAE,KAAK,KAAK,eAAe,MAAM,CAAC;AAAA,EAClF;AAAA,EAEA,MAAM,eAAe,SAAS,IAAI;AAC1B,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAA6B,GAAG,EAAE,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACpF;AAAA,EAEA,MAAM,OAAO,SAAS,IAAI;AAClB,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAA6B,GAAG,EAAE,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACpF;AACF;AAEM,MAAA,0BAA0B,CAAC,gBAA+D;AACvF,SAAA,IAAI,kBAAkB,WAAW;AAC1C;"}