@strapi/core 0.0.0-experimental.d362bf200f5f9359a4bbd4a549603de5ee1f04ca → 0.0.0-experimental.d834c9e658d1fb037e6da1105150593521c667cc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +37 -46
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +190 -225
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +159 -214
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/configuration/config-loader.d.ts.map +1 -1
  9. package/dist/configuration/config-loader.js +9 -5
  10. package/dist/configuration/config-loader.js.map +1 -1
  11. package/dist/configuration/config-loader.mjs +9 -5
  12. package/dist/configuration/config-loader.mjs.map +1 -1
  13. package/dist/configuration/get-dirs.d.ts +10 -0
  14. package/dist/configuration/get-dirs.d.ts.map +1 -0
  15. package/dist/{utils → configuration}/get-dirs.js +3 -2
  16. package/dist/configuration/get-dirs.js.map +1 -0
  17. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  18. package/dist/configuration/get-dirs.mjs.map +1 -0
  19. package/dist/configuration/index.d.ts +4 -7
  20. package/dist/configuration/index.d.ts.map +1 -1
  21. package/dist/configuration/index.js +8 -6
  22. package/dist/configuration/index.js.map +1 -1
  23. package/dist/configuration/index.mjs +5 -4
  24. package/dist/configuration/index.mjs.map +1 -1
  25. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  26. package/dist/core-api/controller/collection-type.js +6 -3
  27. package/dist/core-api/controller/collection-type.js.map +1 -1
  28. package/dist/core-api/controller/collection-type.mjs +3 -0
  29. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  30. package/dist/core-api/controller/index.js +2 -2
  31. package/dist/core-api/controller/index.js.map +1 -1
  32. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  33. package/dist/core-api/controller/single-type.js +3 -2
  34. package/dist/core-api/controller/single-type.js.map +1 -1
  35. package/dist/core-api/controller/single-type.mjs +1 -0
  36. package/dist/core-api/controller/single-type.mjs.map +1 -1
  37. package/dist/core-api/controller/transform.js +8 -8
  38. package/dist/core-api/controller/transform.js.map +1 -1
  39. package/dist/core-api/routes/index.d.ts.map +1 -1
  40. package/dist/core-api/service/collection-type.d.ts +5 -11
  41. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  42. package/dist/core-api/service/collection-type.js +18 -7
  43. package/dist/core-api/service/collection-type.js.map +1 -1
  44. package/dist/core-api/service/collection-type.mjs +19 -8
  45. package/dist/core-api/service/collection-type.mjs.map +1 -1
  46. package/dist/core-api/service/pagination.d.ts +4 -11
  47. package/dist/core-api/service/pagination.d.ts.map +1 -1
  48. package/dist/core-api/service/pagination.js +18 -44
  49. package/dist/core-api/service/pagination.js.map +1 -1
  50. package/dist/core-api/service/pagination.mjs +16 -42
  51. package/dist/core-api/service/pagination.mjs.map +1 -1
  52. package/dist/core-api/service/single-type.d.ts.map +1 -1
  53. package/dist/core-api/service/single-type.js +9 -2
  54. package/dist/core-api/service/single-type.js.map +1 -1
  55. package/dist/core-api/service/single-type.mjs +9 -2
  56. package/dist/core-api/service/single-type.mjs.map +1 -1
  57. package/dist/domain/content-type/index.js +4 -4
  58. package/dist/domain/content-type/index.js.map +1 -1
  59. package/dist/ee/index.d.ts +2 -0
  60. package/dist/ee/index.d.ts.map +1 -1
  61. package/dist/ee/index.js +3 -3
  62. package/dist/ee/index.js.map +1 -1
  63. package/dist/ee/index.mjs.map +1 -1
  64. package/dist/ee/license.d.ts.map +1 -1
  65. package/dist/ee/license.js +2 -1
  66. package/dist/ee/license.js.map +1 -1
  67. package/dist/ee/license.mjs +2 -1
  68. package/dist/ee/license.mjs.map +1 -1
  69. package/dist/factories.d.ts +2 -2
  70. package/dist/factories.d.ts.map +1 -1
  71. package/dist/factories.js +4 -4
  72. package/dist/factories.js.map +1 -1
  73. package/dist/factories.mjs.map +1 -1
  74. package/dist/index.d.ts +18 -2
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +25 -1
  77. package/dist/index.js.map +1 -1
  78. package/dist/index.mjs +27 -3
  79. package/dist/index.mjs.map +1 -1
  80. package/dist/loaders/admin.js +0 -1
  81. package/dist/loaders/admin.js.map +1 -1
  82. package/dist/loaders/admin.mjs +0 -1
  83. package/dist/loaders/admin.mjs.map +1 -1
  84. package/dist/loaders/apis.d.ts.map +1 -1
  85. package/dist/loaders/apis.js +12 -12
  86. package/dist/loaders/apis.js.map +1 -1
  87. package/dist/loaders/apis.mjs +10 -10
  88. package/dist/loaders/apis.mjs.map +1 -1
  89. package/dist/loaders/index.d.ts.map +1 -1
  90. package/dist/loaders/index.js +0 -2
  91. package/dist/loaders/index.js.map +1 -1
  92. package/dist/loaders/index.mjs +0 -2
  93. package/dist/loaders/index.mjs.map +1 -1
  94. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  95. package/dist/loaders/plugins/get-enabled-plugins.js +41 -15
  96. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  97. package/dist/loaders/plugins/get-enabled-plugins.mjs +11 -7
  98. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  99. package/dist/loaders/plugins/get-user-plugins-config.js +2 -2
  100. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  101. package/dist/loaders/plugins/index.js +6 -6
  102. package/dist/loaders/plugins/index.js.map +1 -1
  103. package/dist/middlewares/body.d.ts +2 -2
  104. package/dist/middlewares/body.d.ts.map +1 -1
  105. package/dist/middlewares/body.js +6 -6
  106. package/dist/middlewares/body.js.map +1 -1
  107. package/dist/middlewares/body.mjs +4 -4
  108. package/dist/middlewares/body.mjs.map +1 -1
  109. package/dist/middlewares/cors.d.ts.map +1 -1
  110. package/dist/middlewares/cors.js +9 -7
  111. package/dist/middlewares/cors.js.map +1 -1
  112. package/dist/middlewares/cors.mjs +9 -7
  113. package/dist/middlewares/cors.mjs.map +1 -1
  114. package/dist/middlewares/public.js +3 -3
  115. package/dist/middlewares/public.js.map +1 -1
  116. package/dist/middlewares/public.mjs +1 -1
  117. package/dist/middlewares/public.mjs.map +1 -1
  118. package/dist/middlewares/query.d.ts.map +1 -1
  119. package/dist/middlewares/query.js.map +1 -1
  120. package/dist/middlewares/query.mjs.map +1 -1
  121. package/dist/middlewares/responses.js +2 -2
  122. package/dist/middlewares/responses.js.map +1 -1
  123. package/dist/middlewares/security.d.ts.map +1 -1
  124. package/dist/middlewares/security.js +12 -5
  125. package/dist/middlewares/security.js.map +1 -1
  126. package/dist/middlewares/security.mjs +11 -4
  127. package/dist/middlewares/security.mjs.map +1 -1
  128. package/dist/middlewares/session.js +2 -2
  129. package/dist/middlewares/session.js.map +1 -1
  130. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +30 -0
  131. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  132. package/dist/migrations/database/5.0.0-discard-drafts.js +50 -0
  133. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  134. package/dist/migrations/database/5.0.0-discard-drafts.mjs +50 -0
  135. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  136. package/dist/migrations/draft-publish.d.ts.map +1 -1
  137. package/dist/migrations/draft-publish.js +14 -31
  138. package/dist/migrations/draft-publish.js.map +1 -1
  139. package/dist/migrations/draft-publish.mjs +15 -32
  140. package/dist/migrations/draft-publish.mjs.map +1 -1
  141. package/dist/providers/admin.d.ts +3 -0
  142. package/dist/providers/admin.d.ts.map +1 -0
  143. package/dist/providers/admin.js +20 -0
  144. package/dist/providers/admin.js.map +1 -0
  145. package/dist/providers/admin.mjs +21 -0
  146. package/dist/providers/admin.mjs.map +1 -0
  147. package/dist/providers/coreStore.d.ts +3 -0
  148. package/dist/providers/coreStore.d.ts.map +1 -0
  149. package/dist/providers/coreStore.js +11 -0
  150. package/dist/providers/coreStore.js.map +1 -0
  151. package/dist/providers/coreStore.mjs +12 -0
  152. package/dist/providers/coreStore.mjs.map +1 -0
  153. package/dist/providers/cron.d.ts +3 -0
  154. package/dist/providers/cron.d.ts.map +1 -0
  155. package/dist/providers/cron.js +20 -0
  156. package/dist/providers/cron.js.map +1 -0
  157. package/dist/providers/cron.mjs +21 -0
  158. package/dist/providers/cron.mjs.map +1 -0
  159. package/dist/providers/index.d.ts +3 -0
  160. package/dist/providers/index.d.ts.map +1 -0
  161. package/dist/providers/index.js +11 -0
  162. package/dist/providers/index.js.map +1 -0
  163. package/dist/providers/index.mjs +11 -0
  164. package/dist/providers/index.mjs.map +1 -0
  165. package/dist/providers/provider.d.ts +9 -0
  166. package/dist/providers/provider.d.ts.map +1 -0
  167. package/dist/providers/provider.js +5 -0
  168. package/dist/providers/provider.js.map +1 -0
  169. package/dist/providers/provider.mjs +5 -0
  170. package/dist/providers/provider.mjs.map +1 -0
  171. package/dist/providers/registries.d.ts +3 -0
  172. package/dist/providers/registries.d.ts.map +1 -0
  173. package/dist/providers/registries.js +35 -0
  174. package/dist/providers/registries.js.map +1 -0
  175. package/dist/providers/registries.mjs +36 -0
  176. package/dist/providers/registries.mjs.map +1 -0
  177. package/dist/providers/telemetry.d.ts +3 -0
  178. package/dist/providers/telemetry.d.ts.map +1 -0
  179. package/dist/providers/telemetry.js +19 -0
  180. package/dist/providers/telemetry.js.map +1 -0
  181. package/dist/providers/telemetry.mjs +20 -0
  182. package/dist/providers/telemetry.mjs.map +1 -0
  183. package/dist/providers/webhooks.d.ts +3 -0
  184. package/dist/providers/webhooks.d.ts.map +1 -0
  185. package/dist/providers/webhooks.js +30 -0
  186. package/dist/providers/webhooks.js.map +1 -0
  187. package/dist/providers/webhooks.mjs +31 -0
  188. package/dist/providers/webhooks.mjs.map +1 -0
  189. package/dist/registries/apis.js +2 -2
  190. package/dist/registries/apis.js.map +1 -1
  191. package/dist/registries/components.js +2 -2
  192. package/dist/registries/components.js.map +1 -1
  193. package/dist/registries/content-types.js +3 -3
  194. package/dist/registries/content-types.js.map +1 -1
  195. package/dist/registries/controllers.js +3 -3
  196. package/dist/registries/controllers.js.map +1 -1
  197. package/dist/registries/custom-fields.js +4 -4
  198. package/dist/registries/custom-fields.js.map +1 -1
  199. package/dist/registries/hooks.js +2 -2
  200. package/dist/registries/hooks.js.map +1 -1
  201. package/dist/registries/index.d.ts +0 -1
  202. package/dist/registries/index.d.ts.map +1 -1
  203. package/dist/registries/middlewares.js +3 -3
  204. package/dist/registries/middlewares.js.map +1 -1
  205. package/dist/registries/modules.js +3 -3
  206. package/dist/registries/modules.js.map +1 -1
  207. package/dist/registries/plugins.js +2 -2
  208. package/dist/registries/plugins.js.map +1 -1
  209. package/dist/registries/policies.d.ts +1 -1
  210. package/dist/registries/policies.d.ts.map +1 -1
  211. package/dist/registries/policies.js +5 -5
  212. package/dist/registries/policies.js.map +1 -1
  213. package/dist/registries/policies.mjs +1 -1
  214. package/dist/registries/policies.mjs.map +1 -1
  215. package/dist/registries/services.js +3 -3
  216. package/dist/registries/services.js.map +1 -1
  217. package/dist/services/auth/index.js +3 -3
  218. package/dist/services/auth/index.js.map +1 -1
  219. package/dist/services/config.d.ts +3 -0
  220. package/dist/services/config.d.ts.map +1 -0
  221. package/dist/{registries → services}/config.js +11 -7
  222. package/dist/services/config.js.map +1 -0
  223. package/dist/{registries → services}/config.mjs +10 -7
  224. package/dist/services/config.mjs.map +1 -0
  225. package/dist/services/content-api/index.d.ts +6 -12
  226. package/dist/services/content-api/index.d.ts.map +1 -1
  227. package/dist/services/content-api/index.js +1 -1
  228. package/dist/services/content-api/index.js.map +1 -1
  229. package/dist/services/content-api/index.mjs +1 -1
  230. package/dist/services/content-api/index.mjs.map +1 -1
  231. package/dist/services/content-api/permissions/index.d.ts +6 -12
  232. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  233. package/dist/services/content-api/permissions/index.js +1 -1
  234. package/dist/services/content-api/permissions/index.js.map +1 -1
  235. package/dist/services/content-api/permissions/index.mjs +1 -1
  236. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  237. package/dist/services/content-api/permissions/providers/action.d.ts +3 -6
  238. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  239. package/dist/services/content-api/permissions/providers/condition.d.ts +3 -6
  240. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  241. package/dist/services/core-store.d.ts.map +1 -1
  242. package/dist/services/core-store.js +3 -3
  243. package/dist/services/core-store.js.map +1 -1
  244. package/dist/services/cron.js +3 -3
  245. package/dist/services/cron.js.map +1 -1
  246. package/dist/services/document-service/attributes/index.d.ts +6 -0
  247. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  248. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  249. package/dist/services/document-service/attributes/index.js.map +1 -0
  250. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  251. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  252. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  253. package/dist/services/{entity-service → document-service}/attributes/transforms.js +3 -3
  254. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  255. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  256. package/dist/services/document-service/common.d.ts +1 -1
  257. package/dist/services/document-service/common.d.ts.map +1 -1
  258. package/dist/services/document-service/common.js.map +1 -1
  259. package/dist/services/document-service/common.mjs.map +1 -1
  260. package/dist/services/document-service/components.d.ts +25 -1
  261. package/dist/services/document-service/components.d.ts.map +1 -1
  262. package/dist/services/{entity-service → document-service}/components.js +46 -56
  263. package/dist/services/document-service/components.js.map +1 -0
  264. package/dist/services/{entity-service → document-service}/components.mjs +36 -46
  265. package/dist/services/document-service/components.mjs.map +1 -0
  266. package/dist/services/document-service/draft-and-publish.js +16 -16
  267. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  268. package/dist/services/document-service/entries.d.ts +10 -0
  269. package/dist/services/document-service/entries.d.ts.map +1 -0
  270. package/dist/services/document-service/entries.js +96 -0
  271. package/dist/services/document-service/entries.js.map +1 -0
  272. package/dist/services/document-service/entries.mjs +96 -0
  273. package/dist/services/document-service/entries.mjs.map +1 -0
  274. package/dist/services/document-service/events.d.ts +25 -0
  275. package/dist/services/document-service/events.d.ts.map +1 -0
  276. package/dist/services/document-service/events.js +47 -0
  277. package/dist/services/document-service/events.js.map +1 -0
  278. package/dist/services/document-service/events.mjs +47 -0
  279. package/dist/services/document-service/events.mjs.map +1 -0
  280. package/dist/services/document-service/index.d.ts +0 -2
  281. package/dist/services/document-service/index.d.ts.map +1 -1
  282. package/dist/services/document-service/index.js +13 -2
  283. package/dist/services/document-service/index.js.map +1 -1
  284. package/dist/services/document-service/index.mjs +13 -2
  285. package/dist/services/document-service/index.mjs.map +1 -1
  286. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  287. package/dist/services/document-service/internationalization.js +21 -12
  288. package/dist/services/document-service/internationalization.js.map +1 -1
  289. package/dist/services/document-service/internationalization.mjs +14 -5
  290. package/dist/services/document-service/internationalization.mjs.map +1 -1
  291. package/dist/services/document-service/middlewares/middleware-manager.d.ts +5 -2
  292. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -1
  293. package/dist/services/document-service/middlewares/middleware-manager.js +8 -5
  294. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  295. package/dist/services/document-service/middlewares/middleware-manager.mjs +8 -5
  296. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  297. package/dist/services/document-service/params.d.ts +3 -1
  298. package/dist/services/document-service/params.d.ts.map +1 -1
  299. package/dist/services/{entity-service → document-service}/params.js +2 -2
  300. package/dist/services/document-service/params.js.map +1 -0
  301. package/dist/services/document-service/params.mjs.map +1 -0
  302. package/dist/services/document-service/repository.d.ts.map +1 -1
  303. package/dist/services/document-service/repository.js +141 -160
  304. package/dist/services/document-service/repository.js.map +1 -1
  305. package/dist/services/document-service/repository.mjs +117 -136
  306. package/dist/services/document-service/repository.mjs.map +1 -1
  307. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  308. package/dist/services/document-service/transform/data.js +4 -2
  309. package/dist/services/document-service/transform/data.js.map +1 -1
  310. package/dist/services/document-service/transform/data.mjs +4 -2
  311. package/dist/services/document-service/transform/data.mjs.map +1 -1
  312. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  313. package/dist/services/document-service/transform/id-transform.js +2 -2
  314. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  315. package/dist/services/document-service/transform/query.d.ts +5 -0
  316. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  317. package/dist/services/document-service/transform/query.js +9 -0
  318. package/dist/services/document-service/transform/query.js.map +1 -0
  319. package/dist/services/document-service/transform/query.mjs +9 -0
  320. package/dist/services/document-service/transform/query.mjs.map +1 -0
  321. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  322. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  323. package/dist/services/document-service/transform/relations/extract/data-ids.js +45 -78
  324. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  325. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +44 -77
  326. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  327. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +7 -3
  328. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  329. package/dist/services/document-service/transform/relations/transform/data-ids.js +61 -126
  330. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  331. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +61 -126
  332. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  333. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  334. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  335. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  336. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  337. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  338. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  339. package/dist/services/document-service/transform/relations/utils/dp.js +2 -2
  340. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  341. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +2 -2
  342. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  343. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  344. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  345. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  346. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  347. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  348. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  349. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  350. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  351. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  352. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  353. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  354. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  355. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  356. package/dist/services/document-service/utils/populate.js +4 -0
  357. package/dist/services/document-service/utils/populate.js.map +1 -1
  358. package/dist/services/document-service/utils/populate.mjs +4 -0
  359. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  360. package/dist/services/entity-service/index.d.ts.map +1 -1
  361. package/dist/services/entity-service/index.js +11 -4
  362. package/dist/services/entity-service/index.js.map +1 -1
  363. package/dist/services/entity-service/index.mjs +11 -4
  364. package/dist/services/entity-service/index.mjs.map +1 -1
  365. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  366. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  367. package/dist/services/entity-validator/blocks-validator.js +4 -3
  368. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  369. package/dist/services/entity-validator/blocks-validator.mjs +3 -3
  370. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  371. package/dist/services/entity-validator/index.d.ts +15 -1
  372. package/dist/services/entity-validator/index.d.ts.map +1 -1
  373. package/dist/services/entity-validator/index.js +183 -125
  374. package/dist/services/entity-validator/index.js.map +1 -1
  375. package/dist/services/entity-validator/index.mjs +178 -120
  376. package/dist/services/entity-validator/index.mjs.map +1 -1
  377. package/dist/services/entity-validator/validators.d.ts +36 -25
  378. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  379. package/dist/services/entity-validator/validators.js +148 -33
  380. package/dist/services/entity-validator/validators.js.map +1 -1
  381. package/dist/services/entity-validator/validators.mjs +140 -25
  382. package/dist/services/entity-validator/validators.mjs.map +1 -1
  383. package/dist/services/event-hub.d.ts +1 -0
  384. package/dist/services/event-hub.d.ts.map +1 -1
  385. package/dist/services/event-hub.js +9 -4
  386. package/dist/services/event-hub.js.map +1 -1
  387. package/dist/services/event-hub.mjs +9 -4
  388. package/dist/services/event-hub.mjs.map +1 -1
  389. package/dist/services/metrics/middleware.d.ts.map +1 -1
  390. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  391. package/dist/services/metrics/rate-limiter.js.map +1 -1
  392. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  393. package/dist/services/reloader.d.ts +7 -0
  394. package/dist/services/reloader.d.ts.map +1 -0
  395. package/dist/services/reloader.js +36 -0
  396. package/dist/services/reloader.js.map +1 -0
  397. package/dist/services/reloader.mjs +36 -0
  398. package/dist/services/reloader.mjs.map +1 -0
  399. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  400. package/dist/services/server/compose-endpoint.js +7 -7
  401. package/dist/services/server/compose-endpoint.js.map +1 -1
  402. package/dist/services/server/index.js +1 -1
  403. package/dist/services/server/index.js.map +1 -1
  404. package/dist/services/server/index.mjs +1 -1
  405. package/dist/services/server/index.mjs.map +1 -1
  406. package/dist/services/server/koa.d.ts.map +1 -1
  407. package/dist/services/server/koa.js +4 -4
  408. package/dist/services/server/koa.js.map +1 -1
  409. package/dist/services/server/koa.mjs +1 -1
  410. package/dist/services/server/koa.mjs.map +1 -1
  411. package/dist/services/server/middleware.js +3 -3
  412. package/dist/services/server/middleware.js.map +1 -1
  413. package/dist/services/server/register-routes.js +3 -3
  414. package/dist/services/server/register-routes.js.map +1 -1
  415. package/dist/services/server/register-routes.mjs +3 -3
  416. package/dist/services/server/register-routes.mjs.map +1 -1
  417. package/dist/services/server/routing.d.ts +1 -1
  418. package/dist/services/server/routing.js +2 -2
  419. package/dist/services/server/routing.js.map +1 -1
  420. package/dist/services/utils/dynamic-zones.js +5 -5
  421. package/dist/services/utils/dynamic-zones.js.map +1 -1
  422. package/dist/services/webhook-runner.d.ts +2 -1
  423. package/dist/services/webhook-runner.d.ts.map +1 -1
  424. package/dist/services/webhook-runner.js.map +1 -1
  425. package/dist/services/webhook-runner.mjs.map +1 -1
  426. package/dist/services/webhook-store.d.ts +2 -8
  427. package/dist/services/webhook-store.d.ts.map +1 -1
  428. package/dist/services/webhook-store.js +14 -8
  429. package/dist/services/webhook-store.js.map +1 -1
  430. package/dist/services/webhook-store.mjs +14 -8
  431. package/dist/services/webhook-store.mjs.map +1 -1
  432. package/dist/utils/cron.js +3 -3
  433. package/dist/utils/cron.js.map +1 -1
  434. package/dist/utils/fetch.d.ts.map +1 -1
  435. package/dist/utils/fetch.js +4 -3
  436. package/dist/utils/fetch.js.map +1 -1
  437. package/dist/utils/fetch.mjs +4 -3
  438. package/dist/utils/fetch.mjs.map +1 -1
  439. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  440. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  441. package/dist/utils/filepath-to-prop-path.js +27 -6
  442. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  443. package/dist/utils/filepath-to-prop-path.mjs +25 -5
  444. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  445. package/dist/utils/index.d.ts +2 -1
  446. package/dist/utils/index.d.ts.map +1 -1
  447. package/dist/utils/is-initialized.js +3 -3
  448. package/dist/utils/is-initialized.js.map +1 -1
  449. package/dist/utils/load-files.d.ts.map +1 -1
  450. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  451. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  452. package/dist/utils/resolve-working-dirs.js +13 -0
  453. package/dist/utils/resolve-working-dirs.js.map +1 -0
  454. package/dist/utils/resolve-working-dirs.mjs +11 -0
  455. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  456. package/dist/utils/startup-logger.d.ts.map +1 -1
  457. package/dist/utils/startup-logger.js +4 -4
  458. package/dist/utils/startup-logger.js.map +1 -1
  459. package/dist/utils/startup-logger.mjs +3 -3
  460. package/dist/utils/startup-logger.mjs.map +1 -1
  461. package/dist/utils/transform-content-types-to-models.d.ts +23 -18
  462. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  463. package/dist/utils/transform-content-types-to-models.js +112 -61
  464. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  465. package/dist/utils/transform-content-types-to-models.mjs +111 -60
  466. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  467. package/dist/utils/update-notifier/index.d.ts +1 -6
  468. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  469. package/dist/utils/update-notifier/index.js +11 -14
  470. package/dist/utils/update-notifier/index.js.map +1 -1
  471. package/dist/utils/update-notifier/index.mjs +11 -14
  472. package/dist/utils/update-notifier/index.mjs.map +1 -1
  473. package/package.json +31 -27
  474. package/dist/registries/config.d.ts +0 -4
  475. package/dist/registries/config.d.ts.map +0 -1
  476. package/dist/registries/config.js.map +0 -1
  477. package/dist/registries/config.mjs.map +0 -1
  478. package/dist/services/document-service/document-engine.d.ts +0 -2
  479. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  480. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -2
  481. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  482. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  483. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  484. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  485. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  486. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  487. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  488. package/dist/services/entity-service/attributes/index.js.map +0 -1
  489. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  490. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  491. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  492. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  493. package/dist/services/entity-service/components.d.ts +0 -95
  494. package/dist/services/entity-service/components.d.ts.map +0 -1
  495. package/dist/services/entity-service/components.js.map +0 -1
  496. package/dist/services/entity-service/components.mjs.map +0 -1
  497. package/dist/services/entity-service/params.d.ts +0 -8
  498. package/dist/services/entity-service/params.d.ts.map +0 -1
  499. package/dist/services/entity-service/params.js.map +0 -1
  500. package/dist/services/entity-service/params.mjs.map +0 -1
  501. package/dist/utils/get-dirs.d.ts +0 -9
  502. package/dist/utils/get-dirs.d.ts.map +0 -1
  503. package/dist/utils/get-dirs.js.map +0 -1
  504. package/dist/utils/get-dirs.mjs.map +0 -1
  505. /package/dist/services/{entity-service → document-service}/attributes/transforms.d.ts +0 -0
  506. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
  507. /package/dist/services/{entity-service → document-service}/params.mjs +0 -0
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
3
+ const fp = require("lodash/fp");
4
4
  function isEntry(property) {
5
- return property === null || _.isPlainObject(property) || Array.isArray(property);
5
+ return property === null || fp.isPlainObject(property) || Array.isArray(property);
6
6
  }
7
7
  function isDZEntries(property) {
8
8
  return Array.isArray(property);
@@ -10,10 +10,10 @@ function isDZEntries(property) {
10
10
  const transformResponse = (resource, meta = {}, opts = {
11
11
  useJsonAPIFormat: false
12
12
  }) => {
13
- if (_.isNil(resource)) {
13
+ if (fp.isNil(resource)) {
14
14
  return resource;
15
15
  }
16
- if (!_.isPlainObject(resource) && !Array.isArray(resource)) {
16
+ if (!fp.isPlainObject(resource) && !Array.isArray(resource)) {
17
17
  throw new Error("Entry must be an object or an array of objects");
18
18
  }
19
19
  return {
@@ -26,20 +26,20 @@ function transformComponent(data, component) {
26
26
  return data.map((datum) => transformComponent(datum, component));
27
27
  }
28
28
  const res = transformEntry(data, component);
29
- if (_.isNil(res)) {
29
+ if (fp.isNil(res)) {
30
30
  return res;
31
31
  }
32
32
  const { id, attributes } = res;
33
33
  return { id, ...attributes };
34
34
  }
35
35
  function transformEntry(entry, type) {
36
- if (_.isNil(entry)) {
36
+ if (fp.isNil(entry)) {
37
37
  return entry;
38
38
  }
39
39
  if (Array.isArray(entry)) {
40
40
  return entry.map((singleEntry) => transformEntry(singleEntry, type));
41
41
  }
42
- if (!_.isPlainObject(entry)) {
42
+ if (!fp.isPlainObject(entry)) {
43
43
  throw new Error("Entry must be an object");
44
44
  }
45
45
  const { id, documentId, ...properties } = entry;
@@ -53,7 +53,7 @@ function transformEntry(entry, type) {
53
53
  } else if (attribute && attribute.type === "component" && isEntry(property)) {
54
54
  attributeValues[key] = transformComponent(property, strapi.components[attribute.component]);
55
55
  } else if (attribute && attribute.type === "dynamiczone" && isDZEntries(property)) {
56
- if (_.isNil(property)) {
56
+ if (fp.isNil(property)) {
57
57
  attributeValues[key] = property;
58
58
  }
59
59
  attributeValues[key] = property.map((subProperty) => {
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sources":["../../../src/core-api/controller/transform.ts"],"sourcesContent":["import { isNil, isPlainObject } from 'lodash/fp';\nimport type { UID, Struct, Data } from '@strapi/types';\n\ntype TransformedEntry = {\n id: string;\n documentId?: Data.DocumentID | 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: Data.DocumentID | 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?: Struct.ContentTypeSchema | Struct.ComponentSchema;\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 array 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: Struct.ComponentSchema\n): T extends Entry[] ? TransformedComponent[] : T extends Entry ? TransformedComponent : null;\nfunction transformComponent(\n data: Entry | Entry[] | null,\n component: Struct.ComponentSchema\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?: Struct.Schema\n): T extends Entry[] ? TransformedEntry[] : T extends Entry ? TransformedEntry : null;\nfunction transformEntry(\n entry: Entry | Entry[] | null,\n type?: Struct.Schema\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(property, strapi.contentType(attribute.target));\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,gDAAgD;AAAA,EAClE;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,eAAe,UAAU,OAAO,YAAY,UAAU,MAAM,CAAC;AAE1D,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
+ {"version":3,"file":"transform.js","sources":["../../../src/core-api/controller/transform.ts"],"sourcesContent":["import { isNil, isPlainObject } from 'lodash/fp';\nimport type { UID, Struct, Data } from '@strapi/types';\n\ntype TransformedEntry = {\n id: string;\n documentId?: Data.DocumentID | 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: Data.DocumentID | 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?: Struct.ContentTypeSchema | Struct.ComponentSchema;\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 array 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: Struct.ComponentSchema\n): T extends Entry[] ? TransformedComponent[] : T extends Entry ? TransformedComponent : null;\nfunction transformComponent(\n data: Entry | Entry[] | null,\n component: Struct.ComponentSchema\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?: Struct.Schema\n): T extends Entry[] ? TransformedEntry[] : T extends Entry ? TransformedEntry : null;\nfunction transformEntry(\n entry: Entry | Entry[] | null,\n type?: Struct.Schema\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(property, strapi.contentType(attribute.target));\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,iBAAc,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,GAAAA,MAAM,QAAQ,GAAG;AACZ,WAAA;AAAA,EACT;AAEI,MAAA,CAACD,iBAAc,QAAQ,KAAK,CAAC,MAAM,QAAQ,QAAQ,GAAG;AAClD,UAAA,IAAI,MAAM,gDAAgD;AAAA,EAClE;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,GAAAA,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,GAAAA,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,GAAAA,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,eAAe,UAAU,OAAO,YAAY,UAAU,MAAM,CAAC;AAE1D,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,GAAAA,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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core-api/routes/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,YAAY;iBAAoC,OAAO,WAAW;;;;;;;;;;;;;;;;;;;;CAM9E,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core-api/routes/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,YAAY,oBAAqB;IAAE,WAAW,EAAE,OAAO,WAAW,CAAA;CAAE;;;;;;;;;;;;;;;;;;;CAMhF,CAAC"}
@@ -5,22 +5,16 @@ export declare class CollectionTypeService extends CoreService implements Core.C
5
5
  constructor(contentType: Struct.CollectionTypeSchema);
6
6
  find(params?: {}): Promise<{
7
7
  results: Modules.Documents.AnyDocument[];
8
- pagination: {
9
- page: number;
10
- pageSize: number;
11
- } | {
12
- start: number;
13
- limit: number;
14
- };
8
+ pagination: import("@strapi/utils/dist/pagination").PagePatinationInformation | import("@strapi/utils/dist/pagination").OffsetPaginationInformation;
15
9
  }>;
16
- findOne(documentId: Modules.Documents.ID, params?: {}): import("@strapi/types/dist/modules/documents/result/document-engine").FindOne<import("@strapi/types/dist/uid").ContentType, any>;
10
+ findOne(documentId: Modules.Documents.ID, params?: {}): import("@strapi/types/dist/modules/documents/result/document-engine").FindOne<import("@strapi/types/dist/uid").ContentType, import("@strapi/types/dist/modules/documents/params/document-engine").FindOne<import("@strapi/types/dist/uid").ContentType>>;
17
11
  create(params?: {
18
12
  data: {};
19
13
  }): Promise<Modules.Documents.AnyDocument>;
20
- update(docId: Modules.Documents.ID, params?: {
14
+ update(documentId: Modules.Documents.ID, params?: {
21
15
  data: {};
22
- }): import("@strapi/types/dist/modules/documents/result/document-engine").Update<import("@strapi/types/dist/uid").ContentType, any>;
23
- delete(docId: Modules.Documents.ID, params?: {}): Promise<{
16
+ }): import("@strapi/types/dist/modules/documents/result/document-engine").Update<import("@strapi/types/dist/uid").ContentType, import("@strapi/types/dist/modules/documents/params/document-engine").Update<import("@strapi/types/dist/uid").ContentType>>;
17
+ delete(documentId: Modules.Documents.ID, params?: {}): Promise<{
24
18
  deletedEntries: number;
25
19
  }>;
26
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collection-type.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/collection-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,qBACX,SAAQ,WACR,YAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc;IAE9C,OAAO,CAAC,WAAW,CAA8B;gBAErC,WAAW,EAAE,MAAM,CAAC,oBAAoB;IAM9C,IAAI,CAAC,MAAM,KAAK;;;;;;;;;;IA+BtB,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,KAAK;IAM/C,MAAM,CAAC,MAAM;;KAAe;IAMlC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM;;KAAe;IAMnD,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,KAAK;;;CAKtD;AAED;;;GAGG;AAEH,QAAA,MAAM,2BAA2B,gBAClB,OAAO,oBAAoB,KACvC,KAAK,OAAO,CAAC,OAAO,CAAC,cAEvB,CAAC;AAEF,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
1
+ {"version":3,"file":"collection-type.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/collection-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAS3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,qBACX,SAAQ,WACR,YAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc;IAE9C,OAAO,CAAC,WAAW,CAA8B;gBAErC,WAAW,EAAE,MAAM,CAAC,oBAAoB;IAM9C,IAAI,CAAC,MAAM,KAAK;;;;IAgCtB,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,KAAK;IAS/C,MAAM,CAAC,MAAM;;KAAe;IAMlC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM;;KAAe;IASxD,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,KAAK;;;CAU3D;AAED;;;GAGG;AAEH,QAAA,MAAM,2BAA2B,gBAClB,OAAO,oBAAoB,KACvC,KAAK,OAAO,CAAC,OAAO,CAAC,cAEvB,CAAC;AAEF,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
@@ -12,6 +12,7 @@ class CollectionTypeService extends coreService.CoreService {
12
12
  const { uid } = this.contentType;
13
13
  const fetchParams = this.getFetchParams(params);
14
14
  const paginationInfo = pagination.getPaginationInfo(fetchParams);
15
+ const isPaged = pagination.isPagedPagination(fetchParams.pagination);
15
16
  const results = await strapi.documents(uid).findMany({
16
17
  ...fetchParams,
17
18
  ...paginationInfo
@@ -23,29 +24,39 @@ class CollectionTypeService extends coreService.CoreService {
23
24
  }
24
25
  return {
25
26
  results,
26
- pagination: pagination.transformPaginationResponse(paginationInfo, count)
27
+ pagination: pagination.transformPaginationResponse(paginationInfo, count, isPaged)
27
28
  };
28
29
  }
29
30
  return {
30
31
  results,
31
- pagination: paginationInfo
32
+ pagination: pagination.transformPaginationResponse(paginationInfo, void 0, isPaged)
32
33
  };
33
34
  }
34
35
  findOne(documentId, params = {}) {
35
36
  const { uid } = this.contentType;
36
- return strapi.documents(uid).findOne(documentId, this.getFetchParams(params));
37
+ return strapi.documents(uid).findOne({
38
+ ...this.getFetchParams(params),
39
+ documentId
40
+ });
37
41
  }
38
42
  async create(params = { data: {} }) {
39
43
  const { uid } = this.contentType;
40
44
  return strapi.documents(uid).create(this.getFetchParams(params));
41
45
  }
42
- update(docId, params = { data: {} }) {
46
+ update(documentId, params = { data: {} }) {
43
47
  const { uid } = this.contentType;
44
- return strapi.documents(uid).update(docId, this.getFetchParams(params));
48
+ return strapi.documents(uid).update({
49
+ ...this.getFetchParams(params),
50
+ documentId
51
+ });
45
52
  }
46
- async delete(docId, params = {}) {
53
+ async delete(documentId, params = {}) {
47
54
  const { uid } = this.contentType;
48
- return strapi.documents(uid).delete(docId, this.getFetchParams(params));
55
+ const { entries } = await strapi.documents(uid).delete({
56
+ ...this.getFetchParams(params),
57
+ documentId
58
+ });
59
+ return { deletedEntries: entries.length };
49
60
  }
50
61
  }
51
62
  const createCollectionTypeService = (contentType) => {
@@ -1 +1 @@
1
- {"version":3,"file":"collection-type.js","sources":["../../../src/core-api/service/collection-type.ts"],"sourcesContent":["import type { Core, Struct, Modules } from '@strapi/types';\n\nimport { getPaginationInfo, shouldCount, transformPaginationResponse } from './pagination';\n\nimport { CoreService } from './core-service';\n\nexport class CollectionTypeService\n extends CoreService\n implements Core.CoreAPI.Service.CollectionType\n{\n private contentType: Struct.CollectionTypeSchema;\n\n constructor(contentType: Struct.CollectionTypeSchema) {\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: Modules.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: Modules.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: Modules.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: Struct.CollectionTypeSchema\n): Core.CoreAPI.Service.CollectionType => {\n return new CollectionTypeService(contentType);\n};\n\nexport { createCollectionTypeService };\n"],"names":["CoreService","getPaginationInfo","shouldCount","transformPaginationResponse"],"mappings":";;;;AAMO,MAAM,8BACHA,YAAAA,YAEV;AAAA,EACU;AAAA,EAER,YAAY,aAA0C;AAC9C;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,YAAkC,SAAS,IAAI;AAC/C,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,OAA6B,SAAS,EAAE,MAAM,MAAM;AACnD,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACxE;AAAA,EAEA,MAAM,OAAO,OAA6B,SAAS,IAAI;AAC/C,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACxE;AACF;AAOM,MAAA,8BAA8B,CAClC,gBACwC;AACjC,SAAA,IAAI,sBAAsB,WAAW;AAC9C;;;"}
1
+ {"version":3,"file":"collection-type.js","sources":["../../../src/core-api/service/collection-type.ts"],"sourcesContent":["import type { Core, Struct, Modules } from '@strapi/types';\n\nimport {\n getPaginationInfo,\n shouldCount,\n isPagedPagination,\n transformPaginationResponse,\n} from './pagination';\n\nimport { CoreService } from './core-service';\n\nexport class CollectionTypeService\n extends CoreService\n implements Core.CoreAPI.Service.CollectionType\n{\n private contentType: Struct.CollectionTypeSchema;\n\n constructor(contentType: Struct.CollectionTypeSchema) {\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 const isPaged = isPagedPagination(fetchParams.pagination);\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, isPaged),\n };\n }\n\n return {\n results,\n pagination: transformPaginationResponse(paginationInfo, undefined, isPaged),\n };\n }\n\n findOne(documentId: Modules.Documents.ID, params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).findOne({\n ...this.getFetchParams(params),\n documentId,\n });\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(documentId: Modules.Documents.ID, params = { data: {} }) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).update({\n ...this.getFetchParams(params),\n documentId,\n });\n }\n\n async delete(documentId: Modules.Documents.ID, params = {}) {\n const { uid } = this.contentType;\n\n const { entries } = await strapi.documents(uid).delete({\n ...this.getFetchParams(params),\n documentId,\n });\n\n return { deletedEntries: entries.length };\n }\n}\n\n/**\n *\n * Returns a collection type service to handle default core-api actions\n */\n\nconst createCollectionTypeService = (\n contentType: Struct.CollectionTypeSchema\n): Core.CoreAPI.Service.CollectionType => {\n return new CollectionTypeService(contentType);\n};\n\nexport { createCollectionTypeService };\n"],"names":["CoreService","getPaginationInfo","isPagedPagination","shouldCount","transformPaginationResponse"],"mappings":";;;;AAWO,MAAM,8BACHA,YAAAA,YAEV;AAAA,EACU;AAAA,EAER,YAAY,aAA0C;AAC9C;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;AAC9C,UAAA,UAAUC,WAAAA,kBAAkB,YAAY,UAAU;AAExD,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,WAAA,4BAA4B,gBAAgB,OAAO,OAAO;AAAA,MAAA;AAAA,IAE1E;AAEO,WAAA;AAAA,MACL;AAAA,MACA,YAAYA,WAAAA,4BAA4B,gBAAgB,QAAW,OAAO;AAAA,IAAA;AAAA,EAE9E;AAAA,EAEA,QAAQ,YAAkC,SAAS,IAAI;AAC/C,UAAA,EAAE,IAAI,IAAI,KAAK;AAErB,WAAO,OAAO,UAAU,GAAG,EAAE,QAAQ;AAAA,MACnC,GAAG,KAAK,eAAe,MAAM;AAAA,MAC7B;AAAA,IAAA,CACD;AAAA,EACH;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,YAAkC,SAAS,EAAE,MAAM,MAAM;AACxD,UAAA,EAAE,IAAI,IAAI,KAAK;AAErB,WAAO,OAAO,UAAU,GAAG,EAAE,OAAO;AAAA,MAClC,GAAG,KAAK,eAAe,MAAM;AAAA,MAC7B;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EAEA,MAAM,OAAO,YAAkC,SAAS,IAAI;AACpD,UAAA,EAAE,IAAI,IAAI,KAAK;AAEf,UAAA,EAAE,YAAY,MAAM,OAAO,UAAU,GAAG,EAAE,OAAO;AAAA,MACrD,GAAG,KAAK,eAAe,MAAM;AAAA,MAC7B;AAAA,IAAA,CACD;AAEM,WAAA,EAAE,gBAAgB,QAAQ;EACnC;AACF;AAOM,MAAA,8BAA8B,CAClC,gBACwC;AACjC,SAAA,IAAI,sBAAsB,WAAW;AAC9C;;;"}
@@ -1,4 +1,4 @@
1
- import { getPaginationInfo, shouldCount, transformPaginationResponse } from "./pagination.mjs";
1
+ import { getPaginationInfo, isPagedPagination, shouldCount, transformPaginationResponse } from "./pagination.mjs";
2
2
  import { CoreService } from "./core-service.mjs";
3
3
  class CollectionTypeService extends CoreService {
4
4
  contentType;
@@ -10,6 +10,7 @@ class CollectionTypeService extends CoreService {
10
10
  const { uid } = this.contentType;
11
11
  const fetchParams = this.getFetchParams(params);
12
12
  const paginationInfo = getPaginationInfo(fetchParams);
13
+ const isPaged = isPagedPagination(fetchParams.pagination);
13
14
  const results = await strapi.documents(uid).findMany({
14
15
  ...fetchParams,
15
16
  ...paginationInfo
@@ -21,29 +22,39 @@ class CollectionTypeService extends CoreService {
21
22
  }
22
23
  return {
23
24
  results,
24
- pagination: transformPaginationResponse(paginationInfo, count)
25
+ pagination: transformPaginationResponse(paginationInfo, count, isPaged)
25
26
  };
26
27
  }
27
28
  return {
28
29
  results,
29
- pagination: paginationInfo
30
+ pagination: transformPaginationResponse(paginationInfo, void 0, isPaged)
30
31
  };
31
32
  }
32
33
  findOne(documentId, params = {}) {
33
34
  const { uid } = this.contentType;
34
- return strapi.documents(uid).findOne(documentId, this.getFetchParams(params));
35
+ return strapi.documents(uid).findOne({
36
+ ...this.getFetchParams(params),
37
+ documentId
38
+ });
35
39
  }
36
40
  async create(params = { data: {} }) {
37
41
  const { uid } = this.contentType;
38
42
  return strapi.documents(uid).create(this.getFetchParams(params));
39
43
  }
40
- update(docId, params = { data: {} }) {
44
+ update(documentId, params = { data: {} }) {
41
45
  const { uid } = this.contentType;
42
- return strapi.documents(uid).update(docId, this.getFetchParams(params));
46
+ return strapi.documents(uid).update({
47
+ ...this.getFetchParams(params),
48
+ documentId
49
+ });
43
50
  }
44
- async delete(docId, params = {}) {
51
+ async delete(documentId, params = {}) {
45
52
  const { uid } = this.contentType;
46
- return strapi.documents(uid).delete(docId, this.getFetchParams(params));
53
+ const { entries } = await strapi.documents(uid).delete({
54
+ ...this.getFetchParams(params),
55
+ documentId
56
+ });
57
+ return { deletedEntries: entries.length };
47
58
  }
48
59
  }
49
60
  const createCollectionTypeService = (contentType) => {
@@ -1 +1 @@
1
- {"version":3,"file":"collection-type.mjs","sources":["../../../src/core-api/service/collection-type.ts"],"sourcesContent":["import type { Core, Struct, Modules } from '@strapi/types';\n\nimport { getPaginationInfo, shouldCount, transformPaginationResponse } from './pagination';\n\nimport { CoreService } from './core-service';\n\nexport class CollectionTypeService\n extends CoreService\n implements Core.CoreAPI.Service.CollectionType\n{\n private contentType: Struct.CollectionTypeSchema;\n\n constructor(contentType: Struct.CollectionTypeSchema) {\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: Modules.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: Modules.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: Modules.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: Struct.CollectionTypeSchema\n): Core.CoreAPI.Service.CollectionType => {\n return new CollectionTypeService(contentType);\n};\n\nexport { createCollectionTypeService };\n"],"names":[],"mappings":";;AAMO,MAAM,8BACH,YAEV;AAAA,EACU;AAAA,EAER,YAAY,aAA0C;AAC9C;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,YAAkC,SAAS,IAAI;AAC/C,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,OAA6B,SAAS,EAAE,MAAM,MAAM;AACnD,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACxE;AAAA,EAEA,MAAM,OAAO,OAA6B,SAAS,IAAI;AAC/C,UAAA,EAAE,IAAI,IAAI,KAAK;AAEd,WAAA,OAAO,UAAU,GAAG,EAAE,OAAO,OAAO,KAAK,eAAe,MAAM,CAAC;AAAA,EACxE;AACF;AAOM,MAAA,8BAA8B,CAClC,gBACwC;AACjC,SAAA,IAAI,sBAAsB,WAAW;AAC9C;"}
1
+ {"version":3,"file":"collection-type.mjs","sources":["../../../src/core-api/service/collection-type.ts"],"sourcesContent":["import type { Core, Struct, Modules } from '@strapi/types';\n\nimport {\n getPaginationInfo,\n shouldCount,\n isPagedPagination,\n transformPaginationResponse,\n} from './pagination';\n\nimport { CoreService } from './core-service';\n\nexport class CollectionTypeService\n extends CoreService\n implements Core.CoreAPI.Service.CollectionType\n{\n private contentType: Struct.CollectionTypeSchema;\n\n constructor(contentType: Struct.CollectionTypeSchema) {\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 const isPaged = isPagedPagination(fetchParams.pagination);\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, isPaged),\n };\n }\n\n return {\n results,\n pagination: transformPaginationResponse(paginationInfo, undefined, isPaged),\n };\n }\n\n findOne(documentId: Modules.Documents.ID, params = {}) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).findOne({\n ...this.getFetchParams(params),\n documentId,\n });\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(documentId: Modules.Documents.ID, params = { data: {} }) {\n const { uid } = this.contentType;\n\n return strapi.documents(uid).update({\n ...this.getFetchParams(params),\n documentId,\n });\n }\n\n async delete(documentId: Modules.Documents.ID, params = {}) {\n const { uid } = this.contentType;\n\n const { entries } = await strapi.documents(uid).delete({\n ...this.getFetchParams(params),\n documentId,\n });\n\n return { deletedEntries: entries.length };\n }\n}\n\n/**\n *\n * Returns a collection type service to handle default core-api actions\n */\n\nconst createCollectionTypeService = (\n contentType: Struct.CollectionTypeSchema\n): Core.CoreAPI.Service.CollectionType => {\n return new CollectionTypeService(contentType);\n};\n\nexport { createCollectionTypeService };\n"],"names":[],"mappings":";;AAWO,MAAM,8BACH,YAEV;AAAA,EACU;AAAA,EAER,YAAY,aAA0C;AAC9C;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;AAC9C,UAAA,UAAU,kBAAkB,YAAY,UAAU;AAExD,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,OAAO,OAAO;AAAA,MAAA;AAAA,IAE1E;AAEO,WAAA;AAAA,MACL;AAAA,MACA,YAAY,4BAA4B,gBAAgB,QAAW,OAAO;AAAA,IAAA;AAAA,EAE9E;AAAA,EAEA,QAAQ,YAAkC,SAAS,IAAI;AAC/C,UAAA,EAAE,IAAI,IAAI,KAAK;AAErB,WAAO,OAAO,UAAU,GAAG,EAAE,QAAQ;AAAA,MACnC,GAAG,KAAK,eAAe,MAAM;AAAA,MAC7B;AAAA,IAAA,CACD;AAAA,EACH;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,YAAkC,SAAS,EAAE,MAAM,MAAM;AACxD,UAAA,EAAE,IAAI,IAAI,KAAK;AAErB,WAAO,OAAO,UAAU,GAAG,EAAE,OAAO;AAAA,MAClC,GAAG,KAAK,eAAe,MAAM;AAAA,MAC7B;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EAEA,MAAM,OAAO,YAAkC,SAAS,IAAI;AACpD,UAAA,EAAE,IAAI,IAAI,KAAK;AAEf,UAAA,EAAE,YAAY,MAAM,OAAO,UAAU,GAAG,EAAE,OAAO;AAAA,MACrD,GAAG,KAAK,eAAe,MAAM;AAAA,MAC7B;AAAA,IAAA,CACD;AAEM,WAAA,EAAE,gBAAgB,QAAQ;EACnC;AACF;AAOM,MAAA,8BAA8B,CAClC,gBACwC;AACjC,SAAA,IAAI,sBAAsB,WAAW;AAC9C;"}
@@ -1,3 +1,4 @@
1
+ import { pagination } from '@strapi/utils';
1
2
  interface BasePaginationParams {
2
3
  withCount?: boolean | 't' | '1' | 'true' | 'f' | '0' | 'false' | 0 | 1;
3
4
  }
@@ -17,21 +18,13 @@ type PaginationInfo = {
17
18
  start: number;
18
19
  limit: number;
19
20
  };
21
+ declare const isPagedPagination: (pagination?: PaginationParams) => pagination is PagedPagination;
20
22
  declare const shouldCount: (params: {
21
23
  pagination?: PaginationParams;
22
24
  }) => boolean;
23
25
  declare const getPaginationInfo: (params: {
24
26
  pagination?: PaginationParams;
25
27
  }) => PaginationInfo;
26
- declare const transformPaginationResponse: (paginationInfo: PaginationInfo, count: number) => {
27
- pageCount: number;
28
- total: number;
29
- page: number;
30
- pageSize: number;
31
- } | {
32
- total: number;
33
- start: number;
34
- limit: number;
35
- };
36
- export { getPaginationInfo, transformPaginationResponse, shouldCount };
28
+ declare const transformPaginationResponse: (paginationInfo: PaginationInfo, total: number | undefined, isPaged: boolean) => pagination.PagePatinationInformation | pagination.OffsetPaginationInformation;
29
+ export { isPagedPagination, shouldCount, getPaginationInfo, transformPaginationResponse };
37
30
  //# 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;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"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/pagination.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,UAAU,EAAE,MAAM,eAAe,CAAC;AAEnD,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;AAaN,QAAA,MAAM,iBAAiB,gBAAiB,gBAAgB,kCACmC,CAAC;AAE5F,QAAA,MAAM,WAAW,WAAY;IAAE,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAE,YA0B7D,CAAC;AAEF,QAAA,MAAM,iBAAiB,WAAY;IAAE,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAE,KAAG,cAStE,CAAC;AAEF,QAAA,MAAM,2BAA2B,mBACf,cAAc,SACvB,MAAM,GAAG,SAAS,WAChB,OAAO,kFAcjB,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,CAAC"}
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
3
+ const fp = require("lodash/fp");
4
4
  const strapiUtils = require("@strapi/utils");
5
5
  const getLimitConfigDefaults = () => ({
6
- defaultLimit: _.toNumber(strapi.config.get("api.rest.defaultLimit", 25)),
7
- maxLimit: _.toNumber(strapi.config.get("api.rest.maxLimit")) || null
6
+ defaultLimit: fp.toNumber(strapi.config.get("api.rest.defaultLimit", 25)),
7
+ maxLimit: fp.toNumber(strapi.config.get("api.rest.maxLimit")) || null
8
8
  });
9
- const shouldApplyMaxLimit = (limit, maxLimit, { isPagedPagination: isPagedPagination2 = false } = {}) => !isPagedPagination2 && limit === -1 || maxLimit !== null && limit > maxLimit;
9
+ const isOffsetPagination = (pagination2) => fp.has("start", pagination2) || fp.has("limit", pagination2);
10
+ const isPagedPagination = (pagination2) => fp.has("page", pagination2) || fp.has("pageSize", pagination2) || !isOffsetPagination(pagination2);
10
11
  const shouldCount = (params) => {
11
- if (_.has("pagination.withCount", params)) {
12
+ if (fp.has("pagination.withCount", params)) {
12
13
  const withCount = params.pagination?.withCount;
13
14
  if (typeof withCount === "boolean") {
14
15
  return withCount;
@@ -28,51 +29,24 @@ const shouldCount = (params) => {
28
29
  }
29
30
  return Boolean(strapi.config.get("api.rest.withCount", true));
30
31
  };
31
- const isOffsetPagination = (pagination) => _.has("start", pagination) || _.has("limit", pagination);
32
- const isPagedPagination = (pagination) => _.has("page", pagination) || _.has("pageSize", pagination);
33
32
  const getPaginationInfo = (params) => {
34
33
  const { defaultLimit, maxLimit } = getLimitConfigDefaults();
35
- const { pagination } = params;
36
- const isPaged = isPagedPagination(pagination);
37
- const isOffset = isOffsetPagination(pagination);
38
- if (isOffset && isPaged) {
39
- throw new strapiUtils.errors.ValidationError(
40
- "Invalid pagination parameters. Expected either start/limit or page/pageSize"
41
- );
42
- }
43
- if (!isOffset && !isPaged) {
44
- return {
45
- page: 1,
46
- pageSize: defaultLimit
47
- };
48
- }
49
- if (isPagedPagination(pagination)) {
50
- const pageSize = _.isUndefined(pagination.pageSize) ? defaultLimit : Math.max(1, _.toNumber(pagination.pageSize));
51
- return {
52
- page: Math.max(1, _.toNumber(pagination.page || 1)),
53
- pageSize: typeof maxLimit === "number" && shouldApplyMaxLimit(pageSize, maxLimit, { isPagedPagination: true }) ? maxLimit : Math.max(1, pageSize)
54
- };
55
- }
56
- const limit = _.isUndefined(pagination.limit) ? defaultLimit : _.toNumber(pagination.limit);
57
- return {
58
- start: Math.max(0, _.toNumber(pagination.start || 0)),
59
- limit: shouldApplyMaxLimit(limit, maxLimit) ? maxLimit || -1 : Math.max(1, limit)
60
- };
34
+ const { start, limit } = strapiUtils.pagination.withDefaultPagination(params.pagination || {}, {
35
+ defaults: { offset: { limit: defaultLimit }, page: { pageSize: defaultLimit } },
36
+ maxLimit: maxLimit || -1
37
+ });
38
+ return { start, limit };
61
39
  };
62
- const transformPaginationResponse = (paginationInfo, count) => {
63
- if ("page" in paginationInfo) {
64
- return {
65
- ...paginationInfo,
66
- pageCount: Math.ceil(count / paginationInfo.pageSize),
67
- total: count
68
- };
40
+ const transformPaginationResponse = (paginationInfo, total, isPaged) => {
41
+ const transform = isPaged ? strapiUtils.pagination.transformPagedPaginationInfo : strapiUtils.pagination.transformOffsetPaginationInfo;
42
+ const paginationResponse = transform(paginationInfo, total);
43
+ if (fp.isNil(total)) {
44
+ return fp.omit(["total", "pageCount"], paginationResponse);
69
45
  }
70
- return {
71
- ...paginationInfo,
72
- total: count
73
- };
46
+ return paginationResponse;
74
47
  };
75
48
  exports.getPaginationInfo = getPaginationInfo;
49
+ exports.isPagedPagination = isPagedPagination;
76
50
  exports.shouldCount = shouldCount;
77
51
  exports.transformPaginationResponse = transformPaginationResponse;
78
52
  //# sourceMappingURL=pagination.js.map
@@ -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);\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;;;;"}
1
+ {"version":3,"file":"pagination.js","sources":["../../../src/core-api/service/pagination.ts"],"sourcesContent":["import { omit, has, toNumber, isNil } from 'lodash/fp';\n\nimport { errors, pagination } from '@strapi/utils';\n\ninterface BasePaginationParams {\n withCount?: boolean | 't' | '1' | 'true' | 'f' | '0' | 'false' | 0 | 1;\n}\n\ntype PagedPagination = BasePaginationParams & {\n page?: number;\n pageSize?: number;\n};\n\ntype OffsetPagination = BasePaginationParams & {\n start?: number;\n limit?: number;\n};\n\nexport type PaginationParams = PagedPagination | OffsetPagination;\n\ntype PaginationInfo =\n | {\n page: number;\n pageSize: number;\n }\n | {\n start: number;\n limit: number;\n };\n\n/**\n * Default limit values from config\n */\nconst getLimitConfigDefaults = () => ({\n defaultLimit: toNumber(strapi.config.get('api.rest.defaultLimit', 25)),\n maxLimit: toNumber(strapi.config.get('api.rest.maxLimit')) || null,\n});\n\nconst isOffsetPagination = (pagination?: PaginationParams): pagination is OffsetPagination =>\n has('start', pagination) || has('limit', pagination);\n\nconst isPagedPagination = (pagination?: PaginationParams): pagination is PagedPagination =>\n has('page', pagination) || has('pageSize', pagination) || !isOffsetPagination(pagination);\n\nconst shouldCount = (params: { pagination?: PaginationParams }) => {\n if (has('pagination.withCount', params)) {\n const withCount = params.pagination?.withCount;\n\n if (typeof withCount === 'boolean') {\n return withCount;\n }\n\n if (typeof withCount === 'undefined') {\n return false;\n }\n\n if (['true', 't', '1', 1].includes(withCount)) {\n return true;\n }\n\n if (['false', 'f', '0', 0].includes(withCount)) {\n return false;\n }\n\n throw new errors.ValidationError(\n 'Invalid withCount parameter. Expected \"t\",\"1\",\"true\",\"false\",\"0\",\"f\"'\n );\n }\n\n return Boolean(strapi.config.get('api.rest.withCount', true));\n};\n\nconst getPaginationInfo = (params: { pagination?: PaginationParams }): PaginationInfo => {\n const { defaultLimit, maxLimit } = getLimitConfigDefaults();\n\n const { start, limit } = pagination.withDefaultPagination(params.pagination || {}, {\n defaults: { offset: { limit: defaultLimit }, page: { pageSize: defaultLimit } },\n maxLimit: maxLimit || -1,\n });\n\n return { start, limit };\n};\n\nconst transformPaginationResponse = (\n paginationInfo: PaginationInfo,\n total: number | undefined,\n isPaged: boolean\n) => {\n const transform = isPaged\n ? pagination.transformPagedPaginationInfo\n : pagination.transformOffsetPaginationInfo;\n\n const paginationResponse = transform(paginationInfo, total!);\n\n if (isNil(total)) {\n // Ignore total and pageCount if `total` value is not available.\n return omit(['total', 'pageCount'], paginationResponse) as ReturnType<typeof transform>;\n }\n\n return paginationResponse;\n};\n\nexport { isPagedPagination, shouldCount, getPaginationInfo, transformPaginationResponse };\n"],"names":["toNumber","pagination","has","errors","isNil","omit"],"mappings":";;;;AAiCA,MAAM,yBAAyB,OAAO;AAAA,EACpC,cAAcA,GAAS,SAAA,OAAO,OAAO,IAAI,yBAAyB,EAAE,CAAC;AAAA,EACrE,UAAUA,GAAS,SAAA,OAAO,OAAO,IAAI,mBAAmB,CAAC,KAAK;AAChE;AAEA,MAAM,qBAAqB,CAACC,gBAC1BC,GAAAA,IAAI,SAASD,WAAU,KAAKC,GAAI,IAAA,SAASD,WAAU;AAErD,MAAM,oBAAoB,CAACA,gBACzBC,GAAA,IAAI,QAAQD,WAAU,KAAKC,GAAA,IAAI,YAAYD,WAAU,KAAK,CAAC,mBAAmBA,WAAU;AAEpF,MAAA,cAAc,CAAC,WAA8C;AAC7D,MAAAC,GAAA,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;AAEM,MAAA,oBAAoB,CAAC,WAA8D;AACvF,QAAM,EAAE,cAAc,SAAS,IAAI,uBAAuB;AAEpD,QAAA,EAAE,OAAO,UAAUF,YAAAA,WAAW,sBAAsB,OAAO,cAAc,IAAI;AAAA,IACjF,UAAU,EAAE,QAAQ,EAAE,OAAO,aAAa,GAAG,MAAM,EAAE,UAAU,eAAe;AAAA,IAC9E,UAAU,YAAY;AAAA,EAAA,CACvB;AAEM,SAAA,EAAE,OAAO;AAClB;AAEA,MAAM,8BAA8B,CAClC,gBACA,OACA,YACG;AACH,QAAM,YAAY,UACdA,YAAAA,WAAW,+BACXA,YAAAA,WAAW;AAET,QAAA,qBAAqB,UAAU,gBAAgB,KAAM;AAEvD,MAAAG,GAAAA,MAAM,KAAK,GAAG;AAEhB,WAAOC,GAAK,KAAA,CAAC,SAAS,WAAW,GAAG,kBAAkB;AAAA,EACxD;AAEO,SAAA;AACT;;;;;"}
@@ -1,10 +1,11 @@
1
- import { has, isUndefined, toNumber } from "lodash/fp";
2
- import { errors } from "@strapi/utils";
1
+ import { has, isNil, omit, toNumber } from "lodash/fp";
2
+ import { errors, pagination } from "@strapi/utils";
3
3
  const getLimitConfigDefaults = () => ({
4
4
  defaultLimit: toNumber(strapi.config.get("api.rest.defaultLimit", 25)),
5
5
  maxLimit: toNumber(strapi.config.get("api.rest.maxLimit")) || null
6
6
  });
7
- const shouldApplyMaxLimit = (limit, maxLimit, { isPagedPagination: isPagedPagination2 = false } = {}) => !isPagedPagination2 && limit === -1 || maxLimit !== null && limit > maxLimit;
7
+ const isOffsetPagination = (pagination2) => has("start", pagination2) || has("limit", pagination2);
8
+ const isPagedPagination = (pagination2) => has("page", pagination2) || has("pageSize", pagination2) || !isOffsetPagination(pagination2);
8
9
  const shouldCount = (params) => {
9
10
  if (has("pagination.withCount", params)) {
10
11
  const withCount = params.pagination?.withCount;
@@ -26,52 +27,25 @@ const shouldCount = (params) => {
26
27
  }
27
28
  return Boolean(strapi.config.get("api.rest.withCount", true));
28
29
  };
29
- const isOffsetPagination = (pagination) => has("start", pagination) || has("limit", pagination);
30
- const isPagedPagination = (pagination) => has("page", pagination) || has("pageSize", pagination);
31
30
  const getPaginationInfo = (params) => {
32
31
  const { defaultLimit, maxLimit } = getLimitConfigDefaults();
33
- const { pagination } = params;
34
- const isPaged = isPagedPagination(pagination);
35
- const isOffset = isOffsetPagination(pagination);
36
- if (isOffset && isPaged) {
37
- throw new errors.ValidationError(
38
- "Invalid pagination parameters. Expected either start/limit or page/pageSize"
39
- );
40
- }
41
- if (!isOffset && !isPaged) {
42
- return {
43
- page: 1,
44
- pageSize: defaultLimit
45
- };
46
- }
47
- if (isPagedPagination(pagination)) {
48
- const pageSize = isUndefined(pagination.pageSize) ? defaultLimit : Math.max(1, toNumber(pagination.pageSize));
49
- return {
50
- page: Math.max(1, toNumber(pagination.page || 1)),
51
- pageSize: typeof maxLimit === "number" && shouldApplyMaxLimit(pageSize, maxLimit, { isPagedPagination: true }) ? maxLimit : Math.max(1, pageSize)
52
- };
53
- }
54
- const limit = isUndefined(pagination.limit) ? defaultLimit : toNumber(pagination.limit);
55
- return {
56
- start: Math.max(0, toNumber(pagination.start || 0)),
57
- limit: shouldApplyMaxLimit(limit, maxLimit) ? maxLimit || -1 : Math.max(1, limit)
58
- };
32
+ const { start, limit } = pagination.withDefaultPagination(params.pagination || {}, {
33
+ defaults: { offset: { limit: defaultLimit }, page: { pageSize: defaultLimit } },
34
+ maxLimit: maxLimit || -1
35
+ });
36
+ return { start, limit };
59
37
  };
60
- const transformPaginationResponse = (paginationInfo, count) => {
61
- if ("page" in paginationInfo) {
62
- return {
63
- ...paginationInfo,
64
- pageCount: Math.ceil(count / paginationInfo.pageSize),
65
- total: count
66
- };
38
+ const transformPaginationResponse = (paginationInfo, total, isPaged) => {
39
+ const transform = isPaged ? pagination.transformPagedPaginationInfo : pagination.transformOffsetPaginationInfo;
40
+ const paginationResponse = transform(paginationInfo, total);
41
+ if (isNil(total)) {
42
+ return omit(["total", "pageCount"], paginationResponse);
67
43
  }
68
- return {
69
- ...paginationInfo,
70
- total: count
71
- };
44
+ return paginationResponse;
72
45
  };
73
46
  export {
74
47
  getPaginationInfo,
48
+ isPagedPagination,
75
49
  shouldCount,
76
50
  transformPaginationResponse
77
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.mjs","sources":["../../../src/core-api/service/pagination.ts"],"sourcesContent":["import { has, toNumber, isUndefined } from 'lodash/fp';\nimport { errors } from '@strapi/utils';\n\ninterface BasePaginationParams {\n withCount?: boolean | 't' | '1' | 'true' | 'f' | '0' | 'false' | 0 | 1;\n}\n\ntype PagedPagination = BasePaginationParams & {\n page?: number;\n pageSize?: number;\n};\n\ntype OffsetPagination = BasePaginationParams & {\n start?: number;\n limit?: number;\n};\n\nexport type PaginationParams = PagedPagination | OffsetPagination;\n\ntype PaginationInfo =\n | {\n page: number;\n pageSize: number;\n }\n | {\n start: number;\n limit: number;\n };\n\n/**\n * Default limit values from config\n */\nconst getLimitConfigDefaults = () => ({\n defaultLimit: toNumber(strapi.config.get('api.rest.defaultLimit', 25)),\n maxLimit: toNumber(strapi.config.get('api.rest.maxLimit')) || null,\n});\n\n/**\n * Should maxLimit be used as the limit or not\n */\nconst shouldApplyMaxLimit = (\n limit: number,\n maxLimit: number | null,\n { isPagedPagination = false } = {}\n) => (!isPagedPagination && limit === -1) || (maxLimit !== null && limit > maxLimit);\n\nconst shouldCount = (params: { pagination?: PaginationParams }) => {\n if (has('pagination.withCount', params)) {\n const withCount = params.pagination?.withCount;\n\n if (typeof withCount === 'boolean') {\n return withCount;\n }\n\n if (typeof withCount === 'undefined') {\n return false;\n }\n\n if (['true', 't', '1', 1].includes(withCount)) {\n return true;\n }\n\n if (['false', 'f', '0', 0].includes(withCount)) {\n return false;\n }\n\n throw new errors.ValidationError(\n 'Invalid withCount parameter. Expected \"t\",\"1\",\"true\",\"false\",\"0\",\"f\"'\n );\n }\n\n return Boolean(strapi.config.get('api.rest.withCount', true));\n};\n\nconst isOffsetPagination = (pagination?: PaginationParams): pagination is OffsetPagination =>\n has('start', pagination) || has('limit', pagination);\n\nconst isPagedPagination = (pagination?: PaginationParams): pagination is PagedPagination =>\n has('page', pagination) || has('pageSize', pagination);\n\nconst getPaginationInfo = (params: { pagination?: PaginationParams }): PaginationInfo => {\n const { defaultLimit, maxLimit } = getLimitConfigDefaults();\n\n const { pagination } = params;\n\n const isPaged = isPagedPagination(pagination);\n const isOffset = isOffsetPagination(pagination);\n\n if (isOffset && isPaged) {\n throw new errors.ValidationError(\n 'Invalid pagination parameters. Expected either start/limit or page/pageSize'\n );\n }\n\n if (!isOffset && !isPaged) {\n return {\n page: 1,\n pageSize: defaultLimit,\n };\n }\n\n if (isPagedPagination(pagination)) {\n const pageSize = isUndefined(pagination.pageSize)\n ? defaultLimit\n : Math.max(1, toNumber(pagination.pageSize));\n\n return {\n page: Math.max(1, toNumber(pagination.page || 1)),\n pageSize:\n typeof maxLimit === 'number' &&\n shouldApplyMaxLimit(pageSize, maxLimit, { isPagedPagination: true })\n ? maxLimit\n : Math.max(1, pageSize),\n };\n }\n\n const limit = isUndefined(pagination.limit) ? defaultLimit : toNumber(pagination.limit);\n\n return {\n start: Math.max(0, toNumber(pagination.start || 0)),\n limit: shouldApplyMaxLimit(limit, maxLimit) ? maxLimit || -1 : Math.max(1, limit),\n };\n};\n\nconst transformPaginationResponse = (paginationInfo: PaginationInfo, count: number) => {\n if ('page' in paginationInfo) {\n return {\n ...paginationInfo,\n pageCount: Math.ceil(count / paginationInfo.pageSize),\n total: count,\n };\n }\n\n return {\n ...paginationInfo,\n total: count,\n };\n};\n\nexport { getPaginationInfo, transformPaginationResponse, shouldCount };\n"],"names":["isPagedPagination"],"mappings":";;AAgCA,MAAM,yBAAyB,OAAO;AAAA,EACpC,cAAc,SAAS,OAAO,OAAO,IAAI,yBAAyB,EAAE,CAAC;AAAA,EACrE,UAAU,SAAS,OAAO,OAAO,IAAI,mBAAmB,CAAC,KAAK;AAChE;AAKA,MAAM,sBAAsB,CAC1B,OACA,UACA,EAAE,mBAAAA,qBAAoB,UAAU,CAAA,MAC5B,CAACA,sBAAqB,UAAU,MAAQ,aAAa,QAAQ,QAAQ;AAErE,MAAA,cAAc,CAAC,WAA8C;AAC7D,MAAA,IAAI,wBAAwB,MAAM,GAAG;AACjC,UAAA,YAAY,OAAO,YAAY;AAEjC,QAAA,OAAO,cAAc,WAAW;AAC3B,aAAA;AAAA,IACT;AAEI,QAAA,OAAO,cAAc,aAAa;AAC7B,aAAA;AAAA,IACT;AAEI,QAAA,CAAC,QAAQ,KAAK,KAAK,CAAC,EAAE,SAAS,SAAS,GAAG;AACtC,aAAA;AAAA,IACT;AAEI,QAAA,CAAC,SAAS,KAAK,KAAK,CAAC,EAAE,SAAS,SAAS,GAAG;AACvC,aAAA;AAAA,IACT;AAEA,UAAM,IAAI,OAAO;AAAA,MACf;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAO,QAAQ,OAAO,OAAO,IAAI,sBAAsB,IAAI,CAAC;AAC9D;AAEA,MAAM,qBAAqB,CAAC,eAC1B,IAAI,SAAS,UAAU,KAAK,IAAI,SAAS,UAAU;AAErD,MAAM,oBAAoB,CAAC,eACzB,IAAI,QAAQ,UAAU,KAAK,IAAI,YAAY,UAAU;AAEjD,MAAA,oBAAoB,CAAC,WAA8D;AACvF,QAAM,EAAE,cAAc,SAAS,IAAI,uBAAuB;AAEpD,QAAA,EAAE,WAAe,IAAA;AAEjB,QAAA,UAAU,kBAAkB,UAAU;AACtC,QAAA,WAAW,mBAAmB,UAAU;AAE9C,MAAI,YAAY,SAAS;AACvB,UAAM,IAAI,OAAO;AAAA,MACf;AAAA,IAAA;AAAA,EAEJ;AAEI,MAAA,CAAC,YAAY,CAAC,SAAS;AAClB,WAAA;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EAEd;AAEI,MAAA,kBAAkB,UAAU,GAAG;AACjC,UAAM,WAAW,YAAY,WAAW,QAAQ,IAC5C,eACA,KAAK,IAAI,GAAG,SAAS,WAAW,QAAQ,CAAC;AAEtC,WAAA;AAAA,MACL,MAAM,KAAK,IAAI,GAAG,SAAS,WAAW,QAAQ,CAAC,CAAC;AAAA,MAChD,UACE,OAAO,aAAa,YACpB,oBAAoB,UAAU,UAAU,EAAE,mBAAmB,KAAA,CAAM,IAC/D,WACA,KAAK,IAAI,GAAG,QAAQ;AAAA,IAAA;AAAA,EAE9B;AAEM,QAAA,QAAQ,YAAY,WAAW,KAAK,IAAI,eAAe,SAAS,WAAW,KAAK;AAE/E,SAAA;AAAA,IACL,OAAO,KAAK,IAAI,GAAG,SAAS,WAAW,SAAS,CAAC,CAAC;AAAA,IAClD,OAAO,oBAAoB,OAAO,QAAQ,IAAI,YAAY,KAAK,KAAK,IAAI,GAAG,KAAK;AAAA,EAAA;AAEpF;AAEM,MAAA,8BAA8B,CAAC,gBAAgC,UAAkB;AACrF,MAAI,UAAU,gBAAgB;AACrB,WAAA;AAAA,MACL,GAAG;AAAA,MACH,WAAW,KAAK,KAAK,QAAQ,eAAe,QAAQ;AAAA,MACpD,OAAO;AAAA,IAAA;AAAA,EAEX;AAEO,SAAA;AAAA,IACL,GAAG;AAAA,IACH,OAAO;AAAA,EAAA;AAEX;"}
1
+ {"version":3,"file":"pagination.mjs","sources":["../../../src/core-api/service/pagination.ts"],"sourcesContent":["import { omit, has, toNumber, isNil } from 'lodash/fp';\n\nimport { errors, pagination } from '@strapi/utils';\n\ninterface BasePaginationParams {\n withCount?: boolean | 't' | '1' | 'true' | 'f' | '0' | 'false' | 0 | 1;\n}\n\ntype PagedPagination = BasePaginationParams & {\n page?: number;\n pageSize?: number;\n};\n\ntype OffsetPagination = BasePaginationParams & {\n start?: number;\n limit?: number;\n};\n\nexport type PaginationParams = PagedPagination | OffsetPagination;\n\ntype PaginationInfo =\n | {\n page: number;\n pageSize: number;\n }\n | {\n start: number;\n limit: number;\n };\n\n/**\n * Default limit values from config\n */\nconst getLimitConfigDefaults = () => ({\n defaultLimit: toNumber(strapi.config.get('api.rest.defaultLimit', 25)),\n maxLimit: toNumber(strapi.config.get('api.rest.maxLimit')) || null,\n});\n\nconst isOffsetPagination = (pagination?: PaginationParams): pagination is OffsetPagination =>\n has('start', pagination) || has('limit', pagination);\n\nconst isPagedPagination = (pagination?: PaginationParams): pagination is PagedPagination =>\n has('page', pagination) || has('pageSize', pagination) || !isOffsetPagination(pagination);\n\nconst shouldCount = (params: { pagination?: PaginationParams }) => {\n if (has('pagination.withCount', params)) {\n const withCount = params.pagination?.withCount;\n\n if (typeof withCount === 'boolean') {\n return withCount;\n }\n\n if (typeof withCount === 'undefined') {\n return false;\n }\n\n if (['true', 't', '1', 1].includes(withCount)) {\n return true;\n }\n\n if (['false', 'f', '0', 0].includes(withCount)) {\n return false;\n }\n\n throw new errors.ValidationError(\n 'Invalid withCount parameter. Expected \"t\",\"1\",\"true\",\"false\",\"0\",\"f\"'\n );\n }\n\n return Boolean(strapi.config.get('api.rest.withCount', true));\n};\n\nconst getPaginationInfo = (params: { pagination?: PaginationParams }): PaginationInfo => {\n const { defaultLimit, maxLimit } = getLimitConfigDefaults();\n\n const { start, limit } = pagination.withDefaultPagination(params.pagination || {}, {\n defaults: { offset: { limit: defaultLimit }, page: { pageSize: defaultLimit } },\n maxLimit: maxLimit || -1,\n });\n\n return { start, limit };\n};\n\nconst transformPaginationResponse = (\n paginationInfo: PaginationInfo,\n total: number | undefined,\n isPaged: boolean\n) => {\n const transform = isPaged\n ? pagination.transformPagedPaginationInfo\n : pagination.transformOffsetPaginationInfo;\n\n const paginationResponse = transform(paginationInfo, total!);\n\n if (isNil(total)) {\n // Ignore total and pageCount if `total` value is not available.\n return omit(['total', 'pageCount'], paginationResponse) as ReturnType<typeof transform>;\n }\n\n return paginationResponse;\n};\n\nexport { isPagedPagination, shouldCount, getPaginationInfo, transformPaginationResponse };\n"],"names":["pagination"],"mappings":";;AAiCA,MAAM,yBAAyB,OAAO;AAAA,EACpC,cAAc,SAAS,OAAO,OAAO,IAAI,yBAAyB,EAAE,CAAC;AAAA,EACrE,UAAU,SAAS,OAAO,OAAO,IAAI,mBAAmB,CAAC,KAAK;AAChE;AAEA,MAAM,qBAAqB,CAACA,gBAC1B,IAAI,SAASA,WAAU,KAAK,IAAI,SAASA,WAAU;AAErD,MAAM,oBAAoB,CAACA,gBACzB,IAAI,QAAQA,WAAU,KAAK,IAAI,YAAYA,WAAU,KAAK,CAAC,mBAAmBA,WAAU;AAEpF,MAAA,cAAc,CAAC,WAA8C;AAC7D,MAAA,IAAI,wBAAwB,MAAM,GAAG;AACjC,UAAA,YAAY,OAAO,YAAY;AAEjC,QAAA,OAAO,cAAc,WAAW;AAC3B,aAAA;AAAA,IACT;AAEI,QAAA,OAAO,cAAc,aAAa;AAC7B,aAAA;AAAA,IACT;AAEI,QAAA,CAAC,QAAQ,KAAK,KAAK,CAAC,EAAE,SAAS,SAAS,GAAG;AACtC,aAAA;AAAA,IACT;AAEI,QAAA,CAAC,SAAS,KAAK,KAAK,CAAC,EAAE,SAAS,SAAS,GAAG;AACvC,aAAA;AAAA,IACT;AAEA,UAAM,IAAI,OAAO;AAAA,MACf;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAO,QAAQ,OAAO,OAAO,IAAI,sBAAsB,IAAI,CAAC;AAC9D;AAEM,MAAA,oBAAoB,CAAC,WAA8D;AACvF,QAAM,EAAE,cAAc,SAAS,IAAI,uBAAuB;AAEpD,QAAA,EAAE,OAAO,UAAU,WAAW,sBAAsB,OAAO,cAAc,IAAI;AAAA,IACjF,UAAU,EAAE,QAAQ,EAAE,OAAO,aAAa,GAAG,MAAM,EAAE,UAAU,eAAe;AAAA,IAC9E,UAAU,YAAY;AAAA,EAAA,CACvB;AAEM,SAAA,EAAE,OAAO;AAClB;AAEA,MAAM,8BAA8B,CAClC,gBACA,OACA,YACG;AACH,QAAM,YAAY,UACd,WAAW,+BACX,WAAW;AAET,QAAA,qBAAqB,UAAU,gBAAgB,KAAM;AAEvD,MAAA,MAAM,KAAK,GAAG;AAEhB,WAAO,KAAK,CAAC,SAAS,WAAW,GAAG,kBAAkB;AAAA,EACxD;AAEO,SAAA;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"single-type.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/single-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,WAAY,YAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU;IAC3F,OAAO,CAAC,WAAW,CAA0B;gBAEjC,WAAW,EAAE,MAAM,CAAC,gBAAgB;IAM1C,aAAa;IASb,IAAI,CAAC,MAAM,KAAK;IAMhB,cAAc,CAAC,MAAM,KAAK;IAY1B,MAAM,CAAC,MAAM,KAAK;;;CAQzB;AAED,QAAA,MAAM,uBAAuB,gBACd,OAAO,gBAAgB,KACnC,KAAK,OAAO,CAAC,OAAO,CAAC,UAEvB,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"single-type.d.ts","sourceRoot":"","sources":["../../../src/core-api/service/single-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,WAAY,YAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU;IAC3F,OAAO,CAAC,WAAW,CAA0B;gBAEjC,WAAW,EAAE,MAAM,CAAC,gBAAgB;IAM1C,aAAa;IASb,IAAI,CAAC,MAAM,KAAK;IAMhB,cAAc,CAAC,MAAM,KAAK;IAe1B,MAAM,CAAC,MAAM,KAAK;;;CAazB;AAED,QAAA,MAAM,uBAAuB,gBACd,OAAO,gBAAgB,KACnC,KAAK,OAAO,CAAC,OAAO,CAAC,UAEvB,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -19,7 +19,10 @@ class SingleTypeService extends coreService.CoreService {
19
19
  const { uid } = this.contentType;
20
20
  const documentId = await this.getDocumentId();
21
21
  if (documentId) {
22
- return strapi.documents(uid).update(documentId, this.getFetchParams(params));
22
+ return strapi.documents(uid).update({
23
+ ...this.getFetchParams(params),
24
+ documentId
25
+ });
23
26
  }
24
27
  return strapi.documents(uid).create(this.getFetchParams(params));
25
28
  }
@@ -28,7 +31,11 @@ class SingleTypeService extends coreService.CoreService {
28
31
  const documentId = await this.getDocumentId();
29
32
  if (!documentId)
30
33
  return { deletedEntries: 0 };
31
- return strapi.documents(uid).delete(documentId, this.getFetchParams(params));
34
+ const { entries } = await strapi.documents(uid).delete({
35
+ ...this.getFetchParams(params),
36
+ documentId
37
+ });
38
+ return { deletedEntries: entries.length };
32
39
  }
33
40
  }
34
41
  const createSingleTypeService = (contentType) => {