aboutsummaryrefslogtreecommitdiffstats
path: root/src/services/graphql/topics.query.ts
blob: 57b25699698fbcac867b9aafa040c718e11cd25d (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
135
136
137
/**
 * Query the full topic data using its slug.
 */
export const topicBySlugQuery = `query TopicBy($slug: ID!) {
  topic(id: $slug, idType: SLUG) {
    acfTopics {
      officialWebsite
      postsInTopic {
        ... on Post {
          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
        }
      }
    }
    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 topics.
 */
export const topicsListQuery = `query TopicsList($after: String = "", $first: Int = 10) {
  topics(
    after: $after
    first: $first
    where: {orderby: {field: TITLE, order: ASC}, status: PUBLISH}
  ) {
    edges {
      cursor
      node {
        databaseId
        featuredImage {
          node {
            altText
            mediaDetails {
              height
              width
            }
            sourceUrl
            title
          }
        }
        slug
        title
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      total
    }
  }
}`;

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

/**
 * Query the total number of topics.
 */
export const totalTopicsQuery = `query TopicsTotal {
  topics {
    pageInfo {
      total
    }
  }
}`;