aboutsummaryrefslogtreecommitdiffstats
path: root/src/services/graphql/thematics.query.ts
blob: 3b3ebd6d129ef968ab5ca574d4c1585af2242788 (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
128
129
130
131
132
133
134
/**
 * 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
              }
            }
          }
          author {
            node {
              gravatarUrl
              name
              url
            }
          }
          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
    }
  }
}`;