@instructure/athena-api-client 3.20.3 → 3.21.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.
Files changed (42) hide show
  1. package/README.md +11 -0
  2. package/dist/apis/FeaturesApi.d.ts +14 -1
  3. package/dist/apis/FeaturesApi.js +37 -0
  4. package/dist/apis/StudyPlansApi.d.ts +76 -0
  5. package/dist/apis/StudyPlansApi.js +206 -0
  6. package/dist/apis/index.d.ts +1 -0
  7. package/dist/apis/index.js +1 -0
  8. package/dist/esm/apis/FeaturesApi.d.ts +14 -1
  9. package/dist/esm/apis/FeaturesApi.js +38 -1
  10. package/dist/esm/apis/StudyPlansApi.d.ts +76 -0
  11. package/dist/esm/apis/StudyPlansApi.js +202 -0
  12. package/dist/esm/apis/index.d.ts +1 -0
  13. package/dist/esm/apis/index.js +1 -0
  14. package/dist/esm/models/CreateStudyPlanDto.d.ts +39 -0
  15. package/dist/esm/models/CreateStudyPlanDto.js +46 -0
  16. package/dist/esm/models/CreateStudyPlanDtoActivitiesInner.d.ts +56 -0
  17. package/dist/esm/models/CreateStudyPlanDtoActivitiesInner.js +53 -0
  18. package/dist/esm/models/StudyPlan.d.ts +82 -0
  19. package/dist/esm/models/StudyPlan.js +78 -0
  20. package/dist/esm/models/StudyPlanActivity.d.ts +74 -0
  21. package/dist/esm/models/StudyPlanActivity.js +71 -0
  22. package/dist/esm/models/UpdateActivityCompletionDto.d.ts +32 -0
  23. package/dist/esm/models/UpdateActivityCompletionDto.js +43 -0
  24. package/dist/esm/models/UserFeatures.d.ts +32 -0
  25. package/dist/esm/models/UserFeatures.js +43 -0
  26. package/dist/esm/models/index.d.ts +6 -0
  27. package/dist/esm/models/index.js +6 -0
  28. package/dist/models/CreateStudyPlanDto.d.ts +39 -0
  29. package/dist/models/CreateStudyPlanDto.js +53 -0
  30. package/dist/models/CreateStudyPlanDtoActivitiesInner.d.ts +56 -0
  31. package/dist/models/CreateStudyPlanDtoActivitiesInner.js +60 -0
  32. package/dist/models/StudyPlan.d.ts +82 -0
  33. package/dist/models/StudyPlan.js +86 -0
  34. package/dist/models/StudyPlanActivity.d.ts +74 -0
  35. package/dist/models/StudyPlanActivity.js +78 -0
  36. package/dist/models/UpdateActivityCompletionDto.d.ts +32 -0
  37. package/dist/models/UpdateActivityCompletionDto.js +50 -0
  38. package/dist/models/UserFeatures.d.ts +32 -0
  39. package/dist/models/UserFeatures.js +50 -0
  40. package/dist/models/index.d.ts +6 -0
  41. package/dist/models/index.js +6 -0
  42. package/package.json +1 -1
@@ -0,0 +1,202 @@
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ import * as runtime from '../runtime';
24
+ import { CreateStudyPlanDtoToJSON, StudyPlanFromJSON, StudyPlanActivityFromJSON, UpdateActivityCompletionDtoToJSON, } from '../models/index';
25
+ /**
26
+ *
27
+ */
28
+ export class StudyPlansApi extends runtime.BaseAPI {
29
+ /**
30
+ * Deletes the plan and its activities. The chats those activities started are not deleted.
31
+ * Delete a study plan
32
+ */
33
+ deleteStudyPlanRaw(requestParameters, initOverrides) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ if (requestParameters['xUserId'] == null) {
36
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling deleteStudyPlan().');
37
+ }
38
+ if (requestParameters['planId'] == null) {
39
+ throw new runtime.RequiredError('planId', 'Required parameter "planId" was null or undefined when calling deleteStudyPlan().');
40
+ }
41
+ const queryParameters = {};
42
+ const headerParameters = {};
43
+ if (requestParameters['xUserId'] != null) {
44
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
45
+ }
46
+ if (this.configuration && this.configuration.apiKey) {
47
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
48
+ }
49
+ let urlPath = `/api/v1/study-plans/{planId}`;
50
+ urlPath = urlPath.replace(`{${"planId"}}`, encodeURIComponent(String(requestParameters['planId'])));
51
+ const response = yield this.request({
52
+ path: urlPath,
53
+ method: 'DELETE',
54
+ headers: headerParameters,
55
+ query: queryParameters,
56
+ }, initOverrides);
57
+ return new runtime.VoidApiResponse(response);
58
+ });
59
+ }
60
+ /**
61
+ * Deletes the plan and its activities. The chats those activities started are not deleted.
62
+ * Delete a study plan
63
+ */
64
+ deleteStudyPlan(requestParameters, initOverrides) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ yield this.deleteStudyPlanRaw(requestParameters, initOverrides);
67
+ });
68
+ }
69
+ /**
70
+ * Returns the objective\'s saved plan with its activities ordered by `position`, or 404 when the objective has no plan.
71
+ * Get a study objective\'s plan
72
+ */
73
+ getStudyObjectiveStudyPlanRaw(requestParameters, initOverrides) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ if (requestParameters['xUserId'] == null) {
76
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling getStudyObjectiveStudyPlan().');
77
+ }
78
+ if (requestParameters['studyObjectiveId'] == null) {
79
+ throw new runtime.RequiredError('studyObjectiveId', 'Required parameter "studyObjectiveId" was null or undefined when calling getStudyObjectiveStudyPlan().');
80
+ }
81
+ const queryParameters = {};
82
+ const headerParameters = {};
83
+ if (requestParameters['xUserId'] != null) {
84
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
85
+ }
86
+ if (this.configuration && this.configuration.apiKey) {
87
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
88
+ }
89
+ let urlPath = `/api/v1/study-objectives/{studyObjectiveId}/study-plan`;
90
+ urlPath = urlPath.replace(`{${"studyObjectiveId"}}`, encodeURIComponent(String(requestParameters['studyObjectiveId'])));
91
+ const response = yield this.request({
92
+ path: urlPath,
93
+ method: 'GET',
94
+ headers: headerParameters,
95
+ query: queryParameters,
96
+ }, initOverrides);
97
+ return new runtime.JSONApiResponse(response, (jsonValue) => StudyPlanFromJSON(jsonValue));
98
+ });
99
+ }
100
+ /**
101
+ * Returns the objective\'s saved plan with its activities ordered by `position`, or 404 when the objective has no plan.
102
+ * Get a study objective\'s plan
103
+ */
104
+ getStudyObjectiveStudyPlan(requestParameters, initOverrides) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ const response = yield this.getStudyObjectiveStudyPlanRaw(requestParameters, initOverrides);
107
+ return yield response.value();
108
+ });
109
+ }
110
+ /**
111
+ * Persists an ordered list of activities as the objective\'s plan. An objective has at most one plan, so this replaces any existing plan — the previous activities and their completion state are deleted in the same transaction. A payload over the 20-activity cap is rejected, never truncated.
112
+ * Save (or replace) a study objective\'s plan
113
+ */
114
+ saveStudyObjectiveStudyPlanRaw(requestParameters, initOverrides) {
115
+ return __awaiter(this, void 0, void 0, function* () {
116
+ if (requestParameters['xUserId'] == null) {
117
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling saveStudyObjectiveStudyPlan().');
118
+ }
119
+ if (requestParameters['studyObjectiveId'] == null) {
120
+ throw new runtime.RequiredError('studyObjectiveId', 'Required parameter "studyObjectiveId" was null or undefined when calling saveStudyObjectiveStudyPlan().');
121
+ }
122
+ if (requestParameters['createStudyPlanDto'] == null) {
123
+ throw new runtime.RequiredError('createStudyPlanDto', 'Required parameter "createStudyPlanDto" was null or undefined when calling saveStudyObjectiveStudyPlan().');
124
+ }
125
+ const queryParameters = {};
126
+ const headerParameters = {};
127
+ headerParameters['Content-Type'] = 'application/json';
128
+ if (requestParameters['xUserId'] != null) {
129
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
130
+ }
131
+ if (this.configuration && this.configuration.apiKey) {
132
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
133
+ }
134
+ let urlPath = `/api/v1/study-objectives/{studyObjectiveId}/study-plan`;
135
+ urlPath = urlPath.replace(`{${"studyObjectiveId"}}`, encodeURIComponent(String(requestParameters['studyObjectiveId'])));
136
+ const response = yield this.request({
137
+ path: urlPath,
138
+ method: 'POST',
139
+ headers: headerParameters,
140
+ query: queryParameters,
141
+ body: CreateStudyPlanDtoToJSON(requestParameters['createStudyPlanDto']),
142
+ }, initOverrides);
143
+ return new runtime.JSONApiResponse(response, (jsonValue) => StudyPlanFromJSON(jsonValue));
144
+ });
145
+ }
146
+ /**
147
+ * Persists an ordered list of activities as the objective\'s plan. An objective has at most one plan, so this replaces any existing plan — the previous activities and their completion state are deleted in the same transaction. A payload over the 20-activity cap is rejected, never truncated.
148
+ * Save (or replace) a study objective\'s plan
149
+ */
150
+ saveStudyObjectiveStudyPlan(requestParameters, initOverrides) {
151
+ return __awaiter(this, void 0, void 0, function* () {
152
+ const response = yield this.saveStudyObjectiveStudyPlanRaw(requestParameters, initOverrides);
153
+ return yield response.value();
154
+ });
155
+ }
156
+ /**
157
+ * Toggles one activity\'s completion. This is the only write a saved plan accepts — a plan\'s content is immutable, so changing it means saving a new plan over it. Completing an already-complete activity keeps the original timestamp.
158
+ * Mark a plan activity complete or incomplete
159
+ */
160
+ updateStudyPlanActivityCompletionRaw(requestParameters, initOverrides) {
161
+ return __awaiter(this, void 0, void 0, function* () {
162
+ if (requestParameters['xUserId'] == null) {
163
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling updateStudyPlanActivityCompletion().');
164
+ }
165
+ if (requestParameters['activityId'] == null) {
166
+ throw new runtime.RequiredError('activityId', 'Required parameter "activityId" was null or undefined when calling updateStudyPlanActivityCompletion().');
167
+ }
168
+ if (requestParameters['updateActivityCompletionDto'] == null) {
169
+ throw new runtime.RequiredError('updateActivityCompletionDto', 'Required parameter "updateActivityCompletionDto" was null or undefined when calling updateStudyPlanActivityCompletion().');
170
+ }
171
+ const queryParameters = {};
172
+ const headerParameters = {};
173
+ headerParameters['Content-Type'] = 'application/json';
174
+ if (requestParameters['xUserId'] != null) {
175
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
176
+ }
177
+ if (this.configuration && this.configuration.apiKey) {
178
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
179
+ }
180
+ let urlPath = `/api/v1/study-plan-activities/{activityId}`;
181
+ urlPath = urlPath.replace(`{${"activityId"}}`, encodeURIComponent(String(requestParameters['activityId'])));
182
+ const response = yield this.request({
183
+ path: urlPath,
184
+ method: 'PATCH',
185
+ headers: headerParameters,
186
+ query: queryParameters,
187
+ body: UpdateActivityCompletionDtoToJSON(requestParameters['updateActivityCompletionDto']),
188
+ }, initOverrides);
189
+ return new runtime.JSONApiResponse(response, (jsonValue) => StudyPlanActivityFromJSON(jsonValue));
190
+ });
191
+ }
192
+ /**
193
+ * Toggles one activity\'s completion. This is the only write a saved plan accepts — a plan\'s content is immutable, so changing it means saving a new plan over it. Completing an already-complete activity keeps the original timestamp.
194
+ * Mark a plan activity complete or incomplete
195
+ */
196
+ updateStudyPlanActivityCompletion(requestParameters, initOverrides) {
197
+ return __awaiter(this, void 0, void 0, function* () {
198
+ const response = yield this.updateStudyPlanActivityCompletionRaw(requestParameters, initOverrides);
199
+ return yield response.value();
200
+ });
201
+ }
202
+ }
@@ -20,6 +20,7 @@ export * from './QuizzesApi';
20
20
  export * from './ServiceTokensApi';
21
21
  export * from './StudyObjectiveConceptsApi';
22
22
  export * from './StudyObjectivesApi';
23
+ export * from './StudyPlansApi';
23
24
  export * from './StudyPrepApi';
24
25
  export * from './SyllabusAnalysisApi';
25
26
  export * from './TagsApi';
@@ -22,6 +22,7 @@ export * from './QuizzesApi';
22
22
  export * from './ServiceTokensApi';
23
23
  export * from './StudyObjectiveConceptsApi';
24
24
  export * from './StudyObjectivesApi';
25
+ export * from './StudyPlansApi';
25
26
  export * from './StudyPrepApi';
26
27
  export * from './SyllabusAnalysisApi';
27
28
  export * from './TagsApi';
@@ -0,0 +1,39 @@
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 { CreateStudyPlanDtoActivitiesInner } from './CreateStudyPlanDtoActivitiesInner';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface CreateStudyPlanDto
17
+ */
18
+ export interface CreateStudyPlanDto {
19
+ /**
20
+ *
21
+ * @type {Array<CreateStudyPlanDtoActivitiesInner>}
22
+ * @memberof CreateStudyPlanDto
23
+ */
24
+ activities: Array<CreateStudyPlanDtoActivitiesInner>;
25
+ /**
26
+ *
27
+ * @type {string}
28
+ * @memberof CreateStudyPlanDto
29
+ */
30
+ sourceToolCallId?: string | null;
31
+ }
32
+ /**
33
+ * Check if a given object implements the CreateStudyPlanDto interface.
34
+ */
35
+ export declare function instanceOfCreateStudyPlanDto(value: object): value is CreateStudyPlanDto;
36
+ export declare function CreateStudyPlanDtoFromJSON(json: any): CreateStudyPlanDto;
37
+ export declare function CreateStudyPlanDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateStudyPlanDto;
38
+ export declare function CreateStudyPlanDtoToJSON(json: any): CreateStudyPlanDto;
39
+ export declare function CreateStudyPlanDtoToJSONTyped(value?: CreateStudyPlanDto | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,46 @@
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 { CreateStudyPlanDtoActivitiesInnerFromJSON, CreateStudyPlanDtoActivitiesInnerToJSON, } from './CreateStudyPlanDtoActivitiesInner';
15
+ /**
16
+ * Check if a given object implements the CreateStudyPlanDto interface.
17
+ */
18
+ export function instanceOfCreateStudyPlanDto(value) {
19
+ if (!('activities' in value) || value['activities'] === undefined)
20
+ return false;
21
+ return true;
22
+ }
23
+ export function CreateStudyPlanDtoFromJSON(json) {
24
+ return CreateStudyPlanDtoFromJSONTyped(json, false);
25
+ }
26
+ export function CreateStudyPlanDtoFromJSONTyped(json, ignoreDiscriminator) {
27
+ if (json == null) {
28
+ return json;
29
+ }
30
+ return {
31
+ 'activities': (json['activities'].map(CreateStudyPlanDtoActivitiesInnerFromJSON)),
32
+ 'sourceToolCallId': json['sourceToolCallId'] == null ? undefined : json['sourceToolCallId'],
33
+ };
34
+ }
35
+ export function CreateStudyPlanDtoToJSON(json) {
36
+ return CreateStudyPlanDtoToJSONTyped(json, false);
37
+ }
38
+ export function CreateStudyPlanDtoToJSONTyped(value, ignoreDiscriminator = false) {
39
+ if (value == null) {
40
+ return value;
41
+ }
42
+ return {
43
+ 'activities': (value['activities'].map(CreateStudyPlanDtoActivitiesInnerToJSON)),
44
+ 'sourceToolCallId': value['sourceToolCallId'],
45
+ };
46
+ }
@@ -0,0 +1,56 @@
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 CreateStudyPlanDtoActivitiesInner
16
+ */
17
+ export interface CreateStudyPlanDtoActivitiesInner {
18
+ /**
19
+ *
20
+ * @type {number}
21
+ * @memberof CreateStudyPlanDtoActivitiesInner
22
+ */
23
+ position: number;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof CreateStudyPlanDtoActivitiesInner
28
+ */
29
+ label?: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof CreateStudyPlanDtoActivitiesInner
34
+ */
35
+ duration?: string | null;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof CreateStudyPlanDtoActivitiesInner
40
+ */
41
+ title: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof CreateStudyPlanDtoActivitiesInner
46
+ */
47
+ description?: string;
48
+ }
49
+ /**
50
+ * Check if a given object implements the CreateStudyPlanDtoActivitiesInner interface.
51
+ */
52
+ export declare function instanceOfCreateStudyPlanDtoActivitiesInner(value: object): value is CreateStudyPlanDtoActivitiesInner;
53
+ export declare function CreateStudyPlanDtoActivitiesInnerFromJSON(json: any): CreateStudyPlanDtoActivitiesInner;
54
+ export declare function CreateStudyPlanDtoActivitiesInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateStudyPlanDtoActivitiesInner;
55
+ export declare function CreateStudyPlanDtoActivitiesInnerToJSON(json: any): CreateStudyPlanDtoActivitiesInner;
56
+ export declare function CreateStudyPlanDtoActivitiesInnerToJSONTyped(value?: CreateStudyPlanDtoActivitiesInner | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,53 @@
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
+ * Check if a given object implements the CreateStudyPlanDtoActivitiesInner interface.
16
+ */
17
+ export function instanceOfCreateStudyPlanDtoActivitiesInner(value) {
18
+ if (!('position' in value) || value['position'] === undefined)
19
+ return false;
20
+ if (!('title' in value) || value['title'] === undefined)
21
+ return false;
22
+ return true;
23
+ }
24
+ export function CreateStudyPlanDtoActivitiesInnerFromJSON(json) {
25
+ return CreateStudyPlanDtoActivitiesInnerFromJSONTyped(json, false);
26
+ }
27
+ export function CreateStudyPlanDtoActivitiesInnerFromJSONTyped(json, ignoreDiscriminator) {
28
+ if (json == null) {
29
+ return json;
30
+ }
31
+ return {
32
+ 'position': json['position'],
33
+ 'label': json['label'] == null ? undefined : json['label'],
34
+ 'duration': json['duration'] == null ? undefined : json['duration'],
35
+ 'title': json['title'],
36
+ 'description': json['description'] == null ? undefined : json['description'],
37
+ };
38
+ }
39
+ export function CreateStudyPlanDtoActivitiesInnerToJSON(json) {
40
+ return CreateStudyPlanDtoActivitiesInnerToJSONTyped(json, false);
41
+ }
42
+ export function CreateStudyPlanDtoActivitiesInnerToJSONTyped(value, ignoreDiscriminator = false) {
43
+ if (value == null) {
44
+ return value;
45
+ }
46
+ return {
47
+ 'position': value['position'],
48
+ 'label': value['label'],
49
+ 'duration': value['duration'],
50
+ 'title': value['title'],
51
+ 'description': value['description'],
52
+ };
53
+ }
@@ -0,0 +1,82 @@
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 { StudyPlanActivity } from './StudyPlanActivity';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface StudyPlan
17
+ */
18
+ export interface StudyPlan {
19
+ /**
20
+ *
21
+ * @type {string}
22
+ * @memberof StudyPlan
23
+ */
24
+ id: string;
25
+ /**
26
+ *
27
+ * @type {string}
28
+ * @memberof StudyPlan
29
+ */
30
+ accountUserId: string;
31
+ /**
32
+ *
33
+ * @type {string}
34
+ * @memberof StudyPlan
35
+ */
36
+ ownerType: StudyPlanOwnerTypeEnum;
37
+ /**
38
+ *
39
+ * @type {string}
40
+ * @memberof StudyPlan
41
+ */
42
+ ownerId: string;
43
+ /**
44
+ * Tool call id of the proposal this plan was saved from, when it came from one.
45
+ * @type {string}
46
+ * @memberof StudyPlan
47
+ */
48
+ sourceToolCallId: string | null;
49
+ /**
50
+ *
51
+ * @type {Date}
52
+ * @memberof StudyPlan
53
+ */
54
+ createdAt: Date;
55
+ /**
56
+ *
57
+ * @type {Date}
58
+ * @memberof StudyPlan
59
+ */
60
+ updatedAt: Date;
61
+ /**
62
+ *
63
+ * @type {Array<StudyPlanActivity>}
64
+ * @memberof StudyPlan
65
+ */
66
+ activities: Array<StudyPlanActivity>;
67
+ }
68
+ /**
69
+ * @export
70
+ */
71
+ export declare const StudyPlanOwnerTypeEnum: {
72
+ readonly StudyObjective: "study_objective";
73
+ };
74
+ export type StudyPlanOwnerTypeEnum = typeof StudyPlanOwnerTypeEnum[keyof typeof StudyPlanOwnerTypeEnum];
75
+ /**
76
+ * Check if a given object implements the StudyPlan interface.
77
+ */
78
+ export declare function instanceOfStudyPlan(value: object): value is StudyPlan;
79
+ export declare function StudyPlanFromJSON(json: any): StudyPlan;
80
+ export declare function StudyPlanFromJSONTyped(json: any, ignoreDiscriminator: boolean): StudyPlan;
81
+ export declare function StudyPlanToJSON(json: any): StudyPlan;
82
+ export declare function StudyPlanToJSONTyped(value?: StudyPlan | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,78 @@
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 { StudyPlanActivityFromJSON, StudyPlanActivityToJSON, } from './StudyPlanActivity';
15
+ /**
16
+ * @export
17
+ */
18
+ export const StudyPlanOwnerTypeEnum = {
19
+ StudyObjective: 'study_objective'
20
+ };
21
+ /**
22
+ * Check if a given object implements the StudyPlan interface.
23
+ */
24
+ export function instanceOfStudyPlan(value) {
25
+ if (!('id' in value) || value['id'] === undefined)
26
+ return false;
27
+ if (!('accountUserId' in value) || value['accountUserId'] === undefined)
28
+ return false;
29
+ if (!('ownerType' in value) || value['ownerType'] === undefined)
30
+ return false;
31
+ if (!('ownerId' in value) || value['ownerId'] === undefined)
32
+ return false;
33
+ if (!('sourceToolCallId' in value) || value['sourceToolCallId'] === undefined)
34
+ return false;
35
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
36
+ return false;
37
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined)
38
+ return false;
39
+ if (!('activities' in value) || value['activities'] === undefined)
40
+ return false;
41
+ return true;
42
+ }
43
+ export function StudyPlanFromJSON(json) {
44
+ return StudyPlanFromJSONTyped(json, false);
45
+ }
46
+ export function StudyPlanFromJSONTyped(json, ignoreDiscriminator) {
47
+ if (json == null) {
48
+ return json;
49
+ }
50
+ return {
51
+ 'id': json['id'],
52
+ 'accountUserId': json['accountUserId'],
53
+ 'ownerType': json['ownerType'],
54
+ 'ownerId': json['ownerId'],
55
+ 'sourceToolCallId': json['sourceToolCallId'],
56
+ 'createdAt': (new Date(json['createdAt'])),
57
+ 'updatedAt': (new Date(json['updatedAt'])),
58
+ 'activities': (json['activities'].map(StudyPlanActivityFromJSON)),
59
+ };
60
+ }
61
+ export function StudyPlanToJSON(json) {
62
+ return StudyPlanToJSONTyped(json, false);
63
+ }
64
+ export function StudyPlanToJSONTyped(value, ignoreDiscriminator = false) {
65
+ if (value == null) {
66
+ return value;
67
+ }
68
+ return {
69
+ 'id': value['id'],
70
+ 'accountUserId': value['accountUserId'],
71
+ 'ownerType': value['ownerType'],
72
+ 'ownerId': value['ownerId'],
73
+ 'sourceToolCallId': value['sourceToolCallId'],
74
+ 'createdAt': value['createdAt'].toISOString(),
75
+ 'updatedAt': value['updatedAt'].toISOString(),
76
+ 'activities': (value['activities'].map(StudyPlanActivityToJSON)),
77
+ };
78
+ }
@@ -0,0 +1,74 @@
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 StudyPlanActivity
16
+ */
17
+ export interface StudyPlanActivity {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof StudyPlanActivity
22
+ */
23
+ id: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof StudyPlanActivity
28
+ */
29
+ studyPlanId: string;
30
+ /**
31
+ * Sort key within the plan. Activities are returned in ascending order.
32
+ * @type {number}
33
+ * @memberof StudyPlanActivity
34
+ */
35
+ position: number;
36
+ /**
37
+ * Display-only label such as "Day 1" or "Aug 1". May be empty; it is never parsed for ordering.
38
+ * @type {string}
39
+ * @memberof StudyPlanActivity
40
+ */
41
+ label: string;
42
+ /**
43
+ * Free-form duration such as "30 min".
44
+ * @type {string}
45
+ * @memberof StudyPlanActivity
46
+ */
47
+ duration: string | null;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof StudyPlanActivity
52
+ */
53
+ title: string;
54
+ /**
55
+ *
56
+ * @type {string}
57
+ * @memberof StudyPlanActivity
58
+ */
59
+ description: string;
60
+ /**
61
+ * When the activity was completed, or null if it is not done.
62
+ * @type {Date}
63
+ * @memberof StudyPlanActivity
64
+ */
65
+ completedAt: Date | null;
66
+ }
67
+ /**
68
+ * Check if a given object implements the StudyPlanActivity interface.
69
+ */
70
+ export declare function instanceOfStudyPlanActivity(value: object): value is StudyPlanActivity;
71
+ export declare function StudyPlanActivityFromJSON(json: any): StudyPlanActivity;
72
+ export declare function StudyPlanActivityFromJSONTyped(json: any, ignoreDiscriminator: boolean): StudyPlanActivity;
73
+ export declare function StudyPlanActivityToJSON(json: any): StudyPlanActivity;
74
+ export declare function StudyPlanActivityToJSONTyped(value?: StudyPlanActivity | null, ignoreDiscriminator?: boolean): any;