@quesmed/types 2.2.99 → 2.2.101
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/resolvers/mutation/restricted/marksheet.d.ts +1 -1
- package/dist/cjs/resolvers/mutation/restricted/marksheet.js +15 -27
- package/dist/cjs/resolvers/mutation/restricted/mockTest.d.ts +64 -0
- package/dist/cjs/resolvers/mutation/restricted/mockTest.js +64 -1
- package/dist/mjs/resolvers/mutation/restricted/marksheet.d.ts +1 -1
- package/dist/mjs/resolvers/mutation/restricted/marksheet.js +15 -27
- package/dist/mjs/resolvers/mutation/restricted/mockTest.d.ts +64 -0
- package/dist/mjs/resolvers/mutation/restricted/mockTest.js +59 -0
- package/package.json +1 -1
|
@@ -51,7 +51,7 @@ export interface IMarksheetInput {
|
|
|
51
51
|
*/
|
|
52
52
|
export declare const SAVE_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
53
53
|
export declare const updateMarksheets: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<ISaveMarksheetsData>, options: ApolloUpdateOptions) => void;
|
|
54
|
-
export declare const optimisticSaveMarksheets: (
|
|
54
|
+
export declare const optimisticSaveMarksheets: (marksheet: IMarksheet, marksheetInput: IMarksheetInput, questionIndex: number) => ISaveMarksheetsData;
|
|
55
55
|
export interface ISaveMarksheetsVar {
|
|
56
56
|
marksheetInput: IMarksheetInput[];
|
|
57
57
|
}
|
|
@@ -1781,36 +1781,24 @@ const updateMarksheets = (cache, result, options) => {
|
|
|
1781
1781
|
}
|
|
1782
1782
|
};
|
|
1783
1783
|
exports.updateMarksheets = updateMarksheets;
|
|
1784
|
-
const optimisticSaveMarksheets = (
|
|
1784
|
+
const optimisticSaveMarksheets = (marksheet, marksheetInput, questionIndex) => {
|
|
1785
1785
|
const { timeTaken, choiceId, mark, marksheetId } = marksheetInput;
|
|
1786
|
-
const
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
};
|
|
1800
|
-
const udatedMarks = [
|
|
1801
|
-
...marks.slice(0, questionIndex),
|
|
1802
|
-
updatedMark,
|
|
1803
|
-
...marks.slice(questionIndex + 1),
|
|
1804
|
-
];
|
|
1805
|
-
return {
|
|
1806
|
-
restricted: {
|
|
1807
|
-
saveMarksheets: [{ ...rest, marks: udatedMarks }],
|
|
1808
|
-
},
|
|
1809
|
-
};
|
|
1810
|
-
}
|
|
1786
|
+
const { marks = [], ...rest } = marksheet || {};
|
|
1787
|
+
const updatedMark = {
|
|
1788
|
+
...marks[questionIndex],
|
|
1789
|
+
marksheetId,
|
|
1790
|
+
timeTaken,
|
|
1791
|
+
questionChoiceId: choiceId ?? null,
|
|
1792
|
+
mark: mark || null,
|
|
1793
|
+
};
|
|
1794
|
+
const udatedMarks = [
|
|
1795
|
+
...marks.slice(0, questionIndex),
|
|
1796
|
+
updatedMark,
|
|
1797
|
+
...marks.slice(questionIndex + 1),
|
|
1798
|
+
];
|
|
1811
1799
|
return {
|
|
1812
1800
|
restricted: {
|
|
1813
|
-
saveMarksheets: [],
|
|
1801
|
+
saveMarksheets: [{ ...rest, marks: udatedMarks }],
|
|
1814
1802
|
},
|
|
1815
1803
|
};
|
|
1816
1804
|
};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ApolloCache } from '@apollo/client';
|
|
2
|
+
import { ApolloUpdateOptions, ApolloUpdateResultRestricted } from '../..';
|
|
1
3
|
import { Id, IMarksheet, IMarksheetMark } from '../../../models';
|
|
2
4
|
import { graphqlNormalize, RestrictedData } from '../../types';
|
|
3
5
|
export declare const BUILD_MOCK_TEST_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
@@ -7,12 +9,74 @@ export interface IBuildMockTestMarksheetVar {
|
|
|
7
9
|
}
|
|
8
10
|
export declare type IBuildMockTestMarksheetData = RestrictedData<graphqlNormalize & IMarksheet, 'buildMockTestMarksheet'>;
|
|
9
11
|
export declare const TOGGLE_FLAGGED_MARK: import("@apollo/client").DocumentNode;
|
|
12
|
+
export declare const MARK_FLAGGED_QUESTION: import("@apollo/client").DocumentNode;
|
|
13
|
+
export declare const updateCacheToggleFlaggedQuestion: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<IToggleFlaggedMarkData>) => void;
|
|
14
|
+
export declare const optimisticToggleFlaggedQuestion: (mark: IMarksheetMark, flagged: boolean) => {
|
|
15
|
+
restricted: {
|
|
16
|
+
__typename: string;
|
|
17
|
+
toggleFlaggedMark: {
|
|
18
|
+
flagged: boolean;
|
|
19
|
+
id: number;
|
|
20
|
+
createdAt: number | Date;
|
|
21
|
+
updatedAt: number | Date;
|
|
22
|
+
index: number;
|
|
23
|
+
marksheetId: number;
|
|
24
|
+
questionChoiceId: number | null;
|
|
25
|
+
questionChoices?: import("../../../models").IQuestionChoice | undefined;
|
|
26
|
+
timeTaken: number;
|
|
27
|
+
questionId: number;
|
|
28
|
+
question: import("../../../models").IQuestion;
|
|
29
|
+
mark: import("../../../models").IMarksheetMarkJSONB;
|
|
30
|
+
marksheet?: IMarksheet | undefined;
|
|
31
|
+
isAnswered: boolean;
|
|
32
|
+
striked: number[];
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
10
36
|
export interface IToggleFlaggedMarkVar {
|
|
11
37
|
markId: Id;
|
|
12
38
|
isFlagged: boolean;
|
|
13
39
|
}
|
|
14
40
|
export declare type IToggleFlaggedMarkData = RestrictedData<graphqlNormalize & IMarksheetMark, 'toggleFlaggedMark'>;
|
|
15
41
|
export declare const END_MOCK_TEST: import("@apollo/client").DocumentNode;
|
|
42
|
+
export declare const updateCacheOnEndMockTest: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<IEndMockTestData>, options: ApolloUpdateOptions) => void;
|
|
43
|
+
export declare const optimisticEndMockTest: (marksheet: IMarksheet) => {
|
|
44
|
+
restricted: {
|
|
45
|
+
__typename: string;
|
|
46
|
+
endMockTest: {
|
|
47
|
+
completed: boolean;
|
|
48
|
+
id: number;
|
|
49
|
+
createdAt: number | Date;
|
|
50
|
+
updatedAt: number | Date;
|
|
51
|
+
deletedAt: number | Date;
|
|
52
|
+
startedAt: number | Date;
|
|
53
|
+
type: import("../../../models").EMarksheetType;
|
|
54
|
+
endedAt: number | Date;
|
|
55
|
+
topicIds: number[];
|
|
56
|
+
topicNames?: string[] | undefined;
|
|
57
|
+
source: string;
|
|
58
|
+
userId: number;
|
|
59
|
+
user?: import("../../../models").IUser | undefined;
|
|
60
|
+
marks: IMarksheetMark[];
|
|
61
|
+
mockTestId: number | null;
|
|
62
|
+
correct?: number | undefined;
|
|
63
|
+
incorrect?: number | undefined;
|
|
64
|
+
totalQuestions?: number | undefined;
|
|
65
|
+
isTestMarksheet?: boolean | undefined;
|
|
66
|
+
solo: boolean;
|
|
67
|
+
agoraId: string;
|
|
68
|
+
users: import("../../../models").IUser[];
|
|
69
|
+
activeUsers?: import("../../../models").IUser[] | undefined;
|
|
70
|
+
state: import("../../../models").EMarksheetState;
|
|
71
|
+
timeTaken: number;
|
|
72
|
+
currentMarkId?: number | undefined;
|
|
73
|
+
topicConceptData?: string | undefined;
|
|
74
|
+
preBuildData?: import("./marksheet").IPreBuildMarksheet | undefined;
|
|
75
|
+
builderConfig?: import("./marksheet").IBuildConfigData | undefined;
|
|
76
|
+
__typename: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
};
|
|
16
80
|
export interface IEndMockTestVar {
|
|
17
81
|
marksheetId: Id;
|
|
18
82
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.END_MOCK_TEST = exports.TOGGLE_FLAGGED_MARK = exports.BUILD_MOCK_TEST_MARKSHEET = void 0;
|
|
3
|
+
exports.optimisticEndMockTest = exports.updateCacheOnEndMockTest = exports.END_MOCK_TEST = exports.optimisticToggleFlaggedQuestion = exports.updateCacheToggleFlaggedQuestion = exports.MARK_FLAGGED_QUESTION = exports.TOGGLE_FLAGGED_MARK = exports.BUILD_MOCK_TEST_MARKSHEET = void 0;
|
|
4
4
|
const client_1 = require("@apollo/client");
|
|
5
5
|
exports.BUILD_MOCK_TEST_MARKSHEET = (0, client_1.gql) `
|
|
6
6
|
mutation BuildMockTestMarksheet($mockTestId: Int!, $duration: Int!) {
|
|
@@ -16,10 +16,41 @@ exports.TOGGLE_FLAGGED_MARK = (0, client_1.gql) `
|
|
|
16
16
|
restricted {
|
|
17
17
|
toggleFlaggedMark(markId: $markId, isFlagged: $isFlagged) {
|
|
18
18
|
id
|
|
19
|
+
flagged
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
`;
|
|
24
|
+
exports.MARK_FLAGGED_QUESTION = (0, client_1.gql) `
|
|
25
|
+
fragment MarksheetMarkFlagged on MarksheetMark {
|
|
26
|
+
flagged
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
29
|
+
const updateCacheToggleFlaggedQuestion = (cache, result) => {
|
|
30
|
+
const { toggleFlaggedMark } = result?.data?.restricted || {};
|
|
31
|
+
if (!toggleFlaggedMark) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const { id, flagged } = toggleFlaggedMark;
|
|
35
|
+
cache.writeFragment({
|
|
36
|
+
id: cache.identify({ id, __typename: 'MarksheetMark' }),
|
|
37
|
+
data: {
|
|
38
|
+
flagged,
|
|
39
|
+
},
|
|
40
|
+
fragment: exports.MARK_FLAGGED_QUESTION,
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
exports.updateCacheToggleFlaggedQuestion = updateCacheToggleFlaggedQuestion;
|
|
44
|
+
const optimisticToggleFlaggedQuestion = (mark, flagged) => ({
|
|
45
|
+
restricted: {
|
|
46
|
+
__typename: 'RestrictedMutation',
|
|
47
|
+
toggleFlaggedMark: {
|
|
48
|
+
...mark,
|
|
49
|
+
flagged,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
exports.optimisticToggleFlaggedQuestion = optimisticToggleFlaggedQuestion;
|
|
23
54
|
exports.END_MOCK_TEST = (0, client_1.gql) `
|
|
24
55
|
mutation EndMockTest($marksheetId: Int!) {
|
|
25
56
|
restricted {
|
|
@@ -30,3 +61,35 @@ exports.END_MOCK_TEST = (0, client_1.gql) `
|
|
|
30
61
|
}
|
|
31
62
|
}
|
|
32
63
|
`;
|
|
64
|
+
const COMPLETED_MOCK_TEST_FRAGMENT = (0, client_1.gql) `
|
|
65
|
+
fragment MockTestCompleted on Marksheet {
|
|
66
|
+
completed
|
|
67
|
+
}
|
|
68
|
+
`;
|
|
69
|
+
const updateCacheOnEndMockTest = (cache, result, options) => {
|
|
70
|
+
const { endMockTest } = result?.data?.restricted || {};
|
|
71
|
+
const { variables } = options || {};
|
|
72
|
+
if (!variables || !endMockTest) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const { marksheetId: id } = variables;
|
|
76
|
+
cache.writeFragment({
|
|
77
|
+
id: cache.identify({ id, __typename: 'Marksheet' }),
|
|
78
|
+
data: {
|
|
79
|
+
completed: true,
|
|
80
|
+
},
|
|
81
|
+
fragment: COMPLETED_MOCK_TEST_FRAGMENT,
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
exports.updateCacheOnEndMockTest = updateCacheOnEndMockTest;
|
|
85
|
+
const optimisticEndMockTest = (marksheet) => ({
|
|
86
|
+
restricted: {
|
|
87
|
+
__typename: 'RestrictedMutation',
|
|
88
|
+
endMockTest: {
|
|
89
|
+
__typename: 'Marksheet',
|
|
90
|
+
...marksheet,
|
|
91
|
+
completed: true,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
exports.optimisticEndMockTest = optimisticEndMockTest;
|
|
@@ -51,7 +51,7 @@ export interface IMarksheetInput {
|
|
|
51
51
|
*/
|
|
52
52
|
export declare const SAVE_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
53
53
|
export declare const updateMarksheets: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<ISaveMarksheetsData>, options: ApolloUpdateOptions) => void;
|
|
54
|
-
export declare const optimisticSaveMarksheets: (
|
|
54
|
+
export declare const optimisticSaveMarksheets: (marksheet: IMarksheet, marksheetInput: IMarksheetInput, questionIndex: number) => ISaveMarksheetsData;
|
|
55
55
|
export interface ISaveMarksheetsVar {
|
|
56
56
|
marksheetInput: IMarksheetInput[];
|
|
57
57
|
}
|
|
@@ -1777,36 +1777,24 @@ export const updateMarksheets = (cache, result, options) => {
|
|
|
1777
1777
|
console.error(error);
|
|
1778
1778
|
}
|
|
1779
1779
|
};
|
|
1780
|
-
export const optimisticSaveMarksheets = (
|
|
1780
|
+
export const optimisticSaveMarksheets = (marksheet, marksheetInput, questionIndex) => {
|
|
1781
1781
|
const { timeTaken, choiceId, mark, marksheetId } = marksheetInput;
|
|
1782
|
-
const
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
};
|
|
1796
|
-
const udatedMarks = [
|
|
1797
|
-
...marks.slice(0, questionIndex),
|
|
1798
|
-
updatedMark,
|
|
1799
|
-
...marks.slice(questionIndex + 1),
|
|
1800
|
-
];
|
|
1801
|
-
return {
|
|
1802
|
-
restricted: {
|
|
1803
|
-
saveMarksheets: [{ ...rest, marks: udatedMarks }],
|
|
1804
|
-
},
|
|
1805
|
-
};
|
|
1806
|
-
}
|
|
1782
|
+
const { marks = [], ...rest } = marksheet || {};
|
|
1783
|
+
const updatedMark = {
|
|
1784
|
+
...marks[questionIndex],
|
|
1785
|
+
marksheetId,
|
|
1786
|
+
timeTaken,
|
|
1787
|
+
questionChoiceId: choiceId ?? null,
|
|
1788
|
+
mark: mark || null,
|
|
1789
|
+
};
|
|
1790
|
+
const udatedMarks = [
|
|
1791
|
+
...marks.slice(0, questionIndex),
|
|
1792
|
+
updatedMark,
|
|
1793
|
+
...marks.slice(questionIndex + 1),
|
|
1794
|
+
];
|
|
1807
1795
|
return {
|
|
1808
1796
|
restricted: {
|
|
1809
|
-
saveMarksheets: [],
|
|
1797
|
+
saveMarksheets: [{ ...rest, marks: udatedMarks }],
|
|
1810
1798
|
},
|
|
1811
1799
|
};
|
|
1812
1800
|
};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ApolloCache } from '@apollo/client';
|
|
2
|
+
import { ApolloUpdateOptions, ApolloUpdateResultRestricted } from '../..';
|
|
1
3
|
import { Id, IMarksheet, IMarksheetMark } from '../../../models';
|
|
2
4
|
import { graphqlNormalize, RestrictedData } from '../../types';
|
|
3
5
|
export declare const BUILD_MOCK_TEST_MARKSHEET: import("@apollo/client").DocumentNode;
|
|
@@ -7,12 +9,74 @@ export interface IBuildMockTestMarksheetVar {
|
|
|
7
9
|
}
|
|
8
10
|
export declare type IBuildMockTestMarksheetData = RestrictedData<graphqlNormalize & IMarksheet, 'buildMockTestMarksheet'>;
|
|
9
11
|
export declare const TOGGLE_FLAGGED_MARK: import("@apollo/client").DocumentNode;
|
|
12
|
+
export declare const MARK_FLAGGED_QUESTION: import("@apollo/client").DocumentNode;
|
|
13
|
+
export declare const updateCacheToggleFlaggedQuestion: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<IToggleFlaggedMarkData>) => void;
|
|
14
|
+
export declare const optimisticToggleFlaggedQuestion: (mark: IMarksheetMark, flagged: boolean) => {
|
|
15
|
+
restricted: {
|
|
16
|
+
__typename: string;
|
|
17
|
+
toggleFlaggedMark: {
|
|
18
|
+
flagged: boolean;
|
|
19
|
+
id: number;
|
|
20
|
+
createdAt: number | Date;
|
|
21
|
+
updatedAt: number | Date;
|
|
22
|
+
index: number;
|
|
23
|
+
marksheetId: number;
|
|
24
|
+
questionChoiceId: number | null;
|
|
25
|
+
questionChoices?: import("../../../models").IQuestionChoice | undefined;
|
|
26
|
+
timeTaken: number;
|
|
27
|
+
questionId: number;
|
|
28
|
+
question: import("../../../models").IQuestion;
|
|
29
|
+
mark: import("../../../models").IMarksheetMarkJSONB;
|
|
30
|
+
marksheet?: IMarksheet | undefined;
|
|
31
|
+
isAnswered: boolean;
|
|
32
|
+
striked: number[];
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
10
36
|
export interface IToggleFlaggedMarkVar {
|
|
11
37
|
markId: Id;
|
|
12
38
|
isFlagged: boolean;
|
|
13
39
|
}
|
|
14
40
|
export declare type IToggleFlaggedMarkData = RestrictedData<graphqlNormalize & IMarksheetMark, 'toggleFlaggedMark'>;
|
|
15
41
|
export declare const END_MOCK_TEST: import("@apollo/client").DocumentNode;
|
|
42
|
+
export declare const updateCacheOnEndMockTest: (cache: ApolloCache<any>, result: ApolloUpdateResultRestricted<IEndMockTestData>, options: ApolloUpdateOptions) => void;
|
|
43
|
+
export declare const optimisticEndMockTest: (marksheet: IMarksheet) => {
|
|
44
|
+
restricted: {
|
|
45
|
+
__typename: string;
|
|
46
|
+
endMockTest: {
|
|
47
|
+
completed: boolean;
|
|
48
|
+
id: number;
|
|
49
|
+
createdAt: number | Date;
|
|
50
|
+
updatedAt: number | Date;
|
|
51
|
+
deletedAt: number | Date;
|
|
52
|
+
startedAt: number | Date;
|
|
53
|
+
type: import("../../../models").EMarksheetType;
|
|
54
|
+
endedAt: number | Date;
|
|
55
|
+
topicIds: number[];
|
|
56
|
+
topicNames?: string[] | undefined;
|
|
57
|
+
source: string;
|
|
58
|
+
userId: number;
|
|
59
|
+
user?: import("../../../models").IUser | undefined;
|
|
60
|
+
marks: IMarksheetMark[];
|
|
61
|
+
mockTestId: number | null;
|
|
62
|
+
correct?: number | undefined;
|
|
63
|
+
incorrect?: number | undefined;
|
|
64
|
+
totalQuestions?: number | undefined;
|
|
65
|
+
isTestMarksheet?: boolean | undefined;
|
|
66
|
+
solo: boolean;
|
|
67
|
+
agoraId: string;
|
|
68
|
+
users: import("../../../models").IUser[];
|
|
69
|
+
activeUsers?: import("../../../models").IUser[] | undefined;
|
|
70
|
+
state: import("../../../models").EMarksheetState;
|
|
71
|
+
timeTaken: number;
|
|
72
|
+
currentMarkId?: number | undefined;
|
|
73
|
+
topicConceptData?: string | undefined;
|
|
74
|
+
preBuildData?: import("./marksheet").IPreBuildMarksheet | undefined;
|
|
75
|
+
builderConfig?: import("./marksheet").IBuildConfigData | undefined;
|
|
76
|
+
__typename: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
};
|
|
16
80
|
export interface IEndMockTestVar {
|
|
17
81
|
marksheetId: Id;
|
|
18
82
|
}
|
|
@@ -13,10 +13,39 @@ export const TOGGLE_FLAGGED_MARK = gql `
|
|
|
13
13
|
restricted {
|
|
14
14
|
toggleFlaggedMark(markId: $markId, isFlagged: $isFlagged) {
|
|
15
15
|
id
|
|
16
|
+
flagged
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
`;
|
|
21
|
+
export const MARK_FLAGGED_QUESTION = gql `
|
|
22
|
+
fragment MarksheetMarkFlagged on MarksheetMark {
|
|
23
|
+
flagged
|
|
24
|
+
}
|
|
25
|
+
`;
|
|
26
|
+
export const updateCacheToggleFlaggedQuestion = (cache, result) => {
|
|
27
|
+
const { toggleFlaggedMark } = result?.data?.restricted || {};
|
|
28
|
+
if (!toggleFlaggedMark) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const { id, flagged } = toggleFlaggedMark;
|
|
32
|
+
cache.writeFragment({
|
|
33
|
+
id: cache.identify({ id, __typename: 'MarksheetMark' }),
|
|
34
|
+
data: {
|
|
35
|
+
flagged,
|
|
36
|
+
},
|
|
37
|
+
fragment: MARK_FLAGGED_QUESTION,
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
export const optimisticToggleFlaggedQuestion = (mark, flagged) => ({
|
|
41
|
+
restricted: {
|
|
42
|
+
__typename: 'RestrictedMutation',
|
|
43
|
+
toggleFlaggedMark: {
|
|
44
|
+
...mark,
|
|
45
|
+
flagged,
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
});
|
|
20
49
|
export const END_MOCK_TEST = gql `
|
|
21
50
|
mutation EndMockTest($marksheetId: Int!) {
|
|
22
51
|
restricted {
|
|
@@ -27,3 +56,33 @@ export const END_MOCK_TEST = gql `
|
|
|
27
56
|
}
|
|
28
57
|
}
|
|
29
58
|
`;
|
|
59
|
+
const COMPLETED_MOCK_TEST_FRAGMENT = gql `
|
|
60
|
+
fragment MockTestCompleted on Marksheet {
|
|
61
|
+
completed
|
|
62
|
+
}
|
|
63
|
+
`;
|
|
64
|
+
export const updateCacheOnEndMockTest = (cache, result, options) => {
|
|
65
|
+
const { endMockTest } = result?.data?.restricted || {};
|
|
66
|
+
const { variables } = options || {};
|
|
67
|
+
if (!variables || !endMockTest) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const { marksheetId: id } = variables;
|
|
71
|
+
cache.writeFragment({
|
|
72
|
+
id: cache.identify({ id, __typename: 'Marksheet' }),
|
|
73
|
+
data: {
|
|
74
|
+
completed: true,
|
|
75
|
+
},
|
|
76
|
+
fragment: COMPLETED_MOCK_TEST_FRAGMENT,
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
export const optimisticEndMockTest = (marksheet) => ({
|
|
80
|
+
restricted: {
|
|
81
|
+
__typename: 'RestrictedMutation',
|
|
82
|
+
endMockTest: {
|
|
83
|
+
__typename: 'Marksheet',
|
|
84
|
+
...marksheet,
|
|
85
|
+
completed: true,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
});
|