-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathschema.gql
114 lines (104 loc) · 3.26 KB
/
schema.gql
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
type User @collection(name: "users") {
redditId: String @unique(index: "unique_reddit_id")
redditName: String @unique(index: "unique_reddit_name")
redditIcon: String
redditDarkmode: Boolean
discordId: String @unique(index: "unique_discord_id")
discordName: String
discordDiscriminator: String
discordFullName: String
discordIcon: String
nintendoName: String
animalCrossingTag: String
isActive: Boolean!
hasHadFirstSync: Boolean
createdAt: Time!
updatedAt: Time!
deletedAt: Time
}
type FishCollection @collection(name: "fishCollection") {
userId: ID!
user: User! @relation
name: String!
createdAt: Time!
}
type BugCollection @collection(name: "bugCollection") {
userId: ID!
user: User! @relation
name: String!
createdAt: Time!
}
type FossilCollection @collection(name: "fossilCollection") {
userId: ID!
user: User! @relation
name: String!
createdAt: Time!
}
type RecipeCollection @collection(name: "recipeCollection") {
userId: ID!
user: User! @relation
name: String!
createdAt: Time!
}
type ArtCollection @collection(name: "artCollection") {
userId: ID!
user: User! @relation
name: String!
createdAt: Time!
}
type DeepSeaCollection @collection(name: "deepseaCollection") {
userId: ID!
user: User! @relation
name: String!
createdAt: Time!
}
type CustomDesign @collection(name: "customDesigns") {
userId: ID!
user: User! @relation
type: String!
s3Url: String!
code: String! @unique(index: "unique_code")
title: String!
tags: [String!]
likes: Int!
createdAt: Time!
redacted: Boolean!
redactedReason: String
}
type SavedCustomDesign @collection(name: "savedCustomDesigns") {
userId: ID!
customDesignId: ID!
user: User! @relation
customDesign: CustomDesign! @relation
}
type SavedUser @collection(name: "savedUsers") {
userId: ID!
user: User! @relation
savedId: ID!
saved: User! @relation
}
type Query {
getUsers: [User!]!
getUserByRedditName(redditName: String): User
getUserByDiscordName(discordName: String): User
getUserByDiscordId(discordId: String): User
getUserByDiscordFullName(discordFullName: String): User
getFishCollectionByUser(userId: ID): [FishCollection!]!
getFishCollectionByUserAndName(userId: ID, name: String): FishCollection!
getBugCollectionByUser(userId: ID): [BugCollection!]!
getBugCollectionByUserAndName(userId: ID, name: String): BugCollection!
getFossilCollectionByUser(userId: ID): [FossilCollection!]!
getFossilCollectionByUserAndName(userId: ID, name: String): FossilCollection!
getRecipeCollectionByUser(userId: ID): [RecipeCollection!]!
getRecipeCollectionByUserAndName(userId: ID, name: String): RecipeCollection!
getArtCollectionByUser(userId: ID): [ArtCollection!]!
getArtCollectionByUserAndName(userId: ID, name: String): ArtCollection!
getDeepSeaCollectionByUser(userId: ID): [DeepSeaCollection!]!
getDeepSeaCollectionByUserAndName(userId: ID, name: String): DeepSeaCollection!
getCustomDesigns: [CustomDesign!]!
getCustomDesignsByRedacted(redacted: Boolean): [CustomDesign!]!
getCustomDesignsByType(type: String, redacted: Boolean): [CustomDesign!]!
getCustomDesignsByUser(userId: ID, redacted: Boolean): [CustomDesign!]!
getSavedCustomDesignsByUser(userId: ID): [SavedCustomDesign!]!
getSavedUsersByUser(userId: ID): [SavedUser!]!
}