@quesmed/types 2.6.244 → 2.6.246
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/OsceMarksheet.d.ts +5 -0
- package/dist/cjs/models/OsceStation.d.ts +9 -0
- package/dist/cjs/resolvers/fragments/osce.js +5 -0
- package/dist/cjs/resolvers/mutation/restricted/marksheet.d.ts +8 -0
- package/dist/cjs/resolvers/mutation/restricted/marksheet.js +8 -1
- package/dist/cjs/resolvers/mutation/restricted/osce.d.ts +67 -1
- package/dist/cjs/resolvers/mutation/restricted/osce.js +50 -1
- package/dist/cjs/resolvers/query/restricted/osce.js +2 -0
- package/dist/mjs/models/OsceMarksheet.d.ts +5 -0
- package/dist/mjs/models/OsceStation.d.ts +9 -0
- package/dist/mjs/resolvers/fragments/osce.js +5 -0
- package/dist/mjs/resolvers/mutation/restricted/marksheet.d.ts +8 -0
- package/dist/mjs/resolvers/mutation/restricted/marksheet.js +7 -0
- package/dist/mjs/resolvers/mutation/restricted/osce.d.ts +67 -1
- package/dist/mjs/resolvers/mutation/restricted/osce.js +47 -0
- package/dist/mjs/resolvers/query/restricted/osce.js +2 -0
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import { Nullable } from '../resolvers';
|
|
|
2
2
|
import { IOsceStation, IOsceStationMark, IOsceType } from './OsceStation';
|
|
3
3
|
import { EPaceMarkType } from './Paces';
|
|
4
4
|
import { EEntitlementType, EProductType, IEntitlement } from './Product';
|
|
5
|
+
import { EQuestionLike } from './Question';
|
|
5
6
|
import { Id } from './Type';
|
|
6
7
|
import { IUser } from './User';
|
|
7
8
|
export interface IOsceMarksheetMember {
|
|
@@ -125,6 +126,10 @@ export interface IOsceMarksheet {
|
|
|
125
126
|
summary: IOsceMarksheetSummary | null;
|
|
126
127
|
messages: IOsceMarksheetMessage[] | null;
|
|
127
128
|
transcript: string | null;
|
|
129
|
+
feedbackReaction: {
|
|
130
|
+
reaction: EQuestionLike;
|
|
131
|
+
feedback: string | null;
|
|
132
|
+
} | null;
|
|
128
133
|
}
|
|
129
134
|
export interface IDashboardOsce {
|
|
130
135
|
lastSessionId: string;
|
|
@@ -43,6 +43,10 @@ export declare enum EStationPictureType {
|
|
|
43
43
|
EXAMINER = 3,
|
|
44
44
|
WALKTHROUGH = 4
|
|
45
45
|
}
|
|
46
|
+
export interface IStationExaminerQuestion {
|
|
47
|
+
index: number;
|
|
48
|
+
question: string;
|
|
49
|
+
}
|
|
46
50
|
export interface IOsceStation {
|
|
47
51
|
id: Id;
|
|
48
52
|
createdAt: number | Date;
|
|
@@ -64,12 +68,17 @@ export interface IOsceStation {
|
|
|
64
68
|
topics?: ITopic[];
|
|
65
69
|
picture: IPicture | null;
|
|
66
70
|
candidatePictures?: IPicture[];
|
|
71
|
+
/**
|
|
72
|
+
* This is used to tell if the station has examiner questions or not.
|
|
73
|
+
*/
|
|
74
|
+
examinerQuestions?: IStationExaminerQuestion[];
|
|
67
75
|
actorPictures?: IPicture[];
|
|
68
76
|
examinerPictures?: IPicture[];
|
|
69
77
|
walkthroughPictures?: IPicture[];
|
|
70
78
|
videos?: IVideo[];
|
|
71
79
|
lastOsceMarksheetId?: Id;
|
|
72
80
|
score?: number;
|
|
81
|
+
avgScore?: number;
|
|
73
82
|
status?: EUserLearningStatus;
|
|
74
83
|
demo?: boolean;
|
|
75
84
|
userNote: null | IUserStationNote;
|
|
@@ -133,6 +133,10 @@ exports.OSCE_MARKSHEET_RESULT_FIELDS = (0, client_1.gql) `
|
|
|
133
133
|
}
|
|
134
134
|
score
|
|
135
135
|
globalScore
|
|
136
|
+
feedbackReaction {
|
|
137
|
+
reaction
|
|
138
|
+
feedback
|
|
139
|
+
}
|
|
136
140
|
}
|
|
137
141
|
`;
|
|
138
142
|
exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
|
|
@@ -225,6 +229,7 @@ exports.AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT = (0, client_1.gql) `
|
|
|
225
229
|
exports.COMPLETED_OSCE_STATION_FRAGMENT = (0, client_1.gql) `
|
|
226
230
|
fragment CompletedOsceStationFragment on OsceStation {
|
|
227
231
|
score
|
|
232
|
+
avgScore
|
|
228
233
|
completedMarks
|
|
229
234
|
lastOsceMarksheetId
|
|
230
235
|
}
|
|
@@ -258,6 +258,14 @@ export interface ILeaveMarksheetVar {
|
|
|
258
258
|
}
|
|
259
259
|
export type ILeaveMarksheetData = RestrictedData<graphqlNormalize & IMarksheet, 'leaveMarksheet'>;
|
|
260
260
|
export declare const LEAVE_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
261
|
+
/**
|
|
262
|
+
* deleteMarksheet
|
|
263
|
+
*/
|
|
264
|
+
export interface IDeleteMarksheetVar {
|
|
265
|
+
marksheetId: Id;
|
|
266
|
+
}
|
|
267
|
+
export type IDeleteMarksheetData = RestrictedData<graphqlNormalize & boolean, 'deleteMarksheet'>;
|
|
268
|
+
export declare const DELETE_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
261
269
|
/**
|
|
262
270
|
* endMarksheet
|
|
263
271
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TOGGLE_STRIKE_OPTIONS = exports.optimisticEndMarksheet = exports.updateCacheOnEndMarksheet = exports.END_MARKSHEET = exports.LEAVE_MARKSHEET = exports.MODIFY_CURRENT_MARKSHEET_MARK = exports.MODIFY_MARKSHEET_MARK_QUESTIONCHOICEID = exports.MODIFY_MARKSHEET_MARK_STRIKED = exports.MODIFY_MARKSHEET_MARK = exports.MODIFY_MARKSHEET_STATE = exports.MODIFY_TOPIC_SELECTION = exports.MODIFY_BUILDER_CONFIG = exports.MODIFY_MARKSHEET = exports.optimisticModifyMarksheetBuilderConfig = exports.START_OR_JOIN_MARKSHEET = exports.optimisticRemoveFlaggedQuestion = exports.updateCacheRemoveFlaggedQuestion = exports.optimisticAddFlaggedQuestion = exports.updateCacheAddFlaggedQuestion = exports.REMOVE_FLAGGED_QUESTION = exports.ADD_FLAGGED_QUESTION = exports.optimisticSaveMarksheets = exports.updateMarksheets = exports.SAVE_MARKSHEET = exports.QUICK_BUILD_MARKSHEET = exports.RE_BUILD_MARKSHEET = exports.BUILD_UCAT_MARKSHEET = exports.BUILD_MARKSHEET = exports.BUILD_QUESTION_MARKSHEET = void 0;
|
|
3
|
+
exports.TOGGLE_STRIKE_OPTIONS = exports.optimisticEndMarksheet = exports.updateCacheOnEndMarksheet = exports.END_MARKSHEET = exports.DELETE_MARKSHEET = exports.LEAVE_MARKSHEET = exports.MODIFY_CURRENT_MARKSHEET_MARK = exports.MODIFY_MARKSHEET_MARK_QUESTIONCHOICEID = exports.MODIFY_MARKSHEET_MARK_STRIKED = exports.MODIFY_MARKSHEET_MARK = exports.MODIFY_MARKSHEET_STATE = exports.MODIFY_TOPIC_SELECTION = exports.MODIFY_BUILDER_CONFIG = exports.MODIFY_MARKSHEET = exports.optimisticModifyMarksheetBuilderConfig = exports.START_OR_JOIN_MARKSHEET = exports.optimisticRemoveFlaggedQuestion = exports.updateCacheRemoveFlaggedQuestion = exports.optimisticAddFlaggedQuestion = exports.updateCacheAddFlaggedQuestion = exports.REMOVE_FLAGGED_QUESTION = exports.ADD_FLAGGED_QUESTION = exports.optimisticSaveMarksheets = exports.updateMarksheets = exports.SAVE_MARKSHEET = exports.QUICK_BUILD_MARKSHEET = exports.RE_BUILD_MARKSHEET = exports.BUILD_UCAT_MARKSHEET = exports.BUILD_MARKSHEET = exports.BUILD_QUESTION_MARKSHEET = void 0;
|
|
4
4
|
const client_1 = require("@apollo/client");
|
|
5
5
|
const utils_1 = require("../../../utils");
|
|
6
6
|
const marksheet_1 = require("../../fragments/marksheet");
|
|
@@ -477,6 +477,13 @@ exports.LEAVE_MARKSHEET = (0, client_1.gql) `
|
|
|
477
477
|
}
|
|
478
478
|
}
|
|
479
479
|
`;
|
|
480
|
+
exports.DELETE_MARKSHEET = (0, client_1.gql) `
|
|
481
|
+
mutation DeleteMarksheet($marksheetId: Int!) {
|
|
482
|
+
restricted {
|
|
483
|
+
deleteMarksheet(marksheetId: $marksheetId)
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
`;
|
|
480
487
|
exports.END_MARKSHEET = (0, client_1.gql) `
|
|
481
488
|
${marksheet_1.MARKSHEET_STATS_FIELDS}
|
|
482
489
|
mutation EndMarksheet($marksheetId: Int!) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApolloCache } from '@apollo/client';
|
|
2
|
-
import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetMode, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, EPaceMarkType, EProductType, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
|
|
2
|
+
import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetMode, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, EPaceMarkType, EProductType, EQuestionLike, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
|
|
3
3
|
import { ApolloUpdateOptions, ApolloUpdateResultRestricted } from '../../apollo';
|
|
4
4
|
import { IOsceChatStreamChunk, IOsceMatchmakingAction } from '../../subscription/osce';
|
|
5
5
|
import { RestrictedData, graphqlNormalize } from '../../types';
|
|
@@ -139,6 +139,10 @@ export declare const optimisticEndOsceMarksheet: (marksheet: IOsceMarksheet) =>
|
|
|
139
139
|
summary: import("../../../models").IOsceMarksheetSummary | null;
|
|
140
140
|
messages: import("../../../models").IOsceMarksheetMessage[] | null;
|
|
141
141
|
transcript: string | null;
|
|
142
|
+
feedbackReaction: {
|
|
143
|
+
reaction: EQuestionLike;
|
|
144
|
+
feedback: string | null;
|
|
145
|
+
} | null;
|
|
142
146
|
__typename: string;
|
|
143
147
|
};
|
|
144
148
|
};
|
|
@@ -161,3 +165,65 @@ export interface IAutoMarkOsceMarksheetVar {
|
|
|
161
165
|
}
|
|
162
166
|
export type IAutoMarkOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'autoMarkOsceMarksheet'>;
|
|
163
167
|
export declare const updateCacheOnAutoMarkOsceMarksheet: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<IAutoMarkOsceMarksheetData>, options: ApolloUpdateOptions<IAutoMarkOsceMarksheetVar>) => void;
|
|
168
|
+
export interface ISetOsceMarksheetFeedbackVars {
|
|
169
|
+
osceMarksheetId: Id;
|
|
170
|
+
reaction?: EQuestionLike;
|
|
171
|
+
feedback?: string;
|
|
172
|
+
}
|
|
173
|
+
export type ISetOsceMarksheetFeedbackData = RestrictedData<{
|
|
174
|
+
setOsceMarksheetFeedback: IOsceMarksheet['feedback'];
|
|
175
|
+
}, 'setOsceMarksheetFeedback'>;
|
|
176
|
+
export declare const SET_OSCE_MARKSHEET_FEEDBACK: import("@apollo/client").DocumentNode;
|
|
177
|
+
export declare const updateCacheOnSetOsceMarksheetFeedback: () => (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<ISetOsceMarksheetFeedbackData>, options: ApolloUpdateOptions<ISetOsceMarksheetFeedbackVars>) => void;
|
|
178
|
+
export declare const optimisticSetOsceMarksheetFeedback: (marksheet: IOsceMarksheet, feedbackReaction: IOsceMarksheet['feedbackReaction']) => {
|
|
179
|
+
restricted: {
|
|
180
|
+
__typename: string;
|
|
181
|
+
setOsceMarksheetFeedback: {
|
|
182
|
+
feedbackReaction: {
|
|
183
|
+
reaction: EQuestionLike;
|
|
184
|
+
feedback: string | null;
|
|
185
|
+
} | null;
|
|
186
|
+
id: number;
|
|
187
|
+
createdAt: number | Date;
|
|
188
|
+
updatedAt: number | Date;
|
|
189
|
+
deletedAt: number | Date;
|
|
190
|
+
timeTaken: number;
|
|
191
|
+
osceStationId: number;
|
|
192
|
+
osceStation?: import("../../../models").IOsceStation | undefined;
|
|
193
|
+
role?: EOsceRoles | undefined;
|
|
194
|
+
solo: boolean;
|
|
195
|
+
score: number;
|
|
196
|
+
total: number;
|
|
197
|
+
correct: number;
|
|
198
|
+
globalScore: number;
|
|
199
|
+
feedback: string;
|
|
200
|
+
agoraId: string;
|
|
201
|
+
sessionId: string;
|
|
202
|
+
readingTime: number;
|
|
203
|
+
stationTime: number;
|
|
204
|
+
feedbackTime: number;
|
|
205
|
+
startedAt: number | Date;
|
|
206
|
+
endedAt: number | Date;
|
|
207
|
+
pausedAt: number | Date;
|
|
208
|
+
timeRemaining: string;
|
|
209
|
+
totalStationTime: string;
|
|
210
|
+
stageTime: string;
|
|
211
|
+
stage: import("../../../models").EOsceStage;
|
|
212
|
+
marks: IOsceMarksheetMark[];
|
|
213
|
+
users: import("../../../models").IUser[];
|
|
214
|
+
activeUsers?: import("../../../models").IUser[] | undefined;
|
|
215
|
+
members: import("../../../models").IOsceMarksheetMember[];
|
|
216
|
+
state: EOsceMarksheetState;
|
|
217
|
+
completed: boolean;
|
|
218
|
+
entitlement: import("../../../models").IEntitlement;
|
|
219
|
+
entitlementId: EEntitlementType | EProductType;
|
|
220
|
+
isTimed: boolean;
|
|
221
|
+
phase: EOsceStationPhase;
|
|
222
|
+
mode: EOsceMarksheetMode;
|
|
223
|
+
summary: import("../../../models").IOsceMarksheetSummary | null;
|
|
224
|
+
messages: import("../../../models").IOsceMarksheetMessage[] | null;
|
|
225
|
+
transcript: string | null;
|
|
226
|
+
__typename: string;
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateCacheOnAutoMarkOsceMarksheet = exports.AUTO_MARK_OSCE_MARKSHEET = exports.STREAM_OSCE_CHAT_MESSAGE = exports.LEAVE_OSCE_MARKSHEET = exports.optimisticEndOsceMarksheet = exports.updateCacheOnEndOsceMarksheet = exports.END_OSCE_MARKSHEET = exports.MODIFY_OSCE_MARKSHEET = exports.SAVE_OSCE_MARKSHEET = exports.PRESTART_OSCE_MARKSHEET = exports.START_OSCE_TIMER = exports.START_OSCE_MARKSHEET = exports.SELECT_OSCE_STATION = exports.optimisticMarkOsceMarksheetMark = exports.MARK_OSCE_MARKSHEET_MARK = exports.CHANGE_OSCE_ROLE = exports.BUILD_OSCE_MARKSHEET = exports.CREATE_OR_JOIN_OSCE_MARKSHEET = exports.CANCEL_OSCE_MATCHMAKING = exports.CHECK_OSCE_MATCHMAKING = exports.ACCEPT_OSCE_MATCHMAKING = exports.START_OSCE_MATCHMAKING = void 0;
|
|
3
|
+
exports.optimisticSetOsceMarksheetFeedback = exports.updateCacheOnSetOsceMarksheetFeedback = exports.SET_OSCE_MARKSHEET_FEEDBACK = exports.updateCacheOnAutoMarkOsceMarksheet = exports.AUTO_MARK_OSCE_MARKSHEET = exports.STREAM_OSCE_CHAT_MESSAGE = exports.LEAVE_OSCE_MARKSHEET = exports.optimisticEndOsceMarksheet = exports.updateCacheOnEndOsceMarksheet = exports.END_OSCE_MARKSHEET = exports.MODIFY_OSCE_MARKSHEET = exports.SAVE_OSCE_MARKSHEET = exports.PRESTART_OSCE_MARKSHEET = exports.START_OSCE_TIMER = exports.START_OSCE_MARKSHEET = exports.SELECT_OSCE_STATION = exports.optimisticMarkOsceMarksheetMark = exports.MARK_OSCE_MARKSHEET_MARK = exports.CHANGE_OSCE_ROLE = exports.BUILD_OSCE_MARKSHEET = exports.CREATE_OR_JOIN_OSCE_MARKSHEET = exports.CANCEL_OSCE_MATCHMAKING = exports.CHECK_OSCE_MATCHMAKING = exports.ACCEPT_OSCE_MATCHMAKING = exports.START_OSCE_MATCHMAKING = void 0;
|
|
4
4
|
const client_1 = require("@apollo/client");
|
|
5
5
|
const models_1 = require("../../../models");
|
|
6
6
|
const fragments_1 = require("../../fragments");
|
|
@@ -332,6 +332,7 @@ exports.STREAM_OSCE_CHAT_MESSAGE = (0, client_1.gql) `
|
|
|
332
332
|
}
|
|
333
333
|
`;
|
|
334
334
|
exports.AUTO_MARK_OSCE_MARKSHEET = (0, client_1.gql) `
|
|
335
|
+
${fragments_1.OSCE_MARKSHEET_FIELDS}
|
|
335
336
|
mutation AutoMarkOsceMarksheet($osceMarksheetId: Int!) {
|
|
336
337
|
restricted {
|
|
337
338
|
autoMarkOsceMarksheet(osceMarksheetId: $osceMarksheetId) {
|
|
@@ -373,3 +374,51 @@ const updateCacheOnAutoMarkOsceMarksheet = (cache, result, options) => {
|
|
|
373
374
|
}
|
|
374
375
|
};
|
|
375
376
|
exports.updateCacheOnAutoMarkOsceMarksheet = updateCacheOnAutoMarkOsceMarksheet;
|
|
377
|
+
exports.SET_OSCE_MARKSHEET_FEEDBACK = (0, client_1.gql) `
|
|
378
|
+
mutation SetOsceMarksheetFeedback(
|
|
379
|
+
$osceMarksheetId: Int!
|
|
380
|
+
$reaction: Int
|
|
381
|
+
$feedback: String
|
|
382
|
+
) {
|
|
383
|
+
restricted {
|
|
384
|
+
setOsceMarksheetFeedback(
|
|
385
|
+
osceMarksheetId: $osceMarksheetId
|
|
386
|
+
reaction: $reaction
|
|
387
|
+
feedback: $feedback
|
|
388
|
+
) {
|
|
389
|
+
feedback
|
|
390
|
+
reaction
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
`;
|
|
395
|
+
const updateCacheOnSetOsceMarksheetFeedback = () => {
|
|
396
|
+
return (cache, result, options) => {
|
|
397
|
+
const { setOsceMarksheetFeedback } = result?.data?.restricted || {};
|
|
398
|
+
const { variables } = options || {};
|
|
399
|
+
if (!variables || !setOsceMarksheetFeedback) {
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
cache.modify({
|
|
403
|
+
id: cache.identify({
|
|
404
|
+
id: variables.osceMarksheetId,
|
|
405
|
+
__typename: 'OsceMarksheet',
|
|
406
|
+
}),
|
|
407
|
+
fields: {
|
|
408
|
+
feedbackReaction: () => setOsceMarksheetFeedback,
|
|
409
|
+
},
|
|
410
|
+
});
|
|
411
|
+
};
|
|
412
|
+
};
|
|
413
|
+
exports.updateCacheOnSetOsceMarksheetFeedback = updateCacheOnSetOsceMarksheetFeedback;
|
|
414
|
+
const optimisticSetOsceMarksheetFeedback = (marksheet, feedbackReaction) => ({
|
|
415
|
+
restricted: {
|
|
416
|
+
__typename: 'RestrictedMutation',
|
|
417
|
+
setOsceMarksheetFeedback: {
|
|
418
|
+
__typename: 'OsceMarksheet',
|
|
419
|
+
...marksheet,
|
|
420
|
+
feedbackReaction: feedbackReaction,
|
|
421
|
+
},
|
|
422
|
+
},
|
|
423
|
+
});
|
|
424
|
+
exports.optimisticSetOsceMarksheetFeedback = optimisticSetOsceMarksheetFeedback;
|
|
@@ -114,6 +114,7 @@ exports.OSCE_STATIONS = (0, client_1.gql) `
|
|
|
114
114
|
...OsceStationFields
|
|
115
115
|
lastOsceMarksheetId
|
|
116
116
|
score
|
|
117
|
+
avgScore
|
|
117
118
|
}
|
|
118
119
|
}
|
|
119
120
|
}
|
|
@@ -147,6 +148,7 @@ exports.SEARCH_OSCE_STATIONS = (0, client_1.gql) `
|
|
|
147
148
|
...OsceStationFields
|
|
148
149
|
lastOsceMarksheetId
|
|
149
150
|
score
|
|
151
|
+
avgScore
|
|
150
152
|
}
|
|
151
153
|
}
|
|
152
154
|
}
|
|
@@ -2,6 +2,7 @@ import { Nullable } from '../resolvers';
|
|
|
2
2
|
import { IOsceStation, IOsceStationMark, IOsceType } from './OsceStation';
|
|
3
3
|
import { EPaceMarkType } from './Paces';
|
|
4
4
|
import { EEntitlementType, EProductType, IEntitlement } from './Product';
|
|
5
|
+
import { EQuestionLike } from './Question';
|
|
5
6
|
import { Id } from './Type';
|
|
6
7
|
import { IUser } from './User';
|
|
7
8
|
export interface IOsceMarksheetMember {
|
|
@@ -125,6 +126,10 @@ export interface IOsceMarksheet {
|
|
|
125
126
|
summary: IOsceMarksheetSummary | null;
|
|
126
127
|
messages: IOsceMarksheetMessage[] | null;
|
|
127
128
|
transcript: string | null;
|
|
129
|
+
feedbackReaction: {
|
|
130
|
+
reaction: EQuestionLike;
|
|
131
|
+
feedback: string | null;
|
|
132
|
+
} | null;
|
|
128
133
|
}
|
|
129
134
|
export interface IDashboardOsce {
|
|
130
135
|
lastSessionId: string;
|
|
@@ -43,6 +43,10 @@ export declare enum EStationPictureType {
|
|
|
43
43
|
EXAMINER = 3,
|
|
44
44
|
WALKTHROUGH = 4
|
|
45
45
|
}
|
|
46
|
+
export interface IStationExaminerQuestion {
|
|
47
|
+
index: number;
|
|
48
|
+
question: string;
|
|
49
|
+
}
|
|
46
50
|
export interface IOsceStation {
|
|
47
51
|
id: Id;
|
|
48
52
|
createdAt: number | Date;
|
|
@@ -64,12 +68,17 @@ export interface IOsceStation {
|
|
|
64
68
|
topics?: ITopic[];
|
|
65
69
|
picture: IPicture | null;
|
|
66
70
|
candidatePictures?: IPicture[];
|
|
71
|
+
/**
|
|
72
|
+
* This is used to tell if the station has examiner questions or not.
|
|
73
|
+
*/
|
|
74
|
+
examinerQuestions?: IStationExaminerQuestion[];
|
|
67
75
|
actorPictures?: IPicture[];
|
|
68
76
|
examinerPictures?: IPicture[];
|
|
69
77
|
walkthroughPictures?: IPicture[];
|
|
70
78
|
videos?: IVideo[];
|
|
71
79
|
lastOsceMarksheetId?: Id;
|
|
72
80
|
score?: number;
|
|
81
|
+
avgScore?: number;
|
|
73
82
|
status?: EUserLearningStatus;
|
|
74
83
|
demo?: boolean;
|
|
75
84
|
userNote: null | IUserStationNote;
|
|
@@ -130,6 +130,10 @@ export const OSCE_MARKSHEET_RESULT_FIELDS = gql `
|
|
|
130
130
|
}
|
|
131
131
|
score
|
|
132
132
|
globalScore
|
|
133
|
+
feedbackReaction {
|
|
134
|
+
reaction
|
|
135
|
+
feedback
|
|
136
|
+
}
|
|
133
137
|
}
|
|
134
138
|
`;
|
|
135
139
|
export const OSCE_MARKSHEET_FIELDS = gql `
|
|
@@ -222,6 +226,7 @@ export const AUTO_MARKED_OSCE_MARKSHEET_FRAGMENT = gql `
|
|
|
222
226
|
export const COMPLETED_OSCE_STATION_FRAGMENT = gql `
|
|
223
227
|
fragment CompletedOsceStationFragment on OsceStation {
|
|
224
228
|
score
|
|
229
|
+
avgScore
|
|
225
230
|
completedMarks
|
|
226
231
|
lastOsceMarksheetId
|
|
227
232
|
}
|
|
@@ -258,6 +258,14 @@ export interface ILeaveMarksheetVar {
|
|
|
258
258
|
}
|
|
259
259
|
export type ILeaveMarksheetData = RestrictedData<graphqlNormalize & IMarksheet, 'leaveMarksheet'>;
|
|
260
260
|
export declare const LEAVE_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
261
|
+
/**
|
|
262
|
+
* deleteMarksheet
|
|
263
|
+
*/
|
|
264
|
+
export interface IDeleteMarksheetVar {
|
|
265
|
+
marksheetId: Id;
|
|
266
|
+
}
|
|
267
|
+
export type IDeleteMarksheetData = RestrictedData<graphqlNormalize & boolean, 'deleteMarksheet'>;
|
|
268
|
+
export declare const DELETE_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
261
269
|
/**
|
|
262
270
|
* endMarksheet
|
|
263
271
|
*/
|
|
@@ -467,6 +467,13 @@ export const LEAVE_MARKSHEET = gql `
|
|
|
467
467
|
}
|
|
468
468
|
}
|
|
469
469
|
`;
|
|
470
|
+
export const DELETE_MARKSHEET = gql `
|
|
471
|
+
mutation DeleteMarksheet($marksheetId: Int!) {
|
|
472
|
+
restricted {
|
|
473
|
+
deleteMarksheet(marksheetId: $marksheetId)
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
`;
|
|
470
477
|
export const END_MARKSHEET = gql `
|
|
471
478
|
${MARKSHEET_STATS_FIELDS}
|
|
472
479
|
mutation EndMarksheet($marksheetId: Int!) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApolloCache } from '@apollo/client';
|
|
2
|
-
import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetMode, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, EPaceMarkType, EProductType, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
|
|
2
|
+
import { EEntitlementType, EOsceMarksheetAction, EOsceMarksheetMode, EOsceMarksheetState, EOsceRoles, EOsceStationPhase, EPaceMarkType, EProductType, EQuestionLike, EStudyAction, IOsceMarksheet, IOsceMarksheetMark, Id } from '../../../models';
|
|
3
3
|
import { ApolloUpdateOptions, ApolloUpdateResultRestricted } from '../../apollo';
|
|
4
4
|
import { IOsceChatStreamChunk, IOsceMatchmakingAction } from '../../subscription/osce';
|
|
5
5
|
import { RestrictedData, graphqlNormalize } from '../../types';
|
|
@@ -139,6 +139,10 @@ export declare const optimisticEndOsceMarksheet: (marksheet: IOsceMarksheet) =>
|
|
|
139
139
|
summary: import("../../../models").IOsceMarksheetSummary | null;
|
|
140
140
|
messages: import("../../../models").IOsceMarksheetMessage[] | null;
|
|
141
141
|
transcript: string | null;
|
|
142
|
+
feedbackReaction: {
|
|
143
|
+
reaction: EQuestionLike;
|
|
144
|
+
feedback: string | null;
|
|
145
|
+
} | null;
|
|
142
146
|
__typename: string;
|
|
143
147
|
};
|
|
144
148
|
};
|
|
@@ -161,3 +165,65 @@ export interface IAutoMarkOsceMarksheetVar {
|
|
|
161
165
|
}
|
|
162
166
|
export type IAutoMarkOsceMarksheetData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'autoMarkOsceMarksheet'>;
|
|
163
167
|
export declare const updateCacheOnAutoMarkOsceMarksheet: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<IAutoMarkOsceMarksheetData>, options: ApolloUpdateOptions<IAutoMarkOsceMarksheetVar>) => void;
|
|
168
|
+
export interface ISetOsceMarksheetFeedbackVars {
|
|
169
|
+
osceMarksheetId: Id;
|
|
170
|
+
reaction?: EQuestionLike;
|
|
171
|
+
feedback?: string;
|
|
172
|
+
}
|
|
173
|
+
export type ISetOsceMarksheetFeedbackData = RestrictedData<{
|
|
174
|
+
setOsceMarksheetFeedback: IOsceMarksheet['feedback'];
|
|
175
|
+
}, 'setOsceMarksheetFeedback'>;
|
|
176
|
+
export declare const SET_OSCE_MARKSHEET_FEEDBACK: import("@apollo/client").DocumentNode;
|
|
177
|
+
export declare const updateCacheOnSetOsceMarksheetFeedback: () => (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<ISetOsceMarksheetFeedbackData>, options: ApolloUpdateOptions<ISetOsceMarksheetFeedbackVars>) => void;
|
|
178
|
+
export declare const optimisticSetOsceMarksheetFeedback: (marksheet: IOsceMarksheet, feedbackReaction: IOsceMarksheet['feedbackReaction']) => {
|
|
179
|
+
restricted: {
|
|
180
|
+
__typename: string;
|
|
181
|
+
setOsceMarksheetFeedback: {
|
|
182
|
+
feedbackReaction: {
|
|
183
|
+
reaction: EQuestionLike;
|
|
184
|
+
feedback: string | null;
|
|
185
|
+
} | null;
|
|
186
|
+
id: number;
|
|
187
|
+
createdAt: number | Date;
|
|
188
|
+
updatedAt: number | Date;
|
|
189
|
+
deletedAt: number | Date;
|
|
190
|
+
timeTaken: number;
|
|
191
|
+
osceStationId: number;
|
|
192
|
+
osceStation?: import("../../../models").IOsceStation | undefined;
|
|
193
|
+
role?: EOsceRoles | undefined;
|
|
194
|
+
solo: boolean;
|
|
195
|
+
score: number;
|
|
196
|
+
total: number;
|
|
197
|
+
correct: number;
|
|
198
|
+
globalScore: number;
|
|
199
|
+
feedback: string;
|
|
200
|
+
agoraId: string;
|
|
201
|
+
sessionId: string;
|
|
202
|
+
readingTime: number;
|
|
203
|
+
stationTime: number;
|
|
204
|
+
feedbackTime: number;
|
|
205
|
+
startedAt: number | Date;
|
|
206
|
+
endedAt: number | Date;
|
|
207
|
+
pausedAt: number | Date;
|
|
208
|
+
timeRemaining: string;
|
|
209
|
+
totalStationTime: string;
|
|
210
|
+
stageTime: string;
|
|
211
|
+
stage: import("../../../models").EOsceStage;
|
|
212
|
+
marks: IOsceMarksheetMark[];
|
|
213
|
+
users: import("../../../models").IUser[];
|
|
214
|
+
activeUsers?: import("../../../models").IUser[] | undefined;
|
|
215
|
+
members: import("../../../models").IOsceMarksheetMember[];
|
|
216
|
+
state: EOsceMarksheetState;
|
|
217
|
+
completed: boolean;
|
|
218
|
+
entitlement: import("../../../models").IEntitlement;
|
|
219
|
+
entitlementId: EEntitlementType | EProductType;
|
|
220
|
+
isTimed: boolean;
|
|
221
|
+
phase: EOsceStationPhase;
|
|
222
|
+
mode: EOsceMarksheetMode;
|
|
223
|
+
summary: import("../../../models").IOsceMarksheetSummary | null;
|
|
224
|
+
messages: import("../../../models").IOsceMarksheetMessage[] | null;
|
|
225
|
+
transcript: string | null;
|
|
226
|
+
__typename: string;
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
};
|
|
@@ -326,6 +326,7 @@ export const STREAM_OSCE_CHAT_MESSAGE = gql `
|
|
|
326
326
|
}
|
|
327
327
|
`;
|
|
328
328
|
export const AUTO_MARK_OSCE_MARKSHEET = gql `
|
|
329
|
+
${OSCE_MARKSHEET_FIELDS}
|
|
329
330
|
mutation AutoMarkOsceMarksheet($osceMarksheetId: Int!) {
|
|
330
331
|
restricted {
|
|
331
332
|
autoMarkOsceMarksheet(osceMarksheetId: $osceMarksheetId) {
|
|
@@ -366,3 +367,49 @@ export const updateCacheOnAutoMarkOsceMarksheet = (cache, result, options) => {
|
|
|
366
367
|
});
|
|
367
368
|
}
|
|
368
369
|
};
|
|
370
|
+
export const SET_OSCE_MARKSHEET_FEEDBACK = gql `
|
|
371
|
+
mutation SetOsceMarksheetFeedback(
|
|
372
|
+
$osceMarksheetId: Int!
|
|
373
|
+
$reaction: Int
|
|
374
|
+
$feedback: String
|
|
375
|
+
) {
|
|
376
|
+
restricted {
|
|
377
|
+
setOsceMarksheetFeedback(
|
|
378
|
+
osceMarksheetId: $osceMarksheetId
|
|
379
|
+
reaction: $reaction
|
|
380
|
+
feedback: $feedback
|
|
381
|
+
) {
|
|
382
|
+
feedback
|
|
383
|
+
reaction
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
`;
|
|
388
|
+
export const updateCacheOnSetOsceMarksheetFeedback = () => {
|
|
389
|
+
return (cache, result, options) => {
|
|
390
|
+
const { setOsceMarksheetFeedback } = result?.data?.restricted || {};
|
|
391
|
+
const { variables } = options || {};
|
|
392
|
+
if (!variables || !setOsceMarksheetFeedback) {
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
cache.modify({
|
|
396
|
+
id: cache.identify({
|
|
397
|
+
id: variables.osceMarksheetId,
|
|
398
|
+
__typename: 'OsceMarksheet',
|
|
399
|
+
}),
|
|
400
|
+
fields: {
|
|
401
|
+
feedbackReaction: () => setOsceMarksheetFeedback,
|
|
402
|
+
},
|
|
403
|
+
});
|
|
404
|
+
};
|
|
405
|
+
};
|
|
406
|
+
export const optimisticSetOsceMarksheetFeedback = (marksheet, feedbackReaction) => ({
|
|
407
|
+
restricted: {
|
|
408
|
+
__typename: 'RestrictedMutation',
|
|
409
|
+
setOsceMarksheetFeedback: {
|
|
410
|
+
__typename: 'OsceMarksheet',
|
|
411
|
+
...marksheet,
|
|
412
|
+
feedbackReaction: feedbackReaction,
|
|
413
|
+
},
|
|
414
|
+
},
|
|
415
|
+
});
|
|
@@ -111,6 +111,7 @@ export const OSCE_STATIONS = gql `
|
|
|
111
111
|
...OsceStationFields
|
|
112
112
|
lastOsceMarksheetId
|
|
113
113
|
score
|
|
114
|
+
avgScore
|
|
114
115
|
}
|
|
115
116
|
}
|
|
116
117
|
}
|
|
@@ -144,6 +145,7 @@ export const SEARCH_OSCE_STATIONS = gql `
|
|
|
144
145
|
...OsceStationFields
|
|
145
146
|
lastOsceMarksheetId
|
|
146
147
|
score
|
|
148
|
+
avgScore
|
|
147
149
|
}
|
|
148
150
|
}
|
|
149
151
|
}
|