-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpublic_schema.graphql
170 lines (153 loc) · 3.22 KB
/
public_schema.graphql
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
input CreateTaskInput {
clientId: String = null
title: String = null
description: String = null
startTime: DateTime = null
endTime: DateTime = null
deadline: DateTime = null
status: TaskStatus = null
}
input CreateTimeboxInput {
clientId: String = null
title: String = null
description: String = null
startTime: DateTime = null
endTime: DateTime = null
task: UpdateTimeboxTaskInput = null
}
scalar DateTime
type Mutation {
createTimebox(input: CreateTimeboxInput!): TimeboxType!
updateTimebox(input: UpdateTimeboxInput!): TimeboxType!
deleteTimebox(id: String!): Boolean!
createTask(input: CreateTaskInput!): TaskType!
updateTask(input: UpdateTaskInput!): TaskType!
deleteTask(id: String!): Boolean!
}
type Query {
tasks(keyword: String = null): [TaskType!]!
timeboxes(startTime: DateTime = null, endTime: DateTime = null): [TimeboxType!]!
ping: String!
}
type Task {
title: String
description: String
startTime: DateTime
endTime: DateTime
deadline: DateTime
status: TaskStatus
id: String!
createdAt: DateTime!
updatedAt: DateTime!
createdById: String
updatedById: String
clientId: String
timeboxes: TimeboxConnection!
timeslots: TimeslotConnection!
}
enum TaskStatus {
BACKLOG
TODO
IN_PROGRESS
DONE
CANCELLED
}
type TaskType {
title: String
description: String
startTime: DateTime
endTime: DateTime
deadline: DateTime
status: TaskStatus
id: String!
createdAt: DateTime!
updatedAt: DateTime!
createdById: String
updatedById: String
timeboxes: TimeboxConnection!
timeslots: TimeslotConnection!
}
type Timebox {
taskId: String
title: String
description: String
startTime: DateTime
endTime: DateTime
id: String!
createdAt: DateTime!
updatedAt: DateTime!
createdById: String
updatedById: String
clientId: String
task: Task
timeslots: TimeslotConnection!
}
type TimeboxConnection {
edges: [TimeboxEdge!]!
}
type TimeboxEdge {
node: Timebox!
}
type TimeboxType {
taskId: String
title: String
description: String
startTime: DateTime
endTime: DateTime
id: String!
createdAt: DateTime!
updatedAt: DateTime!
createdById: String
updatedById: String
task: Task
timeslots: TimeslotConnection!
}
type Timeslot {
taskId: String
timeboxId: String
title: String
description: String
startTime: DateTime!
endTime: DateTime
id: String!
createdAt: DateTime!
updatedAt: DateTime!
createdById: String
updatedById: String
clientId: String
task: Task
timebox: Timebox
}
type TimeslotConnection {
edges: [TimeslotEdge!]!
}
type TimeslotEdge {
node: Timeslot!
}
input UpdateTaskInput {
id: String = null
clientId: String = null
title: String = null
description: String = null
startTime: DateTime = null
endTime: DateTime = null
deadline: DateTime = null
status: TaskStatus = null
dirtyFields: [String!] = null
}
input UpdateTimeboxInput {
id: String = null
clientId: String = null
title: String = null
description: String = null
startTime: DateTime = null
endTime: DateTime = null
task: UpdateTimeboxTaskInput = null
dirtyFields: [String!] = null
}
input UpdateTimeboxTaskInput {
id: String = null
clientId: String = null
title: String = null
description: String = null
}