@instructure/athena-api-client 3.9.2 → 3.10.1

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
@@ -65,6 +65,7 @@ All URIs are relative to *http://localhost:3000*
65
65
  *AdminApi* | [**adminGetUserEngagement**](docs/AdminApi.md#admingetuserengagement) | **GET** /api/v1/admin/users/{externalId}/engagement | Get engagement dates for a user
66
66
  *AdminApi* | [**adminListActiveStreaks**](docs/AdminApi.md#adminlistactivestreaks) | **GET** /api/v1/admin/streaks/active | List all active streaks (currentDays > 0) across the account, paginated
67
67
  *AdminApi* | [**adminListChats**](docs/AdminApi.md#adminlistchats) | **GET** /api/v1/admin/chats | List recent chats across all account users
68
+ *AdminApi* | [**adminListQuizSessions**](docs/AdminApi.md#adminlistquizsessions) | **GET** /api/v1/admin/quiz-sessions | List recent quiz sessions across all account users
68
69
  *AdminApi* | [**adminListTaxonomyEnrollments**](docs/AdminApi.md#adminlisttaxonomyenrollments) | **GET** /api/v1/admin/taxonomy-enrollments | List all taxonomy enrollments across the account
69
70
  *AdminApi* | [**adminListTopStreaks**](docs/AdminApi.md#adminlisttopstreaks) | **GET** /api/v1/admin/streaks | List top N streaks across the account
70
71
  *AdminApi* | [**adminTriggerChatAnalysis**](docs/AdminApi.md#admintriggerchatanalysis) | **POST** /api/v1/admin/chats/{chatId}/analyze | Trigger re-analysis for a chat
@@ -171,7 +172,10 @@ All URIs are relative to *http://localhost:3000*
171
172
  - [AdminCohortStats](docs/AdminCohortStats.md)
172
173
  - [AdminPaginatedActiveStreaks](docs/AdminPaginatedActiveStreaks.md)
173
174
  - [AdminPaginatedChats](docs/AdminPaginatedChats.md)
175
+ - [AdminPaginatedQuizSessions](docs/AdminPaginatedQuizSessions.md)
174
176
  - [AdminPaginatedTaxonomyEnrollments](docs/AdminPaginatedTaxonomyEnrollments.md)
177
+ - [AdminQuizSessionListItem](docs/AdminQuizSessionListItem.md)
178
+ - [AdminQuizSessionScore](docs/AdminQuizSessionScore.md)
175
179
  - [AdminStreak](docs/AdminStreak.md)
176
180
  - [AdminTaxonomyEnrollment](docs/AdminTaxonomyEnrollment.md)
177
181
  - [AdminTaxonomyEnrollmentTaxonomy](docs/AdminTaxonomyEnrollmentTaxonomy.md)
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { AdminChat, AdminChatAnalysis, AdminChatWithStats, AdminCohortStats, AdminPaginatedActiveStreaks, AdminPaginatedChats, AdminPaginatedTaxonomyEnrollments, AdminStreak, AdminTriggerAnalysisResponse, AdminUpdateChatRequest, AdminUserEngagement, QuizSessionSummary } from '../models/index';
13
+ import type { AdminChat, AdminChatAnalysis, AdminChatWithStats, AdminCohortStats, AdminPaginatedActiveStreaks, AdminPaginatedChats, AdminPaginatedQuizSessions, AdminPaginatedTaxonomyEnrollments, AdminStreak, AdminTriggerAnalysisResponse, AdminUpdateChatRequest, AdminUserEngagement, QuizSessionSummary } from '../models/index';
14
14
  export interface AdminGetChatRequest {
15
15
  xUserId: string;
16
16
  chatId: string;
@@ -48,6 +48,13 @@ export interface AdminListChatsRequest {
48
48
  chatType?: string;
49
49
  forReview?: boolean;
50
50
  }
51
+ export interface AdminListQuizSessionsRequest {
52
+ xUserId: string;
53
+ limit?: number;
54
+ cursor?: string;
55
+ mode?: AdminListQuizSessionsModeEnum;
56
+ status?: AdminListQuizSessionsStatusEnum;
57
+ }
51
58
  export interface AdminListTaxonomyEnrollmentsRequest {
52
59
  xUserId: string;
53
60
  limit?: number;
@@ -136,6 +143,16 @@ export declare class AdminApi extends runtime.BaseAPI {
136
143
  * List recent chats across all account users
137
144
  */
138
145
  adminListChats(requestParameters: AdminListChatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AdminPaginatedChats>;
146
+ /**
147
+ * Returns a paginated list of quiz sessions belonging to users within the caller\'s account, ordered by start date (newest first), with embedded quiz info, the owning user\'s external id, and a score summary (including the number of questions answered). Intended for admin-style views in calling applications; authorization on whether the calling user is allowed to act as an admin is the calling application\'s responsibility - this endpoint only enforces account isolation. Questions and responses are not included; fetch them per session via the summary endpoint. Like the summary endpoint, this is not gated on the `enhanced-quizzing` feature flag.
148
+ * List recent quiz sessions across all account users
149
+ */
150
+ adminListQuizSessionsRaw(requestParameters: AdminListQuizSessionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AdminPaginatedQuizSessions>>;
151
+ /**
152
+ * Returns a paginated list of quiz sessions belonging to users within the caller\'s account, ordered by start date (newest first), with embedded quiz info, the owning user\'s external id, and a score summary (including the number of questions answered). Intended for admin-style views in calling applications; authorization on whether the calling user is allowed to act as an admin is the calling application\'s responsibility - this endpoint only enforces account isolation. Questions and responses are not included; fetch them per session via the summary endpoint. Like the summary endpoint, this is not gated on the `enhanced-quizzing` feature flag.
153
+ * List recent quiz sessions across all account users
154
+ */
155
+ adminListQuizSessions(requestParameters: AdminListQuizSessionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AdminPaginatedQuizSessions>;
139
156
  /**
140
157
  * List all taxonomy enrollments across the account
141
158
  */
@@ -169,3 +186,20 @@ export declare class AdminApi extends runtime.BaseAPI {
169
186
  */
170
187
  adminUpdateChat(requestParameters: AdminUpdateChatOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AdminChat>;
171
188
  }
189
+ /**
190
+ * @export
191
+ */
192
+ export declare const AdminListQuizSessionsModeEnum: {
193
+ readonly Quiz: "quiz";
194
+ readonly Flashcards: "flashcards";
195
+ };
196
+ export type AdminListQuizSessionsModeEnum = typeof AdminListQuizSessionsModeEnum[keyof typeof AdminListQuizSessionsModeEnum];
197
+ /**
198
+ * @export
199
+ */
200
+ export declare const AdminListQuizSessionsStatusEnum: {
201
+ readonly Active: "active";
202
+ readonly Completed: "completed";
203
+ readonly Abandoned: "abandoned";
204
+ };
205
+ export type AdminListQuizSessionsStatusEnum = typeof AdminListQuizSessionsStatusEnum[keyof typeof AdminListQuizSessionsStatusEnum];
@@ -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.AdminApi = void 0;
25
+ exports.AdminListQuizSessionsStatusEnum = exports.AdminListQuizSessionsModeEnum = exports.AdminApi = void 0;
26
26
  const runtime = require("../runtime");
27
27
  const index_1 = require("../models/index");
28
28
  /**
@@ -361,6 +361,55 @@ class AdminApi extends runtime.BaseAPI {
361
361
  return yield response.value();
362
362
  });
363
363
  }
364
+ /**
365
+ * Returns a paginated list of quiz sessions belonging to users within the caller\'s account, ordered by start date (newest first), with embedded quiz info, the owning user\'s external id, and a score summary (including the number of questions answered). Intended for admin-style views in calling applications; authorization on whether the calling user is allowed to act as an admin is the calling application\'s responsibility - this endpoint only enforces account isolation. Questions and responses are not included; fetch them per session via the summary endpoint. Like the summary endpoint, this is not gated on the `enhanced-quizzing` feature flag.
366
+ * List recent quiz sessions across all account users
367
+ */
368
+ adminListQuizSessionsRaw(requestParameters, initOverrides) {
369
+ return __awaiter(this, void 0, void 0, function* () {
370
+ if (requestParameters['xUserId'] == null) {
371
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling adminListQuizSessions().');
372
+ }
373
+ const queryParameters = {};
374
+ if (requestParameters['limit'] != null) {
375
+ queryParameters['limit'] = requestParameters['limit'];
376
+ }
377
+ if (requestParameters['cursor'] != null) {
378
+ queryParameters['cursor'] = requestParameters['cursor'];
379
+ }
380
+ if (requestParameters['mode'] != null) {
381
+ queryParameters['mode'] = requestParameters['mode'];
382
+ }
383
+ if (requestParameters['status'] != null) {
384
+ queryParameters['status'] = requestParameters['status'];
385
+ }
386
+ const headerParameters = {};
387
+ if (requestParameters['xUserId'] != null) {
388
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
389
+ }
390
+ if (this.configuration && this.configuration.apiKey) {
391
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
392
+ }
393
+ let urlPath = `/api/v1/admin/quiz-sessions`;
394
+ const response = yield this.request({
395
+ path: urlPath,
396
+ method: 'GET',
397
+ headers: headerParameters,
398
+ query: queryParameters,
399
+ }, initOverrides);
400
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.AdminPaginatedQuizSessionsFromJSON)(jsonValue));
401
+ });
402
+ }
403
+ /**
404
+ * Returns a paginated list of quiz sessions belonging to users within the caller\'s account, ordered by start date (newest first), with embedded quiz info, the owning user\'s external id, and a score summary (including the number of questions answered). Intended for admin-style views in calling applications; authorization on whether the calling user is allowed to act as an admin is the calling application\'s responsibility - this endpoint only enforces account isolation. Questions and responses are not included; fetch them per session via the summary endpoint. Like the summary endpoint, this is not gated on the `enhanced-quizzing` feature flag.
405
+ * List recent quiz sessions across all account users
406
+ */
407
+ adminListQuizSessions(requestParameters, initOverrides) {
408
+ return __awaiter(this, void 0, void 0, function* () {
409
+ const response = yield this.adminListQuizSessionsRaw(requestParameters, initOverrides);
410
+ return yield response.value();
411
+ });
412
+ }
364
413
  /**
365
414
  * List all taxonomy enrollments across the account
366
415
  */
@@ -525,3 +574,18 @@ class AdminApi extends runtime.BaseAPI {
525
574
  }
526
575
  }
527
576
  exports.AdminApi = AdminApi;
577
+ /**
578
+ * @export
579
+ */
580
+ exports.AdminListQuizSessionsModeEnum = {
581
+ Quiz: 'quiz',
582
+ Flashcards: 'flashcards'
583
+ };
584
+ /**
585
+ * @export
586
+ */
587
+ exports.AdminListQuizSessionsStatusEnum = {
588
+ Active: 'active',
589
+ Completed: 'completed',
590
+ Abandoned: 'abandoned'
591
+ };
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { AdminChat, AdminChatAnalysis, AdminChatWithStats, AdminCohortStats, AdminPaginatedActiveStreaks, AdminPaginatedChats, AdminPaginatedTaxonomyEnrollments, AdminStreak, AdminTriggerAnalysisResponse, AdminUpdateChatRequest, AdminUserEngagement, QuizSessionSummary } from '../models/index';
13
+ import type { AdminChat, AdminChatAnalysis, AdminChatWithStats, AdminCohortStats, AdminPaginatedActiveStreaks, AdminPaginatedChats, AdminPaginatedQuizSessions, AdminPaginatedTaxonomyEnrollments, AdminStreak, AdminTriggerAnalysisResponse, AdminUpdateChatRequest, AdminUserEngagement, QuizSessionSummary } from '../models/index';
14
14
  export interface AdminGetChatRequest {
15
15
  xUserId: string;
16
16
  chatId: string;
@@ -48,6 +48,13 @@ export interface AdminListChatsRequest {
48
48
  chatType?: string;
49
49
  forReview?: boolean;
50
50
  }
51
+ export interface AdminListQuizSessionsRequest {
52
+ xUserId: string;
53
+ limit?: number;
54
+ cursor?: string;
55
+ mode?: AdminListQuizSessionsModeEnum;
56
+ status?: AdminListQuizSessionsStatusEnum;
57
+ }
51
58
  export interface AdminListTaxonomyEnrollmentsRequest {
52
59
  xUserId: string;
53
60
  limit?: number;
@@ -136,6 +143,16 @@ export declare class AdminApi extends runtime.BaseAPI {
136
143
  * List recent chats across all account users
137
144
  */
138
145
  adminListChats(requestParameters: AdminListChatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AdminPaginatedChats>;
146
+ /**
147
+ * Returns a paginated list of quiz sessions belonging to users within the caller\'s account, ordered by start date (newest first), with embedded quiz info, the owning user\'s external id, and a score summary (including the number of questions answered). Intended for admin-style views in calling applications; authorization on whether the calling user is allowed to act as an admin is the calling application\'s responsibility - this endpoint only enforces account isolation. Questions and responses are not included; fetch them per session via the summary endpoint. Like the summary endpoint, this is not gated on the `enhanced-quizzing` feature flag.
148
+ * List recent quiz sessions across all account users
149
+ */
150
+ adminListQuizSessionsRaw(requestParameters: AdminListQuizSessionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AdminPaginatedQuizSessions>>;
151
+ /**
152
+ * Returns a paginated list of quiz sessions belonging to users within the caller\'s account, ordered by start date (newest first), with embedded quiz info, the owning user\'s external id, and a score summary (including the number of questions answered). Intended for admin-style views in calling applications; authorization on whether the calling user is allowed to act as an admin is the calling application\'s responsibility - this endpoint only enforces account isolation. Questions and responses are not included; fetch them per session via the summary endpoint. Like the summary endpoint, this is not gated on the `enhanced-quizzing` feature flag.
153
+ * List recent quiz sessions across all account users
154
+ */
155
+ adminListQuizSessions(requestParameters: AdminListQuizSessionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AdminPaginatedQuizSessions>;
139
156
  /**
140
157
  * List all taxonomy enrollments across the account
141
158
  */
@@ -169,3 +186,20 @@ export declare class AdminApi extends runtime.BaseAPI {
169
186
  */
170
187
  adminUpdateChat(requestParameters: AdminUpdateChatOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AdminChat>;
171
188
  }
189
+ /**
190
+ * @export
191
+ */
192
+ export declare const AdminListQuizSessionsModeEnum: {
193
+ readonly Quiz: "quiz";
194
+ readonly Flashcards: "flashcards";
195
+ };
196
+ export type AdminListQuizSessionsModeEnum = typeof AdminListQuizSessionsModeEnum[keyof typeof AdminListQuizSessionsModeEnum];
197
+ /**
198
+ * @export
199
+ */
200
+ export declare const AdminListQuizSessionsStatusEnum: {
201
+ readonly Active: "active";
202
+ readonly Completed: "completed";
203
+ readonly Abandoned: "abandoned";
204
+ };
205
+ export type AdminListQuizSessionsStatusEnum = typeof AdminListQuizSessionsStatusEnum[keyof typeof AdminListQuizSessionsStatusEnum];
@@ -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 { AdminChatFromJSON, AdminChatAnalysisFromJSON, AdminChatWithStatsFromJSON, AdminCohortStatsFromJSON, AdminPaginatedActiveStreaksFromJSON, AdminPaginatedChatsFromJSON, AdminPaginatedTaxonomyEnrollmentsFromJSON, AdminStreakFromJSON, AdminTriggerAnalysisResponseFromJSON, AdminUpdateChatRequestToJSON, AdminUserEngagementFromJSON, QuizSessionSummaryFromJSON, } from '../models/index';
24
+ import { AdminChatFromJSON, AdminChatAnalysisFromJSON, AdminChatWithStatsFromJSON, AdminCohortStatsFromJSON, AdminPaginatedActiveStreaksFromJSON, AdminPaginatedChatsFromJSON, AdminPaginatedQuizSessionsFromJSON, AdminPaginatedTaxonomyEnrollmentsFromJSON, AdminStreakFromJSON, AdminTriggerAnalysisResponseFromJSON, AdminUpdateChatRequestToJSON, AdminUserEngagementFromJSON, QuizSessionSummaryFromJSON, } from '../models/index';
25
25
  /**
26
26
  *
27
27
  */
@@ -358,6 +358,55 @@ export class AdminApi extends runtime.BaseAPI {
358
358
  return yield response.value();
359
359
  });
360
360
  }
361
+ /**
362
+ * Returns a paginated list of quiz sessions belonging to users within the caller\'s account, ordered by start date (newest first), with embedded quiz info, the owning user\'s external id, and a score summary (including the number of questions answered). Intended for admin-style views in calling applications; authorization on whether the calling user is allowed to act as an admin is the calling application\'s responsibility - this endpoint only enforces account isolation. Questions and responses are not included; fetch them per session via the summary endpoint. Like the summary endpoint, this is not gated on the `enhanced-quizzing` feature flag.
363
+ * List recent quiz sessions across all account users
364
+ */
365
+ adminListQuizSessionsRaw(requestParameters, initOverrides) {
366
+ return __awaiter(this, void 0, void 0, function* () {
367
+ if (requestParameters['xUserId'] == null) {
368
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling adminListQuizSessions().');
369
+ }
370
+ const queryParameters = {};
371
+ if (requestParameters['limit'] != null) {
372
+ queryParameters['limit'] = requestParameters['limit'];
373
+ }
374
+ if (requestParameters['cursor'] != null) {
375
+ queryParameters['cursor'] = requestParameters['cursor'];
376
+ }
377
+ if (requestParameters['mode'] != null) {
378
+ queryParameters['mode'] = requestParameters['mode'];
379
+ }
380
+ if (requestParameters['status'] != null) {
381
+ queryParameters['status'] = requestParameters['status'];
382
+ }
383
+ const headerParameters = {};
384
+ if (requestParameters['xUserId'] != null) {
385
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
386
+ }
387
+ if (this.configuration && this.configuration.apiKey) {
388
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
389
+ }
390
+ let urlPath = `/api/v1/admin/quiz-sessions`;
391
+ const response = yield this.request({
392
+ path: urlPath,
393
+ method: 'GET',
394
+ headers: headerParameters,
395
+ query: queryParameters,
396
+ }, initOverrides);
397
+ return new runtime.JSONApiResponse(response, (jsonValue) => AdminPaginatedQuizSessionsFromJSON(jsonValue));
398
+ });
399
+ }
400
+ /**
401
+ * Returns a paginated list of quiz sessions belonging to users within the caller\'s account, ordered by start date (newest first), with embedded quiz info, the owning user\'s external id, and a score summary (including the number of questions answered). Intended for admin-style views in calling applications; authorization on whether the calling user is allowed to act as an admin is the calling application\'s responsibility - this endpoint only enforces account isolation. Questions and responses are not included; fetch them per session via the summary endpoint. Like the summary endpoint, this is not gated on the `enhanced-quizzing` feature flag.
402
+ * List recent quiz sessions across all account users
403
+ */
404
+ adminListQuizSessions(requestParameters, initOverrides) {
405
+ return __awaiter(this, void 0, void 0, function* () {
406
+ const response = yield this.adminListQuizSessionsRaw(requestParameters, initOverrides);
407
+ return yield response.value();
408
+ });
409
+ }
361
410
  /**
362
411
  * List all taxonomy enrollments across the account
363
412
  */
@@ -521,3 +570,18 @@ export class AdminApi extends runtime.BaseAPI {
521
570
  });
522
571
  }
523
572
  }
573
+ /**
574
+ * @export
575
+ */
576
+ export const AdminListQuizSessionsModeEnum = {
577
+ Quiz: 'quiz',
578
+ Flashcards: 'flashcards'
579
+ };
580
+ /**
581
+ * @export
582
+ */
583
+ export const AdminListQuizSessionsStatusEnum = {
584
+ Active: 'active',
585
+ Completed: 'completed',
586
+ Abandoned: 'abandoned'
587
+ };
@@ -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 { AdminQuizSessionListItem } from './AdminQuizSessionListItem';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface AdminPaginatedQuizSessions
17
+ */
18
+ export interface AdminPaginatedQuizSessions {
19
+ /**
20
+ * Array of quiz session objects
21
+ * @type {Array<AdminQuizSessionListItem>}
22
+ * @memberof AdminPaginatedQuizSessions
23
+ */
24
+ data: Array<AdminQuizSessionListItem>;
25
+ /**
26
+ * Opaque cursor for fetching the next page. Null when there are no more results.
27
+ * @type {string}
28
+ * @memberof AdminPaginatedQuizSessions
29
+ */
30
+ nextCursor: string | null;
31
+ }
32
+ /**
33
+ * Check if a given object implements the AdminPaginatedQuizSessions interface.
34
+ */
35
+ export declare function instanceOfAdminPaginatedQuizSessions(value: object): value is AdminPaginatedQuizSessions;
36
+ export declare function AdminPaginatedQuizSessionsFromJSON(json: any): AdminPaginatedQuizSessions;
37
+ export declare function AdminPaginatedQuizSessionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminPaginatedQuizSessions;
38
+ export declare function AdminPaginatedQuizSessionsToJSON(json: any): AdminPaginatedQuizSessions;
39
+ export declare function AdminPaginatedQuizSessionsToJSONTyped(value?: AdminPaginatedQuizSessions | 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 { AdminQuizSessionListItemFromJSON, AdminQuizSessionListItemToJSON, } from './AdminQuizSessionListItem';
15
+ /**
16
+ * Check if a given object implements the AdminPaginatedQuizSessions interface.
17
+ */
18
+ export function instanceOfAdminPaginatedQuizSessions(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 AdminPaginatedQuizSessionsFromJSON(json) {
26
+ return AdminPaginatedQuizSessionsFromJSONTyped(json, false);
27
+ }
28
+ export function AdminPaginatedQuizSessionsFromJSONTyped(json, ignoreDiscriminator) {
29
+ if (json == null) {
30
+ return json;
31
+ }
32
+ return {
33
+ 'data': (json['data'].map(AdminQuizSessionListItemFromJSON)),
34
+ 'nextCursor': json['nextCursor'],
35
+ };
36
+ }
37
+ export function AdminPaginatedQuizSessionsToJSON(json) {
38
+ return AdminPaginatedQuizSessionsToJSONTyped(json, false);
39
+ }
40
+ export function AdminPaginatedQuizSessionsToJSONTyped(value, ignoreDiscriminator = false) {
41
+ if (value == null) {
42
+ return value;
43
+ }
44
+ return {
45
+ 'data': (value['data'].map(AdminQuizSessionListItemToJSON)),
46
+ 'nextCursor': value['nextCursor'],
47
+ };
48
+ }
@@ -0,0 +1,91 @@
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 { Quiz } from './Quiz';
13
+ import type { AdminQuizSessionScore } from './AdminQuizSessionScore';
14
+ /**
15
+ *
16
+ * @export
17
+ * @interface AdminQuizSessionListItem
18
+ */
19
+ export interface AdminQuizSessionListItem {
20
+ /**
21
+ *
22
+ * @type {string}
23
+ * @memberof AdminQuizSessionListItem
24
+ */
25
+ id: string;
26
+ /**
27
+ *
28
+ * @type {string}
29
+ * @memberof AdminQuizSessionListItem
30
+ */
31
+ quizId: string;
32
+ /**
33
+ *
34
+ * @type {string}
35
+ * @memberof AdminQuizSessionListItem
36
+ */
37
+ accountUserId: string;
38
+ /**
39
+ * External identifier of the user who owns the session
40
+ * @type {string}
41
+ * @memberof AdminQuizSessionListItem
42
+ */
43
+ userId: string | null;
44
+ /**
45
+ *
46
+ * @type {string}
47
+ * @memberof AdminQuizSessionListItem
48
+ */
49
+ status: AdminQuizSessionListItemStatusEnum;
50
+ /**
51
+ *
52
+ * @type {Date}
53
+ * @memberof AdminQuizSessionListItem
54
+ */
55
+ startedAt: Date;
56
+ /**
57
+ *
58
+ * @type {Date}
59
+ * @memberof AdminQuizSessionListItem
60
+ */
61
+ completedAt: Date | null;
62
+ /**
63
+ *
64
+ * @type {Quiz}
65
+ * @memberof AdminQuizSessionListItem
66
+ */
67
+ quiz: Quiz;
68
+ /**
69
+ *
70
+ * @type {AdminQuizSessionScore}
71
+ * @memberof AdminQuizSessionListItem
72
+ */
73
+ score: AdminQuizSessionScore;
74
+ }
75
+ /**
76
+ * @export
77
+ */
78
+ export declare const AdminQuizSessionListItemStatusEnum: {
79
+ readonly Active: "active";
80
+ readonly Completed: "completed";
81
+ readonly Abandoned: "abandoned";
82
+ };
83
+ export type AdminQuizSessionListItemStatusEnum = typeof AdminQuizSessionListItemStatusEnum[keyof typeof AdminQuizSessionListItemStatusEnum];
84
+ /**
85
+ * Check if a given object implements the AdminQuizSessionListItem interface.
86
+ */
87
+ export declare function instanceOfAdminQuizSessionListItem(value: object): value is AdminQuizSessionListItem;
88
+ export declare function AdminQuizSessionListItemFromJSON(json: any): AdminQuizSessionListItem;
89
+ export declare function AdminQuizSessionListItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminQuizSessionListItem;
90
+ export declare function AdminQuizSessionListItemToJSON(json: any): AdminQuizSessionListItem;
91
+ export declare function AdminQuizSessionListItemToJSONTyped(value?: AdminQuizSessionListItem | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,85 @@
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 { QuizFromJSON, QuizToJSON, } from './Quiz';
15
+ import { AdminQuizSessionScoreFromJSON, AdminQuizSessionScoreToJSON, } from './AdminQuizSessionScore';
16
+ /**
17
+ * @export
18
+ */
19
+ export const AdminQuizSessionListItemStatusEnum = {
20
+ Active: 'active',
21
+ Completed: 'completed',
22
+ Abandoned: 'abandoned'
23
+ };
24
+ /**
25
+ * Check if a given object implements the AdminQuizSessionListItem interface.
26
+ */
27
+ export function instanceOfAdminQuizSessionListItem(value) {
28
+ if (!('id' in value) || value['id'] === undefined)
29
+ return false;
30
+ if (!('quizId' in value) || value['quizId'] === undefined)
31
+ return false;
32
+ if (!('accountUserId' in value) || value['accountUserId'] === undefined)
33
+ return false;
34
+ if (!('userId' in value) || value['userId'] === undefined)
35
+ return false;
36
+ if (!('status' in value) || value['status'] === undefined)
37
+ return false;
38
+ if (!('startedAt' in value) || value['startedAt'] === undefined)
39
+ return false;
40
+ if (!('completedAt' in value) || value['completedAt'] === undefined)
41
+ return false;
42
+ if (!('quiz' in value) || value['quiz'] === undefined)
43
+ return false;
44
+ if (!('score' in value) || value['score'] === undefined)
45
+ return false;
46
+ return true;
47
+ }
48
+ export function AdminQuizSessionListItemFromJSON(json) {
49
+ return AdminQuizSessionListItemFromJSONTyped(json, false);
50
+ }
51
+ export function AdminQuizSessionListItemFromJSONTyped(json, ignoreDiscriminator) {
52
+ if (json == null) {
53
+ return json;
54
+ }
55
+ return {
56
+ 'id': json['id'],
57
+ 'quizId': json['quizId'],
58
+ 'accountUserId': json['accountUserId'],
59
+ 'userId': json['userId'],
60
+ 'status': json['status'],
61
+ 'startedAt': (new Date(json['startedAt'])),
62
+ 'completedAt': (json['completedAt'] == null ? null : new Date(json['completedAt'])),
63
+ 'quiz': QuizFromJSON(json['quiz']),
64
+ 'score': AdminQuizSessionScoreFromJSON(json['score']),
65
+ };
66
+ }
67
+ export function AdminQuizSessionListItemToJSON(json) {
68
+ return AdminQuizSessionListItemToJSONTyped(json, false);
69
+ }
70
+ export function AdminQuizSessionListItemToJSONTyped(value, ignoreDiscriminator = false) {
71
+ if (value == null) {
72
+ return value;
73
+ }
74
+ return {
75
+ 'id': value['id'],
76
+ 'quizId': value['quizId'],
77
+ 'accountUserId': value['accountUserId'],
78
+ 'userId': value['userId'],
79
+ 'status': value['status'],
80
+ 'startedAt': value['startedAt'].toISOString(),
81
+ 'completedAt': value['completedAt'] == null ? value['completedAt'] : value['completedAt'].toISOString(),
82
+ 'quiz': QuizToJSON(value['quiz']),
83
+ 'score': AdminQuizSessionScoreToJSON(value['score']),
84
+ };
85
+ }
@@ -0,0 +1,44 @@
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 AdminQuizSessionScore
16
+ */
17
+ export interface AdminQuizSessionScore {
18
+ /**
19
+ *
20
+ * @type {number}
21
+ * @memberof AdminQuizSessionScore
22
+ */
23
+ totalCorrect: number;
24
+ /**
25
+ *
26
+ * @type {number}
27
+ * @memberof AdminQuizSessionScore
28
+ */
29
+ totalQuestions: number;
30
+ /**
31
+ * Number of questions the user has answered in this session
32
+ * @type {number}
33
+ * @memberof AdminQuizSessionScore
34
+ */
35
+ answeredCount: number;
36
+ }
37
+ /**
38
+ * Check if a given object implements the AdminQuizSessionScore interface.
39
+ */
40
+ export declare function instanceOfAdminQuizSessionScore(value: object): value is AdminQuizSessionScore;
41
+ export declare function AdminQuizSessionScoreFromJSON(json: any): AdminQuizSessionScore;
42
+ export declare function AdminQuizSessionScoreFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminQuizSessionScore;
43
+ export declare function AdminQuizSessionScoreToJSON(json: any): AdminQuizSessionScore;
44
+ export declare function AdminQuizSessionScoreToJSONTyped(value?: AdminQuizSessionScore | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,51 @@
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 AdminQuizSessionScore interface.
16
+ */
17
+ export function instanceOfAdminQuizSessionScore(value) {
18
+ if (!('totalCorrect' in value) || value['totalCorrect'] === undefined)
19
+ return false;
20
+ if (!('totalQuestions' in value) || value['totalQuestions'] === undefined)
21
+ return false;
22
+ if (!('answeredCount' in value) || value['answeredCount'] === undefined)
23
+ return false;
24
+ return true;
25
+ }
26
+ export function AdminQuizSessionScoreFromJSON(json) {
27
+ return AdminQuizSessionScoreFromJSONTyped(json, false);
28
+ }
29
+ export function AdminQuizSessionScoreFromJSONTyped(json, ignoreDiscriminator) {
30
+ if (json == null) {
31
+ return json;
32
+ }
33
+ return {
34
+ 'totalCorrect': json['totalCorrect'],
35
+ 'totalQuestions': json['totalQuestions'],
36
+ 'answeredCount': json['answeredCount'],
37
+ };
38
+ }
39
+ export function AdminQuizSessionScoreToJSON(json) {
40
+ return AdminQuizSessionScoreToJSONTyped(json, false);
41
+ }
42
+ export function AdminQuizSessionScoreToJSONTyped(value, ignoreDiscriminator = false) {
43
+ if (value == null) {
44
+ return value;
45
+ }
46
+ return {
47
+ 'totalCorrect': value['totalCorrect'],
48
+ 'totalQuestions': value['totalQuestions'],
49
+ 'answeredCount': value['answeredCount'],
50
+ };
51
+ }
@@ -6,7 +6,10 @@ export * from './AdminChatWithStats';
6
6
  export * from './AdminCohortStats';
7
7
  export * from './AdminPaginatedActiveStreaks';
8
8
  export * from './AdminPaginatedChats';
9
+ export * from './AdminPaginatedQuizSessions';
9
10
  export * from './AdminPaginatedTaxonomyEnrollments';
11
+ export * from './AdminQuizSessionListItem';
12
+ export * from './AdminQuizSessionScore';
10
13
  export * from './AdminStreak';
11
14
  export * from './AdminTaxonomyEnrollment';
12
15
  export * from './AdminTaxonomyEnrollmentTaxonomy';
@@ -8,7 +8,10 @@ export * from './AdminChatWithStats';
8
8
  export * from './AdminCohortStats';
9
9
  export * from './AdminPaginatedActiveStreaks';
10
10
  export * from './AdminPaginatedChats';
11
+ export * from './AdminPaginatedQuizSessions';
11
12
  export * from './AdminPaginatedTaxonomyEnrollments';
13
+ export * from './AdminQuizSessionListItem';
14
+ export * from './AdminQuizSessionScore';
12
15
  export * from './AdminStreak';
13
16
  export * from './AdminTaxonomyEnrollment';
14
17
  export * from './AdminTaxonomyEnrollmentTaxonomy';
@@ -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 { AdminQuizSessionListItem } from './AdminQuizSessionListItem';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface AdminPaginatedQuizSessions
17
+ */
18
+ export interface AdminPaginatedQuizSessions {
19
+ /**
20
+ * Array of quiz session objects
21
+ * @type {Array<AdminQuizSessionListItem>}
22
+ * @memberof AdminPaginatedQuizSessions
23
+ */
24
+ data: Array<AdminQuizSessionListItem>;
25
+ /**
26
+ * Opaque cursor for fetching the next page. Null when there are no more results.
27
+ * @type {string}
28
+ * @memberof AdminPaginatedQuizSessions
29
+ */
30
+ nextCursor: string | null;
31
+ }
32
+ /**
33
+ * Check if a given object implements the AdminPaginatedQuizSessions interface.
34
+ */
35
+ export declare function instanceOfAdminPaginatedQuizSessions(value: object): value is AdminPaginatedQuizSessions;
36
+ export declare function AdminPaginatedQuizSessionsFromJSON(json: any): AdminPaginatedQuizSessions;
37
+ export declare function AdminPaginatedQuizSessionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminPaginatedQuizSessions;
38
+ export declare function AdminPaginatedQuizSessionsToJSON(json: any): AdminPaginatedQuizSessions;
39
+ export declare function AdminPaginatedQuizSessionsToJSONTyped(value?: AdminPaginatedQuizSessions | 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.instanceOfAdminPaginatedQuizSessions = instanceOfAdminPaginatedQuizSessions;
17
+ exports.AdminPaginatedQuizSessionsFromJSON = AdminPaginatedQuizSessionsFromJSON;
18
+ exports.AdminPaginatedQuizSessionsFromJSONTyped = AdminPaginatedQuizSessionsFromJSONTyped;
19
+ exports.AdminPaginatedQuizSessionsToJSON = AdminPaginatedQuizSessionsToJSON;
20
+ exports.AdminPaginatedQuizSessionsToJSONTyped = AdminPaginatedQuizSessionsToJSONTyped;
21
+ const AdminQuizSessionListItem_1 = require("./AdminQuizSessionListItem");
22
+ /**
23
+ * Check if a given object implements the AdminPaginatedQuizSessions interface.
24
+ */
25
+ function instanceOfAdminPaginatedQuizSessions(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 AdminPaginatedQuizSessionsFromJSON(json) {
33
+ return AdminPaginatedQuizSessionsFromJSONTyped(json, false);
34
+ }
35
+ function AdminPaginatedQuizSessionsFromJSONTyped(json, ignoreDiscriminator) {
36
+ if (json == null) {
37
+ return json;
38
+ }
39
+ return {
40
+ 'data': (json['data'].map(AdminQuizSessionListItem_1.AdminQuizSessionListItemFromJSON)),
41
+ 'nextCursor': json['nextCursor'],
42
+ };
43
+ }
44
+ function AdminPaginatedQuizSessionsToJSON(json) {
45
+ return AdminPaginatedQuizSessionsToJSONTyped(json, false);
46
+ }
47
+ function AdminPaginatedQuizSessionsToJSONTyped(value, ignoreDiscriminator = false) {
48
+ if (value == null) {
49
+ return value;
50
+ }
51
+ return {
52
+ 'data': (value['data'].map(AdminQuizSessionListItem_1.AdminQuizSessionListItemToJSON)),
53
+ 'nextCursor': value['nextCursor'],
54
+ };
55
+ }
@@ -0,0 +1,91 @@
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 { Quiz } from './Quiz';
13
+ import type { AdminQuizSessionScore } from './AdminQuizSessionScore';
14
+ /**
15
+ *
16
+ * @export
17
+ * @interface AdminQuizSessionListItem
18
+ */
19
+ export interface AdminQuizSessionListItem {
20
+ /**
21
+ *
22
+ * @type {string}
23
+ * @memberof AdminQuizSessionListItem
24
+ */
25
+ id: string;
26
+ /**
27
+ *
28
+ * @type {string}
29
+ * @memberof AdminQuizSessionListItem
30
+ */
31
+ quizId: string;
32
+ /**
33
+ *
34
+ * @type {string}
35
+ * @memberof AdminQuizSessionListItem
36
+ */
37
+ accountUserId: string;
38
+ /**
39
+ * External identifier of the user who owns the session
40
+ * @type {string}
41
+ * @memberof AdminQuizSessionListItem
42
+ */
43
+ userId: string | null;
44
+ /**
45
+ *
46
+ * @type {string}
47
+ * @memberof AdminQuizSessionListItem
48
+ */
49
+ status: AdminQuizSessionListItemStatusEnum;
50
+ /**
51
+ *
52
+ * @type {Date}
53
+ * @memberof AdminQuizSessionListItem
54
+ */
55
+ startedAt: Date;
56
+ /**
57
+ *
58
+ * @type {Date}
59
+ * @memberof AdminQuizSessionListItem
60
+ */
61
+ completedAt: Date | null;
62
+ /**
63
+ *
64
+ * @type {Quiz}
65
+ * @memberof AdminQuizSessionListItem
66
+ */
67
+ quiz: Quiz;
68
+ /**
69
+ *
70
+ * @type {AdminQuizSessionScore}
71
+ * @memberof AdminQuizSessionListItem
72
+ */
73
+ score: AdminQuizSessionScore;
74
+ }
75
+ /**
76
+ * @export
77
+ */
78
+ export declare const AdminQuizSessionListItemStatusEnum: {
79
+ readonly Active: "active";
80
+ readonly Completed: "completed";
81
+ readonly Abandoned: "abandoned";
82
+ };
83
+ export type AdminQuizSessionListItemStatusEnum = typeof AdminQuizSessionListItemStatusEnum[keyof typeof AdminQuizSessionListItemStatusEnum];
84
+ /**
85
+ * Check if a given object implements the AdminQuizSessionListItem interface.
86
+ */
87
+ export declare function instanceOfAdminQuizSessionListItem(value: object): value is AdminQuizSessionListItem;
88
+ export declare function AdminQuizSessionListItemFromJSON(json: any): AdminQuizSessionListItem;
89
+ export declare function AdminQuizSessionListItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminQuizSessionListItem;
90
+ export declare function AdminQuizSessionListItemToJSON(json: any): AdminQuizSessionListItem;
91
+ export declare function AdminQuizSessionListItemToJSONTyped(value?: AdminQuizSessionListItem | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,93 @@
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.AdminQuizSessionListItemStatusEnum = void 0;
17
+ exports.instanceOfAdminQuizSessionListItem = instanceOfAdminQuizSessionListItem;
18
+ exports.AdminQuizSessionListItemFromJSON = AdminQuizSessionListItemFromJSON;
19
+ exports.AdminQuizSessionListItemFromJSONTyped = AdminQuizSessionListItemFromJSONTyped;
20
+ exports.AdminQuizSessionListItemToJSON = AdminQuizSessionListItemToJSON;
21
+ exports.AdminQuizSessionListItemToJSONTyped = AdminQuizSessionListItemToJSONTyped;
22
+ const Quiz_1 = require("./Quiz");
23
+ const AdminQuizSessionScore_1 = require("./AdminQuizSessionScore");
24
+ /**
25
+ * @export
26
+ */
27
+ exports.AdminQuizSessionListItemStatusEnum = {
28
+ Active: 'active',
29
+ Completed: 'completed',
30
+ Abandoned: 'abandoned'
31
+ };
32
+ /**
33
+ * Check if a given object implements the AdminQuizSessionListItem interface.
34
+ */
35
+ function instanceOfAdminQuizSessionListItem(value) {
36
+ if (!('id' in value) || value['id'] === undefined)
37
+ return false;
38
+ if (!('quizId' in value) || value['quizId'] === undefined)
39
+ return false;
40
+ if (!('accountUserId' in value) || value['accountUserId'] === undefined)
41
+ return false;
42
+ if (!('userId' in value) || value['userId'] === undefined)
43
+ return false;
44
+ if (!('status' in value) || value['status'] === undefined)
45
+ return false;
46
+ if (!('startedAt' in value) || value['startedAt'] === undefined)
47
+ return false;
48
+ if (!('completedAt' in value) || value['completedAt'] === undefined)
49
+ return false;
50
+ if (!('quiz' in value) || value['quiz'] === undefined)
51
+ return false;
52
+ if (!('score' in value) || value['score'] === undefined)
53
+ return false;
54
+ return true;
55
+ }
56
+ function AdminQuizSessionListItemFromJSON(json) {
57
+ return AdminQuizSessionListItemFromJSONTyped(json, false);
58
+ }
59
+ function AdminQuizSessionListItemFromJSONTyped(json, ignoreDiscriminator) {
60
+ if (json == null) {
61
+ return json;
62
+ }
63
+ return {
64
+ 'id': json['id'],
65
+ 'quizId': json['quizId'],
66
+ 'accountUserId': json['accountUserId'],
67
+ 'userId': json['userId'],
68
+ 'status': json['status'],
69
+ 'startedAt': (new Date(json['startedAt'])),
70
+ 'completedAt': (json['completedAt'] == null ? null : new Date(json['completedAt'])),
71
+ 'quiz': (0, Quiz_1.QuizFromJSON)(json['quiz']),
72
+ 'score': (0, AdminQuizSessionScore_1.AdminQuizSessionScoreFromJSON)(json['score']),
73
+ };
74
+ }
75
+ function AdminQuizSessionListItemToJSON(json) {
76
+ return AdminQuizSessionListItemToJSONTyped(json, false);
77
+ }
78
+ function AdminQuizSessionListItemToJSONTyped(value, ignoreDiscriminator = false) {
79
+ if (value == null) {
80
+ return value;
81
+ }
82
+ return {
83
+ 'id': value['id'],
84
+ 'quizId': value['quizId'],
85
+ 'accountUserId': value['accountUserId'],
86
+ 'userId': value['userId'],
87
+ 'status': value['status'],
88
+ 'startedAt': value['startedAt'].toISOString(),
89
+ 'completedAt': value['completedAt'] == null ? value['completedAt'] : value['completedAt'].toISOString(),
90
+ 'quiz': (0, Quiz_1.QuizToJSON)(value['quiz']),
91
+ 'score': (0, AdminQuizSessionScore_1.AdminQuizSessionScoreToJSON)(value['score']),
92
+ };
93
+ }
@@ -0,0 +1,44 @@
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 AdminQuizSessionScore
16
+ */
17
+ export interface AdminQuizSessionScore {
18
+ /**
19
+ *
20
+ * @type {number}
21
+ * @memberof AdminQuizSessionScore
22
+ */
23
+ totalCorrect: number;
24
+ /**
25
+ *
26
+ * @type {number}
27
+ * @memberof AdminQuizSessionScore
28
+ */
29
+ totalQuestions: number;
30
+ /**
31
+ * Number of questions the user has answered in this session
32
+ * @type {number}
33
+ * @memberof AdminQuizSessionScore
34
+ */
35
+ answeredCount: number;
36
+ }
37
+ /**
38
+ * Check if a given object implements the AdminQuizSessionScore interface.
39
+ */
40
+ export declare function instanceOfAdminQuizSessionScore(value: object): value is AdminQuizSessionScore;
41
+ export declare function AdminQuizSessionScoreFromJSON(json: any): AdminQuizSessionScore;
42
+ export declare function AdminQuizSessionScoreFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminQuizSessionScore;
43
+ export declare function AdminQuizSessionScoreToJSON(json: any): AdminQuizSessionScore;
44
+ export declare function AdminQuizSessionScoreToJSONTyped(value?: AdminQuizSessionScore | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,58 @@
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.instanceOfAdminQuizSessionScore = instanceOfAdminQuizSessionScore;
17
+ exports.AdminQuizSessionScoreFromJSON = AdminQuizSessionScoreFromJSON;
18
+ exports.AdminQuizSessionScoreFromJSONTyped = AdminQuizSessionScoreFromJSONTyped;
19
+ exports.AdminQuizSessionScoreToJSON = AdminQuizSessionScoreToJSON;
20
+ exports.AdminQuizSessionScoreToJSONTyped = AdminQuizSessionScoreToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the AdminQuizSessionScore interface.
23
+ */
24
+ function instanceOfAdminQuizSessionScore(value) {
25
+ if (!('totalCorrect' in value) || value['totalCorrect'] === undefined)
26
+ return false;
27
+ if (!('totalQuestions' in value) || value['totalQuestions'] === undefined)
28
+ return false;
29
+ if (!('answeredCount' in value) || value['answeredCount'] === undefined)
30
+ return false;
31
+ return true;
32
+ }
33
+ function AdminQuizSessionScoreFromJSON(json) {
34
+ return AdminQuizSessionScoreFromJSONTyped(json, false);
35
+ }
36
+ function AdminQuizSessionScoreFromJSONTyped(json, ignoreDiscriminator) {
37
+ if (json == null) {
38
+ return json;
39
+ }
40
+ return {
41
+ 'totalCorrect': json['totalCorrect'],
42
+ 'totalQuestions': json['totalQuestions'],
43
+ 'answeredCount': json['answeredCount'],
44
+ };
45
+ }
46
+ function AdminQuizSessionScoreToJSON(json) {
47
+ return AdminQuizSessionScoreToJSONTyped(json, false);
48
+ }
49
+ function AdminQuizSessionScoreToJSONTyped(value, ignoreDiscriminator = false) {
50
+ if (value == null) {
51
+ return value;
52
+ }
53
+ return {
54
+ 'totalCorrect': value['totalCorrect'],
55
+ 'totalQuestions': value['totalQuestions'],
56
+ 'answeredCount': value['answeredCount'],
57
+ };
58
+ }
@@ -6,7 +6,10 @@ export * from './AdminChatWithStats';
6
6
  export * from './AdminCohortStats';
7
7
  export * from './AdminPaginatedActiveStreaks';
8
8
  export * from './AdminPaginatedChats';
9
+ export * from './AdminPaginatedQuizSessions';
9
10
  export * from './AdminPaginatedTaxonomyEnrollments';
11
+ export * from './AdminQuizSessionListItem';
12
+ export * from './AdminQuizSessionScore';
10
13
  export * from './AdminStreak';
11
14
  export * from './AdminTaxonomyEnrollment';
12
15
  export * from './AdminTaxonomyEnrollmentTaxonomy';
@@ -24,7 +24,10 @@ __exportStar(require("./AdminChatWithStats"), exports);
24
24
  __exportStar(require("./AdminCohortStats"), exports);
25
25
  __exportStar(require("./AdminPaginatedActiveStreaks"), exports);
26
26
  __exportStar(require("./AdminPaginatedChats"), exports);
27
+ __exportStar(require("./AdminPaginatedQuizSessions"), exports);
27
28
  __exportStar(require("./AdminPaginatedTaxonomyEnrollments"), exports);
29
+ __exportStar(require("./AdminQuizSessionListItem"), exports);
30
+ __exportStar(require("./AdminQuizSessionScore"), exports);
28
31
  __exportStar(require("./AdminStreak"), exports);
29
32
  __exportStar(require("./AdminTaxonomyEnrollment"), exports);
30
33
  __exportStar(require("./AdminTaxonomyEnrollmentTaxonomy"), exports);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@instructure/athena-api-client",
3
3
  "private": false,
4
- "version": "3.9.2",
4
+ "version": "3.10.1",
5
5
  "description": "OpenAPI client for the Athena API",
6
6
  "author": "Instructure",
7
7
  "repository": {