aboutsummaryrefslogtreecommitdiffstats
path: root/src/services/graphql/articles.query.ts
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-11-24 20:00:08 +0100
committerArmand Philippot <git@armandphilippot.com>2023-11-27 14:47:51 +0100
commitf111685c5886f3e77edfd3621c98d8ac1b9bcce4 (patch)
tree62a541fe3afeb64bf745443706fbfb02e96c5230 /src/services/graphql/articles.query.ts
parentbee515641cb144be9a855ff2cac258d2fedab21d (diff)
refactor(services, types): reorganize GraphQL fetchers and data types
The Typescript mapped types was useful for autocompletion in fetchers but their are harder to maintain. I think it's better to keep each query close to its fetcher to have a better understanding of the fetched data. So I: * colocate queries with their own fetcher * colocate mutations with their own mutator * remove Typescript mapped types for queries and mutations * move data convertors inside graphql services * rename most of data types and fetchers
Diffstat (limited to 'src/services/graphql/articles.query.ts')
-rw-r--r--src/services/graphql/articles.query.ts191
1 files changed, 0 insertions, 191 deletions
diff --git a/src/services/graphql/articles.query.ts b/src/services/graphql/articles.query.ts
deleted file mode 100644
index 46e3df6..0000000
--- a/src/services/graphql/articles.query.ts
+++ /dev/null
@@ -1,191 +0,0 @@
-/**
- * Query the full article data using its slug.
- */
-export const articleBySlugQuery = `query PostBy($slug: ID!) {
- post(id: $slug, idType: SLUG) {
- acfPosts {
- postsInThematic {
- ... on Thematic {
- databaseId
- slug
- title
- }
- }
- postsInTopic {
- ... on Topic {
- databaseId
- featuredImage {
- node {
- altText
- mediaDetails {
- height
- width
- }
- sourceUrl
- title
- }
- }
- slug
- title
- }
- }
- }
- author {
- node {
- gravatarUrl
- name
- url
- }
- }
- commentCount
- contentParts {
- afterMore
- beforeMore
- }
- databaseId
- date
- featuredImage {
- node {
- altText
- mediaDetails {
- height
- width
- }
- sourceUrl
- title
- }
- }
- info {
- wordsCount
- }
- modified
- seo {
- metaDesc
- title
- }
- slug
- title
- }
-}`;
-
-/**
- * Query an array of partial articles.
- */
-export const articlesQuery = `query Articles($after: String = "", $first: Int = 10, $search: String = "") {
- posts(
- after: $after
- first: $first
- where: {orderby: {field: DATE, order: DESC}, search: $search, status: PUBLISH}
- ) {
- edges {
- cursor
- node {
- acfPosts {
- postsInThematic {
- ... on Thematic {
- databaseId
- slug
- title
- }
- }
- }
- commentCount
- contentParts {
- beforeMore
- }
- databaseId
- date
- featuredImage {
- node {
- altText
- mediaDetails {
- height
- width
- }
- sourceUrl
- title
- }
- }
- info {
- wordsCount
- }
- modified
- slug
- title
- }
- }
- pageInfo {
- endCursor
- hasNextPage
- total
- }
- }
-}`;
-
-/**
- * Query an array of articles with only the minimal data.
- */
-export const articlesCardQuery = `query ArticlesCard($first: Int = 10) {
- posts(
- first: $first
- where: {orderby: {field: DATE, order: DESC}, status: PUBLISH}
- ) {
- nodes {
- databaseId
- date
- featuredImage {
- node {
- altText
- mediaDetails {
- height
- width
- }
- sourceUrl
- title
- }
- }
- slug
- title
- }
- }
-}`;
-
-/**
- * Query an array of articles slug.
- */
-export const articlesSlugQuery = `query ArticlesSlug($first: Int = 10, $after: String = "") {
- posts(after: $after, first: $first) {
- edges {
- cursor
- node {
- slug
- }
- }
- pageInfo {
- total
- }
- }
-}`;
-
-/**
- * Query the total number of articles.
- */
-export const totalArticlesQuery = `query PostsTotal($search: String = "") {
- posts(where: {search: $search}) {
- pageInfo {
- total
- }
- }
-}`;
-
-/**
- * Query the end cursor based on the queried posts number.
- */
-export const articlesEndCursorQuery = `query EndCursorAfter($first: Int) {
- posts(first: $first) {
- pageInfo {
- hasNextPage
- endCursor
- }
- }
-}`;