@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,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTimerPayload = exports.EOsceStage = exports.EOsceTimerState = exports.EOsceMarksheetState = exports.EOsceMarksheetAction = exports.EOsceRoles = void 0;
4
+ const utils_1 = require("../utils");
5
+ var EOsceRoles;
6
+ (function (EOsceRoles) {
7
+ EOsceRoles[EOsceRoles["ALL"] = 0] = "ALL";
8
+ EOsceRoles[EOsceRoles["CANDIDATE"] = 1] = "CANDIDATE";
9
+ EOsceRoles[EOsceRoles["ACTOR"] = 2] = "ACTOR";
10
+ EOsceRoles[EOsceRoles["EXAMINER"] = 3] = "EXAMINER";
11
+ EOsceRoles[EOsceRoles["OBSERVER"] = 4] = "OBSERVER";
12
+ })(EOsceRoles = exports.EOsceRoles || (exports.EOsceRoles = {}));
13
+ var EOsceMarksheetAction;
14
+ (function (EOsceMarksheetAction) {
15
+ EOsceMarksheetAction[EOsceMarksheetAction["PRESTART"] = 0] = "PRESTART";
16
+ EOsceMarksheetAction[EOsceMarksheetAction["START"] = 1] = "START";
17
+ EOsceMarksheetAction[EOsceMarksheetAction["END"] = 2] = "END";
18
+ EOsceMarksheetAction[EOsceMarksheetAction["PAUSE"] = 3] = "PAUSE";
19
+ EOsceMarksheetAction[EOsceMarksheetAction["CONTINUE"] = 4] = "CONTINUE";
20
+ EOsceMarksheetAction[EOsceMarksheetAction["CONNECT"] = 5] = "CONNECT";
21
+ EOsceMarksheetAction[EOsceMarksheetAction["DISCONNECT"] = 6] = "DISCONNECT";
22
+ EOsceMarksheetAction[EOsceMarksheetAction["SELECT"] = 7] = "SELECT";
23
+ EOsceMarksheetAction[EOsceMarksheetAction["LEFT"] = 8] = "LEFT";
24
+ EOsceMarksheetAction[EOsceMarksheetAction["KICK"] = 9] = "KICK";
25
+ })(EOsceMarksheetAction = exports.EOsceMarksheetAction || (exports.EOsceMarksheetAction = {}));
26
+ var EOsceMarksheetState;
27
+ (function (EOsceMarksheetState) {
28
+ EOsceMarksheetState[EOsceMarksheetState["LOBBY"] = 0] = "LOBBY";
29
+ EOsceMarksheetState[EOsceMarksheetState["PRESTART"] = 1] = "PRESTART";
30
+ EOsceMarksheetState[EOsceMarksheetState["STATION"] = 2] = "STATION";
31
+ })(EOsceMarksheetState = exports.EOsceMarksheetState || (exports.EOsceMarksheetState = {}));
32
+ var EOsceTimerState;
33
+ (function (EOsceTimerState) {
34
+ EOsceTimerState[EOsceTimerState["START"] = 0] = "START";
35
+ EOsceTimerState[EOsceTimerState["PAUSE"] = 1] = "PAUSE";
36
+ EOsceTimerState[EOsceTimerState["COMPLETED"] = 2] = "COMPLETED";
37
+ })(EOsceTimerState = exports.EOsceTimerState || (exports.EOsceTimerState = {}));
38
+ var EOsceStage;
39
+ (function (EOsceStage) {
40
+ EOsceStage[EOsceStage["READING"] = 0] = "READING";
41
+ EOsceStage[EOsceStage["STATION"] = 1] = "STATION";
42
+ EOsceStage[EOsceStage["FEEDBACK"] = 2] = "FEEDBACK";
43
+ })(EOsceStage = exports.EOsceStage || (exports.EOsceStage = {}));
44
+ function createTimerPayload(osceMarksheet) {
45
+ const payload = {
46
+ osceMarksheetId: osceMarksheet.id,
47
+ timeRemaining: '00:00',
48
+ totalStationTime: '00:00',
49
+ stageTime: '/00 secs',
50
+ stage: EOsceStage.READING,
51
+ state: EOsceTimerState.PAUSE,
52
+ };
53
+ if (!osceMarksheet.startedAt ||
54
+ !osceMarksheet.endedAt ||
55
+ !osceMarksheet.readingTime ||
56
+ !osceMarksheet.stationTime ||
57
+ !osceMarksheet.feedbackTime) {
58
+ return payload;
59
+ }
60
+ payload.state = EOsceTimerState.START;
61
+ const stationDuration = osceMarksheet.readingTime +
62
+ (osceMarksheet.stationTime + osceMarksheet.feedbackTime) * 60;
63
+ payload.totalStationTime = (0, utils_1.printDuration)(stationDuration);
64
+ let endedAt;
65
+ if (typeof osceMarksheet.endedAt === 'number') {
66
+ endedAt = osceMarksheet.endedAt;
67
+ }
68
+ else {
69
+ endedAt = Math.floor(osceMarksheet.endedAt.getTime() / 1000);
70
+ }
71
+ // calculate duration from pause timestamp or from current time
72
+ let timeRemainingDuration = endedAt - Math.floor(Date.now() / 1000);
73
+ if (osceMarksheet.completed || timeRemainingDuration < 0) {
74
+ payload.state = EOsceTimerState.COMPLETED;
75
+ }
76
+ if (osceMarksheet.pausedAt) {
77
+ let pausedAt;
78
+ if (typeof osceMarksheet.pausedAt === 'number') {
79
+ pausedAt = osceMarksheet.pausedAt;
80
+ }
81
+ else {
82
+ pausedAt = Math.floor(osceMarksheet.pausedAt.getTime() / 1000);
83
+ }
84
+ timeRemainingDuration = endedAt - pausedAt;
85
+ payload.state = EOsceTimerState.PAUSE;
86
+ }
87
+ if (timeRemainingDuration > stationDuration - osceMarksheet.readingTime) {
88
+ payload.stage = EOsceStage.READING;
89
+ payload.stageTime = `/${osceMarksheet.readingTime} secs`;
90
+ }
91
+ else if (timeRemainingDuration >
92
+ stationDuration - osceMarksheet.readingTime - osceMarksheet.stationTime * 60) {
93
+ payload.stage = EOsceStage.STATION;
94
+ payload.stageTime = `/${osceMarksheet.stationTime} mins`;
95
+ }
96
+ else {
97
+ payload.stage = EOsceStage.FEEDBACK;
98
+ payload.stageTime = `/${osceMarksheet.feedbackTime} mins`;
99
+ }
100
+ payload.timeRemaining = (0, utils_1.printDuration)(timeRemainingDuration);
101
+ return payload;
102
+ }
103
+ exports.createTimerPayload = createTimerPayload;
@@ -0,0 +1,54 @@
1
+ import { EDifficultyType } from './Difficulty';
2
+ import { IPicture } from './Picture';
3
+ import { ITopic } from './Topic';
4
+ import { Id } from './Type';
5
+ import { IVideo } from './Video';
6
+ export interface IOsceType {
7
+ id: Id;
8
+ name: string;
9
+ completed: number;
10
+ total: number;
11
+ avgScore: number;
12
+ }
13
+ export interface IOsceStationMark {
14
+ id: Id;
15
+ updatedAt: number | Date;
16
+ index: number;
17
+ osceStationId: Id;
18
+ header: string;
19
+ name: string;
20
+ }
21
+ export declare enum EOsceType {
22
+ ALL = 0,
23
+ HISTORY_TAKING = 1,
24
+ COMMUNICATION_SKILLS = 2,
25
+ EXAMINATION = 3,
26
+ PROCEDURE = 4,
27
+ INTERPRETATION = 5,
28
+ ABCDE = 6
29
+ }
30
+ export interface IOsceStation {
31
+ id: Id;
32
+ createdAt: number | Date;
33
+ updatedAt: number | Date;
34
+ name: string;
35
+ osceTypeId: Id;
36
+ osceType?: IOsceType;
37
+ difficulty: EDifficultyType;
38
+ candidateBrief: string;
39
+ examinerBrief: string;
40
+ actorBrief: string;
41
+ explanation: string;
42
+ marks: IOsceStationMark[];
43
+ topics?: ITopic[];
44
+ candidatePictures?: IPicture[];
45
+ actorPictures?: IPicture[];
46
+ examinerPictures?: IPicture[];
47
+ walkthroughPictures?: IPicture[];
48
+ videos?: IVideo[];
49
+ lastOsceMarksheetId?: Id;
50
+ score?: number;
51
+ }
52
+ export declare const OSCE_GLOBAL_RATING: {
53
+ [key: number]: string;
54
+ };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OSCE_GLOBAL_RATING = exports.EOsceType = void 0;
4
+ var EOsceType;
5
+ (function (EOsceType) {
6
+ EOsceType[EOsceType["ALL"] = 0] = "ALL";
7
+ EOsceType[EOsceType["HISTORY_TAKING"] = 1] = "HISTORY_TAKING";
8
+ EOsceType[EOsceType["COMMUNICATION_SKILLS"] = 2] = "COMMUNICATION_SKILLS";
9
+ EOsceType[EOsceType["EXAMINATION"] = 3] = "EXAMINATION";
10
+ EOsceType[EOsceType["PROCEDURE"] = 4] = "PROCEDURE";
11
+ EOsceType[EOsceType["INTERPRETATION"] = 5] = "INTERPRETATION";
12
+ EOsceType[EOsceType["ABCDE"] = 6] = "ABCDE";
13
+ })(EOsceType = exports.EOsceType || (exports.EOsceType = {}));
14
+ exports.OSCE_GLOBAL_RATING = {
15
+ [EOsceType.ABCDE]: `1. Fail - The candidate did not perform large parts of the scenario to the required standard
16
+ 2. Borderline - It is not clear whether the candidate demonstrated acceptable performance: either the whole task was performed slightly below passing level or there were some key errors or omissions
17
+ 3. Pass - The task was performed to an acceptable level. There may have been some minor errors or omissions.
18
+ 4. Good - The performance of the candidate was good in most areas. Technical and non-technical aspects of the task were performed equally well.
19
+ 5. Excellent - The candidate performed to a high standard throughout. They were fluent in all aspects of the task and displayed confidence, professionalism, and empathy.`,
20
+ [EOsceType.COMMUNICATION_SKILLS]: `1. Fail - The candidate did not perform large parts of the scenario to the required standard
21
+ 2. Borderline - It is not clear whether the candidate demonstrated acceptable performance: either the whole task was performed slightly below passing level or there were some key errors or omissions
22
+ 3. Pass - The task was performed to an acceptable level. There may have been some minor errors or omissions.
23
+ 4. Good - The performance of the candidate was good in most areas. Technical and non-technical aspects of the task were performed equally well.
24
+ 5. Excellent - The candidate performed to a high standard throughout. They were fluent in all aspects of the task and displayed confidence, professionalism, and empathy.`,
25
+ [EOsceType.EXAMINATION]: `1. Fail - The candidate did not perform large parts of the scenario to the required standard
26
+ 2. Borderline - It is not clear whether the candidate demonstrated acceptable performance: either the whole task was performed slightly below passing level or there were some key errors or omissions
27
+ 3. Pass - The task was performed to an acceptable level. There may have been some minor errors or omissions.
28
+ 4. Good - The performance of the candidate was good in most areas. Technical and non-technical aspects of the task were performed equally well.
29
+ 5. Excellent - The candidate performed to a high standard throughout. They were fluent in all aspects of the task and displayed confidence, professionalism, and empathy.`,
30
+ [EOsceType.HISTORY_TAKING]: `1. Fail - The candidate did not perform large parts of the scenario to the required standard.
31
+ 2. Borderline - It is not clear whether the candidate demonstrated acceptable performance: either the whole history was performed slightly below passing level or there were some key errors or omissions. The differentials have some important omissions.
32
+ 3. Pass - The history was performed to an acceptable level. There may have been some minor errors or omissions. The differentials were sensible.
33
+ 4. Good - The performance of the candidate was good in most areas. All aspects of the task were performed equally well. The differentials were thorough and well-reasoned.
34
+ 5. Excellent - The candidate performed to a high standard throughout. They were fluent in all aspects of the history and summary and displayed confidence, professionalism, and empathy.`,
35
+ [EOsceType.INTERPRETATION]: `1. Fail - The candidate did not perform large parts of the scenario to the required standard
36
+ 2. Borderline - It is not clear whether the candidate demonstrated acceptable performance: either the whole task was performed slightly below passing level or there were some key errors or omissions
37
+ 3. Pass - The task was performed to an acceptable level. There may have been some minor errors or omissions.
38
+ 4. Good - The performance of the candidate was good in most areas. Technical and non-technical aspects of the task were performed equally well.
39
+ 5. Excellent - The candidate performed to a high standard throughout. They were fluent in all aspects of the task and displayed confidence, professionalism, and empathy.`,
40
+ [EOsceType.PROCEDURE]: `1. Fail - The candidate did not perform large parts of the scenario to the required standard.
41
+ 2. Borderline - It is not clear whether the candidate demonstrated acceptable performance: either the whole task was performed slightly below passing level or there were some key errors or omissions.
42
+ 3. Pass - The task was performed to an acceptable level. There may have been some minor errors or omissions.
43
+ 4. Good - The performance of the candidate was good in most areas. Technical and non-technical aspects of the task were performed equally well.
44
+ 5. Excellent - The candidate performed to a high standard throughout. They were fluent in all aspects of the task and displayed confidence, professionalism, and empathy.`,
45
+ };
@@ -0,0 +1,14 @@
1
+ import { ITopic } from './Topic';
2
+ import { Id } from './Type';
3
+ export interface IPicture {
4
+ id: Id;
5
+ createdAt: number | Date;
6
+ updatedAt: number | Date;
7
+ name: string;
8
+ caption: string;
9
+ path: string;
10
+ path512: string;
11
+ path256: string;
12
+ topicId: Id;
13
+ topic: ITopic;
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ import { Id } from './Type';
2
+ export interface ICoupon {
3
+ id: Id;
4
+ createdAt: number | Date;
5
+ name: string;
6
+ affiliateId: Id;
7
+ }
8
+ export interface IPromoReport {
9
+ id: Id;
10
+ date: number | Date;
11
+ couponId: Id;
12
+ userId: Id;
13
+ subscriptionId: Id;
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,115 @@
1
+ import { IConcept } from './Concept';
2
+ import { EDifficultyType } from './Difficulty';
3
+ import { IPicture } from './Picture';
4
+ import { Id } from './Type';
5
+ import { IUser } from './User';
6
+ export declare enum EPsaSectionType {
7
+ PRESCRIBING = 1,
8
+ PRESCRIPTION_REVIEW = 2,
9
+ PLANNING_MANAGEMENT = 3,
10
+ PROVIDING_INFORMATION = 4,
11
+ CALCULATION_SKILLS = 5,
12
+ ADVERSE_DRUG_REACTION = 6,
13
+ DRUG_MONITORING = 7,
14
+ DATA_INTERPRETATION = 8
15
+ }
16
+ export declare enum EQuestionType {
17
+ SINGLE_BEST_ANSWER = 1,
18
+ QUESTION_ANSWER = 2,
19
+ MULTIPLE_ANSWERS = 3,
20
+ PRESCRIPTION_ANSWER = 4
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
+ }
41
+ export declare type IQuestionAnswer = string | [string] | [IQuestionQAAnswer] | [string[], string[]] | IPrescribeAnswer[];
42
+ export declare type IQuestionAll = IQuestion | IQuestionSBA | IQuestionQA | IQuestionMultiQ | IQuestionPrescribe;
43
+ export interface IQuestion {
44
+ id: Id;
45
+ typeId: Id;
46
+ conceptId: Id;
47
+ public: boolean;
48
+ concept?: IConcept;
49
+ question: string;
50
+ explanation?: string;
51
+ answer: IQuestionAnswer;
52
+ totalVotes: number;
53
+ choices: IQuestionChoice[];
54
+ pictures?: IPicture[];
55
+ difficulty: EDifficultyType;
56
+ elo: number;
57
+ psaSectionId: EPsaSectionType;
58
+ likes?: number;
59
+ dislikes?: number;
60
+ isLikedByMe?: EQuestionLike;
61
+ comments?: IQuestionComment[];
62
+ }
63
+ export interface IQuestionChoice {
64
+ id: Id;
65
+ name: string;
66
+ explanation: string | null;
67
+ label: string;
68
+ answer: boolean;
69
+ votes: number;
70
+ picture?: IPicture | null;
71
+ }
72
+ export declare function isQuestionSBA(data: IQuestionAll): data is IQuestionSBA;
73
+ export interface IQuestionSBA extends IQuestion {
74
+ answer: [string];
75
+ sbaAnswer: [string];
76
+ }
77
+ export interface IQuestionQAAnswer {
78
+ dose: string;
79
+ units: string;
80
+ }
81
+ export declare function isQuestionQA(data: IQuestionAll): data is IQuestionQA;
82
+ export interface IQuestionQA extends IQuestion {
83
+ answer: [IQuestionQAAnswer];
84
+ qaAnswer: [IQuestionQAAnswer];
85
+ }
86
+ export declare function isQuestionMultiQ(data: IQuestionAll): data is IQuestionMultiQ;
87
+ export interface IQuestionMultiQ extends IQuestion {
88
+ answer: [string[], string[]];
89
+ multiAnswer: [string[], string[]];
90
+ }
91
+ export declare function isQuestionPrescribe(data: IQuestionAll): data is IQuestionPrescribe;
92
+ export interface IQuestionPrescribe extends IQuestion {
93
+ answer: IPrescribeAnswer[];
94
+ prescribeAnswer: IPrescribeAnswer[];
95
+ }
96
+ export declare type IPrescribeAnswerData<T> = {
97
+ value: T;
98
+ display: boolean;
99
+ };
100
+ export interface IPrescribeAnswer {
101
+ drug: IPrescribeAnswerData<string>;
102
+ dose: IPrescribeAnswerData<number>;
103
+ units: IPrescribeAnswerData<string>;
104
+ route: IPrescribeAnswerData<string>;
105
+ frequency: IPrescribeAnswerData<string>;
106
+ duration: IPrescribeAnswerData<string>;
107
+ }
108
+ export interface IPrescribeMark {
109
+ drug: string;
110
+ dose: number | string;
111
+ units: string;
112
+ route: string;
113
+ frequency: string;
114
+ duration: string;
115
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isQuestionPrescribe = exports.isQuestionMultiQ = exports.isQuestionQA = exports.isQuestionSBA = exports.EQuestionLike = exports.EQuestionType = exports.EPsaSectionType = void 0;
4
+ var EPsaSectionType;
5
+ (function (EPsaSectionType) {
6
+ EPsaSectionType[EPsaSectionType["PRESCRIBING"] = 1] = "PRESCRIBING";
7
+ EPsaSectionType[EPsaSectionType["PRESCRIPTION_REVIEW"] = 2] = "PRESCRIPTION_REVIEW";
8
+ EPsaSectionType[EPsaSectionType["PLANNING_MANAGEMENT"] = 3] = "PLANNING_MANAGEMENT";
9
+ EPsaSectionType[EPsaSectionType["PROVIDING_INFORMATION"] = 4] = "PROVIDING_INFORMATION";
10
+ EPsaSectionType[EPsaSectionType["CALCULATION_SKILLS"] = 5] = "CALCULATION_SKILLS";
11
+ EPsaSectionType[EPsaSectionType["ADVERSE_DRUG_REACTION"] = 6] = "ADVERSE_DRUG_REACTION";
12
+ EPsaSectionType[EPsaSectionType["DRUG_MONITORING"] = 7] = "DRUG_MONITORING";
13
+ EPsaSectionType[EPsaSectionType["DATA_INTERPRETATION"] = 8] = "DATA_INTERPRETATION";
14
+ })(EPsaSectionType = exports.EPsaSectionType || (exports.EPsaSectionType = {}));
15
+ var EQuestionType;
16
+ (function (EQuestionType) {
17
+ EQuestionType[EQuestionType["SINGLE_BEST_ANSWER"] = 1] = "SINGLE_BEST_ANSWER";
18
+ EQuestionType[EQuestionType["QUESTION_ANSWER"] = 2] = "QUESTION_ANSWER";
19
+ EQuestionType[EQuestionType["MULTIPLE_ANSWERS"] = 3] = "MULTIPLE_ANSWERS";
20
+ EQuestionType[EQuestionType["PRESCRIPTION_ANSWER"] = 4] = "PRESCRIPTION_ANSWER";
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 = {}));
28
+ function isQuestionSBA(data) {
29
+ return data.typeId === EQuestionType.SINGLE_BEST_ANSWER;
30
+ }
31
+ exports.isQuestionSBA = isQuestionSBA;
32
+ function isQuestionQA(data) {
33
+ return data.typeId === EQuestionType.QUESTION_ANSWER;
34
+ }
35
+ exports.isQuestionQA = isQuestionQA;
36
+ function isQuestionMultiQ(data) {
37
+ return data.typeId === EQuestionType.MULTIPLE_ANSWERS;
38
+ }
39
+ exports.isQuestionMultiQ = isQuestionMultiQ;
40
+ function isQuestionPrescribe(data) {
41
+ return data.typeId === EQuestionType.PRESCRIPTION_ANSWER;
42
+ }
43
+ exports.isQuestionPrescribe = isQuestionPrescribe;
@@ -0,0 +1,17 @@
1
+ import { Id } from './Type';
2
+ export interface ISubscription {
3
+ id: Id;
4
+ createdAt: number | Date;
5
+ name: string;
6
+ description: string | null;
7
+ price: number;
8
+ stripePriceId: string;
9
+ duration: number;
10
+ public: boolean;
11
+ typeId: Id;
12
+ }
13
+ export declare enum ESubscriptionType {
14
+ QBANK = 1,
15
+ OSCE = 2,
16
+ BUNDLE = 3
17
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ESubscriptionType = void 0;
4
+ var ESubscriptionType;
5
+ (function (ESubscriptionType) {
6
+ ESubscriptionType[ESubscriptionType["QBANK"] = 1] = "QBANK";
7
+ ESubscriptionType[ESubscriptionType["OSCE"] = 2] = "OSCE";
8
+ ESubscriptionType[ESubscriptionType["BUNDLE"] = 3] = "BUNDLE";
9
+ })(ESubscriptionType = exports.ESubscriptionType || (exports.ESubscriptionType = {}));
@@ -0,0 +1,33 @@
1
+ import { ICard } from './Card';
2
+ import { ITopic } from './Topic';
3
+ import { Id } from './Type';
4
+ import { IUser } from './User';
5
+ export interface ITodo {
6
+ id: Id;
7
+ createdAt: number | Date;
8
+ updatedAt: number | Date;
9
+ userId: Id;
10
+ user?: IUser;
11
+ dailyTask: boolean;
12
+ marks: ITodoMark[];
13
+ source: string;
14
+ topics?: ITopic[];
15
+ redCards?: number | null;
16
+ yellowCards?: number | null;
17
+ greenCards?: number | null;
18
+ }
19
+ export interface ITodoMark {
20
+ id: Id;
21
+ createdAt: number | Date;
22
+ updatedAt: number | Date;
23
+ todoId: Id;
24
+ cardId: Id;
25
+ card?: ICard;
26
+ score: number;
27
+ timeTaken: number;
28
+ }
29
+ export interface IPreBuildTodo {
30
+ unseen: number;
31
+ seen: number;
32
+ buildRef: number;
33
+ }
package/models/Todo.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import { Id } from './Type';
2
+ export interface IToken {
3
+ id: Id;
4
+ createdAt: number | Date;
5
+ updatedAt: number | Date;
6
+ userId: Id;
7
+ token: string;
8
+ deviceId: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,32 @@
1
+ import { IConcept } from './Concept';
2
+ import { Id } from './Type';
3
+ export declare enum ETopicType {
4
+ ALL = 0,
5
+ BASIC_SCIENCE = 1,
6
+ CLINICAL = 2,
7
+ ANATOMY = 3,
8
+ DATA_INTERPRETATION = 4,
9
+ PSA = 5,
10
+ OSCE = 6
11
+ }
12
+ export interface ITopicType {
13
+ id: ETopicType;
14
+ name: string;
15
+ }
16
+ export interface ITopic {
17
+ id: Id;
18
+ createdAt: number | Date;
19
+ updatedAt: number | Date;
20
+ name: string;
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;
32
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ETopicType = void 0;
4
+ var ETopicType;
5
+ (function (ETopicType) {
6
+ ETopicType[ETopicType["ALL"] = 0] = "ALL";
7
+ ETopicType[ETopicType["BASIC_SCIENCE"] = 1] = "BASIC_SCIENCE";
8
+ ETopicType[ETopicType["CLINICAL"] = 2] = "CLINICAL";
9
+ ETopicType[ETopicType["ANATOMY"] = 3] = "ANATOMY";
10
+ ETopicType[ETopicType["DATA_INTERPRETATION"] = 4] = "DATA_INTERPRETATION";
11
+ ETopicType[ETopicType["PSA"] = 5] = "PSA";
12
+ ETopicType[ETopicType["OSCE"] = 6] = "OSCE";
13
+ })(ETopicType = exports.ETopicType || (exports.ETopicType = {}));
@@ -0,0 +1,7 @@
1
+ export declare type Id = number;
2
+ export declare type Count = {
3
+ count: string;
4
+ };
5
+ export declare type Sum = {
6
+ sum: string;
7
+ };
package/models/Type.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ export interface IUniversity {
2
+ id: number;
3
+ name: string;
4
+ country: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });