@instructure/athena-api-client 3.28.1 → 3.30.0
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/README.md +1 -0
- package/dist/apis/QuizSessionsApi.d.ts +3 -3
- package/dist/apis/QuizSessionsApi.js +1 -1
- package/dist/esm/apis/QuizSessionsApi.d.ts +3 -3
- package/dist/esm/apis/QuizSessionsApi.js +2 -2
- package/dist/esm/models/Chat.d.ts +6 -0
- package/dist/esm/models/Chat.js +4 -0
- package/dist/esm/models/QuizQuestionView.d.ts +6 -0
- package/dist/esm/models/QuizQuestionView.js +4 -0
- package/dist/esm/models/SubmittedQuizResponse.d.ts +109 -0
- package/dist/esm/models/SubmittedQuizResponse.js +98 -0
- package/dist/esm/models/index.d.ts +1 -0
- package/dist/esm/models/index.js +1 -0
- package/dist/models/Chat.d.ts +6 -0
- package/dist/models/Chat.js +4 -0
- package/dist/models/QuizQuestionView.d.ts +6 -0
- package/dist/models/QuizQuestionView.js +4 -0
- package/dist/models/SubmittedQuizResponse.d.ts +109 -0
- package/dist/models/SubmittedQuizResponse.js +106 -0
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.js +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -296,6 +296,7 @@ All URIs are relative to *http://localhost:3000*
|
|
|
296
296
|
- [StudyPlanActivity](docs/StudyPlanActivity.md)
|
|
297
297
|
- [StudySpace](docs/StudySpace.md)
|
|
298
298
|
- [SubmitQuizResponseRequest](docs/SubmitQuizResponseRequest.md)
|
|
299
|
+
- [SubmittedQuizResponse](docs/SubmittedQuizResponse.md)
|
|
299
300
|
- [SyllabusAnalysisObjective](docs/SyllabusAnalysisObjective.md)
|
|
300
301
|
- [SyllabusAnalysisStatus](docs/SyllabusAnalysisStatus.md)
|
|
301
302
|
- [SyllabusAnalysisStatusView](docs/SyllabusAnalysisStatusView.md)
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
import * as runtime from '../runtime';
|
|
13
|
-
import type { PaginatedQuizSessions, QuizConceptSummary, QuizQuestionView,
|
|
13
|
+
import type { PaginatedQuizSessions, QuizConceptSummary, QuizQuestionView, QuizSession, QuizSessionSummary, RecordQuizQuestionViewRequest, SubmitQuizResponseRequest, SubmittedQuizResponse, UpdateQuizSessionRequest } from '../models/index';
|
|
14
14
|
export interface CreateQuizSessionRequest {
|
|
15
15
|
quizId: string;
|
|
16
16
|
xUserId: string;
|
|
@@ -103,12 +103,12 @@ export declare class QuizSessionsApi extends runtime.BaseAPI {
|
|
|
103
103
|
* Submits an answer for a question within a quiz session.
|
|
104
104
|
* Submit a quiz response
|
|
105
105
|
*/
|
|
106
|
-
submitQuizResponseRaw(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<
|
|
106
|
+
submitQuizResponseRaw(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SubmittedQuizResponse>>;
|
|
107
107
|
/**
|
|
108
108
|
* Submits an answer for a question within a quiz session.
|
|
109
109
|
* Submit a quiz response
|
|
110
110
|
*/
|
|
111
|
-
submitQuizResponse(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<
|
|
111
|
+
submitQuizResponse(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SubmittedQuizResponse>;
|
|
112
112
|
/**
|
|
113
113
|
* Updates the status of a quiz session. Sets completedAt when status is \"completed\".
|
|
114
114
|
* Update quiz session status
|
|
@@ -280,7 +280,7 @@ class QuizSessionsApi extends runtime.BaseAPI {
|
|
|
280
280
|
query: queryParameters,
|
|
281
281
|
body: (0, index_1.SubmitQuizResponseRequestToJSON)(requestParameters['submitQuizResponseRequest']),
|
|
282
282
|
}, initOverrides);
|
|
283
|
-
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.
|
|
283
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.SubmittedQuizResponseFromJSON)(jsonValue));
|
|
284
284
|
});
|
|
285
285
|
}
|
|
286
286
|
/**
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
import * as runtime from '../runtime';
|
|
13
|
-
import type { PaginatedQuizSessions, QuizConceptSummary, QuizQuestionView,
|
|
13
|
+
import type { PaginatedQuizSessions, QuizConceptSummary, QuizQuestionView, QuizSession, QuizSessionSummary, RecordQuizQuestionViewRequest, SubmitQuizResponseRequest, SubmittedQuizResponse, UpdateQuizSessionRequest } from '../models/index';
|
|
14
14
|
export interface CreateQuizSessionRequest {
|
|
15
15
|
quizId: string;
|
|
16
16
|
xUserId: string;
|
|
@@ -103,12 +103,12 @@ export declare class QuizSessionsApi extends runtime.BaseAPI {
|
|
|
103
103
|
* Submits an answer for a question within a quiz session.
|
|
104
104
|
* Submit a quiz response
|
|
105
105
|
*/
|
|
106
|
-
submitQuizResponseRaw(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<
|
|
106
|
+
submitQuizResponseRaw(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SubmittedQuizResponse>>;
|
|
107
107
|
/**
|
|
108
108
|
* Submits an answer for a question within a quiz session.
|
|
109
109
|
* Submit a quiz response
|
|
110
110
|
*/
|
|
111
|
-
submitQuizResponse(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<
|
|
111
|
+
submitQuizResponse(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SubmittedQuizResponse>;
|
|
112
112
|
/**
|
|
113
113
|
* Updates the status of a quiz session. Sets completedAt when status is \"completed\".
|
|
114
114
|
* Update quiz session status
|
|
@@ -21,7 +21,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
23
|
import * as runtime from '../runtime';
|
|
24
|
-
import { PaginatedQuizSessionsFromJSON, QuizConceptSummaryFromJSON, QuizQuestionViewFromJSON,
|
|
24
|
+
import { PaginatedQuizSessionsFromJSON, QuizConceptSummaryFromJSON, QuizQuestionViewFromJSON, QuizSessionFromJSON, QuizSessionSummaryFromJSON, RecordQuizQuestionViewRequestToJSON, SubmitQuizResponseRequestToJSON, SubmittedQuizResponseFromJSON, UpdateQuizSessionRequestToJSON, } from '../models/index';
|
|
25
25
|
/**
|
|
26
26
|
*
|
|
27
27
|
*/
|
|
@@ -277,7 +277,7 @@ export class QuizSessionsApi extends runtime.BaseAPI {
|
|
|
277
277
|
query: queryParameters,
|
|
278
278
|
body: SubmitQuizResponseRequestToJSON(requestParameters['submitQuizResponseRequest']),
|
|
279
279
|
}, initOverrides);
|
|
280
|
-
return new runtime.JSONApiResponse(response, (jsonValue) =>
|
|
280
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => SubmittedQuizResponseFromJSON(jsonValue));
|
|
281
281
|
});
|
|
282
282
|
}
|
|
283
283
|
/**
|
|
@@ -105,6 +105,12 @@ export interface Chat {
|
|
|
105
105
|
* @memberof Chat
|
|
106
106
|
*/
|
|
107
107
|
courseId: string | null;
|
|
108
|
+
/**
|
|
109
|
+
* Canvas course this chat's activity should be attributed to, resolved at read time: the chat's own `courseId`, else the course of the study objective the chat was launched from, else the course of that objective's study space, else the course of the practice-quiz slot the chat was minted for. Null when none of them knows a course — the activity is genuinely unattributed. Unlike `courseId`, this field is reporting-only and never affects what the chat stream injects.
|
|
110
|
+
* @type {string}
|
|
111
|
+
* @memberof Chat
|
|
112
|
+
*/
|
|
113
|
+
attributionCourseId: string | null;
|
|
108
114
|
/**
|
|
109
115
|
* Snapshot of the learner's strength (0..1) captured when a learning session chat was created. Only populated for chatType 'level-up' or 'quick-practice'; null otherwise.
|
|
110
116
|
* @type {number}
|
package/dist/esm/models/Chat.js
CHANGED
|
@@ -52,6 +52,8 @@ export function instanceOfChat(value) {
|
|
|
52
52
|
return false;
|
|
53
53
|
if (!('courseId' in value) || value['courseId'] === undefined)
|
|
54
54
|
return false;
|
|
55
|
+
if (!('attributionCourseId' in value) || value['attributionCourseId'] === undefined)
|
|
56
|
+
return false;
|
|
55
57
|
if (!('initialStrength' in value) || value['initialStrength'] === undefined)
|
|
56
58
|
return false;
|
|
57
59
|
if (!('primaryConceptId' in value) || value['primaryConceptId'] === undefined)
|
|
@@ -83,6 +85,7 @@ export function ChatFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
83
85
|
'forReview': json['forReview'],
|
|
84
86
|
'taxonomyId': json['taxonomyId'],
|
|
85
87
|
'courseId': json['courseId'],
|
|
88
|
+
'attributionCourseId': json['attributionCourseId'],
|
|
86
89
|
'initialStrength': json['initialStrength'],
|
|
87
90
|
'primaryConceptId': json['primaryConceptId'],
|
|
88
91
|
'closedAt': (json['closedAt'] == null ? null : new Date(json['closedAt'])),
|
|
@@ -111,6 +114,7 @@ export function ChatToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
111
114
|
'forReview': value['forReview'],
|
|
112
115
|
'taxonomyId': value['taxonomyId'],
|
|
113
116
|
'courseId': value['courseId'],
|
|
117
|
+
'attributionCourseId': value['attributionCourseId'],
|
|
114
118
|
'initialStrength': value['initialStrength'],
|
|
115
119
|
'primaryConceptId': value['primaryConceptId'],
|
|
116
120
|
'closedAt': value['closedAt'] == null ? value['closedAt'] : value['closedAt'].toISOString(),
|
|
@@ -27,6 +27,12 @@ export interface QuizQuestionView {
|
|
|
27
27
|
* @memberof QuizQuestionView
|
|
28
28
|
*/
|
|
29
29
|
viewCount: number;
|
|
30
|
+
/**
|
|
31
|
+
* Canvas course this view is attributable to, resolved from the quiz's chat: the chat's own course grounding, else the study objective the quiz was launched from, else that objective's study space, else the practice-quiz slot the chat was minted for. Null when none of them knows a course — the view is simply unattributed. Matches `Chat.attributionCourseId` for the same chat.
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof QuizQuestionView
|
|
34
|
+
*/
|
|
35
|
+
courseId: string | null;
|
|
30
36
|
}
|
|
31
37
|
/**
|
|
32
38
|
* Check if a given object implements the QuizQuestionView interface.
|
|
@@ -19,6 +19,8 @@ export function instanceOfQuizQuestionView(value) {
|
|
|
19
19
|
return false;
|
|
20
20
|
if (!('viewCount' in value) || value['viewCount'] === undefined)
|
|
21
21
|
return false;
|
|
22
|
+
if (!('courseId' in value) || value['courseId'] === undefined)
|
|
23
|
+
return false;
|
|
22
24
|
return true;
|
|
23
25
|
}
|
|
24
26
|
export function QuizQuestionViewFromJSON(json) {
|
|
@@ -31,6 +33,7 @@ export function QuizQuestionViewFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
31
33
|
return {
|
|
32
34
|
'questionId': json['questionId'],
|
|
33
35
|
'viewCount': json['viewCount'],
|
|
36
|
+
'courseId': json['courseId'],
|
|
34
37
|
};
|
|
35
38
|
}
|
|
36
39
|
export function QuizQuestionViewToJSON(json) {
|
|
@@ -43,5 +46,6 @@ export function QuizQuestionViewToJSONTyped(value, ignoreDiscriminator = false)
|
|
|
43
46
|
return {
|
|
44
47
|
'questionId': value['questionId'],
|
|
45
48
|
'viewCount': value['viewCount'],
|
|
49
|
+
'courseId': value['courseId'],
|
|
46
50
|
};
|
|
47
51
|
}
|
|
@@ -0,0 +1,109 @@
|
|
|
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 SubmittedQuizResponse
|
|
16
|
+
*/
|
|
17
|
+
export interface SubmittedQuizResponse {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof SubmittedQuizResponse
|
|
22
|
+
*/
|
|
23
|
+
id: string;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof SubmittedQuizResponse
|
|
28
|
+
*/
|
|
29
|
+
sessionId: string;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof SubmittedQuizResponse
|
|
34
|
+
*/
|
|
35
|
+
questionId: string;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof SubmittedQuizResponse
|
|
40
|
+
*/
|
|
41
|
+
userAnswer: string;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {boolean}
|
|
45
|
+
* @memberof SubmittedQuizResponse
|
|
46
|
+
*/
|
|
47
|
+
isCorrect: boolean | null;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {string}
|
|
51
|
+
* @memberof SubmittedQuizResponse
|
|
52
|
+
*/
|
|
53
|
+
rating: SubmittedQuizResponseRatingEnum | null;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {string}
|
|
57
|
+
* @memberof SubmittedQuizResponse
|
|
58
|
+
*/
|
|
59
|
+
grade: SubmittedQuizResponseGradeEnum | null;
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @type {string}
|
|
63
|
+
* @memberof SubmittedQuizResponse
|
|
64
|
+
*/
|
|
65
|
+
feedback: string | null;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @type {Date}
|
|
69
|
+
* @memberof SubmittedQuizResponse
|
|
70
|
+
*/
|
|
71
|
+
createdAt: Date;
|
|
72
|
+
/**
|
|
73
|
+
* Whether a learning moment was created from this response
|
|
74
|
+
* @type {boolean}
|
|
75
|
+
* @memberof SubmittedQuizResponse
|
|
76
|
+
*/
|
|
77
|
+
learningMomentCreated: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Canvas course this answer is attributable to, resolved from the quiz's chat: the chat's own course grounding, else the study objective the quiz was launched from, else that objective's study space, else the practice-quiz slot the chat was minted for. Null when none of them knows a course — the answer is simply unattributed. Matches `Chat.attributionCourseId` for the same chat.
|
|
80
|
+
* @type {string}
|
|
81
|
+
* @memberof SubmittedQuizResponse
|
|
82
|
+
*/
|
|
83
|
+
courseId: string | null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @export
|
|
87
|
+
*/
|
|
88
|
+
export declare const SubmittedQuizResponseRatingEnum: {
|
|
89
|
+
readonly WasRight: "was-right";
|
|
90
|
+
readonly NeedPractice: "need-practice";
|
|
91
|
+
};
|
|
92
|
+
export type SubmittedQuizResponseRatingEnum = typeof SubmittedQuizResponseRatingEnum[keyof typeof SubmittedQuizResponseRatingEnum];
|
|
93
|
+
/**
|
|
94
|
+
* @export
|
|
95
|
+
*/
|
|
96
|
+
export declare const SubmittedQuizResponseGradeEnum: {
|
|
97
|
+
readonly Correct: "correct";
|
|
98
|
+
readonly Almost: "almost";
|
|
99
|
+
readonly Incorrect: "incorrect";
|
|
100
|
+
};
|
|
101
|
+
export type SubmittedQuizResponseGradeEnum = typeof SubmittedQuizResponseGradeEnum[keyof typeof SubmittedQuizResponseGradeEnum];
|
|
102
|
+
/**
|
|
103
|
+
* Check if a given object implements the SubmittedQuizResponse interface.
|
|
104
|
+
*/
|
|
105
|
+
export declare function instanceOfSubmittedQuizResponse(value: object): value is SubmittedQuizResponse;
|
|
106
|
+
export declare function SubmittedQuizResponseFromJSON(json: any): SubmittedQuizResponse;
|
|
107
|
+
export declare function SubmittedQuizResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubmittedQuizResponse;
|
|
108
|
+
export declare function SubmittedQuizResponseToJSON(json: any): SubmittedQuizResponse;
|
|
109
|
+
export declare function SubmittedQuizResponseToJSONTyped(value?: SubmittedQuizResponse | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,98 @@
|
|
|
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 SubmittedQuizResponseRatingEnum = {
|
|
18
|
+
WasRight: 'was-right',
|
|
19
|
+
NeedPractice: 'need-practice'
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* @export
|
|
23
|
+
*/
|
|
24
|
+
export const SubmittedQuizResponseGradeEnum = {
|
|
25
|
+
Correct: 'correct',
|
|
26
|
+
Almost: 'almost',
|
|
27
|
+
Incorrect: 'incorrect'
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Check if a given object implements the SubmittedQuizResponse interface.
|
|
31
|
+
*/
|
|
32
|
+
export function instanceOfSubmittedQuizResponse(value) {
|
|
33
|
+
if (!('id' in value) || value['id'] === undefined)
|
|
34
|
+
return false;
|
|
35
|
+
if (!('sessionId' in value) || value['sessionId'] === undefined)
|
|
36
|
+
return false;
|
|
37
|
+
if (!('questionId' in value) || value['questionId'] === undefined)
|
|
38
|
+
return false;
|
|
39
|
+
if (!('userAnswer' in value) || value['userAnswer'] === undefined)
|
|
40
|
+
return false;
|
|
41
|
+
if (!('isCorrect' in value) || value['isCorrect'] === undefined)
|
|
42
|
+
return false;
|
|
43
|
+
if (!('rating' in value) || value['rating'] === undefined)
|
|
44
|
+
return false;
|
|
45
|
+
if (!('grade' in value) || value['grade'] === undefined)
|
|
46
|
+
return false;
|
|
47
|
+
if (!('feedback' in value) || value['feedback'] === undefined)
|
|
48
|
+
return false;
|
|
49
|
+
if (!('createdAt' in value) || value['createdAt'] === undefined)
|
|
50
|
+
return false;
|
|
51
|
+
if (!('learningMomentCreated' in value) || value['learningMomentCreated'] === undefined)
|
|
52
|
+
return false;
|
|
53
|
+
if (!('courseId' in value) || value['courseId'] === undefined)
|
|
54
|
+
return false;
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
export function SubmittedQuizResponseFromJSON(json) {
|
|
58
|
+
return SubmittedQuizResponseFromJSONTyped(json, false);
|
|
59
|
+
}
|
|
60
|
+
export function SubmittedQuizResponseFromJSONTyped(json, ignoreDiscriminator) {
|
|
61
|
+
if (json == null) {
|
|
62
|
+
return json;
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
'id': json['id'],
|
|
66
|
+
'sessionId': json['sessionId'],
|
|
67
|
+
'questionId': json['questionId'],
|
|
68
|
+
'userAnswer': json['userAnswer'],
|
|
69
|
+
'isCorrect': json['isCorrect'],
|
|
70
|
+
'rating': json['rating'],
|
|
71
|
+
'grade': json['grade'],
|
|
72
|
+
'feedback': json['feedback'],
|
|
73
|
+
'createdAt': (new Date(json['createdAt'])),
|
|
74
|
+
'learningMomentCreated': json['learningMomentCreated'],
|
|
75
|
+
'courseId': json['courseId'],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function SubmittedQuizResponseToJSON(json) {
|
|
79
|
+
return SubmittedQuizResponseToJSONTyped(json, false);
|
|
80
|
+
}
|
|
81
|
+
export function SubmittedQuizResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
82
|
+
if (value == null) {
|
|
83
|
+
return value;
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
'id': value['id'],
|
|
87
|
+
'sessionId': value['sessionId'],
|
|
88
|
+
'questionId': value['questionId'],
|
|
89
|
+
'userAnswer': value['userAnswer'],
|
|
90
|
+
'isCorrect': value['isCorrect'],
|
|
91
|
+
'rating': value['rating'],
|
|
92
|
+
'grade': value['grade'],
|
|
93
|
+
'feedback': value['feedback'],
|
|
94
|
+
'createdAt': value['createdAt'].toISOString(),
|
|
95
|
+
'learningMomentCreated': value['learningMomentCreated'],
|
|
96
|
+
'courseId': value['courseId'],
|
|
97
|
+
};
|
|
98
|
+
}
|
|
@@ -113,6 +113,7 @@ export * from './StudyPlan';
|
|
|
113
113
|
export * from './StudyPlanActivity';
|
|
114
114
|
export * from './StudySpace';
|
|
115
115
|
export * from './SubmitQuizResponseRequest';
|
|
116
|
+
export * from './SubmittedQuizResponse';
|
|
116
117
|
export * from './SyllabusAnalysisObjective';
|
|
117
118
|
export * from './SyllabusAnalysisStatus';
|
|
118
119
|
export * from './SyllabusAnalysisStatusView';
|
package/dist/esm/models/index.js
CHANGED
|
@@ -115,6 +115,7 @@ export * from './StudyPlan';
|
|
|
115
115
|
export * from './StudyPlanActivity';
|
|
116
116
|
export * from './StudySpace';
|
|
117
117
|
export * from './SubmitQuizResponseRequest';
|
|
118
|
+
export * from './SubmittedQuizResponse';
|
|
118
119
|
export * from './SyllabusAnalysisObjective';
|
|
119
120
|
export * from './SyllabusAnalysisStatus';
|
|
120
121
|
export * from './SyllabusAnalysisStatusView';
|
package/dist/models/Chat.d.ts
CHANGED
|
@@ -105,6 +105,12 @@ export interface Chat {
|
|
|
105
105
|
* @memberof Chat
|
|
106
106
|
*/
|
|
107
107
|
courseId: string | null;
|
|
108
|
+
/**
|
|
109
|
+
* Canvas course this chat's activity should be attributed to, resolved at read time: the chat's own `courseId`, else the course of the study objective the chat was launched from, else the course of that objective's study space, else the course of the practice-quiz slot the chat was minted for. Null when none of them knows a course — the activity is genuinely unattributed. Unlike `courseId`, this field is reporting-only and never affects what the chat stream injects.
|
|
110
|
+
* @type {string}
|
|
111
|
+
* @memberof Chat
|
|
112
|
+
*/
|
|
113
|
+
attributionCourseId: string | null;
|
|
108
114
|
/**
|
|
109
115
|
* Snapshot of the learner's strength (0..1) captured when a learning session chat was created. Only populated for chatType 'level-up' or 'quick-practice'; null otherwise.
|
|
110
116
|
* @type {number}
|
package/dist/models/Chat.js
CHANGED
|
@@ -60,6 +60,8 @@ function instanceOfChat(value) {
|
|
|
60
60
|
return false;
|
|
61
61
|
if (!('courseId' in value) || value['courseId'] === undefined)
|
|
62
62
|
return false;
|
|
63
|
+
if (!('attributionCourseId' in value) || value['attributionCourseId'] === undefined)
|
|
64
|
+
return false;
|
|
63
65
|
if (!('initialStrength' in value) || value['initialStrength'] === undefined)
|
|
64
66
|
return false;
|
|
65
67
|
if (!('primaryConceptId' in value) || value['primaryConceptId'] === undefined)
|
|
@@ -91,6 +93,7 @@ function ChatFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
91
93
|
'forReview': json['forReview'],
|
|
92
94
|
'taxonomyId': json['taxonomyId'],
|
|
93
95
|
'courseId': json['courseId'],
|
|
96
|
+
'attributionCourseId': json['attributionCourseId'],
|
|
94
97
|
'initialStrength': json['initialStrength'],
|
|
95
98
|
'primaryConceptId': json['primaryConceptId'],
|
|
96
99
|
'closedAt': (json['closedAt'] == null ? null : new Date(json['closedAt'])),
|
|
@@ -119,6 +122,7 @@ function ChatToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
119
122
|
'forReview': value['forReview'],
|
|
120
123
|
'taxonomyId': value['taxonomyId'],
|
|
121
124
|
'courseId': value['courseId'],
|
|
125
|
+
'attributionCourseId': value['attributionCourseId'],
|
|
122
126
|
'initialStrength': value['initialStrength'],
|
|
123
127
|
'primaryConceptId': value['primaryConceptId'],
|
|
124
128
|
'closedAt': value['closedAt'] == null ? value['closedAt'] : value['closedAt'].toISOString(),
|
|
@@ -27,6 +27,12 @@ export interface QuizQuestionView {
|
|
|
27
27
|
* @memberof QuizQuestionView
|
|
28
28
|
*/
|
|
29
29
|
viewCount: number;
|
|
30
|
+
/**
|
|
31
|
+
* Canvas course this view is attributable to, resolved from the quiz's chat: the chat's own course grounding, else the study objective the quiz was launched from, else that objective's study space, else the practice-quiz slot the chat was minted for. Null when none of them knows a course — the view is simply unattributed. Matches `Chat.attributionCourseId` for the same chat.
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof QuizQuestionView
|
|
34
|
+
*/
|
|
35
|
+
courseId: string | null;
|
|
30
36
|
}
|
|
31
37
|
/**
|
|
32
38
|
* Check if a given object implements the QuizQuestionView interface.
|
|
@@ -26,6 +26,8 @@ function instanceOfQuizQuestionView(value) {
|
|
|
26
26
|
return false;
|
|
27
27
|
if (!('viewCount' in value) || value['viewCount'] === undefined)
|
|
28
28
|
return false;
|
|
29
|
+
if (!('courseId' in value) || value['courseId'] === undefined)
|
|
30
|
+
return false;
|
|
29
31
|
return true;
|
|
30
32
|
}
|
|
31
33
|
function QuizQuestionViewFromJSON(json) {
|
|
@@ -38,6 +40,7 @@ function QuizQuestionViewFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
38
40
|
return {
|
|
39
41
|
'questionId': json['questionId'],
|
|
40
42
|
'viewCount': json['viewCount'],
|
|
43
|
+
'courseId': json['courseId'],
|
|
41
44
|
};
|
|
42
45
|
}
|
|
43
46
|
function QuizQuestionViewToJSON(json) {
|
|
@@ -50,5 +53,6 @@ function QuizQuestionViewToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
50
53
|
return {
|
|
51
54
|
'questionId': value['questionId'],
|
|
52
55
|
'viewCount': value['viewCount'],
|
|
56
|
+
'courseId': value['courseId'],
|
|
53
57
|
};
|
|
54
58
|
}
|
|
@@ -0,0 +1,109 @@
|
|
|
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 SubmittedQuizResponse
|
|
16
|
+
*/
|
|
17
|
+
export interface SubmittedQuizResponse {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof SubmittedQuizResponse
|
|
22
|
+
*/
|
|
23
|
+
id: string;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof SubmittedQuizResponse
|
|
28
|
+
*/
|
|
29
|
+
sessionId: string;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof SubmittedQuizResponse
|
|
34
|
+
*/
|
|
35
|
+
questionId: string;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof SubmittedQuizResponse
|
|
40
|
+
*/
|
|
41
|
+
userAnswer: string;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {boolean}
|
|
45
|
+
* @memberof SubmittedQuizResponse
|
|
46
|
+
*/
|
|
47
|
+
isCorrect: boolean | null;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {string}
|
|
51
|
+
* @memberof SubmittedQuizResponse
|
|
52
|
+
*/
|
|
53
|
+
rating: SubmittedQuizResponseRatingEnum | null;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {string}
|
|
57
|
+
* @memberof SubmittedQuizResponse
|
|
58
|
+
*/
|
|
59
|
+
grade: SubmittedQuizResponseGradeEnum | null;
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @type {string}
|
|
63
|
+
* @memberof SubmittedQuizResponse
|
|
64
|
+
*/
|
|
65
|
+
feedback: string | null;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @type {Date}
|
|
69
|
+
* @memberof SubmittedQuizResponse
|
|
70
|
+
*/
|
|
71
|
+
createdAt: Date;
|
|
72
|
+
/**
|
|
73
|
+
* Whether a learning moment was created from this response
|
|
74
|
+
* @type {boolean}
|
|
75
|
+
* @memberof SubmittedQuizResponse
|
|
76
|
+
*/
|
|
77
|
+
learningMomentCreated: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Canvas course this answer is attributable to, resolved from the quiz's chat: the chat's own course grounding, else the study objective the quiz was launched from, else that objective's study space, else the practice-quiz slot the chat was minted for. Null when none of them knows a course — the answer is simply unattributed. Matches `Chat.attributionCourseId` for the same chat.
|
|
80
|
+
* @type {string}
|
|
81
|
+
* @memberof SubmittedQuizResponse
|
|
82
|
+
*/
|
|
83
|
+
courseId: string | null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @export
|
|
87
|
+
*/
|
|
88
|
+
export declare const SubmittedQuizResponseRatingEnum: {
|
|
89
|
+
readonly WasRight: "was-right";
|
|
90
|
+
readonly NeedPractice: "need-practice";
|
|
91
|
+
};
|
|
92
|
+
export type SubmittedQuizResponseRatingEnum = typeof SubmittedQuizResponseRatingEnum[keyof typeof SubmittedQuizResponseRatingEnum];
|
|
93
|
+
/**
|
|
94
|
+
* @export
|
|
95
|
+
*/
|
|
96
|
+
export declare const SubmittedQuizResponseGradeEnum: {
|
|
97
|
+
readonly Correct: "correct";
|
|
98
|
+
readonly Almost: "almost";
|
|
99
|
+
readonly Incorrect: "incorrect";
|
|
100
|
+
};
|
|
101
|
+
export type SubmittedQuizResponseGradeEnum = typeof SubmittedQuizResponseGradeEnum[keyof typeof SubmittedQuizResponseGradeEnum];
|
|
102
|
+
/**
|
|
103
|
+
* Check if a given object implements the SubmittedQuizResponse interface.
|
|
104
|
+
*/
|
|
105
|
+
export declare function instanceOfSubmittedQuizResponse(value: object): value is SubmittedQuizResponse;
|
|
106
|
+
export declare function SubmittedQuizResponseFromJSON(json: any): SubmittedQuizResponse;
|
|
107
|
+
export declare function SubmittedQuizResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubmittedQuizResponse;
|
|
108
|
+
export declare function SubmittedQuizResponseToJSON(json: any): SubmittedQuizResponse;
|
|
109
|
+
export declare function SubmittedQuizResponseToJSONTyped(value?: SubmittedQuizResponse | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* Athena API
|
|
6
|
+
* REST API for the Athena system
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: 1.0.0
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.SubmittedQuizResponseGradeEnum = exports.SubmittedQuizResponseRatingEnum = void 0;
|
|
17
|
+
exports.instanceOfSubmittedQuizResponse = instanceOfSubmittedQuizResponse;
|
|
18
|
+
exports.SubmittedQuizResponseFromJSON = SubmittedQuizResponseFromJSON;
|
|
19
|
+
exports.SubmittedQuizResponseFromJSONTyped = SubmittedQuizResponseFromJSONTyped;
|
|
20
|
+
exports.SubmittedQuizResponseToJSON = SubmittedQuizResponseToJSON;
|
|
21
|
+
exports.SubmittedQuizResponseToJSONTyped = SubmittedQuizResponseToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
* @export
|
|
24
|
+
*/
|
|
25
|
+
exports.SubmittedQuizResponseRatingEnum = {
|
|
26
|
+
WasRight: 'was-right',
|
|
27
|
+
NeedPractice: 'need-practice'
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* @export
|
|
31
|
+
*/
|
|
32
|
+
exports.SubmittedQuizResponseGradeEnum = {
|
|
33
|
+
Correct: 'correct',
|
|
34
|
+
Almost: 'almost',
|
|
35
|
+
Incorrect: 'incorrect'
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Check if a given object implements the SubmittedQuizResponse interface.
|
|
39
|
+
*/
|
|
40
|
+
function instanceOfSubmittedQuizResponse(value) {
|
|
41
|
+
if (!('id' in value) || value['id'] === undefined)
|
|
42
|
+
return false;
|
|
43
|
+
if (!('sessionId' in value) || value['sessionId'] === undefined)
|
|
44
|
+
return false;
|
|
45
|
+
if (!('questionId' in value) || value['questionId'] === undefined)
|
|
46
|
+
return false;
|
|
47
|
+
if (!('userAnswer' in value) || value['userAnswer'] === undefined)
|
|
48
|
+
return false;
|
|
49
|
+
if (!('isCorrect' in value) || value['isCorrect'] === undefined)
|
|
50
|
+
return false;
|
|
51
|
+
if (!('rating' in value) || value['rating'] === undefined)
|
|
52
|
+
return false;
|
|
53
|
+
if (!('grade' in value) || value['grade'] === undefined)
|
|
54
|
+
return false;
|
|
55
|
+
if (!('feedback' in value) || value['feedback'] === undefined)
|
|
56
|
+
return false;
|
|
57
|
+
if (!('createdAt' in value) || value['createdAt'] === undefined)
|
|
58
|
+
return false;
|
|
59
|
+
if (!('learningMomentCreated' in value) || value['learningMomentCreated'] === undefined)
|
|
60
|
+
return false;
|
|
61
|
+
if (!('courseId' in value) || value['courseId'] === undefined)
|
|
62
|
+
return false;
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
function SubmittedQuizResponseFromJSON(json) {
|
|
66
|
+
return SubmittedQuizResponseFromJSONTyped(json, false);
|
|
67
|
+
}
|
|
68
|
+
function SubmittedQuizResponseFromJSONTyped(json, ignoreDiscriminator) {
|
|
69
|
+
if (json == null) {
|
|
70
|
+
return json;
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
'id': json['id'],
|
|
74
|
+
'sessionId': json['sessionId'],
|
|
75
|
+
'questionId': json['questionId'],
|
|
76
|
+
'userAnswer': json['userAnswer'],
|
|
77
|
+
'isCorrect': json['isCorrect'],
|
|
78
|
+
'rating': json['rating'],
|
|
79
|
+
'grade': json['grade'],
|
|
80
|
+
'feedback': json['feedback'],
|
|
81
|
+
'createdAt': (new Date(json['createdAt'])),
|
|
82
|
+
'learningMomentCreated': json['learningMomentCreated'],
|
|
83
|
+
'courseId': json['courseId'],
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
function SubmittedQuizResponseToJSON(json) {
|
|
87
|
+
return SubmittedQuizResponseToJSONTyped(json, false);
|
|
88
|
+
}
|
|
89
|
+
function SubmittedQuizResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
90
|
+
if (value == null) {
|
|
91
|
+
return value;
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
'id': value['id'],
|
|
95
|
+
'sessionId': value['sessionId'],
|
|
96
|
+
'questionId': value['questionId'],
|
|
97
|
+
'userAnswer': value['userAnswer'],
|
|
98
|
+
'isCorrect': value['isCorrect'],
|
|
99
|
+
'rating': value['rating'],
|
|
100
|
+
'grade': value['grade'],
|
|
101
|
+
'feedback': value['feedback'],
|
|
102
|
+
'createdAt': value['createdAt'].toISOString(),
|
|
103
|
+
'learningMomentCreated': value['learningMomentCreated'],
|
|
104
|
+
'courseId': value['courseId'],
|
|
105
|
+
};
|
|
106
|
+
}
|
package/dist/models/index.d.ts
CHANGED
|
@@ -113,6 +113,7 @@ export * from './StudyPlan';
|
|
|
113
113
|
export * from './StudyPlanActivity';
|
|
114
114
|
export * from './StudySpace';
|
|
115
115
|
export * from './SubmitQuizResponseRequest';
|
|
116
|
+
export * from './SubmittedQuizResponse';
|
|
116
117
|
export * from './SyllabusAnalysisObjective';
|
|
117
118
|
export * from './SyllabusAnalysisStatus';
|
|
118
119
|
export * from './SyllabusAnalysisStatusView';
|
package/dist/models/index.js
CHANGED
|
@@ -131,6 +131,7 @@ __exportStar(require("./StudyPlan"), exports);
|
|
|
131
131
|
__exportStar(require("./StudyPlanActivity"), exports);
|
|
132
132
|
__exportStar(require("./StudySpace"), exports);
|
|
133
133
|
__exportStar(require("./SubmitQuizResponseRequest"), exports);
|
|
134
|
+
__exportStar(require("./SubmittedQuizResponse"), exports);
|
|
134
135
|
__exportStar(require("./SyllabusAnalysisObjective"), exports);
|
|
135
136
|
__exportStar(require("./SyllabusAnalysisStatus"), exports);
|
|
136
137
|
__exportStar(require("./SyllabusAnalysisStatusView"), exports);
|