linear_queries/
queries.rs1use crate::filters::IssueFilter;
2use crate::types::*;
3use linear_schema::linear as schema;
4
5#[derive(cynic::QueryVariables, Debug, Clone)]
6pub struct IssuesArguments {
7 pub first: Option<i32>,
8 pub after: Option<String>,
9 pub filter: Option<IssueFilter>,
10}
11
12#[derive(cynic::QueryFragment, Debug)]
13#[cynic(
14 graphql_type = "Query",
15 schema = "linear",
16 variables = "IssuesArguments"
17)]
18pub struct IssuesQuery {
19 #[arguments(first: $first, after: $after, filter: $filter)]
20 pub issues: IssueConnection,
21}
22
23#[derive(cynic::QueryVariables, Debug, Clone)]
24pub struct IssueByIdArguments {
25 pub id: String,
26}
27
28#[derive(cynic::QueryFragment, Debug)]
29#[cynic(
30 graphql_type = "Query",
31 schema = "linear",
32 variables = "IssueByIdArguments"
33)]
34pub struct IssueByIdQuery {
35 #[arguments(id: $id)]
36 pub issue: Option<Issue>,
37}
38
39#[derive(cynic::QueryVariables, Debug, Clone)]
40pub struct SearchIssuesArguments {
41 pub term: String,
42 #[cynic(rename = "includeComments")]
43 pub include_comments: Option<bool>,
44 pub first: Option<i32>,
45 pub after: Option<String>,
46 pub filter: Option<IssueFilter>,
47}
48
49#[derive(cynic::QueryFragment, Debug)]
50#[cynic(
51 graphql_type = "Query",
52 schema = "linear",
53 variables = "SearchIssuesArguments"
54)]
55pub struct SearchIssuesQuery {
56 #[arguments(term: $term, includeComments: $include_comments, first: $first, after: $after, filter: $filter)]
57 #[cynic(rename = "searchIssues")]
58 pub search_issues: IssueSearchPayload,
59}