@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.
Files changed (183) hide show
  1. package/gql_input_output_types/User.d.ts +12 -0
  2. package/gql_input_output_types/User.js +2 -0
  3. package/gql_input_output_types/index.d.ts +75 -0
  4. package/gql_input_output_types/index.js +2 -0
  5. package/index.d.ts +22 -0
  6. package/index.js +124 -0
  7. package/models/Author.d.ts +14 -0
  8. package/models/Author.js +2 -0
  9. package/models/Blog.d.ts +15 -0
  10. package/models/Blog.js +2 -0
  11. package/models/Book.d.ts +22 -0
  12. package/models/Book.js +2 -0
  13. package/models/Card.d.ts +16 -0
  14. package/models/Card.js +2 -0
  15. package/models/Chapter.d.ts +15 -0
  16. package/models/Chapter.js +2 -0
  17. package/models/Concept.d.ts +15 -0
  18. package/models/Concept.js +2 -0
  19. package/models/Difficulty.d.ts +6 -0
  20. package/models/Difficulty.js +10 -0
  21. package/models/Feedback.d.ts +8 -0
  22. package/models/Feedback.js +2 -0
  23. package/models/File.d.ts +10 -0
  24. package/models/File.js +2 -0
  25. package/models/Marksheet.d.ts +36 -0
  26. package/models/Marksheet.js +2 -0
  27. package/models/MockTest.d.ts +22 -0
  28. package/models/MockTest.js +2 -0
  29. package/models/OsceMarksheet.d.ts +105 -0
  30. package/models/OsceMarksheet.js +103 -0
  31. package/models/OsceStation.d.ts +54 -0
  32. package/models/OsceStation.js +45 -0
  33. package/models/Picture.d.ts +14 -0
  34. package/models/Picture.js +2 -0
  35. package/models/Promo.d.ts +14 -0
  36. package/models/Promo.js +2 -0
  37. package/models/Question.d.ts +115 -0
  38. package/models/Question.js +43 -0
  39. package/models/Subscription.d.ts +17 -0
  40. package/models/Subscription.js +9 -0
  41. package/models/Todo.d.ts +33 -0
  42. package/models/Todo.js +2 -0
  43. package/models/Token.d.ts +9 -0
  44. package/models/Token.js +2 -0
  45. package/models/Topic.d.ts +32 -0
  46. package/models/Topic.js +13 -0
  47. package/models/Type.d.ts +7 -0
  48. package/models/Type.js +2 -0
  49. package/models/University.d.ts +5 -0
  50. package/models/University.js +2 -0
  51. package/models/User.d.ts +119 -0
  52. package/models/User.js +70 -0
  53. package/models/Video.d.ts +26 -0
  54. package/models/Video.js +2 -0
  55. package/models/index.d.ts +24 -0
  56. package/models/index.js +36 -0
  57. package/package.json +35 -0
  58. package/resolvers/apollo.d.ts +8 -0
  59. package/resolvers/apollo.js +2 -0
  60. package/resolvers/fragments/blog.d.ts +1 -0
  61. package/resolvers/fragments/blog.js +17 -0
  62. package/resolvers/fragments/chapter.d.ts +1 -0
  63. package/resolvers/fragments/chapter.js +25 -0
  64. package/resolvers/fragments/concept.d.ts +3 -0
  65. package/resolvers/fragments/concept.js +79 -0
  66. package/resolvers/fragments/index.d.ts +7 -0
  67. package/resolvers/fragments/index.js +19 -0
  68. package/resolvers/fragments/osce.d.ts +5 -0
  69. package/resolvers/fragments/osce.js +139 -0
  70. package/resolvers/fragments/picture.d.ts +1 -0
  71. package/resolvers/fragments/picture.js +22 -0
  72. package/resolvers/fragments/user.d.ts +1 -0
  73. package/resolvers/fragments/user.js +39 -0
  74. package/resolvers/fragments/video.d.ts +2 -0
  75. package/resolvers/fragments/video.js +58 -0
  76. package/resolvers/index.d.ts +12 -0
  77. package/resolvers/index.js +38 -0
  78. package/resolvers/mutation/admin/algoliaSync.d.ts +9 -0
  79. package/resolvers/mutation/admin/algoliaSync.js +2 -0
  80. package/resolvers/mutation/admin/index.d.ts +2 -0
  81. package/resolvers/mutation/admin/index.js +14 -0
  82. package/resolvers/mutation/admin/token.d.ts +25 -0
  83. package/resolvers/mutation/admin/token.js +2 -0
  84. package/resolvers/mutation/index.d.ts +5 -0
  85. package/resolvers/mutation/index.js +30 -0
  86. package/resolvers/mutation/restricted/agora.d.ts +10 -0
  87. package/resolvers/mutation/restricted/agora.js +11 -0
  88. package/resolvers/mutation/restricted/contactUs.d.ts +17 -0
  89. package/resolvers/mutation/restricted/contactUs.js +2 -0
  90. package/resolvers/mutation/restricted/index.d.ts +10 -0
  91. package/resolvers/mutation/restricted/index.js +22 -0
  92. package/resolvers/mutation/restricted/marksheet.d.ts +41 -0
  93. package/resolvers/mutation/restricted/marksheet.js +2 -0
  94. package/resolvers/mutation/restricted/mockTest.d.ts +16 -0
  95. package/resolvers/mutation/restricted/mockTest.js +2 -0
  96. package/resolvers/mutation/restricted/osce.d.ts +87 -0
  97. package/resolvers/mutation/restricted/osce.js +222 -0
  98. package/resolvers/mutation/restricted/questionDiscussion.d.ts +24 -0
  99. package/resolvers/mutation/restricted/questionDiscussion.js +2 -0
  100. package/resolvers/mutation/restricted/todo.d.ts +32 -0
  101. package/resolvers/mutation/restricted/todo.js +2 -0
  102. package/resolvers/mutation/restricted/token.d.ts +21 -0
  103. package/resolvers/mutation/restricted/token.js +2 -0
  104. package/resolvers/mutation/restricted/users.d.ts +29 -0
  105. package/resolvers/mutation/restricted/users.js +11 -0
  106. package/resolvers/mutation/restricted/video.d.ts +6 -0
  107. package/resolvers/mutation/restricted/video.js +2 -0
  108. package/resolvers/mutation/stripe.d.ts +11 -0
  109. package/resolvers/mutation/stripe.js +2 -0
  110. package/resolvers/mutation/users.d.ts +32 -0
  111. package/resolvers/mutation/users.js +2 -0
  112. package/resolvers/mutation/validUserToken/index.d.ts +1 -0
  113. package/resolvers/mutation/validUserToken/index.js +13 -0
  114. package/resolvers/mutation/validUserToken/user.d.ts +14 -0
  115. package/resolvers/mutation/validUserToken/user.js +2 -0
  116. package/resolvers/query/admin/getUserToken.d.ts +5 -0
  117. package/resolvers/query/admin/getUserToken.js +2 -0
  118. package/resolvers/query/admin/index.d.ts +1 -0
  119. package/resolvers/query/admin/index.js +13 -0
  120. package/resolvers/query/author.d.ts +3 -0
  121. package/resolvers/query/author.js +2 -0
  122. package/resolvers/query/blog.d.ts +15 -0
  123. package/resolvers/query/blog.js +36 -0
  124. package/resolvers/query/book.d.ts +8 -0
  125. package/resolvers/query/book.js +2 -0
  126. package/resolvers/query/feedback.d.ts +3 -0
  127. package/resolvers/query/feedback.js +2 -0
  128. package/resolvers/query/index.d.ts +11 -0
  129. package/resolvers/query/index.js +36 -0
  130. package/resolvers/query/restricted/index.d.ts +10 -0
  131. package/resolvers/query/restricted/index.js +22 -0
  132. package/resolvers/query/restricted/marksheet.d.ts +47 -0
  133. package/resolvers/query/restricted/marksheet.js +2 -0
  134. package/resolvers/query/restricted/mockTests.d.ts +10 -0
  135. package/resolvers/query/restricted/mockTests.js +2 -0
  136. package/resolvers/query/restricted/osce.d.ts +45 -0
  137. package/resolvers/query/restricted/osce.js +118 -0
  138. package/resolvers/query/restricted/quesBook.d.ts +7 -0
  139. package/resolvers/query/restricted/quesBook.js +17 -0
  140. package/resolvers/query/restricted/replication.d.ts +32 -0
  141. package/resolvers/query/restricted/replication.js +184 -0
  142. package/resolvers/query/restricted/todos.d.ts +15 -0
  143. package/resolvers/query/restricted/todos.js +2 -0
  144. package/resolvers/query/restricted/topics.d.ts +10 -0
  145. package/resolvers/query/restricted/topics.js +2 -0
  146. package/resolvers/query/restricted/university.d.ts +15 -0
  147. package/resolvers/query/restricted/university.js +2 -0
  148. package/resolvers/query/restricted/user.d.ts +13 -0
  149. package/resolvers/query/restricted/user.js +2 -0
  150. package/resolvers/query/restricted/video.d.ts +11 -0
  151. package/resolvers/query/restricted/video.js +2 -0
  152. package/resolvers/query/sample.d.ts +26 -0
  153. package/resolvers/query/sample.js +98 -0
  154. package/resolvers/query/subscription.d.ts +3 -0
  155. package/resolvers/query/subscription.js +2 -0
  156. package/resolvers/query/university.d.ts +6 -0
  157. package/resolvers/query/university.js +2 -0
  158. package/resolvers/query/user.d.ts +13 -0
  159. package/resolvers/query/user.js +2 -0
  160. package/resolvers/query/video.d.ts +15 -0
  161. package/resolvers/query/video.js +2 -0
  162. package/resolvers/subscription/index.d.ts +1 -0
  163. package/resolvers/subscription/index.js +13 -0
  164. package/resolvers/subscription/osce.d.ts +66 -0
  165. package/resolvers/subscription/osce.js +108 -0
  166. package/resolvers/types.d.ts +10 -0
  167. package/resolvers/types.js +2 -0
  168. package/utils/commonFunctions.d.ts +9 -0
  169. package/utils/commonFunctions.js +256 -0
  170. package/utils/index.d.ts +9 -0
  171. package/utils/index.js +42 -0
  172. package/utils/lightgallery.d.ts +9 -0
  173. package/utils/lightgallery.js +88 -0
  174. package/utils/offlineLink.d.ts +64 -0
  175. package/utils/offlineLink.js +221 -0
  176. package/utils/random.d.ts +1 -0
  177. package/utils/random.js +20 -0
  178. package/utils/uuid4.d.ts +107 -0
  179. package/utils/uuid4.js +282 -0
  180. package/utils/webSocketLink.d.ts +7 -0
  181. package/utils/webSocketLink.js +22 -0
  182. package/utils/wordsToNumber.d.ts +1 -0
  183. 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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
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
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ export declare enum EDifficultyType {
2
+ ALL = 0,
3
+ CORE = 1,
4
+ CHALLENGING = 2,
5
+ DIFFICULT = 3
6
+ }
@@ -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 = {}));
@@ -0,0 +1,8 @@
1
+ import { Id } from './Type';
2
+ export interface IFeedback {
3
+ id: Id;
4
+ createdAt: number | Date;
5
+ name: string;
6
+ feedback: string;
7
+ university: string;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ import { Id } from './Type';
2
+ export interface IFile {
3
+ id: Id;
4
+ createdAt: number | Date;
5
+ updatedAt: number | Date;
6
+ title: string;
7
+ url: string;
8
+ videoId: Id | null;
9
+ chapterId: Id | null;
10
+ }
package/models/File.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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;