@quesmed/types-rn 2.0.4
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/gql_input_output_types/User.d.ts +12 -0
- package/gql_input_output_types/User.js +2 -0
- package/gql_input_output_types/index.d.ts +75 -0
- package/gql_input_output_types/index.js +2 -0
- package/index.d.ts +22 -0
- package/index.js +124 -0
- package/models/Author.d.ts +14 -0
- package/models/Author.js +2 -0
- package/models/Blog.d.ts +15 -0
- package/models/Blog.js +2 -0
- package/models/Book.d.ts +22 -0
- package/models/Book.js +2 -0
- package/models/Card.d.ts +16 -0
- package/models/Card.js +2 -0
- package/models/Chapter.d.ts +15 -0
- package/models/Chapter.js +2 -0
- package/models/Concept.d.ts +15 -0
- package/models/Concept.js +2 -0
- package/models/Difficulty.d.ts +6 -0
- package/models/Difficulty.js +10 -0
- package/models/Feedback.d.ts +8 -0
- package/models/Feedback.js +2 -0
- package/models/File.d.ts +10 -0
- package/models/File.js +2 -0
- package/models/Marksheet.d.ts +36 -0
- package/models/Marksheet.js +2 -0
- package/models/MockTest.d.ts +22 -0
- package/models/MockTest.js +2 -0
- package/models/OsceMarksheet.d.ts +105 -0
- package/models/OsceMarksheet.js +103 -0
- package/models/OsceStation.d.ts +54 -0
- package/models/OsceStation.js +45 -0
- package/models/Picture.d.ts +14 -0
- package/models/Picture.js +2 -0
- package/models/Promo.d.ts +14 -0
- package/models/Promo.js +2 -0
- package/models/Question.d.ts +115 -0
- package/models/Question.js +43 -0
- package/models/Subscription.d.ts +17 -0
- package/models/Subscription.js +9 -0
- package/models/Todo.d.ts +33 -0
- package/models/Todo.js +2 -0
- package/models/Token.d.ts +9 -0
- package/models/Token.js +2 -0
- package/models/Topic.d.ts +32 -0
- package/models/Topic.js +13 -0
- package/models/Type.d.ts +7 -0
- package/models/Type.js +2 -0
- package/models/University.d.ts +5 -0
- package/models/University.js +2 -0
- package/models/User.d.ts +119 -0
- package/models/User.js +70 -0
- package/models/Video.d.ts +26 -0
- package/models/Video.js +2 -0
- package/models/index.d.ts +24 -0
- package/models/index.js +36 -0
- package/package.json +35 -0
- package/resolvers/apollo.d.ts +8 -0
- package/resolvers/apollo.js +2 -0
- package/resolvers/fragments/blog.d.ts +1 -0
- package/resolvers/fragments/blog.js +17 -0
- package/resolvers/fragments/chapter.d.ts +1 -0
- package/resolvers/fragments/chapter.js +25 -0
- package/resolvers/fragments/concept.d.ts +3 -0
- package/resolvers/fragments/concept.js +79 -0
- package/resolvers/fragments/index.d.ts +7 -0
- package/resolvers/fragments/index.js +19 -0
- package/resolvers/fragments/osce.d.ts +5 -0
- package/resolvers/fragments/osce.js +139 -0
- package/resolvers/fragments/picture.d.ts +1 -0
- package/resolvers/fragments/picture.js +22 -0
- package/resolvers/fragments/user.d.ts +1 -0
- package/resolvers/fragments/user.js +39 -0
- package/resolvers/fragments/video.d.ts +2 -0
- package/resolvers/fragments/video.js +58 -0
- package/resolvers/index.d.ts +12 -0
- package/resolvers/index.js +38 -0
- package/resolvers/mutation/admin/algoliaSync.d.ts +9 -0
- package/resolvers/mutation/admin/algoliaSync.js +2 -0
- package/resolvers/mutation/admin/index.d.ts +2 -0
- package/resolvers/mutation/admin/index.js +14 -0
- package/resolvers/mutation/admin/token.d.ts +25 -0
- package/resolvers/mutation/admin/token.js +2 -0
- package/resolvers/mutation/index.d.ts +5 -0
- package/resolvers/mutation/index.js +30 -0
- package/resolvers/mutation/restricted/agora.d.ts +10 -0
- package/resolvers/mutation/restricted/agora.js +11 -0
- package/resolvers/mutation/restricted/contactUs.d.ts +17 -0
- package/resolvers/mutation/restricted/contactUs.js +2 -0
- package/resolvers/mutation/restricted/index.d.ts +10 -0
- package/resolvers/mutation/restricted/index.js +22 -0
- package/resolvers/mutation/restricted/marksheet.d.ts +41 -0
- package/resolvers/mutation/restricted/marksheet.js +2 -0
- package/resolvers/mutation/restricted/mockTest.d.ts +16 -0
- package/resolvers/mutation/restricted/mockTest.js +2 -0
- package/resolvers/mutation/restricted/osce.d.ts +87 -0
- package/resolvers/mutation/restricted/osce.js +222 -0
- package/resolvers/mutation/restricted/questionDiscussion.d.ts +24 -0
- package/resolvers/mutation/restricted/questionDiscussion.js +2 -0
- package/resolvers/mutation/restricted/todo.d.ts +32 -0
- package/resolvers/mutation/restricted/todo.js +2 -0
- package/resolvers/mutation/restricted/token.d.ts +21 -0
- package/resolvers/mutation/restricted/token.js +2 -0
- package/resolvers/mutation/restricted/users.d.ts +29 -0
- package/resolvers/mutation/restricted/users.js +11 -0
- package/resolvers/mutation/restricted/video.d.ts +6 -0
- package/resolvers/mutation/restricted/video.js +2 -0
- package/resolvers/mutation/stripe.d.ts +11 -0
- package/resolvers/mutation/stripe.js +2 -0
- package/resolvers/mutation/users.d.ts +32 -0
- package/resolvers/mutation/users.js +2 -0
- package/resolvers/mutation/validUserToken/index.d.ts +1 -0
- package/resolvers/mutation/validUserToken/index.js +13 -0
- package/resolvers/mutation/validUserToken/user.d.ts +14 -0
- package/resolvers/mutation/validUserToken/user.js +2 -0
- package/resolvers/query/admin/getUserToken.d.ts +5 -0
- package/resolvers/query/admin/getUserToken.js +2 -0
- package/resolvers/query/admin/index.d.ts +1 -0
- package/resolvers/query/admin/index.js +13 -0
- package/resolvers/query/author.d.ts +3 -0
- package/resolvers/query/author.js +2 -0
- package/resolvers/query/blog.d.ts +15 -0
- package/resolvers/query/blog.js +36 -0
- package/resolvers/query/book.d.ts +8 -0
- package/resolvers/query/book.js +2 -0
- package/resolvers/query/feedback.d.ts +3 -0
- package/resolvers/query/feedback.js +2 -0
- package/resolvers/query/index.d.ts +11 -0
- package/resolvers/query/index.js +36 -0
- package/resolvers/query/restricted/index.d.ts +10 -0
- package/resolvers/query/restricted/index.js +22 -0
- package/resolvers/query/restricted/marksheet.d.ts +47 -0
- package/resolvers/query/restricted/marksheet.js +2 -0
- package/resolvers/query/restricted/mockTests.d.ts +10 -0
- package/resolvers/query/restricted/mockTests.js +2 -0
- package/resolvers/query/restricted/osce.d.ts +45 -0
- package/resolvers/query/restricted/osce.js +118 -0
- package/resolvers/query/restricted/quesBook.d.ts +7 -0
- package/resolvers/query/restricted/quesBook.js +17 -0
- package/resolvers/query/restricted/replication.d.ts +32 -0
- package/resolvers/query/restricted/replication.js +184 -0
- package/resolvers/query/restricted/todos.d.ts +15 -0
- package/resolvers/query/restricted/todos.js +2 -0
- package/resolvers/query/restricted/topics.d.ts +10 -0
- package/resolvers/query/restricted/topics.js +2 -0
- package/resolvers/query/restricted/university.d.ts +15 -0
- package/resolvers/query/restricted/university.js +2 -0
- package/resolvers/query/restricted/user.d.ts +13 -0
- package/resolvers/query/restricted/user.js +2 -0
- package/resolvers/query/restricted/video.d.ts +11 -0
- package/resolvers/query/restricted/video.js +2 -0
- package/resolvers/query/sample.d.ts +26 -0
- package/resolvers/query/sample.js +98 -0
- package/resolvers/query/subscription.d.ts +3 -0
- package/resolvers/query/subscription.js +2 -0
- package/resolvers/query/university.d.ts +6 -0
- package/resolvers/query/university.js +2 -0
- package/resolvers/query/user.d.ts +13 -0
- package/resolvers/query/user.js +2 -0
- package/resolvers/query/video.d.ts +15 -0
- package/resolvers/query/video.js +2 -0
- package/resolvers/subscription/index.d.ts +1 -0
- package/resolvers/subscription/index.js +13 -0
- package/resolvers/subscription/osce.d.ts +66 -0
- package/resolvers/subscription/osce.js +108 -0
- package/resolvers/types.d.ts +10 -0
- package/resolvers/types.js +2 -0
- package/utils/commonFunctions.d.ts +9 -0
- package/utils/commonFunctions.js +256 -0
- package/utils/index.d.ts +9 -0
- package/utils/index.js +42 -0
- package/utils/lightgallery.d.ts +9 -0
- package/utils/lightgallery.js +88 -0
- package/utils/offlineLink.d.ts +64 -0
- package/utils/offlineLink.js +221 -0
- package/utils/random.d.ts +1 -0
- package/utils/random.js +20 -0
- package/utils/uuid4.d.ts +107 -0
- package/utils/uuid4.js +282 -0
- package/utils/webSocketLink.d.ts +7 -0
- package/utils/webSocketLink.js +22 -0
- package/utils/wordsToNumber.d.ts +1 -0
- package/utils/wordsToNumber.js +48 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface ILoginUserRes {
|
|
2
|
+
token: string;
|
|
3
|
+
stripeCustomerPortalUrl: string;
|
|
4
|
+
message: string;
|
|
5
|
+
}
|
|
6
|
+
export interface IWithToken {
|
|
7
|
+
token: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ILoginWithExpiredSupportRes {
|
|
10
|
+
activeUser: IWithToken | null;
|
|
11
|
+
expiredUser: IWithToken | null;
|
|
12
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { IChapter, Id, IVideo } from '../models';
|
|
2
|
+
import { RegisterUserInput } from '../resolvers/mutation/users';
|
|
3
|
+
export interface TokenI {
|
|
4
|
+
firstName: string;
|
|
5
|
+
lastName: string;
|
|
6
|
+
username: string;
|
|
7
|
+
iat: number;
|
|
8
|
+
exp: number;
|
|
9
|
+
}
|
|
10
|
+
export interface UserTopicQuestionsInfo {
|
|
11
|
+
question: number;
|
|
12
|
+
correctQuestions: number;
|
|
13
|
+
incorrectQuestions: number;
|
|
14
|
+
}
|
|
15
|
+
export interface UserTopicCardsInfo {
|
|
16
|
+
cardCount: number;
|
|
17
|
+
ConfidentCards: number;
|
|
18
|
+
ReviewCards: number;
|
|
19
|
+
LearnCards: number;
|
|
20
|
+
}
|
|
21
|
+
export interface TodoInfo {
|
|
22
|
+
id: Id;
|
|
23
|
+
todoId: Id;
|
|
24
|
+
cardId: Id;
|
|
25
|
+
question: string;
|
|
26
|
+
explanation: string;
|
|
27
|
+
score: number;
|
|
28
|
+
timeTaken: number;
|
|
29
|
+
dailyTask: boolean;
|
|
30
|
+
source: string;
|
|
31
|
+
}
|
|
32
|
+
export interface ISearchConcepts {
|
|
33
|
+
id: number;
|
|
34
|
+
name: string;
|
|
35
|
+
chapter: IChapter;
|
|
36
|
+
topicId: number;
|
|
37
|
+
videos: IVideo[];
|
|
38
|
+
}
|
|
39
|
+
export interface IQuesBook {
|
|
40
|
+
id: number;
|
|
41
|
+
name: string;
|
|
42
|
+
concepts: ISearchConcepts[];
|
|
43
|
+
}
|
|
44
|
+
export interface LineItemI {
|
|
45
|
+
price: string;
|
|
46
|
+
quantity: number;
|
|
47
|
+
}
|
|
48
|
+
export interface CheckoutSessionArgsI {
|
|
49
|
+
priceId: string;
|
|
50
|
+
data: RegisterUserInput;
|
|
51
|
+
}
|
|
52
|
+
export interface IUniversityCalculation {
|
|
53
|
+
universityId: number;
|
|
54
|
+
specialityTopicId: number;
|
|
55
|
+
specialityTopicCorrect: number;
|
|
56
|
+
totalCorrect: number;
|
|
57
|
+
totalIncorrect: number;
|
|
58
|
+
totalCount: number;
|
|
59
|
+
rank: number;
|
|
60
|
+
}
|
|
61
|
+
export interface IUniversityCalculationMap {
|
|
62
|
+
[key: number]: IUniversityCalculation;
|
|
63
|
+
}
|
|
64
|
+
export interface IQuestionLike {
|
|
65
|
+
like: number;
|
|
66
|
+
dislike: number;
|
|
67
|
+
}
|
|
68
|
+
export interface ICheckoutSessionRes {
|
|
69
|
+
sessionId: string;
|
|
70
|
+
tempUserId: number;
|
|
71
|
+
}
|
|
72
|
+
export interface WithError {
|
|
73
|
+
error: string;
|
|
74
|
+
isError: boolean;
|
|
75
|
+
}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export * as Models from './models';
|
|
2
|
+
export * from './resolvers';
|
|
3
|
+
export * as utils from './utils';
|
|
4
|
+
export declare const ERRORS: {
|
|
5
|
+
TOKEN_INVALID: string;
|
|
6
|
+
TOKEN_MISSING: string;
|
|
7
|
+
TOKEN_EXPIRED: string;
|
|
8
|
+
SUBSCRIPTION_EXPIRED: string;
|
|
9
|
+
PERMISSION_INVALID: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const FCM_TOPICS: {
|
|
12
|
+
GLOBAL: string;
|
|
13
|
+
QBANK: string;
|
|
14
|
+
OSCE: string;
|
|
15
|
+
};
|
|
16
|
+
export declare enum EPlatformId {
|
|
17
|
+
QBANK = 0,
|
|
18
|
+
OSCE = 1
|
|
19
|
+
}
|
|
20
|
+
export declare const termsAndConditions = "# Group Study Conduct Policy\n\nAs future clinicians, we expect that you treat your colleagues fairly and with respect.\nAs a result, we will not tolerate the following actions during use of the Quesmed platform:\n\n- Violent threats\n- Wishing, hoping or calling for serious harm on a person or group of people\n- Incitement against individuals or groups\n- Slurs, racist and sexist tropes\n- Degrading others\n- Unwanted sexual advances\n\nWhen determining the penalty for violating our conduct policy, we consider a number of factors including the severity of the violation and the individual's record of violations. We reserve the right to immediately de-activate any account that violates our conduct policy. We may also consider raising concerns to the individual's licensing body (e.g. GMC) on a case-by-case basis.\n\nBy using the platform, you agree to be bound by our conduct policy as described above.";
|
|
21
|
+
export declare const medicalWords: string[][];
|
|
22
|
+
export declare function generateDisplayName(firstName: string, lastName: string): string;
|
package/index.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
22
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.generateDisplayName = exports.medicalWords = exports.termsAndConditions = exports.EPlatformId = exports.FCM_TOPICS = exports.ERRORS = exports.utils = exports.Models = void 0;
|
|
26
|
+
const random_1 = require("./utils/random");
|
|
27
|
+
exports.Models = __importStar(require("./models"));
|
|
28
|
+
__exportStar(require("./resolvers"), exports);
|
|
29
|
+
exports.utils = __importStar(require("./utils"));
|
|
30
|
+
exports.ERRORS = {
|
|
31
|
+
TOKEN_INVALID: 'Invalid token.',
|
|
32
|
+
TOKEN_MISSING: 'Missing token.',
|
|
33
|
+
TOKEN_EXPIRED: 'Expired token.',
|
|
34
|
+
SUBSCRIPTION_EXPIRED: 'Expired subscription.',
|
|
35
|
+
PERMISSION_INVALID: 'Invalid permission.',
|
|
36
|
+
};
|
|
37
|
+
exports.FCM_TOPICS = {
|
|
38
|
+
GLOBAL: 'global',
|
|
39
|
+
QBANK: 'qbank',
|
|
40
|
+
OSCE: 'osce',
|
|
41
|
+
};
|
|
42
|
+
var EPlatformId;
|
|
43
|
+
(function (EPlatformId) {
|
|
44
|
+
EPlatformId[EPlatformId["QBANK"] = 0] = "QBANK";
|
|
45
|
+
EPlatformId[EPlatformId["OSCE"] = 1] = "OSCE";
|
|
46
|
+
})(EPlatformId = exports.EPlatformId || (exports.EPlatformId = {}));
|
|
47
|
+
exports.termsAndConditions = `# Group Study Conduct Policy
|
|
48
|
+
|
|
49
|
+
As future clinicians, we expect that you treat your colleagues fairly and with respect.
|
|
50
|
+
As a result, we will not tolerate the following actions during use of the Quesmed platform:
|
|
51
|
+
|
|
52
|
+
- Violent threats
|
|
53
|
+
- Wishing, hoping or calling for serious harm on a person or group of people
|
|
54
|
+
- Incitement against individuals or groups
|
|
55
|
+
- Slurs, racist and sexist tropes
|
|
56
|
+
- Degrading others
|
|
57
|
+
- Unwanted sexual advances
|
|
58
|
+
|
|
59
|
+
When determining the penalty for violating our conduct policy, we consider a number of factors including the severity of the violation and the individual's record of violations. We reserve the right to immediately de-activate any account that violates our conduct policy. We may also consider raising concerns to the individual's licensing body (e.g. GMC) on a case-by-case basis.
|
|
60
|
+
|
|
61
|
+
By using the platform, you agree to be bound by our conduct policy as described above.`;
|
|
62
|
+
exports.medicalWords = [
|
|
63
|
+
['Abrasion', 'Abscess', 'Acute', 'Amnesia', 'Anterior', 'Axillary'],
|
|
64
|
+
['Benign', 'Biopsy', 'Botox', 'Bladder', 'Body', 'Bradykinin'],
|
|
65
|
+
['Chronic', 'Contusion', 'Cystic', 'Complement', 'CT'],
|
|
66
|
+
['Defibrillator', 'Dermis', 'DNA', 'Dorsal', 'Dominant'],
|
|
67
|
+
['Edema', 'Embolism', 'Epidermis', 'Endoscope'],
|
|
68
|
+
['Fracture', 'Fibrillation', 'Flutter', 'Fever', 'Fungal', 'Fibrosis'],
|
|
69
|
+
['Gland', 'Gastro', 'Gas', 'Gallbladder'],
|
|
70
|
+
['Hypertension', 'Hematoma', 'Haemophilus', 'Hallux', 'Hereditary'],
|
|
71
|
+
['Inpatient', 'Intravenous', 'Intubation'],
|
|
72
|
+
['JAK', 'Juice', 'Jargon', 'Jaundice'],
|
|
73
|
+
['Kinin', 'Ketone', 'Kawasaki', 'Kinase'],
|
|
74
|
+
['Lung', 'Liver', 'Lymph', 'Loose', 'Lumbar', 'Lateral'],
|
|
75
|
+
['Monoclonal', 'Myopathy', 'Myotonia', 'Metabolism', 'Migraine'],
|
|
76
|
+
['Neoplasia', 'NICU', 'Nightshift'],
|
|
77
|
+
['Outpatient', 'Osteoporosis', 'Otitis', 'Odor'],
|
|
78
|
+
['Prognosis', 'Power', 'Poisoning', 'Pudendal', 'Polyps', 'Prone'],
|
|
79
|
+
['QRS', 'Qwave', 'Quaternary'],
|
|
80
|
+
['Relapse', 'Rhinoplasty', 'Retrograde', 'RNA', 'Recessive'],
|
|
81
|
+
[
|
|
82
|
+
'Suture',
|
|
83
|
+
'Serotonin',
|
|
84
|
+
'Sclerosis',
|
|
85
|
+
'Stasis',
|
|
86
|
+
'Serpiginous',
|
|
87
|
+
'Syndrome',
|
|
88
|
+
'Supine',
|
|
89
|
+
],
|
|
90
|
+
[
|
|
91
|
+
'Transplant',
|
|
92
|
+
'Thermoregulator',
|
|
93
|
+
'Tyrosine',
|
|
94
|
+
'Tachycardia',
|
|
95
|
+
'Tazocin',
|
|
96
|
+
'Tanoy',
|
|
97
|
+
],
|
|
98
|
+
['Uveitis', 'Uremic', 'Urology', 'Upright', 'Uwave'],
|
|
99
|
+
['Viral', 'Vaccine', 'Vitamin', 'Versicolor', 'Ventral'],
|
|
100
|
+
['Wilsons', 'WBC', 'Womb'],
|
|
101
|
+
['X-ray', 'Xeno', 'X-linked'],
|
|
102
|
+
['Yellow', 'Yersinia', 'Yeast'],
|
|
103
|
+
['Zika', 'Zebras', 'Zygomatic', 'Z-line'],
|
|
104
|
+
];
|
|
105
|
+
function generateDisplayName(firstName, lastName) {
|
|
106
|
+
let firstNameChar = firstName.toLowerCase().charCodeAt(0) - 97;
|
|
107
|
+
if (isNaN(firstNameChar) || firstNameChar > 25 || firstNameChar < 0) {
|
|
108
|
+
firstNameChar = Math.round(Math.random() * 25);
|
|
109
|
+
}
|
|
110
|
+
let lastNameChar = lastName.toLowerCase().charCodeAt(0) - 97 || Math.round(Math.random() * 25);
|
|
111
|
+
if (isNaN(lastNameChar) || lastNameChar > 25 || lastNameChar < 0) {
|
|
112
|
+
lastNameChar = Math.round(Math.random() * 25);
|
|
113
|
+
}
|
|
114
|
+
let displayName;
|
|
115
|
+
const medWordsFirstName = (0, random_1.getRandom)(exports.medicalWords[firstNameChar], 2);
|
|
116
|
+
if (firstNameChar === lastNameChar) {
|
|
117
|
+
displayName = `${medWordsFirstName[0]} ${medWordsFirstName[1]}`;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
displayName = `${medWordsFirstName[0]} ${(0, random_1.getRandom)(exports.medicalWords[lastNameChar], 1)[0]}`;
|
|
121
|
+
}
|
|
122
|
+
return displayName;
|
|
123
|
+
}
|
|
124
|
+
exports.generateDisplayName = generateDisplayName;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Id } from './Type';
|
|
2
|
+
export interface IAuthor {
|
|
3
|
+
id: Id;
|
|
4
|
+
createdAt: number | Date;
|
|
5
|
+
updatedAt: number | Date;
|
|
6
|
+
name: string;
|
|
7
|
+
qualifications: string | null;
|
|
8
|
+
title: string;
|
|
9
|
+
description: string;
|
|
10
|
+
avatar: string;
|
|
11
|
+
linkedIn: string;
|
|
12
|
+
twitter: string;
|
|
13
|
+
facebook: string;
|
|
14
|
+
}
|
package/models/Author.js
ADDED
package/models/Blog.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Id } from './Type';
|
|
2
|
+
export interface IBlogTag {
|
|
3
|
+
id: Id;
|
|
4
|
+
createdAt: number | Date;
|
|
5
|
+
name: string;
|
|
6
|
+
}
|
|
7
|
+
export interface IBlogPost {
|
|
8
|
+
id: Id;
|
|
9
|
+
createdAt: number | Date;
|
|
10
|
+
updatedAt: number | Date;
|
|
11
|
+
title: string;
|
|
12
|
+
body: string;
|
|
13
|
+
tags?: IBlogTag[];
|
|
14
|
+
relatedBlogPosts?: IBlogPost[];
|
|
15
|
+
}
|
package/models/Blog.js
ADDED
package/models/Book.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IAuthor } from './Author';
|
|
2
|
+
import { Id } from './Type';
|
|
3
|
+
export interface IBook {
|
|
4
|
+
id: Id;
|
|
5
|
+
createdAt: number | Date;
|
|
6
|
+
updatedAt: number | Date;
|
|
7
|
+
name: string;
|
|
8
|
+
publisher: string;
|
|
9
|
+
publishDate: number | Date;
|
|
10
|
+
pages: number;
|
|
11
|
+
format: string;
|
|
12
|
+
language: string;
|
|
13
|
+
type: string;
|
|
14
|
+
ISBN: number;
|
|
15
|
+
price: number;
|
|
16
|
+
avatar: string;
|
|
17
|
+
heroImg: string;
|
|
18
|
+
description: string;
|
|
19
|
+
chapters: string | string[];
|
|
20
|
+
stripePriceId: string;
|
|
21
|
+
authors: IAuthor[];
|
|
22
|
+
}
|
package/models/Book.js
ADDED
package/models/Card.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IConcept } from './Concept';
|
|
2
|
+
import { IPicture } from './Picture';
|
|
3
|
+
import { ITopic } from './Topic';
|
|
4
|
+
import { Id } from './Type';
|
|
5
|
+
export interface ICard {
|
|
6
|
+
id: Id;
|
|
7
|
+
createdAt: number | Date;
|
|
8
|
+
updatedAt: number | Date;
|
|
9
|
+
topic: ITopic;
|
|
10
|
+
conceptId: Id;
|
|
11
|
+
concept: IConcept;
|
|
12
|
+
question: string;
|
|
13
|
+
explanation: string;
|
|
14
|
+
public: boolean;
|
|
15
|
+
pictures: IPicture[];
|
|
16
|
+
}
|
package/models/Card.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IFile } from './File';
|
|
2
|
+
import { IPicture } from './Picture';
|
|
3
|
+
import { ETopicType } from './Topic';
|
|
4
|
+
import { Id } from './Type';
|
|
5
|
+
import { IVideo } from './Video';
|
|
6
|
+
export interface IChapter {
|
|
7
|
+
id: Id;
|
|
8
|
+
createdAt: number | Date;
|
|
9
|
+
updatedAt: number | Date;
|
|
10
|
+
explanation: string | null;
|
|
11
|
+
typeId: ETopicType | null;
|
|
12
|
+
pictures?: IPicture[];
|
|
13
|
+
videos?: IVideo[];
|
|
14
|
+
files?: IFile[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IChapter } from './Chapter';
|
|
2
|
+
import { ITopic } from './Topic';
|
|
3
|
+
import { Id } from './Type';
|
|
4
|
+
import { IVideo } from './Video';
|
|
5
|
+
export interface IConcept {
|
|
6
|
+
id: Id;
|
|
7
|
+
createdAt: number | Date;
|
|
8
|
+
updatedAt: number | Date;
|
|
9
|
+
name: string;
|
|
10
|
+
topicId: Id;
|
|
11
|
+
topic?: ITopic;
|
|
12
|
+
chapterId: Id;
|
|
13
|
+
chapter?: IChapter;
|
|
14
|
+
videos?: IVideo[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EDifficultyType = void 0;
|
|
4
|
+
var EDifficultyType;
|
|
5
|
+
(function (EDifficultyType) {
|
|
6
|
+
EDifficultyType[EDifficultyType["ALL"] = 0] = "ALL";
|
|
7
|
+
EDifficultyType[EDifficultyType["CORE"] = 1] = "CORE";
|
|
8
|
+
EDifficultyType[EDifficultyType["CHALLENGING"] = 2] = "CHALLENGING";
|
|
9
|
+
EDifficultyType[EDifficultyType["DIFFICULT"] = 3] = "DIFFICULT";
|
|
10
|
+
})(EDifficultyType = exports.EDifficultyType || (exports.EDifficultyType = {}));
|
package/models/File.d.ts
ADDED
package/models/File.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IPrescribeAnswer, IPrescribeMark, IQuestion, IQuestionChoice, IQuestionQAAnswer } from './Question';
|
|
2
|
+
import { Id } from './Type';
|
|
3
|
+
import { IUser } from './User';
|
|
4
|
+
export interface IMarksheet {
|
|
5
|
+
id: Id;
|
|
6
|
+
createdAt: number | Date;
|
|
7
|
+
updatedAt: number | Date;
|
|
8
|
+
startedAt: number | Date;
|
|
9
|
+
endedAt: number | Date;
|
|
10
|
+
topicIds: number[];
|
|
11
|
+
topicNames?: string[];
|
|
12
|
+
source: string;
|
|
13
|
+
userId: Id;
|
|
14
|
+
user?: IUser;
|
|
15
|
+
marks: IMarksheetMark[];
|
|
16
|
+
mockTestId: number | null;
|
|
17
|
+
correct?: number;
|
|
18
|
+
incorrect?: number;
|
|
19
|
+
totalQuestions?: number;
|
|
20
|
+
isTestMarksheet?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare type IMarksheetMarkJSONB = string | [string] | [IQuestionQAAnswer] | [string[], string[]] | [IPrescribeMark] | IPrescribeAnswer | null;
|
|
23
|
+
export interface IMarksheetMark {
|
|
24
|
+
id: Id;
|
|
25
|
+
createdAt: number | Date;
|
|
26
|
+
updatedAt: number | Date;
|
|
27
|
+
index: number;
|
|
28
|
+
marksheetId: Id;
|
|
29
|
+
questionChoiceId: Id | null;
|
|
30
|
+
questionChoices?: IQuestionChoice;
|
|
31
|
+
timeTaken: number;
|
|
32
|
+
flagged: boolean;
|
|
33
|
+
questionId: Id;
|
|
34
|
+
question: IQuestion;
|
|
35
|
+
mark: IMarksheetMarkJSONB;
|
|
36
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IQuestion } from './Question';
|
|
2
|
+
import { ETopicType } from './Topic';
|
|
3
|
+
import { Id } from './Type';
|
|
4
|
+
export interface IMockTest {
|
|
5
|
+
id: Id;
|
|
6
|
+
createdAt: number | Date;
|
|
7
|
+
title: string;
|
|
8
|
+
typeId: ETopicType | null;
|
|
9
|
+
passingMark: number;
|
|
10
|
+
public: boolean;
|
|
11
|
+
questions: IQuestion[];
|
|
12
|
+
}
|
|
13
|
+
export interface IUserMockTest {
|
|
14
|
+
id: Id;
|
|
15
|
+
title: string;
|
|
16
|
+
correct: number;
|
|
17
|
+
incorrect: number;
|
|
18
|
+
totalQuestions: number;
|
|
19
|
+
lastMarksheetId?: Id;
|
|
20
|
+
lastMarksheetStartedAt?: number | Date;
|
|
21
|
+
lastMarksheetEndedAt?: number | Date;
|
|
22
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { IOsceStation, IOsceStationMark, IOsceType } from './OsceStation';
|
|
2
|
+
import { Id } from './Type';
|
|
3
|
+
import { IUser } from './User';
|
|
4
|
+
export interface IOsceMarksheetUser {
|
|
5
|
+
id: Id | null;
|
|
6
|
+
createdAt: number | Date | null;
|
|
7
|
+
osceMarksheetId: Id;
|
|
8
|
+
userId: Id | null;
|
|
9
|
+
user: IUser | null;
|
|
10
|
+
role: EOsceRoles | null;
|
|
11
|
+
}
|
|
12
|
+
export interface IOsceMarksheetMark {
|
|
13
|
+
id: Id;
|
|
14
|
+
index: number;
|
|
15
|
+
mark: boolean;
|
|
16
|
+
osceMarksheetId: Id;
|
|
17
|
+
osceMarksheet?: IOsceMarksheet;
|
|
18
|
+
osceStationMarkId: Id;
|
|
19
|
+
osceStationMark?: IOsceStationMark;
|
|
20
|
+
}
|
|
21
|
+
export declare enum EOsceRoles {
|
|
22
|
+
ALL = 0,
|
|
23
|
+
CANDIDATE = 1,
|
|
24
|
+
ACTOR = 2,
|
|
25
|
+
EXAMINER = 3,
|
|
26
|
+
OBSERVER = 4
|
|
27
|
+
}
|
|
28
|
+
export declare enum EOsceMarksheetAction {
|
|
29
|
+
PRESTART = 0,
|
|
30
|
+
START = 1,
|
|
31
|
+
END = 2,
|
|
32
|
+
PAUSE = 3,
|
|
33
|
+
CONTINUE = 4,
|
|
34
|
+
CONNECT = 5,
|
|
35
|
+
DISCONNECT = 6,
|
|
36
|
+
SELECT = 7,
|
|
37
|
+
LEFT = 8,
|
|
38
|
+
KICK = 9
|
|
39
|
+
}
|
|
40
|
+
export declare enum EOsceMarksheetState {
|
|
41
|
+
LOBBY = 0,
|
|
42
|
+
PRESTART = 1,
|
|
43
|
+
STATION = 2
|
|
44
|
+
}
|
|
45
|
+
export interface IOsceMarksheet {
|
|
46
|
+
id: Id;
|
|
47
|
+
createdAt: number | Date;
|
|
48
|
+
updatedAt: number | Date;
|
|
49
|
+
timeTaken: number;
|
|
50
|
+
osceStationId: Id;
|
|
51
|
+
osceStation?: IOsceStation;
|
|
52
|
+
userId?: Id;
|
|
53
|
+
role?: EOsceRoles;
|
|
54
|
+
solo: boolean;
|
|
55
|
+
score: number;
|
|
56
|
+
globalScore: number;
|
|
57
|
+
feedback: string;
|
|
58
|
+
agoraId: string;
|
|
59
|
+
readingTime: number;
|
|
60
|
+
stationTime: number;
|
|
61
|
+
feedbackTime: number;
|
|
62
|
+
startedAt: number | Date;
|
|
63
|
+
endedAt: number | Date;
|
|
64
|
+
pausedAt: number | Date;
|
|
65
|
+
timeRemaining: string;
|
|
66
|
+
totalStationTime: string;
|
|
67
|
+
stageTime: string;
|
|
68
|
+
stage: EOsceStage;
|
|
69
|
+
marks: IOsceMarksheetMark[];
|
|
70
|
+
users: IOsceMarksheetUser[];
|
|
71
|
+
members: IUser[];
|
|
72
|
+
state: EOsceMarksheetState;
|
|
73
|
+
completed: boolean;
|
|
74
|
+
}
|
|
75
|
+
export interface IDashboardOsce {
|
|
76
|
+
lastAgoraId: string;
|
|
77
|
+
types: IOsceType[];
|
|
78
|
+
avgScore: number;
|
|
79
|
+
completed: number;
|
|
80
|
+
total: number;
|
|
81
|
+
}
|
|
82
|
+
export interface IOsceTypeDashboard extends IOsceType {
|
|
83
|
+
completed: number;
|
|
84
|
+
total: number;
|
|
85
|
+
avgScore: number;
|
|
86
|
+
}
|
|
87
|
+
export declare enum EOsceTimerState {
|
|
88
|
+
START = 0,
|
|
89
|
+
PAUSE = 1,
|
|
90
|
+
COMPLETED = 2
|
|
91
|
+
}
|
|
92
|
+
export declare enum EOsceStage {
|
|
93
|
+
READING = 0,
|
|
94
|
+
STATION = 1,
|
|
95
|
+
FEEDBACK = 2
|
|
96
|
+
}
|
|
97
|
+
export interface IOsceMarksheetTimer {
|
|
98
|
+
osceMarksheetId: number;
|
|
99
|
+
timeRemaining: string;
|
|
100
|
+
totalStationTime: string;
|
|
101
|
+
stageTime: string;
|
|
102
|
+
stage: EOsceStage;
|
|
103
|
+
state: EOsceTimerState;
|
|
104
|
+
}
|
|
105
|
+
export declare function createTimerPayload(osceMarksheet: Partial<Omit<IOsceMarksheet, 'marks'>>): IOsceMarksheetTimer;
|