This repository was archived by the owner on Jul 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathschema.graphql
79 lines (69 loc) · 1.41 KB
/
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
type Query {
getUser(id: ID!): User @aws_api_key @aws_oidc
getLatestFollowerEvents(userId: ID!): [FollowerEvent!] @aws_api_key @aws_oidc
ping: String! @aws_api_key
}
type Mutation {
registerUser(id: ID!): User @aws_api_key @aws_oidc
updateUser(id: ID!, input: UpdateUserInput!): User @aws_api_key @aws_oidc
deleteUser(id: ID!): ID @aws_api_key
}
type User @aws_api_key @aws_oidc {
id: ID!
handle: String!
name: String!
location: String
bio: String
profileImageUrl: AWSURL!
slack: SlackConfig!
ignoreFollowers: [String!]
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
lastLogin: AWSDateTime!
}
type SlackConfig @aws_api_key @aws_oidc {
enabled: Boolean!
webhookUrl: AWSURL
channel: String
}
input UpdateUserInput {
slack: SlackInput
ignoreFollowers: [String!]
}
input SlackInput {
enabled: Boolean!
webhookUrl: AWSURL
channel: String
}
type Follower @aws_api_key @aws_oidc {
id: ID!
handle: String
name: String
location: String
bio: String
profileImageUrl: AWSURL
protected: Boolean!
totalFollowers: Int!
}
type FollowerEvent @aws_api_key @aws_oidc {
id: ID!
totalFollowers: Int!
follower: Follower!
followerState: FollowerState!
followerStateReason: FollowerStateReason!
createdAt: AWSDateTime!
}
enum FollowerState {
NEW
LOST
}
enum FollowerStateReason {
FOLLOWED
UNFOLLOWED
DELETED
SUSPENDED
}
schema {
query: Query
mutation: Mutation
}