@quesmed/types 2.6.243 → 2.6.245
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/resolvers/fragments/osce.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/mjs/models/OsceMarksheet.d.ts +5 -0
- package/dist/mjs/resolvers/fragments/osce.js +8 -1
- package/dist/mjs/resolvers/mutation/restricted/osce.d.ts +67 -1
- package/dist/mjs/resolvers/mutation/restricted/osce.js +47 -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;
|
|
@@ -30,7 +30,10 @@ exports.OSCE_STATION_FIELDS = (0, client_1.gql) `
|
|
|
30
30
|
hiddenName
|
|
31
31
|
status
|
|
32
32
|
aiEnabled
|
|
33
|
-
examinerQuestions
|
|
33
|
+
examinerQuestions {
|
|
34
|
+
index
|
|
35
|
+
question
|
|
36
|
+
}
|
|
34
37
|
userNote {
|
|
35
38
|
id
|
|
36
39
|
userId
|
|
@@ -130,6 +133,10 @@ exports.OSCE_MARKSHEET_RESULT_FIELDS = (0, client_1.gql) `
|
|
|
130
133
|
}
|
|
131
134
|
score
|
|
132
135
|
globalScore
|
|
136
|
+
feedbackReaction {
|
|
137
|
+
reaction
|
|
138
|
+
feedback
|
|
139
|
+
}
|
|
133
140
|
}
|
|
134
141
|
`;
|
|
135
142
|
exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -27,7 +27,10 @@ export const OSCE_STATION_FIELDS = gql `
|
|
|
27
27
|
hiddenName
|
|
28
28
|
status
|
|
29
29
|
aiEnabled
|
|
30
|
-
examinerQuestions
|
|
30
|
+
examinerQuestions {
|
|
31
|
+
index
|
|
32
|
+
question
|
|
33
|
+
}
|
|
31
34
|
userNote {
|
|
32
35
|
id
|
|
33
36
|
userId
|
|
@@ -127,6 +130,10 @@ export const OSCE_MARKSHEET_RESULT_FIELDS = gql `
|
|
|
127
130
|
}
|
|
128
131
|
score
|
|
129
132
|
globalScore
|
|
133
|
+
feedbackReaction {
|
|
134
|
+
reaction
|
|
135
|
+
feedback
|
|
136
|
+
}
|
|
130
137
|
}
|
|
131
138
|
`;
|
|
132
139
|
export const OSCE_MARKSHEET_FIELDS = gql `
|
|
@@ -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
|
+
});
|