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; }