-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathqueries.ts
132 lines (130 loc) · 3.56 KB
/
queries.ts
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
export const mutations = {
login: `
mutation login($email: String!, $password: String!) {
login(email: $email, password: $password) {
firstName
}
}
`,
loginWithGoogle: `mutation loginWithGoogle($idToken: String!) {
loginWithGoogle(idToken: $idToken) {
accessToken
refreshToken
}
}`,
refresh: `
mutation refresh($refreshToken: String!) {
refresh(refreshToken: $refreshToken)
}
`,
changeRating: `
mutation changeRating($id: Int!, $ratingToBeChanged: String!, $newValue: Int!) {
changeRating(id: $id, ratingToBeChanged: $ratingToBeChanged, newValue: $newValue) {
id
}
}
`
,
modifyFinalComments: `
mutation modifyFinalComments($id: Int!, $newComments: String!, $newSkillCategory: String!, $newRecommendedSecondChoice: String!) {
modifyFinalComments(id: $id, newComments: $newComments, newSkillCategory: $newSkillCategory, newRecommendedSecondChoice: $newRecommendedSecondChoice) {
id
}
}
`,
};
// TODO: add functionaltiy to getRole in case accessToken expired and needs to be refreshed.
// This can be done with adding backend middleware and passing refresh token into getRole
export const queries = {
isAuthorizedByRole: `
query isAuthorizedByRole($accessToken: String!, $roles: [Role!]!) {
isAuthorizedByRole(accessToken: $accessToken, roles: $roles)
}
`,
isAuthorizedToReview: `
query isAuthorizedToReview($applicationId: Int!, $reviewerUserId: String!) {
isAuthorizedToReview(applicationId: $applicationId, reviewerUserId: $reviewerUserId)
}
`,
applicationsById: `
query applicationsById($id: Int!) {
applicationsById(id: $id) {
id
academicOrCoop
academicYear
email
firstChoiceRole
firstName
heardFrom
lastName
locationPreference
program
pronouns
pronounsSpecified
resumeUrl
roleSpecificQuestions
secondChoiceRole
shortAnswerQuestions
status
term
timesApplied
}
}
`,
};
export const applicationTableQueries = {
applicationsByRole: `
query applicationTable($role: String!) {
applicationTable(role: $role) {
application {
id
firstName
lastName
academicYear
resumeUrl
program
status
secondChoiceRole
secondChoiceStatus
}
reviewers {
firstName
lastName
}
reviewDashboards {
passionFSG
teamPlayer
desireToLearn
skillCategory
}
}
}
`,
applicationsBySecondChoiceRole: `
query secondChoiceRoleApplicationTable($role: String!) {
secondChoiceRoleApplicationTable(role: $role) {
application {
id
firstName
lastName
academicYear
resumeUrl
program
status
secondChoiceRole
secondChoiceStatus
}
reviewers {
firstName
lastName
}
reviewDashboards {
passionFSG
teamPlayer
desireToLearn
skillCategory
}
}
}
`,
};