Skip to content

Commit a1fc4b6

Browse files
committed
Release 0.0.8
1 parent 7c8e470 commit a1fc4b6

74 files changed

Lines changed: 399 additions & 864 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@fern-api/codecombat",
3-
"version": "0.0.7",
3+
"version": "0.0.8",
44
"repository": "https://github.com/fern-codecombat/codecombat-node",
55
"files": [
66
"dist",

src/api/resources/auth/client/Client.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,23 @@ export class Client {
2222
* Logs a user in.
2323
*/
2424
public async get(request: CodeCombatApi.LoginUserRequest): Promise<void> {
25+
const { provider, accessToken, code, redirect, errorRedirect } = request;
2526
const _queryParams = new URLSearchParams();
26-
_queryParams.append("provider", request.provider);
27-
if (request.accessToken != null) {
28-
_queryParams.append("accessToken", request.accessToken);
27+
_queryParams.append("provider", provider);
28+
if (accessToken != null) {
29+
_queryParams.append("accessToken", accessToken);
2930
}
3031

31-
if (request.code != null) {
32-
_queryParams.append("code", request.code);
32+
if (code != null) {
33+
_queryParams.append("code", code);
3334
}
3435

35-
if (request.redirect != null) {
36-
_queryParams.append("redirect", request.redirect);
36+
if (redirect != null) {
37+
_queryParams.append("redirect", redirect);
3738
}
3839

39-
if (request.errorRedirect != null) {
40-
_queryParams.append("errorRedirect", request.errorRedirect);
40+
if (errorRedirect != null) {
41+
_queryParams.append("errorRedirect", errorRedirect);
4142
}
4243

4344
const _response = await core.fetcher({
@@ -58,15 +59,15 @@ export class Client {
5859
if (_response.error.reason === "status-code") {
5960
throw new errors.CodeCombatApiError({
6061
statusCode: _response.error.statusCode,
61-
responseBody: _response.error.rawBody,
62+
body: _response.error.body,
6263
});
6364
}
6465

6566
switch (_response.error.reason) {
6667
case "non-json":
6768
throw new errors.CodeCombatApiError({
6869
statusCode: _response.error.statusCode,
69-
responseBody: _response.error.rawBody,
70+
body: _response.error.rawBody,
7071
});
7172
case "timeout":
7273
throw new errors.CodeCombatApiTimeoutError();

src/api/resources/clans/client/Client.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,26 +32,24 @@ export class Client {
3232
headers: {
3333
Authorization: core.BasicAuth.toAuthorizationHeader(await core.Supplier.get(this.options.credentials)),
3434
},
35-
body: await serializers.clans.put.Request.json({
36-
userId: request.userId,
37-
}),
35+
body: await serializers.ClanRequest.json(request),
3836
});
3937
if (_response.ok) {
40-
return await serializers.clans.put.Response.parse(_response.body as serializers.clans.put.Response.Raw);
38+
return await serializers.ClanResponse.parse(_response.body as serializers.ClanResponse.Raw);
4139
}
4240

4341
if (_response.error.reason === "status-code") {
4442
throw new errors.CodeCombatApiError({
4543
statusCode: _response.error.statusCode,
46-
responseBody: _response.error.rawBody,
44+
body: _response.error.body,
4745
});
4846
}
4947

5048
switch (_response.error.reason) {
5149
case "non-json":
5250
throw new errors.CodeCombatApiError({
5351
statusCode: _response.error.statusCode,
54-
responseBody: _response.error.rawBody,
52+
body: _response.error.rawBody,
5553
});
5654
case "timeout":
5755
throw new errors.CodeCombatApiTimeoutError();
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
export * from "./requests";
2-
export * as put from "./put";

src/api/resources/clans/client/put.ts

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/api/resources/classrooms/client/Client.ts

Lines changed: 45 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@ export class Client {
2323
* Returns the classroom details for a class code.
2424
*/
2525
public async get(request: CodeCombatApi.GetClassroomRequest): Promise<CodeCombatApi.ClassroomResponseWithCode> {
26+
const { code, retMemberLimit } = request;
2627
const _queryParams = new URLSearchParams();
27-
_queryParams.append("code", request.code);
28-
if (request.retMemberLimit != null) {
29-
_queryParams.append("retMemberLimit", request.retMemberLimit.toString());
28+
_queryParams.append("code", code);
29+
if (retMemberLimit != null) {
30+
_queryParams.append("retMemberLimit", retMemberLimit.toString());
3031
}
3132

3233
const _response = await core.fetcher({
@@ -38,23 +39,23 @@ export class Client {
3839
queryParameters: _queryParams,
3940
});
4041
if (_response.ok) {
41-
return await serializers.classrooms.get.Response.parse(
42-
_response.body as serializers.classrooms.get.Response.Raw
42+
return await serializers.ClassroomResponseWithCode.parse(
43+
_response.body as serializers.ClassroomResponseWithCode.Raw
4344
);
4445
}
4546

4647
if (_response.error.reason === "status-code") {
4748
throw new errors.CodeCombatApiError({
4849
statusCode: _response.error.statusCode,
49-
responseBody: _response.error.rawBody,
50+
body: _response.error.body,
5051
});
5152
}
5253

5354
switch (_response.error.reason) {
5455
case "non-json":
5556
throw new errors.CodeCombatApiError({
5657
statusCode: _response.error.statusCode,
57-
responseBody: _response.error.rawBody,
58+
body: _response.error.rawBody,
5859
});
5960
case "timeout":
6061
throw new errors.CodeCombatApiTimeoutError();
@@ -75,11 +76,7 @@ export class Client {
7576
headers: {
7677
Authorization: core.BasicAuth.toAuthorizationHeader(await core.Supplier.get(this.options.credentials)),
7778
},
78-
body: await serializers.classrooms.create.Request.json({
79-
name: request.name,
80-
ownerId: request.ownerId,
81-
aceConfig: request.aceConfig,
82-
}),
79+
body: await serializers.CreateClassroomRequest.json(request),
8380
});
8481
if (_response.ok) {
8582
return;
@@ -88,15 +85,15 @@ export class Client {
8885
if (_response.error.reason === "status-code") {
8986
throw new errors.CodeCombatApiError({
9087
statusCode: _response.error.statusCode,
91-
responseBody: _response.error.rawBody,
88+
body: _response.error.body,
9289
});
9390
}
9491

9592
switch (_response.error.reason) {
9693
case "non-json":
9794
throw new errors.CodeCombatApiError({
9895
statusCode: _response.error.statusCode,
99-
responseBody: _response.error.rawBody,
96+
body: _response.error.rawBody,
10097
});
10198
case "timeout":
10299
throw new errors.CodeCombatApiTimeoutError();
@@ -123,30 +120,24 @@ export class Client {
123120
headers: {
124121
Authorization: core.BasicAuth.toAuthorizationHeader(await core.Supplier.get(this.options.credentials)),
125122
},
126-
body: await serializers.classrooms.upsert.Request.json({
127-
code: request.code,
128-
userId: request.userId,
129-
retMemberLimit: request.retMemberLimit,
130-
}),
123+
body: await serializers.UpsertClassroomRequest.json(request),
131124
});
132125
if (_response.ok) {
133-
return await serializers.classrooms.upsert.Response.parse(
134-
_response.body as serializers.classrooms.upsert.Response.Raw
135-
);
126+
return await serializers.ClassroomResponse.parse(_response.body as serializers.ClassroomResponse.Raw);
136127
}
137128

138129
if (_response.error.reason === "status-code") {
139130
throw new errors.CodeCombatApiError({
140131
statusCode: _response.error.statusCode,
141-
responseBody: _response.error.rawBody,
132+
body: _response.error.body,
142133
});
143134
}
144135

145136
switch (_response.error.reason) {
146137
case "non-json":
147138
throw new errors.CodeCombatApiError({
148139
statusCode: _response.error.statusCode,
149-
responseBody: _response.error.rawBody,
140+
body: _response.error.rawBody,
150141
});
151142
case "timeout":
152143
throw new errors.CodeCombatApiTimeoutError();
@@ -173,29 +164,24 @@ export class Client {
173164
headers: {
174165
Authorization: core.BasicAuth.toAuthorizationHeader(await core.Supplier.get(this.options.credentials)),
175166
},
176-
body: await serializers.classrooms.removeUser.Request.json({
177-
userId: request.userId,
178-
retMemberLimit: request.retMemberLimit,
179-
}),
167+
body: await serializers.RemoveUserRequest.json(request),
180168
});
181169
if (_response.ok) {
182-
return await serializers.classrooms.removeUser.Response.parse(
183-
_response.body as serializers.classrooms.removeUser.Response.Raw
184-
);
170+
return await serializers.ClassroomResponse.parse(_response.body as serializers.ClassroomResponse.Raw);
185171
}
186172

187173
if (_response.error.reason === "status-code") {
188174
throw new errors.CodeCombatApiError({
189175
statusCode: _response.error.statusCode,
190-
responseBody: _response.error.rawBody,
176+
body: _response.error.body,
191177
});
192178
}
193179

194180
switch (_response.error.reason) {
195181
case "non-json":
196182
throw new errors.CodeCombatApiError({
197183
statusCode: _response.error.statusCode,
198-
responseBody: _response.error.rawBody,
184+
body: _response.error.rawBody,
199185
});
200186
case "timeout":
201187
throw new errors.CodeCombatApiTimeoutError();
@@ -217,9 +203,10 @@ export class Client {
217203
courseHandle: string,
218204
request: CodeCombatApi.EnrollUserRequest
219205
): Promise<CodeCombatApi.ClassroomResponse> {
206+
const { retMemberLimit, ..._body } = request;
220207
const _queryParams = new URLSearchParams();
221-
if (request.retMemberLimit != null) {
222-
_queryParams.append("retMemberLimit", request.retMemberLimit.toString());
208+
if (retMemberLimit != null) {
209+
_queryParams.append("retMemberLimit", retMemberLimit.toString());
223210
}
224211

225212
const _response = await core.fetcher({
@@ -232,28 +219,24 @@ export class Client {
232219
Authorization: core.BasicAuth.toAuthorizationHeader(await core.Supplier.get(this.options.credentials)),
233220
},
234221
queryParameters: _queryParams,
235-
body: await serializers.classrooms.enrollUser.Request.json({
236-
userId: request.userId,
237-
}),
222+
body: await serializers.EnrollUserRequest.json(_body),
238223
});
239224
if (_response.ok) {
240-
return await serializers.classrooms.enrollUser.Response.parse(
241-
_response.body as serializers.classrooms.enrollUser.Response.Raw
242-
);
225+
return await serializers.ClassroomResponse.parse(_response.body as serializers.ClassroomResponse.Raw);
243226
}
244227

245228
if (_response.error.reason === "status-code") {
246229
throw new errors.CodeCombatApiError({
247230
statusCode: _response.error.statusCode,
248-
responseBody: _response.error.rawBody,
231+
body: _response.error.body,
249232
});
250233
}
251234

252235
switch (_response.error.reason) {
253236
case "non-json":
254237
throw new errors.CodeCombatApiError({
255238
statusCode: _response.error.statusCode,
256-
responseBody: _response.error.rawBody,
239+
body: _response.error.rawBody,
257240
});
258241
case "timeout":
259242
throw new errors.CodeCombatApiTimeoutError();
@@ -273,9 +256,10 @@ export class Client {
273256
courseHandle: string,
274257
request: CodeCombatApi.UnenrollUserRequest
275258
): Promise<CodeCombatApi.ClassroomResponse> {
259+
const { retMemberLimit, ..._body } = request;
276260
const _queryParams = new URLSearchParams();
277-
if (request.retMemberLimit != null) {
278-
_queryParams.append("retMemberLimit", request.retMemberLimit.toString());
261+
if (retMemberLimit != null) {
262+
_queryParams.append("retMemberLimit", retMemberLimit.toString());
279263
}
280264

281265
const _response = await core.fetcher({
@@ -288,28 +272,24 @@ export class Client {
288272
Authorization: core.BasicAuth.toAuthorizationHeader(await core.Supplier.get(this.options.credentials)),
289273
},
290274
queryParameters: _queryParams,
291-
body: await serializers.classrooms.unenrollUser.Request.json({
292-
userId: request.userId,
293-
}),
275+
body: await serializers.UnenrollUserRequest.json(_body),
294276
});
295277
if (_response.ok) {
296-
return await serializers.classrooms.unenrollUser.Response.parse(
297-
_response.body as serializers.classrooms.unenrollUser.Response.Raw
298-
);
278+
return await serializers.ClassroomResponse.parse(_response.body as serializers.ClassroomResponse.Raw);
299279
}
300280

301281
if (_response.error.reason === "status-code") {
302282
throw new errors.CodeCombatApiError({
303283
statusCode: _response.error.statusCode,
304-
responseBody: _response.error.rawBody,
284+
body: _response.error.body,
305285
});
306286
}
307287

308288
switch (_response.error.reason) {
309289
case "non-json":
310290
throw new errors.CodeCombatApiError({
311291
statusCode: _response.error.statusCode,
312-
responseBody: _response.error.rawBody,
292+
body: _response.error.rawBody,
313293
});
314294
case "timeout":
315295
throw new errors.CodeCombatApiTimeoutError();
@@ -326,19 +306,20 @@ export class Client {
326306
*/
327307
public async getStats(
328308
classroomHandle: string,
329-
request?: CodeCombatApi.ClassroomStatsRequest
309+
request: CodeCombatApi.ClassroomStatsRequest = {}
330310
): Promise<CodeCombatApi.ClassroomStats[]> {
311+
const { project, memberLimit, memberSkip } = request;
331312
const _queryParams = new URLSearchParams();
332-
if (request?.project != null) {
333-
_queryParams.append("project", request?.project);
313+
if (project != null) {
314+
_queryParams.append("project", project);
334315
}
335316

336-
if (request?.memberLimit != null) {
337-
_queryParams.append("memberLimit", request?.memberLimit.toString());
317+
if (memberLimit != null) {
318+
_queryParams.append("memberLimit", memberLimit.toString());
338319
}
339320

340-
if (request?.memberSkip != null) {
341-
_queryParams.append("memberSkip", request?.memberSkip.toString());
321+
if (memberSkip != null) {
322+
_queryParams.append("memberSkip", memberSkip.toString());
342323
}
343324

344325
const _response = await core.fetcher({
@@ -361,15 +342,15 @@ export class Client {
361342
if (_response.error.reason === "status-code") {
362343
throw new errors.CodeCombatApiError({
363344
statusCode: _response.error.statusCode,
364-
responseBody: _response.error.rawBody,
345+
body: _response.error.body,
365346
});
366347
}
367348

368349
switch (_response.error.reason) {
369350
case "non-json":
370351
throw new errors.CodeCombatApiError({
371352
statusCode: _response.error.statusCode,
372-
responseBody: _response.error.rawBody,
353+
body: _response.error.rawBody,
373354
});
374355
case "timeout":
375356
throw new errors.CodeCombatApiTimeoutError();
@@ -407,15 +388,15 @@ export class Client {
407388
if (_response.error.reason === "status-code") {
408389
throw new errors.CodeCombatApiError({
409390
statusCode: _response.error.statusCode,
410-
responseBody: _response.error.rawBody,
391+
body: _response.error.body,
411392
});
412393
}
413394

414395
switch (_response.error.reason) {
415396
case "non-json":
416397
throw new errors.CodeCombatApiError({
417398
statusCode: _response.error.statusCode,
418-
responseBody: _response.error.rawBody,
399+
body: _response.error.rawBody,
419400
});
420401
case "timeout":
421402
throw new errors.CodeCombatApiTimeoutError();

0 commit comments

Comments
 (0)