@instructure/athena-api-client 1.0.6 → 1.0.8

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.
Files changed (70) hide show
  1. package/README.md +15 -0
  2. package/dist/apis/QuizSessionsApi.d.ts +76 -0
  3. package/dist/apis/QuizSessionsApi.js +207 -0
  4. package/dist/apis/QuizzesApi.d.ts +32 -0
  5. package/dist/apis/QuizzesApi.js +74 -0
  6. package/dist/apis/index.d.ts +2 -0
  7. package/dist/apis/index.js +2 -0
  8. package/dist/esm/apis/QuizSessionsApi.d.ts +76 -0
  9. package/dist/esm/apis/QuizSessionsApi.js +203 -0
  10. package/dist/esm/apis/QuizzesApi.d.ts +32 -0
  11. package/dist/esm/apis/QuizzesApi.js +70 -0
  12. package/dist/esm/apis/index.d.ts +2 -0
  13. package/dist/esm/apis/index.js +2 -0
  14. package/dist/esm/models/Chat.d.ts +7 -7
  15. package/dist/esm/models/Chat.js +21 -7
  16. package/dist/esm/models/ChatRequestAttachmentsInner.d.ts +6 -0
  17. package/dist/esm/models/ChatRequestAttachmentsInner.js +4 -0
  18. package/dist/esm/models/MessageAttachmentsInner.d.ts +6 -0
  19. package/dist/esm/models/MessageAttachmentsInner.js +4 -0
  20. package/dist/esm/models/Quiz.d.ts +76 -0
  21. package/dist/esm/models/Quiz.js +72 -0
  22. package/dist/esm/models/QuizQuestion.d.ts +103 -0
  23. package/dist/esm/models/QuizQuestion.js +85 -0
  24. package/dist/esm/models/QuizResponse.d.ts +76 -0
  25. package/dist/esm/models/QuizResponse.js +70 -0
  26. package/dist/esm/models/QuizSession.d.ts +71 -0
  27. package/dist/esm/models/QuizSession.js +69 -0
  28. package/dist/esm/models/QuizSessionSummary.d.ts +61 -0
  29. package/dist/esm/models/QuizSessionSummary.js +64 -0
  30. package/dist/esm/models/QuizSessionSummaryScore.d.ts +47 -0
  31. package/dist/esm/models/QuizSessionSummaryScore.js +53 -0
  32. package/dist/esm/models/QuizWithQuestions.d.ts +83 -0
  33. package/dist/esm/models/QuizWithQuestions.js +77 -0
  34. package/dist/esm/models/ScoreByTypeValue.d.ts +38 -0
  35. package/dist/esm/models/ScoreByTypeValue.js +47 -0
  36. package/dist/esm/models/SubmitQuizResponseRequest.d.ts +58 -0
  37. package/dist/esm/models/SubmitQuizResponseRequest.js +58 -0
  38. package/dist/esm/models/UpdateQuizSessionRequest.d.ts +40 -0
  39. package/dist/esm/models/UpdateQuizSessionRequest.js +50 -0
  40. package/dist/esm/models/index.d.ts +10 -0
  41. package/dist/esm/models/index.js +10 -0
  42. package/dist/models/Chat.d.ts +7 -7
  43. package/dist/models/Chat.js +21 -7
  44. package/dist/models/ChatRequestAttachmentsInner.d.ts +6 -0
  45. package/dist/models/ChatRequestAttachmentsInner.js +4 -0
  46. package/dist/models/MessageAttachmentsInner.d.ts +6 -0
  47. package/dist/models/MessageAttachmentsInner.js +4 -0
  48. package/dist/models/Quiz.d.ts +76 -0
  49. package/dist/models/Quiz.js +80 -0
  50. package/dist/models/QuizQuestion.d.ts +103 -0
  51. package/dist/models/QuizQuestion.js +93 -0
  52. package/dist/models/QuizResponse.d.ts +76 -0
  53. package/dist/models/QuizResponse.js +78 -0
  54. package/dist/models/QuizSession.d.ts +71 -0
  55. package/dist/models/QuizSession.js +77 -0
  56. package/dist/models/QuizSessionSummary.d.ts +61 -0
  57. package/dist/models/QuizSessionSummary.js +71 -0
  58. package/dist/models/QuizSessionSummaryScore.d.ts +47 -0
  59. package/dist/models/QuizSessionSummaryScore.js +60 -0
  60. package/dist/models/QuizWithQuestions.d.ts +83 -0
  61. package/dist/models/QuizWithQuestions.js +85 -0
  62. package/dist/models/ScoreByTypeValue.d.ts +38 -0
  63. package/dist/models/ScoreByTypeValue.js +54 -0
  64. package/dist/models/SubmitQuizResponseRequest.d.ts +58 -0
  65. package/dist/models/SubmitQuizResponseRequest.js +66 -0
  66. package/dist/models/UpdateQuizSessionRequest.d.ts +40 -0
  67. package/dist/models/UpdateQuizSessionRequest.js +58 -0
  68. package/dist/models/index.d.ts +10 -0
  69. package/dist/models/index.js +10 -0
  70. package/package.json +1 -1
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface QuizQuestion
16
+ */
17
+ export interface QuizQuestion {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof QuizQuestion
22
+ */
23
+ id: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof QuizQuestion
28
+ */
29
+ quizId: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof QuizQuestion
34
+ */
35
+ conceptId?: string | null;
36
+ /**
37
+ *
38
+ * @type {number}
39
+ * @memberof QuizQuestion
40
+ */
41
+ ordinal: number;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof QuizQuestion
46
+ */
47
+ type: QuizQuestionTypeEnum;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof QuizQuestion
52
+ */
53
+ question: string;
54
+ /**
55
+ *
56
+ * @type {Array<string>}
57
+ * @memberof QuizQuestion
58
+ */
59
+ options?: Array<string> | null;
60
+ /**
61
+ *
62
+ * @type {string}
63
+ * @memberof QuizQuestion
64
+ */
65
+ correctAnswer: string;
66
+ /**
67
+ *
68
+ * @type {string}
69
+ * @memberof QuizQuestion
70
+ */
71
+ explanation?: string | null;
72
+ /**
73
+ *
74
+ * @type {string}
75
+ * @memberof QuizQuestion
76
+ */
77
+ topic?: string | null;
78
+ /**
79
+ *
80
+ * @type {Date}
81
+ * @memberof QuizQuestion
82
+ */
83
+ createdAt: Date;
84
+ }
85
+ /**
86
+ * @export
87
+ */
88
+ export declare const QuizQuestionTypeEnum: {
89
+ readonly Mcq: "mcq";
90
+ readonly FillBlank: "fill-blank";
91
+ readonly SpotError: "spot-error";
92
+ readonly TeachBack: "teach-back";
93
+ readonly Flashcard: "flashcard";
94
+ };
95
+ export type QuizQuestionTypeEnum = typeof QuizQuestionTypeEnum[keyof typeof QuizQuestionTypeEnum];
96
+ /**
97
+ * Check if a given object implements the QuizQuestion interface.
98
+ */
99
+ export declare function instanceOfQuizQuestion(value: object): value is QuizQuestion;
100
+ export declare function QuizQuestionFromJSON(json: any): QuizQuestion;
101
+ export declare function QuizQuestionFromJSONTyped(json: any, ignoreDiscriminator: boolean): QuizQuestion;
102
+ export declare function QuizQuestionToJSON(json: any): QuizQuestion;
103
+ export declare function QuizQuestionToJSONTyped(value?: QuizQuestion | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,85 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * @export
16
+ */
17
+ export const QuizQuestionTypeEnum = {
18
+ Mcq: 'mcq',
19
+ FillBlank: 'fill-blank',
20
+ SpotError: 'spot-error',
21
+ TeachBack: 'teach-back',
22
+ Flashcard: 'flashcard'
23
+ };
24
+ /**
25
+ * Check if a given object implements the QuizQuestion interface.
26
+ */
27
+ export function instanceOfQuizQuestion(value) {
28
+ if (!('id' in value) || value['id'] === undefined)
29
+ return false;
30
+ if (!('quizId' in value) || value['quizId'] === undefined)
31
+ return false;
32
+ if (!('ordinal' in value) || value['ordinal'] === undefined)
33
+ return false;
34
+ if (!('type' in value) || value['type'] === undefined)
35
+ return false;
36
+ if (!('question' in value) || value['question'] === undefined)
37
+ return false;
38
+ if (!('correctAnswer' in value) || value['correctAnswer'] === undefined)
39
+ return false;
40
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
41
+ return false;
42
+ return true;
43
+ }
44
+ export function QuizQuestionFromJSON(json) {
45
+ return QuizQuestionFromJSONTyped(json, false);
46
+ }
47
+ export function QuizQuestionFromJSONTyped(json, ignoreDiscriminator) {
48
+ if (json == null) {
49
+ return json;
50
+ }
51
+ return {
52
+ 'id': json['id'],
53
+ 'quizId': json['quizId'],
54
+ 'conceptId': json['conceptId'] == null ? undefined : json['conceptId'],
55
+ 'ordinal': json['ordinal'],
56
+ 'type': json['type'],
57
+ 'question': json['question'],
58
+ 'options': json['options'] == null ? undefined : json['options'],
59
+ 'correctAnswer': json['correctAnswer'],
60
+ 'explanation': json['explanation'] == null ? undefined : json['explanation'],
61
+ 'topic': json['topic'] == null ? undefined : json['topic'],
62
+ 'createdAt': (new Date(json['createdAt'])),
63
+ };
64
+ }
65
+ export function QuizQuestionToJSON(json) {
66
+ return QuizQuestionToJSONTyped(json, false);
67
+ }
68
+ export function QuizQuestionToJSONTyped(value, ignoreDiscriminator = false) {
69
+ if (value == null) {
70
+ return value;
71
+ }
72
+ return {
73
+ 'id': value['id'],
74
+ 'quizId': value['quizId'],
75
+ 'conceptId': value['conceptId'],
76
+ 'ordinal': value['ordinal'],
77
+ 'type': value['type'],
78
+ 'question': value['question'],
79
+ 'options': value['options'],
80
+ 'correctAnswer': value['correctAnswer'],
81
+ 'explanation': value['explanation'],
82
+ 'topic': value['topic'],
83
+ 'createdAt': value['createdAt'].toISOString(),
84
+ };
85
+ }
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface QuizResponse
16
+ */
17
+ export interface QuizResponse {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof QuizResponse
22
+ */
23
+ id: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof QuizResponse
28
+ */
29
+ sessionId: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof QuizResponse
34
+ */
35
+ questionId: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof QuizResponse
40
+ */
41
+ userAnswer: string;
42
+ /**
43
+ *
44
+ * @type {boolean}
45
+ * @memberof QuizResponse
46
+ */
47
+ isCorrect?: boolean | null;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof QuizResponse
52
+ */
53
+ rating?: QuizResponseRatingEnum | null;
54
+ /**
55
+ *
56
+ * @type {Date}
57
+ * @memberof QuizResponse
58
+ */
59
+ createdAt: Date;
60
+ }
61
+ /**
62
+ * @export
63
+ */
64
+ export declare const QuizResponseRatingEnum: {
65
+ readonly WasRight: "was-right";
66
+ readonly NeedPractice: "need-practice";
67
+ };
68
+ export type QuizResponseRatingEnum = typeof QuizResponseRatingEnum[keyof typeof QuizResponseRatingEnum];
69
+ /**
70
+ * Check if a given object implements the QuizResponse interface.
71
+ */
72
+ export declare function instanceOfQuizResponse(value: object): value is QuizResponse;
73
+ export declare function QuizResponseFromJSON(json: any): QuizResponse;
74
+ export declare function QuizResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): QuizResponse;
75
+ export declare function QuizResponseToJSON(json: any): QuizResponse;
76
+ export declare function QuizResponseToJSONTyped(value?: QuizResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,70 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * @export
16
+ */
17
+ export const QuizResponseRatingEnum = {
18
+ WasRight: 'was-right',
19
+ NeedPractice: 'need-practice'
20
+ };
21
+ /**
22
+ * Check if a given object implements the QuizResponse interface.
23
+ */
24
+ export function instanceOfQuizResponse(value) {
25
+ if (!('id' in value) || value['id'] === undefined)
26
+ return false;
27
+ if (!('sessionId' in value) || value['sessionId'] === undefined)
28
+ return false;
29
+ if (!('questionId' in value) || value['questionId'] === undefined)
30
+ return false;
31
+ if (!('userAnswer' in value) || value['userAnswer'] === undefined)
32
+ return false;
33
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
34
+ return false;
35
+ return true;
36
+ }
37
+ export function QuizResponseFromJSON(json) {
38
+ return QuizResponseFromJSONTyped(json, false);
39
+ }
40
+ export function QuizResponseFromJSONTyped(json, ignoreDiscriminator) {
41
+ if (json == null) {
42
+ return json;
43
+ }
44
+ return {
45
+ 'id': json['id'],
46
+ 'sessionId': json['sessionId'],
47
+ 'questionId': json['questionId'],
48
+ 'userAnswer': json['userAnswer'],
49
+ 'isCorrect': json['isCorrect'] == null ? undefined : json['isCorrect'],
50
+ 'rating': json['rating'] == null ? undefined : json['rating'],
51
+ 'createdAt': (new Date(json['createdAt'])),
52
+ };
53
+ }
54
+ export function QuizResponseToJSON(json) {
55
+ return QuizResponseToJSONTyped(json, false);
56
+ }
57
+ export function QuizResponseToJSONTyped(value, ignoreDiscriminator = false) {
58
+ if (value == null) {
59
+ return value;
60
+ }
61
+ return {
62
+ 'id': value['id'],
63
+ 'sessionId': value['sessionId'],
64
+ 'questionId': value['questionId'],
65
+ 'userAnswer': value['userAnswer'],
66
+ 'isCorrect': value['isCorrect'],
67
+ 'rating': value['rating'],
68
+ 'createdAt': value['createdAt'].toISOString(),
69
+ };
70
+ }
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface QuizSession
16
+ */
17
+ export interface QuizSession {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof QuizSession
22
+ */
23
+ id: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof QuizSession
28
+ */
29
+ quizId: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof QuizSession
34
+ */
35
+ accountUserId: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof QuizSession
40
+ */
41
+ status: QuizSessionStatusEnum;
42
+ /**
43
+ *
44
+ * @type {Date}
45
+ * @memberof QuizSession
46
+ */
47
+ startedAt: Date;
48
+ /**
49
+ *
50
+ * @type {Date}
51
+ * @memberof QuizSession
52
+ */
53
+ completedAt?: Date | null;
54
+ }
55
+ /**
56
+ * @export
57
+ */
58
+ export declare const QuizSessionStatusEnum: {
59
+ readonly Active: "active";
60
+ readonly Completed: "completed";
61
+ readonly Abandoned: "abandoned";
62
+ };
63
+ export type QuizSessionStatusEnum = typeof QuizSessionStatusEnum[keyof typeof QuizSessionStatusEnum];
64
+ /**
65
+ * Check if a given object implements the QuizSession interface.
66
+ */
67
+ export declare function instanceOfQuizSession(value: object): value is QuizSession;
68
+ export declare function QuizSessionFromJSON(json: any): QuizSession;
69
+ export declare function QuizSessionFromJSONTyped(json: any, ignoreDiscriminator: boolean): QuizSession;
70
+ export declare function QuizSessionToJSON(json: any): QuizSession;
71
+ export declare function QuizSessionToJSONTyped(value?: QuizSession | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,69 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * @export
16
+ */
17
+ export const QuizSessionStatusEnum = {
18
+ Active: 'active',
19
+ Completed: 'completed',
20
+ Abandoned: 'abandoned'
21
+ };
22
+ /**
23
+ * Check if a given object implements the QuizSession interface.
24
+ */
25
+ export function instanceOfQuizSession(value) {
26
+ if (!('id' in value) || value['id'] === undefined)
27
+ return false;
28
+ if (!('quizId' in value) || value['quizId'] === undefined)
29
+ return false;
30
+ if (!('accountUserId' in value) || value['accountUserId'] === undefined)
31
+ return false;
32
+ if (!('status' in value) || value['status'] === undefined)
33
+ return false;
34
+ if (!('startedAt' in value) || value['startedAt'] === undefined)
35
+ return false;
36
+ return true;
37
+ }
38
+ export function QuizSessionFromJSON(json) {
39
+ return QuizSessionFromJSONTyped(json, false);
40
+ }
41
+ export function QuizSessionFromJSONTyped(json, ignoreDiscriminator) {
42
+ if (json == null) {
43
+ return json;
44
+ }
45
+ return {
46
+ 'id': json['id'],
47
+ 'quizId': json['quizId'],
48
+ 'accountUserId': json['accountUserId'],
49
+ 'status': json['status'],
50
+ 'startedAt': (new Date(json['startedAt'])),
51
+ 'completedAt': json['completedAt'] == null ? undefined : (new Date(json['completedAt'])),
52
+ };
53
+ }
54
+ export function QuizSessionToJSON(json) {
55
+ return QuizSessionToJSONTyped(json, false);
56
+ }
57
+ export function QuizSessionToJSONTyped(value, ignoreDiscriminator = false) {
58
+ if (value == null) {
59
+ return value;
60
+ }
61
+ return {
62
+ 'id': value['id'],
63
+ 'quizId': value['quizId'],
64
+ 'accountUserId': value['accountUserId'],
65
+ 'status': value['status'],
66
+ 'startedAt': value['startedAt'].toISOString(),
67
+ 'completedAt': value['completedAt'] == null ? value['completedAt'] : value['completedAt'].toISOString(),
68
+ };
69
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { QuizSessionSummaryScore } from './QuizSessionSummaryScore';
13
+ import type { Quiz } from './Quiz';
14
+ import type { QuizSession } from './QuizSession';
15
+ import type { QuizQuestion } from './QuizQuestion';
16
+ import type { QuizResponse } from './QuizResponse';
17
+ /**
18
+ *
19
+ * @export
20
+ * @interface QuizSessionSummary
21
+ */
22
+ export interface QuizSessionSummary {
23
+ /**
24
+ *
25
+ * @type {QuizSession}
26
+ * @memberof QuizSessionSummary
27
+ */
28
+ session: QuizSession;
29
+ /**
30
+ *
31
+ * @type {Quiz}
32
+ * @memberof QuizSessionSummary
33
+ */
34
+ quiz: Quiz;
35
+ /**
36
+ *
37
+ * @type {Array<QuizQuestion>}
38
+ * @memberof QuizSessionSummary
39
+ */
40
+ questions: Array<QuizQuestion>;
41
+ /**
42
+ *
43
+ * @type {Array<QuizResponse>}
44
+ * @memberof QuizSessionSummary
45
+ */
46
+ responses: Array<QuizResponse>;
47
+ /**
48
+ *
49
+ * @type {QuizSessionSummaryScore}
50
+ * @memberof QuizSessionSummary
51
+ */
52
+ score: QuizSessionSummaryScore;
53
+ }
54
+ /**
55
+ * Check if a given object implements the QuizSessionSummary interface.
56
+ */
57
+ export declare function instanceOfQuizSessionSummary(value: object): value is QuizSessionSummary;
58
+ export declare function QuizSessionSummaryFromJSON(json: any): QuizSessionSummary;
59
+ export declare function QuizSessionSummaryFromJSONTyped(json: any, ignoreDiscriminator: boolean): QuizSessionSummary;
60
+ export declare function QuizSessionSummaryToJSON(json: any): QuizSessionSummary;
61
+ export declare function QuizSessionSummaryToJSONTyped(value?: QuizSessionSummary | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,64 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Athena API
5
+ * REST API for the Athena system
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { QuizSessionSummaryScoreFromJSON, QuizSessionSummaryScoreToJSON, } from './QuizSessionSummaryScore';
15
+ import { QuizFromJSON, QuizToJSON, } from './Quiz';
16
+ import { QuizSessionFromJSON, QuizSessionToJSON, } from './QuizSession';
17
+ import { QuizQuestionFromJSON, QuizQuestionToJSON, } from './QuizQuestion';
18
+ import { QuizResponseFromJSON, QuizResponseToJSON, } from './QuizResponse';
19
+ /**
20
+ * Check if a given object implements the QuizSessionSummary interface.
21
+ */
22
+ export function instanceOfQuizSessionSummary(value) {
23
+ if (!('session' in value) || value['session'] === undefined)
24
+ return false;
25
+ if (!('quiz' in value) || value['quiz'] === undefined)
26
+ return false;
27
+ if (!('questions' in value) || value['questions'] === undefined)
28
+ return false;
29
+ if (!('responses' in value) || value['responses'] === undefined)
30
+ return false;
31
+ if (!('score' in value) || value['score'] === undefined)
32
+ return false;
33
+ return true;
34
+ }
35
+ export function QuizSessionSummaryFromJSON(json) {
36
+ return QuizSessionSummaryFromJSONTyped(json, false);
37
+ }
38
+ export function QuizSessionSummaryFromJSONTyped(json, ignoreDiscriminator) {
39
+ if (json == null) {
40
+ return json;
41
+ }
42
+ return {
43
+ 'session': QuizSessionFromJSON(json['session']),
44
+ 'quiz': QuizFromJSON(json['quiz']),
45
+ 'questions': (json['questions'].map(QuizQuestionFromJSON)),
46
+ 'responses': (json['responses'].map(QuizResponseFromJSON)),
47
+ 'score': QuizSessionSummaryScoreFromJSON(json['score']),
48
+ };
49
+ }
50
+ export function QuizSessionSummaryToJSON(json) {
51
+ return QuizSessionSummaryToJSONTyped(json, false);
52
+ }
53
+ export function QuizSessionSummaryToJSONTyped(value, ignoreDiscriminator = false) {
54
+ if (value == null) {
55
+ return value;
56
+ }
57
+ return {
58
+ 'session': QuizSessionToJSON(value['session']),
59
+ 'quiz': QuizToJSON(value['quiz']),
60
+ 'questions': (value['questions'].map(QuizQuestionToJSON)),
61
+ 'responses': (value['responses'].map(QuizResponseToJSON)),
62
+ 'score': QuizSessionSummaryScoreToJSON(value['score']),
63
+ };
64
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { ScoreByTypeValue } from './ScoreByTypeValue';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface QuizSessionSummaryScore
17
+ */
18
+ export interface QuizSessionSummaryScore {
19
+ /**
20
+ *
21
+ * @type {number}
22
+ * @memberof QuizSessionSummaryScore
23
+ */
24
+ totalCorrect: number;
25
+ /**
26
+ *
27
+ * @type {number}
28
+ * @memberof QuizSessionSummaryScore
29
+ */
30
+ totalQuestions: number;
31
+ /**
32
+ *
33
+ * @type {{ [key: string]: ScoreByTypeValue; }}
34
+ * @memberof QuizSessionSummaryScore
35
+ */
36
+ byType: {
37
+ [key: string]: ScoreByTypeValue;
38
+ };
39
+ }
40
+ /**
41
+ * Check if a given object implements the QuizSessionSummaryScore interface.
42
+ */
43
+ export declare function instanceOfQuizSessionSummaryScore(value: object): value is QuizSessionSummaryScore;
44
+ export declare function QuizSessionSummaryScoreFromJSON(json: any): QuizSessionSummaryScore;
45
+ export declare function QuizSessionSummaryScoreFromJSONTyped(json: any, ignoreDiscriminator: boolean): QuizSessionSummaryScore;
46
+ export declare function QuizSessionSummaryScoreToJSON(json: any): QuizSessionSummaryScore;
47
+ export declare function QuizSessionSummaryScoreToJSONTyped(value?: QuizSessionSummaryScore | null, ignoreDiscriminator?: boolean): any;