aboutsummaryrefslogtreecommitdiffstats
path: root/src/services/graphql/fetchers/topics
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/topics
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/topics')
-rw-r--r--src/services/graphql/fetchers/topics/fetch-all-topics-slugs.ts7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/services/graphql/fetchers/topics/fetch-all-topics-slugs.ts b/src/services/graphql/fetchers/topics/fetch-all-topics-slugs.ts
index eab4a7c..1df0039 100644
--- a/src/services/graphql/fetchers/topics/fetch-all-topics-slugs.ts
+++ b/src/services/graphql/fetchers/topics/fetch-all-topics-slugs.ts
@@ -1,6 +1,5 @@
import type { GraphQLNodes, Nullable, SlugNode } from '../../../../types';
import { fetchGraphQL, getGraphQLUrl } from '../../../../utils/helpers';
-import { fetchTopicsCount } from './fetch-topics-count';
type TopicsSlugsResponse = {
topics: Nullable<GraphQLNodes<SlugNode>>;
@@ -17,14 +16,14 @@ const topicsSlugsQuery = `query TopicsSlugs($first: Int) {
/**
* Retrieve the WordPress topics slugs.
*
+ * @param {number} count - The number of topics slugs to retrieve.
* @returns {Promise<string[]>} The topics slugs.
*/
-export const fetchAllTopicsSlugs = async (): Promise<string[]> => {
- const topicsCount = await fetchTopicsCount();
+export const fetchAllTopicsSlugs = async (count: number): Promise<string[]> => {
const response = await fetchGraphQL<TopicsSlugsResponse>({
query: topicsSlugsQuery,
url: getGraphQLUrl(),
- variables: { first: topicsCount },
+ variables: { first: count },
});
if (!response.topics)