1
+ import React from "react" ;
1
2
import * as ApiTypes from "./IsaacApiTypes" ;
2
- import {
3
- Content ,
4
- GameboardDTO ,
5
- GameboardItemState ,
6
- GroupMembershipDTO ,
7
- UserGroupDTO ,
8
- UserSummaryDTO ,
9
- UserSummaryWithEmailAddressDTO
10
- } from "./IsaacApiTypes" ;
11
3
import { ACTION_TYPE , DOCUMENT_TYPE , EXAM_BOARD , MEMBERSHIP_STATUS , TAG_ID } from "./app/services/constants" ;
12
- import React from "react" ;
13
-
14
4
15
5
export type Action =
16
6
| { type : ACTION_TYPE . TEST_ACTION }
@@ -212,9 +202,30 @@ export type Action =
212
202
| { type : ACTION_TYPE . GROUPS_MANAGER_ADD_RESPONSE_SUCCESS ; group : ApiTypes . UserGroupDTO ; managerEmail : string ; newGroup : ApiTypes . UserGroupDTO }
213
203
| { type : ACTION_TYPE . GROUPS_MANAGER_ADD_RESPONSE_FAILURE ; group : ApiTypes . UserGroupDTO ; managerEmail : string }
214
204
215
- | { type : ACTION_TYPE . GROUPS_MANAGER_DELETE_REQUEST ; group : ApiTypes . UserGroupDTO ; manager : UserSummaryWithEmailAddressDTO }
216
- | { type : ACTION_TYPE . GROUPS_MANAGER_DELETE_RESPONSE_SUCCESS ; group : ApiTypes . UserGroupDTO ; manager : UserSummaryWithEmailAddressDTO }
217
- | { type : ACTION_TYPE . GROUPS_MANAGER_DELETE_RESPONSE_FAILURE ; group : ApiTypes . UserGroupDTO ; manager : UserSummaryWithEmailAddressDTO }
205
+ | { type : ACTION_TYPE . GROUPS_MANAGER_DELETE_REQUEST ; group : ApiTypes . UserGroupDTO ; manager : ApiTypes . UserSummaryWithEmailAddressDTO }
206
+ | { type : ACTION_TYPE . GROUPS_MANAGER_DELETE_RESPONSE_SUCCESS ; group : ApiTypes . UserGroupDTO ; manager : ApiTypes . UserSummaryWithEmailAddressDTO }
207
+ | { type : ACTION_TYPE . GROUPS_MANAGER_DELETE_RESPONSE_FAILURE ; group : ApiTypes . UserGroupDTO ; manager : ApiTypes . UserSummaryWithEmailAddressDTO }
208
+
209
+ | { type : ACTION_TYPE . EVENTS_REQUEST }
210
+ | { type : ACTION_TYPE . EVENTS_RESPONSE_SUCCESS ; augmentedEvents : ApiTypes . IsaacEventPageDTO [ ] ; total : number }
211
+ | { type : ACTION_TYPE . EVENTS_RESPONSE_FAILURE }
212
+ | { type : ACTION_TYPE . EVENTS_CLEAR }
213
+
214
+ | { type : ACTION_TYPE . EVENT_REQUEST }
215
+ | { type : ACTION_TYPE . EVENT_RESPONSE_SUCCESS ; augmentedEvent : AugmentedEvent }
216
+ | { type : ACTION_TYPE . EVENT_RESPONSE_FAILURE }
217
+
218
+ | { type : ACTION_TYPE . EVENT_BOOKING_REQUEST }
219
+ | { type : ACTION_TYPE . EVENT_BOOKING_RESPONSE_SUCCESS }
220
+ | { type : ACTION_TYPE . EVENT_BOOKING_RESPONSE_FAILURE }
221
+
222
+ | { type : ACTION_TYPE . EVENT_WAITING_LIST_REQUEST }
223
+ | { type : ACTION_TYPE . EVENT_WAITING_LIST_RESPONSE_SUCCESS }
224
+ | { type : ACTION_TYPE . EVENT_WAITING_LIST_RESPONSE_FAILURE }
225
+
226
+ | { type : ACTION_TYPE . EVENT_CANCELLATION_REQUEST }
227
+ | { type : ACTION_TYPE . EVENT_CANCELLATION_RESPONSE_SUCCESS }
228
+ | { type : ACTION_TYPE . EVENT_CANCELLATION_RESPONSE_FAILURE }
218
229
219
230
| { type : ACTION_TYPE . BOARDS_REQUEST ; accumulate : boolean }
220
231
| { type : ACTION_TYPE . BOARDS_RESPONSE_SUCCESS ; boards : ApiTypes . GameboardListDTO ; accumulate : boolean }
@@ -254,7 +265,7 @@ export interface AppGroup extends ApiTypes.UserGroupDTO {
254
265
}
255
266
256
267
export interface AppGroupMembership extends ApiTypes . UserSummaryWithGroupMembershipDTO {
257
- groupMembershipInformation : GroupMembershipDTO ;
268
+ groupMembershipInformation : ApiTypes . GroupMembershipDTO ;
258
269
}
259
270
260
271
export interface ShortcutResponses {
@@ -277,10 +288,15 @@ export interface UserExamPreferences {
277
288
[ EXAM_BOARD . OCR ] ?: boolean ;
278
289
}
279
290
291
+ export interface SubjectInterests {
292
+ CS_ALEVEL ?: boolean ;
293
+ }
294
+
280
295
export interface UserPreferencesDTO {
281
296
BETA_FEATURE ?: string ;
282
297
EMAIL_PREFERENCE ?: UserEmailPreferences ;
283
298
EXAM_BOARD ?: UserExamPreferences ;
299
+ SUBJECT_INTEREST ?: SubjectInterests ;
284
300
}
285
301
286
302
export interface ValidatedChoice < C extends ApiTypes . ChoiceDTO > {
@@ -346,12 +362,12 @@ export enum BoardOrder {
346
362
347
363
export type ActualBoardLimit = number | "ALL" ;
348
364
349
- export type AppGameBoard = GameboardDTO & { assignedGroups ?: UserGroupDTO [ ] } ;
365
+ export type AppGameBoard = ApiTypes . GameboardDTO & { assignedGroups ?: ApiTypes . UserGroupDTO [ ] } ;
350
366
351
367
// Admin Content Errors:
352
368
export interface ContentErrorItem {
353
369
listOfErrors : string [ ] ;
354
- partialContent : Content ;
370
+ partialContent : ApiTypes . Content ;
355
371
successfulIngest : boolean ;
356
372
}
357
373
@@ -377,17 +393,37 @@ export interface FigureNumbersById {[figureId: string]: number}
377
393
export const FigureNumberingContext = React . createContext < FigureNumbersById > ( { } ) ;
378
394
379
395
export interface AppAssignmentProgress {
380
- user : UserSummaryDTO ;
396
+ user : ApiTypes . UserSummaryDTO ;
381
397
correctPartResults : number [ ] ;
382
398
incorrectPartResults : number [ ] ;
383
- results : GameboardItemState [ ] ;
399
+ results : ApiTypes . GameboardItemState [ ] ;
384
400
385
401
tickCount : number ;
386
402
correctQuestionPartsCount : number ;
387
403
incorrectQuestionPartsCount : number ;
388
404
notAttemptedPartResults : number [ ] ;
389
405
}
390
406
407
+ export interface AugmentedEvent extends ApiTypes . IsaacEventPageDTO {
408
+ multiDay ?: boolean ;
409
+ expired ?: boolean ;
410
+ withinBookingDeadline ?: boolean ;
411
+ inProgress ?: boolean ;
412
+ teacher ?: boolean ;
413
+ student ?: boolean ;
414
+ virtual ?: boolean ;
415
+ field ?: "physics" | "maths" ;
416
+ }
417
+
418
+ export interface AdditionalInformation {
419
+ jobTitle ?: string ;
420
+ yearGroup ?: string ;
421
+ medicalRequirements ?: string ;
422
+ accessibilityRequirements ?: string ;
423
+ emergencyName ?: string ;
424
+ emergencyNumber ?: string ;
425
+ }
426
+
391
427
export interface ZxcvbnResult {
392
428
calc_time : number ;
393
429
crack_times_display : { [ key : string ] : string } ;
0 commit comments