@instructure/athena-api-client 2.11.6 → 2.12.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 CHANGED
@@ -107,6 +107,7 @@ All URIs are relative to *http://localhost:3000*
107
107
  *QuizSessionsApi* | [**submitQuizResponse**](docs/QuizSessionsApi.md#submitquizresponseoperation) | **POST** /api/v1/quiz-sessions/{sessionId}/responses | Submit a quiz response
108
108
  *QuizSessionsApi* | [**updateQuizSession**](docs/QuizSessionsApi.md#updatequizsessionoperation) | **PATCH** /api/v1/quiz-sessions/{sessionId} | Update quiz session status
109
109
  *QuizzesApi* | [**getQuiz**](docs/QuizzesApi.md#getquiz) | **GET** /api/v1/quizzes/{quizId} | Get quiz with questions
110
+ *QuizzesApi* | [**listQuizzes**](docs/QuizzesApi.md#listquizzes) | **GET** /api/v1/quizzes | List user quizzes
110
111
  *ServiceTokensApi* | [**createServiceToken**](docs/ServiceTokensApi.md#createservicetoken) | **POST** /api/v1/tokens | Create a new service token
111
112
  *ServiceTokensApi* | [**deleteServiceToken**](docs/ServiceTokensApi.md#deleteservicetoken) | **DELETE** /api/v1/tokens/{id} | Delete service token
112
113
  *ServiceTokensApi* | [**getServiceToken**](docs/ServiceTokensApi.md#getservicetoken) | **GET** /api/v1/tokens/{id} | Get service token by ID
@@ -173,9 +174,11 @@ All URIs are relative to *http://localhost:3000*
173
174
  - [PaginatedChats](docs/PaginatedChats.md)
174
175
  - [PaginatedLearningMoments](docs/PaginatedLearningMoments.md)
175
176
  - [PaginatedMessages](docs/PaginatedMessages.md)
177
+ - [PaginatedQuizzes](docs/PaginatedQuizzes.md)
176
178
  - [PaginatedTaxonomies](docs/PaginatedTaxonomies.md)
177
179
  - [Plan](docs/Plan.md)
178
180
  - [Quiz](docs/Quiz.md)
181
+ - [QuizListItem](docs/QuizListItem.md)
179
182
  - [QuizQuestion](docs/QuizQuestion.md)
180
183
  - [QuizResponse](docs/QuizResponse.md)
181
184
  - [QuizSession](docs/QuizSession.md)
@@ -10,11 +10,17 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { QuizWithQuestions } from '../models/index';
13
+ import type { PaginatedQuizzes, QuizWithQuestions } from '../models/index';
14
14
  export interface GetQuizRequest {
15
15
  quizId: string;
16
16
  xUserId: string;
17
17
  }
18
+ export interface ListQuizzesRequest {
19
+ xUserId: string;
20
+ limit?: number;
21
+ cursor?: string;
22
+ mode?: ListQuizzesModeEnum;
23
+ }
18
24
  /**
19
25
  *
20
26
  */
@@ -29,4 +35,22 @@ export declare class QuizzesApi extends runtime.BaseAPI {
29
35
  * Get quiz with questions
30
36
  */
31
37
  getQuiz(requestParameters: GetQuizRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QuizWithQuestions>;
38
+ /**
39
+ * Returns a paginated list of quizzes owned by the authenticated user, ordered by creation date (newest first).
40
+ * List user quizzes
41
+ */
42
+ listQuizzesRaw(requestParameters: ListQuizzesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedQuizzes>>;
43
+ /**
44
+ * Returns a paginated list of quizzes owned by the authenticated user, ordered by creation date (newest first).
45
+ * List user quizzes
46
+ */
47
+ listQuizzes(requestParameters: ListQuizzesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedQuizzes>;
32
48
  }
49
+ /**
50
+ * @export
51
+ */
52
+ export declare const ListQuizzesModeEnum: {
53
+ readonly Quiz: "quiz";
54
+ readonly Flashcards: "flashcards";
55
+ };
56
+ export type ListQuizzesModeEnum = typeof ListQuizzesModeEnum[keyof typeof ListQuizzesModeEnum];
@@ -22,7 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
22
22
  });
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.QuizzesApi = void 0;
25
+ exports.ListQuizzesModeEnum = exports.QuizzesApi = void 0;
26
26
  const runtime = require("../runtime");
27
27
  const index_1 = require("../models/index");
28
28
  /**
@@ -70,5 +70,58 @@ class QuizzesApi extends runtime.BaseAPI {
70
70
  return yield response.value();
71
71
  });
72
72
  }
73
+ /**
74
+ * Returns a paginated list of quizzes owned by the authenticated user, ordered by creation date (newest first).
75
+ * List user quizzes
76
+ */
77
+ listQuizzesRaw(requestParameters, initOverrides) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ if (requestParameters['xUserId'] == null) {
80
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling listQuizzes().');
81
+ }
82
+ const queryParameters = {};
83
+ if (requestParameters['limit'] != null) {
84
+ queryParameters['limit'] = requestParameters['limit'];
85
+ }
86
+ if (requestParameters['cursor'] != null) {
87
+ queryParameters['cursor'] = requestParameters['cursor'];
88
+ }
89
+ if (requestParameters['mode'] != null) {
90
+ queryParameters['mode'] = requestParameters['mode'];
91
+ }
92
+ const headerParameters = {};
93
+ if (requestParameters['xUserId'] != null) {
94
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
95
+ }
96
+ if (this.configuration && this.configuration.apiKey) {
97
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
98
+ }
99
+ let urlPath = `/api/v1/quizzes`;
100
+ const response = yield this.request({
101
+ path: urlPath,
102
+ method: 'GET',
103
+ headers: headerParameters,
104
+ query: queryParameters,
105
+ }, initOverrides);
106
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.PaginatedQuizzesFromJSON)(jsonValue));
107
+ });
108
+ }
109
+ /**
110
+ * Returns a paginated list of quizzes owned by the authenticated user, ordered by creation date (newest first).
111
+ * List user quizzes
112
+ */
113
+ listQuizzes(requestParameters, initOverrides) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ const response = yield this.listQuizzesRaw(requestParameters, initOverrides);
116
+ return yield response.value();
117
+ });
118
+ }
73
119
  }
74
120
  exports.QuizzesApi = QuizzesApi;
121
+ /**
122
+ * @export
123
+ */
124
+ exports.ListQuizzesModeEnum = {
125
+ Quiz: 'quiz',
126
+ Flashcards: 'flashcards'
127
+ };
@@ -10,11 +10,17 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { QuizWithQuestions } from '../models/index';
13
+ import type { PaginatedQuizzes, QuizWithQuestions } from '../models/index';
14
14
  export interface GetQuizRequest {
15
15
  quizId: string;
16
16
  xUserId: string;
17
17
  }
18
+ export interface ListQuizzesRequest {
19
+ xUserId: string;
20
+ limit?: number;
21
+ cursor?: string;
22
+ mode?: ListQuizzesModeEnum;
23
+ }
18
24
  /**
19
25
  *
20
26
  */
@@ -29,4 +35,22 @@ export declare class QuizzesApi extends runtime.BaseAPI {
29
35
  * Get quiz with questions
30
36
  */
31
37
  getQuiz(requestParameters: GetQuizRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QuizWithQuestions>;
38
+ /**
39
+ * Returns a paginated list of quizzes owned by the authenticated user, ordered by creation date (newest first).
40
+ * List user quizzes
41
+ */
42
+ listQuizzesRaw(requestParameters: ListQuizzesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedQuizzes>>;
43
+ /**
44
+ * Returns a paginated list of quizzes owned by the authenticated user, ordered by creation date (newest first).
45
+ * List user quizzes
46
+ */
47
+ listQuizzes(requestParameters: ListQuizzesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedQuizzes>;
32
48
  }
49
+ /**
50
+ * @export
51
+ */
52
+ export declare const ListQuizzesModeEnum: {
53
+ readonly Quiz: "quiz";
54
+ readonly Flashcards: "flashcards";
55
+ };
56
+ export type ListQuizzesModeEnum = typeof ListQuizzesModeEnum[keyof typeof ListQuizzesModeEnum];
@@ -21,7 +21,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
21
21
  });
22
22
  };
23
23
  import * as runtime from '../runtime';
24
- import { QuizWithQuestionsFromJSON, } from '../models/index';
24
+ import { PaginatedQuizzesFromJSON, QuizWithQuestionsFromJSON, } from '../models/index';
25
25
  /**
26
26
  *
27
27
  */
@@ -67,4 +67,57 @@ export class QuizzesApi extends runtime.BaseAPI {
67
67
  return yield response.value();
68
68
  });
69
69
  }
70
+ /**
71
+ * Returns a paginated list of quizzes owned by the authenticated user, ordered by creation date (newest first).
72
+ * List user quizzes
73
+ */
74
+ listQuizzesRaw(requestParameters, initOverrides) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ if (requestParameters['xUserId'] == null) {
77
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling listQuizzes().');
78
+ }
79
+ const queryParameters = {};
80
+ if (requestParameters['limit'] != null) {
81
+ queryParameters['limit'] = requestParameters['limit'];
82
+ }
83
+ if (requestParameters['cursor'] != null) {
84
+ queryParameters['cursor'] = requestParameters['cursor'];
85
+ }
86
+ if (requestParameters['mode'] != null) {
87
+ queryParameters['mode'] = requestParameters['mode'];
88
+ }
89
+ const headerParameters = {};
90
+ if (requestParameters['xUserId'] != null) {
91
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
92
+ }
93
+ if (this.configuration && this.configuration.apiKey) {
94
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
95
+ }
96
+ let urlPath = `/api/v1/quizzes`;
97
+ const response = yield this.request({
98
+ path: urlPath,
99
+ method: 'GET',
100
+ headers: headerParameters,
101
+ query: queryParameters,
102
+ }, initOverrides);
103
+ return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedQuizzesFromJSON(jsonValue));
104
+ });
105
+ }
106
+ /**
107
+ * Returns a paginated list of quizzes owned by the authenticated user, ordered by creation date (newest first).
108
+ * List user quizzes
109
+ */
110
+ listQuizzes(requestParameters, initOverrides) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ const response = yield this.listQuizzesRaw(requestParameters, initOverrides);
113
+ return yield response.value();
114
+ });
115
+ }
70
116
  }
117
+ /**
118
+ * @export
119
+ */
120
+ export const ListQuizzesModeEnum = {
121
+ Quiz: 'quiz',
122
+ Flashcards: 'flashcards'
123
+ };
@@ -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 { QuizListItem } from './QuizListItem';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface PaginatedQuizzes
17
+ */
18
+ export interface PaginatedQuizzes {
19
+ /**
20
+ * Array of quiz objects
21
+ * @type {Array<QuizListItem>}
22
+ * @memberof PaginatedQuizzes
23
+ */
24
+ data: Array<QuizListItem>;
25
+ /**
26
+ * Opaque cursor for fetching the next page. Null when there are no more results.
27
+ * @type {string}
28
+ * @memberof PaginatedQuizzes
29
+ */
30
+ nextCursor: string | null;
31
+ }
32
+ /**
33
+ * Check if a given object implements the PaginatedQuizzes interface.
34
+ */
35
+ export declare function instanceOfPaginatedQuizzes(value: object): value is PaginatedQuizzes;
36
+ export declare function PaginatedQuizzesFromJSON(json: any): PaginatedQuizzes;
37
+ export declare function PaginatedQuizzesFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedQuizzes;
38
+ export declare function PaginatedQuizzesToJSON(json: any): PaginatedQuizzes;
39
+ export declare function PaginatedQuizzesToJSONTyped(value?: PaginatedQuizzes | 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 { QuizListItemFromJSON, QuizListItemToJSON, } from './QuizListItem';
15
+ /**
16
+ * Check if a given object implements the PaginatedQuizzes interface.
17
+ */
18
+ export function instanceOfPaginatedQuizzes(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 PaginatedQuizzesFromJSON(json) {
26
+ return PaginatedQuizzesFromJSONTyped(json, false);
27
+ }
28
+ export function PaginatedQuizzesFromJSONTyped(json, ignoreDiscriminator) {
29
+ if (json == null) {
30
+ return json;
31
+ }
32
+ return {
33
+ 'data': (json['data'].map(QuizListItemFromJSON)),
34
+ 'nextCursor': json['nextCursor'],
35
+ };
36
+ }
37
+ export function PaginatedQuizzesToJSON(json) {
38
+ return PaginatedQuizzesToJSONTyped(json, false);
39
+ }
40
+ export function PaginatedQuizzesToJSONTyped(value, ignoreDiscriminator = false) {
41
+ if (value == null) {
42
+ return value;
43
+ }
44
+ return {
45
+ 'data': (value['data'].map(QuizListItemToJSON)),
46
+ 'nextCursor': value['nextCursor'],
47
+ };
48
+ }
@@ -32,7 +32,7 @@ export interface Quiz {
32
32
  * @type {string}
33
33
  * @memberof Quiz
34
34
  */
35
- chatId?: string | null;
35
+ chatId: string | null;
36
36
  /**
37
37
  *
38
38
  * @type {string}
@@ -26,6 +26,8 @@ export function instanceOfQuiz(value) {
26
26
  return false;
27
27
  if (!('accountUserId' in value) || value['accountUserId'] === undefined)
28
28
  return false;
29
+ if (!('chatId' in value) || value['chatId'] === undefined)
30
+ return false;
29
31
  if (!('title' in value) || value['title'] === undefined)
30
32
  return false;
31
33
  if (!('topic' in value) || value['topic'] === undefined)
@@ -46,7 +48,7 @@ export function QuizFromJSONTyped(json, ignoreDiscriminator) {
46
48
  return {
47
49
  'id': json['id'],
48
50
  'accountUserId': json['accountUserId'],
49
- 'chatId': json['chatId'] == null ? undefined : json['chatId'],
51
+ 'chatId': json['chatId'],
50
52
  'title': json['title'],
51
53
  'topic': json['topic'],
52
54
  'mode': json['mode'],
@@ -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
+ /**
13
+ *
14
+ * @export
15
+ * @interface QuizListItem
16
+ */
17
+ export interface QuizListItem {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof QuizListItem
22
+ */
23
+ id: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof QuizListItem
28
+ */
29
+ accountUserId: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof QuizListItem
34
+ */
35
+ chatId: string | null;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof QuizListItem
40
+ */
41
+ title: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof QuizListItem
46
+ */
47
+ topic: string;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof QuizListItem
52
+ */
53
+ mode: QuizListItemModeEnum;
54
+ /**
55
+ *
56
+ * @type {Date}
57
+ * @memberof QuizListItem
58
+ */
59
+ createdAt: Date;
60
+ /**
61
+ *
62
+ * @type {number}
63
+ * @memberof QuizListItem
64
+ */
65
+ questionCount: number;
66
+ }
67
+ /**
68
+ * @export
69
+ */
70
+ export declare const QuizListItemModeEnum: {
71
+ readonly Quiz: "quiz";
72
+ readonly Flashcards: "flashcards";
73
+ };
74
+ export type QuizListItemModeEnum = typeof QuizListItemModeEnum[keyof typeof QuizListItemModeEnum];
75
+ /**
76
+ * Check if a given object implements the QuizListItem interface.
77
+ */
78
+ export declare function instanceOfQuizListItem(value: object): value is QuizListItem;
79
+ export declare function QuizListItemFromJSON(json: any): QuizListItem;
80
+ export declare function QuizListItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): QuizListItem;
81
+ export declare function QuizListItemToJSON(json: any): QuizListItem;
82
+ export declare function QuizListItemToJSONTyped(value?: QuizListItem | 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
+ /**
15
+ * @export
16
+ */
17
+ export const QuizListItemModeEnum = {
18
+ Quiz: 'quiz',
19
+ Flashcards: 'flashcards'
20
+ };
21
+ /**
22
+ * Check if a given object implements the QuizListItem interface.
23
+ */
24
+ export function instanceOfQuizListItem(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 (!('chatId' in value) || value['chatId'] === undefined)
30
+ return false;
31
+ if (!('title' in value) || value['title'] === undefined)
32
+ return false;
33
+ if (!('topic' in value) || value['topic'] === undefined)
34
+ return false;
35
+ if (!('mode' in value) || value['mode'] === undefined)
36
+ return false;
37
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
38
+ return false;
39
+ if (!('questionCount' in value) || value['questionCount'] === undefined)
40
+ return false;
41
+ return true;
42
+ }
43
+ export function QuizListItemFromJSON(json) {
44
+ return QuizListItemFromJSONTyped(json, false);
45
+ }
46
+ export function QuizListItemFromJSONTyped(json, ignoreDiscriminator) {
47
+ if (json == null) {
48
+ return json;
49
+ }
50
+ return {
51
+ 'id': json['id'],
52
+ 'accountUserId': json['accountUserId'],
53
+ 'chatId': json['chatId'],
54
+ 'title': json['title'],
55
+ 'topic': json['topic'],
56
+ 'mode': json['mode'],
57
+ 'createdAt': (new Date(json['createdAt'])),
58
+ 'questionCount': json['questionCount'],
59
+ };
60
+ }
61
+ export function QuizListItemToJSON(json) {
62
+ return QuizListItemToJSONTyped(json, false);
63
+ }
64
+ export function QuizListItemToJSONTyped(value, ignoreDiscriminator = false) {
65
+ if (value == null) {
66
+ return value;
67
+ }
68
+ return {
69
+ 'id': value['id'],
70
+ 'accountUserId': value['accountUserId'],
71
+ 'chatId': value['chatId'],
72
+ 'title': value['title'],
73
+ 'topic': value['topic'],
74
+ 'mode': value['mode'],
75
+ 'createdAt': value['createdAt'].toISOString(),
76
+ 'questionCount': value['questionCount'],
77
+ };
78
+ }
@@ -33,7 +33,7 @@ export interface QuizWithQuestions {
33
33
  * @type {string}
34
34
  * @memberof QuizWithQuestions
35
35
  */
36
- chatId?: string | null;
36
+ chatId: string | null;
37
37
  /**
38
38
  *
39
39
  * @type {string}
@@ -27,6 +27,8 @@ export function instanceOfQuizWithQuestions(value) {
27
27
  return false;
28
28
  if (!('accountUserId' in value) || value['accountUserId'] === undefined)
29
29
  return false;
30
+ if (!('chatId' in value) || value['chatId'] === undefined)
31
+ return false;
30
32
  if (!('title' in value) || value['title'] === undefined)
31
33
  return false;
32
34
  if (!('topic' in value) || value['topic'] === undefined)
@@ -49,7 +51,7 @@ export function QuizWithQuestionsFromJSONTyped(json, ignoreDiscriminator) {
49
51
  return {
50
52
  'id': json['id'],
51
53
  'accountUserId': json['accountUserId'],
52
- 'chatId': json['chatId'] == null ? undefined : json['chatId'],
54
+ 'chatId': json['chatId'],
53
55
  'title': json['title'],
54
56
  'topic': json['topic'],
55
57
  'mode': json['mode'],
@@ -43,9 +43,11 @@ export * from './MessagePartsInner';
43
43
  export * from './PaginatedChats';
44
44
  export * from './PaginatedLearningMoments';
45
45
  export * from './PaginatedMessages';
46
+ export * from './PaginatedQuizzes';
46
47
  export * from './PaginatedTaxonomies';
47
48
  export * from './Plan';
48
49
  export * from './Quiz';
50
+ export * from './QuizListItem';
49
51
  export * from './QuizQuestion';
50
52
  export * from './QuizResponse';
51
53
  export * from './QuizSession';
@@ -45,9 +45,11 @@ export * from './MessagePartsInner';
45
45
  export * from './PaginatedChats';
46
46
  export * from './PaginatedLearningMoments';
47
47
  export * from './PaginatedMessages';
48
+ export * from './PaginatedQuizzes';
48
49
  export * from './PaginatedTaxonomies';
49
50
  export * from './Plan';
50
51
  export * from './Quiz';
52
+ export * from './QuizListItem';
51
53
  export * from './QuizQuestion';
52
54
  export * from './QuizResponse';
53
55
  export * from './QuizSession';
@@ -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 { QuizListItem } from './QuizListItem';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface PaginatedQuizzes
17
+ */
18
+ export interface PaginatedQuizzes {
19
+ /**
20
+ * Array of quiz objects
21
+ * @type {Array<QuizListItem>}
22
+ * @memberof PaginatedQuizzes
23
+ */
24
+ data: Array<QuizListItem>;
25
+ /**
26
+ * Opaque cursor for fetching the next page. Null when there are no more results.
27
+ * @type {string}
28
+ * @memberof PaginatedQuizzes
29
+ */
30
+ nextCursor: string | null;
31
+ }
32
+ /**
33
+ * Check if a given object implements the PaginatedQuizzes interface.
34
+ */
35
+ export declare function instanceOfPaginatedQuizzes(value: object): value is PaginatedQuizzes;
36
+ export declare function PaginatedQuizzesFromJSON(json: any): PaginatedQuizzes;
37
+ export declare function PaginatedQuizzesFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedQuizzes;
38
+ export declare function PaginatedQuizzesToJSON(json: any): PaginatedQuizzes;
39
+ export declare function PaginatedQuizzesToJSONTyped(value?: PaginatedQuizzes | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,55 @@
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.instanceOfPaginatedQuizzes = instanceOfPaginatedQuizzes;
17
+ exports.PaginatedQuizzesFromJSON = PaginatedQuizzesFromJSON;
18
+ exports.PaginatedQuizzesFromJSONTyped = PaginatedQuizzesFromJSONTyped;
19
+ exports.PaginatedQuizzesToJSON = PaginatedQuizzesToJSON;
20
+ exports.PaginatedQuizzesToJSONTyped = PaginatedQuizzesToJSONTyped;
21
+ const QuizListItem_1 = require("./QuizListItem");
22
+ /**
23
+ * Check if a given object implements the PaginatedQuizzes interface.
24
+ */
25
+ function instanceOfPaginatedQuizzes(value) {
26
+ if (!('data' in value) || value['data'] === undefined)
27
+ return false;
28
+ if (!('nextCursor' in value) || value['nextCursor'] === undefined)
29
+ return false;
30
+ return true;
31
+ }
32
+ function PaginatedQuizzesFromJSON(json) {
33
+ return PaginatedQuizzesFromJSONTyped(json, false);
34
+ }
35
+ function PaginatedQuizzesFromJSONTyped(json, ignoreDiscriminator) {
36
+ if (json == null) {
37
+ return json;
38
+ }
39
+ return {
40
+ 'data': (json['data'].map(QuizListItem_1.QuizListItemFromJSON)),
41
+ 'nextCursor': json['nextCursor'],
42
+ };
43
+ }
44
+ function PaginatedQuizzesToJSON(json) {
45
+ return PaginatedQuizzesToJSONTyped(json, false);
46
+ }
47
+ function PaginatedQuizzesToJSONTyped(value, ignoreDiscriminator = false) {
48
+ if (value == null) {
49
+ return value;
50
+ }
51
+ return {
52
+ 'data': (value['data'].map(QuizListItem_1.QuizListItemToJSON)),
53
+ 'nextCursor': value['nextCursor'],
54
+ };
55
+ }
@@ -32,7 +32,7 @@ export interface Quiz {
32
32
  * @type {string}
33
33
  * @memberof Quiz
34
34
  */
35
- chatId?: string | null;
35
+ chatId: string | null;
36
36
  /**
37
37
  *
38
38
  * @type {string}
@@ -34,6 +34,8 @@ function instanceOfQuiz(value) {
34
34
  return false;
35
35
  if (!('accountUserId' in value) || value['accountUserId'] === undefined)
36
36
  return false;
37
+ if (!('chatId' in value) || value['chatId'] === undefined)
38
+ return false;
37
39
  if (!('title' in value) || value['title'] === undefined)
38
40
  return false;
39
41
  if (!('topic' in value) || value['topic'] === undefined)
@@ -54,7 +56,7 @@ function QuizFromJSONTyped(json, ignoreDiscriminator) {
54
56
  return {
55
57
  'id': json['id'],
56
58
  'accountUserId': json['accountUserId'],
57
- 'chatId': json['chatId'] == null ? undefined : json['chatId'],
59
+ 'chatId': json['chatId'],
58
60
  'title': json['title'],
59
61
  'topic': json['topic'],
60
62
  'mode': json['mode'],
@@ -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
+ /**
13
+ *
14
+ * @export
15
+ * @interface QuizListItem
16
+ */
17
+ export interface QuizListItem {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof QuizListItem
22
+ */
23
+ id: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof QuizListItem
28
+ */
29
+ accountUserId: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof QuizListItem
34
+ */
35
+ chatId: string | null;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof QuizListItem
40
+ */
41
+ title: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof QuizListItem
46
+ */
47
+ topic: string;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof QuizListItem
52
+ */
53
+ mode: QuizListItemModeEnum;
54
+ /**
55
+ *
56
+ * @type {Date}
57
+ * @memberof QuizListItem
58
+ */
59
+ createdAt: Date;
60
+ /**
61
+ *
62
+ * @type {number}
63
+ * @memberof QuizListItem
64
+ */
65
+ questionCount: number;
66
+ }
67
+ /**
68
+ * @export
69
+ */
70
+ export declare const QuizListItemModeEnum: {
71
+ readonly Quiz: "quiz";
72
+ readonly Flashcards: "flashcards";
73
+ };
74
+ export type QuizListItemModeEnum = typeof QuizListItemModeEnum[keyof typeof QuizListItemModeEnum];
75
+ /**
76
+ * Check if a given object implements the QuizListItem interface.
77
+ */
78
+ export declare function instanceOfQuizListItem(value: object): value is QuizListItem;
79
+ export declare function QuizListItemFromJSON(json: any): QuizListItem;
80
+ export declare function QuizListItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): QuizListItem;
81
+ export declare function QuizListItemToJSON(json: any): QuizListItem;
82
+ export declare function QuizListItemToJSONTyped(value?: QuizListItem | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,86 @@
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.QuizListItemModeEnum = void 0;
17
+ exports.instanceOfQuizListItem = instanceOfQuizListItem;
18
+ exports.QuizListItemFromJSON = QuizListItemFromJSON;
19
+ exports.QuizListItemFromJSONTyped = QuizListItemFromJSONTyped;
20
+ exports.QuizListItemToJSON = QuizListItemToJSON;
21
+ exports.QuizListItemToJSONTyped = QuizListItemToJSONTyped;
22
+ /**
23
+ * @export
24
+ */
25
+ exports.QuizListItemModeEnum = {
26
+ Quiz: 'quiz',
27
+ Flashcards: 'flashcards'
28
+ };
29
+ /**
30
+ * Check if a given object implements the QuizListItem interface.
31
+ */
32
+ function instanceOfQuizListItem(value) {
33
+ if (!('id' in value) || value['id'] === undefined)
34
+ return false;
35
+ if (!('accountUserId' in value) || value['accountUserId'] === undefined)
36
+ return false;
37
+ if (!('chatId' in value) || value['chatId'] === undefined)
38
+ return false;
39
+ if (!('title' in value) || value['title'] === undefined)
40
+ return false;
41
+ if (!('topic' in value) || value['topic'] === undefined)
42
+ return false;
43
+ if (!('mode' in value) || value['mode'] === undefined)
44
+ return false;
45
+ if (!('createdAt' in value) || value['createdAt'] === undefined)
46
+ return false;
47
+ if (!('questionCount' in value) || value['questionCount'] === undefined)
48
+ return false;
49
+ return true;
50
+ }
51
+ function QuizListItemFromJSON(json) {
52
+ return QuizListItemFromJSONTyped(json, false);
53
+ }
54
+ function QuizListItemFromJSONTyped(json, ignoreDiscriminator) {
55
+ if (json == null) {
56
+ return json;
57
+ }
58
+ return {
59
+ 'id': json['id'],
60
+ 'accountUserId': json['accountUserId'],
61
+ 'chatId': json['chatId'],
62
+ 'title': json['title'],
63
+ 'topic': json['topic'],
64
+ 'mode': json['mode'],
65
+ 'createdAt': (new Date(json['createdAt'])),
66
+ 'questionCount': json['questionCount'],
67
+ };
68
+ }
69
+ function QuizListItemToJSON(json) {
70
+ return QuizListItemToJSONTyped(json, false);
71
+ }
72
+ function QuizListItemToJSONTyped(value, ignoreDiscriminator = false) {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+ return {
77
+ 'id': value['id'],
78
+ 'accountUserId': value['accountUserId'],
79
+ 'chatId': value['chatId'],
80
+ 'title': value['title'],
81
+ 'topic': value['topic'],
82
+ 'mode': value['mode'],
83
+ 'createdAt': value['createdAt'].toISOString(),
84
+ 'questionCount': value['questionCount'],
85
+ };
86
+ }
@@ -33,7 +33,7 @@ export interface QuizWithQuestions {
33
33
  * @type {string}
34
34
  * @memberof QuizWithQuestions
35
35
  */
36
- chatId?: string | null;
36
+ chatId: string | null;
37
37
  /**
38
38
  *
39
39
  * @type {string}
@@ -35,6 +35,8 @@ function instanceOfQuizWithQuestions(value) {
35
35
  return false;
36
36
  if (!('accountUserId' in value) || value['accountUserId'] === undefined)
37
37
  return false;
38
+ if (!('chatId' in value) || value['chatId'] === undefined)
39
+ return false;
38
40
  if (!('title' in value) || value['title'] === undefined)
39
41
  return false;
40
42
  if (!('topic' in value) || value['topic'] === undefined)
@@ -57,7 +59,7 @@ function QuizWithQuestionsFromJSONTyped(json, ignoreDiscriminator) {
57
59
  return {
58
60
  'id': json['id'],
59
61
  'accountUserId': json['accountUserId'],
60
- 'chatId': json['chatId'] == null ? undefined : json['chatId'],
62
+ 'chatId': json['chatId'],
61
63
  'title': json['title'],
62
64
  'topic': json['topic'],
63
65
  'mode': json['mode'],
@@ -43,9 +43,11 @@ export * from './MessagePartsInner';
43
43
  export * from './PaginatedChats';
44
44
  export * from './PaginatedLearningMoments';
45
45
  export * from './PaginatedMessages';
46
+ export * from './PaginatedQuizzes';
46
47
  export * from './PaginatedTaxonomies';
47
48
  export * from './Plan';
48
49
  export * from './Quiz';
50
+ export * from './QuizListItem';
49
51
  export * from './QuizQuestion';
50
52
  export * from './QuizResponse';
51
53
  export * from './QuizSession';
@@ -61,9 +61,11 @@ __exportStar(require("./MessagePartsInner"), exports);
61
61
  __exportStar(require("./PaginatedChats"), exports);
62
62
  __exportStar(require("./PaginatedLearningMoments"), exports);
63
63
  __exportStar(require("./PaginatedMessages"), exports);
64
+ __exportStar(require("./PaginatedQuizzes"), exports);
64
65
  __exportStar(require("./PaginatedTaxonomies"), exports);
65
66
  __exportStar(require("./Plan"), exports);
66
67
  __exportStar(require("./Quiz"), exports);
68
+ __exportStar(require("./QuizListItem"), exports);
67
69
  __exportStar(require("./QuizQuestion"), exports);
68
70
  __exportStar(require("./QuizResponse"), exports);
69
71
  __exportStar(require("./QuizSession"), exports);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@instructure/athena-api-client",
3
3
  "private": false,
4
- "version": "2.11.6",
4
+ "version": "2.12.0",
5
5
  "description": "OpenAPI client for the Athena API",
6
6
  "author": "Instructure",
7
7
  "repository": {