linear_queries/
filters.rs1use crate::scalars::DateTimeOrDuration;
2use linear_schema::linear as schema;
3
4#[derive(cynic::InputObject, Clone, Debug, Default)]
5#[cynic(schema = "linear")]
6pub struct StringComparator {
7 #[cynic(skip_serializing_if = "Option::is_none")]
8 pub eq: Option<String>,
9 #[cynic(skip_serializing_if = "Option::is_none")]
10 pub contains: Option<String>,
11 #[cynic(rename = "containsIgnoreCase", skip_serializing_if = "Option::is_none")]
12 pub contains_ignore_case: Option<String>,
13}
14
15#[derive(cynic::InputObject, Clone, Debug, Default)]
16#[cynic(schema = "linear")]
17pub struct NullableStringComparator {
18 #[cynic(skip_serializing_if = "Option::is_none")]
19 pub eq: Option<String>,
20 #[cynic(skip_serializing_if = "Option::is_none")]
21 pub contains: Option<String>,
22 #[cynic(rename = "containsIgnoreCase", skip_serializing_if = "Option::is_none")]
23 pub contains_ignore_case: Option<String>,
24}
25
26#[derive(cynic::InputObject, Clone, Debug, Default)]
27#[cynic(schema = "linear")]
28pub struct NullableNumberComparator {
29 #[cynic(skip_serializing_if = "Option::is_none")]
30 pub eq: Option<f64>,
31 #[cynic(skip_serializing_if = "Option::is_none")]
32 pub gte: Option<f64>,
33 #[cynic(skip_serializing_if = "Option::is_none")]
34 pub lte: Option<f64>,
35}
36
37#[derive(cynic::InputObject, Clone, Debug, Default)]
38#[cynic(schema = "linear")]
39pub struct NumberComparator {
40 #[cynic(skip_serializing_if = "Option::is_none")]
41 pub eq: Option<f64>,
42 #[cynic(skip_serializing_if = "Option::is_none")]
43 pub gte: Option<f64>,
44 #[cynic(skip_serializing_if = "Option::is_none")]
45 pub lte: Option<f64>,
46}
47
48#[derive(cynic::InputObject, Clone, Debug, Default)]
50#[cynic(schema = "linear", graphql_type = "IDComparator")]
51pub struct IdComparator {
52 #[cynic(skip_serializing_if = "Option::is_none")]
53 pub eq: Option<cynic::Id>,
54}
55
56#[derive(cynic::InputObject, Clone, Debug, Default)]
58#[cynic(schema = "linear")]
59pub struct DateComparator {
60 #[cynic(skip_serializing_if = "Option::is_none")]
61 pub eq: Option<DateTimeOrDuration>,
62 #[cynic(skip_serializing_if = "Option::is_none")]
63 pub gte: Option<DateTimeOrDuration>,
64 #[cynic(skip_serializing_if = "Option::is_none")]
65 pub lte: Option<DateTimeOrDuration>,
66}
67
68#[derive(cynic::InputObject, Clone, Debug, Default)]
70#[cynic(schema = "linear")]
71pub struct WorkflowStateFilter {
72 #[cynic(skip_serializing_if = "Option::is_none")]
73 pub id: Option<IdComparator>,
74}
75
76#[derive(cynic::InputObject, Clone, Debug, Default)]
78#[cynic(schema = "linear")]
79pub struct NullableUserFilter {
80 #[cynic(skip_serializing_if = "Option::is_none")]
81 pub id: Option<IdComparator>,
82}
83
84#[derive(cynic::InputObject, Clone, Debug, Default)]
86#[cynic(schema = "linear")]
87pub struct TeamFilter {
88 #[cynic(skip_serializing_if = "Option::is_none")]
89 pub id: Option<IdComparator>,
90 #[cynic(skip_serializing_if = "Option::is_none")]
91 pub key: Option<StringComparator>,
92}
93
94#[derive(cynic::InputObject, Clone, Debug, Default)]
96#[cynic(schema = "linear")]
97pub struct NullableProjectFilter {
98 #[cynic(skip_serializing_if = "Option::is_none")]
99 pub id: Option<IdComparator>,
100}
101
102#[derive(cynic::InputObject, Clone, Debug, Default)]
103#[cynic(schema = "linear")]
104pub struct IssueFilter {
105 #[cynic(skip_serializing_if = "Option::is_none")]
106 pub title: Option<StringComparator>,
107 #[cynic(skip_serializing_if = "Option::is_none")]
108 pub description: Option<NullableStringComparator>,
109 #[cynic(skip_serializing_if = "Option::is_none")]
110 pub priority: Option<NullableNumberComparator>,
111 #[cynic(skip_serializing_if = "Option::is_none")]
112 pub state: Option<WorkflowStateFilter>,
113 #[cynic(skip_serializing_if = "Option::is_none")]
114 pub assignee: Option<NullableUserFilter>,
115 #[cynic(skip_serializing_if = "Option::is_none")]
116 pub team: Option<TeamFilter>,
117 #[cynic(skip_serializing_if = "Option::is_none")]
118 pub project: Option<NullableProjectFilter>,
119 #[cynic(rename = "createdAt", skip_serializing_if = "Option::is_none")]
120 pub created_at: Option<DateComparator>,
121 #[cynic(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
122 pub updated_at: Option<DateComparator>,
123 #[cynic(skip_serializing_if = "Option::is_none")]
124 pub number: Option<NumberComparator>,
125}