@quesmed/types 1.6.1 → 2.0.0
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.
- package/dist/cjs/models/Card.d.ts +2 -2
- package/dist/cjs/models/Chapter.d.ts +5 -3
- package/dist/cjs/models/Concept.d.ts +2 -10
- package/dist/cjs/models/File.d.ts +2 -2
- package/dist/cjs/models/Marksheet.d.ts +17 -28
- package/dist/cjs/models/Marksheet.js +0 -7
- package/dist/cjs/models/MockTest.d.ts +1 -0
- package/dist/cjs/models/OsceMarksheet.d.ts +2 -2
- package/dist/cjs/models/OsceStation.d.ts +11 -9
- package/dist/cjs/models/Picture.d.ts +0 -33
- package/dist/cjs/models/Question.d.ts +27 -2
- package/dist/cjs/models/Question.js +7 -1
- package/dist/cjs/models/Todo.d.ts +10 -1
- package/dist/cjs/models/Token.d.ts +2 -0
- package/dist/cjs/models/Topic.d.ts +16 -1
- package/dist/cjs/models/User.d.ts +34 -20
- package/dist/cjs/models/Video.d.ts +1 -0
- package/dist/cjs/resolvers/fragments/chapter.d.ts +0 -1
- package/dist/cjs/resolvers/fragments/chapter.js +8 -14
- package/dist/cjs/resolvers/fragments/osce.js +5 -6
- package/dist/cjs/resolvers/fragments/picture.d.ts +0 -2
- package/dist/cjs/resolvers/fragments/picture.js +1 -23
- package/dist/cjs/resolvers/fragments/user.js +13 -0
- package/dist/cjs/resolvers/fragments/video.js +3 -2
- package/dist/cjs/resolvers/mutation/admin/algoliaSync.d.ts +5 -6
- package/dist/cjs/resolvers/mutation/admin/token.d.ts +3 -2
- package/dist/cjs/resolvers/mutation/restricted/contactUs.d.ts +6 -5
- package/dist/cjs/resolvers/mutation/restricted/marksheet.d.ts +9 -11
- package/dist/cjs/resolvers/mutation/restricted/mockTest.d.ts +5 -4
- package/dist/cjs/resolvers/mutation/restricted/questionDiscussion.d.ts +6 -10
- package/dist/cjs/resolvers/mutation/restricted/todo.d.ts +6 -22
- package/dist/cjs/resolvers/mutation/restricted/todo.js +0 -26
- package/dist/cjs/resolvers/mutation/restricted/token.d.ts +5 -5
- package/dist/cjs/resolvers/mutation/restricted/users.d.ts +5 -8
- package/dist/cjs/resolvers/mutation/restricted/video.d.ts +3 -5
- package/dist/cjs/resolvers/mutation/stripe.d.ts +3 -2
- package/dist/cjs/resolvers/mutation/users.d.ts +5 -4
- package/dist/cjs/resolvers/mutation/validUserToken/user.d.ts +11 -5
- package/dist/cjs/resolvers/query/admin/getUserToken.d.ts +2 -1
- package/dist/cjs/resolvers/query/author.d.ts +2 -2
- package/dist/cjs/resolvers/query/book.d.ts +4 -2
- package/dist/cjs/resolvers/query/feedback.d.ts +2 -2
- package/dist/cjs/resolvers/query/restricted/index.d.ts +0 -1
- package/dist/cjs/resolvers/query/restricted/index.js +0 -1
- package/dist/cjs/resolvers/query/restricted/marksheet.d.ts +8 -8
- package/dist/cjs/resolvers/query/restricted/mockTests.d.ts +4 -4
- package/dist/cjs/resolvers/query/restricted/osce.d.ts +3 -3
- package/dist/cjs/resolvers/query/restricted/quesBook.d.ts +1 -1
- package/dist/cjs/resolvers/query/restricted/replication.d.ts +2 -3
- package/dist/cjs/resolvers/query/restricted/todos.d.ts +6 -5
- package/dist/cjs/resolvers/query/restricted/topics.d.ts +3 -13
- package/dist/cjs/resolvers/query/restricted/university.d.ts +2 -2
- package/dist/cjs/resolvers/query/restricted/user.d.ts +5 -17
- package/dist/cjs/resolvers/query/restricted/video.d.ts +3 -2
- package/dist/cjs/resolvers/query/subscription.d.ts +2 -2
- package/dist/cjs/resolvers/query/university.d.ts +2 -1
- package/dist/cjs/resolvers/query/user.d.ts +4 -3
- package/dist/cjs/resolvers/query/video.d.ts +4 -3
- package/dist/cjs/utils/lightgallery.js +1 -1
- package/dist/mjs/models/Card.d.ts +2 -2
- package/dist/mjs/models/Chapter.d.ts +5 -3
- package/dist/mjs/models/Concept.d.ts +2 -10
- package/dist/mjs/models/File.d.ts +2 -2
- package/dist/mjs/models/Marksheet.d.ts +17 -28
- package/dist/mjs/models/Marksheet.js +1 -6
- package/dist/mjs/models/MockTest.d.ts +1 -0
- package/dist/mjs/models/OsceMarksheet.d.ts +2 -2
- package/dist/mjs/models/OsceStation.d.ts +11 -9
- package/dist/mjs/models/Picture.d.ts +0 -33
- package/dist/mjs/models/Question.d.ts +27 -2
- package/dist/mjs/models/Question.js +6 -0
- package/dist/mjs/models/Todo.d.ts +10 -1
- package/dist/mjs/models/Token.d.ts +2 -0
- package/dist/mjs/models/Topic.d.ts +16 -1
- package/dist/mjs/models/User.d.ts +34 -20
- package/dist/mjs/models/Video.d.ts +1 -0
- package/dist/mjs/resolvers/fragments/chapter.d.ts +0 -1
- package/dist/mjs/resolvers/fragments/chapter.js +8 -14
- package/dist/mjs/resolvers/fragments/osce.js +6 -7
- package/dist/mjs/resolvers/fragments/picture.d.ts +0 -2
- package/dist/mjs/resolvers/fragments/picture.js +0 -22
- package/dist/mjs/resolvers/fragments/user.js +13 -0
- package/dist/mjs/resolvers/fragments/video.js +4 -3
- package/dist/mjs/resolvers/mutation/admin/algoliaSync.d.ts +5 -6
- package/dist/mjs/resolvers/mutation/admin/token.d.ts +3 -2
- package/dist/mjs/resolvers/mutation/restricted/contactUs.d.ts +6 -5
- package/dist/mjs/resolvers/mutation/restricted/marksheet.d.ts +9 -11
- package/dist/mjs/resolvers/mutation/restricted/mockTest.d.ts +5 -4
- package/dist/mjs/resolvers/mutation/restricted/questionDiscussion.d.ts +6 -10
- package/dist/mjs/resolvers/mutation/restricted/todo.d.ts +6 -22
- package/dist/mjs/resolvers/mutation/restricted/todo.js +1 -24
- package/dist/mjs/resolvers/mutation/restricted/token.d.ts +5 -5
- package/dist/mjs/resolvers/mutation/restricted/users.d.ts +5 -8
- package/dist/mjs/resolvers/mutation/restricted/video.d.ts +3 -5
- package/dist/mjs/resolvers/mutation/stripe.d.ts +3 -2
- package/dist/mjs/resolvers/mutation/users.d.ts +5 -4
- package/dist/mjs/resolvers/mutation/validUserToken/user.d.ts +11 -5
- package/dist/mjs/resolvers/query/admin/getUserToken.d.ts +2 -1
- package/dist/mjs/resolvers/query/author.d.ts +2 -2
- package/dist/mjs/resolvers/query/book.d.ts +4 -2
- package/dist/mjs/resolvers/query/feedback.d.ts +2 -2
- package/dist/mjs/resolvers/query/restricted/index.d.ts +0 -1
- package/dist/mjs/resolvers/query/restricted/index.js +0 -1
- package/dist/mjs/resolvers/query/restricted/marksheet.d.ts +8 -8
- package/dist/mjs/resolvers/query/restricted/mockTests.d.ts +4 -4
- package/dist/mjs/resolvers/query/restricted/osce.d.ts +3 -3
- package/dist/mjs/resolvers/query/restricted/quesBook.d.ts +1 -1
- package/dist/mjs/resolvers/query/restricted/replication.d.ts +2 -3
- package/dist/mjs/resolvers/query/restricted/todos.d.ts +6 -5
- package/dist/mjs/resolvers/query/restricted/topics.d.ts +3 -13
- package/dist/mjs/resolvers/query/restricted/university.d.ts +2 -2
- package/dist/mjs/resolvers/query/restricted/user.d.ts +5 -17
- package/dist/mjs/resolvers/query/restricted/video.d.ts +3 -2
- package/dist/mjs/resolvers/query/subscription.d.ts +2 -2
- package/dist/mjs/resolvers/query/university.d.ts +2 -1
- package/dist/mjs/resolvers/query/user.d.ts +4 -3
- package/dist/mjs/resolvers/query/video.d.ts +4 -3
- package/dist/mjs/utils/lightgallery.js +1 -1
- package/package.json +3 -1
- package/dist/cjs/resolvers/query/restricted/anatomy.d.ts +0 -3
- package/dist/cjs/resolvers/query/restricted/anatomy.js +0 -2
- package/dist/mjs/resolvers/query/restricted/anatomy.d.ts +0 -3
- package/dist/mjs/resolvers/query/restricted/anatomy.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IConcept } from './Concept';
|
|
2
|
-
import {
|
|
2
|
+
import { IPicture } from './Picture';
|
|
3
3
|
import { ITopic } from './Topic';
|
|
4
4
|
import { Id } from './Type';
|
|
5
5
|
export interface ICard {
|
|
@@ -12,5 +12,5 @@ export interface ICard {
|
|
|
12
12
|
question: string;
|
|
13
13
|
explanation: string;
|
|
14
14
|
public: boolean;
|
|
15
|
-
pictures:
|
|
15
|
+
pictures: IPicture[];
|
|
16
16
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { IFile } from './File';
|
|
2
|
-
import {
|
|
2
|
+
import { IPicture } from './Picture';
|
|
3
3
|
import { ETopicType } from './Topic';
|
|
4
4
|
import { Id } from './Type';
|
|
5
|
+
import { IVideo } from './Video';
|
|
5
6
|
export interface IChapter {
|
|
6
7
|
id: Id;
|
|
7
8
|
createdAt: number | Date;
|
|
8
9
|
updatedAt: number | Date;
|
|
9
10
|
explanation: string | null;
|
|
10
11
|
typeId: ETopicType | null;
|
|
11
|
-
pictures
|
|
12
|
-
|
|
12
|
+
pictures?: IPicture[];
|
|
13
|
+
videos?: IVideo[];
|
|
14
|
+
files?: IFile[];
|
|
13
15
|
}
|
|
@@ -7,17 +7,9 @@ export interface IConcept {
|
|
|
7
7
|
createdAt: number | Date;
|
|
8
8
|
updatedAt: number | Date;
|
|
9
9
|
name: string;
|
|
10
|
-
chapterId: Id;
|
|
11
|
-
chapter: IChapter;
|
|
12
10
|
topicId: Id;
|
|
13
11
|
topic?: ITopic;
|
|
12
|
+
chapterId: Id;
|
|
13
|
+
chapter?: IChapter;
|
|
14
14
|
videos?: IVideo[];
|
|
15
15
|
}
|
|
16
|
-
export interface IAnatomyConcept {
|
|
17
|
-
id: number;
|
|
18
|
-
name: string;
|
|
19
|
-
totalCards: number;
|
|
20
|
-
ConfidentCards: number;
|
|
21
|
-
ReviewCards: number;
|
|
22
|
-
LearnCards: number;
|
|
23
|
-
}
|
|
@@ -1,47 +1,36 @@
|
|
|
1
|
-
import { IPrescribeMark, IQuestion, IQuestionQAAnswer } from './Question';
|
|
1
|
+
import { IPrescribeAnswer, IPrescribeMark, IQuestion, IQuestionChoice, IQuestionQAAnswer } from './Question';
|
|
2
2
|
import { Id } from './Type';
|
|
3
|
+
import { IUser } from './User';
|
|
3
4
|
export interface IMarksheet {
|
|
4
5
|
id: Id;
|
|
5
6
|
createdAt: number | Date;
|
|
7
|
+
updatedAt: number | Date;
|
|
8
|
+
startedAt: number | Date;
|
|
6
9
|
endedAt: number | Date;
|
|
10
|
+
topicIds: number[];
|
|
11
|
+
topicNames?: string[];
|
|
7
12
|
source: string;
|
|
13
|
+
userId: Id;
|
|
14
|
+
user?: IUser;
|
|
8
15
|
marks: IMarksheetMark[];
|
|
9
16
|
mockTestId: number | null;
|
|
17
|
+
correct?: number;
|
|
18
|
+
incorrect?: number;
|
|
19
|
+
totalQuestions?: number;
|
|
20
|
+
isTestMarksheet?: boolean;
|
|
10
21
|
}
|
|
11
|
-
export declare
|
|
12
|
-
NONE = 0,
|
|
13
|
-
LIKE = 1,
|
|
14
|
-
DISLIKE = 2
|
|
15
|
-
}
|
|
16
|
-
export declare type IMarksheetMarkJSONB = string | [string] | [IQuestionQAAnswer] | [string[], string[]] | [IPrescribeMark] | null;
|
|
22
|
+
export declare type IMarksheetMarkJSONB = string | [string] | [IQuestionQAAnswer] | [string[], string[]] | [IPrescribeMark] | IPrescribeAnswer | null;
|
|
17
23
|
export interface IMarksheetMark {
|
|
18
24
|
id: Id;
|
|
25
|
+
createdAt: number | Date;
|
|
26
|
+
updatedAt: number | Date;
|
|
19
27
|
index: number;
|
|
20
28
|
marksheetId: Id;
|
|
21
|
-
questionChoiceId: Id;
|
|
29
|
+
questionChoiceId: Id | null;
|
|
30
|
+
questionChoices?: IQuestionChoice;
|
|
22
31
|
timeTaken: number;
|
|
23
32
|
flagged: boolean;
|
|
24
33
|
questionId: Id;
|
|
25
34
|
question: IQuestion;
|
|
26
35
|
mark: IMarksheetMarkJSONB;
|
|
27
|
-
like: number;
|
|
28
|
-
dislike: number;
|
|
29
|
-
isLikeByMe: EQuestionLike;
|
|
30
|
-
discussion: IDiscussion[];
|
|
31
|
-
}
|
|
32
|
-
export interface IDiscussion {
|
|
33
|
-
username: string;
|
|
34
|
-
userId: Id;
|
|
35
|
-
createdAt: number | Date;
|
|
36
|
-
comment: string;
|
|
37
|
-
like: number;
|
|
38
|
-
dislike: number;
|
|
39
|
-
isLikeByMe: EQuestionLike;
|
|
40
|
-
commentId: number;
|
|
41
|
-
questionId: number;
|
|
42
|
-
reply: IDiscussion[];
|
|
43
|
-
}
|
|
44
|
-
export interface ILikeDislikeCount {
|
|
45
|
-
like: number;
|
|
46
|
-
dislike: number;
|
|
47
36
|
}
|
|
@@ -1,9 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EQuestionLike = void 0;
|
|
4
|
-
var EQuestionLike;
|
|
5
|
-
(function (EQuestionLike) {
|
|
6
|
-
EQuestionLike[EQuestionLike["NONE"] = 0] = "NONE";
|
|
7
|
-
EQuestionLike[EQuestionLike["LIKE"] = 1] = "LIKE";
|
|
8
|
-
EQuestionLike[EQuestionLike["DISLIKE"] = 2] = "DISLIKE";
|
|
9
|
-
})(EQuestionLike = exports.EQuestionLike || (exports.EQuestionLike = {}));
|
|
@@ -7,7 +7,7 @@ export interface IOsceMarksheetUser {
|
|
|
7
7
|
osceMarksheetId: Id;
|
|
8
8
|
userId: Id | null;
|
|
9
9
|
user: IUser | null;
|
|
10
|
-
role: EOsceRoles;
|
|
10
|
+
role: EOsceRoles | null;
|
|
11
11
|
}
|
|
12
12
|
export interface IOsceMarksheetMark {
|
|
13
13
|
id: Id;
|
|
@@ -74,7 +74,7 @@ export interface IOsceMarksheet {
|
|
|
74
74
|
}
|
|
75
75
|
export interface IDashboardOsce {
|
|
76
76
|
lastAgoraId: string;
|
|
77
|
-
types:
|
|
77
|
+
types: IOsceType[];
|
|
78
78
|
avgScore: number;
|
|
79
79
|
completed: number;
|
|
80
80
|
total: number;
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { EDifficultyType } from './Difficulty';
|
|
2
|
-
import {
|
|
2
|
+
import { IPicture } from './Picture';
|
|
3
3
|
import { ITopic } from './Topic';
|
|
4
4
|
import { Id } from './Type';
|
|
5
5
|
import { IVideo } from './Video';
|
|
6
6
|
export interface IOsceType {
|
|
7
7
|
id: Id;
|
|
8
8
|
name: string;
|
|
9
|
+
completed: number;
|
|
10
|
+
total: number;
|
|
11
|
+
avgScore: number;
|
|
9
12
|
}
|
|
10
13
|
export interface IOsceStationMark {
|
|
11
14
|
id: Id;
|
|
15
|
+
updatedAt: number | Date;
|
|
12
16
|
index: number;
|
|
13
17
|
osceStationId: Id;
|
|
14
18
|
header: string;
|
|
@@ -37,15 +41,13 @@ export interface IOsceStation {
|
|
|
37
41
|
explanation: string;
|
|
38
42
|
marks: IOsceStationMark[];
|
|
39
43
|
topics?: ITopic[];
|
|
40
|
-
candidatePictures?:
|
|
41
|
-
actorPictures?:
|
|
42
|
-
examinerPictures?:
|
|
43
|
-
walkthroughPictures?:
|
|
44
|
+
candidatePictures?: IPicture[];
|
|
45
|
+
actorPictures?: IPicture[];
|
|
46
|
+
examinerPictures?: IPicture[];
|
|
47
|
+
walkthroughPictures?: IPicture[];
|
|
44
48
|
videos?: IVideo[];
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
lastOsceMarksheetId: Id;
|
|
48
|
-
score: number;
|
|
49
|
+
lastOsceMarksheetId?: Id;
|
|
50
|
+
score?: number;
|
|
49
51
|
}
|
|
50
52
|
export declare const OSCE_GLOBAL_RATING: {
|
|
51
53
|
[key: number]: string;
|
|
@@ -12,36 +12,3 @@ export interface IPicture {
|
|
|
12
12
|
topicId: Id;
|
|
13
13
|
topic: ITopic;
|
|
14
14
|
}
|
|
15
|
-
export interface IQuestionPicture {
|
|
16
|
-
id: Id;
|
|
17
|
-
pictureId: Id;
|
|
18
|
-
questionId: Id;
|
|
19
|
-
choiceId: Id | null;
|
|
20
|
-
picture: IPicture;
|
|
21
|
-
}
|
|
22
|
-
export interface ICardPicture {
|
|
23
|
-
id: Id;
|
|
24
|
-
pictureId: Id;
|
|
25
|
-
cardId: Id;
|
|
26
|
-
picture: IPicture;
|
|
27
|
-
}
|
|
28
|
-
export interface IChapterPicture {
|
|
29
|
-
id: Id;
|
|
30
|
-
pictureId: Id;
|
|
31
|
-
chapterId: Id;
|
|
32
|
-
picture: IPicture;
|
|
33
|
-
}
|
|
34
|
-
export interface IOscePicture {
|
|
35
|
-
id: Id;
|
|
36
|
-
osceStationId: Id;
|
|
37
|
-
pictureId: Id;
|
|
38
|
-
picture: IPicture;
|
|
39
|
-
}
|
|
40
|
-
export interface IOsceCandidatePicture extends IOscePicture {
|
|
41
|
-
}
|
|
42
|
-
export interface IOsceActorPicture extends IOscePicture {
|
|
43
|
-
}
|
|
44
|
-
export interface IOsceExaminerPicture extends IOscePicture {
|
|
45
|
-
}
|
|
46
|
-
export interface IOsceWalkthroughPicture extends IOscePicture {
|
|
47
|
-
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { IConcept } from './Concept';
|
|
2
2
|
import { EDifficultyType } from './Difficulty';
|
|
3
|
-
import {
|
|
3
|
+
import { IPicture } from './Picture';
|
|
4
4
|
import { Id } from './Type';
|
|
5
|
+
import { IUser } from './User';
|
|
5
6
|
export declare enum EPsaSectionType {
|
|
6
7
|
PRESCRIBING = 1,
|
|
7
8
|
PRESCRIPTION_REVIEW = 2,
|
|
@@ -18,6 +19,25 @@ export declare enum EQuestionType {
|
|
|
18
19
|
MULTIPLE_ANSWERS = 3,
|
|
19
20
|
PRESCRIPTION_ANSWER = 4
|
|
20
21
|
}
|
|
22
|
+
export declare enum EQuestionLike {
|
|
23
|
+
NONE = 0,
|
|
24
|
+
LIKE = 1,
|
|
25
|
+
DISLIKE = 2
|
|
26
|
+
}
|
|
27
|
+
export interface IQuestionComment {
|
|
28
|
+
id: Id;
|
|
29
|
+
createdAt: number | Date;
|
|
30
|
+
updatedAt: number | Date;
|
|
31
|
+
userId: Id;
|
|
32
|
+
user?: IUser;
|
|
33
|
+
username?: string | null;
|
|
34
|
+
questionId: number;
|
|
35
|
+
comment: string;
|
|
36
|
+
replies?: IQuestionComment[];
|
|
37
|
+
likes?: number;
|
|
38
|
+
dislikes?: number;
|
|
39
|
+
isLikedByMe?: EQuestionLike;
|
|
40
|
+
}
|
|
21
41
|
export declare type IQuestionAnswer = string | [string] | [IQuestionQAAnswer] | [string[], string[]] | IPrescribeAnswer[];
|
|
22
42
|
export declare type IQuestionAll = IQuestion | IQuestionSBA | IQuestionQA | IQuestionMultiQ | IQuestionPrescribe;
|
|
23
43
|
export interface IQuestion {
|
|
@@ -31,10 +51,14 @@ export interface IQuestion {
|
|
|
31
51
|
answer: IQuestionAnswer;
|
|
32
52
|
totalVotes: number;
|
|
33
53
|
choices: IQuestionChoice[];
|
|
34
|
-
pictures
|
|
54
|
+
pictures?: IPicture[];
|
|
35
55
|
difficulty: EDifficultyType;
|
|
36
56
|
elo: number;
|
|
37
57
|
psaSectionId: EPsaSectionType;
|
|
58
|
+
likes?: number;
|
|
59
|
+
dislikes?: number;
|
|
60
|
+
isLikedByMe?: EQuestionLike;
|
|
61
|
+
comments?: IQuestionComment[];
|
|
38
62
|
}
|
|
39
63
|
export interface IQuestionChoice {
|
|
40
64
|
id: Id;
|
|
@@ -43,6 +67,7 @@ export interface IQuestionChoice {
|
|
|
43
67
|
label: string;
|
|
44
68
|
answer: boolean;
|
|
45
69
|
votes: number;
|
|
70
|
+
picture?: IPicture | null;
|
|
46
71
|
}
|
|
47
72
|
export declare function isQuestionSBA(data: IQuestionAll): data is IQuestionSBA;
|
|
48
73
|
export interface IQuestionSBA extends IQuestion {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isQuestionPrescribe = exports.isQuestionMultiQ = exports.isQuestionQA = exports.isQuestionSBA = exports.EQuestionType = exports.EPsaSectionType = void 0;
|
|
3
|
+
exports.isQuestionPrescribe = exports.isQuestionMultiQ = exports.isQuestionQA = exports.isQuestionSBA = exports.EQuestionLike = exports.EQuestionType = exports.EPsaSectionType = void 0;
|
|
4
4
|
var EPsaSectionType;
|
|
5
5
|
(function (EPsaSectionType) {
|
|
6
6
|
EPsaSectionType[EPsaSectionType["PRESCRIBING"] = 1] = "PRESCRIBING";
|
|
@@ -19,6 +19,12 @@ var EQuestionType;
|
|
|
19
19
|
EQuestionType[EQuestionType["MULTIPLE_ANSWERS"] = 3] = "MULTIPLE_ANSWERS";
|
|
20
20
|
EQuestionType[EQuestionType["PRESCRIPTION_ANSWER"] = 4] = "PRESCRIPTION_ANSWER";
|
|
21
21
|
})(EQuestionType = exports.EQuestionType || (exports.EQuestionType = {}));
|
|
22
|
+
var EQuestionLike;
|
|
23
|
+
(function (EQuestionLike) {
|
|
24
|
+
EQuestionLike[EQuestionLike["NONE"] = 0] = "NONE";
|
|
25
|
+
EQuestionLike[EQuestionLike["LIKE"] = 1] = "LIKE";
|
|
26
|
+
EQuestionLike[EQuestionLike["DISLIKE"] = 2] = "DISLIKE";
|
|
27
|
+
})(EQuestionLike = exports.EQuestionLike || (exports.EQuestionLike = {}));
|
|
22
28
|
function isQuestionSBA(data) {
|
|
23
29
|
return data.typeId === EQuestionType.SINGLE_BEST_ANSWER;
|
|
24
30
|
}
|
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
import { ICard } from './Card';
|
|
2
|
+
import { ITopic } from './Topic';
|
|
2
3
|
import { Id } from './Type';
|
|
4
|
+
import { IUser } from './User';
|
|
3
5
|
export interface ITodo {
|
|
4
6
|
id: Id;
|
|
5
7
|
createdAt: number | Date;
|
|
6
8
|
updatedAt: number | Date;
|
|
7
9
|
userId: Id;
|
|
10
|
+
user?: IUser;
|
|
8
11
|
dailyTask: boolean;
|
|
9
12
|
marks: ITodoMark[];
|
|
10
13
|
source: string;
|
|
14
|
+
topics?: ITopic[];
|
|
15
|
+
redCards?: number | null;
|
|
16
|
+
yellowCards?: number | null;
|
|
17
|
+
greenCards?: number | null;
|
|
11
18
|
}
|
|
12
19
|
export interface ITodoMark {
|
|
13
20
|
id: Id;
|
|
21
|
+
createdAt: number | Date;
|
|
22
|
+
updatedAt: number | Date;
|
|
14
23
|
todoId: Id;
|
|
15
24
|
cardId: Id;
|
|
16
|
-
card
|
|
25
|
+
card?: ICard;
|
|
17
26
|
score: number;
|
|
18
27
|
timeTaken: number;
|
|
19
28
|
}
|
|
@@ -9,9 +9,24 @@ export declare enum ETopicType {
|
|
|
9
9
|
PSA = 5,
|
|
10
10
|
OSCE = 6
|
|
11
11
|
}
|
|
12
|
+
export interface ITopicType {
|
|
13
|
+
id: ETopicType;
|
|
14
|
+
name: string;
|
|
15
|
+
}
|
|
12
16
|
export interface ITopic {
|
|
13
17
|
id: Id;
|
|
18
|
+
createdAt: number | Date;
|
|
19
|
+
updatedAt: number | Date;
|
|
14
20
|
name: string;
|
|
15
|
-
typeId: ETopicType | null;
|
|
16
21
|
concepts?: IConcept[];
|
|
22
|
+
typeId: ETopicType | null;
|
|
23
|
+
type?: ITopicType | null;
|
|
24
|
+
totalQuestions?: number | null;
|
|
25
|
+
correctQuestions?: number | null;
|
|
26
|
+
incorrectQuestions?: number | null;
|
|
27
|
+
totalCards?: number | null;
|
|
28
|
+
greenCards?: number | null;
|
|
29
|
+
yellowCards?: number | null;
|
|
30
|
+
redCards?: number | null;
|
|
31
|
+
dailyFeedCards?: number | null;
|
|
17
32
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ICard } from './Card';
|
|
2
2
|
import { IConcept } from './Concept';
|
|
3
|
-
import { IMarksheetMark } from './Marksheet';
|
|
3
|
+
import { IMarksheet, IMarksheetMark } from './Marksheet';
|
|
4
4
|
import { IQuestion } from './Question';
|
|
5
5
|
import { ISubscription } from './Subscription';
|
|
6
|
-
import { ITopic } from './Topic';
|
|
7
6
|
import { Id } from './Type';
|
|
7
|
+
import { IUniversity } from './University';
|
|
8
8
|
export declare type IAccessLevel = 'subscriber' | 'administrator' | 'tutor';
|
|
9
9
|
export declare type IClassYear = 'Year 1' | 'Year 2' | 'Year 3' | 'Year 4' | 'Year 5' | 'Graduated' | 'PhD' | 'BSc' | 'MSc' | 'Beta Tester';
|
|
10
10
|
export declare const classYears: IClassYear[];
|
|
@@ -24,13 +24,14 @@ export interface IPayload {
|
|
|
24
24
|
accessLevel: IAccessLevel;
|
|
25
25
|
tocAccepted: boolean;
|
|
26
26
|
exp: number;
|
|
27
|
-
stripeSubscriptionEndDate: number | null;
|
|
28
27
|
stripeQBankSubscriptionEndDate: number | null;
|
|
29
28
|
stripeOsceSubscriptionEndDate: number | null;
|
|
30
29
|
stripeBundleSubscriptionEndDate: number | null;
|
|
31
30
|
}
|
|
32
31
|
export interface IUser {
|
|
33
32
|
id: Id;
|
|
33
|
+
createdAt: number | Date;
|
|
34
|
+
updatedAt: number | Date;
|
|
34
35
|
displayName: string;
|
|
35
36
|
username: string;
|
|
36
37
|
firstName: string;
|
|
@@ -38,24 +39,39 @@ export interface IUser {
|
|
|
38
39
|
tocAccepted: boolean;
|
|
39
40
|
dailyFeedResetTime: number;
|
|
40
41
|
dailyFeedMax: number;
|
|
41
|
-
classYear: IClassYear;
|
|
42
|
-
graduationYear: number;
|
|
43
|
-
universityId: number;
|
|
44
|
-
examDate: number | Date | null;
|
|
45
42
|
stripeCustomerId: string;
|
|
46
|
-
|
|
43
|
+
stripeLastSyncAt: number | Date | null;
|
|
44
|
+
qBankSubscriptionId: Id;
|
|
47
45
|
qBankSubscription: ISubscription | null;
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
stripeQBankSubscriptionId: string;
|
|
47
|
+
stripeQBankSubscriptionEndDate: number | Date;
|
|
48
|
+
osceSubscriptionId: Id;
|
|
50
49
|
osceSubscription: ISubscription | null;
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
stripeOsceSubscriptionId: string;
|
|
51
|
+
stripeOsceSubscriptionEndDate: number | Date;
|
|
52
|
+
bundleSubscriptionId: Id;
|
|
53
53
|
bundleSubscription: ISubscription | null;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
stripeBundleSubscriptionId: string;
|
|
55
|
+
stripeBundleSubscriptionEndDate: number | Date;
|
|
56
|
+
referralCount: number;
|
|
57
|
+
classYear: IClassYear;
|
|
58
|
+
graduationYear: number;
|
|
59
|
+
universityId: Id;
|
|
60
|
+
university: IUniversity;
|
|
61
|
+
examDate: number | Date | null;
|
|
62
|
+
accessLevel: IAccessLevel;
|
|
63
|
+
elo: number;
|
|
64
|
+
marksheets: IMarksheet[];
|
|
65
|
+
completedQuestions: IUserCompletedQuestions[];
|
|
66
|
+
completedCards: IUserCompletedCards[];
|
|
67
|
+
marksheetsCount?: number | null;
|
|
68
|
+
completedQuestionsCount?: number | null;
|
|
69
|
+
completedCorrectQuestionsCount?: number | null;
|
|
70
|
+
completedIncorrectQuestionsCount?: number | null;
|
|
71
|
+
completedCardsCount?: number | null;
|
|
72
|
+
completedGreenCardsCount?: number | null;
|
|
73
|
+
completedYellowCardsCount?: number | null;
|
|
74
|
+
completedRedCardsCount?: number | null;
|
|
59
75
|
}
|
|
60
76
|
export declare function currentClassYear(createdAtUnix: number, classYear: IClassYear): IClassYear;
|
|
61
77
|
export declare function currentClassGroup(createdAtUnix: number, classYear: IClassYear): EClassYearGroup;
|
|
@@ -67,7 +83,6 @@ export interface IUserCompletedQuestions {
|
|
|
67
83
|
userId: Id;
|
|
68
84
|
correct: boolean;
|
|
69
85
|
question: IQuestion;
|
|
70
|
-
topic: ITopic;
|
|
71
86
|
concept: IConcept;
|
|
72
87
|
}
|
|
73
88
|
export interface IUserCompletedCards {
|
|
@@ -77,14 +92,13 @@ export interface IUserCompletedCards {
|
|
|
77
92
|
cardId: Id;
|
|
78
93
|
card: ICard;
|
|
79
94
|
userId: Id;
|
|
80
|
-
topic: ITopic;
|
|
81
95
|
concept: IConcept;
|
|
82
96
|
lastSeen: number | Date;
|
|
83
97
|
score: number;
|
|
84
98
|
iteration: number;
|
|
85
99
|
optimalFactor: number;
|
|
86
100
|
}
|
|
87
|
-
export interface
|
|
101
|
+
export interface IUserFlaggedQuestion {
|
|
88
102
|
id: Id;
|
|
89
103
|
createdAt: number | Date;
|
|
90
104
|
updatedAt: number | Date;
|
|
@@ -1,20 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CHAPTER_FIELDS =
|
|
3
|
+
exports.CHAPTER_FIELDS = void 0;
|
|
4
4
|
const client_1 = require("@apollo/client");
|
|
5
5
|
const picture_1 = require("./picture");
|
|
6
|
-
exports.CHAPTER_FILE_FIELDS = (0, client_1.gql) `
|
|
7
|
-
fragment ChapterFileFields on File {
|
|
8
|
-
id
|
|
9
|
-
title
|
|
10
|
-
url
|
|
11
|
-
videoId
|
|
12
|
-
conceptId
|
|
13
|
-
}
|
|
14
|
-
`;
|
|
15
6
|
exports.CHAPTER_FIELDS = (0, client_1.gql) `
|
|
16
|
-
${
|
|
17
|
-
${picture_1.CHAPTER_PICTURE_FIELDS}
|
|
7
|
+
${picture_1.PICTURE_FIELDS}
|
|
18
8
|
fragment ChapterFields on Chapter {
|
|
19
9
|
id
|
|
20
10
|
createdAt
|
|
@@ -22,10 +12,14 @@ exports.CHAPTER_FIELDS = (0, client_1.gql) `
|
|
|
22
12
|
explanation
|
|
23
13
|
typeId
|
|
24
14
|
pictures {
|
|
25
|
-
...
|
|
15
|
+
...PictureFields
|
|
26
16
|
}
|
|
27
17
|
files {
|
|
28
|
-
|
|
18
|
+
id
|
|
19
|
+
title
|
|
20
|
+
url
|
|
21
|
+
videoId
|
|
22
|
+
conceptId
|
|
29
23
|
}
|
|
30
24
|
}
|
|
31
25
|
`;
|
|
@@ -13,12 +13,11 @@ exports.OSCE_STATION_MARK_FIELDS = (0, client_1.gql) `
|
|
|
13
13
|
}
|
|
14
14
|
`;
|
|
15
15
|
exports.OSCE_STATION_FIELDS = (0, client_1.gql) `
|
|
16
|
-
${picture_1.
|
|
16
|
+
${picture_1.PICTURE_FIELDS}
|
|
17
17
|
${exports.OSCE_STATION_MARK_FIELDS}
|
|
18
18
|
fragment OsceStationFields on OsceStation {
|
|
19
19
|
id
|
|
20
20
|
updatedAt
|
|
21
|
-
deleted
|
|
22
21
|
name
|
|
23
22
|
osceType {
|
|
24
23
|
id
|
|
@@ -37,16 +36,16 @@ exports.OSCE_STATION_FIELDS = (0, client_1.gql) `
|
|
|
37
36
|
name
|
|
38
37
|
}
|
|
39
38
|
candidatePictures {
|
|
40
|
-
...
|
|
39
|
+
...PictureFields
|
|
41
40
|
}
|
|
42
41
|
actorPictures {
|
|
43
|
-
...
|
|
42
|
+
...PictureFields
|
|
44
43
|
}
|
|
45
44
|
examinerPictures {
|
|
46
|
-
...
|
|
45
|
+
...PictureFields
|
|
47
46
|
}
|
|
48
47
|
walkthroughPictures {
|
|
49
|
-
...
|
|
48
|
+
...PictureFields
|
|
50
49
|
}
|
|
51
50
|
videos {
|
|
52
51
|
id
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.PICTURE_FIELDS = void 0;
|
|
4
4
|
const client_1 = require("@apollo/client");
|
|
5
5
|
exports.PICTURE_FIELDS = (0, client_1.gql) `
|
|
6
6
|
fragment PictureFields on Picture {
|
|
@@ -20,25 +20,3 @@ exports.PICTURE_FIELDS = (0, client_1.gql) `
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
`;
|
|
23
|
-
exports.OSCE_PICTURE_FIELDS = (0, client_1.gql) `
|
|
24
|
-
${exports.PICTURE_FIELDS}
|
|
25
|
-
fragment OscePictureFields on OscePicture {
|
|
26
|
-
id
|
|
27
|
-
osceStationId
|
|
28
|
-
pictureId
|
|
29
|
-
picture {
|
|
30
|
-
...PictureFields
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
`;
|
|
34
|
-
exports.CHAPTER_PICTURE_FIELDS = (0, client_1.gql) `
|
|
35
|
-
${exports.PICTURE_FIELDS}
|
|
36
|
-
fragment ChapterPictureFields on ChapterPicture {
|
|
37
|
-
id
|
|
38
|
-
pictureId
|
|
39
|
-
chapterId
|
|
40
|
-
picture {
|
|
41
|
-
...PictureFields
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
`;
|
|
@@ -5,6 +5,8 @@ const client_1 = require("@apollo/client");
|
|
|
5
5
|
exports.USER_FIELDS = (0, client_1.gql) `
|
|
6
6
|
fragment UserFields on User {
|
|
7
7
|
id
|
|
8
|
+
createdAt
|
|
9
|
+
updatedAt
|
|
8
10
|
username
|
|
9
11
|
firstName
|
|
10
12
|
lastName
|
|
@@ -22,5 +24,16 @@ exports.USER_FIELDS = (0, client_1.gql) `
|
|
|
22
24
|
# TODO: Remove this from backwards compatibility
|
|
23
25
|
stripePriceNickname
|
|
24
26
|
stripeSubscriptionEndDate
|
|
27
|
+
|
|
28
|
+
# user-specific keys
|
|
29
|
+
# marksheets
|
|
30
|
+
# marksheetsCount
|
|
31
|
+
# completedQuestionsCount
|
|
32
|
+
# completedCorrectQuestionsCount
|
|
33
|
+
# completedIncorrectQuestionsCount
|
|
34
|
+
# completedCardsCount
|
|
35
|
+
# completedGreenCardsCount
|
|
36
|
+
# completedYellowCardsCount
|
|
37
|
+
# completedRedCardsCount
|
|
25
38
|
}
|
|
26
39
|
`;
|
|
@@ -13,7 +13,7 @@ exports.VIDEO_FILE_FIELDS = (0, client_1.gql) `
|
|
|
13
13
|
}
|
|
14
14
|
`;
|
|
15
15
|
exports.VIDEO_FIELDS = (0, client_1.gql) `
|
|
16
|
-
${picture_1.
|
|
16
|
+
${picture_1.PICTURE_FIELDS}
|
|
17
17
|
fragment VideoFields on Video {
|
|
18
18
|
id
|
|
19
19
|
title
|
|
@@ -33,7 +33,7 @@ exports.VIDEO_FIELDS = (0, client_1.gql) `
|
|
|
33
33
|
explanation
|
|
34
34
|
typeId
|
|
35
35
|
pictures {
|
|
36
|
-
...
|
|
36
|
+
...PictureFields
|
|
37
37
|
}
|
|
38
38
|
files {
|
|
39
39
|
...VideoFileFields
|
|
@@ -53,5 +53,6 @@ exports.VIDEO_FIELDS = (0, client_1.gql) `
|
|
|
53
53
|
files {
|
|
54
54
|
...VideoFileFields
|
|
55
55
|
}
|
|
56
|
+
viewsToday
|
|
56
57
|
}
|
|
57
58
|
`;
|