@instructure/athena-api-client 1.0.7 → 1.0.9

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 (66) hide show
  1. package/README.md +15 -0
  2. package/dist/apis/QuizSessionsApi.d.ts +76 -0
  3. package/dist/apis/QuizSessionsApi.js +207 -0
  4. package/dist/apis/QuizzesApi.d.ts +32 -0
  5. package/dist/apis/QuizzesApi.js +74 -0
  6. package/dist/apis/index.d.ts +2 -0
  7. package/dist/apis/index.js +2 -0
  8. package/dist/esm/apis/QuizSessionsApi.d.ts +76 -0
  9. package/dist/esm/apis/QuizSessionsApi.js +203 -0
  10. package/dist/esm/apis/QuizzesApi.d.ts +32 -0
  11. package/dist/esm/apis/QuizzesApi.js +70 -0
  12. package/dist/esm/apis/index.d.ts +2 -0
  13. package/dist/esm/apis/index.js +2 -0
  14. package/dist/esm/models/ChatRequestAttachmentsInner.d.ts +6 -0
  15. package/dist/esm/models/ChatRequestAttachmentsInner.js +4 -0
  16. package/dist/esm/models/MessageAttachmentsInner.d.ts +6 -0
  17. package/dist/esm/models/MessageAttachmentsInner.js +4 -0
  18. package/dist/esm/models/Quiz.d.ts +76 -0
  19. package/dist/esm/models/Quiz.js +72 -0
  20. package/dist/esm/models/QuizQuestion.d.ts +103 -0
  21. package/dist/esm/models/QuizQuestion.js +85 -0
  22. package/dist/esm/models/QuizResponse.d.ts +76 -0
  23. package/dist/esm/models/QuizResponse.js +70 -0
  24. package/dist/esm/models/QuizSession.d.ts +71 -0
  25. package/dist/esm/models/QuizSession.js +69 -0
  26. package/dist/esm/models/QuizSessionSummary.d.ts +61 -0
  27. package/dist/esm/models/QuizSessionSummary.js +64 -0
  28. package/dist/esm/models/QuizSessionSummaryScore.d.ts +47 -0
  29. package/dist/esm/models/QuizSessionSummaryScore.js +53 -0
  30. package/dist/esm/models/QuizWithQuestions.d.ts +83 -0
  31. package/dist/esm/models/QuizWithQuestions.js +77 -0
  32. package/dist/esm/models/ScoreByTypeValue.d.ts +38 -0
  33. package/dist/esm/models/ScoreByTypeValue.js +47 -0
  34. package/dist/esm/models/SubmitQuizResponseRequest.d.ts +58 -0
  35. package/dist/esm/models/SubmitQuizResponseRequest.js +58 -0
  36. package/dist/esm/models/UpdateQuizSessionRequest.d.ts +40 -0
  37. package/dist/esm/models/UpdateQuizSessionRequest.js +50 -0
  38. package/dist/esm/models/index.d.ts +10 -0
  39. package/dist/esm/models/index.js +10 -0
  40. package/dist/models/ChatRequestAttachmentsInner.d.ts +6 -0
  41. package/dist/models/ChatRequestAttachmentsInner.js +4 -0
  42. package/dist/models/MessageAttachmentsInner.d.ts +6 -0
  43. package/dist/models/MessageAttachmentsInner.js +4 -0
  44. package/dist/models/Quiz.d.ts +76 -0
  45. package/dist/models/Quiz.js +80 -0
  46. package/dist/models/QuizQuestion.d.ts +103 -0
  47. package/dist/models/QuizQuestion.js +93 -0
  48. package/dist/models/QuizResponse.d.ts +76 -0
  49. package/dist/models/QuizResponse.js +78 -0
  50. package/dist/models/QuizSession.d.ts +71 -0
  51. package/dist/models/QuizSession.js +77 -0
  52. package/dist/models/QuizSessionSummary.d.ts +61 -0
  53. package/dist/models/QuizSessionSummary.js +71 -0
  54. package/dist/models/QuizSessionSummaryScore.d.ts +47 -0
  55. package/dist/models/QuizSessionSummaryScore.js +60 -0
  56. package/dist/models/QuizWithQuestions.d.ts +83 -0
  57. package/dist/models/QuizWithQuestions.js +85 -0
  58. package/dist/models/ScoreByTypeValue.d.ts +38 -0
  59. package/dist/models/ScoreByTypeValue.js +54 -0
  60. package/dist/models/SubmitQuizResponseRequest.d.ts +58 -0
  61. package/dist/models/SubmitQuizResponseRequest.js +66 -0
  62. package/dist/models/UpdateQuizSessionRequest.d.ts +40 -0
  63. package/dist/models/UpdateQuizSessionRequest.js +58 -0
  64. package/dist/models/index.d.ts +10 -0
  65. package/dist/models/index.js +10 -0
  66. package/package.json +1 -1
package/README.md CHANGED
@@ -72,6 +72,11 @@ All URIs are relative to *http://localhost:3000*
72
72
  *MessagesApi* | [**getChatMessage**](docs/MessagesApi.md#getchatmessage) | **GET** /api/v1/chats/{chatId}/messages/{messageId} | Get a chat message
73
73
  *MessagesApi* | [**getChatMessages**](docs/MessagesApi.md#getchatmessages) | **GET** /api/v1/chats/{chatId}/messages | List chat messages
74
74
  *MessagesApi* | [**getMessageCount**](docs/MessagesApi.md#getmessagecount) | **GET** /api/v1/messages/count | Count user messages
75
+ *QuizSessionsApi* | [**createQuizSession**](docs/QuizSessionsApi.md#createquizsession) | **POST** /api/v1/quizzes/{quizId}/sessions | Create a quiz session
76
+ *QuizSessionsApi* | [**getQuizSessionSummary**](docs/QuizSessionsApi.md#getquizsessionsummary) | **GET** /api/v1/quiz-sessions/{sessionId}/summary | Get quiz session summary
77
+ *QuizSessionsApi* | [**submitQuizResponse**](docs/QuizSessionsApi.md#submitquizresponseoperation) | **POST** /api/v1/quiz-sessions/{sessionId}/responses | Submit a quiz response
78
+ *QuizSessionsApi* | [**updateQuizSession**](docs/QuizSessionsApi.md#updatequizsessionoperation) | **PATCH** /api/v1/quiz-sessions/{sessionId} | Update quiz session status
79
+ *QuizzesApi* | [**getQuiz**](docs/QuizzesApi.md#getquiz) | **GET** /api/v1/quizzes/{quizId} | Get quiz with questions
75
80
  *ServiceTokensApi* | [**createServiceToken**](docs/ServiceTokensApi.md#createservicetoken) | **POST** /api/v1/tokens | Create a new service token
76
81
  *ServiceTokensApi* | [**deleteServiceToken**](docs/ServiceTokensApi.md#deleteservicetoken) | **DELETE** /api/v1/tokens/{id} | Delete service token
77
82
  *ServiceTokensApi* | [**getServiceToken**](docs/ServiceTokensApi.md#getservicetoken) | **GET** /api/v1/tokens/{id} | Get service token by ID
@@ -102,9 +107,19 @@ All URIs are relative to *http://localhost:3000*
102
107
  - [PaginatedChats](docs/PaginatedChats.md)
103
108
  - [PaginatedLearningMoments](docs/PaginatedLearningMoments.md)
104
109
  - [PaginatedMessages](docs/PaginatedMessages.md)
110
+ - [Quiz](docs/Quiz.md)
111
+ - [QuizQuestion](docs/QuizQuestion.md)
112
+ - [QuizResponse](docs/QuizResponse.md)
113
+ - [QuizSession](docs/QuizSession.md)
114
+ - [QuizSessionSummary](docs/QuizSessionSummary.md)
115
+ - [QuizSessionSummaryScore](docs/QuizSessionSummaryScore.md)
116
+ - [QuizWithQuestions](docs/QuizWithQuestions.md)
117
+ - [ScoreByTypeValue](docs/ScoreByTypeValue.md)
105
118
  - [ServiceToken](docs/ServiceToken.md)
119
+ - [SubmitQuizResponseRequest](docs/SubmitQuizResponseRequest.md)
106
120
  - [Tag](docs/Tag.md)
107
121
  - [UpdateChatRequest](docs/UpdateChatRequest.md)
122
+ - [UpdateQuizSessionRequest](docs/UpdateQuizSessionRequest.md)
108
123
  - [UpdateTokenRequest](docs/UpdateTokenRequest.md)
109
124
  - [UpdateTokenResponse](docs/UpdateTokenResponse.md)
110
125
  - [UploadUrlRequest](docs/UploadUrlRequest.md)
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import * as runtime from '../runtime';
13
+ import type { QuizResponse, QuizSession, QuizSessionSummary, SubmitQuizResponseRequest, UpdateQuizSessionRequest } from '../models/index';
14
+ export interface CreateQuizSessionRequest {
15
+ xUserId: string;
16
+ quizId: string;
17
+ }
18
+ export interface GetQuizSessionSummaryRequest {
19
+ xUserId: string;
20
+ sessionId: string;
21
+ }
22
+ export interface SubmitQuizResponseOperationRequest {
23
+ xUserId: string;
24
+ sessionId: string;
25
+ submitQuizResponseRequest: SubmitQuizResponseRequest;
26
+ }
27
+ export interface UpdateQuizSessionOperationRequest {
28
+ xUserId: string;
29
+ sessionId: string;
30
+ updateQuizSessionRequest: UpdateQuizSessionRequest;
31
+ }
32
+ /**
33
+ *
34
+ */
35
+ export declare class QuizSessionsApi extends runtime.BaseAPI {
36
+ /**
37
+ * Creates a new session for taking a quiz. Only the quiz owner can create sessions.
38
+ * Create a quiz session
39
+ */
40
+ createQuizSessionRaw(requestParameters: CreateQuizSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QuizSession>>;
41
+ /**
42
+ * Creates a new session for taking a quiz. Only the quiz owner can create sessions.
43
+ * Create a quiz session
44
+ */
45
+ createQuizSession(requestParameters: CreateQuizSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QuizSession>;
46
+ /**
47
+ * Returns the session summary with quiz details, questions, responses, and score breakdown.
48
+ * Get quiz session summary
49
+ */
50
+ getQuizSessionSummaryRaw(requestParameters: GetQuizSessionSummaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QuizSessionSummary>>;
51
+ /**
52
+ * Returns the session summary with quiz details, questions, responses, and score breakdown.
53
+ * Get quiz session summary
54
+ */
55
+ getQuizSessionSummary(requestParameters: GetQuizSessionSummaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QuizSessionSummary>;
56
+ /**
57
+ * Submits an answer for a question within a quiz session.
58
+ * Submit a quiz response
59
+ */
60
+ submitQuizResponseRaw(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QuizResponse>>;
61
+ /**
62
+ * Submits an answer for a question within a quiz session.
63
+ * Submit a quiz response
64
+ */
65
+ submitQuizResponse(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QuizResponse>;
66
+ /**
67
+ * Updates the status of a quiz session. Sets completedAt when status is \"completed\".
68
+ * Update quiz session status
69
+ */
70
+ updateQuizSessionRaw(requestParameters: UpdateQuizSessionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QuizSession>>;
71
+ /**
72
+ * Updates the status of a quiz session. Sets completedAt when status is \"completed\".
73
+ * Update quiz session status
74
+ */
75
+ updateQuizSession(requestParameters: UpdateQuizSessionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QuizSession>;
76
+ }
@@ -0,0 +1,207 @@
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.QuizSessionsApi = void 0;
26
+ const runtime = require("../runtime");
27
+ const index_1 = require("../models/index");
28
+ /**
29
+ *
30
+ */
31
+ class QuizSessionsApi extends runtime.BaseAPI {
32
+ /**
33
+ * Creates a new session for taking a quiz. Only the quiz owner can create sessions.
34
+ * Create a quiz session
35
+ */
36
+ createQuizSessionRaw(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 createQuizSession().');
40
+ }
41
+ if (requestParameters['quizId'] == null) {
42
+ throw new runtime.RequiredError('quizId', 'Required parameter "quizId" was null or undefined when calling createQuizSession().');
43
+ }
44
+ const queryParameters = {};
45
+ const headerParameters = {};
46
+ if (requestParameters['xUserId'] != null) {
47
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
48
+ }
49
+ if (this.configuration && this.configuration.apiKey) {
50
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
51
+ }
52
+ let urlPath = `/api/v1/quizzes/{quizId}/sessions`;
53
+ urlPath = urlPath.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId'])));
54
+ const response = yield this.request({
55
+ path: urlPath,
56
+ method: 'POST',
57
+ headers: headerParameters,
58
+ query: queryParameters,
59
+ }, initOverrides);
60
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.QuizSessionFromJSON)(jsonValue));
61
+ });
62
+ }
63
+ /**
64
+ * Creates a new session for taking a quiz. Only the quiz owner can create sessions.
65
+ * Create a quiz session
66
+ */
67
+ createQuizSession(requestParameters, initOverrides) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ const response = yield this.createQuizSessionRaw(requestParameters, initOverrides);
70
+ return yield response.value();
71
+ });
72
+ }
73
+ /**
74
+ * Returns the session summary with quiz details, questions, responses, and score breakdown.
75
+ * Get quiz session summary
76
+ */
77
+ getQuizSessionSummaryRaw(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 getQuizSessionSummary().');
81
+ }
82
+ if (requestParameters['sessionId'] == null) {
83
+ throw new runtime.RequiredError('sessionId', 'Required parameter "sessionId" was null or undefined when calling getQuizSessionSummary().');
84
+ }
85
+ const queryParameters = {};
86
+ const headerParameters = {};
87
+ if (requestParameters['xUserId'] != null) {
88
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
89
+ }
90
+ if (this.configuration && this.configuration.apiKey) {
91
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
92
+ }
93
+ let urlPath = `/api/v1/quiz-sessions/{sessionId}/summary`;
94
+ urlPath = urlPath.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters['sessionId'])));
95
+ const response = yield this.request({
96
+ path: urlPath,
97
+ method: 'GET',
98
+ headers: headerParameters,
99
+ query: queryParameters,
100
+ }, initOverrides);
101
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.QuizSessionSummaryFromJSON)(jsonValue));
102
+ });
103
+ }
104
+ /**
105
+ * Returns the session summary with quiz details, questions, responses, and score breakdown.
106
+ * Get quiz session summary
107
+ */
108
+ getQuizSessionSummary(requestParameters, initOverrides) {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ const response = yield this.getQuizSessionSummaryRaw(requestParameters, initOverrides);
111
+ return yield response.value();
112
+ });
113
+ }
114
+ /**
115
+ * Submits an answer for a question within a quiz session.
116
+ * Submit a quiz response
117
+ */
118
+ submitQuizResponseRaw(requestParameters, initOverrides) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ if (requestParameters['xUserId'] == null) {
121
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling submitQuizResponse().');
122
+ }
123
+ if (requestParameters['sessionId'] == null) {
124
+ throw new runtime.RequiredError('sessionId', 'Required parameter "sessionId" was null or undefined when calling submitQuizResponse().');
125
+ }
126
+ if (requestParameters['submitQuizResponseRequest'] == null) {
127
+ throw new runtime.RequiredError('submitQuizResponseRequest', 'Required parameter "submitQuizResponseRequest" was null or undefined when calling submitQuizResponse().');
128
+ }
129
+ const queryParameters = {};
130
+ const headerParameters = {};
131
+ headerParameters['Content-Type'] = 'application/json';
132
+ if (requestParameters['xUserId'] != null) {
133
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
134
+ }
135
+ if (this.configuration && this.configuration.apiKey) {
136
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
137
+ }
138
+ let urlPath = `/api/v1/quiz-sessions/{sessionId}/responses`;
139
+ urlPath = urlPath.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters['sessionId'])));
140
+ const response = yield this.request({
141
+ path: urlPath,
142
+ method: 'POST',
143
+ headers: headerParameters,
144
+ query: queryParameters,
145
+ body: (0, index_1.SubmitQuizResponseRequestToJSON)(requestParameters['submitQuizResponseRequest']),
146
+ }, initOverrides);
147
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.QuizResponseFromJSON)(jsonValue));
148
+ });
149
+ }
150
+ /**
151
+ * Submits an answer for a question within a quiz session.
152
+ * Submit a quiz response
153
+ */
154
+ submitQuizResponse(requestParameters, initOverrides) {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ const response = yield this.submitQuizResponseRaw(requestParameters, initOverrides);
157
+ return yield response.value();
158
+ });
159
+ }
160
+ /**
161
+ * Updates the status of a quiz session. Sets completedAt when status is \"completed\".
162
+ * Update quiz session status
163
+ */
164
+ updateQuizSessionRaw(requestParameters, initOverrides) {
165
+ return __awaiter(this, void 0, void 0, function* () {
166
+ if (requestParameters['xUserId'] == null) {
167
+ throw new runtime.RequiredError('xUserId', 'Required parameter "xUserId" was null or undefined when calling updateQuizSession().');
168
+ }
169
+ if (requestParameters['sessionId'] == null) {
170
+ throw new runtime.RequiredError('sessionId', 'Required parameter "sessionId" was null or undefined when calling updateQuizSession().');
171
+ }
172
+ if (requestParameters['updateQuizSessionRequest'] == null) {
173
+ throw new runtime.RequiredError('updateQuizSessionRequest', 'Required parameter "updateQuizSessionRequest" was null or undefined when calling updateQuizSession().');
174
+ }
175
+ const queryParameters = {};
176
+ const headerParameters = {};
177
+ headerParameters['Content-Type'] = 'application/json';
178
+ if (requestParameters['xUserId'] != null) {
179
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
180
+ }
181
+ if (this.configuration && this.configuration.apiKey) {
182
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
183
+ }
184
+ let urlPath = `/api/v1/quiz-sessions/{sessionId}`;
185
+ urlPath = urlPath.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters['sessionId'])));
186
+ const response = yield this.request({
187
+ path: urlPath,
188
+ method: 'PATCH',
189
+ headers: headerParameters,
190
+ query: queryParameters,
191
+ body: (0, index_1.UpdateQuizSessionRequestToJSON)(requestParameters['updateQuizSessionRequest']),
192
+ }, initOverrides);
193
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.QuizSessionFromJSON)(jsonValue));
194
+ });
195
+ }
196
+ /**
197
+ * Updates the status of a quiz session. Sets completedAt when status is \"completed\".
198
+ * Update quiz session status
199
+ */
200
+ updateQuizSession(requestParameters, initOverrides) {
201
+ return __awaiter(this, void 0, void 0, function* () {
202
+ const response = yield this.updateQuizSessionRaw(requestParameters, initOverrides);
203
+ return yield response.value();
204
+ });
205
+ }
206
+ }
207
+ exports.QuizSessionsApi = QuizSessionsApi;
@@ -0,0 +1,32 @@
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 { QuizWithQuestions } from '../models/index';
14
+ export interface GetQuizRequest {
15
+ xUserId: string;
16
+ quizId: string;
17
+ }
18
+ /**
19
+ *
20
+ */
21
+ export declare class QuizzesApi extends runtime.BaseAPI {
22
+ /**
23
+ * Returns a quiz and its questions. Only accessible by the quiz owner.
24
+ * Get quiz with questions
25
+ */
26
+ getQuizRaw(requestParameters: GetQuizRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QuizWithQuestions>>;
27
+ /**
28
+ * Returns a quiz and its questions. Only accessible by the quiz owner.
29
+ * Get quiz with questions
30
+ */
31
+ getQuiz(requestParameters: GetQuizRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QuizWithQuestions>;
32
+ }
@@ -0,0 +1,74 @@
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.QuizzesApi = void 0;
26
+ const runtime = require("../runtime");
27
+ const index_1 = require("../models/index");
28
+ /**
29
+ *
30
+ */
31
+ class QuizzesApi extends runtime.BaseAPI {
32
+ /**
33
+ * Returns a quiz and its questions. Only accessible by the quiz owner.
34
+ * Get quiz with questions
35
+ */
36
+ getQuizRaw(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 getQuiz().');
40
+ }
41
+ if (requestParameters['quizId'] == null) {
42
+ throw new runtime.RequiredError('quizId', 'Required parameter "quizId" was null or undefined when calling getQuiz().');
43
+ }
44
+ const queryParameters = {};
45
+ const headerParameters = {};
46
+ if (requestParameters['xUserId'] != null) {
47
+ headerParameters['X-User-Id'] = String(requestParameters['xUserId']);
48
+ }
49
+ if (this.configuration && this.configuration.apiKey) {
50
+ headerParameters["X-Auth-Token"] = yield this.configuration.apiKey("X-Auth-Token"); // AuthToken authentication
51
+ }
52
+ let urlPath = `/api/v1/quizzes/{quizId}`;
53
+ urlPath = urlPath.replace(`{${"quizId"}}`, encodeURIComponent(String(requestParameters['quizId'])));
54
+ const response = yield this.request({
55
+ path: urlPath,
56
+ method: 'GET',
57
+ headers: headerParameters,
58
+ query: queryParameters,
59
+ }, initOverrides);
60
+ return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.QuizWithQuestionsFromJSON)(jsonValue));
61
+ });
62
+ }
63
+ /**
64
+ * Returns a quiz and its questions. Only accessible by the quiz owner.
65
+ * Get quiz with questions
66
+ */
67
+ getQuiz(requestParameters, initOverrides) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ const response = yield this.getQuizRaw(requestParameters, initOverrides);
70
+ return yield response.value();
71
+ });
72
+ }
73
+ }
74
+ exports.QuizzesApi = QuizzesApi;
@@ -6,5 +6,7 @@ export * from './LearningDaysApi';
6
6
  export * from './LearningMomentsApi';
7
7
  export * from './LearningStreakApi';
8
8
  export * from './MessagesApi';
9
+ export * from './QuizSessionsApi';
10
+ export * from './QuizzesApi';
9
11
  export * from './ServiceTokensApi';
10
12
  export * from './TagsApi';
@@ -24,5 +24,7 @@ __exportStar(require("./LearningDaysApi"), exports);
24
24
  __exportStar(require("./LearningMomentsApi"), exports);
25
25
  __exportStar(require("./LearningStreakApi"), exports);
26
26
  __exportStar(require("./MessagesApi"), exports);
27
+ __exportStar(require("./QuizSessionsApi"), exports);
28
+ __exportStar(require("./QuizzesApi"), exports);
27
29
  __exportStar(require("./ServiceTokensApi"), exports);
28
30
  __exportStar(require("./TagsApi"), exports);
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Athena API
3
+ * REST API for the Athena system
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import * as runtime from '../runtime';
13
+ import type { QuizResponse, QuizSession, QuizSessionSummary, SubmitQuizResponseRequest, UpdateQuizSessionRequest } from '../models/index';
14
+ export interface CreateQuizSessionRequest {
15
+ xUserId: string;
16
+ quizId: string;
17
+ }
18
+ export interface GetQuizSessionSummaryRequest {
19
+ xUserId: string;
20
+ sessionId: string;
21
+ }
22
+ export interface SubmitQuizResponseOperationRequest {
23
+ xUserId: string;
24
+ sessionId: string;
25
+ submitQuizResponseRequest: SubmitQuizResponseRequest;
26
+ }
27
+ export interface UpdateQuizSessionOperationRequest {
28
+ xUserId: string;
29
+ sessionId: string;
30
+ updateQuizSessionRequest: UpdateQuizSessionRequest;
31
+ }
32
+ /**
33
+ *
34
+ */
35
+ export declare class QuizSessionsApi extends runtime.BaseAPI {
36
+ /**
37
+ * Creates a new session for taking a quiz. Only the quiz owner can create sessions.
38
+ * Create a quiz session
39
+ */
40
+ createQuizSessionRaw(requestParameters: CreateQuizSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QuizSession>>;
41
+ /**
42
+ * Creates a new session for taking a quiz. Only the quiz owner can create sessions.
43
+ * Create a quiz session
44
+ */
45
+ createQuizSession(requestParameters: CreateQuizSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QuizSession>;
46
+ /**
47
+ * Returns the session summary with quiz details, questions, responses, and score breakdown.
48
+ * Get quiz session summary
49
+ */
50
+ getQuizSessionSummaryRaw(requestParameters: GetQuizSessionSummaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QuizSessionSummary>>;
51
+ /**
52
+ * Returns the session summary with quiz details, questions, responses, and score breakdown.
53
+ * Get quiz session summary
54
+ */
55
+ getQuizSessionSummary(requestParameters: GetQuizSessionSummaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QuizSessionSummary>;
56
+ /**
57
+ * Submits an answer for a question within a quiz session.
58
+ * Submit a quiz response
59
+ */
60
+ submitQuizResponseRaw(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QuizResponse>>;
61
+ /**
62
+ * Submits an answer for a question within a quiz session.
63
+ * Submit a quiz response
64
+ */
65
+ submitQuizResponse(requestParameters: SubmitQuizResponseOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QuizResponse>;
66
+ /**
67
+ * Updates the status of a quiz session. Sets completedAt when status is \"completed\".
68
+ * Update quiz session status
69
+ */
70
+ updateQuizSessionRaw(requestParameters: UpdateQuizSessionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QuizSession>>;
71
+ /**
72
+ * Updates the status of a quiz session. Sets completedAt when status is \"completed\".
73
+ * Update quiz session status
74
+ */
75
+ updateQuizSession(requestParameters: UpdateQuizSessionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QuizSession>;
76
+ }