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 pub eq: Option<String>,
8 pub contains: Option<String>,
9 #[cynic(rename = "containsIgnoreCase")]
10 pub contains_ignore_case: Option<String>,
11}
12
13#[derive(cynic::InputObject, Clone, Debug, Default)]
14#[cynic(schema = "linear")]
15pub struct NullableStringComparator {
16 pub eq: Option<String>,
17 pub contains: Option<String>,
18 #[cynic(rename = "containsIgnoreCase")]
19 pub contains_ignore_case: Option<String>,
20}
21
22#[derive(cynic::InputObject, Clone, Debug, Default)]
23#[cynic(schema = "linear")]
24pub struct NullableNumberComparator {
25 pub eq: Option<f64>,
26 pub gte: Option<f64>,
27 pub lte: Option<f64>,
28}
29
30#[derive(cynic::InputObject, Clone, Debug, Default)]
31#[cynic(schema = "linear")]
32pub struct NumberComparator {
33 pub eq: Option<f64>,
34 pub gte: Option<f64>,
35 pub lte: Option<f64>,
36}
37
38#[derive(cynic::InputObject, Clone, Debug, Default)]
40#[cynic(schema = "linear", graphql_type = "IDComparator")]
41pub struct IdComparator {
42 pub eq: Option<cynic::Id>,
43}
44
45#[derive(cynic::InputObject, Clone, Debug, Default)]
47#[cynic(schema = "linear")]
48pub struct DateComparator {
49 pub eq: Option<DateTimeOrDuration>,
50 pub gte: Option<DateTimeOrDuration>,
51 pub lte: Option<DateTimeOrDuration>,
52}
53
54#[derive(cynic::InputObject, Clone, Debug, Default)]
56#[cynic(schema = "linear")]
57pub struct WorkflowStateFilter {
58 pub id: Option<IdComparator>,
59}
60
61#[derive(cynic::InputObject, Clone, Debug, Default)]
63#[cynic(schema = "linear")]
64pub struct NullableUserFilter {
65 pub id: Option<IdComparator>,
66}
67
68#[derive(cynic::InputObject, Clone, Debug, Default)]
70#[cynic(schema = "linear")]
71pub struct TeamFilter {
72 pub id: Option<IdComparator>,
73 pub key: Option<StringComparator>,
74}
75
76#[derive(cynic::InputObject, Clone, Debug, Default)]
78#[cynic(schema = "linear")]
79pub struct NullableProjectFilter {
80 pub id: Option<IdComparator>,
81}
82
83#[derive(cynic::InputObject, Clone, Debug, Default)]
84#[cynic(schema = "linear")]
85pub struct IssueFilter {
86 pub title: Option<StringComparator>,
87 pub description: Option<NullableStringComparator>,
88 pub priority: Option<NullableNumberComparator>,
89 pub state: Option<WorkflowStateFilter>,
90 pub assignee: Option<NullableUserFilter>,
91 pub team: Option<TeamFilter>,
92 pub project: Option<NullableProjectFilter>,
93 #[cynic(rename = "createdAt")]
94 pub created_at: Option<DateComparator>,
95 #[cynic(rename = "updatedAt")]
96 pub updated_at: Option<DateComparator>,
97 pub number: Option<NumberComparator>,
98}