@@ -38,6 +38,23 @@ type Capacity {
3838 updated : Int !
3939}
4040
41+ type CapacityReminder {
42+ id : ID !
43+ fcmToken : String !
44+ gyms : [CapacityReminderGym ]!
45+ capacityThreshold : Int !
46+ daysOfWeek : [DayOfWeekEnum ]!
47+ isActive : Boolean
48+ }
49+
50+ enum CapacityReminderGym {
51+ TEAGLEUP
52+ TEAGLEDOWN
53+ HELENNEWMAN
54+ TONIMORRISON
55+ NOYES
56+ }
57+
4158type Class {
4259 id : ID !
4360 name : String !
@@ -71,6 +88,16 @@ type CreateReport {
7188
7289scalar DateTime
7390
91+ enum DayOfWeekEnum {
92+ MONDAY
93+ TUESDAY
94+ WEDNESDAY
95+ THURSDAY
96+ FRIDAY
97+ SATURDAY
98+ SUNDAY
99+ }
100+
74101enum DayOfWeekGraphQLEnum {
75102 MONDAY
76103 TUESDAY
@@ -109,6 +136,21 @@ enum FacilityType {
109136 COURT
110137}
111138
139+ type Friendship {
140+ id : ID !
141+ userId : Int !
142+ friendId : Int !
143+ createdAt : DateTime
144+ isAccepted : Boolean
145+ acceptedAt : DateTime
146+ user : User
147+ friend : User
148+ }
149+
150+ type GetPendingFriendRequests {
151+ pendingRequests : [Friendship ]
152+ }
153+
112154type Giveaway {
113155 id : ID !
114156 name : String !
@@ -184,6 +226,13 @@ type Mutation {
184226 refreshAccessToken : RefreshAccessToken
185227 createReport (createdAt : DateTime ! , description : String ! , gymId : Int ! , issue : String ! ): CreateReport
186228 deleteUser (userId : Int ! ): User
229+ createCapacityReminder (capacityPercent : Int ! , daysOfWeek : [String ]! , fcmToken : String ! , gyms : [String ]! ): CapacityReminder
230+ editCapacityReminder (capacityPercent : Int ! , daysOfWeek : [String ]! , gyms : [String ]! , reminderId : Int ! ): CapacityReminder
231+ deleteCapacityReminder (reminderId : Int ! ): CapacityReminder
232+ addFriend (friendId : Int ! , userId : Int ! ): Friendship
233+ acceptFriendRequest (friendshipId : Int ! ): Friendship
234+ removeFriend (friendId : Int ! , userId : Int ! ): RemoveFriend
235+ getPendingFriendRequests (userId : Int ! ): GetPendingFriendRequests
187236}
188237
189238type OpenHours {
@@ -215,6 +264,7 @@ enum PriceType {
215264type Query {
216265 getAllGyms : [Gym ]
217266 getUserByNetId (netId : String ): [User ]
267+ getUsersFriends (id : Int ): [User ]
218268 getUsersByGiveawayId (id : Int ): [User ]
219269 getWeeklyWorkoutDays (id : Int ): [String ]
220270 getWorkoutsById (id : Int ): [Workout ]
@@ -223,12 +273,17 @@ type Query {
223273 getWorkoutGoals (id : Int ! ): [String ]
224274 getUserStreak (id : Int ! ): JSONString
225275 getHourlyAverageCapacitiesByFacilityId (facilityId : Int ): [HourlyAverageCapacity ]
276+ getUserFriends (userId : Int ! ): [User ]
226277}
227278
228279type RefreshAccessToken {
229280 newAccessToken : String
230281}
231282
283+ type RemoveFriend {
284+ success : Boolean
285+ }
286+
232287type Report {
233288 id : ID !
234289 createdAt : DateTime !
@@ -256,6 +311,10 @@ type User {
256311 workoutGoal : [DayOfWeekGraphQLEnum ]
257312 encodedImage : String
258313 giveaways : [Giveaway ]
314+ friendRequestsSent : [Friendship ]
315+ friendRequestsReceived : [Friendship ]
316+ friendships : [Friendship ]
317+ friends : [User ]
259318}
260319
261320type Workout {
0 commit comments