-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdirectus-schema.graphqls
140 lines (120 loc) · 2.5 KB
/
directus-schema.graphqls
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
138
139
140
"""
A directive used by the Apollo iOS client to annotate operations or fragments that should be used exclusively for generating local cache mutations instead of as standard operations.
"""
directive @apollo_client_ios_localCacheMutation on QUERY | MUTATION | SUBSCRIPTION | FRAGMENT_DEFINITION
"""
A directive used by the Apollo iOS code generation engine to generate custom import statements in operation or fragment definition files. An import statement to import a module with the name provided in the `module` argument will be added to the generated definition file.
"""
directive @import(
"""The name of the module to import."""
module: String!
) repeatable on QUERY | MUTATION | SUBSCRIPTION | FRAGMENT_DEFINITION
type Query {
me: Me
timers(startsAt: String!, endsAt: String!): [Timers]
projects: [Projects]
tasks(projectId: Int!): [Tasks]
stats(date: String!): Stats
timer(id: Int): Timer
}
type Me {
email: String
}
type Timers {
id: Int
startsAt: String
endsAt: String
duration: Int
totalDuration: Int
notes: String
relations: [String]
project: Project
task: Task
}
type Project {
id: Int
name: String
}
type Task {
id: Int
name: String
}
type Projects {
id: String
projectName: String
}
type Tasks {
id: String
taskName: String
}
type Stats {
byDate: [ByDate]
byInterval: [ByInterval]
}
type ByDate {
date: String
totalDuration: Int
}
type ByInterval {
type: String
startsAt: String
endsAt: String
totalDuration: Int
}
type Timer {
id: Int
startsAt: String
endsAt: String
duration: Int
totalDuration: Int
notes: String
relations: [String]
}
type Mutation {
start(projectTaskId: Int!, duration: Int, notes: String, relations: [String]): Start
stop(timerId: Int!): Stop
log(projectTaskId: Int!, duration: Int, notes: String, relations: [String], startsAt: String, endsAt: String): Log
remove(timerId: Int!): Remove
update(timerId: Int!, input: Input): Update
restart(timerId: Int!): Restart
}
type Start {
id: String
startsAt: String
endsAt: String
duration: Int
}
type Stop {
id: String
startsAt: String
endsAt: String
totalDuration: Int
}
type Log {
id: String
startsAt: String
endsAt: String
duration: Int
}
type Remove {
id: Int
}
type Update {
id: Int
startsAt: String
endsAt: String
duration: Int
totalDuration: Int
}
input Input {
duration: Int
startsAt: String
endsAt: String
notes: String
relations: [String]
}
type Restart {
id: Int
startsAt: String
totalDuration: Int
}