@instructure/athena-api-client 3.38.8 → 3.39.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 +8 -0
  2. package/dist/apis/ResourcesApi.d.ts +55 -0
  3. package/dist/apis/ResourcesApi.js +106 -0
  4. package/dist/apis/index.d.ts +1 -0
  5. package/dist/apis/index.js +1 -0
  6. package/dist/esm/apis/ResourcesApi.d.ts +55 -0
  7. package/dist/esm/apis/ResourcesApi.js +102 -0
  8. package/dist/esm/apis/index.d.ts +1 -0
  9. package/dist/esm/apis/index.js +1 -0
  10. package/dist/esm/models/PaginatedResources.d.ts +39 -0
  11. package/dist/esm/models/PaginatedResources.js +48 -0
  12. package/dist/esm/models/ResourceActivity.d.ts +114 -0
  13. package/dist/esm/models/ResourceActivity.js +100 -0
  14. package/dist/esm/models/ResourceChat.d.ts +56 -0
  15. package/dist/esm/models/ResourceChat.js +59 -0
  16. package/dist/esm/models/ResourceListItem.d.ts +145 -0
  17. package/dist/esm/models/ResourceListItem.js +122 -0
  18. package/dist/esm/models/ResourceSession.d.ts +95 -0
  19. package/dist/esm/models/ResourceSession.js +87 -0
  20. package/dist/esm/models/ResourceStudyObjective.d.ts +50 -0
  21. package/dist/esm/models/ResourceStudyObjective.js +55 -0
  22. package/dist/esm/models/ResourceStudySpace.d.ts +44 -0
  23. package/dist/esm/models/ResourceStudySpace.js +51 -0
  24. package/dist/esm/models/index.d.ts +7 -0
  25. package/dist/esm/models/index.js +7 -0
  26. package/dist/models/PaginatedResources.d.ts +39 -0
  27. package/dist/models/PaginatedResources.js +55 -0
  28. package/dist/models/ResourceActivity.d.ts +114 -0
  29. package/dist/models/ResourceActivity.js +108 -0
  30. package/dist/models/ResourceChat.d.ts +56 -0
  31. package/dist/models/ResourceChat.js +66 -0
  32. package/dist/models/ResourceListItem.d.ts +145 -0
  33. package/dist/models/ResourceListItem.js +130 -0
  34. package/dist/models/ResourceSession.d.ts +95 -0
  35. package/dist/models/ResourceSession.js +95 -0
  36. package/dist/models/ResourceStudyObjective.d.ts +50 -0
  37. package/dist/models/ResourceStudyObjective.js +62 -0
  38. package/dist/models/ResourceStudySpace.d.ts +44 -0
  39. package/dist/models/ResourceStudySpace.js +58 -0
  40. package/dist/models/index.d.ts +7 -0
  41. package/dist/models/index.js +7 -0
  42. package/package.json +1 -1
package/README.md CHANGED
@@ -129,6 +129,7 @@ All URIs are relative to *http://localhost:3000*
129
129
  *QuizSessionsApi* | [**updateQuizSession**](docs/QuizSessionsApi.md#updatequizsessionoperation) | **PATCH** /api/v1/quiz-sessions/{sessionId} | Update quiz session status
130
130
  *QuizzesApi* | [**getQuiz**](docs/QuizzesApi.md#getquiz) | **GET** /api/v1/quizzes/{quizId} | Get quiz with questions
131
131
  *QuizzesApi* | [**listQuizzes**](docs/QuizzesApi.md#listquizzes) | **GET** /api/v1/quizzes | List user quizzes
132
+ *ResourcesApi* | [**listResources**](docs/ResourcesApi.md#listresources) | **GET** /api/v1/resources | List the user\'s generated study resources
132
133
  *ServiceTokensApi* | [**createServiceToken**](docs/ServiceTokensApi.md#createservicetoken) | **POST** /api/v1/tokens | Create a new service token
133
134
  *ServiceTokensApi* | [**deleteServiceToken**](docs/ServiceTokensApi.md#deleteservicetoken) | **DELETE** /api/v1/tokens/{id} | Delete service token
134
135
  *ServiceTokensApi* | [**getServiceToken**](docs/ServiceTokensApi.md#getservicetoken) | **GET** /api/v1/tokens/{id} | Get service token by ID
@@ -298,6 +299,7 @@ All URIs are relative to *http://localhost:3000*
298
299
  - [PaginatedObjectiveResources](docs/PaginatedObjectiveResources.md)
299
300
  - [PaginatedQuizSessions](docs/PaginatedQuizSessions.md)
300
301
  - [PaginatedQuizzes](docs/PaginatedQuizzes.md)
302
+ - [PaginatedResources](docs/PaginatedResources.md)
301
303
  - [PaginatedStudyObjectives](docs/PaginatedStudyObjectives.md)
302
304
  - [PaginatedTaxonomies](docs/PaginatedTaxonomies.md)
303
305
  - [PaginatedUserConcepts](docs/PaginatedUserConcepts.md)
@@ -317,6 +319,12 @@ All URIs are relative to *http://localhost:3000*
317
319
  - [QuizSessionSummary](docs/QuizSessionSummary.md)
318
320
  - [QuizWithQuestions](docs/QuizWithQuestions.md)
319
321
  - [RecordQuizQuestionViewRequest](docs/RecordQuizQuestionViewRequest.md)
322
+ - [ResourceActivity](docs/ResourceActivity.md)
323
+ - [ResourceChat](docs/ResourceChat.md)
324
+ - [ResourceListItem](docs/ResourceListItem.md)
325
+ - [ResourceSession](docs/ResourceSession.md)
326
+ - [ResourceStudyObjective](docs/ResourceStudyObjective.md)
327
+ - [ResourceStudySpace](docs/ResourceStudySpace.md)
320
328
  - [Score](docs/Score.md)
321
329
  - [ScoreByTypeValue](docs/ScoreByTypeValue.md)
322
330
  - [ServiceToken](docs/ServiceToken.md)
@@ -0,0 +1,55 @@
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 { PaginatedResources } from '../models/index';
14
+ export interface ListResourcesRequest {
15
+ xUserId: string;
16
+ limit?: number;
17
+ cursor?: string;
18
+ type?: ListResourcesTypeEnum;
19
+ courseId?: string;
20
+ chatId?: string;
21
+ studySpaceId?: string;
22
+ progress?: ListResourcesProgressEnum;
23
+ }
24
+ /**
25
+ *
26
+ */
27
+ export declare class ResourcesApi extends runtime.BaseAPI {
28
+ /**
29
+ * Returns the authenticated user\'s quizzes and flashcard sets, newest first, each with its question rollup, originating chat, course attribution, study objective, and session activity. Intended for a library view, so every row carries enough to render a card without a follow-up request.
30
+ * List the user\'s generated study resources
31
+ */
32
+ listResourcesRaw(requestParameters: ListResourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedResources>>;
33
+ /**
34
+ * Returns the authenticated user\'s quizzes and flashcard sets, newest first, each with its question rollup, originating chat, course attribution, study objective, and session activity. Intended for a library view, so every row carries enough to render a card without a follow-up request.
35
+ * List the user\'s generated study resources
36
+ */
37
+ listResources(requestParameters: ListResourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedResources>;
38
+ }
39
+ /**
40
+ * @export
41
+ */
42
+ export declare const ListResourcesTypeEnum: {
43
+ readonly Quiz: "quiz";
44
+ readonly Flashcards: "flashcards";
45
+ };
46
+ export type ListResourcesTypeEnum = typeof ListResourcesTypeEnum[keyof typeof ListResourcesTypeEnum];
47
+ /**
48
+ * @export
49
+ */
50
+ export declare const ListResourcesProgressEnum: {
51
+ readonly NotStarted: "not-started";
52
+ readonly InProgress: "in-progress";
53
+ readonly Completed: "completed";
54
+ };
55
+ export type ListResourcesProgressEnum = typeof ListResourcesProgressEnum[keyof typeof ListResourcesProgressEnum];
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Athena API
6
+ * REST API for the Athena system
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
16
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17
+ return new (P || (P = Promise))(function (resolve, reject) {
18
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
19
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
20
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
21
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
22
+ });
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.ListResourcesProgressEnum = exports.ListResourcesTypeEnum = exports.ResourcesApi = void 0;
26
+ const runtime = require("../runtime");
27
+ const index_1 = require("../models/index");
28
+ /**
29
+ *
30
+ */
31
+ class ResourcesApi extends runtime.BaseAPI {
32
+ /**
33
+ * Returns the authenticated user\'s quizzes and flashcard sets, newest first, each with its question rollup, originating chat, course attribution, study objective, and session activity. Intended for a library view, so every row carries enough to render a card without a follow-up request.
34
+ * List the user\'s generated study resources
35
+ */
36
+ listResourcesRaw(requestParameters, initOverrides) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ if (requestParameters['xUserId'] == null) {
39
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling listResources().');
40
+ }
41
+ const queryParameters = {};
42
+ if (requestParameters['limit'] != null) {
43
+ queryParameters['limit'] = requestParameters['limit'];
44
+ }
45
+ if (requestParameters['cursor'] != null) {
46
+ queryParameters['cursor'] = requestParameters['cursor'];
47
+ }
48
+ if (requestParameters['type'] != null) {
49
+ queryParameters['type'] = requestParameters['type'];
50
+ }
51
+ if (requestParameters['courseId'] != null) {
52
+ queryParameters['courseId'] = requestParameters['courseId'];
53
+ }
54
+ if (requestParameters['chatId'] != null) {
55
+ queryParameters['chatId'] = requestParameters['chatId'];
56
+ }
57
+ if (requestParameters['studySpaceId'] != null) {
58
+ queryParameters['studySpaceId'] = requestParameters['studySpaceId'];
59
+ }
60
+ if (requestParameters['progress'] != null) {
61
+ queryParameters['progress'] = requestParameters['progress'];
62
+ }
63
+ const headerParameters = {};
64
+ if (requestParameters['xUserId'] != null) {
65
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
66
+ }
67
+ if (this.configuration && this.configuration.apiKey) {
68
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
69
+ }
70
+ let urlPath = `/api/v1/resources`;
71
+ const response = yield this.request({
72
+ path: urlPath,
73
+ method: 'GET',
74
+ headers: headerParameters,
75
+ query: queryParameters,
76
+ }, initOverrides);
77
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.PaginatedResourcesFromJSON)(jsonValue));
78
+ });
79
+ }
80
+ /**
81
+ * Returns the authenticated user\'s quizzes and flashcard sets, newest first, each with its question rollup, originating chat, course attribution, study objective, and session activity. Intended for a library view, so every row carries enough to render a card without a follow-up request.
82
+ * List the user\'s generated study resources
83
+ */
84
+ listResources(requestParameters, initOverrides) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const response = yield this.listResourcesRaw(requestParameters, initOverrides);
87
+ return yield response.value();
88
+ });
89
+ }
90
+ }
91
+ exports.ResourcesApi = ResourcesApi;
92
+ /**
93
+ * @export
94
+ */
95
+ exports.ListResourcesTypeEnum = {
96
+ Quiz: 'quiz',
97
+ Flashcards: 'flashcards'
98
+ };
99
+ /**
100
+ * @export
101
+ */
102
+ exports.ListResourcesProgressEnum = {
103
+ NotStarted: 'not-started',
104
+ InProgress: 'in-progress',
105
+ Completed: 'completed'
106
+ };
@@ -18,6 +18,7 @@ export * from './PlansApi';
18
18
  export * from './PracticeQuizzesApi';
19
19
  export * from './QuizSessionsApi';
20
20
  export * from './QuizzesApi';
21
+ export * from './ResourcesApi';
21
22
  export * from './ServiceTokensApi';
22
23
  export * from './StudyObjectiveConceptsApi';
23
24
  export * from './StudyObjectivesApi';
@@ -36,6 +36,7 @@ __exportStar(require("./PlansApi"), exports);
36
36
  __exportStar(require("./PracticeQuizzesApi"), exports);
37
37
  __exportStar(require("./QuizSessionsApi"), exports);
38
38
  __exportStar(require("./QuizzesApi"), exports);
39
+ __exportStar(require("./ResourcesApi"), exports);
39
40
  __exportStar(require("./ServiceTokensApi"), exports);
40
41
  __exportStar(require("./StudyObjectiveConceptsApi"), exports);
41
42
  __exportStar(require("./StudyObjectivesApi"), exports);
@@ -0,0 +1,55 @@
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 { PaginatedResources } from '../models/index';
14
+ export interface ListResourcesRequest {
15
+ xUserId: string;
16
+ limit?: number;
17
+ cursor?: string;
18
+ type?: ListResourcesTypeEnum;
19
+ courseId?: string;
20
+ chatId?: string;
21
+ studySpaceId?: string;
22
+ progress?: ListResourcesProgressEnum;
23
+ }
24
+ /**
25
+ *
26
+ */
27
+ export declare class ResourcesApi extends runtime.BaseAPI {
28
+ /**
29
+ * Returns the authenticated user\'s quizzes and flashcard sets, newest first, each with its question rollup, originating chat, course attribution, study objective, and session activity. Intended for a library view, so every row carries enough to render a card without a follow-up request.
30
+ * List the user\'s generated study resources
31
+ */
32
+ listResourcesRaw(requestParameters: ListResourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedResources>>;
33
+ /**
34
+ * Returns the authenticated user\'s quizzes and flashcard sets, newest first, each with its question rollup, originating chat, course attribution, study objective, and session activity. Intended for a library view, so every row carries enough to render a card without a follow-up request.
35
+ * List the user\'s generated study resources
36
+ */
37
+ listResources(requestParameters: ListResourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedResources>;
38
+ }
39
+ /**
40
+ * @export
41
+ */
42
+ export declare const ListResourcesTypeEnum: {
43
+ readonly Quiz: "quiz";
44
+ readonly Flashcards: "flashcards";
45
+ };
46
+ export type ListResourcesTypeEnum = typeof ListResourcesTypeEnum[keyof typeof ListResourcesTypeEnum];
47
+ /**
48
+ * @export
49
+ */
50
+ export declare const ListResourcesProgressEnum: {
51
+ readonly NotStarted: "not-started";
52
+ readonly InProgress: "in-progress";
53
+ readonly Completed: "completed";
54
+ };
55
+ export type ListResourcesProgressEnum = typeof ListResourcesProgressEnum[keyof typeof ListResourcesProgressEnum];
@@ -0,0 +1,102 @@
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 { PaginatedResourcesFromJSON, } from '../models/index';
25
+ /**
26
+ *
27
+ */
28
+ export class ResourcesApi extends runtime.BaseAPI {
29
+ /**
30
+ * Returns the authenticated user\'s quizzes and flashcard sets, newest first, each with its question rollup, originating chat, course attribution, study objective, and session activity. Intended for a library view, so every row carries enough to render a card without a follow-up request.
31
+ * List the user\'s generated study resources
32
+ */
33
+ listResourcesRaw(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 listResources().');
37
+ }
38
+ const queryParameters = {};
39
+ if (requestParameters['limit'] != null) {
40
+ queryParameters['limit'] = requestParameters['limit'];
41
+ }
42
+ if (requestParameters['cursor'] != null) {
43
+ queryParameters['cursor'] = requestParameters['cursor'];
44
+ }
45
+ if (requestParameters['type'] != null) {
46
+ queryParameters['type'] = requestParameters['type'];
47
+ }
48
+ if (requestParameters['courseId'] != null) {
49
+ queryParameters['courseId'] = requestParameters['courseId'];
50
+ }
51
+ if (requestParameters['chatId'] != null) {
52
+ queryParameters['chatId'] = requestParameters['chatId'];
53
+ }
54
+ if (requestParameters['studySpaceId'] != null) {
55
+ queryParameters['studySpaceId'] = requestParameters['studySpaceId'];
56
+ }
57
+ if (requestParameters['progress'] != null) {
58
+ queryParameters['progress'] = requestParameters['progress'];
59
+ }
60
+ const headerParameters = {};
61
+ if (requestParameters['xUserId'] != null) {
62
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
63
+ }
64
+ if (this.configuration && this.configuration.apiKey) {
65
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
66
+ }
67
+ let urlPath = `/api/v1/resources`;
68
+ const response = yield this.request({
69
+ path: urlPath,
70
+ method: 'GET',
71
+ headers: headerParameters,
72
+ query: queryParameters,
73
+ }, initOverrides);
74
+ return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedResourcesFromJSON(jsonValue));
75
+ });
76
+ }
77
+ /**
78
+ * Returns the authenticated user\'s quizzes and flashcard sets, newest first, each with its question rollup, originating chat, course attribution, study objective, and session activity. Intended for a library view, so every row carries enough to render a card without a follow-up request.
79
+ * List the user\'s generated study resources
80
+ */
81
+ listResources(requestParameters, initOverrides) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ const response = yield this.listResourcesRaw(requestParameters, initOverrides);
84
+ return yield response.value();
85
+ });
86
+ }
87
+ }
88
+ /**
89
+ * @export
90
+ */
91
+ export const ListResourcesTypeEnum = {
92
+ Quiz: 'quiz',
93
+ Flashcards: 'flashcards'
94
+ };
95
+ /**
96
+ * @export
97
+ */
98
+ export const ListResourcesProgressEnum = {
99
+ NotStarted: 'not-started',
100
+ InProgress: 'in-progress',
101
+ Completed: 'completed'
102
+ };
@@ -18,6 +18,7 @@ export * from './PlansApi';
18
18
  export * from './PracticeQuizzesApi';
19
19
  export * from './QuizSessionsApi';
20
20
  export * from './QuizzesApi';
21
+ export * from './ResourcesApi';
21
22
  export * from './ServiceTokensApi';
22
23
  export * from './StudyObjectiveConceptsApi';
23
24
  export * from './StudyObjectivesApi';
@@ -20,6 +20,7 @@ export * from './PlansApi';
20
20
  export * from './PracticeQuizzesApi';
21
21
  export * from './QuizSessionsApi';
22
22
  export * from './QuizzesApi';
23
+ export * from './ResourcesApi';
23
24
  export * from './ServiceTokensApi';
24
25
  export * from './StudyObjectiveConceptsApi';
25
26
  export * from './StudyObjectivesApi';
@@ -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 { ResourceListItem } from './ResourceListItem';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface PaginatedResources
17
+ */
18
+ export interface PaginatedResources {
19
+ /**
20
+ *
21
+ * @type {Array<ResourceListItem>}
22
+ * @memberof PaginatedResources
23
+ */
24
+ data: Array<ResourceListItem>;
25
+ /**
26
+ * Opaque cursor for fetching the next page. Null when there are no more results.
27
+ * @type {string}
28
+ * @memberof PaginatedResources
29
+ */
30
+ nextCursor: string | null;
31
+ }
32
+ /**
33
+ * Check if a given object implements the PaginatedResources interface.
34
+ */
35
+ export declare function instanceOfPaginatedResources(value: object): value is PaginatedResources;
36
+ export declare function PaginatedResourcesFromJSON(json: any): PaginatedResources;
37
+ export declare function PaginatedResourcesFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedResources;
38
+ export declare function PaginatedResourcesToJSON(json: any): PaginatedResources;
39
+ export declare function PaginatedResourcesToJSONTyped(value?: PaginatedResources | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,48 @@
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 { ResourceListItemFromJSON, ResourceListItemToJSON, } from './ResourceListItem';
15
+ /**
16
+ * Check if a given object implements the PaginatedResources interface.
17
+ */
18
+ export function instanceOfPaginatedResources(value) {
19
+ if (!('data' in value) || value['data'] === undefined)
20
+ return false;
21
+ if (!('nextCursor' in value) || value['nextCursor'] === undefined)
22
+ return false;
23
+ return true;
24
+ }
25
+ export function PaginatedResourcesFromJSON(json) {
26
+ return PaginatedResourcesFromJSONTyped(json, false);
27
+ }
28
+ export function PaginatedResourcesFromJSONTyped(json, ignoreDiscriminator) {
29
+ if (json == null) {
30
+ return json;
31
+ }
32
+ return {
33
+ 'data': (json['data'].map(ResourceListItemFromJSON)),
34
+ 'nextCursor': json['nextCursor'],
35
+ };
36
+ }
37
+ export function PaginatedResourcesToJSON(json) {
38
+ return PaginatedResourcesToJSONTyped(json, false);
39
+ }
40
+ export function PaginatedResourcesToJSONTyped(value, ignoreDiscriminator = false) {
41
+ if (value == null) {
42
+ return value;
43
+ }
44
+ return {
45
+ 'data': (value['data'].map(ResourceListItemToJSON)),
46
+ 'nextCursor': value['nextCursor'],
47
+ };
48
+ }
@@ -0,0 +1,114 @@
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 { ResourceSession } from './ResourceSession';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface ResourceActivity
17
+ */
18
+ export interface ResourceActivity {
19
+ /**
20
+ * "completed" once any session finished, "in-progress" once any session exists, otherwise "not-started".
21
+ * @type {string}
22
+ * @memberof ResourceActivity
23
+ */
24
+ progressStatus: ResourceActivityProgressStatusEnum;
25
+ /**
26
+ *
27
+ * @type {number}
28
+ * @memberof ResourceActivity
29
+ */
30
+ sessionCount: number;
31
+ /**
32
+ *
33
+ * @type {number}
34
+ * @memberof ResourceActivity
35
+ */
36
+ activeSessionCount: number;
37
+ /**
38
+ *
39
+ * @type {number}
40
+ * @memberof ResourceActivity
41
+ */
42
+ completedSessionCount: number;
43
+ /**
44
+ *
45
+ * @type {number}
46
+ * @memberof ResourceActivity
47
+ */
48
+ abandonedSessionCount: number;
49
+ /**
50
+ * When the learner first opened this resource.
51
+ * @type {Date}
52
+ * @memberof ResourceActivity
53
+ */
54
+ firstStartedAt: Date | null;
55
+ /**
56
+ * Most recent session start, completion, or answer. Null when never opened.
57
+ * @type {Date}
58
+ * @memberof ResourceActivity
59
+ */
60
+ lastActivityAt: Date | null;
61
+ /**
62
+ * The most recently started session.
63
+ * @type {ResourceSession}
64
+ * @memberof ResourceActivity
65
+ */
66
+ latestSession: ResourceSession | null;
67
+ /**
68
+ * The completed session with the most correct answers. Ties go to the most recent. Null until a session completes.
69
+ * @type {ResourceSession}
70
+ * @memberof ResourceActivity
71
+ */
72
+ bestSession: ResourceSession | null;
73
+ /**
74
+ * Answers and ratings submitted across every session.
75
+ * @type {number}
76
+ * @memberof ResourceActivity
77
+ */
78
+ totalAnsweredCount: number;
79
+ /**
80
+ * Correct answers and known ratings across every session.
81
+ * @type {number}
82
+ * @memberof ResourceActivity
83
+ */
84
+ totalCorrectCount: number;
85
+ /**
86
+ * Distinct questions the learner has viewed at least once. For flashcards this is the number of cards flipped through.
87
+ * @type {number}
88
+ * @memberof ResourceActivity
89
+ */
90
+ viewedQuestionCount: number;
91
+ /**
92
+ * Every recorded question view, including repeat views.
93
+ * @type {number}
94
+ * @memberof ResourceActivity
95
+ */
96
+ totalViewCount: number;
97
+ }
98
+ /**
99
+ * @export
100
+ */
101
+ export declare const ResourceActivityProgressStatusEnum: {
102
+ readonly NotStarted: "not-started";
103
+ readonly InProgress: "in-progress";
104
+ readonly Completed: "completed";
105
+ };
106
+ export type ResourceActivityProgressStatusEnum = typeof ResourceActivityProgressStatusEnum[keyof typeof ResourceActivityProgressStatusEnum];
107
+ /**
108
+ * Check if a given object implements the ResourceActivity interface.
109
+ */
110
+ export declare function instanceOfResourceActivity(value: object): value is ResourceActivity;
111
+ export declare function ResourceActivityFromJSON(json: any): ResourceActivity;
112
+ export declare function ResourceActivityFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceActivity;
113
+ export declare function ResourceActivityToJSON(json: any): ResourceActivity;
114
+ export declare function ResourceActivityToJSONTyped(value?: ResourceActivity | null, ignoreDiscriminator?: boolean): any;