@instructure/athena-api-client 3.20.4 → 3.22.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 (54) 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/StudyObjectivesApi.d.ts +2 -2
  5. package/dist/apis/StudyObjectivesApi.js +2 -2
  6. package/dist/apis/StudyPlansApi.d.ts +76 -0
  7. package/dist/apis/StudyPlansApi.js +206 -0
  8. package/dist/apis/index.d.ts +1 -0
  9. package/dist/apis/index.js +1 -0
  10. package/dist/esm/apis/FeaturesApi.d.ts +14 -1
  11. package/dist/esm/apis/FeaturesApi.js +38 -1
  12. package/dist/esm/apis/StudyObjectivesApi.d.ts +2 -2
  13. package/dist/esm/apis/StudyObjectivesApi.js +2 -2
  14. package/dist/esm/apis/StudyPlansApi.d.ts +76 -0
  15. package/dist/esm/apis/StudyPlansApi.js +202 -0
  16. package/dist/esm/apis/index.d.ts +1 -0
  17. package/dist/esm/apis/index.js +1 -0
  18. package/dist/esm/models/CreateObjectiveResourceDto.d.ts +7 -0
  19. package/dist/esm/models/CreateObjectiveResourceDto.js +4 -1
  20. package/dist/esm/models/CreateStudyPlanDto.d.ts +39 -0
  21. package/dist/esm/models/CreateStudyPlanDto.js +46 -0
  22. package/dist/esm/models/CreateStudyPlanDtoActivitiesInner.d.ts +56 -0
  23. package/dist/esm/models/CreateStudyPlanDtoActivitiesInner.js +53 -0
  24. package/dist/esm/models/ObjectiveResource.d.ts +7 -0
  25. package/dist/esm/models/ObjectiveResource.js +6 -1
  26. package/dist/esm/models/StudyPlan.d.ts +82 -0
  27. package/dist/esm/models/StudyPlan.js +78 -0
  28. package/dist/esm/models/StudyPlanActivity.d.ts +80 -0
  29. package/dist/esm/models/StudyPlanActivity.js +75 -0
  30. package/dist/esm/models/UpdateActivityCompletionDto.d.ts +32 -0
  31. package/dist/esm/models/UpdateActivityCompletionDto.js +43 -0
  32. package/dist/esm/models/UserFeatures.d.ts +32 -0
  33. package/dist/esm/models/UserFeatures.js +43 -0
  34. package/dist/esm/models/index.d.ts +6 -0
  35. package/dist/esm/models/index.js +6 -0
  36. package/dist/models/CreateObjectiveResourceDto.d.ts +7 -0
  37. package/dist/models/CreateObjectiveResourceDto.js +4 -1
  38. package/dist/models/CreateStudyPlanDto.d.ts +39 -0
  39. package/dist/models/CreateStudyPlanDto.js +53 -0
  40. package/dist/models/CreateStudyPlanDtoActivitiesInner.d.ts +56 -0
  41. package/dist/models/CreateStudyPlanDtoActivitiesInner.js +60 -0
  42. package/dist/models/ObjectiveResource.d.ts +7 -0
  43. package/dist/models/ObjectiveResource.js +6 -1
  44. package/dist/models/StudyPlan.d.ts +82 -0
  45. package/dist/models/StudyPlan.js +86 -0
  46. package/dist/models/StudyPlanActivity.d.ts +80 -0
  47. package/dist/models/StudyPlanActivity.js +82 -0
  48. package/dist/models/UpdateActivityCompletionDto.d.ts +32 -0
  49. package/dist/models/UpdateActivityCompletionDto.js +50 -0
  50. package/dist/models/UserFeatures.d.ts +32 -0
  51. package/dist/models/UserFeatures.js +50 -0
  52. package/dist/models/index.d.ts +6 -0
  53. package/dist/models/index.js +6 -0
  54. 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
+ import * as runtime from '../runtime';
13
+ import type { CreateStudyPlanDto, StudyPlan, StudyPlanActivity, UpdateActivityCompletionDto } from '../models/index';
14
+ export interface DeleteStudyPlanRequest {
15
+ xUserId: string;
16
+ planId: string;
17
+ }
18
+ export interface GetStudyObjectiveStudyPlanRequest {
19
+ xUserId: string;
20
+ studyObjectiveId: string;
21
+ }
22
+ export interface SaveStudyObjectiveStudyPlanRequest {
23
+ xUserId: string;
24
+ studyObjectiveId: string;
25
+ createStudyPlanDto: CreateStudyPlanDto;
26
+ }
27
+ export interface UpdateStudyPlanActivityCompletionRequest {
28
+ xUserId: string;
29
+ activityId: string;
30
+ updateActivityCompletionDto: UpdateActivityCompletionDto;
31
+ }
32
+ /**
33
+ *
34
+ */
35
+ export declare class StudyPlansApi extends runtime.BaseAPI {
36
+ /**
37
+ * Deletes the plan and its activities. The chats those activities started are not deleted.
38
+ * Delete a study plan
39
+ */
40
+ deleteStudyPlanRaw(requestParameters: DeleteStudyPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
41
+ /**
42
+ * Deletes the plan and its activities. The chats those activities started are not deleted.
43
+ * Delete a study plan
44
+ */
45
+ deleteStudyPlan(requestParameters: DeleteStudyPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
46
+ /**
47
+ * Returns the objective\'s saved plan with its activities ordered by `position`, or 404 when the objective has no plan.
48
+ * Get a study objective\'s plan
49
+ */
50
+ getStudyObjectiveStudyPlanRaw(requestParameters: GetStudyObjectiveStudyPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudyPlan>>;
51
+ /**
52
+ * Returns the objective\'s saved plan with its activities ordered by `position`, or 404 when the objective has no plan.
53
+ * Get a study objective\'s plan
54
+ */
55
+ getStudyObjectiveStudyPlan(requestParameters: GetStudyObjectiveStudyPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudyPlan>;
56
+ /**
57
+ * 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.
58
+ * Save (or replace) a study objective\'s plan
59
+ */
60
+ saveStudyObjectiveStudyPlanRaw(requestParameters: SaveStudyObjectiveStudyPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudyPlan>>;
61
+ /**
62
+ * 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.
63
+ * Save (or replace) a study objective\'s plan
64
+ */
65
+ saveStudyObjectiveStudyPlan(requestParameters: SaveStudyObjectiveStudyPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudyPlan>;
66
+ /**
67
+ * 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.
68
+ * Mark a plan activity complete or incomplete
69
+ */
70
+ updateStudyPlanActivityCompletionRaw(requestParameters: UpdateStudyPlanActivityCompletionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudyPlanActivity>>;
71
+ /**
72
+ * 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.
73
+ * Mark a plan activity complete or incomplete
74
+ */
75
+ updateStudyPlanActivityCompletion(requestParameters: UpdateStudyPlanActivityCompletionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudyPlanActivity>;
76
+ }
@@ -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';
@@ -27,6 +27,12 @@ export interface CreateObjectiveResourceDto {
27
27
  * @memberof CreateObjectiveResourceDto
28
28
  */
29
29
  resourceType: CreateObjectiveResourceDtoResourceTypeEnum;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof CreateObjectiveResourceDto
34
+ */
35
+ studyPlanActivityId?: string | null;
30
36
  }
31
37
  /**
32
38
  * @export
@@ -35,6 +41,7 @@ export declare const CreateObjectiveResourceDtoResourceTypeEnum: {
35
41
  readonly Chat: "chat";
36
42
  readonly Quiz: "quiz";
37
43
  readonly Flashcard: "flashcard";
44
+ readonly PlanActivity: "plan-activity";
38
45
  };
39
46
  export type CreateObjectiveResourceDtoResourceTypeEnum = typeof CreateObjectiveResourceDtoResourceTypeEnum[keyof typeof CreateObjectiveResourceDtoResourceTypeEnum];
40
47
  /**
@@ -17,7 +17,8 @@
17
17
  export const CreateObjectiveResourceDtoResourceTypeEnum = {
18
18
  Chat: 'chat',
19
19
  Quiz: 'quiz',
20
- Flashcard: 'flashcard'
20
+ Flashcard: 'flashcard',
21
+ PlanActivity: 'plan-activity'
21
22
  };
22
23
  /**
23
24
  * Check if a given object implements the CreateObjectiveResourceDto interface.
@@ -39,6 +40,7 @@ export function CreateObjectiveResourceDtoFromJSONTyped(json, ignoreDiscriminato
39
40
  return {
40
41
  'chatId': json['chatId'],
41
42
  'resourceType': json['resourceType'],
43
+ 'studyPlanActivityId': json['studyPlanActivityId'] == null ? undefined : json['studyPlanActivityId'],
42
44
  };
43
45
  }
44
46
  export function CreateObjectiveResourceDtoToJSON(json) {
@@ -51,5 +53,6 @@ export function CreateObjectiveResourceDtoToJSONTyped(value, ignoreDiscriminator
51
53
  return {
52
54
  'chatId': value['chatId'],
53
55
  'resourceType': value['resourceType'],
56
+ 'studyPlanActivityId': value['studyPlanActivityId'],
54
57
  };
55
58
  }
@@ -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
+ }
@@ -45,6 +45,12 @@ export interface ObjectiveResource {
45
45
  * @memberof ObjectiveResource
46
46
  */
47
47
  resourceType: ObjectiveResourceResourceTypeEnum;
48
+ /**
49
+ * The study plan activity this chat was started from, or null when it was not launched from one. Goes null if that plan is later replaced or deleted — the resource itself survives.
50
+ * @type {string}
51
+ * @memberof ObjectiveResource
52
+ */
53
+ studyPlanActivityId: string | null;
48
54
  /**
49
55
  *
50
56
  * @type {Date}
@@ -59,6 +65,7 @@ export declare const ObjectiveResourceResourceTypeEnum: {
59
65
  readonly Chat: "chat";
60
66
  readonly Quiz: "quiz";
61
67
  readonly Flashcard: "flashcard";
68
+ readonly PlanActivity: "plan-activity";
62
69
  };
63
70
  export type ObjectiveResourceResourceTypeEnum = typeof ObjectiveResourceResourceTypeEnum[keyof typeof ObjectiveResourceResourceTypeEnum];
64
71
  /**
@@ -17,7 +17,8 @@
17
17
  export const ObjectiveResourceResourceTypeEnum = {
18
18
  Chat: 'chat',
19
19
  Quiz: 'quiz',
20
- Flashcard: 'flashcard'
20
+ Flashcard: 'flashcard',
21
+ PlanActivity: 'plan-activity'
21
22
  };
22
23
  /**
23
24
  * Check if a given object implements the ObjectiveResource interface.
@@ -33,6 +34,8 @@ export function instanceOfObjectiveResource(value) {
33
34
  return false;
34
35
  if (!('resourceType' in value) || value['resourceType'] === undefined)
35
36
  return false;
37
+ if (!('studyPlanActivityId' in value) || value['studyPlanActivityId'] === undefined)
38
+ return false;
36
39
  if (!('createdAt' in value) || value['createdAt'] === undefined)
37
40
  return false;
38
41
  return true;
@@ -50,6 +53,7 @@ export function ObjectiveResourceFromJSONTyped(json, ignoreDiscriminator) {
50
53
  'accountUserId': json['accountUserId'],
51
54
  'chatId': json['chatId'],
52
55
  'resourceType': json['resourceType'],
56
+ 'studyPlanActivityId': json['studyPlanActivityId'],
53
57
  'createdAt': (new Date(json['createdAt'])),
54
58
  };
55
59
  }
@@ -66,6 +70,7 @@ export function ObjectiveResourceToJSONTyped(value, ignoreDiscriminator = false)
66
70
  'accountUserId': value['accountUserId'],
67
71
  'chatId': value['chatId'],
68
72
  'resourceType': value['resourceType'],
73
+ 'studyPlanActivityId': value['studyPlanActivityId'],
69
74
  'createdAt': value['createdAt'].toISOString(),
70
75
  };
71
76
  }