@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.
@@ -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: (client: ApolloClient<any>, marksheetInput: IMarksheetInput, questionIndex: number) => ISaveMarksheetsData;
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 = (client, marksheetInput, questionIndex) => {
1784
+ const optimisticSaveMarksheets = (marksheet, marksheetInput, questionIndex) => {
1785
1785
  const { timeTaken, choiceId, mark, marksheetId } = marksheetInput;
1786
- const data = client.readQuery({
1787
- variables: { id: marksheetId },
1788
- query: restricted_1.MARKSHEET,
1789
- });
1790
- const { marksheet } = data?.restricted || {};
1791
- if (marksheet) {
1792
- const { marks = [], ...rest } = marksheet || {};
1793
- const updatedMark = {
1794
- ...marks[questionIndex],
1795
- marksheetId,
1796
- timeTaken,
1797
- questionChoiceId: choiceId ?? null,
1798
- mark: mark || null,
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: (client: ApolloClient<any>, marksheetInput: IMarksheetInput, questionIndex: number) => ISaveMarksheetsData;
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 = (client, marksheetInput, questionIndex) => {
1780
+ export const optimisticSaveMarksheets = (marksheet, marksheetInput, questionIndex) => {
1781
1781
  const { timeTaken, choiceId, mark, marksheetId } = marksheetInput;
1782
- const data = client.readQuery({
1783
- variables: { id: marksheetId },
1784
- query: MARKSHEET,
1785
- });
1786
- const { marksheet } = data?.restricted || {};
1787
- if (marksheet) {
1788
- const { marks = [], ...rest } = marksheet || {};
1789
- const updatedMark = {
1790
- ...marks[questionIndex],
1791
- marksheetId,
1792
- timeTaken,
1793
- questionChoiceId: choiceId ?? null,
1794
- mark: mark || null,
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
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quesmed/types",
3
- "version": "2.2.99",
3
+ "version": "2.2.101",
4
4
  "description": "Typescript types for Quesmed",
5
5
  "keywords": [
6
6
  "quesmed",