aboutsummaryrefslogtreecommitdiffstats
path: root/src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-11-28 15:09:04 +0100
committerArmand Philippot <git@armandphilippot.com>2023-11-28 16:21:57 +0100
commitab81df7f3d317281a05caec18e2cfd89dc26bc7a (patch)
treee7c8fbdd238ebf514aa00eec98434f50ed69be73 /src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts
parentff79add1d59375817a10331a35458cca3c419cfe (diff)
refactor(services): avoid nested fetchers
If we use fetchPostsCount inside fetchAllPostsSlugs, we might have problems to test fetchAllPostsSlugs failure. So it is better to let the consumer pass the posts count as an argument. The same applies to thematics and topics.
Diffstat (limited to 'src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts')
-rw-r--r--src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts b/src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts
index 739c009..c44bb6d 100644
--- a/src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts
+++ b/src/services/graphql/fetchers/thematics/fetch-all-thematics-slugs.ts
@@ -1,6 +1,5 @@
import type { GraphQLNodes, Nullable, SlugNode } from '../../../../types';
import { fetchGraphQL, getGraphQLUrl } from '../../../../utils/helpers';
-import { fetchThematicsCount } from './fetch-thematics-count';
type ThematicsSlugsResponse = {
thematics: Nullable<GraphQLNodes<SlugNode>>;
@@ -17,14 +16,16 @@ const thematicsSlugsQuery = `query ThematicsSlugs($first: Int) {
/**
* Retrieve the WordPress thematics slugs.
*
+ * @param {number} count - The number of thematics slugs to retrieve.
* @returns {Promise<string[]>} The thematics slugs.
*/
-export const fetchAllThematicsSlugs = async (): Promise<string[]> => {
- const thematicsCount = await fetchThematicsCount();
+export const fetchAllThematicsSlugs = async (
+ count: number
+): Promise<string[]> => {
const response = await fetchGraphQL<ThematicsSlugsResponse>({
query: thematicsSlugsQuery,
url: getGraphQLUrl(),
- variables: { first: thematicsCount },
+ variables: { first: count },
});
if (!response.thematics)