summaryrefslogtreecommitdiffstats
path: root/src/services/graphql/thematics.query.ts
blob: db8e7515d78020b39d4adb6bc20cb0fb5bb6acc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/**
 * Query the full thematic data using its slug.
 */
export const thematicBySlugQuery = `query ThematicBy($slug: ID!) {
  thematic(id: $slug, idType: SLUG) {
    acfThematics {
      postsInThematic {
        ... on Post {
          acfPosts {
            postsInTopic {
              ... on Topic {
                databaseId
                slug
                title
              }
            }
          }
          commentCount
          contentParts {
            beforeMore
          }
          databaseId
          date
          featuredImage {
            node {
              altText
              mediaDetails {
                height
                width
              }
              sourceUrl
              title
            }
          }
          info {
            readingTime
            wordsCount
          }
          modified
          slug
          title
        }
      }
    }
    contentParts {
      afterMore
      beforeMore
    }
    databaseId
    date
    featuredImage {
      node {
        altText
        mediaDetails {
          height
          width
        }
        sourceUrl
        title
      }
    }
    info {
      readingTime
      wordsCount
    }
    modified
    seo {
      metaDesc
      title
    }
    slug
    title
  }
}`;

/**
 * Query an array of partial thematics.
 */
export const thematicsListQuery = `query ThematicsList($after: String = "", $first: Int = 10) {
  thematics(
    after: $after
    first: $first
    where: {orderby: {field: TITLE, order: ASC}, status: PUBLISH}
  ) {
    edges {
      cursor
      node {
        databaseId
        slug
        title
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      total
    }
  }
}`;

/**
 * Query an array of thematics slug.
 */
export const thematicsSlugQuery = `query ThematicsSlug($first: Int = 10, $after: String = "") {
  thematics(after: $after, first: $first) {
    edges {
      cursor
      node {
        slug
      }
    }
    pageInfo {
      total
    }
  }
}`;

/**
 * Query the total number of thematics.
 */
export const totalThematicsQuery = `query ThematicsTotal {
  thematics {
    pageInfo {
      total
    }
  }
}`;