@instructure/athena-api-client 3.42.2 → 3.44.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 +2 -0
- package/dist/esm/models/ChatRequestMessageMetadata.d.ts +14 -1
- package/dist/esm/models/ChatRequestMessageMetadata.js +8 -0
- package/dist/esm/models/ChatRequestQuizSettings.d.ts +19 -0
- package/dist/esm/models/ChatRequestQuizSettings.js +10 -0
- package/dist/esm/models/Quiz.d.ts +7 -0
- package/dist/esm/models/Quiz.js +3 -0
- package/dist/esm/models/QuizBasisSnapshot.d.ts +76 -0
- package/dist/esm/models/QuizBasisSnapshot.js +77 -0
- package/dist/esm/models/QuizListItem.d.ts +7 -0
- package/dist/esm/models/QuizListItem.js +3 -0
- package/dist/esm/models/QuizWithQuestions.d.ts +7 -0
- package/dist/esm/models/QuizWithQuestions.js +3 -0
- package/dist/esm/models/StudyObjective.d.ts +28 -0
- package/dist/esm/models/StudyObjective.js +15 -0
- package/dist/esm/models/StudyObjectiveAccess.d.ts +159 -0
- package/dist/esm/models/StudyObjectiveAccess.js +136 -0
- package/dist/esm/models/UpcomingStudyObjective.d.ts +28 -0
- package/dist/esm/models/UpcomingStudyObjective.js +15 -0
- package/dist/esm/models/index.d.ts +2 -0
- package/dist/esm/models/index.js +2 -0
- package/dist/models/ChatRequestMessageMetadata.d.ts +14 -1
- package/dist/models/ChatRequestMessageMetadata.js +9 -0
- package/dist/models/ChatRequestQuizSettings.d.ts +19 -0
- package/dist/models/ChatRequestQuizSettings.js +11 -1
- package/dist/models/Quiz.d.ts +7 -0
- package/dist/models/Quiz.js +3 -0
- package/dist/models/QuizBasisSnapshot.d.ts +76 -0
- package/dist/models/QuizBasisSnapshot.js +85 -0
- package/dist/models/QuizListItem.d.ts +7 -0
- package/dist/models/QuizListItem.js +3 -0
- package/dist/models/QuizWithQuestions.d.ts +7 -0
- package/dist/models/QuizWithQuestions.js +3 -0
- package/dist/models/StudyObjective.d.ts +28 -0
- package/dist/models/StudyObjective.js +16 -1
- package/dist/models/StudyObjectiveAccess.d.ts +159 -0
- package/dist/models/StudyObjectiveAccess.js +144 -0
- package/dist/models/UpcomingStudyObjective.d.ts +28 -0
- package/dist/models/UpcomingStudyObjective.js +16 -1
- package/dist/models/index.d.ts +2 -0
- package/dist/models/index.js +2 -0
- package/package.json +1 -1
|
@@ -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 QuizBasisSnapshot
|
|
16
|
+
*/
|
|
17
|
+
export interface QuizBasisSnapshot {
|
|
18
|
+
/**
|
|
19
|
+
* What the questions were actually built from: 'learner-materials' (the learner's own files, which the generator reports using), 'course-material' (course files read from Canvas, same test), 'learner-scope' (what the learner said the assessment covers), or 'general' (practice on the subject).
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof QuizBasisSnapshot
|
|
22
|
+
*/
|
|
23
|
+
basis: QuizBasisSnapshotBasisEnum;
|
|
24
|
+
/**
|
|
25
|
+
* A learner file was in play but never reached the generator (it could not be read, or generation retried without it).
|
|
26
|
+
* @type {boolean}
|
|
27
|
+
* @memberof QuizBasisSnapshot
|
|
28
|
+
*/
|
|
29
|
+
droppedFile: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether anything said what the assessment covers when the quiz was generated.
|
|
32
|
+
* @type {boolean}
|
|
33
|
+
* @memberof QuizBasisSnapshot
|
|
34
|
+
*/
|
|
35
|
+
scopeKnown: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* The course's access state at generation time; null when none was read.
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof QuizBasisSnapshot
|
|
40
|
+
*/
|
|
41
|
+
accessState: QuizBasisSnapshotAccessStateEnum | null;
|
|
42
|
+
/**
|
|
43
|
+
* The access rule version behind accessState; null with it.
|
|
44
|
+
* @type {number}
|
|
45
|
+
* @memberof QuizBasisSnapshot
|
|
46
|
+
*/
|
|
47
|
+
ruleVersion: number | null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @export
|
|
51
|
+
*/
|
|
52
|
+
export declare const QuizBasisSnapshotBasisEnum: {
|
|
53
|
+
readonly CourseMaterial: "course-material";
|
|
54
|
+
readonly LearnerMaterials: "learner-materials";
|
|
55
|
+
readonly LearnerScope: "learner-scope";
|
|
56
|
+
readonly General: "general";
|
|
57
|
+
};
|
|
58
|
+
export type QuizBasisSnapshotBasisEnum = typeof QuizBasisSnapshotBasisEnum[keyof typeof QuizBasisSnapshotBasisEnum];
|
|
59
|
+
/**
|
|
60
|
+
* @export
|
|
61
|
+
*/
|
|
62
|
+
export declare const QuizBasisSnapshotAccessStateEnum: {
|
|
63
|
+
readonly Grounded: "grounded";
|
|
64
|
+
readonly Thin: "thin";
|
|
65
|
+
readonly Unreadable: "unreadable";
|
|
66
|
+
readonly Unknown: "unknown";
|
|
67
|
+
};
|
|
68
|
+
export type QuizBasisSnapshotAccessStateEnum = typeof QuizBasisSnapshotAccessStateEnum[keyof typeof QuizBasisSnapshotAccessStateEnum];
|
|
69
|
+
/**
|
|
70
|
+
* Check if a given object implements the QuizBasisSnapshot interface.
|
|
71
|
+
*/
|
|
72
|
+
export declare function instanceOfQuizBasisSnapshot(value: object): value is QuizBasisSnapshot;
|
|
73
|
+
export declare function QuizBasisSnapshotFromJSON(json: any): QuizBasisSnapshot;
|
|
74
|
+
export declare function QuizBasisSnapshotFromJSONTyped(json: any, ignoreDiscriminator: boolean): QuizBasisSnapshot;
|
|
75
|
+
export declare function QuizBasisSnapshotToJSON(json: any): QuizBasisSnapshot;
|
|
76
|
+
export declare function QuizBasisSnapshotToJSONTyped(value?: QuizBasisSnapshot | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,85 @@
|
|
|
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.QuizBasisSnapshotAccessStateEnum = exports.QuizBasisSnapshotBasisEnum = void 0;
|
|
17
|
+
exports.instanceOfQuizBasisSnapshot = instanceOfQuizBasisSnapshot;
|
|
18
|
+
exports.QuizBasisSnapshotFromJSON = QuizBasisSnapshotFromJSON;
|
|
19
|
+
exports.QuizBasisSnapshotFromJSONTyped = QuizBasisSnapshotFromJSONTyped;
|
|
20
|
+
exports.QuizBasisSnapshotToJSON = QuizBasisSnapshotToJSON;
|
|
21
|
+
exports.QuizBasisSnapshotToJSONTyped = QuizBasisSnapshotToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
* @export
|
|
24
|
+
*/
|
|
25
|
+
exports.QuizBasisSnapshotBasisEnum = {
|
|
26
|
+
CourseMaterial: 'course-material',
|
|
27
|
+
LearnerMaterials: 'learner-materials',
|
|
28
|
+
LearnerScope: 'learner-scope',
|
|
29
|
+
General: 'general'
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* @export
|
|
33
|
+
*/
|
|
34
|
+
exports.QuizBasisSnapshotAccessStateEnum = {
|
|
35
|
+
Grounded: 'grounded',
|
|
36
|
+
Thin: 'thin',
|
|
37
|
+
Unreadable: 'unreadable',
|
|
38
|
+
Unknown: 'unknown'
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Check if a given object implements the QuizBasisSnapshot interface.
|
|
42
|
+
*/
|
|
43
|
+
function instanceOfQuizBasisSnapshot(value) {
|
|
44
|
+
if (!('basis' in value) || value['basis'] === undefined)
|
|
45
|
+
return false;
|
|
46
|
+
if (!('droppedFile' in value) || value['droppedFile'] === undefined)
|
|
47
|
+
return false;
|
|
48
|
+
if (!('scopeKnown' in value) || value['scopeKnown'] === undefined)
|
|
49
|
+
return false;
|
|
50
|
+
if (!('accessState' in value) || value['accessState'] === undefined)
|
|
51
|
+
return false;
|
|
52
|
+
if (!('ruleVersion' in value) || value['ruleVersion'] === undefined)
|
|
53
|
+
return false;
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
function QuizBasisSnapshotFromJSON(json) {
|
|
57
|
+
return QuizBasisSnapshotFromJSONTyped(json, false);
|
|
58
|
+
}
|
|
59
|
+
function QuizBasisSnapshotFromJSONTyped(json, ignoreDiscriminator) {
|
|
60
|
+
if (json == null) {
|
|
61
|
+
return json;
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
'basis': json['basis'],
|
|
65
|
+
'droppedFile': json['droppedFile'],
|
|
66
|
+
'scopeKnown': json['scopeKnown'],
|
|
67
|
+
'accessState': json['accessState'],
|
|
68
|
+
'ruleVersion': json['ruleVersion'],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function QuizBasisSnapshotToJSON(json) {
|
|
72
|
+
return QuizBasisSnapshotToJSONTyped(json, false);
|
|
73
|
+
}
|
|
74
|
+
function QuizBasisSnapshotToJSONTyped(value, ignoreDiscriminator = false) {
|
|
75
|
+
if (value == null) {
|
|
76
|
+
return value;
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
'basis': value['basis'],
|
|
80
|
+
'droppedFile': value['droppedFile'],
|
|
81
|
+
'scopeKnown': value['scopeKnown'],
|
|
82
|
+
'accessState': value['accessState'],
|
|
83
|
+
'ruleVersion': value['ruleVersion'],
|
|
84
|
+
};
|
|
85
|
+
}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* https://openapi-generator.tech
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
|
+
import type { QuizBasisSnapshot } from './QuizBasisSnapshot';
|
|
12
13
|
/**
|
|
13
14
|
*
|
|
14
15
|
* @export
|
|
@@ -63,6 +64,12 @@ export interface QuizListItem {
|
|
|
63
64
|
* @memberof QuizListItem
|
|
64
65
|
*/
|
|
65
66
|
expectedQuestionCount: number | null;
|
|
67
|
+
/**
|
|
68
|
+
* What this quiz was built from, recorded once with the quiz so a reload or a retake reads the same. Null for quizzes generated before it was recorded.
|
|
69
|
+
* @type {QuizBasisSnapshot}
|
|
70
|
+
* @memberof QuizListItem
|
|
71
|
+
*/
|
|
72
|
+
basisSnapshot?: QuizBasisSnapshot | null;
|
|
66
73
|
/**
|
|
67
74
|
*
|
|
68
75
|
* @type {Date}
|
|
@@ -19,6 +19,7 @@ exports.QuizListItemFromJSON = QuizListItemFromJSON;
|
|
|
19
19
|
exports.QuizListItemFromJSONTyped = QuizListItemFromJSONTyped;
|
|
20
20
|
exports.QuizListItemToJSON = QuizListItemToJSON;
|
|
21
21
|
exports.QuizListItemToJSONTyped = QuizListItemToJSONTyped;
|
|
22
|
+
const QuizBasisSnapshot_1 = require("./QuizBasisSnapshot");
|
|
22
23
|
/**
|
|
23
24
|
* @export
|
|
24
25
|
*/
|
|
@@ -76,6 +77,7 @@ function QuizListItemFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
76
77
|
'mode': json['mode'],
|
|
77
78
|
'generationStatus': json['generationStatus'],
|
|
78
79
|
'expectedQuestionCount': json['expectedQuestionCount'],
|
|
80
|
+
'basisSnapshot': json['basisSnapshot'] == null ? undefined : (0, QuizBasisSnapshot_1.QuizBasisSnapshotFromJSON)(json['basisSnapshot']),
|
|
79
81
|
'createdAt': (new Date(json['createdAt'])),
|
|
80
82
|
'questionCount': json['questionCount'],
|
|
81
83
|
};
|
|
@@ -96,6 +98,7 @@ function QuizListItemToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
96
98
|
'mode': value['mode'],
|
|
97
99
|
'generationStatus': value['generationStatus'],
|
|
98
100
|
'expectedQuestionCount': value['expectedQuestionCount'],
|
|
101
|
+
'basisSnapshot': (0, QuizBasisSnapshot_1.QuizBasisSnapshotToJSON)(value['basisSnapshot']),
|
|
99
102
|
'createdAt': value['createdAt'].toISOString(),
|
|
100
103
|
'questionCount': value['questionCount'],
|
|
101
104
|
};
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
import type { QuizQuestion } from './QuizQuestion';
|
|
13
|
+
import type { QuizBasisSnapshot } from './QuizBasisSnapshot';
|
|
13
14
|
/**
|
|
14
15
|
*
|
|
15
16
|
* @export
|
|
@@ -64,6 +65,12 @@ export interface QuizWithQuestions {
|
|
|
64
65
|
* @memberof QuizWithQuestions
|
|
65
66
|
*/
|
|
66
67
|
expectedQuestionCount: number | null;
|
|
68
|
+
/**
|
|
69
|
+
* What this quiz was built from, recorded once with the quiz so a reload or a retake reads the same. Null for quizzes generated before it was recorded.
|
|
70
|
+
* @type {QuizBasisSnapshot}
|
|
71
|
+
* @memberof QuizWithQuestions
|
|
72
|
+
*/
|
|
73
|
+
basisSnapshot?: QuizBasisSnapshot | null;
|
|
67
74
|
/**
|
|
68
75
|
*
|
|
69
76
|
* @type {Date}
|
|
@@ -20,6 +20,7 @@ exports.QuizWithQuestionsFromJSONTyped = QuizWithQuestionsFromJSONTyped;
|
|
|
20
20
|
exports.QuizWithQuestionsToJSON = QuizWithQuestionsToJSON;
|
|
21
21
|
exports.QuizWithQuestionsToJSONTyped = QuizWithQuestionsToJSONTyped;
|
|
22
22
|
const QuizQuestion_1 = require("./QuizQuestion");
|
|
23
|
+
const QuizBasisSnapshot_1 = require("./QuizBasisSnapshot");
|
|
23
24
|
/**
|
|
24
25
|
* @export
|
|
25
26
|
*/
|
|
@@ -77,6 +78,7 @@ function QuizWithQuestionsFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
77
78
|
'mode': json['mode'],
|
|
78
79
|
'generationStatus': json['generationStatus'],
|
|
79
80
|
'expectedQuestionCount': json['expectedQuestionCount'],
|
|
81
|
+
'basisSnapshot': json['basisSnapshot'] == null ? undefined : (0, QuizBasisSnapshot_1.QuizBasisSnapshotFromJSON)(json['basisSnapshot']),
|
|
80
82
|
'createdAt': (new Date(json['createdAt'])),
|
|
81
83
|
'questions': (json['questions'].map(QuizQuestion_1.QuizQuestionFromJSON)),
|
|
82
84
|
};
|
|
@@ -97,6 +99,7 @@ function QuizWithQuestionsToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
97
99
|
'mode': value['mode'],
|
|
98
100
|
'generationStatus': value['generationStatus'],
|
|
99
101
|
'expectedQuestionCount': value['expectedQuestionCount'],
|
|
102
|
+
'basisSnapshot': (0, QuizBasisSnapshot_1.QuizBasisSnapshotToJSON)(value['basisSnapshot']),
|
|
100
103
|
'createdAt': value['createdAt'].toISOString(),
|
|
101
104
|
'questions': (value['questions'].map(QuizQuestion_1.QuizQuestionToJSON)),
|
|
102
105
|
};
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
import type { StudyObjectiveFileAttachment } from './StudyObjectiveFileAttachment';
|
|
13
|
+
import type { StudyObjectiveAccess } from './StudyObjectiveAccess';
|
|
13
14
|
import type { StudyObjectiveCanvasDocument } from './StudyObjectiveCanvasDocument';
|
|
14
15
|
/**
|
|
15
16
|
*
|
|
@@ -101,6 +102,24 @@ export interface StudyObjective {
|
|
|
101
102
|
* @memberof StudyObjective
|
|
102
103
|
*/
|
|
103
104
|
archivedAt: Date | null;
|
|
105
|
+
/**
|
|
106
|
+
* What the Canvas item's course gives Athena to go on, for a Canvas-sourced objective. Null for custom objectives and until Athena has read the course (the read runs with concept extraction and refreshes weekly). Course-level facts shared by every learner on the item, except scopeKnown and scopeKnownReason, which also count this learner's syllabus analysis.
|
|
107
|
+
* @type {StudyObjectiveAccess}
|
|
108
|
+
* @memberof StudyObjective
|
|
109
|
+
*/
|
|
110
|
+
access?: StudyObjectiveAccess | null;
|
|
111
|
+
/**
|
|
112
|
+
* What the learner told Athena this assessment covers, in their own words; null when nothing was told. Per-user and never written by a Canvas re-sync.
|
|
113
|
+
* @type {string}
|
|
114
|
+
* @memberof StudyObjective
|
|
115
|
+
*/
|
|
116
|
+
learnerScope?: string | null;
|
|
117
|
+
/**
|
|
118
|
+
* The access state Athena last told this learner about for this objective (the thin-context ask, or practice generated from a panel showing it); null when never told. Read-only.
|
|
119
|
+
* @type {string}
|
|
120
|
+
* @memberof StudyObjective
|
|
121
|
+
*/
|
|
122
|
+
accessDisclosedState?: StudyObjectiveAccessDisclosedStateEnum | null;
|
|
104
123
|
/**
|
|
105
124
|
*
|
|
106
125
|
* @type {Date}
|
|
@@ -123,6 +142,15 @@ export declare const StudyObjectiveSourceEnum: {
|
|
|
123
142
|
readonly Template: "template";
|
|
124
143
|
};
|
|
125
144
|
export type StudyObjectiveSourceEnum = typeof StudyObjectiveSourceEnum[keyof typeof StudyObjectiveSourceEnum];
|
|
145
|
+
/**
|
|
146
|
+
* @export
|
|
147
|
+
*/
|
|
148
|
+
export declare const StudyObjectiveAccessDisclosedStateEnum: {
|
|
149
|
+
readonly Grounded: "grounded";
|
|
150
|
+
readonly Thin: "thin";
|
|
151
|
+
readonly Unreadable: "unreadable";
|
|
152
|
+
};
|
|
153
|
+
export type StudyObjectiveAccessDisclosedStateEnum = typeof StudyObjectiveAccessDisclosedStateEnum[keyof typeof StudyObjectiveAccessDisclosedStateEnum];
|
|
126
154
|
/**
|
|
127
155
|
* Check if a given object implements the StudyObjective interface.
|
|
128
156
|
*/
|
|
@@ -13,13 +13,14 @@
|
|
|
13
13
|
* Do not edit the class manually.
|
|
14
14
|
*/
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.StudyObjectiveSourceEnum = void 0;
|
|
16
|
+
exports.StudyObjectiveAccessDisclosedStateEnum = exports.StudyObjectiveSourceEnum = void 0;
|
|
17
17
|
exports.instanceOfStudyObjective = instanceOfStudyObjective;
|
|
18
18
|
exports.StudyObjectiveFromJSON = StudyObjectiveFromJSON;
|
|
19
19
|
exports.StudyObjectiveFromJSONTyped = StudyObjectiveFromJSONTyped;
|
|
20
20
|
exports.StudyObjectiveToJSON = StudyObjectiveToJSON;
|
|
21
21
|
exports.StudyObjectiveToJSONTyped = StudyObjectiveToJSONTyped;
|
|
22
22
|
const StudyObjectiveFileAttachment_1 = require("./StudyObjectiveFileAttachment");
|
|
23
|
+
const StudyObjectiveAccess_1 = require("./StudyObjectiveAccess");
|
|
23
24
|
const StudyObjectiveCanvasDocument_1 = require("./StudyObjectiveCanvasDocument");
|
|
24
25
|
/**
|
|
25
26
|
* @export
|
|
@@ -29,6 +30,14 @@ exports.StudyObjectiveSourceEnum = {
|
|
|
29
30
|
Syllabus: 'syllabus',
|
|
30
31
|
Template: 'template'
|
|
31
32
|
};
|
|
33
|
+
/**
|
|
34
|
+
* @export
|
|
35
|
+
*/
|
|
36
|
+
exports.StudyObjectiveAccessDisclosedStateEnum = {
|
|
37
|
+
Grounded: 'grounded',
|
|
38
|
+
Thin: 'thin',
|
|
39
|
+
Unreadable: 'unreadable'
|
|
40
|
+
};
|
|
32
41
|
/**
|
|
33
42
|
* Check if a given object implements the StudyObjective interface.
|
|
34
43
|
*/
|
|
@@ -89,6 +98,9 @@ function StudyObjectiveFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
89
98
|
'canvasDocuments': (json['canvasDocuments'].map(StudyObjectiveCanvasDocument_1.StudyObjectiveCanvasDocumentFromJSON)),
|
|
90
99
|
'dueAt': (json['dueAt'] == null ? null : new Date(json['dueAt'])),
|
|
91
100
|
'archivedAt': (json['archivedAt'] == null ? null : new Date(json['archivedAt'])),
|
|
101
|
+
'access': json['access'] == null ? undefined : (0, StudyObjectiveAccess_1.StudyObjectiveAccessFromJSON)(json['access']),
|
|
102
|
+
'learnerScope': json['learnerScope'] == null ? undefined : json['learnerScope'],
|
|
103
|
+
'accessDisclosedState': json['accessDisclosedState'] == null ? undefined : json['accessDisclosedState'],
|
|
92
104
|
'createdAt': (new Date(json['createdAt'])),
|
|
93
105
|
'updatedAt': (new Date(json['updatedAt'])),
|
|
94
106
|
};
|
|
@@ -115,6 +127,9 @@ function StudyObjectiveToJSONTyped(value, ignoreDiscriminator = false) {
|
|
|
115
127
|
'canvasDocuments': (value['canvasDocuments'].map(StudyObjectiveCanvasDocument_1.StudyObjectiveCanvasDocumentToJSON)),
|
|
116
128
|
'dueAt': value['dueAt'] == null ? value['dueAt'] : value['dueAt'].toISOString(),
|
|
117
129
|
'archivedAt': value['archivedAt'] == null ? value['archivedAt'] : value['archivedAt'].toISOString(),
|
|
130
|
+
'access': (0, StudyObjectiveAccess_1.StudyObjectiveAccessToJSON)(value['access']),
|
|
131
|
+
'learnerScope': value['learnerScope'],
|
|
132
|
+
'accessDisclosedState': value['accessDisclosedState'],
|
|
118
133
|
'createdAt': value['createdAt'].toISOString(),
|
|
119
134
|
'updatedAt': value['updatedAt'].toISOString(),
|
|
120
135
|
};
|
|
@@ -0,0 +1,159 @@
|
|
|
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 StudyObjectiveAccess
|
|
16
|
+
*/
|
|
17
|
+
export interface StudyObjectiveAccess {
|
|
18
|
+
/**
|
|
19
|
+
* What the Canvas item's course gives Athena to go on: 'grounded' (some material Athena can read: a syllabus, the item's own text, or readable course files), 'unknown' (Athena can't tell; see unknownReason), 'unreadable' (nothing readable, but locked files or external-tool items exist that Athena cannot open), or 'thin' (the item's title and dates only).
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof StudyObjectiveAccess
|
|
22
|
+
*/
|
|
23
|
+
state: StudyObjectiveAccessStateEnum;
|
|
24
|
+
/**
|
|
25
|
+
* Why state is 'unknown'; null otherwise. 'pages-only': the course's only candidate material is module pages, which Athena counts but does not open. 'listing-denied': Canvas refused the files or modules listing (for example a hidden Files tab) and nothing Athena could read grounds the course, so it can't say what that listing holds.
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof StudyObjectiveAccess
|
|
28
|
+
*/
|
|
29
|
+
unknownReason: StudyObjectiveAccessUnknownReasonEnum | null;
|
|
30
|
+
/**
|
|
31
|
+
* Whether anything says what this item covers, for this learner: the item's own text (description or page body), or topics this learner's syllabus analysis found for the assessment with the same title. A syllabus that only names the item does not count.
|
|
32
|
+
* @type {boolean}
|
|
33
|
+
* @memberof StudyObjectiveAccess
|
|
34
|
+
*/
|
|
35
|
+
scopeKnown: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Why scopeKnown is true; null when it is false. 'item-text', 'syllabus-topics', or 'syllabus-legacy' (the paired syllabus assessment was analysed before topic counts were stored, so its scope is presumed known).
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof StudyObjectiveAccess
|
|
40
|
+
*/
|
|
41
|
+
scopeKnownReason: StudyObjectiveAccessScopeKnownReasonEnum | null;
|
|
42
|
+
/**
|
|
43
|
+
* Where a syllabus long enough to count as material came from; 'none' when no syllabus counted (absent, or a stub).
|
|
44
|
+
* @type {string}
|
|
45
|
+
* @memberof StudyObjectiveAccess
|
|
46
|
+
*/
|
|
47
|
+
syllabusSource: StudyObjectiveAccessSyllabusSourceEnum;
|
|
48
|
+
/**
|
|
49
|
+
* Course files Athena could read (supported types, visible and unlocked), from the course files list. Null when the files list could not be read.
|
|
50
|
+
* @type {number}
|
|
51
|
+
* @memberof StudyObjectiveAccess
|
|
52
|
+
*/
|
|
53
|
+
readableFileCount: number | null;
|
|
54
|
+
/**
|
|
55
|
+
* Course files of a supported type that are locked for the learner. Null when the files list could not be read.
|
|
56
|
+
* @type {number}
|
|
57
|
+
* @memberof StudyObjectiveAccess
|
|
58
|
+
*/
|
|
59
|
+
lockedFileCount: number | null;
|
|
60
|
+
/**
|
|
61
|
+
* Published module items of type Page. Counted from the module listing; pages are not opened. Null when modules could not be listed.
|
|
62
|
+
* @type {number}
|
|
63
|
+
* @memberof StudyObjectiveAccess
|
|
64
|
+
*/
|
|
65
|
+
modulePageCount: number | null;
|
|
66
|
+
/**
|
|
67
|
+
* Published module items that open in an external tool Athena cannot read. Null when modules could not be listed.
|
|
68
|
+
* @type {number}
|
|
69
|
+
* @memberof StudyObjectiveAccess
|
|
70
|
+
*/
|
|
71
|
+
externalToolItemCount: number | null;
|
|
72
|
+
/**
|
|
73
|
+
* Readable files in the module that holds this item (a quiz or assignment): checked against the course files list, or, when Canvas refused that list (rule 4 on), counted from the module's own File items. Null when the item is in no module, is another kind of item, or modules could not be listed.
|
|
74
|
+
* @type {number}
|
|
75
|
+
* @memberof StudyObjectiveAccess
|
|
76
|
+
*/
|
|
77
|
+
moduleSiblingFileCount: number | null;
|
|
78
|
+
/**
|
|
79
|
+
* Published pages in the module that holds this item (counted, not opened). Null when the item is in no module, is another kind of item, or modules could not be listed; a files list that could not be read leaves it set.
|
|
80
|
+
* @type {number}
|
|
81
|
+
* @memberof StudyObjectiveAccess
|
|
82
|
+
*/
|
|
83
|
+
moduleSiblingPageCount: number | null;
|
|
84
|
+
/**
|
|
85
|
+
* Readable files the course publishes through Modules (File items of a supported type, not locked for the learner; one per file). The file count to name only when readableFileCount is null (Canvas refused the course files list, e.g. a hidden Files tab); never add it to readableFileCount, since module links point at listed files. Null when modules could not be listed, and on facts read before rule 4.
|
|
86
|
+
* @type {number}
|
|
87
|
+
* @memberof StudyObjectiveAccess
|
|
88
|
+
*/
|
|
89
|
+
moduleReadableFileCount: number | null;
|
|
90
|
+
/**
|
|
91
|
+
* Files of a supported type published through Modules that are locked for the learner (one per file). Read only when readableFileCount is null, like moduleReadableFileCount. Null when modules could not be listed, and on facts read before rule 4.
|
|
92
|
+
* @type {number}
|
|
93
|
+
* @memberof StudyObjectiveAccess
|
|
94
|
+
*/
|
|
95
|
+
moduleLockedFileCount: number | null;
|
|
96
|
+
/**
|
|
97
|
+
* Version of the rule that produced `state`, for joining client analytics to the rule that was live.
|
|
98
|
+
* @type {number}
|
|
99
|
+
* @memberof StudyObjectiveAccess
|
|
100
|
+
*/
|
|
101
|
+
ruleVersion: number;
|
|
102
|
+
/**
|
|
103
|
+
* When these facts were read from Canvas.
|
|
104
|
+
* @type {Date}
|
|
105
|
+
* @memberof StudyObjectiveAccess
|
|
106
|
+
*/
|
|
107
|
+
readAt: Date;
|
|
108
|
+
/**
|
|
109
|
+
* Topics the learner's syllabus schedule suggests this item covers, inferred by syllabus analysis, for the scope box to offer as Athena's best guess. Null while `scopeKnown` is true, when the learner has given a scope of their own, or when their syllabus suggests nothing. A suggestion is not evidence: it never sets `scopeKnown`.
|
|
110
|
+
* @type {Array<string>}
|
|
111
|
+
* @memberof StudyObjectiveAccess
|
|
112
|
+
*/
|
|
113
|
+
suggestedScope: Array<string> | null;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* @export
|
|
117
|
+
*/
|
|
118
|
+
export declare const StudyObjectiveAccessStateEnum: {
|
|
119
|
+
readonly Grounded: "grounded";
|
|
120
|
+
readonly Thin: "thin";
|
|
121
|
+
readonly Unreadable: "unreadable";
|
|
122
|
+
readonly Unknown: "unknown";
|
|
123
|
+
};
|
|
124
|
+
export type StudyObjectiveAccessStateEnum = typeof StudyObjectiveAccessStateEnum[keyof typeof StudyObjectiveAccessStateEnum];
|
|
125
|
+
/**
|
|
126
|
+
* @export
|
|
127
|
+
*/
|
|
128
|
+
export declare const StudyObjectiveAccessUnknownReasonEnum: {
|
|
129
|
+
readonly PagesOnly: "pages-only";
|
|
130
|
+
readonly ListingDenied: "listing-denied";
|
|
131
|
+
};
|
|
132
|
+
export type StudyObjectiveAccessUnknownReasonEnum = typeof StudyObjectiveAccessUnknownReasonEnum[keyof typeof StudyObjectiveAccessUnknownReasonEnum];
|
|
133
|
+
/**
|
|
134
|
+
* @export
|
|
135
|
+
*/
|
|
136
|
+
export declare const StudyObjectiveAccessScopeKnownReasonEnum: {
|
|
137
|
+
readonly ItemText: "item-text";
|
|
138
|
+
readonly SyllabusTopics: "syllabus-topics";
|
|
139
|
+
readonly SyllabusLegacy: "syllabus-legacy";
|
|
140
|
+
};
|
|
141
|
+
export type StudyObjectiveAccessScopeKnownReasonEnum = typeof StudyObjectiveAccessScopeKnownReasonEnum[keyof typeof StudyObjectiveAccessScopeKnownReasonEnum];
|
|
142
|
+
/**
|
|
143
|
+
* @export
|
|
144
|
+
*/
|
|
145
|
+
export declare const StudyObjectiveAccessSyllabusSourceEnum: {
|
|
146
|
+
readonly Inline: "inline";
|
|
147
|
+
readonly Stored: "stored";
|
|
148
|
+
readonly Native: "native";
|
|
149
|
+
readonly None: "none";
|
|
150
|
+
};
|
|
151
|
+
export type StudyObjectiveAccessSyllabusSourceEnum = typeof StudyObjectiveAccessSyllabusSourceEnum[keyof typeof StudyObjectiveAccessSyllabusSourceEnum];
|
|
152
|
+
/**
|
|
153
|
+
* Check if a given object implements the StudyObjectiveAccess interface.
|
|
154
|
+
*/
|
|
155
|
+
export declare function instanceOfStudyObjectiveAccess(value: object): value is StudyObjectiveAccess;
|
|
156
|
+
export declare function StudyObjectiveAccessFromJSON(json: any): StudyObjectiveAccess;
|
|
157
|
+
export declare function StudyObjectiveAccessFromJSONTyped(json: any, ignoreDiscriminator: boolean): StudyObjectiveAccess;
|
|
158
|
+
export declare function StudyObjectiveAccessToJSON(json: any): StudyObjectiveAccess;
|
|
159
|
+
export declare function StudyObjectiveAccessToJSONTyped(value?: StudyObjectiveAccess | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,144 @@
|
|
|
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.StudyObjectiveAccessSyllabusSourceEnum = exports.StudyObjectiveAccessScopeKnownReasonEnum = exports.StudyObjectiveAccessUnknownReasonEnum = exports.StudyObjectiveAccessStateEnum = void 0;
|
|
17
|
+
exports.instanceOfStudyObjectiveAccess = instanceOfStudyObjectiveAccess;
|
|
18
|
+
exports.StudyObjectiveAccessFromJSON = StudyObjectiveAccessFromJSON;
|
|
19
|
+
exports.StudyObjectiveAccessFromJSONTyped = StudyObjectiveAccessFromJSONTyped;
|
|
20
|
+
exports.StudyObjectiveAccessToJSON = StudyObjectiveAccessToJSON;
|
|
21
|
+
exports.StudyObjectiveAccessToJSONTyped = StudyObjectiveAccessToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
* @export
|
|
24
|
+
*/
|
|
25
|
+
exports.StudyObjectiveAccessStateEnum = {
|
|
26
|
+
Grounded: 'grounded',
|
|
27
|
+
Thin: 'thin',
|
|
28
|
+
Unreadable: 'unreadable',
|
|
29
|
+
Unknown: 'unknown'
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* @export
|
|
33
|
+
*/
|
|
34
|
+
exports.StudyObjectiveAccessUnknownReasonEnum = {
|
|
35
|
+
PagesOnly: 'pages-only',
|
|
36
|
+
ListingDenied: 'listing-denied'
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* @export
|
|
40
|
+
*/
|
|
41
|
+
exports.StudyObjectiveAccessScopeKnownReasonEnum = {
|
|
42
|
+
ItemText: 'item-text',
|
|
43
|
+
SyllabusTopics: 'syllabus-topics',
|
|
44
|
+
SyllabusLegacy: 'syllabus-legacy'
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* @export
|
|
48
|
+
*/
|
|
49
|
+
exports.StudyObjectiveAccessSyllabusSourceEnum = {
|
|
50
|
+
Inline: 'inline',
|
|
51
|
+
Stored: 'stored',
|
|
52
|
+
Native: 'native',
|
|
53
|
+
None: 'none'
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Check if a given object implements the StudyObjectiveAccess interface.
|
|
57
|
+
*/
|
|
58
|
+
function instanceOfStudyObjectiveAccess(value) {
|
|
59
|
+
if (!('state' in value) || value['state'] === undefined)
|
|
60
|
+
return false;
|
|
61
|
+
if (!('unknownReason' in value) || value['unknownReason'] === undefined)
|
|
62
|
+
return false;
|
|
63
|
+
if (!('scopeKnown' in value) || value['scopeKnown'] === undefined)
|
|
64
|
+
return false;
|
|
65
|
+
if (!('scopeKnownReason' in value) || value['scopeKnownReason'] === undefined)
|
|
66
|
+
return false;
|
|
67
|
+
if (!('syllabusSource' in value) || value['syllabusSource'] === undefined)
|
|
68
|
+
return false;
|
|
69
|
+
if (!('readableFileCount' in value) || value['readableFileCount'] === undefined)
|
|
70
|
+
return false;
|
|
71
|
+
if (!('lockedFileCount' in value) || value['lockedFileCount'] === undefined)
|
|
72
|
+
return false;
|
|
73
|
+
if (!('modulePageCount' in value) || value['modulePageCount'] === undefined)
|
|
74
|
+
return false;
|
|
75
|
+
if (!('externalToolItemCount' in value) || value['externalToolItemCount'] === undefined)
|
|
76
|
+
return false;
|
|
77
|
+
if (!('moduleSiblingFileCount' in value) || value['moduleSiblingFileCount'] === undefined)
|
|
78
|
+
return false;
|
|
79
|
+
if (!('moduleSiblingPageCount' in value) || value['moduleSiblingPageCount'] === undefined)
|
|
80
|
+
return false;
|
|
81
|
+
if (!('moduleReadableFileCount' in value) || value['moduleReadableFileCount'] === undefined)
|
|
82
|
+
return false;
|
|
83
|
+
if (!('moduleLockedFileCount' in value) || value['moduleLockedFileCount'] === undefined)
|
|
84
|
+
return false;
|
|
85
|
+
if (!('ruleVersion' in value) || value['ruleVersion'] === undefined)
|
|
86
|
+
return false;
|
|
87
|
+
if (!('readAt' in value) || value['readAt'] === undefined)
|
|
88
|
+
return false;
|
|
89
|
+
if (!('suggestedScope' in value) || value['suggestedScope'] === undefined)
|
|
90
|
+
return false;
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
function StudyObjectiveAccessFromJSON(json) {
|
|
94
|
+
return StudyObjectiveAccessFromJSONTyped(json, false);
|
|
95
|
+
}
|
|
96
|
+
function StudyObjectiveAccessFromJSONTyped(json, ignoreDiscriminator) {
|
|
97
|
+
if (json == null) {
|
|
98
|
+
return json;
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
'state': json['state'],
|
|
102
|
+
'unknownReason': json['unknownReason'],
|
|
103
|
+
'scopeKnown': json['scopeKnown'],
|
|
104
|
+
'scopeKnownReason': json['scopeKnownReason'],
|
|
105
|
+
'syllabusSource': json['syllabusSource'],
|
|
106
|
+
'readableFileCount': json['readableFileCount'],
|
|
107
|
+
'lockedFileCount': json['lockedFileCount'],
|
|
108
|
+
'modulePageCount': json['modulePageCount'],
|
|
109
|
+
'externalToolItemCount': json['externalToolItemCount'],
|
|
110
|
+
'moduleSiblingFileCount': json['moduleSiblingFileCount'],
|
|
111
|
+
'moduleSiblingPageCount': json['moduleSiblingPageCount'],
|
|
112
|
+
'moduleReadableFileCount': json['moduleReadableFileCount'],
|
|
113
|
+
'moduleLockedFileCount': json['moduleLockedFileCount'],
|
|
114
|
+
'ruleVersion': json['ruleVersion'],
|
|
115
|
+
'readAt': (new Date(json['readAt'])),
|
|
116
|
+
'suggestedScope': json['suggestedScope'] == null ? null : json['suggestedScope'],
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function StudyObjectiveAccessToJSON(json) {
|
|
120
|
+
return StudyObjectiveAccessToJSONTyped(json, false);
|
|
121
|
+
}
|
|
122
|
+
function StudyObjectiveAccessToJSONTyped(value, ignoreDiscriminator = false) {
|
|
123
|
+
if (value == null) {
|
|
124
|
+
return value;
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
'state': value['state'],
|
|
128
|
+
'unknownReason': value['unknownReason'],
|
|
129
|
+
'scopeKnown': value['scopeKnown'],
|
|
130
|
+
'scopeKnownReason': value['scopeKnownReason'],
|
|
131
|
+
'syllabusSource': value['syllabusSource'],
|
|
132
|
+
'readableFileCount': value['readableFileCount'],
|
|
133
|
+
'lockedFileCount': value['lockedFileCount'],
|
|
134
|
+
'modulePageCount': value['modulePageCount'],
|
|
135
|
+
'externalToolItemCount': value['externalToolItemCount'],
|
|
136
|
+
'moduleSiblingFileCount': value['moduleSiblingFileCount'],
|
|
137
|
+
'moduleSiblingPageCount': value['moduleSiblingPageCount'],
|
|
138
|
+
'moduleReadableFileCount': value['moduleReadableFileCount'],
|
|
139
|
+
'moduleLockedFileCount': value['moduleLockedFileCount'],
|
|
140
|
+
'ruleVersion': value['ruleVersion'],
|
|
141
|
+
'readAt': value['readAt'].toISOString(),
|
|
142
|
+
'suggestedScope': value['suggestedScope'],
|
|
143
|
+
};
|
|
144
|
+
}
|