diff --git a/dist/apis/BackgroundApi.d.ts b/dist/apis/BackgroundApi.d.ts
new file mode 100644
index 0000000..32eaef1
--- /dev/null
+++ b/dist/apis/BackgroundApi.d.ts
@@ -0,0 +1,31 @@
+/**
+ * @solvedac/unofficial-documentation
+ * 이 프로젝트는 [solved.ac](https://solved.ac/) API를 문서화하는 커뮤니티 프로젝트입니다. 이 저장소는 원작자의 요청에 따라 언제든 지워질 수 있으며, 현재 API와 일치하지 않을 수도 있는 점 양해 부탁드립니다. solved.ac 서비스는 shiftpsh가 기획·개발·디자인·운영하는 프로젝트로, 이 저장소와는 solved.ac의 API를 문서화해둔 것 이외에는 아무런 관련이 없습니다. [GitHub에서 보기](https://github.com/solvedac/unofficial-documentation) **주의**: (2023/03/08~) CORS 문제로 인해 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오. ([#51](https://github.com/solvedac/unofficial-documentation/issues/51)) ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2022.02+b1
+ * Contact: public.ranolp@gmail.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+import * as runtime from '../runtime.js';
+import { Background } from '../models/index.js';
+export interface GetBackgroundRequest {
+ backgroundId: string;
+}
+/**
+ *
+ */
+export declare class BackgroundApi extends runtime.BaseAPI {
+ /**
+ * 배경의 정보를 가져옵니다.
+ * 배경 정보 가져오기
+ */
+ getBackgroundRaw(requestParameters: GetBackgroundRequest, initOverrides?: RequestInit): Promise>;
+ /**
+ * 배경의 정보를 가져옵니다.
+ * 배경 정보 가져오기
+ */
+ getBackground(requestParameters: GetBackgroundRequest, initOverrides?: RequestInit): Promise;
+}
diff --git a/dist/apis/BackgroundApi.js b/dist/apis/BackgroundApi.js
new file mode 100644
index 0000000..d50fed8
--- /dev/null
+++ b/dist/apis/BackgroundApi.js
@@ -0,0 +1,48 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * @solvedac/unofficial-documentation
+ * 이 프로젝트는 [solved.ac](https://solved.ac/) API를 문서화하는 커뮤니티 프로젝트입니다. 이 저장소는 원작자의 요청에 따라 언제든 지워질 수 있으며, 현재 API와 일치하지 않을 수도 있는 점 양해 부탁드립니다. solved.ac 서비스는 shiftpsh가 기획·개발·디자인·운영하는 프로젝트로, 이 저장소와는 solved.ac의 API를 문서화해둔 것 이외에는 아무런 관련이 없습니다. [GitHub에서 보기](https://github.com/solvedac/unofficial-documentation) **주의**: (2023/03/08~) CORS 문제로 인해 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오. ([#51](https://github.com/solvedac/unofficial-documentation/issues/51)) ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2022.02+b1
+ * Contact: public.ranolp@gmail.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+import * as runtime from '../runtime.js';
+/**
+ *
+ */
+export class BackgroundApi extends runtime.BaseAPI {
+ /**
+ * 배경의 정보를 가져옵니다.
+ * 배경 정보 가져오기
+ */
+ async getBackgroundRaw(requestParameters, initOverrides) {
+ if (requestParameters.backgroundId === null || requestParameters.backgroundId === undefined) {
+ throw new runtime.RequiredError('backgroundId', 'Required parameter requestParameters.backgroundId was null or undefined when calling getBackground.');
+ }
+ const queryParameters = {};
+ if (requestParameters.backgroundId !== undefined) {
+ queryParameters['backgroundId'] = requestParameters.backgroundId;
+ }
+ const headerParameters = {};
+ const response = await this.request({
+ path: `/background/show`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 배경의 정보를 가져옵니다.
+ * 배경 정보 가져오기
+ */
+ async getBackground(requestParameters, initOverrides) {
+ const response = await this.getBackgroundRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
diff --git a/dist/apis/BadgeApi.d.ts b/dist/apis/BadgeApi.d.ts
new file mode 100644
index 0000000..720680d
--- /dev/null
+++ b/dist/apis/BadgeApi.d.ts
@@ -0,0 +1,31 @@
+/**
+ * @solvedac/unofficial-documentation
+ * 이 프로젝트는 [solved.ac](https://solved.ac/) API를 문서화하는 커뮤니티 프로젝트입니다. 이 저장소는 원작자의 요청에 따라 언제든 지워질 수 있으며, 현재 API와 일치하지 않을 수도 있는 점 양해 부탁드립니다. solved.ac 서비스는 shiftpsh가 기획·개발·디자인·운영하는 프로젝트로, 이 저장소와는 solved.ac의 API를 문서화해둔 것 이외에는 아무런 관련이 없습니다. [GitHub에서 보기](https://github.com/solvedac/unofficial-documentation) **주의**: (2023/03/08~) CORS 문제로 인해 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오. ([#51](https://github.com/solvedac/unofficial-documentation/issues/51)) ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2022.02+b1
+ * Contact: public.ranolp@gmail.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+import * as runtime from '../runtime.js';
+import { Badge } from '../models/index.js';
+export interface GetBadgeRequest {
+ badgeId: string;
+}
+/**
+ *
+ */
+export declare class BadgeApi extends runtime.BaseAPI {
+ /**
+ * 뱃지의 정보를 가져옵니다.
+ * 뱃지 정보 가져오기
+ */
+ getBadgeRaw(requestParameters: GetBadgeRequest, initOverrides?: RequestInit): Promise>;
+ /**
+ * 뱃지의 정보를 가져옵니다.
+ * 뱃지 정보 가져오기
+ */
+ getBadge(requestParameters: GetBadgeRequest, initOverrides?: RequestInit): Promise;
+}
diff --git a/dist/apis/BadgeApi.js b/dist/apis/BadgeApi.js
new file mode 100644
index 0000000..c0f7a35
--- /dev/null
+++ b/dist/apis/BadgeApi.js
@@ -0,0 +1,48 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * @solvedac/unofficial-documentation
+ * 이 프로젝트는 [solved.ac](https://solved.ac/) API를 문서화하는 커뮤니티 프로젝트입니다. 이 저장소는 원작자의 요청에 따라 언제든 지워질 수 있으며, 현재 API와 일치하지 않을 수도 있는 점 양해 부탁드립니다. solved.ac 서비스는 shiftpsh가 기획·개발·디자인·운영하는 프로젝트로, 이 저장소와는 solved.ac의 API를 문서화해둔 것 이외에는 아무런 관련이 없습니다. [GitHub에서 보기](https://github.com/solvedac/unofficial-documentation) **주의**: (2023/03/08~) CORS 문제로 인해 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오. ([#51](https://github.com/solvedac/unofficial-documentation/issues/51)) ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2022.02+b1
+ * Contact: public.ranolp@gmail.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+import * as runtime from '../runtime.js';
+/**
+ *
+ */
+export class BadgeApi extends runtime.BaseAPI {
+ /**
+ * 뱃지의 정보를 가져옵니다.
+ * 뱃지 정보 가져오기
+ */
+ async getBadgeRaw(requestParameters, initOverrides) {
+ if (requestParameters.badgeId === null || requestParameters.badgeId === undefined) {
+ throw new runtime.RequiredError('badgeId', 'Required parameter requestParameters.badgeId was null or undefined when calling getBadge.');
+ }
+ const queryParameters = {};
+ if (requestParameters.badgeId !== undefined) {
+ queryParameters['badgeId'] = requestParameters.badgeId;
+ }
+ const headerParameters = {};
+ const response = await this.request({
+ path: `/badge/show`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 뱃지의 정보를 가져옵니다.
+ * 뱃지 정보 가져오기
+ */
+ async getBadge(requestParameters, initOverrides) {
+ const response = await this.getBadgeRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
diff --git a/dist/apis/UserApi.d.ts b/dist/apis/UserApi.d.ts
index 994e254..52d5620 100644
--- a/dist/apis/UserApi.d.ts
+++ b/dist/apis/UserApi.d.ts
@@ -10,10 +10,13 @@
* Do not edit the class manually.
*/
import * as runtime from '../runtime.js';
-import { FullUser, InlineResponse20015 } from '../models/index.js';
+import { FullUser, InlineResponse20015, Organization } from '../models/index.js';
export interface GetUserRequest {
handle: string;
}
+export interface GetUserOrganizationsRequest {
+ handle: string;
+}
export interface GetUserProblemStatsRequest {
handle: string;
}
@@ -31,6 +34,16 @@ export declare class UserApi extends runtime.BaseAPI {
* 사용자 정보 가져오기
*/
getUser(requestParameters: GetUserRequest, initOverrides?: RequestInit): Promise;
+ /**
+ * 사용자가 속한 조직 목록를 가져옵니다.
+ * 사용자가 속한 조직 목록 가져오기
+ */
+ getUserOrganizationsRaw(requestParameters: GetUserOrganizationsRequest, initOverrides?: RequestInit): Promise>>;
+ /**
+ * 사용자가 속한 조직 목록를 가져옵니다.
+ * 사용자가 속한 조직 목록 가져오기
+ */
+ getUserOrganizations(requestParameters: GetUserOrganizationsRequest, initOverrides?: RequestInit): Promise>;
/**
* 사용자가 푼 문제 개수를 문제 수준별로 가져옵니다.
* 사용자가 푼 문제 개수 수준별로 가져오기
diff --git a/dist/apis/UserApi.js b/dist/apis/UserApi.js
index 762f6eb..d23aa9c 100644
--- a/dist/apis/UserApi.js
+++ b/dist/apis/UserApi.js
@@ -45,6 +45,35 @@ export class UserApi extends runtime.BaseAPI {
const response = await this.getUserRaw(requestParameters, initOverrides);
return await response.value();
}
+ /**
+ * 사용자가 속한 조직 목록를 가져옵니다.
+ * 사용자가 속한 조직 목록 가져오기
+ */
+ async getUserOrganizationsRaw(requestParameters, initOverrides) {
+ if (requestParameters.handle === null || requestParameters.handle === undefined) {
+ throw new runtime.RequiredError('handle', 'Required parameter requestParameters.handle was null or undefined when calling getUserOrganizations.');
+ }
+ const queryParameters = {};
+ if (requestParameters.handle !== undefined) {
+ queryParameters['handle'] = requestParameters.handle;
+ }
+ const headerParameters = {};
+ const response = await this.request({
+ path: `/user/organizations`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 사용자가 속한 조직 목록를 가져옵니다.
+ * 사용자가 속한 조직 목록 가져오기
+ */
+ async getUserOrganizations(requestParameters, initOverrides) {
+ const response = await this.getUserOrganizationsRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
/**
* 사용자가 푼 문제 개수를 문제 수준별로 가져옵니다.
* 사용자가 푼 문제 개수 수준별로 가져오기
diff --git a/dist/apis/index.d.ts b/dist/apis/index.d.ts
index 21289a1..e899bf1 100644
--- a/dist/apis/index.d.ts
+++ b/dist/apis/index.d.ts
@@ -1,4 +1,6 @@
export * from './AccountApi.js';
+export * from './BackgroundApi.js';
+export * from './BadgeApi.js';
export * from './CoinsApi.js';
export * from './DefaultApi.js';
export * from './OtherApi.js';
diff --git a/dist/apis/index.js b/dist/apis/index.js
index 7044a2c..455dd63 100644
--- a/dist/apis/index.js
+++ b/dist/apis/index.js
@@ -1,6 +1,8 @@
/* tslint:disable */
/* eslint-disable */
export * from './AccountApi.js';
+export * from './BackgroundApi.js';
+export * from './BadgeApi.js';
export * from './CoinsApi.js';
export * from './DefaultApi.js';
export * from './OtherApi.js';
diff --git a/dist/models/index.d.ts b/dist/models/index.d.ts
index 1836ebc..f60b479 100644
--- a/dist/models/index.d.ts
+++ b/dist/models/index.d.ts
@@ -1,3 +1,125 @@
+/**
+ * 사용자가 사용할 수 있는 배경입니다.
+ * @export
+ * @interface Background
+ */
+export interface Background {
+ /**
+ * 배경의 ID입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundId: string;
+ /**
+ * 배경 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundImageUrl: string;
+ /**
+ * 배경 사진이 없을 때 대체로 사용할 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ fallbackBackgroundImageUrl?: string | null;
+ /**
+ * 배경 비디오로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundVideoUrl?: string | null;
+ /**
+ * 해당 배경을 획득한 사용자의 수입니다.
+ * @type {number}
+ * @memberof Background
+ */
+ unlockedUserCount: number;
+ /**
+ * 배경의 이름입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ displayName: string;
+ /**
+ * 배경의 설명입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ displayDescription: string;
+ /**
+ * 해당 배경을 얻을 수 있는 조건입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ conditions: string;
+ /**
+ * 해당 배경을 얻을 수 있는 조건이 숨겨져 있는지 여부입니다.
+ * @type {boolean}
+ * @memberof Background
+ */
+ hiddenConditions: boolean;
+ /**
+ * 해당 배경이 일러스트인지 여부입니다.
+ * @type {boolean}
+ * @memberof Background
+ */
+ isIllust: boolean;
+ /**
+ * 해당 배경을 만든 사람들의 정보입니다.
+ * @type {Array}
+ * @memberof Background
+ */
+ authors: Array;
+}
+/**
+ *
+ * @export
+ * @interface BackgroundAuthors
+ */
+export interface BackgroundAuthors {
+ /**
+ * 작가의 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ authorId?: string;
+ /**
+ * 작가의 역할입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ role?: string;
+ /**
+ * 작가의 홈페이지로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ authorUrl?: string | null;
+ /**
+ * 작가의 사용자 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ handle?: string;
+ /**
+ * 작가의 트위터 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ twitter?: string | null;
+ /**
+ * 작가의 인스타그램 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ instagram?: string | null;
+ /**
+ * 작가의 이름입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ displayName?: string;
+}
/**
* 사용자가 사용할 수 있는 뱃지입니다.
* @export
@@ -28,6 +150,40 @@ export interface Badge {
* @memberof Badge
*/
displayDescription: string;
+ /**
+ *
+ * @type {BadgeTier}
+ * @memberof Badge
+ */
+ badgeTier?: BadgeTier;
+ /**
+ *
+ * @type {BadgeCategory}
+ * @memberof Badge
+ */
+ badgeCategory?: BadgeCategory;
+}
+/**
+ * 뱃지 종류입니다.
+ * @export
+ * @enum {string}
+ */
+export declare enum BadgeCategory {
+ Achievement = "achievement",
+ Season = "season",
+ Event = "event",
+ Contest = "contest"
+}
+/**
+ * 뱃지 티어입니다.
+ * @export
+ * @enum {string}
+ */
+export declare enum BadgeTier {
+ Bronze = "bronze",
+ Silver = "silver",
+ Gold = "gold",
+ Master = "master"
}
/**
* 클래스 치장입니다.
@@ -115,23 +271,17 @@ export interface FullUser {
*/
bio: string;
/**
- * 사용자가 속한 조직 목록입니다.
- * @type {Array}
- * @memberof FullUser
- */
- organizations: Array;
- /**
- *
- * @type {Badge}
+ * 사용자가 지금 사용 중인 뱃지의 아이디입니다.
+ * @type {string}
* @memberof FullUser
*/
- badge?: Badge;
+ badgeId?: string | null;
/**
- *
- * @type {UserBackground}
+ * 사용자가 지금 사용 중인 배경의 아이디입니다.
+ * @type {string}
* @memberof FullUser
*/
- background: UserBackground;
+ backgroundId: string;
/**
* 사용자의 프로필 사진으로 가는 하이퍼링크입니다.
* @type {string}
@@ -264,12 +414,42 @@ export interface FullUser {
* @memberof FullUser
*/
maxStreak: number;
+ /**
+ * 사용자가 가지고 있는 코인의 수입니다.
+ * @type {number}
+ * @memberof FullUser
+ */
+ coins: number;
+ /**
+ * 사용자가 가지고 있는 별가루의 수입니다.
+ * @type {number}
+ * @memberof FullUser
+ */
+ stardusts: number;
+ /**
+ * 사용자가 가입한 날짜입니다.
+ * @type {Date}
+ * @memberof FullUser
+ */
+ joinedAt: Date;
+ /**
+ * 사용자의 정지 종료 날짜입니다.
+ * @type {Date}
+ * @memberof FullUser
+ */
+ bannedUntil: Date;
+ /**
+ * 사용자의 PRO 종료 날짜입니다.
+ * @type {Date}
+ * @memberof FullUser
+ */
+ proUntil: Date;
/**
* 사용자의 순위입니다.
* @type {number}
* @memberof FullUser
*/
- rank?: number;
+ rank: number;
/**
* 라이벌 여부입니다.
* @type {boolean}
@@ -289,12 +469,6 @@ export interface FullUser {
* @interface FullUserAllOf
*/
export interface FullUserAllOf {
- /**
- * 사용자의 순위입니다.
- * @type {number}
- * @memberof FullUserAllOf
- */
- rank?: number;
/**
* 라이벌 여부입니다.
* @type {boolean}
@@ -1151,23 +1325,17 @@ export interface RankedUser {
*/
bio: string;
/**
- * 사용자가 속한 조직 목록입니다.
- * @type {Array}
- * @memberof RankedUser
- */
- organizations: Array;
- /**
- *
- * @type {Badge}
+ * 사용자가 지금 사용 중인 뱃지의 아이디입니다.
+ * @type {string}
* @memberof RankedUser
*/
- badge?: Badge;
+ badgeId?: string | null;
/**
- *
- * @type {UserBackground}
+ * 사용자가 지금 사용 중인 배경의 아이디입니다.
+ * @type {string}
* @memberof RankedUser
*/
- background: UserBackground;
+ backgroundId: string;
/**
* 사용자의 프로필 사진으로 가는 하이퍼링크입니다.
* @type {string}
@@ -1300,12 +1468,42 @@ export interface RankedUser {
* @memberof RankedUser
*/
maxStreak: number;
+ /**
+ * 사용자가 가지고 있는 코인의 수입니다.
+ * @type {number}
+ * @memberof RankedUser
+ */
+ coins: number;
+ /**
+ * 사용자가 가지고 있는 별가루의 수입니다.
+ * @type {number}
+ * @memberof RankedUser
+ */
+ stardusts: number;
+ /**
+ * 사용자가 가입한 날짜입니다.
+ * @type {Date}
+ * @memberof RankedUser
+ */
+ joinedAt: Date;
+ /**
+ * 사용자의 정지 종료 날짜입니다.
+ * @type {Date}
+ * @memberof RankedUser
+ */
+ bannedUntil: Date;
+ /**
+ * 사용자의 PRO 종료 날짜입니다.
+ * @type {Date}
+ * @memberof RankedUser
+ */
+ proUntil: Date;
/**
* 사용자의 순위입니다.
* @type {number}
* @memberof RankedUser
*/
- rank?: number;
+ rank: number;
}
/**
*
@@ -1586,23 +1784,17 @@ export interface User {
*/
bio: string;
/**
- * 사용자가 속한 조직 목록입니다.
- * @type {Array}
- * @memberof User
- */
- organizations: Array;
- /**
- *
- * @type {Badge}
+ * 사용자가 지금 사용 중인 뱃지의 아이디입니다.
+ * @type {string}
* @memberof User
*/
- badge?: Badge;
+ badgeId?: string | null;
/**
- *
- * @type {UserBackground}
+ * 사용자가 지금 사용 중인 배경의 아이디입니다.
+ * @type {string}
* @memberof User
*/
- background: UserBackground;
+ backgroundId: string;
/**
* 사용자의 프로필 사진으로 가는 하이퍼링크입니다.
* @type {string}
@@ -1735,47 +1927,40 @@ export interface User {
* @memberof User
*/
maxStreak: number;
-}
-/**
- * 사용자의 배경 사진입니다.
- * @export
- * @interface UserBackground
- */
-export interface UserBackground {
/**
- * 배경의 고유 ID입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자가 가지고 있는 코인의 수입니다.
+ * @type {number}
+ * @memberof User
*/
- backgroundId?: string;
+ coins: number;
/**
- * 배경 사진으로 가는 하이퍼링크입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자가 가지고 있는 별가루의 수입니다.
+ * @type {number}
+ * @memberof User
*/
- backgroundImageUrl?: string;
+ stardusts: number;
/**
- * 배경의 제작자를 표시하는 문구입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자가 가입한 날짜입니다.
+ * @type {Date}
+ * @memberof User
*/
- author?: string;
+ joinedAt: Date;
/**
- * 배경의 제작자와 관련된 사이트로 가는 하이퍼링크입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자의 정지 종료 날짜입니다.
+ * @type {Date}
+ * @memberof User
*/
- authorUrl?: string;
+ bannedUntil: Date;
/**
- * 배경의 이름입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자의 PRO 종료 날짜입니다.
+ * @type {Date}
+ * @memberof User
*/
- displayName?: string;
+ proUntil: Date;
/**
- * 배경의 설명입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자의 순위입니다.
+ * @type {number}
+ * @memberof User
*/
- displayDescription?: string;
+ rank: number;
}
diff --git a/dist/models/index.js b/dist/models/index.js
index 61a0630..5ccf876 100644
--- a/dist/models/index.js
+++ b/dist/models/index.js
@@ -1,3 +1,27 @@
+/**
+ * 뱃지 종류입니다.
+ * @export
+ * @enum {string}
+ */
+export var BadgeCategory;
+(function (BadgeCategory) {
+ BadgeCategory["Achievement"] = "achievement";
+ BadgeCategory["Season"] = "season";
+ BadgeCategory["Event"] = "event";
+ BadgeCategory["Contest"] = "contest";
+})(BadgeCategory || (BadgeCategory = {}));
+/**
+ * 뱃지 티어입니다.
+ * @export
+ * @enum {string}
+ */
+export var BadgeTier;
+(function (BadgeTier) {
+ BadgeTier["Bronze"] = "bronze";
+ BadgeTier["Silver"] = "silver";
+ BadgeTier["Gold"] = "gold";
+ BadgeTier["Master"] = "master";
+})(BadgeTier || (BadgeTier = {}));
/**
* 클래스 치장입니다.
* @export
diff --git a/src/.openapi-generator/FILES b/src/.openapi-generator/FILES
index a22dc60..957d9b0 100644
--- a/src/.openapi-generator/FILES
+++ b/src/.openapi-generator/FILES
@@ -1,4 +1,6 @@
apis/AccountApi.ts
+apis/BackgroundApi.ts
+apis/BadgeApi.ts
apis/CoinsApi.ts
apis/DefaultApi.ts
apis/OtherApi.ts
diff --git a/src/apis/BackgroundApi.ts b/src/apis/BackgroundApi.ts
new file mode 100644
index 0000000..bbdc281
--- /dev/null
+++ b/src/apis/BackgroundApi.ts
@@ -0,0 +1,66 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * @solvedac/unofficial-documentation
+ * 이 프로젝트는 [solved.ac](https://solved.ac/) API를 문서화하는 커뮤니티 프로젝트입니다. 이 저장소는 원작자의 요청에 따라 언제든 지워질 수 있으며, 현재 API와 일치하지 않을 수도 있는 점 양해 부탁드립니다. solved.ac 서비스는 shiftpsh가 기획·개발·디자인·운영하는 프로젝트로, 이 저장소와는 solved.ac의 API를 문서화해둔 것 이외에는 아무런 관련이 없습니다. [GitHub에서 보기](https://github.com/solvedac/unofficial-documentation) **주의**: (2023/03/08~) CORS 문제로 인해 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오. ([#51](https://github.com/solvedac/unofficial-documentation/issues/51)) ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2022.02+b1
+ * Contact: public.ranolp@gmail.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+import * as runtime from '../runtime.js';
+import {
+ Background,
+} from '../models/index.js';
+
+export interface GetBackgroundRequest {
+ backgroundId: string;
+}
+
+/**
+ *
+ */
+export class BackgroundApi extends runtime.BaseAPI {
+
+ /**
+ * 배경의 정보를 가져옵니다.
+ * 배경 정보 가져오기
+ */
+ async getBackgroundRaw(requestParameters: GetBackgroundRequest, initOverrides?: RequestInit): Promise> {
+ if (requestParameters.backgroundId === null || requestParameters.backgroundId === undefined) {
+ throw new runtime.RequiredError('backgroundId','Required parameter requestParameters.backgroundId was null or undefined when calling getBackground.');
+ }
+
+ const queryParameters: any = {};
+
+ if (requestParameters.backgroundId !== undefined) {
+ queryParameters['backgroundId'] = requestParameters.backgroundId;
+ }
+
+ const headerParameters: runtime.HTTPHeaders = {};
+
+ const response = await this.request({
+ path: `/background/show`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+
+ return new runtime.JSONApiResponse(response);
+ }
+
+ /**
+ * 배경의 정보를 가져옵니다.
+ * 배경 정보 가져오기
+ */
+ async getBackground(requestParameters: GetBackgroundRequest, initOverrides?: RequestInit): Promise {
+ const response = await this.getBackgroundRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+
+}
diff --git a/src/apis/BadgeApi.ts b/src/apis/BadgeApi.ts
new file mode 100644
index 0000000..2def1e7
--- /dev/null
+++ b/src/apis/BadgeApi.ts
@@ -0,0 +1,66 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * @solvedac/unofficial-documentation
+ * 이 프로젝트는 [solved.ac](https://solved.ac/) API를 문서화하는 커뮤니티 프로젝트입니다. 이 저장소는 원작자의 요청에 따라 언제든 지워질 수 있으며, 현재 API와 일치하지 않을 수도 있는 점 양해 부탁드립니다. solved.ac 서비스는 shiftpsh가 기획·개발·디자인·운영하는 프로젝트로, 이 저장소와는 solved.ac의 API를 문서화해둔 것 이외에는 아무런 관련이 없습니다. [GitHub에서 보기](https://github.com/solvedac/unofficial-documentation) **주의**: (2023/03/08~) CORS 문제로 인해 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오. ([#51](https://github.com/solvedac/unofficial-documentation/issues/51)) ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2022.02+b1
+ * Contact: public.ranolp@gmail.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+import * as runtime from '../runtime.js';
+import {
+ Badge,
+} from '../models/index.js';
+
+export interface GetBadgeRequest {
+ badgeId: string;
+}
+
+/**
+ *
+ */
+export class BadgeApi extends runtime.BaseAPI {
+
+ /**
+ * 뱃지의 정보를 가져옵니다.
+ * 뱃지 정보 가져오기
+ */
+ async getBadgeRaw(requestParameters: GetBadgeRequest, initOverrides?: RequestInit): Promise> {
+ if (requestParameters.badgeId === null || requestParameters.badgeId === undefined) {
+ throw new runtime.RequiredError('badgeId','Required parameter requestParameters.badgeId was null or undefined when calling getBadge.');
+ }
+
+ const queryParameters: any = {};
+
+ if (requestParameters.badgeId !== undefined) {
+ queryParameters['badgeId'] = requestParameters.badgeId;
+ }
+
+ const headerParameters: runtime.HTTPHeaders = {};
+
+ const response = await this.request({
+ path: `/badge/show`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+
+ return new runtime.JSONApiResponse(response);
+ }
+
+ /**
+ * 뱃지의 정보를 가져옵니다.
+ * 뱃지 정보 가져오기
+ */
+ async getBadge(requestParameters: GetBadgeRequest, initOverrides?: RequestInit): Promise {
+ const response = await this.getBadgeRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+
+}
diff --git a/src/apis/UserApi.ts b/src/apis/UserApi.ts
index be744aa..09aca76 100644
--- a/src/apis/UserApi.ts
+++ b/src/apis/UserApi.ts
@@ -17,12 +17,17 @@ import * as runtime from '../runtime.js';
import {
FullUser,
InlineResponse20015,
+ Organization,
} from '../models/index.js';
export interface GetUserRequest {
handle: string;
}
+export interface GetUserOrganizationsRequest {
+ handle: string;
+}
+
export interface GetUserProblemStatsRequest {
handle: string;
}
@@ -68,6 +73,42 @@ export class UserApi extends runtime.BaseAPI {
return await response.value();
}
+ /**
+ * 사용자가 속한 조직 목록를 가져옵니다.
+ * 사용자가 속한 조직 목록 가져오기
+ */
+ async getUserOrganizationsRaw(requestParameters: GetUserOrganizationsRequest, initOverrides?: RequestInit): Promise>> {
+ if (requestParameters.handle === null || requestParameters.handle === undefined) {
+ throw new runtime.RequiredError('handle','Required parameter requestParameters.handle was null or undefined when calling getUserOrganizations.');
+ }
+
+ const queryParameters: any = {};
+
+ if (requestParameters.handle !== undefined) {
+ queryParameters['handle'] = requestParameters.handle;
+ }
+
+ const headerParameters: runtime.HTTPHeaders = {};
+
+ const response = await this.request({
+ path: `/user/organizations`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+
+ return new runtime.JSONApiResponse(response);
+ }
+
+ /**
+ * 사용자가 속한 조직 목록를 가져옵니다.
+ * 사용자가 속한 조직 목록 가져오기
+ */
+ async getUserOrganizations(requestParameters: GetUserOrganizationsRequest, initOverrides?: RequestInit): Promise> {
+ const response = await this.getUserOrganizationsRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+
/**
* 사용자가 푼 문제 개수를 문제 수준별로 가져옵니다.
* 사용자가 푼 문제 개수 수준별로 가져오기
diff --git a/src/apis/index.ts b/src/apis/index.ts
index 7044a2c..455dd63 100644
--- a/src/apis/index.ts
+++ b/src/apis/index.ts
@@ -1,6 +1,8 @@
/* tslint:disable */
/* eslint-disable */
export * from './AccountApi.js';
+export * from './BackgroundApi.js';
+export * from './BadgeApi.js';
export * from './CoinsApi.js';
export * from './DefaultApi.js';
export * from './OtherApi.js';
diff --git a/src/apis/mod.ts b/src/apis/mod.ts
index 7044a2c..455dd63 100644
--- a/src/apis/mod.ts
+++ b/src/apis/mod.ts
@@ -1,6 +1,8 @@
/* tslint:disable */
/* eslint-disable */
export * from './AccountApi.js';
+export * from './BackgroundApi.js';
+export * from './BadgeApi.js';
export * from './CoinsApi.js';
export * from './DefaultApi.js';
export * from './OtherApi.js';
diff --git a/src/models/index.ts b/src/models/index.ts
index b012b99..ddea7aa 100644
--- a/src/models/index.ts
+++ b/src/models/index.ts
@@ -1,5 +1,127 @@
/* tslint:disable */
/* eslint-disable */
+/**
+ * 사용자가 사용할 수 있는 배경입니다.
+ * @export
+ * @interface Background
+ */
+export interface Background {
+ /**
+ * 배경의 ID입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundId: string;
+ /**
+ * 배경 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundImageUrl: string;
+ /**
+ * 배경 사진이 없을 때 대체로 사용할 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ fallbackBackgroundImageUrl?: string | null;
+ /**
+ * 배경 비디오로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundVideoUrl?: string | null;
+ /**
+ * 해당 배경을 획득한 사용자의 수입니다.
+ * @type {number}
+ * @memberof Background
+ */
+ unlockedUserCount: number;
+ /**
+ * 배경의 이름입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ displayName: string;
+ /**
+ * 배경의 설명입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ displayDescription: string;
+ /**
+ * 해당 배경을 얻을 수 있는 조건입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ conditions: string;
+ /**
+ * 해당 배경을 얻을 수 있는 조건이 숨겨져 있는지 여부입니다.
+ * @type {boolean}
+ * @memberof Background
+ */
+ hiddenConditions: boolean;
+ /**
+ * 해당 배경이 일러스트인지 여부입니다.
+ * @type {boolean}
+ * @memberof Background
+ */
+ isIllust: boolean;
+ /**
+ * 해당 배경을 만든 사람들의 정보입니다.
+ * @type {Array}
+ * @memberof Background
+ */
+ authors: Array;
+}
+/**
+ *
+ * @export
+ * @interface BackgroundAuthors
+ */
+export interface BackgroundAuthors {
+ /**
+ * 작가의 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ authorId?: string;
+ /**
+ * 작가의 역할입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ role?: string;
+ /**
+ * 작가의 홈페이지로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ authorUrl?: string | null;
+ /**
+ * 작가의 사용자 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ handle?: string;
+ /**
+ * 작가의 트위터 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ twitter?: string | null;
+ /**
+ * 작가의 인스타그램 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ instagram?: string | null;
+ /**
+ * 작가의 이름입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ displayName?: string;
+}
/**
* 사용자가 사용할 수 있는 뱃지입니다.
* @export
@@ -30,6 +152,40 @@ export interface Badge {
* @memberof Badge
*/
displayDescription: string;
+ /**
+ *
+ * @type {BadgeTier}
+ * @memberof Badge
+ */
+ badgeTier?: BadgeTier;
+ /**
+ *
+ * @type {BadgeCategory}
+ * @memberof Badge
+ */
+ badgeCategory?: BadgeCategory;
+}
+/**
+ * 뱃지 종류입니다.
+ * @export
+ * @enum {string}
+ */
+export enum BadgeCategory {
+ Achievement = 'achievement',
+ Season = 'season',
+ Event = 'event',
+ Contest = 'contest'
+}
+/**
+ * 뱃지 티어입니다.
+ * @export
+ * @enum {string}
+ */
+export enum BadgeTier {
+ Bronze = 'bronze',
+ Silver = 'silver',
+ Gold = 'gold',
+ Master = 'master'
}
/**
* 클래스 치장입니다.
@@ -118,23 +274,17 @@ export interface FullUser {
*/
bio: string;
/**
- * 사용자가 속한 조직 목록입니다.
- * @type {Array}
- * @memberof FullUser
- */
- organizations: Array;
- /**
- *
- * @type {Badge}
+ * 사용자가 지금 사용 중인 뱃지의 아이디입니다.
+ * @type {string}
* @memberof FullUser
*/
- badge?: Badge;
+ badgeId?: string | null;
/**
- *
- * @type {UserBackground}
+ * 사용자가 지금 사용 중인 배경의 아이디입니다.
+ * @type {string}
* @memberof FullUser
*/
- background: UserBackground;
+ backgroundId: string;
/**
* 사용자의 프로필 사진으로 가는 하이퍼링크입니다.
* @type {string}
@@ -267,12 +417,42 @@ export interface FullUser {
* @memberof FullUser
*/
maxStreak: number;
+ /**
+ * 사용자가 가지고 있는 코인의 수입니다.
+ * @type {number}
+ * @memberof FullUser
+ */
+ coins: number;
+ /**
+ * 사용자가 가지고 있는 별가루의 수입니다.
+ * @type {number}
+ * @memberof FullUser
+ */
+ stardusts: number;
+ /**
+ * 사용자가 가입한 날짜입니다.
+ * @type {Date}
+ * @memberof FullUser
+ */
+ joinedAt: Date;
+ /**
+ * 사용자의 정지 종료 날짜입니다.
+ * @type {Date}
+ * @memberof FullUser
+ */
+ bannedUntil: Date;
+ /**
+ * 사용자의 PRO 종료 날짜입니다.
+ * @type {Date}
+ * @memberof FullUser
+ */
+ proUntil: Date;
/**
* 사용자의 순위입니다.
* @type {number}
* @memberof FullUser
*/
- rank?: number;
+ rank: number;
/**
* 라이벌 여부입니다.
* @type {boolean}
@@ -292,12 +472,6 @@ export interface FullUser {
* @interface FullUserAllOf
*/
export interface FullUserAllOf {
- /**
- * 사용자의 순위입니다.
- * @type {number}
- * @memberof FullUserAllOf
- */
- rank?: number;
/**
* 라이벌 여부입니다.
* @type {boolean}
@@ -1155,23 +1329,17 @@ export interface RankedUser {
*/
bio: string;
/**
- * 사용자가 속한 조직 목록입니다.
- * @type {Array}
- * @memberof RankedUser
- */
- organizations: Array;
- /**
- *
- * @type {Badge}
+ * 사용자가 지금 사용 중인 뱃지의 아이디입니다.
+ * @type {string}
* @memberof RankedUser
*/
- badge?: Badge;
+ badgeId?: string | null;
/**
- *
- * @type {UserBackground}
+ * 사용자가 지금 사용 중인 배경의 아이디입니다.
+ * @type {string}
* @memberof RankedUser
*/
- background: UserBackground;
+ backgroundId: string;
/**
* 사용자의 프로필 사진으로 가는 하이퍼링크입니다.
* @type {string}
@@ -1304,12 +1472,42 @@ export interface RankedUser {
* @memberof RankedUser
*/
maxStreak: number;
+ /**
+ * 사용자가 가지고 있는 코인의 수입니다.
+ * @type {number}
+ * @memberof RankedUser
+ */
+ coins: number;
+ /**
+ * 사용자가 가지고 있는 별가루의 수입니다.
+ * @type {number}
+ * @memberof RankedUser
+ */
+ stardusts: number;
+ /**
+ * 사용자가 가입한 날짜입니다.
+ * @type {Date}
+ * @memberof RankedUser
+ */
+ joinedAt: Date;
+ /**
+ * 사용자의 정지 종료 날짜입니다.
+ * @type {Date}
+ * @memberof RankedUser
+ */
+ bannedUntil: Date;
+ /**
+ * 사용자의 PRO 종료 날짜입니다.
+ * @type {Date}
+ * @memberof RankedUser
+ */
+ proUntil: Date;
/**
* 사용자의 순위입니다.
* @type {number}
* @memberof RankedUser
*/
- rank?: number;
+ rank: number;
}
/**
*
@@ -1591,23 +1789,17 @@ export interface User {
*/
bio: string;
/**
- * 사용자가 속한 조직 목록입니다.
- * @type {Array}
- * @memberof User
- */
- organizations: Array;
- /**
- *
- * @type {Badge}
+ * 사용자가 지금 사용 중인 뱃지의 아이디입니다.
+ * @type {string}
* @memberof User
*/
- badge?: Badge;
+ badgeId?: string | null;
/**
- *
- * @type {UserBackground}
+ * 사용자가 지금 사용 중인 배경의 아이디입니다.
+ * @type {string}
* @memberof User
*/
- background: UserBackground;
+ backgroundId: string;
/**
* 사용자의 프로필 사진으로 가는 하이퍼링크입니다.
* @type {string}
@@ -1740,47 +1932,40 @@ export interface User {
* @memberof User
*/
maxStreak: number;
-}
-/**
- * 사용자의 배경 사진입니다.
- * @export
- * @interface UserBackground
- */
-export interface UserBackground {
/**
- * 배경의 고유 ID입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자가 가지고 있는 코인의 수입니다.
+ * @type {number}
+ * @memberof User
*/
- backgroundId?: string;
+ coins: number;
/**
- * 배경 사진으로 가는 하이퍼링크입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자가 가지고 있는 별가루의 수입니다.
+ * @type {number}
+ * @memberof User
*/
- backgroundImageUrl?: string;
+ stardusts: number;
/**
- * 배경의 제작자를 표시하는 문구입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자가 가입한 날짜입니다.
+ * @type {Date}
+ * @memberof User
*/
- author?: string;
+ joinedAt: Date;
/**
- * 배경의 제작자와 관련된 사이트로 가는 하이퍼링크입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자의 정지 종료 날짜입니다.
+ * @type {Date}
+ * @memberof User
*/
- authorUrl?: string;
+ bannedUntil: Date;
/**
- * 배경의 이름입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자의 PRO 종료 날짜입니다.
+ * @type {Date}
+ * @memberof User
*/
- displayName?: string;
+ proUntil: Date;
/**
- * 배경의 설명입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자의 순위입니다.
+ * @type {number}
+ * @memberof User
*/
- displayDescription?: string;
+ rank: number;
}
diff --git a/src/models/mod.ts b/src/models/mod.ts
index b012b99..ddea7aa 100644
--- a/src/models/mod.ts
+++ b/src/models/mod.ts
@@ -1,5 +1,127 @@
/* tslint:disable */
/* eslint-disable */
+/**
+ * 사용자가 사용할 수 있는 배경입니다.
+ * @export
+ * @interface Background
+ */
+export interface Background {
+ /**
+ * 배경의 ID입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundId: string;
+ /**
+ * 배경 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundImageUrl: string;
+ /**
+ * 배경 사진이 없을 때 대체로 사용할 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ fallbackBackgroundImageUrl?: string | null;
+ /**
+ * 배경 비디오로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundVideoUrl?: string | null;
+ /**
+ * 해당 배경을 획득한 사용자의 수입니다.
+ * @type {number}
+ * @memberof Background
+ */
+ unlockedUserCount: number;
+ /**
+ * 배경의 이름입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ displayName: string;
+ /**
+ * 배경의 설명입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ displayDescription: string;
+ /**
+ * 해당 배경을 얻을 수 있는 조건입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ conditions: string;
+ /**
+ * 해당 배경을 얻을 수 있는 조건이 숨겨져 있는지 여부입니다.
+ * @type {boolean}
+ * @memberof Background
+ */
+ hiddenConditions: boolean;
+ /**
+ * 해당 배경이 일러스트인지 여부입니다.
+ * @type {boolean}
+ * @memberof Background
+ */
+ isIllust: boolean;
+ /**
+ * 해당 배경을 만든 사람들의 정보입니다.
+ * @type {Array}
+ * @memberof Background
+ */
+ authors: Array;
+}
+/**
+ *
+ * @export
+ * @interface BackgroundAuthors
+ */
+export interface BackgroundAuthors {
+ /**
+ * 작가의 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ authorId?: string;
+ /**
+ * 작가의 역할입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ role?: string;
+ /**
+ * 작가의 홈페이지로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ authorUrl?: string | null;
+ /**
+ * 작가의 사용자 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ handle?: string;
+ /**
+ * 작가의 트위터 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ twitter?: string | null;
+ /**
+ * 작가의 인스타그램 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ instagram?: string | null;
+ /**
+ * 작가의 이름입니다.
+ * @type {string}
+ * @memberof BackgroundAuthors
+ */
+ displayName?: string;
+}
/**
* 사용자가 사용할 수 있는 뱃지입니다.
* @export
@@ -30,6 +152,40 @@ export interface Badge {
* @memberof Badge
*/
displayDescription: string;
+ /**
+ *
+ * @type {BadgeTier}
+ * @memberof Badge
+ */
+ badgeTier?: BadgeTier;
+ /**
+ *
+ * @type {BadgeCategory}
+ * @memberof Badge
+ */
+ badgeCategory?: BadgeCategory;
+}
+/**
+ * 뱃지 종류입니다.
+ * @export
+ * @enum {string}
+ */
+export enum BadgeCategory {
+ Achievement = 'achievement',
+ Season = 'season',
+ Event = 'event',
+ Contest = 'contest'
+}
+/**
+ * 뱃지 티어입니다.
+ * @export
+ * @enum {string}
+ */
+export enum BadgeTier {
+ Bronze = 'bronze',
+ Silver = 'silver',
+ Gold = 'gold',
+ Master = 'master'
}
/**
* 클래스 치장입니다.
@@ -118,23 +274,17 @@ export interface FullUser {
*/
bio: string;
/**
- * 사용자가 속한 조직 목록입니다.
- * @type {Array}
- * @memberof FullUser
- */
- organizations: Array;
- /**
- *
- * @type {Badge}
+ * 사용자가 지금 사용 중인 뱃지의 아이디입니다.
+ * @type {string}
* @memberof FullUser
*/
- badge?: Badge;
+ badgeId?: string | null;
/**
- *
- * @type {UserBackground}
+ * 사용자가 지금 사용 중인 배경의 아이디입니다.
+ * @type {string}
* @memberof FullUser
*/
- background: UserBackground;
+ backgroundId: string;
/**
* 사용자의 프로필 사진으로 가는 하이퍼링크입니다.
* @type {string}
@@ -267,12 +417,42 @@ export interface FullUser {
* @memberof FullUser
*/
maxStreak: number;
+ /**
+ * 사용자가 가지고 있는 코인의 수입니다.
+ * @type {number}
+ * @memberof FullUser
+ */
+ coins: number;
+ /**
+ * 사용자가 가지고 있는 별가루의 수입니다.
+ * @type {number}
+ * @memberof FullUser
+ */
+ stardusts: number;
+ /**
+ * 사용자가 가입한 날짜입니다.
+ * @type {Date}
+ * @memberof FullUser
+ */
+ joinedAt: Date;
+ /**
+ * 사용자의 정지 종료 날짜입니다.
+ * @type {Date}
+ * @memberof FullUser
+ */
+ bannedUntil: Date;
+ /**
+ * 사용자의 PRO 종료 날짜입니다.
+ * @type {Date}
+ * @memberof FullUser
+ */
+ proUntil: Date;
/**
* 사용자의 순위입니다.
* @type {number}
* @memberof FullUser
*/
- rank?: number;
+ rank: number;
/**
* 라이벌 여부입니다.
* @type {boolean}
@@ -292,12 +472,6 @@ export interface FullUser {
* @interface FullUserAllOf
*/
export interface FullUserAllOf {
- /**
- * 사용자의 순위입니다.
- * @type {number}
- * @memberof FullUserAllOf
- */
- rank?: number;
/**
* 라이벌 여부입니다.
* @type {boolean}
@@ -1155,23 +1329,17 @@ export interface RankedUser {
*/
bio: string;
/**
- * 사용자가 속한 조직 목록입니다.
- * @type {Array}
- * @memberof RankedUser
- */
- organizations: Array;
- /**
- *
- * @type {Badge}
+ * 사용자가 지금 사용 중인 뱃지의 아이디입니다.
+ * @type {string}
* @memberof RankedUser
*/
- badge?: Badge;
+ badgeId?: string | null;
/**
- *
- * @type {UserBackground}
+ * 사용자가 지금 사용 중인 배경의 아이디입니다.
+ * @type {string}
* @memberof RankedUser
*/
- background: UserBackground;
+ backgroundId: string;
/**
* 사용자의 프로필 사진으로 가는 하이퍼링크입니다.
* @type {string}
@@ -1304,12 +1472,42 @@ export interface RankedUser {
* @memberof RankedUser
*/
maxStreak: number;
+ /**
+ * 사용자가 가지고 있는 코인의 수입니다.
+ * @type {number}
+ * @memberof RankedUser
+ */
+ coins: number;
+ /**
+ * 사용자가 가지고 있는 별가루의 수입니다.
+ * @type {number}
+ * @memberof RankedUser
+ */
+ stardusts: number;
+ /**
+ * 사용자가 가입한 날짜입니다.
+ * @type {Date}
+ * @memberof RankedUser
+ */
+ joinedAt: Date;
+ /**
+ * 사용자의 정지 종료 날짜입니다.
+ * @type {Date}
+ * @memberof RankedUser
+ */
+ bannedUntil: Date;
+ /**
+ * 사용자의 PRO 종료 날짜입니다.
+ * @type {Date}
+ * @memberof RankedUser
+ */
+ proUntil: Date;
/**
* 사용자의 순위입니다.
* @type {number}
* @memberof RankedUser
*/
- rank?: number;
+ rank: number;
}
/**
*
@@ -1591,23 +1789,17 @@ export interface User {
*/
bio: string;
/**
- * 사용자가 속한 조직 목록입니다.
- * @type {Array}
- * @memberof User
- */
- organizations: Array;
- /**
- *
- * @type {Badge}
+ * 사용자가 지금 사용 중인 뱃지의 아이디입니다.
+ * @type {string}
* @memberof User
*/
- badge?: Badge;
+ badgeId?: string | null;
/**
- *
- * @type {UserBackground}
+ * 사용자가 지금 사용 중인 배경의 아이디입니다.
+ * @type {string}
* @memberof User
*/
- background: UserBackground;
+ backgroundId: string;
/**
* 사용자의 프로필 사진으로 가는 하이퍼링크입니다.
* @type {string}
@@ -1740,47 +1932,40 @@ export interface User {
* @memberof User
*/
maxStreak: number;
-}
-/**
- * 사용자의 배경 사진입니다.
- * @export
- * @interface UserBackground
- */
-export interface UserBackground {
/**
- * 배경의 고유 ID입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자가 가지고 있는 코인의 수입니다.
+ * @type {number}
+ * @memberof User
*/
- backgroundId?: string;
+ coins: number;
/**
- * 배경 사진으로 가는 하이퍼링크입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자가 가지고 있는 별가루의 수입니다.
+ * @type {number}
+ * @memberof User
*/
- backgroundImageUrl?: string;
+ stardusts: number;
/**
- * 배경의 제작자를 표시하는 문구입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자가 가입한 날짜입니다.
+ * @type {Date}
+ * @memberof User
*/
- author?: string;
+ joinedAt: Date;
/**
- * 배경의 제작자와 관련된 사이트로 가는 하이퍼링크입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자의 정지 종료 날짜입니다.
+ * @type {Date}
+ * @memberof User
*/
- authorUrl?: string;
+ bannedUntil: Date;
/**
- * 배경의 이름입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자의 PRO 종료 날짜입니다.
+ * @type {Date}
+ * @memberof User
*/
- displayName?: string;
+ proUntil: Date;
/**
- * 배경의 설명입니다.
- * @type {string}
- * @memberof UserBackground
+ * 사용자의 순위입니다.
+ * @type {number}
+ * @memberof User
*/
- displayDescription?: string;
+ rank: number;
}