summaryrefslogtreecommitdiffstats
path: root/src/services/graphql/topics.query.ts
blob: 8783799bf29da74e7fa26d84c23ed6349c162ebd (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
/**
 * 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 {
            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 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
        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
    }
  }
}`;