@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.
@@ -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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quesmed/types",
3
- "version": "2.6.244",
3
+ "version": "2.6.246",
4
4
  "description": "Typescript types for Quesmed",
5
5
  "keywords": [
6
6
  "quesmed",