@quesmed/types 2.1.25 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cjs/models/Blog.d.ts +5 -0
  2. package/dist/cjs/models/Book.d.ts +7 -0
  3. package/dist/cjs/models/Difficulty.d.ts +4 -0
  4. package/dist/cjs/models/Marksheet.d.ts +52 -0
  5. package/dist/cjs/models/MockTest.d.ts +6 -0
  6. package/dist/cjs/models/OsceMarksheet.d.ts +1 -0
  7. package/dist/cjs/models/OsceStation.d.ts +8 -0
  8. package/dist/cjs/models/Picture.d.ts +43 -0
  9. package/dist/cjs/models/Question.d.ts +29 -0
  10. package/dist/cjs/models/Referrals.d.ts +11 -0
  11. package/dist/cjs/models/Referrals.js +2 -0
  12. package/dist/cjs/models/Todo.d.ts +8 -0
  13. package/dist/cjs/models/University.d.ts +26 -0
  14. package/dist/cjs/models/User.d.ts +22 -0
  15. package/dist/cjs/models/Video.d.ts +18 -0
  16. package/dist/cjs/models/index.d.ts +1 -0
  17. package/dist/cjs/models/index.js +1 -0
  18. package/dist/cjs/resolvers/mutation/restricted/marksheet.d.ts +86 -3
  19. package/dist/cjs/resolvers/mutation/restricted/marksheet.js +134 -3
  20. package/dist/cjs/resolvers/query/restricted/marksheet.d.ts +24 -9
  21. package/dist/cjs/resolvers/query/restricted/marksheet.js +44 -25
  22. package/dist/cjs/resolvers/subscription/index.d.ts +1 -0
  23. package/dist/cjs/resolvers/subscription/index.js +1 -0
  24. package/dist/cjs/resolvers/subscription/marksheet.d.ts +65 -0
  25. package/dist/cjs/resolvers/subscription/marksheet.js +58 -0
  26. package/dist/mjs/models/Blog.d.ts +5 -0
  27. package/dist/mjs/models/Book.d.ts +7 -0
  28. package/dist/mjs/models/Difficulty.d.ts +4 -0
  29. package/dist/mjs/models/Marksheet.d.ts +52 -0
  30. package/dist/mjs/models/MockTest.d.ts +6 -0
  31. package/dist/mjs/models/OsceMarksheet.d.ts +1 -0
  32. package/dist/mjs/models/OsceStation.d.ts +8 -0
  33. package/dist/mjs/models/Picture.d.ts +43 -0
  34. package/dist/mjs/models/Question.d.ts +29 -0
  35. package/dist/mjs/models/Referrals.d.ts +11 -0
  36. package/dist/mjs/models/Referrals.js +1 -0
  37. package/dist/mjs/models/Todo.d.ts +8 -0
  38. package/dist/mjs/models/University.d.ts +26 -0
  39. package/dist/mjs/models/User.d.ts +22 -0
  40. package/dist/mjs/models/Video.d.ts +18 -0
  41. package/dist/mjs/models/index.d.ts +1 -0
  42. package/dist/mjs/models/index.js +1 -0
  43. package/dist/mjs/resolvers/mutation/restricted/marksheet.d.ts +86 -3
  44. package/dist/mjs/resolvers/mutation/restricted/marksheet.js +133 -2
  45. package/dist/mjs/resolvers/query/restricted/marksheet.d.ts +24 -9
  46. package/dist/mjs/resolvers/query/restricted/marksheet.js +43 -24
  47. package/dist/mjs/resolvers/subscription/index.d.ts +1 -0
  48. package/dist/mjs/resolvers/subscription/index.js +1 -0
  49. package/dist/mjs/resolvers/subscription/marksheet.d.ts +65 -0
  50. package/dist/mjs/resolvers/subscription/marksheet.js +55 -0
  51. package/package.json +1 -1
@@ -6,15 +6,6 @@ export interface IMarksheetVar {
6
6
  }
7
7
  export declare type IMarksheetData = RestrictedData<graphqlNormalize & IMarksheet, 'marksheet'>;
8
8
  export declare const MARKSHEET: import("@apollo/client").DocumentNode;
9
- export interface IPreBuildMarksheetVar {
10
- topicIds: number[];
11
- conceptIds: number[];
12
- search: string;
13
- source: string;
14
- difficulty?: EDifficultyType[];
15
- }
16
- export declare type IPreBuildMarksheetData = RestrictedData<graphqlNormalize & IPreBuildMarksheet, 'preBuildMarksheet'>;
17
- export declare const PRE_BUILD_MARKSHEET: import("@apollo/client").DocumentNode;
18
9
  export interface IMarksheetsVar {
19
10
  filter: {
20
11
  limit: number;
@@ -51,3 +42,27 @@ export interface IMarksheetFeedback {
51
42
  }
52
43
  export declare type IMarksheetFeedbackData = RestrictedData<graphqlNormalize & IMarksheetFeedback, 'marksheetFeedback'>;
53
44
  export declare const MARKSHEET_FEEDBACK: import("@apollo/client").DocumentNode;
45
+ /**
46
+ * heartbeatQbank
47
+ */
48
+ export interface IQbankHeartbeatVar {
49
+ agoraId: string;
50
+ }
51
+ export declare type IQBankHeartBeatData = RestrictedData<boolean, 'heartbeatQbank'>;
52
+ export declare const HEARTBEAT_QBANK: import("@apollo/client").DocumentNode;
53
+ /**
54
+ * preBuildMarksheet
55
+ */
56
+ export interface IPreBuildMarksheetVarInput {
57
+ topicIds: number[];
58
+ conceptIds: number[];
59
+ search: string;
60
+ marksheetId?: Id;
61
+ source: string;
62
+ difficulty?: EDifficultyType[];
63
+ }
64
+ export interface IPreBuildMarksheetVar {
65
+ preBuildMarksheet: IPreBuildMarksheetVarInput;
66
+ }
67
+ export declare type IPreBuildMarksheetData = RestrictedData<graphqlNormalize & IPreBuildMarksheet, 'preBuildMarksheet'>;
68
+ export declare const PRE_BUILD_MARKSHEET: import("@apollo/client").DocumentNode;
@@ -1,12 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MARKSHEET_FEEDBACK = exports.FLAGGED_QUESTIONS = exports.LATEST_PAST_MARKSHEET_ID = exports.MARKSHEETS = exports.PRE_BUILD_MARKSHEET = exports.MARKSHEET = void 0;
3
+ exports.PRE_BUILD_MARKSHEET = exports.HEARTBEAT_QBANK = exports.MARKSHEET_FEEDBACK = exports.FLAGGED_QUESTIONS = exports.LATEST_PAST_MARKSHEET_ID = exports.MARKSHEETS = exports.MARKSHEET = void 0;
4
4
  const client_1 = require("@apollo/client");
5
5
  exports.MARKSHEET = (0, client_1.gql) `
6
6
  query Marksheet($id: Int!) {
7
7
  restricted {
8
8
  marksheet(id: $id) {
9
9
  id
10
+ topicConceptData
11
+ currentMarkId
12
+ state
13
+ users {
14
+ user {
15
+ id
16
+ displayName
17
+ }
18
+ }
19
+ builderConfig {
20
+ difficulty
21
+ isTest
22
+ numberOfQuestions
23
+ secondsPerQuestion
24
+ unseen
25
+ seenCorrect
26
+ seenIncorrect
27
+ }
28
+ preBuildData {
29
+ buildRef
30
+ seenCorrect
31
+ seenIncorrect
32
+ unseen
33
+ }
10
34
  createdAt
11
35
  startedAt
12
36
  endedAt
@@ -525,30 +549,6 @@ exports.MARKSHEET = (0, client_1.gql) `
525
549
  }
526
550
  }
527
551
  `;
528
- exports.PRE_BUILD_MARKSHEET = (0, client_1.gql) `
529
- query PreBuildMarksheet(
530
- $topicIds: [Int!]
531
- $conceptIds: [Int!]
532
- $search: String
533
- $source: String!
534
- $difficulty: [Int!]
535
- ) {
536
- restricted {
537
- preBuildMarksheet(
538
- difficulty: $difficulty
539
- topicIds: $topicIds
540
- conceptIds: $conceptIds
541
- search: $search
542
- source: $source
543
- ) {
544
- unseen
545
- seenCorrect
546
- seenIncorrect
547
- buildRef
548
- }
549
- }
550
- }
551
- `;
552
552
  exports.MARKSHEETS = (0, client_1.gql) `
553
553
  query Marksheets($filter: MarksheetFilterInput!) {
554
554
  restricted {
@@ -1216,3 +1216,22 @@ exports.MARKSHEET_FEEDBACK = (0, client_1.gql) `
1216
1216
  }
1217
1217
  }
1218
1218
  `;
1219
+ exports.HEARTBEAT_QBANK = (0, client_1.gql) `
1220
+ query HeartbeatQbank($agoraId: String!) {
1221
+ restricted {
1222
+ heartbeatQbank(agoraId: $agoraId)
1223
+ }
1224
+ }
1225
+ `;
1226
+ exports.PRE_BUILD_MARKSHEET = (0, client_1.gql) `
1227
+ query PreBuildMarksheet($preBuildMarksheet: PreBuildMarksheetInput) {
1228
+ restricted {
1229
+ preBuildMarksheet(preBuildMarksheet: $preBuildMarksheet) {
1230
+ unseen
1231
+ seenCorrect
1232
+ seenIncorrect
1233
+ buildRef
1234
+ }
1235
+ }
1236
+ }
1237
+ `;
@@ -1,2 +1,3 @@
1
1
  export * from './osce';
2
2
  export * from './notification';
3
+ export * from './marksheet';
@@ -12,3 +12,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./osce"), exports);
14
14
  __exportStar(require("./notification"), exports);
15
+ __exportStar(require("./marksheet"), exports);
@@ -0,0 +1,65 @@
1
+ import { EMarksheetAction, EMarksheetState, Id, IMarksheetMarkJSONB, IMarksheetMember, IUser } from '../../models';
2
+ import { IBuildConfigData } from '../mutation/restricted';
3
+ import { RootData } from '../types';
4
+ export interface IMarksheetGroupMember {
5
+ user: IUser | null;
6
+ }
7
+ export interface IMarksheetGroup {
8
+ marksheetId: Id;
9
+ agoraId: string;
10
+ members: IMarksheetMember[];
11
+ users: IUser[];
12
+ }
13
+ /**
14
+ * onMarksheetActionInfoChange
15
+ */
16
+ export interface IOnMarksheetActionInfoChangeVar {
17
+ marksheetId: Id;
18
+ }
19
+ export interface IMarksheetActionInfo {
20
+ state: EMarksheetState;
21
+ marksheetId: Id;
22
+ agoraId: string;
23
+ userId: Id;
24
+ user: IUser;
25
+ startedAt: Date | null;
26
+ endedAt: Date | null;
27
+ action: EMarksheetAction;
28
+ }
29
+ export declare type IOnMarksheetActionChangeData = RootData<IMarksheetActionInfo, 'payload'>;
30
+ export declare const ON_MARKSHEET_ACTION_INFO_CHANGE_KEY = "ON_MARKSHEET_ACTION_INFO_CHANGE";
31
+ export declare const ON_MARKSHEET_ACTION_INFO_CHANGE: import("@apollo/client").DocumentNode;
32
+ /**
33
+ * onPreStartMarksheetModification
34
+ */
35
+ export interface IOnPreStartMarksheetModificationVar {
36
+ marksheetId: Id;
37
+ }
38
+ export interface IPreStartMarksheetData {
39
+ topicConceptData?: string;
40
+ action: EMarksheetAction;
41
+ builderConfig?: IBuildConfigData;
42
+ marksheetId: Id;
43
+ }
44
+ export declare type IOnPreStartMarksheetModificationData = RootData<IPreStartMarksheetData, 'payload'>;
45
+ export declare const ON_PRESTART_MARKSHEET_MODIFICATION_KEY = "ON_PRESTART_MARKSHEET_MODIFICATION";
46
+ export declare const ON_PRESTART_MARKSHEET_MODIFICATION: import("@apollo/client").DocumentNode;
47
+ /**
48
+ * OnMarksheetDataModification
49
+ */
50
+ export interface IOnMarksheetDataModificationVar {
51
+ marksheetId: Id;
52
+ }
53
+ export interface IMarksheetDataModification {
54
+ markId?: Id;
55
+ updatedAt?: Date;
56
+ marksheetId: Id;
57
+ questionChoiceId?: Id;
58
+ questionId?: Id;
59
+ timeTaken?: number;
60
+ mark?: IMarksheetMarkJSONB;
61
+ action?: EMarksheetAction;
62
+ }
63
+ export declare type IOnMarksheetDataModificationData = RootData<IMarksheetDataModification, 'payload'>;
64
+ export declare const ON_MARKSHEET_DATA_MODIFICATION_KEY = "ON_MARKSHEET_DATA_MODIFICATION";
65
+ export declare const ON_MARKSHEET_DATA_MODIFICATION: import("@apollo/client").DocumentNode;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ON_MARKSHEET_DATA_MODIFICATION = exports.ON_MARKSHEET_DATA_MODIFICATION_KEY = exports.ON_PRESTART_MARKSHEET_MODIFICATION = exports.ON_PRESTART_MARKSHEET_MODIFICATION_KEY = exports.ON_MARKSHEET_ACTION_INFO_CHANGE = exports.ON_MARKSHEET_ACTION_INFO_CHANGE_KEY = void 0;
4
+ const client_1 = require("@apollo/client");
5
+ exports.ON_MARKSHEET_ACTION_INFO_CHANGE_KEY = 'ON_MARKSHEET_ACTION_INFO_CHANGE';
6
+ exports.ON_MARKSHEET_ACTION_INFO_CHANGE = (0, client_1.gql) `
7
+ subscription OnMarksheetActionInfoChange($marksheetId: Int!) {
8
+ onMarksheetActionInfoChange(marksheetId: $marksheetId) {
9
+ marksheetId
10
+ agoraId
11
+ userId
12
+ user {
13
+ id
14
+ firstname
15
+ lastname
16
+ dispayname
17
+ }
18
+ startedAt
19
+ endedAt
20
+ state
21
+ action
22
+ }
23
+ }
24
+ `;
25
+ exports.ON_PRESTART_MARKSHEET_MODIFICATION_KEY = 'ON_PRESTART_MARKSHEET_MODIFICATION';
26
+ exports.ON_PRESTART_MARKSHEET_MODIFICATION = (0, client_1.gql) `
27
+ subscription OnPreStartMarksheetModification($marksheetId: Int!) {
28
+ onPreStartMarksheetModification(marksheetId: $marksheetId) {
29
+ marksheetId
30
+ topicConceptData
31
+ action
32
+ builderConfig {
33
+ difficulty
34
+ isTest
35
+ numberOfQuestions
36
+ secondsPerQuestion
37
+ unseen
38
+ seenCorrect
39
+ seenIncorrect
40
+ }
41
+ }
42
+ }
43
+ `;
44
+ exports.ON_MARKSHEET_DATA_MODIFICATION_KEY = 'ON_MARKSHEET_DATA_MODIFICATION';
45
+ exports.ON_MARKSHEET_DATA_MODIFICATION = (0, client_1.gql) `
46
+ subscription OnMarksheetDataModification($marksheetId: Int!) {
47
+ onMarksheetDataModification(marksheetId: $marksheetId) {
48
+ markId
49
+ updatedAt
50
+ marksheetId
51
+ questionId
52
+ questionChoiceId
53
+ timeTaken
54
+ mark
55
+ action
56
+ }
57
+ }
58
+ `;
@@ -13,3 +13,8 @@ export interface IBlogPost {
13
13
  tags?: IBlogTag[];
14
14
  relatedBlogPosts?: IBlogPost[];
15
15
  }
16
+ export interface IBlogPostTags {
17
+ id: Id;
18
+ blogPostId: Id;
19
+ blogTagId: Id;
20
+ }
@@ -20,3 +20,10 @@ export interface IBook {
20
20
  stripePriceId: string;
21
21
  authors: IAuthor[];
22
22
  }
23
+ export interface IBookAuthor {
24
+ id: Id;
25
+ bookId: number;
26
+ book?: IBook;
27
+ authorId: number;
28
+ author?: IAuthor;
29
+ }
@@ -4,3 +4,7 @@ export declare enum EDifficultyType {
4
4
  CHALLENGING = 2,
5
5
  DIFFICULT = 3
6
6
  }
7
+ export interface IDifficultyType {
8
+ id: EDifficultyType;
9
+ name: string;
10
+ }
@@ -1,6 +1,39 @@
1
+ import { IPreBuildMarksheet } from '../resolvers/mutation/restricted/marksheet';
1
2
  import { IPrescribeAnswer, IPrescribeMark, IQuestion, IQuestionChoice, IQuestionQAAnswer } from './Question';
2
3
  import { Id } from './Type';
3
4
  import { IUser } from './User';
5
+ export declare const enum EMarksheetState {
6
+ LOBBY = 0,
7
+ PRESTART = 1,
8
+ QUIZ_BUILDER = 2,
9
+ STATION = 3,
10
+ RESULT = 4
11
+ }
12
+ export declare const enum EMarksheetAction {
13
+ PRESTART = 0,
14
+ START = 1,
15
+ END = 2,
16
+ PAUSE = 3,
17
+ CONTINUE = 4,
18
+ CONNECT = 5,
19
+ DISCONNECT = 6,
20
+ SELECT = 7,
21
+ LEFT = 8,
22
+ KICK = 9,
23
+ CHOICE_SELECTED = 10,
24
+ QUESTION_CHANGE = 11,
25
+ TOPIC_CONCEPT_SELECTION = 12,
26
+ BUILDER_CONFIG_SELECTION = 13,
27
+ STATE_CHANGE = 14
28
+ }
29
+ export interface IMarksheetMember {
30
+ id: Id;
31
+ createdAt: number | Date | null;
32
+ marksheetId: Id;
33
+ marksheet?: IMarksheet | null;
34
+ userId: Id;
35
+ user?: IUser | null;
36
+ }
4
37
  export interface IMarksheet {
5
38
  id: Id;
6
39
  createdAt: number | Date;
@@ -18,6 +51,15 @@ export interface IMarksheet {
18
51
  incorrect?: number;
19
52
  totalQuestions?: number;
20
53
  isTestMarksheet?: boolean;
54
+ solo: boolean;
55
+ agoraId: string;
56
+ users: IMarksheetMember[];
57
+ state: EMarksheetState;
58
+ completed: boolean;
59
+ timeTaken: number;
60
+ currentMarkId?: number;
61
+ topicConceptData?: string;
62
+ preBuildData?: IPreBuildMarksheet;
21
63
  }
22
64
  export declare type IMarksheetMarkJSONB = string | [string] | [IQuestionQAAnswer] | [string[], string[]] | [IPrescribeMark] | IPrescribeAnswer | null;
23
65
  export interface IMarksheetMark {
@@ -33,4 +75,14 @@ export interface IMarksheetMark {
33
75
  questionId: Id;
34
76
  question: IQuestion;
35
77
  mark: IMarksheetMarkJSONB;
78
+ marksheet?: IMarksheet;
79
+ }
80
+ export interface IPreBuildMarksheetRef {
81
+ id: Id;
82
+ createdAt: number | Date;
83
+ userId: Id;
84
+ unseen: number[];
85
+ seenCorrect: number[];
86
+ seenIncorrect: number[];
87
+ source: string;
36
88
  }
@@ -5,6 +5,7 @@ export interface IMockTest {
5
5
  id: Id;
6
6
  createdAt: number | Date;
7
7
  title: string;
8
+ topicIds: number[];
8
9
  typeId: ETopicType | null;
9
10
  passingMark: number;
10
11
  public: boolean;
@@ -20,3 +21,8 @@ export interface IUserMockTest {
20
21
  lastMarksheetStartedAt?: number | Date;
21
22
  lastMarksheetEndedAt?: number | Date;
22
23
  }
24
+ export interface IMockTestQuestion {
25
+ id: Id;
26
+ mockTestId: number;
27
+ questionId: number;
28
+ }
@@ -8,6 +8,7 @@ export interface IOsceMarksheetMember {
8
8
  userId: Id | null;
9
9
  user: IUser | null;
10
10
  role: EOsceRoles;
11
+ source?: string;
11
12
  }
12
13
  export interface IOsceMarksheetMark {
13
14
  id: Id;
@@ -1,3 +1,4 @@
1
+ import { IConcept } from './Concept';
1
2
  import { EDifficultyType } from './Difficulty';
2
3
  import { IPicture } from './Picture';
3
4
  import { ITopic } from './Topic';
@@ -49,6 +50,13 @@ export interface IOsceStation {
49
50
  lastOsceMarksheetId?: Id;
50
51
  score?: number;
51
52
  }
53
+ export interface IOsceStationTopic {
54
+ id: Id;
55
+ osceStationId: number;
56
+ topicId: number;
57
+ concept?: IConcept;
58
+ osceStation?: IOsceStation;
59
+ }
52
60
  export declare const OSCE_GLOBAL_RATING: {
53
61
  [key: number]: string;
54
62
  };
@@ -12,3 +12,46 @@ export interface IPicture {
12
12
  topicId: Id;
13
13
  topic: ITopic;
14
14
  }
15
+ export interface ICardPicture {
16
+ id: Id;
17
+ pictureId: Id;
18
+ cardId: Id;
19
+ picture: IPicture;
20
+ }
21
+ export interface IChapterPicture {
22
+ id: Id;
23
+ pictureId: Id;
24
+ chapterId: Id;
25
+ picture: IPicture;
26
+ }
27
+ export interface IOsceActorPicture {
28
+ id: Id;
29
+ pictureId: Id;
30
+ osceStationId: Id;
31
+ picture: IPicture;
32
+ }
33
+ export interface IOsceCandidatePicture {
34
+ id: Id;
35
+ pictureId: Id;
36
+ osceStationId: Id;
37
+ picture: IPicture;
38
+ }
39
+ export interface IOsceExaminerPicture {
40
+ id: Id;
41
+ pictureId: Id;
42
+ osceStationId: Id;
43
+ picture: IPicture;
44
+ }
45
+ export interface IOsceWalkthroughPicture {
46
+ id: Id;
47
+ pictureId: Id;
48
+ osceStationId: Id;
49
+ picture: IPicture;
50
+ }
51
+ export interface IQuestionPicture {
52
+ id: Id;
53
+ pictureId: Id;
54
+ questionId: Id;
55
+ choiceId: Id | null;
56
+ picture: IPicture;
57
+ }
@@ -1,6 +1,7 @@
1
1
  import { IConcept } from './Concept';
2
2
  import { EDifficultyType } from './Difficulty';
3
3
  import { IPicture } from './Picture';
4
+ import { ITopic } from './Topic';
4
5
  import { Id } from './Type';
5
6
  import { IUser } from './User';
6
7
  export declare enum EPsaSectionType {
@@ -40,6 +41,15 @@ export interface IQuestionComment {
40
41
  dislikes?: number;
41
42
  isLikedByMe?: EQuestionLike;
42
43
  }
44
+ export interface IQuestionCommentLike {
45
+ createdAt: number | Date;
46
+ updatedAt: number | Date;
47
+ userId: Id;
48
+ user: IUser;
49
+ commentId: Id;
50
+ comment: IQuestionComment;
51
+ likeTrueDislikeFalse: boolean;
52
+ }
43
53
  export declare type IQuestionAnswer = string | [string] | [IQuestionQAAnswer] | [string[], string[]] | IPrescribeAnswer[];
44
54
  export declare type IQuestionAll = IQuestion | IQuestionSBA | IQuestionQA | IQuestionMultiQ | IQuestionPrescribe;
45
55
  export interface IQuestion {
@@ -56,6 +66,7 @@ export interface IQuestion {
56
66
  answer: IQuestionAnswer;
57
67
  totalVotes: number;
58
68
  choices: IQuestionChoice[];
69
+ topic?: ITopic;
59
70
  pictures?: IPicture[];
60
71
  difficulty: EDifficultyType;
61
72
  elo: number;
@@ -74,6 +85,24 @@ export interface IQuestionChoice {
74
85
  votes: number;
75
86
  picture?: IPicture | null;
76
87
  }
88
+ export interface IQuestionElo {
89
+ id: Id;
90
+ date: number | Date;
91
+ questionId: Id;
92
+ question?: IQuestion;
93
+ elo: number;
94
+ }
95
+ export interface IQuestionLike {
96
+ createdAt: number | Date;
97
+ updatedAt: number | Date;
98
+ userId: Id;
99
+ questionId: Id;
100
+ likeTrueDislikeFalse: boolean;
101
+ }
102
+ export interface IQuestionType {
103
+ id: Id;
104
+ name: string;
105
+ }
77
106
  export declare function isQuestionSBA(data: IQuestionAll): data is IQuestionSBA;
78
107
  export interface IQuestionSBA extends IQuestion {
79
108
  answer: [string];
@@ -0,0 +1,11 @@
1
+ import { Id } from "./Type";
2
+ import { IUser } from "./User";
3
+ export interface IReferral {
4
+ id: Id;
5
+ createdAt: number | Date;
6
+ updatedAt: number | Date;
7
+ refereeUserId: Id;
8
+ referredUserId: Id;
9
+ referredUser: IUser;
10
+ applied: boolean;
11
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -31,3 +31,11 @@ export interface IPreBuildTodo {
31
31
  seen: number;
32
32
  buildRef: number;
33
33
  }
34
+ export interface IPreBuildTodoRef {
35
+ id: Id;
36
+ createdAt: number | Date;
37
+ userId: Id;
38
+ unseen: number[];
39
+ seen: number[];
40
+ source: string;
41
+ }
@@ -1,5 +1,31 @@
1
+ import { ITopic } from './Topic';
2
+ import { Id } from './Type';
1
3
  export interface IUniversity {
2
4
  id: number;
3
5
  name: string;
4
6
  country: string;
5
7
  }
8
+ export interface IUniversitiesMonthlyLeaderboard {
9
+ id: Id;
10
+ updatedAt: number | Date;
11
+ yearMonth: number;
12
+ universityId: Id;
13
+ university: IUniversity;
14
+ rank: number;
15
+ correct: number;
16
+ incorrect: number;
17
+ topicId: Id;
18
+ topic: ITopic;
19
+ }
20
+ export interface IUniversitiesQuarterlyLeaderboard {
21
+ id: Id;
22
+ updatedAt: number | Date;
23
+ yearQuarter: number;
24
+ universityId: Id;
25
+ university: IUniversity;
26
+ rank: number;
27
+ correct: number;
28
+ incorrect: number;
29
+ topicId: Id;
30
+ topic: ITopic;
31
+ }
@@ -104,6 +104,7 @@ export interface IUserCompletedCards {
104
104
  userId: Id;
105
105
  concept: IConcept;
106
106
  lastSeen: number | Date;
107
+ reviewDate: number | Date;
107
108
  score: number;
108
109
  iteration: number;
109
110
  optimalFactor: number;
@@ -127,3 +128,24 @@ export interface IUserProgress {
127
128
  correct: number;
128
129
  countCards: number;
129
130
  }
131
+ export interface IResetPasswordToken {
132
+ id: Id;
133
+ userId: Id;
134
+ resetRef: string;
135
+ createdAt: number | Date;
136
+ updatedAt: number | Date;
137
+ isConsumed: boolean;
138
+ }
139
+ export interface IUserElo {
140
+ id: Id;
141
+ date: number | Date;
142
+ userId: Id;
143
+ user?: IUser;
144
+ elo: number;
145
+ }
146
+ export interface IUserQuestionsFirstAttempt {
147
+ createdAt: number | Date;
148
+ userId: Id;
149
+ questionId: Id;
150
+ answer: boolean;
151
+ }
@@ -30,3 +30,21 @@ export interface IVideo {
30
30
  sent24hrPushAt: number | Date | null;
31
31
  viewsToday?: number | null;
32
32
  }
33
+ export interface IVideoOsceStation {
34
+ id: Id;
35
+ videoId: number;
36
+ osceStationId: number;
37
+ video: IVideo;
38
+ }
39
+ export interface IVideoConcept {
40
+ id: Id;
41
+ videoId: number;
42
+ conceptId: number;
43
+ video: IVideo;
44
+ }
45
+ export interface IVideoViews {
46
+ id: Id;
47
+ videoId: number;
48
+ date: number | Date;
49
+ views: number;
50
+ }
@@ -23,3 +23,4 @@ export * from './Type';
23
23
  export * from './University';
24
24
  export * from './User';
25
25
  export * from './Video';
26
+ export * from './Referrals';
@@ -23,3 +23,4 @@ export * from './Type';
23
23
  export * from './University';
24
24
  export * from './User';
25
25
  export * from './Video';
26
+ export * from './Referrals';