-
Notifications
You must be signed in to change notification settings - Fork 29
/
types.ts
317 lines (277 loc) · 6.61 KB
/
types.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
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
import { User } from './classes/user'
export type Users = { [key: string]: User }
export type AuthUser = {
id: string
email: string
roles: Array<string> // Used to authorize user
review_sets: Array<string> // Sets used for reviewer
interview_sets: Array<string> // Sets used for interviewer
verificationEmailEpoch: number
}
export type AcademicRecordType = {
[key: number]: {
degreeLevel: 'Bachelor' | 'Master' | 'Doctoral' | ''
degreeName: string
faculty: string
otherFaculty: string
department: string
university: string
currentlyEnrolled: boolean | null
startedYear: number
completionYear: number
gradeCriteria: 'CGPA' | 'Percentage' | null
grades: number
document: string
}
}
export type ResearchExperiencesType = {
[key: number]: {
university: string
title: string
mentor: string
currentlyWorking: boolean | null
startDate: string
endDate: string
description: string
publications: PublicationsType
newPublicationKey: number
}
}
export type PublicationsType = {
[key: number]: {
titleAndDate: string
conferenceName: string
link: string
}
}
export type WorkExperiencesType = {
[key: number]: {
organization: string
title: string
currentlyWorking: boolean | null
startDate: string
endDate: string
description: string
document: string
}
}
export type PosterOrWorkshopsType = {
[key: number]: {
category: 'Poster' | 'Workshop' | 'Summer School' | 'Other' | ''
otherCategory: string
title: string
duration: string
description: string
document: string
}
}
export type CurricularActivitiesType = {
description: string
document: string
others: string
others_document: string
}
export type ExtraCurricularsType = {
[key: number]: {
description: string
document: string
}
}
export type AnswerType = {
[key: string]: string
}
export type AwardeeType = {
field: string
name: string
}
export type AwardeeSessionType = {
awardees: Array<AwardeeType>
index: number
session: string
}
export type AwardeesType = { [id: string]: AwardeeSessionType }
export type LeaderType = {
imageUrl: string
name: string
place: string
scholar: string
term: string
}
export type LeaderCategoryType = {
category: string
index: number
members: Array<LeaderType>
}
export type LeadersType = { [id: string]: LeaderCategoryType }
export type MemberType = {
imageUrl: string
name: string
place: string
position: string
scholar: string
university: string
}
export type MemberCategoryType = {
category: string
index: number
members: Array<MemberType>
}
export type MembersType = { [id: string]: MemberCategoryType }
export type MonthStoryType = {
index: number
issue: string
link: string
name: string
title: string
}
export type MonthStoriesType = { [id: string]: MonthStoryType }
export type NewsletterType = {
index: number
link: string
title: string
}
export type NewslettersType = { [id: string]: NewsletterType }
export type ResourceType = {
link: string
text: string
title: string
}
export type ResourceCategoryType = {
category: string
index: number
resources: Array<ResourceType>
}
export type ResourcesType = { [id: string]: ResourceCategoryType }
export type ScholarType = {
imageUrl: string
name: string
words: string
}
export type ScholarsType = { [id: string]: ScholarType }
export type SuccScholarType = {
field: string
name: string
}
export type SuccScholarSessionType = {
index: number
scholars: Array<SuccScholarType>
session: string
}
export type SuccessfulScholarsType = { [id: string]: SuccScholarSessionType }
export type TestimonialType = {
imageUrl: string
name: string
position: string
words: string
}
export type TestimonialsType = { [id: string]: TestimonialType }
export type ApplicationDatesType = {
session?: string
openingDate?: string
closingDate?: string
shortlistAnnouncement?: string
interviewDates?: string
awardeesAnnouncement?: string
orientationDate?: string
mentorAllotmentDate?: string
}
export type ReviewMarksType = {
// key will be reviewer Id
[key: string]: {
formStatus: number // Form Status for specific reviewer
academicGrades: {
// key will be academic record id
[key: number]: {
isGradeCorrect: boolean | null
correctGrades: number
}
}
totalAcademicMarks: number
curricularMarks: number
extracurricularMarks: number
sopMarks: {
// key will be SOP id
[key: string]: number
}
totalSOPMarks: number
remark: string
totalMarks: number
}
}
export type ReviewerInstructionsType = {
ACADEMIC_MAX_MARKS?: number
CURRICULAR_MAX_MARKS?: number
EXTRACURRICULAR_MAX_MARKS?: number
SOP_MAX_MARKS?: number
RUBRIC_URL?: string
STEP1_INSTRUCTION?: string
STEP1_INSTRUCTION1?: string
STEP2_INSTRUCTION?: string
STEP2_INSTRUCTION1?: string
STEP2_INSTRUCTION2?: string
STEP3_INSTRUCTION?: string
STEP3_INSTRUCTION1?: string
STEP3_INSTRUCTION2?: string
STEP3_INSTRUCTION3?: string
STEP3_INSTRUCTION4?: string
STEP4_INSTRUCTION?: string
STEP4_INSTRUCTION1?: string
STEP4_INSTRUCTION2?: string
STEP4_INSTRUCTION3?: string
STEP5_INSTRUCTION?: string
STEP5_INSTRUCTION1?: string
STEP5_INSTRUCTION2?: string
STEP5_INSTRUCTION3?: string
STEP5_INSTRUCTION4?: string
STEP5_INSTRUCTION5?: string
STEP5_INSTRUCTION6?: string
STEP5_INSTRUCTION7?: string
STEP6_INSTRUCTION?: string
}
export type InterviewMarksType = {
// key will be interviewer Id
[key: string]: {
formStatus: number // Form Status for specific interviewer
higherStudiesMotivation: number
communication: number
researchAptitude: number
motivationToGoBack: number
totalMarks: number
remark: string
}
}
export type InterviewerInstructionsType = {
HIGHER_STUDIES_MOTIVATION?: number
COMMUNICATION?: number
RESEARCH_APTITUDE?: number
MOTIVATION_TO_GO_BACK?: number
STEP1_INSTRUCTION?: string
STEP2_INSTRUCTION?: string
STEP3_INSTRUCTION?: string
STEP4_INSTRUCTION?: string
STEP5_INSTRUCTION?: string
STEP5_INSTRUCTION1?: string
STEP5_INSTRUCTION2?: string
STEP5_INSTRUCTION3?: string
STEP5_INSTRUCTION4?: string
STEP5_INSTRUCTION5?: string
STEP5_INSTRUCTION6?: string
STEP6_INSTRUCTION?: string
INTERVIEW_RUBRIC_URL?: string
}
export type ReviewerInviteType = {
name: string
email: string
sets: Array<string>
reminder: number
response: 'YES' | 'NO'
account_created: boolean
}
export type InterviewerInviteType = {
name: string
email: string
sets: Array<string>
reminder: number
response: 'YES' | 'NO'
account_created: boolean
}