From ffd3584245a9a87fcb183de29092bedc108af41b Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Sat, 27 Apr 2024 23:45:00 +0900
Subject: [PATCH] Follow-up solvedac/unofficial-documentation (#32)
Co-authored-by: RanolP <16236317+RanolP@users.noreply.github.com>
---
dist/apis/AccountApi.d.ts | 54 -
dist/apis/BackgroundApi.d.ts | 31 -
dist/apis/BackgroundApi.js | 48 -
dist/apis/BadgeApi.d.ts | 31 -
dist/apis/BadgeApi.js | 48 -
dist/apis/CoinsApi.d.ts | 38 -
dist/apis/CoinsApi.js | 65 -
dist/apis/DefaultApi.d.ts | 57 -
dist/apis/DefaultApi.js | 119 -
dist/apis/OtherApi.d.ts | 28 -
dist/apis/OtherApi.js | 42 -
dist/apis/ProblemApi.d.ts | 64 -
dist/apis/ProblemApi.js | 123 -
dist/apis/RankingApi.d.ts | 109 -
dist/apis/RankingApi.js | 201 --
dist/apis/SearchApi.d.ts | 95 -
dist/apis/SearchApi.js | 172 --
dist/apis/UserApi.d.ts | 57 -
dist/apis/UserApi.js | 106 -
dist/apis/mod.d.ts | 10 -
dist/apis/mod.js | 12 -
dist/cjs/apis/AccountApi.cjs | 132 ++
dist/cjs/apis/AccountApi.d.cts | 59 +
dist/cjs/apis/BackgroundApi.cjs | 78 +
dist/cjs/apis/BackgroundApi.d.cts | 32 +
dist/cjs/apis/BadgeApi.cjs | 78 +
dist/cjs/apis/BadgeApi.d.cts | 32 +
dist/cjs/apis/CoinsApi.cjs | 95 +
dist/cjs/apis/CoinsApi.d.cts | 41 +
dist/cjs/apis/OtherApi.cjs | 69 +
dist/cjs/apis/OtherApi.d.cts | 28 +
dist/cjs/apis/ProblemApi.cjs | 162 ++
dist/cjs/apis/ProblemApi.d.cts | 72 +
dist/cjs/apis/RankingApi.cjs | 249 ++
dist/cjs/apis/RankingApi.d.cts | 116 +
dist/cjs/apis/SearchApi.cjs | 195 ++
dist/cjs/apis/SearchApi.d.cts | 79 +
dist/cjs/apis/UserApi.cjs | 168 ++
dist/cjs/apis/UserApi.d.cts | 72 +
dist/cjs/apis/index.cjs | 27 +
dist/cjs/apis/index.d.cts | 9 +
dist/cjs/index.cjs | 21 +
dist/cjs/index.d.cts | 3 +
dist/cjs/models/index.cjs | 498 ++++
dist/cjs/models/index.d.cts | 2750 ++++++++++++++++++++++
dist/cjs/runtime.cjs | 316 +++
dist/cjs/runtime.d.cts | 180 ++
dist/esm/apis/AccountApi.d.ts | 59 +
dist/{ => esm}/apis/AccountApi.js | 33 +-
dist/esm/apis/BackgroundApi.d.ts | 32 +
dist/esm/apis/BackgroundApi.js | 51 +
dist/esm/apis/BadgeApi.d.ts | 32 +
dist/esm/apis/BadgeApi.js | 51 +
dist/esm/apis/CoinsApi.d.ts | 41 +
dist/esm/apis/CoinsApi.js | 68 +
dist/esm/apis/OtherApi.d.ts | 28 +
dist/esm/apis/OtherApi.js | 42 +
dist/esm/apis/ProblemApi.d.ts | 72 +
dist/esm/apis/ProblemApi.js | 135 ++
dist/esm/apis/RankingApi.d.ts | 116 +
dist/esm/apis/RankingApi.js | 222 ++
dist/esm/apis/SearchApi.d.ts | 79 +
dist/esm/apis/SearchApi.js | 168 ++
dist/esm/apis/UserApi.d.ts | 72 +
dist/esm/apis/UserApi.js | 141 ++
dist/{ => esm}/apis/index.d.ts | 1 -
dist/{ => esm}/apis/index.js | 1 -
dist/{ => esm}/index.d.ts | 0
dist/{ => esm}/index.js | 0
dist/esm/models/index.d.ts | 2750 ++++++++++++++++++++++
dist/esm/models/index.js | 495 ++++
dist/{ => esm}/runtime.d.ts | 106 +-
dist/esm/runtime.js | 302 +++
dist/mod.d.ts | 3 -
dist/mod.js | 5 -
dist/models/index.d.ts | 1972 ----------------
dist/models/index.js | 99 -
dist/models/mod.d.ts | 1966 ----------------
dist/models/mod.js | 99 -
dist/runtime.js | 236 --
package.json | 2 +-
src/.openapi-generator/VERSION | 1 -
src/apis/AccountApi.ts | 132 --
src/apis/BackgroundApi.ts | 66 -
src/apis/BadgeApi.ts | 66 -
src/apis/CoinsApi.ts | 83 -
src/apis/DefaultApi.ts | 148 --
src/apis/OtherApi.ts | 54 -
src/apis/ProblemApi.ts | 164 --
src/apis/RankingApi.ts | 284 ---
src/apis/SearchApi.ts | 235 --
src/apis/UserApi.ts | 148 --
src/{ => cjs}/.openapi-generator-ignore | 0
src/{ => cjs}/.openapi-generator/FILES | 2 +-
src/cjs/.openapi-generator/VERSION | 1 +
src/cjs/apis/AccountApi.cts | 157 ++
src/cjs/apis/BackgroundApi.cts | 75 +
src/cjs/apis/BadgeApi.cts | 75 +
src/cjs/apis/CoinsApi.cts | 92 +
src/cjs/apis/OtherApi.cts | 54 +
src/cjs/apis/ProblemApi.cts | 198 ++
src/cjs/apis/RankingApi.cts | 316 +++
src/cjs/apis/SearchApi.cts | 263 +++
src/cjs/apis/UserApi.cts | 212 ++
src/cjs/apis/index.cts | 11 +
src/cjs/index.cts | 5 +
src/cjs/models/index.cts | 2810 +++++++++++++++++++++++
src/cjs/runtime.cts | 420 ++++
src/esm/.openapi-generator-ignore | 23 +
src/esm/.openapi-generator/FILES | 14 +
src/esm/.openapi-generator/VERSION | 1 +
src/esm/apis/AccountApi.ts | 157 ++
src/esm/apis/BackgroundApi.ts | 75 +
src/esm/apis/BadgeApi.ts | 75 +
src/esm/apis/CoinsApi.ts | 92 +
src/esm/apis/OtherApi.ts | 54 +
src/esm/apis/ProblemApi.ts | 198 ++
src/esm/apis/RankingApi.ts | 316 +++
src/esm/apis/SearchApi.ts | 263 +++
src/esm/apis/UserApi.ts | 212 ++
src/{ => esm}/apis/index.ts | 1 -
src/{ => esm}/apis/mod.ts | 1 -
src/{ => esm}/index.ts | 0
src/{ => esm}/mod.ts | 0
src/esm/models/index.ts | 2810 +++++++++++++++++++++++
src/esm/models/mod.ts | 2810 +++++++++++++++++++++++
src/{ => esm}/runtime.ts | 324 ++-
src/models/index.ts | 1977 ----------------
src/models/mod.ts | 1977 ----------------
129 files changed, 22614 insertions(+), 11388 deletions(-)
delete mode 100644 dist/apis/AccountApi.d.ts
delete mode 100644 dist/apis/BackgroundApi.d.ts
delete mode 100644 dist/apis/BackgroundApi.js
delete mode 100644 dist/apis/BadgeApi.d.ts
delete mode 100644 dist/apis/BadgeApi.js
delete mode 100644 dist/apis/CoinsApi.d.ts
delete mode 100644 dist/apis/CoinsApi.js
delete mode 100644 dist/apis/DefaultApi.d.ts
delete mode 100644 dist/apis/DefaultApi.js
delete mode 100644 dist/apis/OtherApi.d.ts
delete mode 100644 dist/apis/OtherApi.js
delete mode 100644 dist/apis/ProblemApi.d.ts
delete mode 100644 dist/apis/ProblemApi.js
delete mode 100644 dist/apis/RankingApi.d.ts
delete mode 100644 dist/apis/RankingApi.js
delete mode 100644 dist/apis/SearchApi.d.ts
delete mode 100644 dist/apis/SearchApi.js
delete mode 100644 dist/apis/UserApi.d.ts
delete mode 100644 dist/apis/UserApi.js
delete mode 100644 dist/apis/mod.d.ts
delete mode 100644 dist/apis/mod.js
create mode 100644 dist/cjs/apis/AccountApi.cjs
create mode 100644 dist/cjs/apis/AccountApi.d.cts
create mode 100644 dist/cjs/apis/BackgroundApi.cjs
create mode 100644 dist/cjs/apis/BackgroundApi.d.cts
create mode 100644 dist/cjs/apis/BadgeApi.cjs
create mode 100644 dist/cjs/apis/BadgeApi.d.cts
create mode 100644 dist/cjs/apis/CoinsApi.cjs
create mode 100644 dist/cjs/apis/CoinsApi.d.cts
create mode 100644 dist/cjs/apis/OtherApi.cjs
create mode 100644 dist/cjs/apis/OtherApi.d.cts
create mode 100644 dist/cjs/apis/ProblemApi.cjs
create mode 100644 dist/cjs/apis/ProblemApi.d.cts
create mode 100644 dist/cjs/apis/RankingApi.cjs
create mode 100644 dist/cjs/apis/RankingApi.d.cts
create mode 100644 dist/cjs/apis/SearchApi.cjs
create mode 100644 dist/cjs/apis/SearchApi.d.cts
create mode 100644 dist/cjs/apis/UserApi.cjs
create mode 100644 dist/cjs/apis/UserApi.d.cts
create mode 100644 dist/cjs/apis/index.cjs
create mode 100644 dist/cjs/apis/index.d.cts
create mode 100644 dist/cjs/index.cjs
create mode 100644 dist/cjs/index.d.cts
create mode 100644 dist/cjs/models/index.cjs
create mode 100644 dist/cjs/models/index.d.cts
create mode 100644 dist/cjs/runtime.cjs
create mode 100644 dist/cjs/runtime.d.cts
create mode 100644 dist/esm/apis/AccountApi.d.ts
rename dist/{ => esm}/apis/AccountApi.js (60%)
create mode 100644 dist/esm/apis/BackgroundApi.d.ts
create mode 100644 dist/esm/apis/BackgroundApi.js
create mode 100644 dist/esm/apis/BadgeApi.d.ts
create mode 100644 dist/esm/apis/BadgeApi.js
create mode 100644 dist/esm/apis/CoinsApi.d.ts
create mode 100644 dist/esm/apis/CoinsApi.js
create mode 100644 dist/esm/apis/OtherApi.d.ts
create mode 100644 dist/esm/apis/OtherApi.js
create mode 100644 dist/esm/apis/ProblemApi.d.ts
create mode 100644 dist/esm/apis/ProblemApi.js
create mode 100644 dist/esm/apis/RankingApi.d.ts
create mode 100644 dist/esm/apis/RankingApi.js
create mode 100644 dist/esm/apis/SearchApi.d.ts
create mode 100644 dist/esm/apis/SearchApi.js
create mode 100644 dist/esm/apis/UserApi.d.ts
create mode 100644 dist/esm/apis/UserApi.js
rename dist/{ => esm}/apis/index.d.ts (89%)
rename dist/{ => esm}/apis/index.js (90%)
rename dist/{ => esm}/index.d.ts (100%)
rename dist/{ => esm}/index.js (100%)
create mode 100644 dist/esm/models/index.d.ts
create mode 100644 dist/esm/models/index.js
rename dist/{ => esm}/runtime.d.ts (61%)
create mode 100644 dist/esm/runtime.js
delete mode 100644 dist/mod.d.ts
delete mode 100644 dist/mod.js
delete mode 100644 dist/models/index.d.ts
delete mode 100644 dist/models/index.js
delete mode 100644 dist/models/mod.d.ts
delete mode 100644 dist/models/mod.js
delete mode 100644 dist/runtime.js
delete mode 100644 src/.openapi-generator/VERSION
delete mode 100644 src/apis/AccountApi.ts
delete mode 100644 src/apis/BackgroundApi.ts
delete mode 100644 src/apis/BadgeApi.ts
delete mode 100644 src/apis/CoinsApi.ts
delete mode 100644 src/apis/DefaultApi.ts
delete mode 100644 src/apis/OtherApi.ts
delete mode 100644 src/apis/ProblemApi.ts
delete mode 100644 src/apis/RankingApi.ts
delete mode 100644 src/apis/SearchApi.ts
delete mode 100644 src/apis/UserApi.ts
rename src/{ => cjs}/.openapi-generator-ignore (100%)
rename src/{ => cjs}/.openapi-generator/FILES (89%)
create mode 100644 src/cjs/.openapi-generator/VERSION
create mode 100644 src/cjs/apis/AccountApi.cts
create mode 100644 src/cjs/apis/BackgroundApi.cts
create mode 100644 src/cjs/apis/BadgeApi.cts
create mode 100644 src/cjs/apis/CoinsApi.cts
create mode 100644 src/cjs/apis/OtherApi.cts
create mode 100644 src/cjs/apis/ProblemApi.cts
create mode 100644 src/cjs/apis/RankingApi.cts
create mode 100644 src/cjs/apis/SearchApi.cts
create mode 100644 src/cjs/apis/UserApi.cts
create mode 100644 src/cjs/apis/index.cts
create mode 100644 src/cjs/index.cts
create mode 100644 src/cjs/models/index.cts
create mode 100644 src/cjs/runtime.cts
create mode 100644 src/esm/.openapi-generator-ignore
create mode 100644 src/esm/.openapi-generator/FILES
create mode 100644 src/esm/.openapi-generator/VERSION
create mode 100644 src/esm/apis/AccountApi.ts
create mode 100644 src/esm/apis/BackgroundApi.ts
create mode 100644 src/esm/apis/BadgeApi.ts
create mode 100644 src/esm/apis/CoinsApi.ts
create mode 100644 src/esm/apis/OtherApi.ts
create mode 100644 src/esm/apis/ProblemApi.ts
create mode 100644 src/esm/apis/RankingApi.ts
create mode 100644 src/esm/apis/SearchApi.ts
create mode 100644 src/esm/apis/UserApi.ts
rename src/{ => esm}/apis/index.ts (90%)
rename src/{ => esm}/apis/mod.ts (90%)
rename src/{ => esm}/index.ts (100%)
rename src/{ => esm}/mod.ts (100%)
create mode 100644 src/esm/models/index.ts
create mode 100644 src/esm/models/mod.ts
rename src/{ => esm}/runtime.ts (54%)
delete mode 100644 src/models/index.ts
delete mode 100644 src/models/mod.ts
diff --git a/dist/apis/AccountApi.d.ts b/dist/apis/AccountApi.d.ts
deleted file mode 100644
index 9b8d2fa..0000000
--- a/dist/apis/AccountApi.d.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * @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 { InlineObject, InlineObject1, InlineResponse200 } from '../models/index.js';
-export interface RedeemCodeRequest {
- inlineObject: InlineObject;
-}
-export interface UpdateAccountSettingsRequest {
- inlineObject1: InlineObject1;
-}
-/**
- *
- */
-export declare class AccountApi extends runtime.BaseAPI {
- /**
- * 리딤 코드와 배지, 배경 등을 교환합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
- * 코드 교환하기
- */
- redeemCodeRaw(requestParameters: RedeemCodeRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 리딤 코드와 배지, 배경 등을 교환합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
- * 코드 교환하기
- */
- redeemCode(requestParameters: RedeemCodeRequest, initOverrides?: RequestInit): Promise;
- /**
- * 계정의 설정을 변경합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
- * 계정 설정 변경하기
- */
- updateAccountSettingsRaw(requestParameters: UpdateAccountSettingsRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 계정의 설정을 변경합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
- * 계정 설정 변경하기
- */
- updateAccountSettings(requestParameters: UpdateAccountSettingsRequest, initOverrides?: RequestInit): Promise;
- /**
- * 현재 로그인한 계정 정보를 가져옵니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
- * 로그인 정보 가져오기
- */
- verifyAccountCredentialsRaw(initOverrides?: RequestInit): Promise>;
- /**
- * 현재 로그인한 계정 정보를 가져옵니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
- * 로그인 정보 가져오기
- */
- verifyAccountCredentials(initOverrides?: RequestInit): Promise;
-}
diff --git a/dist/apis/BackgroundApi.d.ts b/dist/apis/BackgroundApi.d.ts
deleted file mode 100644
index 32eaef1..0000000
--- a/dist/apis/BackgroundApi.d.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * @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
deleted file mode 100644
index d50fed8..0000000
--- a/dist/apis/BackgroundApi.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/* 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
deleted file mode 100644
index 720680d..0000000
--- a/dist/apis/BadgeApi.d.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * @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
deleted file mode 100644
index c0f7a35..0000000
--- a/dist/apis/BadgeApi.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/* 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/CoinsApi.d.ts b/dist/apis/CoinsApi.d.ts
deleted file mode 100644
index 7129db0..0000000
--- a/dist/apis/CoinsApi.d.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * @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 { CoinshopProduct, InlineResponse2001 } from '../models/index.js';
-/**
- *
- */
-export declare class CoinsApi extends runtime.BaseAPI {
- /**
- * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
- * 코인샵 판매 목록 가져오기
- */
- getCoinShopProductsRaw(initOverrides?: RequestInit): Promise>>;
- /**
- * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
- * 코인샵 판매 목록 가져오기
- */
- getCoinShopProducts(initOverrides?: RequestInit): Promise>;
- /**
- * 현재 코인 → 별조각 환율을 가져옵니다.
- * 코인 → 별조각 환율 가져오기
- */
- getCoinsExchangeRateRaw(initOverrides?: RequestInit): Promise>;
- /**
- * 현재 코인 → 별조각 환율을 가져옵니다.
- * 코인 → 별조각 환율 가져오기
- */
- getCoinsExchangeRate(initOverrides?: RequestInit): Promise;
-}
diff --git a/dist/apis/CoinsApi.js b/dist/apis/CoinsApi.js
deleted file mode 100644
index 2eb48d2..0000000
--- a/dist/apis/CoinsApi.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/* 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 CoinsApi extends runtime.BaseAPI {
- /**
- * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
- * 코인샵 판매 목록 가져오기
- */
- async getCoinShopProductsRaw(initOverrides) {
- const queryParameters = {};
- const headerParameters = {};
- const response = await this.request({
- path: `/coins/shop/list`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
- * 코인샵 판매 목록 가져오기
- */
- async getCoinShopProducts(initOverrides) {
- const response = await this.getCoinShopProductsRaw(initOverrides);
- return await response.value();
- }
- /**
- * 현재 코인 → 별조각 환율을 가져옵니다.
- * 코인 → 별조각 환율 가져오기
- */
- async getCoinsExchangeRateRaw(initOverrides) {
- const queryParameters = {};
- const headerParameters = {};
- const response = await this.request({
- path: `/coins/exchange_rate`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 현재 코인 → 별조각 환율을 가져옵니다.
- * 코인 → 별조각 환율 가져오기
- */
- async getCoinsExchangeRate(initOverrides) {
- const response = await this.getCoinsExchangeRateRaw(initOverrides);
- return await response.value();
- }
-}
diff --git a/dist/apis/DefaultApi.d.ts b/dist/apis/DefaultApi.d.ts
deleted file mode 100644
index c24c7aa..0000000
--- a/dist/apis/DefaultApi.d.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * @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 declare class DefaultApi extends runtime.BaseAPI {
- /**
- * TODO
- */
- postShowGetRaw(initOverrides?: RequestInit): Promise>;
- /**
- * TODO
- */
- postShowGet(initOverrides?: RequestInit): Promise;
- /**
- * TODO
- */
- tagListGetRaw(initOverrides?: RequestInit): Promise>;
- /**
- * TODO
- */
- tagListGet(initOverrides?: RequestInit): Promise;
- /**
- * TODO
- */
- userClassStatsGetRaw(initOverrides?: RequestInit): Promise>;
- /**
- * TODO
- */
- userClassStatsGet(initOverrides?: RequestInit): Promise;
- /**
- * TODO
- */
- userContributionStatsGetRaw(initOverrides?: RequestInit): Promise>;
- /**
- * TODO
- */
- userContributionStatsGet(initOverrides?: RequestInit): Promise;
- /**
- * TODO
- */
- userProblemTagStatsGetRaw(initOverrides?: RequestInit): Promise>;
- /**
- * TODO
- */
- userProblemTagStatsGet(initOverrides?: RequestInit): Promise;
-}
diff --git a/dist/apis/DefaultApi.js b/dist/apis/DefaultApi.js
deleted file mode 100644
index 20656d7..0000000
--- a/dist/apis/DefaultApi.js
+++ /dev/null
@@ -1,119 +0,0 @@
-/* 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 DefaultApi extends runtime.BaseAPI {
- /**
- * TODO
- */
- async postShowGetRaw(initOverrides) {
- const queryParameters = {};
- const headerParameters = {};
- const response = await this.request({
- path: `/post/show`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.VoidApiResponse(response);
- }
- /**
- * TODO
- */
- async postShowGet(initOverrides) {
- await this.postShowGetRaw(initOverrides);
- }
- /**
- * TODO
- */
- async tagListGetRaw(initOverrides) {
- const queryParameters = {};
- const headerParameters = {};
- const response = await this.request({
- path: `/tag/list`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.VoidApiResponse(response);
- }
- /**
- * TODO
- */
- async tagListGet(initOverrides) {
- await this.tagListGetRaw(initOverrides);
- }
- /**
- * TODO
- */
- async userClassStatsGetRaw(initOverrides) {
- const queryParameters = {};
- const headerParameters = {};
- const response = await this.request({
- path: `/user/class_stats`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.VoidApiResponse(response);
- }
- /**
- * TODO
- */
- async userClassStatsGet(initOverrides) {
- await this.userClassStatsGetRaw(initOverrides);
- }
- /**
- * TODO
- */
- async userContributionStatsGetRaw(initOverrides) {
- const queryParameters = {};
- const headerParameters = {};
- const response = await this.request({
- path: `/user/contribution_stats`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.VoidApiResponse(response);
- }
- /**
- * TODO
- */
- async userContributionStatsGet(initOverrides) {
- await this.userContributionStatsGetRaw(initOverrides);
- }
- /**
- * TODO
- */
- async userProblemTagStatsGetRaw(initOverrides) {
- const queryParameters = {};
- const headerParameters = {};
- const response = await this.request({
- path: `/user/problem_tag_stats`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.VoidApiResponse(response);
- }
- /**
- * TODO
- */
- async userProblemTagStatsGet(initOverrides) {
- await this.userProblemTagStatsGetRaw(initOverrides);
- }
-}
diff --git a/dist/apis/OtherApi.d.ts b/dist/apis/OtherApi.d.ts
deleted file mode 100644
index 798a7b8..0000000
--- a/dist/apis/OtherApi.d.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * @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 { SolvedAcStatistics } from '../models/index.js';
-/**
- *
- */
-export declare class OtherApi extends runtime.BaseAPI {
- /**
- * solved.ac 통계를 가져옵니다.
- * solved.ac 통계 가져오기
- */
- getSiteStatsRaw(initOverrides?: RequestInit): Promise>;
- /**
- * solved.ac 통계를 가져옵니다.
- * solved.ac 통계 가져오기
- */
- getSiteStats(initOverrides?: RequestInit): Promise;
-}
diff --git a/dist/apis/OtherApi.js b/dist/apis/OtherApi.js
deleted file mode 100644
index 66375fb..0000000
--- a/dist/apis/OtherApi.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/* 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 OtherApi extends runtime.BaseAPI {
- /**
- * solved.ac 통계를 가져옵니다.
- * solved.ac 통계 가져오기
- */
- async getSiteStatsRaw(initOverrides) {
- const queryParameters = {};
- const headerParameters = {};
- const response = await this.request({
- path: `/site/stats`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * solved.ac 통계를 가져옵니다.
- * solved.ac 통계 가져오기
- */
- async getSiteStats(initOverrides) {
- const response = await this.getSiteStatsRaw(initOverrides);
- return await response.value();
- }
-}
diff --git a/dist/apis/ProblemApi.d.ts b/dist/apis/ProblemApi.d.ts
deleted file mode 100644
index 04eb218..0000000
--- a/dist/apis/ProblemApi.d.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * @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 { InlineResponse2002, InlineResponse2003, TaggedProblem } from '../models/index.js';
-export interface GetProblemByIdRequest {
- problemId: number;
-}
-export interface GetProblemByIdArrayRequest {
- problemIds: string;
-}
-/**
- *
- */
-export declare class ProblemApi extends runtime.BaseAPI {
- /**
- * 문제 개수를 문제 CLASS별로 가져옵니다.
- * CLASS별 문제 수 가져오기
- */
- getClassProblemCountRaw(initOverrides?: RequestInit): Promise>>;
- /**
- * 문제 개수를 문제 CLASS별로 가져옵니다.
- * CLASS별 문제 수 가져오기
- */
- getClassProblemCount(initOverrides?: RequestInit): Promise>;
- /**
- * 해당하는 ID의 문제를 가져옵니다.
- * ID로 문제 가져오기
- */
- getProblemByIdRaw(requestParameters: GetProblemByIdRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 해당하는 ID의 문제를 가져옵니다.
- * ID로 문제 가져오기
- */
- getProblemById(requestParameters: GetProblemByIdRequest, initOverrides?: RequestInit): Promise;
- /**
- * 해당하는 ID의 문제 목록을 가져옵니다.
- * ID 목록으로 문제 목록 가져오기
- */
- getProblemByIdArrayRaw(requestParameters: GetProblemByIdArrayRequest, initOverrides?: RequestInit): Promise>>;
- /**
- * 해당하는 ID의 문제 목록을 가져옵니다.
- * ID 목록으로 문제 목록 가져오기
- */
- getProblemByIdArray(requestParameters: GetProblemByIdArrayRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 문제 개수를 문제 수준별로 가져옵니다.
- * 수준별 문제 수 가져오기
- */
- getProblemLevelRaw(initOverrides?: RequestInit): Promise>>;
- /**
- * 문제 개수를 문제 수준별로 가져옵니다.
- * 수준별 문제 수 가져오기
- */
- getProblemLevel(initOverrides?: RequestInit): Promise>;
-}
diff --git a/dist/apis/ProblemApi.js b/dist/apis/ProblemApi.js
deleted file mode 100644
index 58877d5..0000000
--- a/dist/apis/ProblemApi.js
+++ /dev/null
@@ -1,123 +0,0 @@
-/* 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 ProblemApi extends runtime.BaseAPI {
- /**
- * 문제 개수를 문제 CLASS별로 가져옵니다.
- * CLASS별 문제 수 가져오기
- */
- async getClassProblemCountRaw(initOverrides) {
- const queryParameters = {};
- const headerParameters = {};
- const response = await this.request({
- path: `/problem/class`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 문제 개수를 문제 CLASS별로 가져옵니다.
- * CLASS별 문제 수 가져오기
- */
- async getClassProblemCount(initOverrides) {
- const response = await this.getClassProblemCountRaw(initOverrides);
- return await response.value();
- }
- /**
- * 해당하는 ID의 문제를 가져옵니다.
- * ID로 문제 가져오기
- */
- async getProblemByIdRaw(requestParameters, initOverrides) {
- if (requestParameters.problemId === null || requestParameters.problemId === undefined) {
- throw new runtime.RequiredError('problemId', 'Required parameter requestParameters.problemId was null or undefined when calling getProblemById.');
- }
- const queryParameters = {};
- if (requestParameters.problemId !== undefined) {
- queryParameters['problemId'] = requestParameters.problemId;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/problem/show`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 해당하는 ID의 문제를 가져옵니다.
- * ID로 문제 가져오기
- */
- async getProblemById(requestParameters, initOverrides) {
- const response = await this.getProblemByIdRaw(requestParameters, initOverrides);
- return await response.value();
- }
- /**
- * 해당하는 ID의 문제 목록을 가져옵니다.
- * ID 목록으로 문제 목록 가져오기
- */
- async getProblemByIdArrayRaw(requestParameters, initOverrides) {
- if (requestParameters.problemIds === null || requestParameters.problemIds === undefined) {
- throw new runtime.RequiredError('problemIds', 'Required parameter requestParameters.problemIds was null or undefined when calling getProblemByIdArray.');
- }
- const queryParameters = {};
- if (requestParameters.problemIds !== undefined) {
- queryParameters['problemIds'] = requestParameters.problemIds;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/problem/lookup`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 해당하는 ID의 문제 목록을 가져옵니다.
- * ID 목록으로 문제 목록 가져오기
- */
- async getProblemByIdArray(requestParameters, initOverrides) {
- const response = await this.getProblemByIdArrayRaw(requestParameters, initOverrides);
- return await response.value();
- }
- /**
- * 문제 개수를 문제 수준별로 가져옵니다.
- * 수준별 문제 수 가져오기
- */
- async getProblemLevelRaw(initOverrides) {
- const queryParameters = {};
- const headerParameters = {};
- const response = await this.request({
- path: `/problem/level`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 문제 개수를 문제 수준별로 가져옵니다.
- * 수준별 문제 수 가져오기
- */
- async getProblemLevel(initOverrides) {
- const response = await this.getProblemLevelRaw(initOverrides);
- return await response.value();
- }
-}
diff --git a/dist/apis/RankingApi.d.ts b/dist/apis/RankingApi.d.ts
deleted file mode 100644
index 14a0583..0000000
--- a/dist/apis/RankingApi.d.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- * @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 { InlineResponse20010, InlineResponse2004, InlineResponse2005, InlineResponse2006, InlineResponse2007, InlineResponse2008, InlineResponse2009 } from '../models/index.js';
-export interface GetOrganizationRankingRequest {
- page?: number;
-}
-export interface GetRankingByClassRequest {
- page?: number;
-}
-export interface GetRankingByContributionRequest {
- page?: number;
-}
-export interface GetRankingByStreakRequest {
- page?: number;
-}
-export interface GetRankingByTierRequest {
- page?: number;
-}
-export interface GetReverseRivalRankingRequest {
- page?: number;
-}
-export interface GetRivalRankingRequest {
- page?: number;
-}
-/**
- *
- */
-export declare class RankingApi extends runtime.BaseAPI {
- /**
- * 레이팅에 따른 조직 순위를 가져옵니다.
- * 조직 순위 가져오기
- */
- getOrganizationRankingRaw(requestParameters: GetOrganizationRankingRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 레이팅에 따른 조직 순위를 가져옵니다.
- * 조직 순위 가져오기
- */
- getOrganizationRanking(requestParameters: GetOrganizationRankingRequest, initOverrides?: RequestInit): Promise;
- /**
- * 사용자 CLASS에 따른 순위를 가져옵니다.
- * CLASS 순위 가져오기
- */
- getRankingByClassRaw(requestParameters: GetRankingByClassRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 사용자 CLASS에 따른 순위를 가져옵니다.
- * CLASS 순위 가져오기
- */
- getRankingByClass(requestParameters: GetRankingByClassRequest, initOverrides?: RequestInit): Promise;
- /**
- * 기여 횟수에 따른 순위를 가져옵니다.
- * 기여 순위 가져오기
- */
- getRankingByContributionRaw(requestParameters: GetRankingByContributionRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 기여 횟수에 따른 순위를 가져옵니다.
- * 기여 순위 가져오기
- */
- getRankingByContribution(requestParameters: GetRankingByContributionRequest, initOverrides?: RequestInit): Promise;
- /**
- * 최장 스트릭에 따른 순위를 가져옵니다.
- * 최장 스트릭 순위 가져오기
- */
- getRankingByStreakRaw(requestParameters: GetRankingByStreakRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 최장 스트릭에 따른 순위를 가져옵니다.
- * 최장 스트릭 순위 가져오기
- */
- getRankingByStreak(requestParameters: GetRankingByStreakRequest, initOverrides?: RequestInit): Promise;
- /**
- * 사용자 티어에 따른 순위를 가져옵니다.
- * 티어 순위 가져오기
- */
- getRankingByTierRaw(requestParameters: GetRankingByTierRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 사용자 티어에 따른 순위를 가져옵니다.
- * 티어 순위 가져오기
- */
- getRankingByTier(requestParameters: GetRankingByTierRequest, initOverrides?: RequestInit): Promise;
- /**
- * 현재 사용자의 역라이벌 티어 순위를 가져옵니다.
- * 역라이벌 순위 가져오기
- */
- getReverseRivalRankingRaw(requestParameters: GetReverseRivalRankingRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 현재 사용자의 역라이벌 티어 순위를 가져옵니다.
- * 역라이벌 순위 가져오기
- */
- getReverseRivalRanking(requestParameters: GetReverseRivalRankingRequest, initOverrides?: RequestInit): Promise;
- /**
- * 현재 사용자의 라이벌 티어 순위를 가져옵니다.
- * 라이벌 순위 가져오기
- */
- getRivalRankingRaw(requestParameters: GetRivalRankingRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 현재 사용자의 라이벌 티어 순위를 가져옵니다.
- * 라이벌 순위 가져오기
- */
- getRivalRanking(requestParameters: GetRivalRankingRequest, initOverrides?: RequestInit): Promise;
-}
diff --git a/dist/apis/RankingApi.js b/dist/apis/RankingApi.js
deleted file mode 100644
index 6d072fb..0000000
--- a/dist/apis/RankingApi.js
+++ /dev/null
@@ -1,201 +0,0 @@
-/* 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 RankingApi extends runtime.BaseAPI {
- /**
- * 레이팅에 따른 조직 순위를 가져옵니다.
- * 조직 순위 가져오기
- */
- async getOrganizationRankingRaw(requestParameters, initOverrides) {
- const queryParameters = {};
- if (requestParameters.page !== undefined) {
- queryParameters['page'] = requestParameters.page;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/ranking/organization`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 레이팅에 따른 조직 순위를 가져옵니다.
- * 조직 순위 가져오기
- */
- async getOrganizationRanking(requestParameters, initOverrides) {
- const response = await this.getOrganizationRankingRaw(requestParameters, initOverrides);
- return await response.value();
- }
- /**
- * 사용자 CLASS에 따른 순위를 가져옵니다.
- * CLASS 순위 가져오기
- */
- async getRankingByClassRaw(requestParameters, initOverrides) {
- const queryParameters = {};
- if (requestParameters.page !== undefined) {
- queryParameters['page'] = requestParameters.page;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/ranking/class`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 사용자 CLASS에 따른 순위를 가져옵니다.
- * CLASS 순위 가져오기
- */
- async getRankingByClass(requestParameters, initOverrides) {
- const response = await this.getRankingByClassRaw(requestParameters, initOverrides);
- return await response.value();
- }
- /**
- * 기여 횟수에 따른 순위를 가져옵니다.
- * 기여 순위 가져오기
- */
- async getRankingByContributionRaw(requestParameters, initOverrides) {
- const queryParameters = {};
- if (requestParameters.page !== undefined) {
- queryParameters['page'] = requestParameters.page;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/ranking/contribution`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 기여 횟수에 따른 순위를 가져옵니다.
- * 기여 순위 가져오기
- */
- async getRankingByContribution(requestParameters, initOverrides) {
- const response = await this.getRankingByContributionRaw(requestParameters, initOverrides);
- return await response.value();
- }
- /**
- * 최장 스트릭에 따른 순위를 가져옵니다.
- * 최장 스트릭 순위 가져오기
- */
- async getRankingByStreakRaw(requestParameters, initOverrides) {
- const queryParameters = {};
- if (requestParameters.page !== undefined) {
- queryParameters['page'] = requestParameters.page;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/ranking/streak`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 최장 스트릭에 따른 순위를 가져옵니다.
- * 최장 스트릭 순위 가져오기
- */
- async getRankingByStreak(requestParameters, initOverrides) {
- const response = await this.getRankingByStreakRaw(requestParameters, initOverrides);
- return await response.value();
- }
- /**
- * 사용자 티어에 따른 순위를 가져옵니다.
- * 티어 순위 가져오기
- */
- async getRankingByTierRaw(requestParameters, initOverrides) {
- const queryParameters = {};
- if (requestParameters.page !== undefined) {
- queryParameters['page'] = requestParameters.page;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/ranking/tier`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 사용자 티어에 따른 순위를 가져옵니다.
- * 티어 순위 가져오기
- */
- async getRankingByTier(requestParameters, initOverrides) {
- const response = await this.getRankingByTierRaw(requestParameters, initOverrides);
- return await response.value();
- }
- /**
- * 현재 사용자의 역라이벌 티어 순위를 가져옵니다.
- * 역라이벌 순위 가져오기
- */
- async getReverseRivalRankingRaw(requestParameters, initOverrides) {
- const queryParameters = {};
- if (requestParameters.page !== undefined) {
- queryParameters['page'] = requestParameters.page;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/ranking/reverse_rival`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 현재 사용자의 역라이벌 티어 순위를 가져옵니다.
- * 역라이벌 순위 가져오기
- */
- async getReverseRivalRanking(requestParameters, initOverrides) {
- const response = await this.getReverseRivalRankingRaw(requestParameters, initOverrides);
- return await response.value();
- }
- /**
- * 현재 사용자의 라이벌 티어 순위를 가져옵니다.
- * 라이벌 순위 가져오기
- */
- async getRivalRankingRaw(requestParameters, initOverrides) {
- const queryParameters = {};
- if (requestParameters.page !== undefined) {
- queryParameters['page'] = requestParameters.page;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/ranking/rival`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 현재 사용자의 라이벌 티어 순위를 가져옵니다.
- * 라이벌 순위 가져오기
- */
- async getRivalRanking(requestParameters, initOverrides) {
- const response = await this.getRivalRankingRaw(requestParameters, initOverrides);
- return await response.value();
- }
-}
diff --git a/dist/apis/SearchApi.d.ts b/dist/apis/SearchApi.d.ts
deleted file mode 100644
index a9fe5ba..0000000
--- a/dist/apis/SearchApi.d.ts
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * @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 { InlineResponse20011, InlineResponse20012, InlineResponse20013, InlineResponse20014 } from '../models/index.js';
-export interface GetSearchAutoCompletionRequest {
- query: string;
-}
-export interface SearchProblemRequest {
- query: string;
- page?: number;
- sort?: SearchProblemSortEnum;
- direction?: SearchProblemDirectionEnum;
-}
-export interface SearchProblemTagRequest {
- query: string;
- page?: number;
-}
-export interface SearchUserRequest {
- query: string;
- page?: number;
-}
-/**
- *
- */
-export declare class SearchApi extends runtime.BaseAPI {
- /**
- * 주어진 쿼리에 따라 검색해보고, 자동 완성에 적합하도록 가공한 정보를 돌려줍니다.
- * 검색 자동완성 구하기
- */
- getSearchAutoCompletionRaw(requestParameters: GetSearchAutoCompletionRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 주어진 쿼리에 따라 검색해보고, 자동 완성에 적합하도록 가공한 정보를 돌려줍니다.
- * 검색 자동완성 구하기
- */
- getSearchAutoCompletion(requestParameters: GetSearchAutoCompletionRequest, initOverrides?: RequestInit): Promise;
- /**
- * 주어진 쿼리에 따라 문제를 검색합니다.
- * 문제 검색하기
- */
- searchProblemRaw(requestParameters: SearchProblemRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 주어진 쿼리에 따라 문제를 검색합니다.
- * 문제 검색하기
- */
- searchProblem(requestParameters: SearchProblemRequest, initOverrides?: RequestInit): Promise;
- /**
- * 주어진 쿼리에 따라 문제 태그를 검색합니다.
- * 문제 태그 검색하기
- */
- searchProblemTagRaw(requestParameters: SearchProblemTagRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 주어진 쿼리에 따라 문제 태그를 검색합니다.
- * 문제 태그 검색하기
- */
- searchProblemTag(requestParameters: SearchProblemTagRequest, initOverrides?: RequestInit): Promise;
- /**
- * 주어진 쿼리에 따라 사용자를 검색합니다.
- * 사용자 검색하기
- */
- searchUserRaw(requestParameters: SearchUserRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 주어진 쿼리에 따라 사용자를 검색합니다.
- * 사용자 검색하기
- */
- searchUser(requestParameters: SearchUserRequest, initOverrides?: RequestInit): Promise;
-}
-/**
- * @export
- * @enum {string}
- */
-export declare enum SearchProblemSortEnum {
- Id = "id",
- Level = "level",
- Title = "title",
- Solved = "solved",
- AverageTry = "average_try",
- Random = "random"
-}
-/**
- * @export
- * @enum {string}
- */
-export declare enum SearchProblemDirectionEnum {
- Asc = "asc",
- Desc = "desc"
-}
diff --git a/dist/apis/SearchApi.js b/dist/apis/SearchApi.js
deleted file mode 100644
index a43d7ad..0000000
--- a/dist/apis/SearchApi.js
+++ /dev/null
@@ -1,172 +0,0 @@
-/* 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 SearchApi extends runtime.BaseAPI {
- /**
- * 주어진 쿼리에 따라 검색해보고, 자동 완성에 적합하도록 가공한 정보를 돌려줍니다.
- * 검색 자동완성 구하기
- */
- async getSearchAutoCompletionRaw(requestParameters, initOverrides) {
- if (requestParameters.query === null || requestParameters.query === undefined) {
- throw new runtime.RequiredError('query', 'Required parameter requestParameters.query was null or undefined when calling getSearchAutoCompletion.');
- }
- const queryParameters = {};
- if (requestParameters.query !== undefined) {
- queryParameters['query'] = requestParameters.query;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/search/suggestion`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 주어진 쿼리에 따라 검색해보고, 자동 완성에 적합하도록 가공한 정보를 돌려줍니다.
- * 검색 자동완성 구하기
- */
- async getSearchAutoCompletion(requestParameters, initOverrides) {
- const response = await this.getSearchAutoCompletionRaw(requestParameters, initOverrides);
- return await response.value();
- }
- /**
- * 주어진 쿼리에 따라 문제를 검색합니다.
- * 문제 검색하기
- */
- async searchProblemRaw(requestParameters, initOverrides) {
- if (requestParameters.query === null || requestParameters.query === undefined) {
- throw new runtime.RequiredError('query', 'Required parameter requestParameters.query was null or undefined when calling searchProblem.');
- }
- const queryParameters = {};
- if (requestParameters.query !== undefined) {
- queryParameters['query'] = requestParameters.query;
- }
- if (requestParameters.page !== undefined) {
- queryParameters['page'] = requestParameters.page;
- }
- if (requestParameters.sort !== undefined) {
- queryParameters['sort'] = requestParameters.sort;
- }
- if (requestParameters.direction !== undefined) {
- queryParameters['direction'] = requestParameters.direction;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/search/problem`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 주어진 쿼리에 따라 문제를 검색합니다.
- * 문제 검색하기
- */
- async searchProblem(requestParameters, initOverrides) {
- const response = await this.searchProblemRaw(requestParameters, initOverrides);
- return await response.value();
- }
- /**
- * 주어진 쿼리에 따라 문제 태그를 검색합니다.
- * 문제 태그 검색하기
- */
- async searchProblemTagRaw(requestParameters, initOverrides) {
- if (requestParameters.query === null || requestParameters.query === undefined) {
- throw new runtime.RequiredError('query', 'Required parameter requestParameters.query was null or undefined when calling searchProblemTag.');
- }
- const queryParameters = {};
- if (requestParameters.query !== undefined) {
- queryParameters['query'] = requestParameters.query;
- }
- if (requestParameters.page !== undefined) {
- queryParameters['page'] = requestParameters.page;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/search/tag`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 주어진 쿼리에 따라 문제 태그를 검색합니다.
- * 문제 태그 검색하기
- */
- async searchProblemTag(requestParameters, initOverrides) {
- const response = await this.searchProblemTagRaw(requestParameters, initOverrides);
- return await response.value();
- }
- /**
- * 주어진 쿼리에 따라 사용자를 검색합니다.
- * 사용자 검색하기
- */
- async searchUserRaw(requestParameters, initOverrides) {
- if (requestParameters.query === null || requestParameters.query === undefined) {
- throw new runtime.RequiredError('query', 'Required parameter requestParameters.query was null or undefined when calling searchUser.');
- }
- const queryParameters = {};
- if (requestParameters.query !== undefined) {
- queryParameters['query'] = requestParameters.query;
- }
- if (requestParameters.page !== undefined) {
- queryParameters['page'] = requestParameters.page;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/search/user`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 주어진 쿼리에 따라 사용자를 검색합니다.
- * 사용자 검색하기
- */
- async searchUser(requestParameters, initOverrides) {
- const response = await this.searchUserRaw(requestParameters, initOverrides);
- return await response.value();
- }
-}
-/**
- * @export
- * @enum {string}
- */
-export var SearchProblemSortEnum;
-(function (SearchProblemSortEnum) {
- SearchProblemSortEnum["Id"] = "id";
- SearchProblemSortEnum["Level"] = "level";
- SearchProblemSortEnum["Title"] = "title";
- SearchProblemSortEnum["Solved"] = "solved";
- SearchProblemSortEnum["AverageTry"] = "average_try";
- SearchProblemSortEnum["Random"] = "random";
-})(SearchProblemSortEnum || (SearchProblemSortEnum = {}));
-/**
- * @export
- * @enum {string}
- */
-export var SearchProblemDirectionEnum;
-(function (SearchProblemDirectionEnum) {
- SearchProblemDirectionEnum["Asc"] = "asc";
- SearchProblemDirectionEnum["Desc"] = "desc";
-})(SearchProblemDirectionEnum || (SearchProblemDirectionEnum = {}));
diff --git a/dist/apis/UserApi.d.ts b/dist/apis/UserApi.d.ts
deleted file mode 100644
index 52d5620..0000000
--- a/dist/apis/UserApi.d.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * @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 { FullUser, InlineResponse20015, Organization } from '../models/index.js';
-export interface GetUserRequest {
- handle: string;
-}
-export interface GetUserOrganizationsRequest {
- handle: string;
-}
-export interface GetUserProblemStatsRequest {
- handle: string;
-}
-/**
- *
- */
-export declare class UserApi extends runtime.BaseAPI {
- /**
- * 사용자의 정보를 가져옵니다. 만약 로그인한 경우, 라이벌 여부도 가져옵니다.
- * 사용자 정보 가져오기
- */
- getUserRaw(requestParameters: GetUserRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 사용자의 정보를 가져옵니다. 만약 로그인한 경우, 라이벌 여부도 가져옵니다.
- * 사용자 정보 가져오기
- */
- getUser(requestParameters: GetUserRequest, initOverrides?: RequestInit): Promise;
- /**
- * 사용자가 속한 조직 목록를 가져옵니다.
- * 사용자가 속한 조직 목록 가져오기
- */
- getUserOrganizationsRaw(requestParameters: GetUserOrganizationsRequest, initOverrides?: RequestInit): Promise>>;
- /**
- * 사용자가 속한 조직 목록를 가져옵니다.
- * 사용자가 속한 조직 목록 가져오기
- */
- getUserOrganizations(requestParameters: GetUserOrganizationsRequest, initOverrides?: RequestInit): Promise>;
- /**
- * 사용자가 푼 문제 개수를 문제 수준별로 가져옵니다.
- * 사용자가 푼 문제 개수 수준별로 가져오기
- */
- getUserProblemStatsRaw(requestParameters: GetUserProblemStatsRequest, initOverrides?: RequestInit): Promise>>;
- /**
- * 사용자가 푼 문제 개수를 문제 수준별로 가져옵니다.
- * 사용자가 푼 문제 개수 수준별로 가져오기
- */
- getUserProblemStats(requestParameters: GetUserProblemStatsRequest, initOverrides?: RequestInit): Promise>;
-}
diff --git a/dist/apis/UserApi.js b/dist/apis/UserApi.js
deleted file mode 100644
index d23aa9c..0000000
--- a/dist/apis/UserApi.js
+++ /dev/null
@@ -1,106 +0,0 @@
-/* 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 UserApi extends runtime.BaseAPI {
- /**
- * 사용자의 정보를 가져옵니다. 만약 로그인한 경우, 라이벌 여부도 가져옵니다.
- * 사용자 정보 가져오기
- */
- async getUserRaw(requestParameters, initOverrides) {
- if (requestParameters.handle === null || requestParameters.handle === undefined) {
- throw new runtime.RequiredError('handle', 'Required parameter requestParameters.handle was null or undefined when calling getUser.');
- }
- const queryParameters = {};
- if (requestParameters.handle !== undefined) {
- queryParameters['handle'] = requestParameters.handle;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/user/show`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 사용자의 정보를 가져옵니다. 만약 로그인한 경우, 라이벌 여부도 가져옵니다.
- * 사용자 정보 가져오기
- */
- async getUser(requestParameters, initOverrides) {
- 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();
- }
- /**
- * 사용자가 푼 문제 개수를 문제 수준별로 가져옵니다.
- * 사용자가 푼 문제 개수 수준별로 가져오기
- */
- async getUserProblemStatsRaw(requestParameters, initOverrides) {
- if (requestParameters.handle === null || requestParameters.handle === undefined) {
- throw new runtime.RequiredError('handle', 'Required parameter requestParameters.handle was null or undefined when calling getUserProblemStats.');
- }
- const queryParameters = {};
- if (requestParameters.handle !== undefined) {
- queryParameters['handle'] = requestParameters.handle;
- }
- const headerParameters = {};
- const response = await this.request({
- path: `/user/problem_stats`,
- method: 'GET',
- headers: headerParameters,
- query: queryParameters,
- }, initOverrides);
- return new runtime.JSONApiResponse(response);
- }
- /**
- * 사용자가 푼 문제 개수를 문제 수준별로 가져옵니다.
- * 사용자가 푼 문제 개수 수준별로 가져오기
- */
- async getUserProblemStats(requestParameters, initOverrides) {
- const response = await this.getUserProblemStatsRaw(requestParameters, initOverrides);
- return await response.value();
- }
-}
diff --git a/dist/apis/mod.d.ts b/dist/apis/mod.d.ts
deleted file mode 100644
index e899bf1..0000000
--- a/dist/apis/mod.d.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-export * from './AccountApi.js';
-export * from './BackgroundApi.js';
-export * from './BadgeApi.js';
-export * from './CoinsApi.js';
-export * from './DefaultApi.js';
-export * from './OtherApi.js';
-export * from './ProblemApi.js';
-export * from './RankingApi.js';
-export * from './SearchApi.js';
-export * from './UserApi.js';
diff --git a/dist/apis/mod.js b/dist/apis/mod.js
deleted file mode 100644
index 455dd63..0000000
--- a/dist/apis/mod.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/* 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';
-export * from './ProblemApi.js';
-export * from './RankingApi.js';
-export * from './SearchApi.js';
-export * from './UserApi.js';
diff --git a/dist/cjs/apis/AccountApi.cjs b/dist/cjs/apis/AccountApi.cjs
new file mode 100644
index 0000000..e0368cb
--- /dev/null
+++ b/dist/cjs/apis/AccountApi.cjs
@@ -0,0 +1,132 @@
+"use strict";
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.AccountApi = void 0;
+const runtime = __importStar(require("../runtime.cjs"));
+/**
+ *
+ */
+class AccountApi extends runtime.BaseAPI {
+ /**
+ * 리딤 코드와 배지, 배경 등을 교환합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 코드 교환하기
+ */
+ async redeemCodeRaw(requestParameters, initOverrides) {
+ if (requestParameters['redeemCodeRequest'] == null) {
+ throw new runtime.RequiredError('redeemCodeRequest', 'Required parameter "redeemCodeRequest" was null or undefined when calling redeemCode().');
+ }
+ const queryParameters = {};
+ const headerParameters = {};
+ headerParameters['Content-Type'] = 'application/json';
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/account/redeem`,
+ method: 'POST',
+ headers: headerParameters,
+ query: queryParameters,
+ body: requestParameters['redeemCodeRequest'],
+ }, initOverrides);
+ return new runtime.VoidApiResponse(response);
+ }
+ /**
+ * 리딤 코드와 배지, 배경 등을 교환합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 코드 교환하기
+ */
+ async redeemCode(requestParameters, initOverrides) {
+ await this.redeemCodeRaw(requestParameters, initOverrides);
+ }
+ /**
+ * 계정의 설정을 변경합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 계정 설정 변경하기
+ */
+ async updateAccountSettingsRaw(requestParameters, initOverrides) {
+ if (requestParameters['updateAccountSettingsRequest'] == null) {
+ throw new runtime.RequiredError('updateAccountSettingsRequest', 'Required parameter "updateAccountSettingsRequest" was null or undefined when calling updateAccountSettings().');
+ }
+ const queryParameters = {};
+ const headerParameters = {};
+ headerParameters['Content-Type'] = 'application/json';
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/account/update_settings`,
+ method: 'PATCH',
+ headers: headerParameters,
+ query: queryParameters,
+ body: requestParameters['updateAccountSettingsRequest'],
+ }, initOverrides);
+ return new runtime.VoidApiResponse(response);
+ }
+ /**
+ * 계정의 설정을 변경합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 계정 설정 변경하기
+ */
+ async updateAccountSettings(requestParameters, initOverrides) {
+ await this.updateAccountSettingsRaw(requestParameters, initOverrides);
+ }
+ /**
+ * 현재 로그인한 계정 정보를 가져옵니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 로그인 정보 가져오기
+ */
+ async verifyAccountCredentialsRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/account/verify_credentials`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 현재 로그인한 계정 정보를 가져옵니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 로그인 정보 가져오기
+ */
+ async verifyAccountCredentials(requestParameters = {}, initOverrides) {
+ const response = await this.verifyAccountCredentialsRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
+exports.AccountApi = AccountApi;
diff --git a/dist/cjs/apis/AccountApi.d.cts b/dist/cjs/apis/AccountApi.d.cts
new file mode 100644
index 0000000..52690f0
--- /dev/null
+++ b/dist/cjs/apis/AccountApi.d.cts
@@ -0,0 +1,59 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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.cjs';
+import type { Language, RedeemCodeRequest, UpdateAccountSettingsRequest, VerifyCredentialsCredential } from '../models/index.cjs';
+export interface RedeemCodeOperationRequest {
+ redeemCodeRequest: RedeemCodeRequest;
+ xSolvedacLanguage?: Language;
+}
+export interface UpdateAccountSettingsOperationRequest {
+ updateAccountSettingsRequest: UpdateAccountSettingsRequest;
+ xSolvedacLanguage?: Language;
+}
+export interface VerifyAccountCredentialsRequest {
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class AccountApi extends runtime.BaseAPI {
+ /**
+ * 리딤 코드와 배지, 배경 등을 교환합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 코드 교환하기
+ */
+ redeemCodeRaw(requestParameters: RedeemCodeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 리딤 코드와 배지, 배경 등을 교환합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 코드 교환하기
+ */
+ redeemCode(requestParameters: RedeemCodeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 계정의 설정을 변경합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 계정 설정 변경하기
+ */
+ updateAccountSettingsRaw(requestParameters: UpdateAccountSettingsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 계정의 설정을 변경합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 계정 설정 변경하기
+ */
+ updateAccountSettings(requestParameters: UpdateAccountSettingsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 현재 로그인한 계정 정보를 가져옵니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 로그인 정보 가져오기
+ */
+ verifyAccountCredentialsRaw(requestParameters: VerifyAccountCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 현재 로그인한 계정 정보를 가져옵니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 로그인 정보 가져오기
+ */
+ verifyAccountCredentials(requestParameters?: VerifyAccountCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/cjs/apis/BackgroundApi.cjs b/dist/cjs/apis/BackgroundApi.cjs
new file mode 100644
index 0000000..dfd4d64
--- /dev/null
+++ b/dist/cjs/apis/BackgroundApi.cjs
@@ -0,0 +1,78 @@
+"use strict";
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.BackgroundApi = void 0;
+const runtime = __importStar(require("../runtime.cjs"));
+/**
+ *
+ */
+class BackgroundApi extends runtime.BaseAPI {
+ /**
+ * 배경 정보를 가져옵니다.
+ * 배경 정보 가져오기
+ */
+ async getBackgroundRaw(requestParameters, initOverrides) {
+ if (requestParameters['backgroundId'] == null) {
+ throw new runtime.RequiredError('backgroundId', 'Required parameter "backgroundId" was null or undefined when calling getBackground().');
+ }
+ const queryParameters = {};
+ if (requestParameters['backgroundId'] != null) {
+ queryParameters['backgroundId'] = requestParameters['backgroundId'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ 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();
+ }
+}
+exports.BackgroundApi = BackgroundApi;
diff --git a/dist/cjs/apis/BackgroundApi.d.cts b/dist/cjs/apis/BackgroundApi.d.cts
new file mode 100644
index 0000000..469d1fd
--- /dev/null
+++ b/dist/cjs/apis/BackgroundApi.d.cts
@@ -0,0 +1,32 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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.cjs';
+import type { Background, Language } from '../models/index.cjs';
+export interface GetBackgroundRequest {
+ backgroundId: string;
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class BackgroundApi extends runtime.BaseAPI {
+ /**
+ * 배경 정보를 가져옵니다.
+ * 배경 정보 가져오기
+ */
+ getBackgroundRaw(requestParameters: GetBackgroundRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 배경 정보를 가져옵니다.
+ * 배경 정보 가져오기
+ */
+ getBackground(requestParameters: GetBackgroundRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/cjs/apis/BadgeApi.cjs b/dist/cjs/apis/BadgeApi.cjs
new file mode 100644
index 0000000..4a2d6c6
--- /dev/null
+++ b/dist/cjs/apis/BadgeApi.cjs
@@ -0,0 +1,78 @@
+"use strict";
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.BadgeApi = void 0;
+const runtime = __importStar(require("../runtime.cjs"));
+/**
+ *
+ */
+class BadgeApi extends runtime.BaseAPI {
+ /**
+ * 뱃지의 정보를 가져옵니다.
+ * 뱃지 정보 가져오기
+ */
+ async getBadgeRaw(requestParameters, initOverrides) {
+ if (requestParameters['badgeId'] == null) {
+ throw new runtime.RequiredError('badgeId', 'Required parameter "badgeId" was null or undefined when calling getBadge().');
+ }
+ const queryParameters = {};
+ if (requestParameters['badgeId'] != null) {
+ queryParameters['badgeId'] = requestParameters['badgeId'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ 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();
+ }
+}
+exports.BadgeApi = BadgeApi;
diff --git a/dist/cjs/apis/BadgeApi.d.cts b/dist/cjs/apis/BadgeApi.d.cts
new file mode 100644
index 0000000..4a483b5
--- /dev/null
+++ b/dist/cjs/apis/BadgeApi.d.cts
@@ -0,0 +1,32 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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.cjs';
+import type { Badge, Language } from '../models/index.cjs';
+export interface GetBadgeRequest {
+ badgeId: string;
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class BadgeApi extends runtime.BaseAPI {
+ /**
+ * 뱃지의 정보를 가져옵니다.
+ * 뱃지 정보 가져오기
+ */
+ getBadgeRaw(requestParameters: GetBadgeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 뱃지의 정보를 가져옵니다.
+ * 뱃지 정보 가져오기
+ */
+ getBadge(requestParameters: GetBadgeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/cjs/apis/CoinsApi.cjs b/dist/cjs/apis/CoinsApi.cjs
new file mode 100644
index 0000000..def38fd
--- /dev/null
+++ b/dist/cjs/apis/CoinsApi.cjs
@@ -0,0 +1,95 @@
+"use strict";
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.CoinsApi = void 0;
+const runtime = __importStar(require("../runtime.cjs"));
+/**
+ *
+ */
+class CoinsApi extends runtime.BaseAPI {
+ /**
+ * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
+ * 코인샵 상품 목록 가져오기
+ */
+ async getCoinShopProductsRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/coins/shop/list`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
+ * 코인샵 상품 목록 가져오기
+ */
+ async getCoinShopProducts(requestParameters = {}, initOverrides) {
+ const response = await this.getCoinShopProductsRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 코인 → 별조각 환율 가져오기
+ */
+ async getCoinStardustExchangeRateRaw(initOverrides) {
+ const queryParameters = {};
+ const headerParameters = {};
+ const response = await this.request({
+ path: `/coins/exchange_rate`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 코인 → 별조각 환율 가져오기
+ */
+ async getCoinStardustExchangeRate(initOverrides) {
+ const response = await this.getCoinStardustExchangeRateRaw(initOverrides);
+ return await response.value();
+ }
+}
+exports.CoinsApi = CoinsApi;
diff --git a/dist/cjs/apis/CoinsApi.d.cts b/dist/cjs/apis/CoinsApi.d.cts
new file mode 100644
index 0000000..1aa2742
--- /dev/null
+++ b/dist/cjs/apis/CoinsApi.d.cts
@@ -0,0 +1,41 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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.cjs';
+import type { CoinShopProduct, GetCoinStardustExchangeRateExchangeRate, Language } from '../models/index.cjs';
+export interface GetCoinShopProductsRequest {
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class CoinsApi extends runtime.BaseAPI {
+ /**
+ * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
+ * 코인샵 상품 목록 가져오기
+ */
+ getCoinShopProductsRaw(requestParameters: GetCoinShopProductsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>;
+ /**
+ * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
+ * 코인샵 상품 목록 가져오기
+ */
+ getCoinShopProducts(requestParameters?: GetCoinShopProductsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 코인 → 별조각 환율 가져오기
+ */
+ getCoinStardustExchangeRateRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 코인 → 별조각 환율 가져오기
+ */
+ getCoinStardustExchangeRate(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/cjs/apis/OtherApi.cjs b/dist/cjs/apis/OtherApi.cjs
new file mode 100644
index 0000000..e9e6f85
--- /dev/null
+++ b/dist/cjs/apis/OtherApi.cjs
@@ -0,0 +1,69 @@
+"use strict";
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.OtherApi = void 0;
+const runtime = __importStar(require("../runtime.cjs"));
+/**
+ *
+ */
+class OtherApi extends runtime.BaseAPI {
+ /**
+ * solved.ac 통계를 가져옵니다.
+ * solved.ac 통계 가져오기
+ */
+ async getSiteStatisticsRaw(initOverrides) {
+ const queryParameters = {};
+ const headerParameters = {};
+ const response = await this.request({
+ path: `/site/stats`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * solved.ac 통계를 가져옵니다.
+ * solved.ac 통계 가져오기
+ */
+ async getSiteStatistics(initOverrides) {
+ const response = await this.getSiteStatisticsRaw(initOverrides);
+ return await response.value();
+ }
+}
+exports.OtherApi = OtherApi;
diff --git a/dist/cjs/apis/OtherApi.d.cts b/dist/cjs/apis/OtherApi.d.cts
new file mode 100644
index 0000000..8dce34c
--- /dev/null
+++ b/dist/cjs/apis/OtherApi.d.cts
@@ -0,0 +1,28 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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.cjs';
+import type { SiteStatistics } from '../models/index.cjs';
+/**
+ *
+ */
+export declare class OtherApi extends runtime.BaseAPI {
+ /**
+ * solved.ac 통계를 가져옵니다.
+ * solved.ac 통계 가져오기
+ */
+ getSiteStatisticsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * solved.ac 통계를 가져옵니다.
+ * solved.ac 통계 가져오기
+ */
+ getSiteStatistics(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/cjs/apis/ProblemApi.cjs b/dist/cjs/apis/ProblemApi.cjs
new file mode 100644
index 0000000..3b7c917
--- /dev/null
+++ b/dist/cjs/apis/ProblemApi.cjs
@@ -0,0 +1,162 @@
+"use strict";
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.ProblemApi = void 0;
+const runtime = __importStar(require("../runtime.cjs"));
+/**
+ *
+ */
+class ProblemApi extends runtime.BaseAPI {
+ /**
+ * CLASS별 문제 수를 가져옵니다.
+ * CLASS별 문제 수 가져오기
+ */
+ async getClassesProblemCountRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/problem/class`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * CLASS별 문제 수를 가져옵니다.
+ * CLASS별 문제 수 가져오기
+ */
+ async getClassesProblemCount(requestParameters = {}, initOverrides) {
+ const response = await this.getClassesProblemCountRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 요청한 번호의 백준 문제에 해당하는 solved.ac 문제 정보를 가져옵니다.
+ * 백준 문제 번호로 문제 가져오기
+ */
+ async getProblemByIdRaw(requestParameters, initOverrides) {
+ if (requestParameters['problemId'] == null) {
+ throw new runtime.RequiredError('problemId', 'Required parameter "problemId" was null or undefined when calling getProblemById().');
+ }
+ const queryParameters = {};
+ if (requestParameters['problemId'] != null) {
+ queryParameters['problemId'] = requestParameters['problemId'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/problem/show`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 요청한 번호의 백준 문제에 해당하는 solved.ac 문제 정보를 가져옵니다.
+ * 백준 문제 번호로 문제 가져오기
+ */
+ async getProblemById(requestParameters, initOverrides) {
+ const response = await this.getProblemByIdRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 요청한 번호 목록 각각의 백준 문제에 해당하는 solved.ac 문제 정보를 목록으로 가져옵니다.
+ * 백준 문제 번호 목록으로 문제 가져오기
+ */
+ async getProblemsByIdListRaw(requestParameters, initOverrides) {
+ if (requestParameters['problemIds'] == null) {
+ throw new runtime.RequiredError('problemIds', 'Required parameter "problemIds" was null or undefined when calling getProblemsByIdList().');
+ }
+ const queryParameters = {};
+ if (requestParameters['problemIds'] != null) {
+ queryParameters['problemIds'] = requestParameters['problemIds'].join(runtime.COLLECTION_FORMATS["csv"]);
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/problem/lookup`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 요청한 번호 목록 각각의 백준 문제에 해당하는 solved.ac 문제 정보를 목록으로 가져옵니다.
+ * 백준 문제 번호 목록으로 문제 가져오기
+ */
+ async getProblemsByIdList(requestParameters, initOverrides) {
+ const response = await this.getProblemsByIdListRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 난이도별 문제 수를 가져옵니다.
+ * 난이도별 문제 수 가져오기
+ */
+ async getProblemsCountGroupByLevelRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/problem/level`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 난이도별 문제 수를 가져옵니다.
+ * 난이도별 문제 수 가져오기
+ */
+ async getProblemsCountGroupByLevel(requestParameters = {}, initOverrides) {
+ const response = await this.getProblemsCountGroupByLevelRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
+exports.ProblemApi = ProblemApi;
diff --git a/dist/cjs/apis/ProblemApi.d.cts b/dist/cjs/apis/ProblemApi.d.cts
new file mode 100644
index 0000000..ad7aa1b
--- /dev/null
+++ b/dist/cjs/apis/ProblemApi.d.cts
@@ -0,0 +1,72 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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.cjs';
+import type { GetClassesProblemCountClassEntry, GetProblemsByIdList200Response, GetProblemsCountGroupByLevelLevelEntry, Language, Problem } from '../models/index.cjs';
+export interface GetClassesProblemCountRequest {
+ xSolvedacLanguage?: Language;
+}
+export interface GetProblemByIdRequest {
+ problemId: number;
+ xSolvedacLanguage?: Language;
+}
+export interface GetProblemsByIdListRequest {
+ problemIds: Array;
+ xSolvedacLanguage?: Language;
+}
+export interface GetProblemsCountGroupByLevelRequest {
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class ProblemApi extends runtime.BaseAPI {
+ /**
+ * CLASS별 문제 수를 가져옵니다.
+ * CLASS별 문제 수 가져오기
+ */
+ getClassesProblemCountRaw(requestParameters: GetClassesProblemCountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>;
+ /**
+ * CLASS별 문제 수를 가져옵니다.
+ * CLASS별 문제 수 가져오기
+ */
+ getClassesProblemCount(requestParameters?: GetClassesProblemCountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 요청한 번호의 백준 문제에 해당하는 solved.ac 문제 정보를 가져옵니다.
+ * 백준 문제 번호로 문제 가져오기
+ */
+ getProblemByIdRaw(requestParameters: GetProblemByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 요청한 번호의 백준 문제에 해당하는 solved.ac 문제 정보를 가져옵니다.
+ * 백준 문제 번호로 문제 가져오기
+ */
+ getProblemById(requestParameters: GetProblemByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 요청한 번호 목록 각각의 백준 문제에 해당하는 solved.ac 문제 정보를 목록으로 가져옵니다.
+ * 백준 문제 번호 목록으로 문제 가져오기
+ */
+ getProblemsByIdListRaw(requestParameters: GetProblemsByIdListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 요청한 번호 목록 각각의 백준 문제에 해당하는 solved.ac 문제 정보를 목록으로 가져옵니다.
+ * 백준 문제 번호 목록으로 문제 가져오기
+ */
+ getProblemsByIdList(requestParameters: GetProblemsByIdListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 난이도별 문제 수를 가져옵니다.
+ * 난이도별 문제 수 가져오기
+ */
+ getProblemsCountGroupByLevelRaw(requestParameters: GetProblemsCountGroupByLevelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>;
+ /**
+ * 난이도별 문제 수를 가져옵니다.
+ * 난이도별 문제 수 가져오기
+ */
+ getProblemsCountGroupByLevel(requestParameters?: GetProblemsCountGroupByLevelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+}
diff --git a/dist/cjs/apis/RankingApi.cjs b/dist/cjs/apis/RankingApi.cjs
new file mode 100644
index 0000000..cb20b2c
--- /dev/null
+++ b/dist/cjs/apis/RankingApi.cjs
@@ -0,0 +1,249 @@
+"use strict";
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.RankingApi = void 0;
+const runtime = __importStar(require("../runtime.cjs"));
+/**
+ *
+ */
+class RankingApi extends runtime.BaseAPI {
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 단체가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 단체 랭킹 가져오기
+ */
+ async getOrganizationRankingByACRatingRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['type'] != null) {
+ queryParameters['type'] = requestParameters['type'];
+ }
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ const response = await this.request({
+ path: `/ranking/organization`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 단체가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 단체 랭킹 가져오기
+ */
+ async getOrganizationRankingByACRating(requestParameters = {}, initOverrides) {
+ const response = await this.getOrganizationRankingByACRatingRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * CLASS가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * CLASS 순 사용자 랭킹 가져오기
+ */
+ async getRankingByClassRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/class`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * CLASS가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * CLASS 순 사용자 랭킹 가져오기
+ */
+ async getRankingByClass(requestParameters = {}, initOverrides) {
+ const response = await this.getRankingByClassRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 기여 횟수가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 기여 순 사용자 랭킹 가져오기
+ */
+ async getRankingByContributionRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/contribution`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 기여 횟수가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 기여 순 사용자 랭킹 가져오기
+ */
+ async getRankingByContribution(requestParameters = {}, initOverrides) {
+ const response = await this.getRankingByContributionRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 치장 스트릭 유지일이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 최장 스트릭 순 사용자 랭킹 가져오기
+ */
+ async getRankingByMaxStreakRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/streak`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 치장 스트릭 유지일이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 최장 스트릭 순 사용자 랭킹 가져오기
+ */
+ async getRankingByMaxStreak(requestParameters = {}, initOverrides) {
+ const response = await this.getRankingByMaxStreakRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 사용자 랭킹 가져오기
+ */
+ async getRankingBySolveACRatingRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/tier`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 사용자 랭킹 가져오기
+ */
+ async getRankingBySolveACRating(requestParameters = {}, initOverrides) {
+ const response = await this.getRankingBySolveACRatingRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 역라이벌 랭킹 가져오기
+ */
+ async getReverseRivalRankingByACRatingRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/reverse_rival`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 역라이벌 랭킹 가져오기
+ */
+ async getReverseRivalRankingByACRating(requestParameters = {}, initOverrides) {
+ const response = await this.getReverseRivalRankingByACRatingRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 라이벌 랭킹 가져오기
+ */
+ async getRivalRankingByACRatingRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/rival`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 라이벌 랭킹 가져오기
+ */
+ async getRivalRankingByACRating(requestParameters = {}, initOverrides) {
+ const response = await this.getRivalRankingByACRatingRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
+exports.RankingApi = RankingApi;
diff --git a/dist/cjs/apis/RankingApi.d.cts b/dist/cjs/apis/RankingApi.d.cts
new file mode 100644
index 0000000..3ff49f2
--- /dev/null
+++ b/dist/cjs/apis/RankingApi.d.cts
@@ -0,0 +1,116 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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.cjs';
+import type { GetOrganizationRankingByACRating200Response, GetRankingByClass200Response, Language, OrganizationType } from '../models/index.cjs';
+export interface GetOrganizationRankingByACRatingRequest {
+ type?: OrganizationType;
+ page?: number;
+}
+export interface GetRankingByClassRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface GetRankingByContributionRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface GetRankingByMaxStreakRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface GetRankingBySolveACRatingRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface GetReverseRivalRankingByACRatingRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface GetRivalRankingByACRatingRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+/**
+ *
+ */
+export declare class RankingApi extends runtime.BaseAPI {
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 단체가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 단체 랭킹 가져오기
+ */
+ getOrganizationRankingByACRatingRaw(requestParameters: GetOrganizationRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 단체가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 단체 랭킹 가져오기
+ */
+ getOrganizationRankingByACRating(requestParameters?: GetOrganizationRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * CLASS가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * CLASS 순 사용자 랭킹 가져오기
+ */
+ getRankingByClassRaw(requestParameters: GetRankingByClassRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * CLASS가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * CLASS 순 사용자 랭킹 가져오기
+ */
+ getRankingByClass(requestParameters?: GetRankingByClassRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 기여 횟수가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 기여 순 사용자 랭킹 가져오기
+ */
+ getRankingByContributionRaw(requestParameters: GetRankingByContributionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 기여 횟수가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 기여 순 사용자 랭킹 가져오기
+ */
+ getRankingByContribution(requestParameters?: GetRankingByContributionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 치장 스트릭 유지일이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 최장 스트릭 순 사용자 랭킹 가져오기
+ */
+ getRankingByMaxStreakRaw(requestParameters: GetRankingByMaxStreakRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 치장 스트릭 유지일이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 최장 스트릭 순 사용자 랭킹 가져오기
+ */
+ getRankingByMaxStreak(requestParameters?: GetRankingByMaxStreakRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 사용자 랭킹 가져오기
+ */
+ getRankingBySolveACRatingRaw(requestParameters: GetRankingBySolveACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 사용자 랭킹 가져오기
+ */
+ getRankingBySolveACRating(requestParameters?: GetRankingBySolveACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 역라이벌 랭킹 가져오기
+ */
+ getReverseRivalRankingByACRatingRaw(requestParameters: GetReverseRivalRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 역라이벌 랭킹 가져오기
+ */
+ getReverseRivalRankingByACRating(requestParameters?: GetReverseRivalRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 라이벌 랭킹 가져오기
+ */
+ getRivalRankingByACRatingRaw(requestParameters: GetRivalRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 라이벌 랭킹 가져오기
+ */
+ getRivalRankingByACRating(requestParameters?: GetRivalRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/cjs/apis/SearchApi.cjs b/dist/cjs/apis/SearchApi.cjs
new file mode 100644
index 0000000..06c631e
--- /dev/null
+++ b/dist/cjs/apis/SearchApi.cjs
@@ -0,0 +1,195 @@
+"use strict";
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.SearchApi = void 0;
+const runtime = __importStar(require("../runtime.cjs"));
+/**
+ *
+ */
+class SearchApi extends runtime.BaseAPI {
+ /**
+ * 주어진 쿼리에 따라 검색할 때 도움이 되도록 자동 완성 및 상위 검색 결과를 반환합니다. 자동 완성 결과는 언어에 의존적입니다.
+ * 검색 자동완성 구하기
+ */
+ async getSearchAutoCompletionsRaw(requestParameters, initOverrides) {
+ if (requestParameters['query'] == null) {
+ throw new runtime.RequiredError('query', 'Required parameter "query" was null or undefined when calling getSearchAutoCompletions().');
+ }
+ const queryParameters = {};
+ if (requestParameters['query'] != null) {
+ queryParameters['query'] = requestParameters['query'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/search/suggestion`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 주어진 쿼리에 따라 검색할 때 도움이 되도록 자동 완성 및 상위 검색 결과를 반환합니다. 자동 완성 결과는 언어에 의존적입니다.
+ * 검색 자동완성 구하기
+ */
+ async getSearchAutoCompletions(requestParameters, initOverrides) {
+ const response = await this.getSearchAutoCompletionsRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 문제 검색하기
+ */
+ async searchProblemRaw(requestParameters, initOverrides) {
+ if (requestParameters['query'] == null) {
+ throw new runtime.RequiredError('query', 'Required parameter "query" was null or undefined when calling searchProblem().');
+ }
+ if (requestParameters['direction'] == null) {
+ throw new runtime.RequiredError('direction', 'Required parameter "direction" was null or undefined when calling searchProblem().');
+ }
+ if (requestParameters['sort'] == null) {
+ throw new runtime.RequiredError('sort', 'Required parameter "sort" was null or undefined when calling searchProblem().');
+ }
+ const queryParameters = {};
+ if (requestParameters['query'] != null) {
+ queryParameters['query'] = requestParameters['query'];
+ }
+ if (requestParameters['direction'] != null) {
+ queryParameters['direction'] = requestParameters['direction'];
+ }
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ if (requestParameters['sort'] != null) {
+ queryParameters['sort'] = requestParameters['sort'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/search/problem`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 문제 검색하기
+ */
+ async searchProblem(requestParameters, initOverrides) {
+ const response = await this.searchProblemRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 주어진 쿼리에 따라 문제 태그를 검색합니다.
+ * 문제 태그 검색하기
+ */
+ async searchProblemTagRaw(requestParameters, initOverrides) {
+ if (requestParameters['query'] == null) {
+ throw new runtime.RequiredError('query', 'Required parameter "query" was null or undefined when calling searchProblemTag().');
+ }
+ const queryParameters = {};
+ if (requestParameters['query'] != null) {
+ queryParameters['query'] = requestParameters['query'];
+ }
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/search/tag`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 주어진 쿼리에 따라 문제 태그를 검색합니다.
+ * 문제 태그 검색하기
+ */
+ async searchProblemTag(requestParameters, initOverrides) {
+ const response = await this.searchProblemTagRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 주어진 쿼리에 따라 사용자를 검색합니다.
+ * 사용자 검색하기
+ */
+ async searchUserRaw(requestParameters, initOverrides) {
+ if (requestParameters['query'] == null) {
+ throw new runtime.RequiredError('query', 'Required parameter "query" was null or undefined when calling searchUser().');
+ }
+ const queryParameters = {};
+ if (requestParameters['query'] != null) {
+ queryParameters['query'] = requestParameters['query'];
+ }
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/search/user`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 주어진 쿼리에 따라 사용자를 검색합니다.
+ * 사용자 검색하기
+ */
+ async searchUser(requestParameters, initOverrides) {
+ const response = await this.searchUserRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
+exports.SearchApi = SearchApi;
diff --git a/dist/cjs/apis/SearchApi.d.cts b/dist/cjs/apis/SearchApi.d.cts
new file mode 100644
index 0000000..b76400e
--- /dev/null
+++ b/dist/cjs/apis/SearchApi.d.cts
@@ -0,0 +1,79 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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.cjs';
+import type { GetProblemsByIdList200Response, GetSearchAutoCompletionsSuggestion, Language, SearchProblemQueryDirection, SearchProblemQuerySort, SearchProblemTag200Response, SearchUser200Response } from '../models/index.cjs';
+export interface GetSearchAutoCompletionsRequest {
+ query: string;
+ xSolvedacLanguage?: Language;
+}
+export interface SearchProblemRequest {
+ query: string;
+ direction: SearchProblemQueryDirection;
+ sort: SearchProblemQuerySort;
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface SearchProblemTagRequest {
+ query: string;
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface SearchUserRequest {
+ query: string;
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+/**
+ *
+ */
+export declare class SearchApi extends runtime.BaseAPI {
+ /**
+ * 주어진 쿼리에 따라 검색할 때 도움이 되도록 자동 완성 및 상위 검색 결과를 반환합니다. 자동 완성 결과는 언어에 의존적입니다.
+ * 검색 자동완성 구하기
+ */
+ getSearchAutoCompletionsRaw(requestParameters: GetSearchAutoCompletionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 검색할 때 도움이 되도록 자동 완성 및 상위 검색 결과를 반환합니다. 자동 완성 결과는 언어에 의존적입니다.
+ * 검색 자동완성 구하기
+ */
+ getSearchAutoCompletions(requestParameters: GetSearchAutoCompletionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 문제 검색하기
+ */
+ searchProblemRaw(requestParameters: SearchProblemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 문제 검색하기
+ */
+ searchProblem(requestParameters: SearchProblemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 주어진 쿼리에 따라 문제 태그를 검색합니다.
+ * 문제 태그 검색하기
+ */
+ searchProblemTagRaw(requestParameters: SearchProblemTagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 문제 태그를 검색합니다.
+ * 문제 태그 검색하기
+ */
+ searchProblemTag(requestParameters: SearchProblemTagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 주어진 쿼리에 따라 사용자를 검색합니다.
+ * 사용자 검색하기
+ */
+ searchUserRaw(requestParameters: SearchUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 사용자를 검색합니다.
+ * 사용자 검색하기
+ */
+ searchUser(requestParameters: SearchUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/cjs/apis/UserApi.cjs b/dist/cjs/apis/UserApi.cjs
new file mode 100644
index 0000000..b1349f3
--- /dev/null
+++ b/dist/cjs/apis/UserApi.cjs
@@ -0,0 +1,168 @@
+"use strict";
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.UserApi = void 0;
+const runtime = __importStar(require("../runtime.cjs"));
+/**
+ *
+ */
+class UserApi extends runtime.BaseAPI {
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 정보 가져오기
+ */
+ async getUserByHandleRaw(requestParameters, initOverrides) {
+ if (requestParameters['handle'] == null) {
+ throw new runtime.RequiredError('handle', 'Required parameter "handle" was null or undefined when calling getUserByHandle().');
+ }
+ const queryParameters = {};
+ if (requestParameters['handle'] != null) {
+ queryParameters['handle'] = requestParameters['handle'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/user/show`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 정보 가져오기
+ */
+ async getUserByHandle(requestParameters, initOverrides) {
+ const response = await this.getUserByHandleRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 단체 가져오기
+ */
+ async getUserOrganizationsRaw(requestParameters, initOverrides) {
+ if (requestParameters['handle'] == null) {
+ throw new runtime.RequiredError('handle', 'Required parameter "handle" was null or undefined when calling getUserOrganizations().');
+ }
+ const queryParameters = {};
+ if (requestParameters['handle'] != null) {
+ 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();
+ }
+ /**
+ * 해당 핸들의 사용자가 푼 문제 수를 문제 수준별로 나누어 가져옵니다.
+ * 문제 수준별로 사용자가 푼 문제 수 가져오기
+ */
+ async getUserProblemStatsRaw(requestParameters, initOverrides) {
+ if (requestParameters['handle'] == null) {
+ throw new runtime.RequiredError('handle', 'Required parameter "handle" was null or undefined when calling getUserProblemStats().');
+ }
+ const queryParameters = {};
+ if (requestParameters['handle'] != null) {
+ queryParameters['handle'] = requestParameters['handle'];
+ }
+ const headerParameters = {};
+ const response = await this.request({
+ path: `/user/problem_stats`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 해당 핸들의 사용자가 푼 문제 수를 문제 수준별로 나누어 가져옵니다.
+ * 문제 수준별로 사용자가 푼 문제 수 가져오기
+ */
+ async getUserProblemStats(requestParameters, initOverrides) {
+ const response = await this.getUserProblemStatsRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 사용자가 푼 문제 중 문제 수준이 높은 상위 100 문제를 가져옵니다
+ * 상위 100 문제 가져오기
+ */
+ async getUserTop100Raw(requestParameters, initOverrides) {
+ if (requestParameters['handle'] == null) {
+ throw new runtime.RequiredError('handle', 'Required parameter "handle" was null or undefined when calling getUserTop100().');
+ }
+ const queryParameters = {};
+ if (requestParameters['handle'] != null) {
+ queryParameters['handle'] = requestParameters['handle'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/user/top_100`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 사용자가 푼 문제 중 문제 수준이 높은 상위 100 문제를 가져옵니다
+ * 상위 100 문제 가져오기
+ */
+ async getUserTop100(requestParameters, initOverrides) {
+ const response = await this.getUserTop100Raw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
+exports.UserApi = UserApi;
diff --git a/dist/cjs/apis/UserApi.d.cts b/dist/cjs/apis/UserApi.d.cts
new file mode 100644
index 0000000..62204a2
--- /dev/null
+++ b/dist/cjs/apis/UserApi.d.cts
@@ -0,0 +1,72 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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.cjs';
+import type { GetProblemsByIdList200Response, GetUserProblemStatsProblemStat, Language, Organization, SocialUser } from '../models/index.cjs';
+export interface GetUserByHandleRequest {
+ handle: string;
+ xSolvedacLanguage?: Language;
+}
+export interface GetUserOrganizationsRequest {
+ handle: string;
+}
+export interface GetUserProblemStatsRequest {
+ handle: string;
+}
+export interface GetUserTop100Request {
+ handle: string;
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class UserApi extends runtime.BaseAPI {
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 정보 가져오기
+ */
+ getUserByHandleRaw(requestParameters: GetUserByHandleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 정보 가져오기
+ */
+ getUserByHandle(requestParameters: GetUserByHandleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 단체 가져오기
+ */
+ getUserOrganizationsRaw(requestParameters: GetUserOrganizationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>;
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 단체 가져오기
+ */
+ getUserOrganizations(requestParameters: GetUserOrganizationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 해당 핸들의 사용자가 푼 문제 수를 문제 수준별로 나누어 가져옵니다.
+ * 문제 수준별로 사용자가 푼 문제 수 가져오기
+ */
+ getUserProblemStatsRaw(requestParameters: GetUserProblemStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>;
+ /**
+ * 해당 핸들의 사용자가 푼 문제 수를 문제 수준별로 나누어 가져옵니다.
+ * 문제 수준별로 사용자가 푼 문제 수 가져오기
+ */
+ getUserProblemStats(requestParameters: GetUserProblemStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 사용자가 푼 문제 중 문제 수준이 높은 상위 100 문제를 가져옵니다
+ * 상위 100 문제 가져오기
+ */
+ getUserTop100Raw(requestParameters: GetUserTop100Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 사용자가 푼 문제 중 문제 수준이 높은 상위 100 문제를 가져옵니다
+ * 상위 100 문제 가져오기
+ */
+ getUserTop100(requestParameters: GetUserTop100Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/cjs/apis/index.cjs b/dist/cjs/apis/index.cjs
new file mode 100644
index 0000000..e7ed71b
--- /dev/null
+++ b/dist/cjs/apis/index.cjs
@@ -0,0 +1,27 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+/* tslint:disable */
+/* eslint-disable */
+__exportStar(require("./AccountApi.cjs"), exports);
+__exportStar(require("./BackgroundApi.cjs"), exports);
+__exportStar(require("./BadgeApi.cjs"), exports);
+__exportStar(require("./CoinsApi.cjs"), exports);
+__exportStar(require("./OtherApi.cjs"), exports);
+__exportStar(require("./ProblemApi.cjs"), exports);
+__exportStar(require("./RankingApi.cjs"), exports);
+__exportStar(require("./SearchApi.cjs"), exports);
+__exportStar(require("./UserApi.cjs"), exports);
diff --git a/dist/cjs/apis/index.d.cts b/dist/cjs/apis/index.d.cts
new file mode 100644
index 0000000..851f723
--- /dev/null
+++ b/dist/cjs/apis/index.d.cts
@@ -0,0 +1,9 @@
+export * from './AccountApi.cjs';
+export * from './BackgroundApi.cjs';
+export * from './BadgeApi.cjs';
+export * from './CoinsApi.cjs';
+export * from './OtherApi.cjs';
+export * from './ProblemApi.cjs';
+export * from './RankingApi.cjs';
+export * from './SearchApi.cjs';
+export * from './UserApi.cjs';
diff --git a/dist/cjs/index.cjs b/dist/cjs/index.cjs
new file mode 100644
index 0000000..25d4ceb
--- /dev/null
+++ b/dist/cjs/index.cjs
@@ -0,0 +1,21 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+/* tslint:disable */
+/* eslint-disable */
+__exportStar(require("./runtime.cjs"), exports);
+__exportStar(require("./apis/index.cjs"), exports);
+__exportStar(require("./models/index.cjs"), exports);
diff --git a/dist/cjs/index.d.cts b/dist/cjs/index.d.cts
new file mode 100644
index 0000000..21edd7a
--- /dev/null
+++ b/dist/cjs/index.d.cts
@@ -0,0 +1,3 @@
+export * from './runtime.cjs';
+export * from './apis/index.cjs';
+export * from './models/index.cjs';
diff --git a/dist/cjs/models/index.cjs b/dist/cjs/models/index.cjs
new file mode 100644
index 0000000..111d8ba
--- /dev/null
+++ b/dist/cjs/models/index.cjs
@@ -0,0 +1,498 @@
+"use strict";
+/* tslint:disable */
+/* eslint-disable */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.VerifyCredentialsUserWithSettingsClassDecorationEnum = exports.VerifyCredentialsUserWithSettingsClassEnum = exports.VerifyCredentialsUserSettingsShowMovieBackgroundEnum = exports.VerifyCredentialsUserSettingsShowIllustBackgroundEnum = exports.VerifyCredentialsUserSettingsSiteLanguageEnum = exports.VerifyCredentialsUserSettingsProHideAdsEnum = exports.VerifyCredentialsUserSettingsTwitterPostOnClassIncreaseEnum = exports.VerifyCredentialsUserSettingsTwitterPostOnTierIncreaseEnum = exports.VerifyCredentialsUserSettingsTwitterPostOnRatingIncreaseEnum = exports.VerifyCredentialsUserSettingsTwitterPostHandleEnum = exports.VerifyCredentialsUserSettingsScreenThemeEnum = exports.VerifyCredentialsUserSettingsTwitterPostOnProblemSolveEnum = exports.UserClassDecorationEnum = exports.UserClassEnum = exports.SolveTier = exports.SocialUserClassDecorationEnum = exports.SocialUserClassEnum = exports.SearchProblemQuerySort = exports.SearchProblemQueryDirection = exports.RivalUserClassDecorationEnum = exports.RivalUserClassEnum = exports.ProblemLevel = exports.OrganizationType = exports.Language = exports.GetSearchAutoCompletionsUserEntryClassDecorationEnum = exports.GetSearchAutoCompletionsUserEntryClassEnum = exports.GetClassesProblemCountClassEntryClassEnum = exports.CoinShopProductPriceUnitEnum = exports.BadgeTier = exports.BadgeCategory = exports.BackgroundCategory = exports.ArenaTier = void 0;
+/**
+ * Unrated를 0,
+ * C를 1,
+ * ...,
+ * SSS+을 12,
+ * X를 13으로 표현하는 아레나 티어입니다.
+ * 자세한 값 정보는 표1. 아레나 레이팅 표를 펼쳐 참고하십시오.
+ *
+ *
+ *
+ * 표1. 아레나 레이팅 표
+ *
+ *
+ * | 수치 | 이름 | 요구 레이팅 |
+ * | ---: | :---------------------------------------------------------------------------------------------- | ---------------------------------------------: |
+ * | 0 | Unrated | - |
+ * | 1 | C | 1 |
+ * | 2 | C+ | 400 |
+ * | 3 | B | 800 |
+ * | 4 | B+ | 1000 |
+ * | 5 | A | 1200 |
+ * | 6 | A+ | 1400 |
+ * | 7 | S | 1600 |
+ * | 8 | S+ | 1800 |
+ * | 9 | SS | 2000 |
+ * | 10 | SS+ | 2200 |
+ * | 11 | SSS | 2400 |
+ * | 12 | SSS+ | 2600 |
+ * | 13 | X | 3000 |
+ *
+ *
+ * @export
+ */
+exports.ArenaTier = {
+ NUMBER_0: 0,
+ NUMBER_1: 1,
+ NUMBER_2: 2,
+ NUMBER_3: 3,
+ NUMBER_4: 4,
+ NUMBER_5: 5,
+ NUMBER_6: 6,
+ NUMBER_7: 7,
+ NUMBER_8: 8,
+ NUMBER_9: 9,
+ NUMBER_10: 10,
+ NUMBER_11: 11,
+ NUMBER_12: 12,
+ NUMBER_13: 13
+};
+/**
+ * 배경 획득 유형 분류입니다.
+ * @export
+ */
+exports.BackgroundCategory = {
+ Event: 'event',
+ Arena: 'arena',
+ Achievement: 'achievement',
+ Season: 'season',
+ Contest: 'contest'
+};
+/**
+ * 뱃지 획득 유형 분류입니다.
+ * @export
+ */
+exports.BadgeCategory = {
+ Achievement: 'achievement',
+ Season: 'season',
+ Event: 'event',
+ Contest: 'contest'
+};
+/**
+ * 뱃지의 등급입니다.
+ * @export
+ */
+exports.BadgeTier = {
+ Bronze: 'bronze',
+ Silver: 'silver',
+ Gold: 'gold',
+ Master: 'master'
+};
+/**
+ * @export
+ */
+exports.CoinShopProductPriceUnitEnum = {
+ Coins: 'coins',
+ Stardusts: 'stardusts'
+};
+/**
+ * @export
+ */
+exports.GetClassesProblemCountClassEntryClassEnum = {
+ NUMBER_1: 1,
+ NUMBER_2: 2,
+ NUMBER_3: 3,
+ NUMBER_4: 4,
+ NUMBER_5: 5,
+ NUMBER_6: 6,
+ NUMBER_7: 7,
+ NUMBER_8: 8,
+ NUMBER_9: 9,
+ NUMBER_10: 10
+};
+/**
+ * @export
+ */
+exports.GetSearchAutoCompletionsUserEntryClassEnum = {
+ NUMBER_0: 0,
+ NUMBER_1: 1,
+ NUMBER_2: 2,
+ NUMBER_3: 3,
+ NUMBER_4: 4,
+ NUMBER_5: 5,
+ NUMBER_6: 6,
+ NUMBER_7: 7,
+ NUMBER_8: 8,
+ NUMBER_9: 9,
+ NUMBER_10: 10
+};
+/**
+ * @export
+ */
+exports.GetSearchAutoCompletionsUserEntryClassDecorationEnum = {
+ None: 'none',
+ Silver: 'silver',
+ Gold: 'gold'
+};
+/**
+ * solved.ac에서 지원하는 사용자 언어입니다
+ * @export
+ */
+exports.Language = {
+ Ko: 'ko',
+ En: 'en',
+ Ja: 'ja'
+};
+/**
+ * 단체 유형입니다.
+ * @export
+ */
+exports.OrganizationType = {
+ University: 'university',
+ Company: 'company',
+ Community: 'community',
+ HighSchool: 'high_school',
+ MiddleSchool: 'middle_school',
+ ElementarySchool: 'elementary_school',
+ Undefined: 'undefined'
+};
+/**
+ * Unrated / Not Ratable를 0,
+ * Bronze V를 1,
+ * Bronze IV를 2,
+ * ...,
+ * Ruby II을 29,
+ * Ruby I를 30으로 표현하는 문제 난이도입니다.
+ * 자세한 값 정보는 표1. 문제 난이도 표를 펼쳐 참고하십시오.
+ *
+ *
+ *
+ * 표1. 문제 난이도 표
+ *
+ *
+ * | 수치 | 이름 |
+ * | ---: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+ * | 0 | Unrated / Not Ratable |
+ * | 1 | Bronze V |
+ * | 2 | Bronze IV |
+ * | 3 | Bronze III |
+ * | 4 | Bronze II |
+ * | 5 | Bronze I |
+ * | 6 | Silver V |
+ * | 7 | Silver IV |
+ * | 8 | Silver III |
+ * | 9 | Silver II |
+ * | 10 | Silver I |
+ * | 11 | Gold V |
+ * | 12 | Gold IV |
+ * | 13 | Gold III |
+ * | 14 | Gold II |
+ * | 15 | Gold I |
+ * | 16 | Platinum V |
+ * | 17 | Platinum IV |
+ * | 18 | Platinum III |
+ * | 19 | Platinum II |
+ * | 20 | Platinum I |
+ * | 21 | Diamond V |
+ * | 22 | Diamond IV |
+ * | 23 | Diamond III |
+ * | 24 | Diamond II |
+ * | 25 | Diamond I |
+ * | 26 | Ruby V |
+ * | 27 | Ruby IV |
+ * | 28 | Ruby III |
+ * | 29 | Ruby II |
+ * | 30 | Ruby I |
+ *
+ *
+ * @export
+ */
+exports.ProblemLevel = {
+ NUMBER_0: 0,
+ NUMBER_1: 1,
+ NUMBER_2: 2,
+ NUMBER_3: 3,
+ NUMBER_4: 4,
+ NUMBER_5: 5,
+ NUMBER_6: 6,
+ NUMBER_7: 7,
+ NUMBER_8: 8,
+ NUMBER_9: 9,
+ NUMBER_10: 10,
+ NUMBER_11: 11,
+ NUMBER_12: 12,
+ NUMBER_13: 13,
+ NUMBER_14: 14,
+ NUMBER_15: 15,
+ NUMBER_16: 16,
+ NUMBER_17: 17,
+ NUMBER_18: 18,
+ NUMBER_19: 19,
+ NUMBER_20: 20,
+ NUMBER_21: 21,
+ NUMBER_22: 22,
+ NUMBER_23: 23,
+ NUMBER_24: 24,
+ NUMBER_25: 25,
+ NUMBER_26: 26,
+ NUMBER_27: 27,
+ NUMBER_28: 28,
+ NUMBER_29: 29,
+ NUMBER_30: 30
+};
+/**
+ * @export
+ */
+exports.RivalUserClassEnum = {
+ NUMBER_0: 0,
+ NUMBER_1: 1,
+ NUMBER_2: 2,
+ NUMBER_3: 3,
+ NUMBER_4: 4,
+ NUMBER_5: 5,
+ NUMBER_6: 6,
+ NUMBER_7: 7,
+ NUMBER_8: 8,
+ NUMBER_9: 9,
+ NUMBER_10: 10
+};
+/**
+ * @export
+ */
+exports.RivalUserClassDecorationEnum = {
+ None: 'none',
+ Silver: 'silver',
+ Gold: 'gold'
+};
+/**
+ * 검색 결과 정렬 방향
+ * @export
+ */
+exports.SearchProblemQueryDirection = {
+ Asc: 'asc',
+ Desc: 'desc'
+};
+/**
+ * 검색 결과 정렬 기준
+ * @export
+ */
+exports.SearchProblemQuerySort = {
+ Id: 'id',
+ Level: 'level',
+ Title: 'title',
+ Solved: 'solved',
+ AverageTry: 'average_try',
+ Random: 'random'
+};
+/**
+ * @export
+ */
+exports.SocialUserClassEnum = {
+ NUMBER_0: 0,
+ NUMBER_1: 1,
+ NUMBER_2: 2,
+ NUMBER_3: 3,
+ NUMBER_4: 4,
+ NUMBER_5: 5,
+ NUMBER_6: 6,
+ NUMBER_7: 7,
+ NUMBER_8: 8,
+ NUMBER_9: 9,
+ NUMBER_10: 10
+};
+/**
+ * @export
+ */
+exports.SocialUserClassDecorationEnum = {
+ None: 'none',
+ Silver: 'silver',
+ Gold: 'gold'
+};
+/**
+ * Unrated를 0,
+ * Bronze V를 1,
+ * ...,
+ * Ruby I을 30,
+ * Master를 31로 표현하는 문제해결 티어입니다.
+ * 자세한 값 정보는 표1. 문제 풀이 레이팅 표를 펼쳐 참고하십시오.
+ *
+ *
+ *
+ * 표1. 문제 풀이 레이팅 표
+ *
+ *
+ * | 수치 | 이름 | 요구 레이팅 |
+ * | ---: | :------------------------------------------------------------------------------------------------------ | --------------------------------------------------: |
+ * | 0 | Unrated | 0 |
+ * | 1 | Bronze V | 30 |
+ * | 2 | Bronze IV | 60 |
+ * | 3 | Bronze III | 90 |
+ * | 4 | Bronze II | 120 |
+ * | 5 | Bronze I | 150 |
+ * | 6 | Silver V | 200 |
+ * | 7 | Silver IV | 300 |
+ * | 8 | Silver III | 400 |
+ * | 9 | Silver II | 500 |
+ * | 10 | Silver I | 650 |
+ * | 11 | Gold V | 800 |
+ * | 12 | Gold IV | 950 |
+ * | 13 | Gold III | 1100 |
+ * | 14 | Gold II | 1250 |
+ * | 15 | Gold I | 1400 |
+ * | 16 | Platinum V | 1600 |
+ * | 17 | Platinum IV | 1750 |
+ * | 18 | Platinum III | 1900 |
+ * | 19 | Platinum II | 2000 |
+ * | 20 | Platinum I | 2100 |
+ * | 21 | Diamond V | 2200 |
+ * | 22 | Diamond IV | 2300 |
+ * | 23 | Diamond III | 2400 |
+ * | 24 | Diamond II | 2500 |
+ * | 25 | Diamond I | 2600 |
+ * | 26 | Ruby V | 2700 |
+ * | 27 | Ruby IV | 2800 |
+ * | 28 | Ruby III | 2850 |
+ * | 29 | Ruby II | 2900 |
+ * | 30 | Ruby I | 2950 |
+ * | 31 | Master | 3000 |
+ *
+ *
+ * @export
+ */
+exports.SolveTier = {
+ NUMBER_0: 0,
+ NUMBER_1: 1,
+ NUMBER_2: 2,
+ NUMBER_3: 3,
+ NUMBER_4: 4,
+ NUMBER_5: 5,
+ NUMBER_6: 6,
+ NUMBER_7: 7,
+ NUMBER_8: 8,
+ NUMBER_9: 9,
+ NUMBER_10: 10,
+ NUMBER_11: 11,
+ NUMBER_12: 12,
+ NUMBER_13: 13,
+ NUMBER_14: 14,
+ NUMBER_15: 15,
+ NUMBER_16: 16,
+ NUMBER_17: 17,
+ NUMBER_18: 18,
+ NUMBER_19: 19,
+ NUMBER_20: 20,
+ NUMBER_21: 21,
+ NUMBER_22: 22,
+ NUMBER_23: 23,
+ NUMBER_24: 24,
+ NUMBER_25: 25,
+ NUMBER_26: 26,
+ NUMBER_27: 27,
+ NUMBER_28: 28,
+ NUMBER_29: 29,
+ NUMBER_30: 30,
+ NUMBER_31: 31
+};
+/**
+ * @export
+ */
+exports.UserClassEnum = {
+ NUMBER_0: 0,
+ NUMBER_1: 1,
+ NUMBER_2: 2,
+ NUMBER_3: 3,
+ NUMBER_4: 4,
+ NUMBER_5: 5,
+ NUMBER_6: 6,
+ NUMBER_7: 7,
+ NUMBER_8: 8,
+ NUMBER_9: 9,
+ NUMBER_10: 10
+};
+/**
+ * @export
+ */
+exports.UserClassDecorationEnum = {
+ None: 'none',
+ Silver: 'silver',
+ Gold: 'gold'
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserSettingsTwitterPostOnProblemSolveEnum = {
+ True: 'true'
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserSettingsScreenThemeEnum = {
+ Default: 'default'
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserSettingsTwitterPostHandleEnum = {
+ True: 'true'
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserSettingsTwitterPostOnRatingIncreaseEnum = {
+ True: 'true'
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserSettingsTwitterPostOnTierIncreaseEnum = {
+ True: 'true'
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserSettingsTwitterPostOnClassIncreaseEnum = {
+ True: 'true'
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserSettingsProHideAdsEnum = {
+ True: 'true'
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserSettingsSiteLanguageEnum = {
+ Ko: 'ko'
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserSettingsShowIllustBackgroundEnum = {
+ True: 'true'
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserSettingsShowMovieBackgroundEnum = {
+ True: 'true'
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserWithSettingsClassEnum = {
+ NUMBER_0: 0,
+ NUMBER_1: 1,
+ NUMBER_2: 2,
+ NUMBER_3: 3,
+ NUMBER_4: 4,
+ NUMBER_5: 5,
+ NUMBER_6: 6,
+ NUMBER_7: 7,
+ NUMBER_8: 8,
+ NUMBER_9: 9,
+ NUMBER_10: 10
+};
+/**
+ * @export
+ */
+exports.VerifyCredentialsUserWithSettingsClassDecorationEnum = {
+ None: 'none',
+ Silver: 'silver',
+ Gold: 'gold'
+};
diff --git a/dist/cjs/models/index.d.cts b/dist/cjs/models/index.d.cts
new file mode 100644
index 0000000..e19e4ba
--- /dev/null
+++ b/dist/cjs/models/index.d.cts
@@ -0,0 +1,2750 @@
+/**
+ * Unrated를 0,
+ * C를 1,
+ * ...,
+ * SSS+을 12,
+ * X를 13으로 표현하는 아레나 티어입니다.
+ * 자세한 값 정보는 표1. 아레나 레이팅 표를 펼쳐 참고하십시오.
+ *
+ *
+ *
+ * 표1. 아레나 레이팅 표
+ *
+ *
+ * | 수치 | 이름 | 요구 레이팅 |
+ * | ---: | :---------------------------------------------------------------------------------------------- | ---------------------------------------------: |
+ * | 0 | Unrated | - |
+ * | 1 | C | 1 |
+ * | 2 | C+ | 400 |
+ * | 3 | B | 800 |
+ * | 4 | B+ | 1000 |
+ * | 5 | A | 1200 |
+ * | 6 | A+ | 1400 |
+ * | 7 | S | 1600 |
+ * | 8 | S+ | 1800 |
+ * | 9 | SS | 2000 |
+ * | 10 | SS+ | 2200 |
+ * | 11 | SSS | 2400 |
+ * | 12 | SSS+ | 2600 |
+ * | 13 | X | 3000 |
+ *
+ *
+ * @export
+ */
+export declare const ArenaTier: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+ readonly NUMBER_11: 11;
+ readonly NUMBER_12: 12;
+ readonly NUMBER_13: 13;
+};
+export type ArenaTier = typeof ArenaTier[keyof typeof ArenaTier];
+/**
+ * 사용자가 획득할 수 있는 배경입니다.
+ * @export
+ * @interface Background
+ */
+export interface Background {
+ /**
+ * 배경의 고유 ID입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundId: string;
+ /**
+ * 배경 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundImageUrl: string;
+ /**
+ * 일러스트 배경 보기가 꺼져있을 때 보여줄 수 있는 대안 배경 사진으로 가는 하이퍼링크입니다.
+ * 일러스트를 포함하지 않은 배경이거나, 배경 제작자가 따로 준비하지 않은 경우 `null` 값일 수 있습니다.
+ * @type {string}
+ * @memberof Background
+ */
+ fallbackBackgroundImageUrl?: string;
+ /**
+ * 움직이는 배경이 켜져있을 때 보여줄 수 있는 배경 영상으로 가는 하이퍼링크입니다.
+ * 배경 제작자가 따로 준비하지 않은 경우 `null` 값일 수 있습니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundVideoUrl?: string;
+ /**
+ * 배경을 획득한 사용자 수입니다.
+ * @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 {BackgroundCategory}
+ * @memberof Background
+ */
+ backgroundCategory: BackgroundCategory;
+ /**
+ * solved.ac 회사가 권리를 보유하는지 여부입니다.
+ * @type {boolean}
+ * @memberof Background
+ */
+ solvedCompanyRights: boolean;
+ /**
+ * 배경을 작업한 작가 목록입니다. 빈 배열일 수 있습니다.
+ * @type {Array}
+ * @memberof Background
+ */
+ authors: Array;
+}
+/**
+ * 배경을 작업한 작가입니다.
+ * @export
+ * @interface BackgroundAuthor
+ */
+export interface BackgroundAuthor {
+ /**
+ * 작가 고유 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ authorId: string;
+ /**
+ * 수행한 역할입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ role: string;
+ /**
+ * 작가 홈페이지로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ authorUrl?: string;
+ /**
+ * 작가의 solved.ac 핸들입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ handle?: string;
+ /**
+ * 작가의 Twitter ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ twitter?: string;
+ /**
+ * 작가의 인스타그램 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ instagram?: string;
+ /**
+ * 작가의 표시 이름입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ displayName: string;
+}
+/**
+ * 배경 획득 유형 분류입니다.
+ * @export
+ */
+export declare const BackgroundCategory: {
+ readonly Event: "event";
+ readonly Arena: "arena";
+ readonly Achievement: "achievement";
+ readonly Season: "season";
+ readonly Contest: "contest";
+};
+export type BackgroundCategory = typeof BackgroundCategory[keyof typeof BackgroundCategory];
+/**
+ * 사용자가 획득할 수 있는 뱃지입니다.
+ * @export
+ * @interface Badge
+ */
+export interface Badge {
+ /**
+ * 뱃지의 고유 ID입니다.
+ * @type {string}
+ * @memberof Badge
+ */
+ badgeId: string;
+ /**
+ * 뱃지 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Badge
+ */
+ badgeImageUrl: string;
+ /**
+ * 뱃지가 표시되는 이름입니다.
+ * @type {string}
+ * @memberof Badge
+ */
+ displayName: string;
+ /**
+ * 뱃지의 설명입니다.
+ * @type {string}
+ * @memberof Badge
+ */
+ displayDescription: string;
+ /**
+ * 뱃지를 획득한 사용자 수입니다.
+ * @type {number}
+ * @memberof Badge
+ */
+ unlockedUserCount: number;
+ /**
+ *
+ * @type {BadgeTier}
+ * @memberof Badge
+ */
+ badgeTier: BadgeTier;
+ /**
+ *
+ * @type {BadgeCategory}
+ * @memberof Badge
+ */
+ badgeCategory: BadgeCategory;
+ /**
+ * solved.ac 회사가 권리를 보유하는지 여부입니다.
+ * @type {boolean}
+ * @memberof Badge
+ */
+ solvedCompanyRights: boolean;
+ /**
+ * 뱃지가 만들어진 시각입니다.
+ * @type {string}
+ * @memberof Badge
+ */
+ createdAt: string;
+}
+/**
+ * 뱃지 획득 유형 분류입니다.
+ * @export
+ */
+export declare const BadgeCategory: {
+ readonly Achievement: "achievement";
+ readonly Season: "season";
+ readonly Event: "event";
+ readonly Contest: "contest";
+};
+export type BadgeCategory = typeof BadgeCategory[keyof typeof BadgeCategory];
+/**
+ * 뱃지의 등급입니다.
+ * @export
+ */
+export declare const BadgeTier: {
+ readonly Bronze: "bronze";
+ readonly Silver: "silver";
+ readonly Gold: "gold";
+ readonly Master: "master";
+};
+export type BadgeTier = typeof BadgeTier[keyof typeof BadgeTier];
+/**
+ * 코인샵에서 판매하고 있는 상품입니다.
+ * @export
+ * @interface CoinShopProduct
+ */
+export interface CoinShopProduct {
+ /**
+ * 재고(Stock Keeping Unit) ID입니다.
+ * @type {number}
+ * @memberof CoinShopProduct
+ */
+ skuId: number;
+ /**
+ *
+ * @type {Item}
+ * @memberof CoinShopProduct
+ */
+ item: Item;
+ /**
+ * 1회 구매 시 획득하는 아이템 개수입니다.
+ * @type {number}
+ * @memberof CoinShopProduct
+ */
+ units: number;
+ /**
+ * 가격입니다.
+ * 코인의 경우 나누기 100을 해야 표시 가격이 됩니다.
+ * @type {number}
+ * @memberof CoinShopProduct
+ */
+ price: number;
+ /**
+ * 가격 단위입니다.
+ * @type {string}
+ * @memberof CoinShopProduct
+ */
+ priceUnit: CoinShopProductPriceUnitEnum;
+ /**
+ * 아이템 사용 시간 제한 여부입니다.
+ * @type {boolean}
+ * @memberof CoinShopProduct
+ */
+ itemUseTimeLimited: boolean;
+ /**
+ * 아이템 구매 기간 제한 여부입니다.
+ * @type {boolean}
+ * @memberof CoinShopProduct
+ */
+ itemSellTimeLimited: boolean;
+}
+/**
+ * @export
+ */
+export declare const CoinShopProductPriceUnitEnum: {
+ readonly Coins: "coins";
+ readonly Stardusts: "stardusts";
+};
+export type CoinShopProductPriceUnitEnum = typeof CoinShopProductPriceUnitEnum[keyof typeof CoinShopProductPriceUnitEnum];
+/**
+ * 난이도 투표 등에 사용할 수 있는 이모티콘입니다.
+ * @export
+ * @interface Emoticon
+ */
+export interface Emoticon {
+ /**
+ * 고유 식별자입니다.
+ * @type {string}
+ * @memberof Emoticon
+ */
+ emoticonId: string;
+ /**
+ * 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Emoticon
+ */
+ emoticonUrl: string;
+ /**
+ * 한국어 이름입니다.
+ * @type {string}
+ * @memberof Emoticon
+ */
+ displayName: string;
+}
+/**
+ *
+ * @export
+ * @interface GetClassesProblemCountClassEntry
+ */
+export interface GetClassesProblemCountClassEntry {
+ /**
+ * 클래스 숫자입니다.
+ * @type {number}
+ * @memberof GetClassesProblemCountClassEntry
+ */
+ _class: GetClassesProblemCountClassEntryClassEnum;
+ /**
+ * 총 문제 수입니다.
+ * @type {number}
+ * @memberof GetClassesProblemCountClassEntry
+ */
+ total: number;
+ /**
+ * 에센셜 문제 수입니다.
+ * @type {number}
+ * @memberof GetClassesProblemCountClassEntry
+ */
+ essentials: number;
+ /**
+ * 취득에 필요한 문제 수입니다.
+ * @type {number}
+ * @memberof GetClassesProblemCountClassEntry
+ */
+ criteria: number;
+}
+/**
+ * @export
+ */
+export declare const GetClassesProblemCountClassEntryClassEnum: {
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+};
+export type GetClassesProblemCountClassEntryClassEnum = typeof GetClassesProblemCountClassEntryClassEnum[keyof typeof GetClassesProblemCountClassEntryClassEnum];
+/**
+ *
+ * @export
+ * @interface GetCoinStardustExchangeRateExchangeRate
+ */
+export interface GetCoinStardustExchangeRateExchangeRate {
+ /**
+ * 1 코인을 별조각으로 바꾸는 환율입니다.
+ * 별조각을 코인으로 환전할 때에는 수수료가 1%(소수점은 내림) 붙습니다.
+ * @type {number}
+ * @memberof GetCoinStardustExchangeRateExchangeRate
+ */
+ rate: number;
+}
+/**
+ * 페이지네이션 가능한 쿼리의 응답 결과입니다.
+ * @export
+ * @interface GetOrganizationRankingByACRating200Response
+ */
+export interface GetOrganizationRankingByACRating200Response {
+ /**
+ * 전체 원소 수입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200Response
+ */
+ count: number;
+ /**
+ * 현재 페이지의 원소 목록입니다.
+ * @type {Array}
+ * @memberof GetOrganizationRankingByACRating200Response
+ */
+ items: Array;
+}
+/**
+ * 페이지네이션 가능한 쿼리의 응답 결과입니다.
+ * @export
+ * @interface GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+export interface GetOrganizationRankingByACRating200ResponseItemsInner {
+ /**
+ * ID입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ organizationId: number;
+ /**
+ * 이름입니다.
+ * @type {string}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ name: string;
+ /**
+ * 유형입니다.
+ * @type {OrganizationType}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ type: OrganizationType;
+ /**
+ * 문제풀이 레이팅입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ rating: number;
+ /**
+ * 속한 사용자 수입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ userCount: number;
+ /**
+ * 난이도 기여 수입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ voteCount: number;
+ /**
+ * 푼 문제 수입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ solvedCount: number;
+ /**
+ * 상징 색입니다.
+ * @type {string}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ color: string;
+ /**
+ * 순위입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ rank: number;
+}
+/**
+ * 페이지네이션 가능한 쿼리의 응답 결과입니다.
+ * @export
+ * @interface GetProblemsByIdList200Response
+ */
+export interface GetProblemsByIdList200Response {
+ /**
+ * 전체 원소 수입니다.
+ * @type {number}
+ * @memberof GetProblemsByIdList200Response
+ */
+ count: number;
+ /**
+ * 현재 페이지의 원소 목록입니다.
+ * @type {Array}
+ * @memberof GetProblemsByIdList200Response
+ */
+ items: Array;
+}
+/**
+ *
+ * @export
+ * @interface GetProblemsCountGroupByLevelLevelEntry
+ */
+export interface GetProblemsCountGroupByLevelLevelEntry {
+ /**
+ *
+ * @type {ProblemLevel}
+ * @memberof GetProblemsCountGroupByLevelLevelEntry
+ */
+ level: ProblemLevel;
+ /**
+ * 문제 수입니다.
+ * @type {number}
+ * @memberof GetProblemsCountGroupByLevelLevelEntry
+ */
+ count: number;
+}
+/**
+ * 페이지네이션 가능한 쿼리의 응답 결과입니다.
+ * @export
+ * @interface GetRankingByClass200Response
+ */
+export interface GetRankingByClass200Response {
+ /**
+ * 전체 원소 수입니다.
+ * @type {number}
+ * @memberof GetRankingByClass200Response
+ */
+ count: number;
+ /**
+ * 현재 페이지의 원소 목록입니다.
+ * @type {Array}
+ * @memberof GetRankingByClass200Response
+ */
+ items: Array;
+}
+/**
+ * 고급 검색 관련 자동 완성입니다.
+ * @export
+ * @interface GetSearchAutoCompletionsAutoCompleteEntry
+ */
+export interface GetSearchAutoCompletionsAutoCompleteEntry {
+ /**
+ * 자동 완성 제목입니다.
+ * 만약 href이 없을 경우 누르면 해당 값으로 자동 완성합니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsAutoCompleteEntry
+ */
+ caption: string;
+ /**
+ * 자동 완성 요소의 설명입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsAutoCompleteEntry
+ */
+ description: string;
+}
+/**
+ * 요악한 문제 정보입니다.
+ * @export
+ * @interface GetSearchAutoCompletionsBriefProblemEntry
+ */
+export interface GetSearchAutoCompletionsBriefProblemEntry {
+ /**
+ * 문제 ID입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ id: number;
+ /**
+ * 문제 제목입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ title: string;
+ /**
+ *
+ * @type {ProblemLevel}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ level: ProblemLevel;
+ /**
+ * 푼 사람 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ solved: number;
+ /**
+ * 자동 완성 제목입니다.
+ * 만약 href이 없을 경우 누르면 해당 값으로 자동 완성합니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ caption: string;
+ /**
+ * 자동 완성 요소의 설명입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ description: string;
+}
+/**
+ * 요약한 태그 정보입니다.
+ * @export
+ * @interface GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+export interface GetSearchAutoCompletionsBriefProblemTagEntry {
+ /**
+ * solved.ac에서 쓰는 태그 ID입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+ key: string;
+ /**
+ * 태그 이름입니다.
+ * 사용자 언어에 따라 번역되지 않습니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+ name: string;
+ /**
+ * 태그가 붙은 문제 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+ problemCount: number;
+ /**
+ * 자동 완성 제목입니다.
+ * 만약 href이 없을 경우 누르면 해당 값으로 자동 완성합니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+ caption: string;
+ /**
+ * 자동 완성 요소의 설명입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+ description: string;
+}
+/**
+ *
+ * @export
+ * @interface GetSearchAutoCompletionsSuggestion
+ */
+export interface GetSearchAutoCompletionsSuggestion {
+ /**
+ *
+ * @type {Array}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ autocomplete: Array;
+ /**
+ *
+ * @type {Array}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ problems: Array;
+ /**
+ * 검색 결과로 나올 총 문제 수입니다
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ problemCount: number;
+ /**
+ *
+ * @type {Array}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ tags: Array;
+ /**
+ * 검색 결과로 나올 총 태그 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ tagCount: number;
+ /**
+ *
+ * @type {Array}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ users: Array;
+ /**
+ * 검색 결과로 나올 총 사용자 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ userCount: number;
+}
+/**
+ * 사용자 정보입니다.
+ * @export
+ * @interface GetSearchAutoCompletionsUserEntry
+ */
+export interface GetSearchAutoCompletionsUserEntry {
+ /**
+ * 사용자명입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ handle: string;
+ /**
+ * 자기소개입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ bio: string;
+ /**
+ * 장착 중인 뱃지 ID입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ badgeId?: string;
+ /**
+ * 장착 중인 배경 ID입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ backgroundId: string;
+ /**
+ * 프로필 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ profileImageUrl?: string;
+ /**
+ * 푼 문제 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ solvedCount: number;
+ /**
+ * 난이도 기여 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ voteCount: number;
+ /**
+ * 취득한 CLASS입니다.
+ * 취득한 CLASS가 없다면 0으로 표현합니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ _class: GetSearchAutoCompletionsUserEntryClassEnum;
+ /**
+ * CLASS 완성도에 따른 장식입니다.
+ * 장식 없음 (`"none"`),
+ * 은장+ (`"silver"`),
+ * 금장++ (`"gold"`)이 있습니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ classDecoration: GetSearchAutoCompletionsUserEntryClassDecorationEnum;
+ /**
+ * 라이벌 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ rivalCount: number;
+ /**
+ * 역라이벌 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ reverseRivalCount: number;
+ /**
+ *
+ * @type {SolveTier}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ tier: SolveTier;
+ /**
+ * 문제풀이 레이팅입니다
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ rating: number;
+ /**
+ * 상위 100 문제 난이도 합으로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ ratingByProblemsSum: number;
+ /**
+ * 취득한 CLASS에 따라 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ ratingByClass: number;
+ /**
+ * 푼 문제 수로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ ratingBySolvedCount: number;
+ /**
+ * 문제 난이도에 기여한 횟수로 받은 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ ratingByVoteCount: number;
+ /**
+ * 현재 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ arenaTier: ArenaTier;
+ /**
+ * 현재 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ arenaRating: number;
+ /**
+ * 역대 받은 아레나 티어 중 최고점일 때의 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ arenaMaxTier: ArenaTier;
+ /**
+ * 역대 받은 아레나 레이팅 중 최고점일 때의 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ arenaMaxRating: number;
+ /**
+ * 참여한 아레나 라운드 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ arenaCompetedRoundCount: number;
+ /**
+ * 유지한 최대 스트릭의 길이입니다. (일 단위)
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ maxStreak: number;
+ /**
+ * 보유 중인 코인에 100을 곱한 값입니다.
+ * 만약, 실제로 보유한 코인이 0.15라면 15로 기록됩니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ coins: number;
+ /**
+ * 보유 중인 별가루 양입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ stardusts: number;
+ /**
+ * 가입 시각입니다.
+ * 일부 계정에 대해 2021년 6월 19일 0시 (UTC)로 백필된 흔적이 있습니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ joinedAt: string;
+ /**
+ * 정지 종료 시각입니다.
+ * 정지 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ bannedUntil: string;
+ /**
+ * [솔브드 서포터](https://solved.ac/support) 종료 시각입니다.
+ * 활성화 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ proUntil: string;
+ /**
+ * 순위입니다.
+ * 이 값은 요청하는 엔드포인트의 정렬 기준에 따라 다를 수 있습니다.
+ * 예) /ranking/* 엔드포인트에서는 해당 랭킹의 순위, /show 엔드포인트에서는 문제풀이 레이팅 순위
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ rank: number;
+}
+/**
+ * @export
+ */
+export declare const GetSearchAutoCompletionsUserEntryClassEnum: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+};
+export type GetSearchAutoCompletionsUserEntryClassEnum = typeof GetSearchAutoCompletionsUserEntryClassEnum[keyof typeof GetSearchAutoCompletionsUserEntryClassEnum];
+/**
+ * @export
+ */
+export declare const GetSearchAutoCompletionsUserEntryClassDecorationEnum: {
+ readonly None: "none";
+ readonly Silver: "silver";
+ readonly Gold: "gold";
+};
+export type GetSearchAutoCompletionsUserEntryClassDecorationEnum = typeof GetSearchAutoCompletionsUserEntryClassDecorationEnum[keyof typeof GetSearchAutoCompletionsUserEntryClassDecorationEnum];
+/**
+ *
+ * @export
+ * @interface GetUserProblemStatsProblemStat
+ */
+export interface GetUserProblemStatsProblemStat {
+ /**
+ *
+ * @type {ProblemLevel}
+ * @memberof GetUserProblemStatsProblemStat
+ */
+ level: ProblemLevel;
+ /**
+ * solved.ac에 등록된 해당 수준 문제 수입니다.
+ * @type {number}
+ * @memberof GetUserProblemStatsProblemStat
+ */
+ total: number;
+ /**
+ * 사용자가 푼 문제 수입니다.
+ * @type {number}
+ * @memberof GetUserProblemStatsProblemStat
+ */
+ solved: number;
+ /**
+ * 사용자가 부분 성공한 문제 수입니다.
+ * @type {number}
+ * @memberof GetUserProblemStatsProblemStat
+ */
+ partial: number;
+ /**
+ * 사용자가 시도해 본 문제 수입니다.
+ * @type {number}
+ * @memberof GetUserProblemStatsProblemStat
+ */
+ tried: number;
+}
+/**
+ * 사용자가 사용할 수 있는 아이템입니다.
+ * @export
+ * @interface Item
+ */
+export interface Item {
+ /**
+ * ID입니다.
+ * @type {string}
+ * @memberof Item
+ */
+ itemId: string;
+ /**
+ * 아이템 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Item
+ */
+ itemImageUrl: string;
+ /**
+ * 최대 소유 가능 개수입니다.
+ * 사람에 따라 다를 수 있습니다.
+ * @type {number}
+ * @memberof Item
+ */
+ inventoryMaxUnits: number;
+ /**
+ * 사용 가능 여부입니다.
+ * @type {boolean}
+ * @memberof Item
+ */
+ usable: boolean;
+ /**
+ * 국제화된 이름입니다.
+ * @type {string}
+ * @memberof Item
+ */
+ displayName: string;
+ /**
+ * 국제화된 설명입니다.
+ * @type {string}
+ * @memberof Item
+ */
+ displayDescription: string;
+}
+/**
+ * solved.ac에서 지원하는 사용자 언어입니다
+ * @export
+ */
+export declare const Language: {
+ readonly Ko: "ko";
+ readonly En: "en";
+ readonly Ja: "ja";
+};
+export type Language = typeof Language[keyof typeof Language];
+/**
+ * solved.ac에 등록한 단체입니다.
+ * @export
+ * @interface Organization
+ */
+export interface Organization {
+ /**
+ * ID입니다.
+ * @type {number}
+ * @memberof Organization
+ */
+ organizationId: number;
+ /**
+ * 이름입니다.
+ * @type {string}
+ * @memberof Organization
+ */
+ name: string;
+ /**
+ * 유형입니다.
+ * @type {OrganizationType}
+ * @memberof Organization
+ */
+ type: OrganizationType;
+ /**
+ * 문제풀이 레이팅입니다.
+ * @type {number}
+ * @memberof Organization
+ */
+ rating: number;
+ /**
+ * 속한 사용자 수입니다.
+ * @type {number}
+ * @memberof Organization
+ */
+ userCount: number;
+ /**
+ * 난이도 기여 수입니다.
+ * @type {number}
+ * @memberof Organization
+ */
+ voteCount: number;
+ /**
+ * 푼 문제 수입니다.
+ * @type {number}
+ * @memberof Organization
+ */
+ solvedCount: number;
+ /**
+ * 상징 색입니다.
+ * @type {string}
+ * @memberof Organization
+ */
+ color: string;
+}
+/**
+ * 단체 유형입니다.
+ * @export
+ */
+export declare const OrganizationType: {
+ readonly University: "university";
+ readonly Company: "company";
+ readonly Community: "community";
+ readonly HighSchool: "high_school";
+ readonly MiddleSchool: "middle_school";
+ readonly ElementarySchool: "elementary_school";
+ readonly Undefined: "undefined";
+};
+export type OrganizationType = typeof OrganizationType[keyof typeof OrganizationType];
+/**
+ * 문제 정보입니다.
+ * @export
+ * @interface Problem
+ */
+export interface Problem {
+ /**
+ * 백준 문제 번호로, 문제마다 고유합니다.
+ * @type {number}
+ * @memberof Problem
+ */
+ problemId: number;
+ /**
+ * 한국어 문제 제목입니다.
+ * HTML 엔티티나 LaTeX 수식을 포함할 수 있습니다.
+ * @type {string}
+ * @memberof Problem
+ */
+ titleKo: string;
+ /**
+ * 언어별 문제 제목 목록입니다.
+ * @type {Array}
+ * @memberof Problem
+ */
+ titles: Array;
+ /**
+ * 채점 가능 여부입니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ isSolvable: boolean;
+ /**
+ * 부분 점수/서브태스크 문제 여부입니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ isPartial: boolean;
+ /**
+ * 맞은 사람 수입니다.
+ * @type {number}
+ * @memberof Problem
+ */
+ acceptedUserCount: number;
+ /**
+ *
+ * @type {ProblemLevel}
+ * @memberof Problem
+ */
+ level: ProblemLevel;
+ /**
+ * 난이도 기여자 수입니다.
+ * @type {number}
+ * @memberof Problem
+ */
+ votedUserCount: number;
+ /**
+ * 새싹 문제 여부입니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ sprout: boolean;
+ /**
+ * 레이팅을 주지 않는지 여부입니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ givesNoRating: boolean;
+ /**
+ * 난이도 기여 제한 여부입니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ isLevelLocked: boolean;
+ /**
+ * 평균 시도 횟수입니다.
+ * @type {number}
+ * @memberof Problem
+ */
+ averageTries: number;
+ /**
+ * 공식 문제 여부입니다.
+ * 번외 문제 등은 비공식 문제로 분류됩니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ official: boolean;
+ /**
+ * 태그 목록입니다.
+ * @type {Array}
+ * @memberof Problem
+ */
+ tags: Array;
+ /**
+ *
+ * @type {any}
+ * @memberof Problem
+ */
+ metadata: any | null;
+}
+/**
+ * Unrated / Not Ratable를 0,
+ * Bronze V를 1,
+ * Bronze IV를 2,
+ * ...,
+ * Ruby II을 29,
+ * Ruby I를 30으로 표현하는 문제 난이도입니다.
+ * 자세한 값 정보는 표1. 문제 난이도 표를 펼쳐 참고하십시오.
+ *
+ *
+ *
+ * 표1. 문제 난이도 표
+ *
+ *
+ * | 수치 | 이름 |
+ * | ---: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+ * | 0 | Unrated / Not Ratable |
+ * | 1 | Bronze V |
+ * | 2 | Bronze IV |
+ * | 3 | Bronze III |
+ * | 4 | Bronze II |
+ * | 5 | Bronze I |
+ * | 6 | Silver V |
+ * | 7 | Silver IV |
+ * | 8 | Silver III |
+ * | 9 | Silver II |
+ * | 10 | Silver I |
+ * | 11 | Gold V |
+ * | 12 | Gold IV |
+ * | 13 | Gold III |
+ * | 14 | Gold II |
+ * | 15 | Gold I |
+ * | 16 | Platinum V |
+ * | 17 | Platinum IV |
+ * | 18 | Platinum III |
+ * | 19 | Platinum II |
+ * | 20 | Platinum I |
+ * | 21 | Diamond V |
+ * | 22 | Diamond IV |
+ * | 23 | Diamond III |
+ * | 24 | Diamond II |
+ * | 25 | Diamond I |
+ * | 26 | Ruby V |
+ * | 27 | Ruby IV |
+ * | 28 | Ruby III |
+ * | 29 | Ruby II |
+ * | 30 | Ruby I |
+ *
+ *
+ * @export
+ */
+export declare const ProblemLevel: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+ readonly NUMBER_11: 11;
+ readonly NUMBER_12: 12;
+ readonly NUMBER_13: 13;
+ readonly NUMBER_14: 14;
+ readonly NUMBER_15: 15;
+ readonly NUMBER_16: 16;
+ readonly NUMBER_17: 17;
+ readonly NUMBER_18: 18;
+ readonly NUMBER_19: 19;
+ readonly NUMBER_20: 20;
+ readonly NUMBER_21: 21;
+ readonly NUMBER_22: 22;
+ readonly NUMBER_23: 23;
+ readonly NUMBER_24: 24;
+ readonly NUMBER_25: 25;
+ readonly NUMBER_26: 26;
+ readonly NUMBER_27: 27;
+ readonly NUMBER_28: 28;
+ readonly NUMBER_29: 29;
+ readonly NUMBER_30: 30;
+};
+export type ProblemLevel = typeof ProblemLevel[keyof typeof ProblemLevel];
+/**
+ *
+ * @export
+ * @interface ProblemTag
+ */
+export interface ProblemTag {
+ /**
+ * solved.ac에서 쓰는 태그 ID입니다.
+ * @type {string}
+ * @memberof ProblemTag
+ */
+ key: string;
+ /**
+ *
+ * @type {boolean}
+ * @memberof ProblemTag
+ */
+ isMeta: boolean;
+ /**
+ * 백준 온라인 저지에서 쓰는 태그 ID입니다.
+ * @type {number}
+ * @memberof ProblemTag
+ */
+ bojTagId: number;
+ /**
+ * 태그가 붙은 문제 수입니다.
+ * @type {number}
+ * @memberof ProblemTag
+ */
+ problemCount: number;
+ /**
+ * 언어별 태그 이름 목록입니다.
+ * @type {Array}
+ * @memberof ProblemTag
+ */
+ displayNames: Array;
+ /**
+ * 별명 목록입니다. 빈 배열일 수 있습니다.
+ * @type {Array}
+ * @memberof ProblemTag
+ */
+ aliases: Array;
+}
+/**
+ * 태그의 별칭을 나타냅니다.
+ * @export
+ * @interface ProblemTagAlias
+ */
+export interface ProblemTagAlias {
+ /**
+ * 별칭입니다
+ * @type {string}
+ * @memberof ProblemTagAlias
+ */
+ alias: string;
+}
+/**
+ *
+ * @export
+ * @interface ProblemTagNameTranslated
+ */
+export interface ProblemTagNameTranslated {
+ /**
+ * 태그 이름이 작성된 언어입니다.
+ * @type {Language}
+ * @memberof ProblemTagNameTranslated
+ */
+ language: Language;
+ /**
+ * 이름입니다.
+ * @type {string}
+ * @memberof ProblemTagNameTranslated
+ */
+ name: string;
+ /**
+ * 짧은 이름입니다.
+ * 따로 없을 경우 `name`과 같은 값입니다.
+ * @type {string}
+ * @memberof ProblemTagNameTranslated
+ */
+ _short: string;
+}
+/**
+ * 언어별 문제 제목입니다.
+ * @export
+ * @interface ProblemTitleTranslated
+ */
+export interface ProblemTitleTranslated {
+ /**
+ * 문제 제목이 작성된 언어입니다.
+ * @type {Language}
+ * @memberof ProblemTitleTranslated
+ */
+ language: Language;
+ /**
+ * 문제 제목이 작성된 언어의 이름입니다.
+ * @type {string}
+ * @memberof ProblemTitleTranslated
+ */
+ languageDisplayName: string;
+ /**
+ * 문제 제목입니다.
+ * @type {string}
+ * @memberof ProblemTitleTranslated
+ */
+ title: string;
+ /**
+ * 원본과 동일한지 여부입니다.
+ * @type {boolean}
+ * @memberof ProblemTitleTranslated
+ */
+ isOriginal: boolean;
+}
+/**
+ *
+ * @export
+ * @interface RedeemCodeRequest
+ */
+export interface RedeemCodeRequest {
+ /**
+ * 리딤 코드입니다.
+ * @type {string}
+ * @memberof RedeemCodeRequest
+ */
+ code: string;
+}
+/**
+ *
+ * @export
+ * @interface RivalUser
+ */
+export interface RivalUser {
+ /**
+ * 라이벌 여부입니다.
+ * @type {boolean}
+ * @memberof RivalUser
+ */
+ isRival: boolean;
+ /**
+ * 역라이벌 여부입니다.
+ * @type {boolean}
+ * @memberof RivalUser
+ */
+ isReverseRival: boolean;
+ /**
+ * 사용자명입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ handle: string;
+ /**
+ * 자기소개입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ bio: string;
+ /**
+ * 장착 중인 뱃지 ID입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ badgeId?: string;
+ /**
+ * 장착 중인 배경 ID입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ backgroundId: string;
+ /**
+ * 프로필 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ profileImageUrl?: string;
+ /**
+ * 푼 문제 수입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ solvedCount: number;
+ /**
+ * 난이도 기여 수입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ voteCount: number;
+ /**
+ * 취득한 CLASS입니다.
+ * 취득한 CLASS가 없다면 0으로 표현합니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ _class: RivalUserClassEnum;
+ /**
+ * CLASS 완성도에 따른 장식입니다.
+ * 장식 없음 (`"none"`),
+ * 은장+ (`"silver"`),
+ * 금장++ (`"gold"`)이 있습니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ classDecoration: RivalUserClassDecorationEnum;
+ /**
+ * 라이벌 수입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ rivalCount: number;
+ /**
+ * 역라이벌 수입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ reverseRivalCount: number;
+ /**
+ *
+ * @type {SolveTier}
+ * @memberof RivalUser
+ */
+ tier: SolveTier;
+ /**
+ * 문제풀이 레이팅입니다
+ * @type {number}
+ * @memberof RivalUser
+ */
+ rating: number;
+ /**
+ * 상위 100 문제 난이도 합으로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ ratingByProblemsSum: number;
+ /**
+ * 취득한 CLASS에 따라 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ ratingByClass: number;
+ /**
+ * 푼 문제 수로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ ratingBySolvedCount: number;
+ /**
+ * 문제 난이도에 기여한 횟수로 받은 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ ratingByVoteCount: number;
+ /**
+ * 현재 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof RivalUser
+ */
+ arenaTier: ArenaTier;
+ /**
+ * 현재 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ arenaRating: number;
+ /**
+ * 역대 받은 아레나 티어 중 최고점일 때의 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof RivalUser
+ */
+ arenaMaxTier: ArenaTier;
+ /**
+ * 역대 받은 아레나 레이팅 중 최고점일 때의 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ arenaMaxRating: number;
+ /**
+ * 참여한 아레나 라운드 수입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ arenaCompetedRoundCount: number;
+ /**
+ * 유지한 최대 스트릭의 길이입니다. (일 단위)
+ * @type {number}
+ * @memberof RivalUser
+ */
+ maxStreak: number;
+ /**
+ * 보유 중인 코인에 100을 곱한 값입니다.
+ * 만약, 실제로 보유한 코인이 0.15라면 15로 기록됩니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ coins: number;
+ /**
+ * 보유 중인 별가루 양입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ stardusts: number;
+ /**
+ * 가입 시각입니다.
+ * 일부 계정에 대해 2021년 6월 19일 0시 (UTC)로 백필된 흔적이 있습니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ joinedAt: string;
+ /**
+ * 정지 종료 시각입니다.
+ * 정지 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ bannedUntil: string;
+ /**
+ * [솔브드 서포터](https://solved.ac/support) 종료 시각입니다.
+ * 활성화 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ proUntil: string;
+ /**
+ * 순위입니다.
+ * 이 값은 요청하는 엔드포인트의 정렬 기준에 따라 다를 수 있습니다.
+ * 예) /ranking/* 엔드포인트에서는 해당 랭킹의 순위, /show 엔드포인트에서는 문제풀이 레이팅 순위
+ * @type {number}
+ * @memberof RivalUser
+ */
+ rank: number;
+}
+/**
+ * @export
+ */
+export declare const RivalUserClassEnum: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+};
+export type RivalUserClassEnum = typeof RivalUserClassEnum[keyof typeof RivalUserClassEnum];
+/**
+ * @export
+ */
+export declare const RivalUserClassDecorationEnum: {
+ readonly None: "none";
+ readonly Silver: "silver";
+ readonly Gold: "gold";
+};
+export type RivalUserClassDecorationEnum = typeof RivalUserClassDecorationEnum[keyof typeof RivalUserClassDecorationEnum];
+/**
+ * 검색 결과 정렬 방향
+ * @export
+ */
+export declare const SearchProblemQueryDirection: {
+ readonly Asc: "asc";
+ readonly Desc: "desc";
+};
+export type SearchProblemQueryDirection = typeof SearchProblemQueryDirection[keyof typeof SearchProblemQueryDirection];
+/**
+ * 검색 결과 정렬 기준
+ * @export
+ */
+export declare const SearchProblemQuerySort: {
+ readonly Id: "id";
+ readonly Level: "level";
+ readonly Title: "title";
+ readonly Solved: "solved";
+ readonly AverageTry: "average_try";
+ readonly Random: "random";
+};
+export type SearchProblemQuerySort = typeof SearchProblemQuerySort[keyof typeof SearchProblemQuerySort];
+/**
+ * 페이지네이션 가능한 쿼리의 응답 결과입니다.
+ * @export
+ * @interface SearchProblemTag200Response
+ */
+export interface SearchProblemTag200Response {
+ /**
+ * 전체 원소 수입니다.
+ * @type {number}
+ * @memberof SearchProblemTag200Response
+ */
+ count: number;
+ /**
+ * 현재 페이지의 원소 목록입니다.
+ * @type {Array}
+ * @memberof SearchProblemTag200Response
+ */
+ items: Array;
+}
+/**
+ * 페이지네이션 가능한 쿼리의 응답 결과입니다.
+ * @export
+ * @interface SearchUser200Response
+ */
+export interface SearchUser200Response {
+ /**
+ * 전체 원소 수입니다.
+ * @type {number}
+ * @memberof SearchUser200Response
+ */
+ count: number;
+ /**
+ * 현재 페이지의 원소 목록입니다.
+ * @type {Array}
+ * @memberof SearchUser200Response
+ */
+ items: Array;
+}
+/**
+ * solved.ac 사이트의 통계 정보입니다.
+ * @export
+ * @interface SiteStatistics
+ */
+export interface SiteStatistics {
+ /**
+ * 여태까지 색인된 백준 문제 수입니다.
+ * @type {number}
+ * @memberof SiteStatistics
+ */
+ problemCount: number;
+ /**
+ * 여태까지 난이도가 기여된 백준 문제 수입니다.
+ * @type {number}
+ * @memberof SiteStatistics
+ */
+ problemVotedCount: number;
+ /**
+ * 여태까지 등록한 사용자 수입니다.
+ * @type {number}
+ * @memberof SiteStatistics
+ */
+ userCount: number;
+ /**
+ * 여태까지 난이도에 기여한 사용자 수입니다
+ * @type {number}
+ * @memberof SiteStatistics
+ */
+ contributorCount: number;
+ /**
+ * 여태까지 이루어진 난이도 기여의 수입니다.
+ * @type {number}
+ * @memberof SiteStatistics
+ */
+ contributionCount: number;
+}
+/**
+ * solved.ac 사용자 정보입니다.
+ * @export
+ * @interface SocialUser
+ */
+export interface SocialUser {
+ /**
+ * 로그인한 사용자가 해당 사용자를 차단했는지 여부입니다.
+ * @type {boolean}
+ * @memberof SocialUser
+ */
+ blocked: boolean;
+ /**
+ * 로그인한 사용자가 해당 사용자에게 차단당했는지 여부입니다.
+ * @type {boolean}
+ * @memberof SocialUser
+ */
+ reverseBlocked: boolean;
+ /**
+ * 라이벌 여부입니다.
+ * @type {boolean}
+ * @memberof SocialUser
+ */
+ isRival: boolean;
+ /**
+ * 역라이벌 여부입니다.
+ * @type {boolean}
+ * @memberof SocialUser
+ */
+ isReverseRival: boolean;
+ /**
+ * 사용자명입니다.
+ * @type {string}
+ * @memberof SocialUser
+ */
+ handle: string;
+ /**
+ * 자기소개입니다.
+ * @type {string}
+ * @memberof SocialUser
+ */
+ bio: string;
+ /**
+ * 장착 중인 뱃지 ID입니다.
+ * @type {string}
+ * @memberof SocialUser
+ */
+ badgeId?: string;
+ /**
+ * 장착 중인 배경 ID입니다.
+ * @type {string}
+ * @memberof SocialUser
+ */
+ backgroundId: string;
+ /**
+ * 프로필 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof SocialUser
+ */
+ profileImageUrl?: string;
+ /**
+ * 푼 문제 수입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ solvedCount: number;
+ /**
+ * 난이도 기여 수입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ voteCount: number;
+ /**
+ * 취득한 CLASS입니다.
+ * 취득한 CLASS가 없다면 0으로 표현합니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ _class: SocialUserClassEnum;
+ /**
+ * CLASS 완성도에 따른 장식입니다.
+ * 장식 없음 (`"none"`),
+ * 은장+ (`"silver"`),
+ * 금장++ (`"gold"`)이 있습니다.
+ * @type {string}
+ * @memberof SocialUser
+ */
+ classDecoration: SocialUserClassDecorationEnum;
+ /**
+ * 라이벌 수입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ rivalCount: number;
+ /**
+ * 역라이벌 수입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ reverseRivalCount: number;
+ /**
+ *
+ * @type {SolveTier}
+ * @memberof SocialUser
+ */
+ tier: SolveTier;
+ /**
+ * 문제풀이 레이팅입니다
+ * @type {number}
+ * @memberof SocialUser
+ */
+ rating: number;
+ /**
+ * 상위 100 문제 난이도 합으로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ ratingByProblemsSum: number;
+ /**
+ * 취득한 CLASS에 따라 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ ratingByClass: number;
+ /**
+ * 푼 문제 수로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ ratingBySolvedCount: number;
+ /**
+ * 문제 난이도에 기여한 횟수로 받은 레이팅입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ ratingByVoteCount: number;
+ /**
+ * 현재 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof SocialUser
+ */
+ arenaTier: ArenaTier;
+ /**
+ * 현재 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ arenaRating: number;
+ /**
+ * 역대 받은 아레나 티어 중 최고점일 때의 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof SocialUser
+ */
+ arenaMaxTier: ArenaTier;
+ /**
+ * 역대 받은 아레나 레이팅 중 최고점일 때의 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ arenaMaxRating: number;
+ /**
+ * 참여한 아레나 라운드 수입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ arenaCompetedRoundCount: number;
+ /**
+ * 유지한 최대 스트릭의 길이입니다. (일 단위)
+ * @type {number}
+ * @memberof SocialUser
+ */
+ maxStreak: number;
+ /**
+ * 보유 중인 코인에 100을 곱한 값입니다.
+ * 만약, 실제로 보유한 코인이 0.15라면 15로 기록됩니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ coins: number;
+ /**
+ * 보유 중인 별가루 양입니다.
+ * @type {number}
+ * @memberof SocialUser
+ */
+ stardusts: number;
+ /**
+ * 가입 시각입니다.
+ * 일부 계정에 대해 2021년 6월 19일 0시 (UTC)로 백필된 흔적이 있습니다.
+ * @type {string}
+ * @memberof SocialUser
+ */
+ joinedAt: string;
+ /**
+ * 정지 종료 시각입니다.
+ * 정지 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof SocialUser
+ */
+ bannedUntil: string;
+ /**
+ * [솔브드 서포터](https://solved.ac/support) 종료 시각입니다.
+ * 활성화 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof SocialUser
+ */
+ proUntil: string;
+ /**
+ * 순위입니다.
+ * 이 값은 요청하는 엔드포인트의 정렬 기준에 따라 다를 수 있습니다.
+ * 예) /ranking/* 엔드포인트에서는 해당 랭킹의 순위, /show 엔드포인트에서는 문제풀이 레이팅 순위
+ * @type {number}
+ * @memberof SocialUser
+ */
+ rank: number;
+}
+/**
+ * @export
+ */
+export declare const SocialUserClassEnum: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+};
+export type SocialUserClassEnum = typeof SocialUserClassEnum[keyof typeof SocialUserClassEnum];
+/**
+ * @export
+ */
+export declare const SocialUserClassDecorationEnum: {
+ readonly None: "none";
+ readonly Silver: "silver";
+ readonly Gold: "gold";
+};
+export type SocialUserClassDecorationEnum = typeof SocialUserClassDecorationEnum[keyof typeof SocialUserClassDecorationEnum];
+/**
+ * Unrated를 0,
+ * Bronze V를 1,
+ * ...,
+ * Ruby I을 30,
+ * Master를 31로 표현하는 문제해결 티어입니다.
+ * 자세한 값 정보는 표1. 문제 풀이 레이팅 표를 펼쳐 참고하십시오.
+ *
+ *
+ *
+ * 표1. 문제 풀이 레이팅 표
+ *
+ *
+ * | 수치 | 이름 | 요구 레이팅 |
+ * | ---: | :------------------------------------------------------------------------------------------------------ | --------------------------------------------------: |
+ * | 0 | Unrated | 0 |
+ * | 1 | Bronze V | 30 |
+ * | 2 | Bronze IV | 60 |
+ * | 3 | Bronze III | 90 |
+ * | 4 | Bronze II | 120 |
+ * | 5 | Bronze I | 150 |
+ * | 6 | Silver V | 200 |
+ * | 7 | Silver IV | 300 |
+ * | 8 | Silver III | 400 |
+ * | 9 | Silver II | 500 |
+ * | 10 | Silver I | 650 |
+ * | 11 | Gold V | 800 |
+ * | 12 | Gold IV | 950 |
+ * | 13 | Gold III | 1100 |
+ * | 14 | Gold II | 1250 |
+ * | 15 | Gold I | 1400 |
+ * | 16 | Platinum V | 1600 |
+ * | 17 | Platinum IV | 1750 |
+ * | 18 | Platinum III | 1900 |
+ * | 19 | Platinum II | 2000 |
+ * | 20 | Platinum I | 2100 |
+ * | 21 | Diamond V | 2200 |
+ * | 22 | Diamond IV | 2300 |
+ * | 23 | Diamond III | 2400 |
+ * | 24 | Diamond II | 2500 |
+ * | 25 | Diamond I | 2600 |
+ * | 26 | Ruby V | 2700 |
+ * | 27 | Ruby IV | 2800 |
+ * | 28 | Ruby III | 2850 |
+ * | 29 | Ruby II | 2900 |
+ * | 30 | Ruby I | 2950 |
+ * | 31 | Master | 3000 |
+ *
+ *
+ * @export
+ */
+export declare const SolveTier: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+ readonly NUMBER_11: 11;
+ readonly NUMBER_12: 12;
+ readonly NUMBER_13: 13;
+ readonly NUMBER_14: 14;
+ readonly NUMBER_15: 15;
+ readonly NUMBER_16: 16;
+ readonly NUMBER_17: 17;
+ readonly NUMBER_18: 18;
+ readonly NUMBER_19: 19;
+ readonly NUMBER_20: 20;
+ readonly NUMBER_21: 21;
+ readonly NUMBER_22: 22;
+ readonly NUMBER_23: 23;
+ readonly NUMBER_24: 24;
+ readonly NUMBER_25: 25;
+ readonly NUMBER_26: 26;
+ readonly NUMBER_27: 27;
+ readonly NUMBER_28: 28;
+ readonly NUMBER_29: 29;
+ readonly NUMBER_30: 30;
+ readonly NUMBER_31: 31;
+};
+export type SolveTier = typeof SolveTier[keyof typeof SolveTier];
+/**
+ *
+ * @export
+ * @interface UpdateAccountSettingsRequest
+ */
+export interface UpdateAccountSettingsRequest {
+ /**
+ * 업데이트할 설정의 이름입니다.
+ * @type {string}
+ * @memberof UpdateAccountSettingsRequest
+ */
+ key?: string;
+ /**
+ * 업데이트할 설정의 새로운 값입니다.
+ * @type {any}
+ * @memberof UpdateAccountSettingsRequest
+ */
+ value?: any;
+}
+/**
+ * solved.ac 사용자 정보입니다.
+ * @export
+ * @interface User
+ */
+export interface User {
+ /**
+ * 사용자명입니다.
+ * @type {string}
+ * @memberof User
+ */
+ handle: string;
+ /**
+ * 자기소개입니다.
+ * @type {string}
+ * @memberof User
+ */
+ bio: string;
+ /**
+ * 장착 중인 뱃지 ID입니다.
+ * @type {string}
+ * @memberof User
+ */
+ badgeId?: string;
+ /**
+ * 장착 중인 배경 ID입니다.
+ * @type {string}
+ * @memberof User
+ */
+ backgroundId: string;
+ /**
+ * 프로필 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof User
+ */
+ profileImageUrl?: string;
+ /**
+ * 푼 문제 수입니다.
+ * @type {number}
+ * @memberof User
+ */
+ solvedCount: number;
+ /**
+ * 난이도 기여 수입니다.
+ * @type {number}
+ * @memberof User
+ */
+ voteCount: number;
+ /**
+ * 취득한 CLASS입니다.
+ * 취득한 CLASS가 없다면 0으로 표현합니다.
+ * @type {number}
+ * @memberof User
+ */
+ _class: UserClassEnum;
+ /**
+ * CLASS 완성도에 따른 장식입니다.
+ * 장식 없음 (`"none"`),
+ * 은장+ (`"silver"`),
+ * 금장++ (`"gold"`)이 있습니다.
+ * @type {string}
+ * @memberof User
+ */
+ classDecoration: UserClassDecorationEnum;
+ /**
+ * 라이벌 수입니다.
+ * @type {number}
+ * @memberof User
+ */
+ rivalCount: number;
+ /**
+ * 역라이벌 수입니다.
+ * @type {number}
+ * @memberof User
+ */
+ reverseRivalCount: number;
+ /**
+ *
+ * @type {SolveTier}
+ * @memberof User
+ */
+ tier: SolveTier;
+ /**
+ * 문제풀이 레이팅입니다
+ * @type {number}
+ * @memberof User
+ */
+ rating: number;
+ /**
+ * 상위 100 문제 난이도 합으로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof User
+ */
+ ratingByProblemsSum: number;
+ /**
+ * 취득한 CLASS에 따라 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof User
+ */
+ ratingByClass: number;
+ /**
+ * 푼 문제 수로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof User
+ */
+ ratingBySolvedCount: number;
+ /**
+ * 문제 난이도에 기여한 횟수로 받은 레이팅입니다.
+ * @type {number}
+ * @memberof User
+ */
+ ratingByVoteCount: number;
+ /**
+ * 현재 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof User
+ */
+ arenaTier: ArenaTier;
+ /**
+ * 현재 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof User
+ */
+ arenaRating: number;
+ /**
+ * 역대 받은 아레나 티어 중 최고점일 때의 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof User
+ */
+ arenaMaxTier: ArenaTier;
+ /**
+ * 역대 받은 아레나 레이팅 중 최고점일 때의 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof User
+ */
+ arenaMaxRating: number;
+ /**
+ * 참여한 아레나 라운드 수입니다.
+ * @type {number}
+ * @memberof User
+ */
+ arenaCompetedRoundCount: number;
+ /**
+ * 유지한 최대 스트릭의 길이입니다. (일 단위)
+ * @type {number}
+ * @memberof User
+ */
+ maxStreak: number;
+ /**
+ * 보유 중인 코인에 100을 곱한 값입니다.
+ * 만약, 실제로 보유한 코인이 0.15라면 15로 기록됩니다.
+ * @type {number}
+ * @memberof User
+ */
+ coins: number;
+ /**
+ * 보유 중인 별가루 양입니다.
+ * @type {number}
+ * @memberof User
+ */
+ stardusts: number;
+ /**
+ * 가입 시각입니다.
+ * 일부 계정에 대해 2021년 6월 19일 0시 (UTC)로 백필된 흔적이 있습니다.
+ * @type {string}
+ * @memberof User
+ */
+ joinedAt: string;
+ /**
+ * 정지 종료 시각입니다.
+ * 정지 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof User
+ */
+ bannedUntil: string;
+ /**
+ * [솔브드 서포터](https://solved.ac/support) 종료 시각입니다.
+ * 활성화 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof User
+ */
+ proUntil: string;
+ /**
+ * 순위입니다.
+ * 이 값은 요청하는 엔드포인트의 정렬 기준에 따라 다를 수 있습니다.
+ * 예) /ranking/* 엔드포인트에서는 해당 랭킹의 순위, /show 엔드포인트에서는 문제풀이 레이팅 순위
+ * @type {number}
+ * @memberof User
+ */
+ rank: number;
+}
+/**
+ * @export
+ */
+export declare const UserClassEnum: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+};
+export type UserClassEnum = typeof UserClassEnum[keyof typeof UserClassEnum];
+/**
+ * @export
+ */
+export declare const UserClassDecorationEnum: {
+ readonly None: "none";
+ readonly Silver: "silver";
+ readonly Gold: "gold";
+};
+export type UserClassDecorationEnum = typeof UserClassDecorationEnum[keyof typeof UserClassDecorationEnum];
+/**
+ * 사용자 동의 여부입니다.
+ * @export
+ * @interface VerifyCredentialsAgreements
+ */
+export interface VerifyCredentialsAgreements {
+ /**
+ * 동의한 약관 버전입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsAgreements
+ */
+ tos: string;
+ /**
+ * 동의한 개인정보 처리방침 버전입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsAgreements
+ */
+ privacy: string;
+}
+/**
+ *
+ * @export
+ * @interface VerifyCredentialsCredential
+ */
+export interface VerifyCredentialsCredential {
+ /**
+ *
+ * @type {VerifyCredentialsUserWithSettings}
+ * @memberof VerifyCredentialsCredential
+ */
+ user: VerifyCredentialsUserWithSettings;
+ /**
+ *
+ * @type {VerifyCredentialsAgreements}
+ * @memberof VerifyCredentialsCredential
+ */
+ aggredOn: VerifyCredentialsAgreements;
+ /**
+ * 보유할 수 있는 모든 이모티콘에 대해 이모티콘 정보에 덧붙여 보유 여부를 함께 담은 목록입니다.
+ * @type {Array}
+ * @memberof VerifyCredentialsCredential
+ */
+ emoticons: Array;
+ /**
+ *
+ * @type {any}
+ * @memberof VerifyCredentialsCredential
+ */
+ bookmarks: any | null;
+ /**
+ * 받은 알림 수입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsCredential
+ */
+ notificationCount: number;
+ /**
+ * 마지막으로 솔브드 상태가 변한 시각입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsCredential
+ */
+ lastSolvedStateChangedAt: string;
+}
+/**
+ *
+ * @export
+ * @interface VerifyCredentialsEmoticonUnlockStatus
+ */
+export interface VerifyCredentialsEmoticonUnlockStatus {
+ /**
+ * 해금 여부입니다.
+ * @type {boolean}
+ * @memberof VerifyCredentialsEmoticonUnlockStatus
+ */
+ unlocked: boolean;
+ /**
+ * 고유 식별자입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsEmoticonUnlockStatus
+ */
+ emoticonId: string;
+ /**
+ * 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsEmoticonUnlockStatus
+ */
+ emoticonUrl: string;
+ /**
+ * 한국어 이름입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsEmoticonUnlockStatus
+ */
+ displayName: string;
+}
+/**
+ *
+ * @export
+ * @interface VerifyCredentialsUserSettings
+ */
+export interface VerifyCredentialsUserSettings {
+ /**
+ *
+ * @type {string}
+ * @memberof VerifyCredentialsUserSettings
+ */
+ twitterPostOnProblemSolve: VerifyCredentialsUserSettingsTwitterPostOnProblemSolveEnum;
+ /**
+ *
+ * @type {string}
+ * @memberof VerifyCredentialsUserSettings
+ */
+ screenTheme: VerifyCredentialsUserSettingsScreenThemeEnum;
+ /**
+ *
+ * @type {string}
+ * @memberof VerifyCredentialsUserSettings
+ */
+ twitterPostHandle: VerifyCredentialsUserSettingsTwitterPostHandleEnum;
+ /**
+ *
+ * @type {string}
+ * @memberof VerifyCredentialsUserSettings
+ */
+ twitterPostOnRatingIncrease: VerifyCredentialsUserSettingsTwitterPostOnRatingIncreaseEnum;
+ /**
+ *
+ * @type {string}
+ * @memberof VerifyCredentialsUserSettings
+ */
+ twitterPostOnTierIncrease: VerifyCredentialsUserSettingsTwitterPostOnTierIncreaseEnum;
+ /**
+ *
+ * @type {string}
+ * @memberof VerifyCredentialsUserSettings
+ */
+ twitterPostOnClassIncrease: VerifyCredentialsUserSettingsTwitterPostOnClassIncreaseEnum;
+ /**
+ *
+ * @type {string}
+ * @memberof VerifyCredentialsUserSettings
+ */
+ proHideAds: VerifyCredentialsUserSettingsProHideAdsEnum;
+ /**
+ *
+ * @type {string}
+ * @memberof VerifyCredentialsUserSettings
+ */
+ siteLanguage: VerifyCredentialsUserSettingsSiteLanguageEnum;
+ /**
+ *
+ * @type {string}
+ * @memberof VerifyCredentialsUserSettings
+ */
+ showIllustBackground: VerifyCredentialsUserSettingsShowIllustBackgroundEnum;
+ /**
+ *
+ * @type {string}
+ * @memberof VerifyCredentialsUserSettings
+ */
+ showMovieBackground: VerifyCredentialsUserSettingsShowMovieBackgroundEnum;
+}
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserSettingsTwitterPostOnProblemSolveEnum: {
+ readonly True: "true";
+};
+export type VerifyCredentialsUserSettingsTwitterPostOnProblemSolveEnum = typeof VerifyCredentialsUserSettingsTwitterPostOnProblemSolveEnum[keyof typeof VerifyCredentialsUserSettingsTwitterPostOnProblemSolveEnum];
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserSettingsScreenThemeEnum: {
+ readonly Default: "default";
+};
+export type VerifyCredentialsUserSettingsScreenThemeEnum = typeof VerifyCredentialsUserSettingsScreenThemeEnum[keyof typeof VerifyCredentialsUserSettingsScreenThemeEnum];
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserSettingsTwitterPostHandleEnum: {
+ readonly True: "true";
+};
+export type VerifyCredentialsUserSettingsTwitterPostHandleEnum = typeof VerifyCredentialsUserSettingsTwitterPostHandleEnum[keyof typeof VerifyCredentialsUserSettingsTwitterPostHandleEnum];
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserSettingsTwitterPostOnRatingIncreaseEnum: {
+ readonly True: "true";
+};
+export type VerifyCredentialsUserSettingsTwitterPostOnRatingIncreaseEnum = typeof VerifyCredentialsUserSettingsTwitterPostOnRatingIncreaseEnum[keyof typeof VerifyCredentialsUserSettingsTwitterPostOnRatingIncreaseEnum];
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserSettingsTwitterPostOnTierIncreaseEnum: {
+ readonly True: "true";
+};
+export type VerifyCredentialsUserSettingsTwitterPostOnTierIncreaseEnum = typeof VerifyCredentialsUserSettingsTwitterPostOnTierIncreaseEnum[keyof typeof VerifyCredentialsUserSettingsTwitterPostOnTierIncreaseEnum];
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserSettingsTwitterPostOnClassIncreaseEnum: {
+ readonly True: "true";
+};
+export type VerifyCredentialsUserSettingsTwitterPostOnClassIncreaseEnum = typeof VerifyCredentialsUserSettingsTwitterPostOnClassIncreaseEnum[keyof typeof VerifyCredentialsUserSettingsTwitterPostOnClassIncreaseEnum];
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserSettingsProHideAdsEnum: {
+ readonly True: "true";
+};
+export type VerifyCredentialsUserSettingsProHideAdsEnum = typeof VerifyCredentialsUserSettingsProHideAdsEnum[keyof typeof VerifyCredentialsUserSettingsProHideAdsEnum];
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserSettingsSiteLanguageEnum: {
+ readonly Ko: "ko";
+};
+export type VerifyCredentialsUserSettingsSiteLanguageEnum = typeof VerifyCredentialsUserSettingsSiteLanguageEnum[keyof typeof VerifyCredentialsUserSettingsSiteLanguageEnum];
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserSettingsShowIllustBackgroundEnum: {
+ readonly True: "true";
+};
+export type VerifyCredentialsUserSettingsShowIllustBackgroundEnum = typeof VerifyCredentialsUserSettingsShowIllustBackgroundEnum[keyof typeof VerifyCredentialsUserSettingsShowIllustBackgroundEnum];
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserSettingsShowMovieBackgroundEnum: {
+ readonly True: "true";
+};
+export type VerifyCredentialsUserSettingsShowMovieBackgroundEnum = typeof VerifyCredentialsUserSettingsShowMovieBackgroundEnum[keyof typeof VerifyCredentialsUserSettingsShowMovieBackgroundEnum];
+/**
+ *
+ * @export
+ * @interface VerifyCredentialsUserWithSettings
+ */
+export interface VerifyCredentialsUserWithSettings {
+ /**
+ * 설정입니다.
+ * @type {VerifyCredentialsUserSettings}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ settings: VerifyCredentialsUserSettings;
+ /**
+ * 사용 중인 이메일 주소입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ email: string;
+ /**
+ * 사용자명입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ handle: string;
+ /**
+ * 자기소개입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ bio: string;
+ /**
+ * 장착 중인 뱃지 ID입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ badgeId?: string;
+ /**
+ * 장착 중인 배경 ID입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ backgroundId: string;
+ /**
+ * 프로필 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ profileImageUrl?: string;
+ /**
+ * 푼 문제 수입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ solvedCount: number;
+ /**
+ * 난이도 기여 수입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ voteCount: number;
+ /**
+ * 취득한 CLASS입니다.
+ * 취득한 CLASS가 없다면 0으로 표현합니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ _class: VerifyCredentialsUserWithSettingsClassEnum;
+ /**
+ * CLASS 완성도에 따른 장식입니다.
+ * 장식 없음 (`"none"`),
+ * 은장+ (`"silver"`),
+ * 금장++ (`"gold"`)이 있습니다.
+ * @type {string}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ classDecoration: VerifyCredentialsUserWithSettingsClassDecorationEnum;
+ /**
+ * 라이벌 수입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ rivalCount: number;
+ /**
+ * 역라이벌 수입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ reverseRivalCount: number;
+ /**
+ *
+ * @type {SolveTier}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ tier: SolveTier;
+ /**
+ * 문제풀이 레이팅입니다
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ rating: number;
+ /**
+ * 상위 100 문제 난이도 합으로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ ratingByProblemsSum: number;
+ /**
+ * 취득한 CLASS에 따라 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ ratingByClass: number;
+ /**
+ * 푼 문제 수로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ ratingBySolvedCount: number;
+ /**
+ * 문제 난이도에 기여한 횟수로 받은 레이팅입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ ratingByVoteCount: number;
+ /**
+ * 현재 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ arenaTier: ArenaTier;
+ /**
+ * 현재 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ arenaRating: number;
+ /**
+ * 역대 받은 아레나 티어 중 최고점일 때의 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ arenaMaxTier: ArenaTier;
+ /**
+ * 역대 받은 아레나 레이팅 중 최고점일 때의 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ arenaMaxRating: number;
+ /**
+ * 참여한 아레나 라운드 수입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ arenaCompetedRoundCount: number;
+ /**
+ * 유지한 최대 스트릭의 길이입니다. (일 단위)
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ maxStreak: number;
+ /**
+ * 보유 중인 코인에 100을 곱한 값입니다.
+ * 만약, 실제로 보유한 코인이 0.15라면 15로 기록됩니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ coins: number;
+ /**
+ * 보유 중인 별가루 양입니다.
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ stardusts: number;
+ /**
+ * 가입 시각입니다.
+ * 일부 계정에 대해 2021년 6월 19일 0시 (UTC)로 백필된 흔적이 있습니다.
+ * @type {string}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ joinedAt: string;
+ /**
+ * 정지 종료 시각입니다.
+ * 정지 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ bannedUntil: string;
+ /**
+ * [솔브드 서포터](https://solved.ac/support) 종료 시각입니다.
+ * 활성화 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ proUntil: string;
+ /**
+ * 순위입니다.
+ * 이 값은 요청하는 엔드포인트의 정렬 기준에 따라 다를 수 있습니다.
+ * 예) /ranking/* 엔드포인트에서는 해당 랭킹의 순위, /show 엔드포인트에서는 문제풀이 레이팅 순위
+ * @type {number}
+ * @memberof VerifyCredentialsUserWithSettings
+ */
+ rank: number;
+}
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserWithSettingsClassEnum: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+};
+export type VerifyCredentialsUserWithSettingsClassEnum = typeof VerifyCredentialsUserWithSettingsClassEnum[keyof typeof VerifyCredentialsUserWithSettingsClassEnum];
+/**
+ * @export
+ */
+export declare const VerifyCredentialsUserWithSettingsClassDecorationEnum: {
+ readonly None: "none";
+ readonly Silver: "silver";
+ readonly Gold: "gold";
+};
+export type VerifyCredentialsUserWithSettingsClassDecorationEnum = typeof VerifyCredentialsUserWithSettingsClassDecorationEnum[keyof typeof VerifyCredentialsUserWithSettingsClassDecorationEnum];
diff --git a/dist/cjs/runtime.cjs b/dist/cjs/runtime.cjs
new file mode 100644
index 0000000..d6f3fb0
--- /dev/null
+++ b/dist/cjs/runtime.cjs
@@ -0,0 +1,316 @@
+"use strict";
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.TextApiResponse = exports.BlobApiResponse = exports.VoidApiResponse = exports.JSONApiResponse = exports.canConsumeForm = exports.querystring = exports.COLLECTION_FORMATS = exports.RequiredError = exports.FetchError = exports.ResponseError = exports.BaseAPI = exports.DefaultConfig = exports.Configuration = exports.BASE_PATH = void 0;
+exports.BASE_PATH = "https://solved.ac/api/v3".replace(/\/+$/, "");
+class Configuration {
+ constructor(configuration = {}) {
+ this.configuration = configuration;
+ }
+ set config(configuration) {
+ this.configuration = configuration;
+ }
+ get basePath() {
+ return this.configuration.basePath != null ? this.configuration.basePath : exports.BASE_PATH;
+ }
+ get fetchApi() {
+ return this.configuration.fetchApi;
+ }
+ get middleware() {
+ return this.configuration.middleware || [];
+ }
+ get queryParamsStringify() {
+ return this.configuration.queryParamsStringify || querystring;
+ }
+ get username() {
+ return this.configuration.username;
+ }
+ get password() {
+ return this.configuration.password;
+ }
+ get apiKey() {
+ const apiKey = this.configuration.apiKey;
+ if (apiKey) {
+ return typeof apiKey === 'function' ? apiKey : () => apiKey;
+ }
+ return undefined;
+ }
+ get accessToken() {
+ const accessToken = this.configuration.accessToken;
+ if (accessToken) {
+ return typeof accessToken === 'function' ? accessToken : async () => accessToken;
+ }
+ return undefined;
+ }
+ get headers() {
+ return this.configuration.headers;
+ }
+ get credentials() {
+ return this.configuration.credentials;
+ }
+}
+exports.Configuration = Configuration;
+exports.DefaultConfig = new Configuration();
+/**
+ * This is the base class for all generated API classes.
+ */
+class BaseAPI {
+ constructor(configuration = exports.DefaultConfig) {
+ this.configuration = configuration;
+ this.fetchApi = async (url, init) => {
+ let fetchParams = { url, init };
+ for (const middleware of this.middleware) {
+ if (middleware.pre) {
+ fetchParams = await middleware.pre(Object.assign({ fetch: this.fetchApi }, fetchParams)) || fetchParams;
+ }
+ }
+ let response = undefined;
+ try {
+ response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);
+ }
+ catch (e) {
+ for (const middleware of this.middleware) {
+ if (middleware.onError) {
+ response = await middleware.onError({
+ fetch: this.fetchApi,
+ url: fetchParams.url,
+ init: fetchParams.init,
+ error: e,
+ response: response ? response.clone() : undefined,
+ }) || response;
+ }
+ }
+ if (response === undefined) {
+ if (e instanceof Error) {
+ throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');
+ }
+ else {
+ throw e;
+ }
+ }
+ }
+ for (const middleware of this.middleware) {
+ if (middleware.post) {
+ response = await middleware.post({
+ fetch: this.fetchApi,
+ url: fetchParams.url,
+ init: fetchParams.init,
+ response: response.clone(),
+ }) || response;
+ }
+ }
+ return response;
+ };
+ this.middleware = configuration.middleware;
+ }
+ withMiddleware(...middlewares) {
+ const next = this.clone();
+ next.middleware = next.middleware.concat(...middlewares);
+ return next;
+ }
+ withPreMiddleware(...preMiddlewares) {
+ const middlewares = preMiddlewares.map((pre) => ({ pre }));
+ return this.withMiddleware(...middlewares);
+ }
+ withPostMiddleware(...postMiddlewares) {
+ const middlewares = postMiddlewares.map((post) => ({ post }));
+ return this.withMiddleware(...middlewares);
+ }
+ /**
+ * Check if the given MIME is a JSON MIME.
+ * JSON MIME examples:
+ * application/json
+ * application/json; charset=UTF8
+ * APPLICATION/JSON
+ * application/vnd.company+json
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
+ * @return True if the given MIME is JSON, false otherwise.
+ */
+ isJsonMime(mime) {
+ if (!mime) {
+ return false;
+ }
+ return BaseAPI.jsonRegex.test(mime);
+ }
+ async request(context, initOverrides) {
+ const { url, init } = await this.createFetchParams(context, initOverrides);
+ const response = await this.fetchApi(url, init);
+ if (response && (response.status >= 200 && response.status < 300)) {
+ return response;
+ }
+ throw new ResponseError(response, 'Response returned an error code');
+ }
+ async createFetchParams(context, initOverrides) {
+ let url = this.configuration.basePath + context.path;
+ if (context.query !== undefined && Object.keys(context.query).length !== 0) {
+ // only add the querystring to the URL if there are query parameters.
+ // this is done to avoid urls ending with a "?" character which buggy webservers
+ // do not handle correctly sometimes.
+ url += '?' + this.configuration.queryParamsStringify(context.query);
+ }
+ const headers = Object.assign({}, this.configuration.headers, context.headers);
+ Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});
+ const initOverrideFn = typeof initOverrides === "function"
+ ? initOverrides
+ : async () => initOverrides;
+ const initParams = {
+ method: context.method,
+ headers,
+ body: context.body,
+ credentials: this.configuration.credentials,
+ };
+ const overriddenInit = Object.assign(Object.assign({}, initParams), (await initOverrideFn({
+ init: initParams,
+ context,
+ })));
+ let body;
+ if (isFormData(overriddenInit.body)
+ || (overriddenInit.body instanceof URLSearchParams)
+ || isBlob(overriddenInit.body)) {
+ body = overriddenInit.body;
+ }
+ else if (this.isJsonMime(headers['Content-Type'])) {
+ body = JSON.stringify(overriddenInit.body);
+ }
+ else {
+ body = overriddenInit.body;
+ }
+ const init = Object.assign(Object.assign({}, overriddenInit), { body });
+ return { url, init };
+ }
+ /**
+ * Create a shallow clone of `this` by constructing a new instance
+ * and then shallow cloning data members.
+ */
+ clone() {
+ const constructor = this.constructor;
+ const next = new constructor(this.configuration);
+ next.middleware = this.middleware.slice();
+ return next;
+ }
+}
+exports.BaseAPI = BaseAPI;
+BaseAPI.jsonRegex = new RegExp('^(:?application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$', 'i');
+;
+function isBlob(value) {
+ return typeof Blob !== 'undefined' && value instanceof Blob;
+}
+function isFormData(value) {
+ return typeof FormData !== "undefined" && value instanceof FormData;
+}
+class ResponseError extends Error {
+ constructor(response, msg) {
+ super(msg);
+ this.response = response;
+ this.name = "ResponseError";
+ }
+}
+exports.ResponseError = ResponseError;
+class FetchError extends Error {
+ constructor(cause, msg) {
+ super(msg);
+ this.cause = cause;
+ this.name = "FetchError";
+ }
+}
+exports.FetchError = FetchError;
+class RequiredError extends Error {
+ constructor(field, msg) {
+ super(msg);
+ this.field = field;
+ this.name = "RequiredError";
+ }
+}
+exports.RequiredError = RequiredError;
+exports.COLLECTION_FORMATS = {
+ csv: ",",
+ ssv: " ",
+ tsv: "\t",
+ pipes: "|",
+};
+function querystring(params, prefix = '') {
+ return Object.keys(params)
+ .map(key => querystringSingleKey(key, params[key], prefix))
+ .filter(part => part.length > 0)
+ .join('&');
+}
+exports.querystring = querystring;
+function querystringSingleKey(key, value, keyPrefix = '') {
+ const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);
+ if (value instanceof Array) {
+ const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))
+ .join(`&${encodeURIComponent(fullKey)}=`);
+ return `${encodeURIComponent(fullKey)}=${multiValue}`;
+ }
+ if (value instanceof Set) {
+ const valueAsArray = Array.from(value);
+ return querystringSingleKey(key, valueAsArray, keyPrefix);
+ }
+ if (value instanceof Date) {
+ return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;
+ }
+ if (value instanceof Object) {
+ return querystring(value, fullKey);
+ }
+ return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;
+}
+function canConsumeForm(consumes) {
+ for (const consume of consumes) {
+ if ('multipart/form-data' === consume.contentType) {
+ return true;
+ }
+ }
+ return false;
+}
+exports.canConsumeForm = canConsumeForm;
+class JSONApiResponse {
+ constructor(raw, transformer = (jsonValue) => jsonValue) {
+ this.raw = raw;
+ this.transformer = transformer;
+ }
+ async value() {
+ return this.transformer(await this.raw.json());
+ }
+}
+exports.JSONApiResponse = JSONApiResponse;
+class VoidApiResponse {
+ constructor(raw) {
+ this.raw = raw;
+ }
+ async value() {
+ return undefined;
+ }
+}
+exports.VoidApiResponse = VoidApiResponse;
+class BlobApiResponse {
+ constructor(raw) {
+ this.raw = raw;
+ }
+ async value() {
+ return await this.raw.blob();
+ }
+ ;
+}
+exports.BlobApiResponse = BlobApiResponse;
+class TextApiResponse {
+ constructor(raw) {
+ this.raw = raw;
+ }
+ async value() {
+ return await this.raw.text();
+ }
+ ;
+}
+exports.TextApiResponse = TextApiResponse;
diff --git a/dist/cjs/runtime.d.cts b/dist/cjs/runtime.d.cts
new file mode 100644
index 0000000..afaf8f9
--- /dev/null
+++ b/dist/cjs/runtime.d.cts
@@ -0,0 +1,180 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+export declare const BASE_PATH: string;
+export interface ConfigurationParameters {
+ basePath?: string;
+ fetchApi?: FetchAPI;
+ middleware?: Middleware[];
+ queryParamsStringify?: (params: HTTPQuery) => string;
+ username?: string;
+ password?: string;
+ apiKey?: string | Promise | ((name: string) => string | Promise);
+ accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string | Promise);
+ headers?: HTTPHeaders;
+ credentials?: RequestCredentials;
+}
+export declare class Configuration {
+ private configuration;
+ constructor(configuration?: ConfigurationParameters);
+ set config(configuration: Configuration);
+ get basePath(): string;
+ get fetchApi(): FetchAPI | undefined;
+ get middleware(): Middleware[];
+ get queryParamsStringify(): (params: HTTPQuery) => string;
+ get username(): string | undefined;
+ get password(): string | undefined;
+ get apiKey(): ((name: string) => string | Promise) | undefined;
+ get accessToken(): ((name?: string, scopes?: string[]) => string | Promise) | undefined;
+ get headers(): HTTPHeaders | undefined;
+ get credentials(): RequestCredentials | undefined;
+}
+export declare const DefaultConfig: Configuration;
+/**
+ * This is the base class for all generated API classes.
+ */
+export declare class BaseAPI {
+ protected configuration: Configuration;
+ private static readonly jsonRegex;
+ private middleware;
+ constructor(configuration?: Configuration);
+ withMiddleware(this: T, ...middlewares: Middleware[]): T;
+ withPreMiddleware(this: T, ...preMiddlewares: Array): T;
+ withPostMiddleware(this: T, ...postMiddlewares: Array): T;
+ /**
+ * Check if the given MIME is a JSON MIME.
+ * JSON MIME examples:
+ * application/json
+ * application/json; charset=UTF8
+ * APPLICATION/JSON
+ * application/vnd.company+json
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
+ * @return True if the given MIME is JSON, false otherwise.
+ */
+ protected isJsonMime(mime: string | null | undefined): boolean;
+ protected request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise;
+ private createFetchParams;
+ private fetchApi;
+ /**
+ * Create a shallow clone of `this` by constructing a new instance
+ * and then shallow cloning data members.
+ */
+ private clone;
+}
+export declare class ResponseError extends Error {
+ response: Response;
+ name: "ResponseError";
+ constructor(response: Response, msg?: string);
+}
+export declare class FetchError extends Error {
+ cause: Error;
+ name: "FetchError";
+ constructor(cause: Error, msg?: string);
+}
+export declare class RequiredError extends Error {
+ field: string;
+ name: "RequiredError";
+ constructor(field: string, msg?: string);
+}
+export declare const COLLECTION_FORMATS: {
+ csv: string;
+ ssv: string;
+ tsv: string;
+ pipes: string;
+};
+export type FetchAPI = WindowOrWorkerGlobalScope['fetch'];
+export type Json = any;
+export type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';
+export type HTTPHeaders = {
+ [key: string]: string;
+};
+export type HTTPQuery = {
+ [key: string]: string | number | null | boolean | Array | Set | HTTPQuery;
+};
+export type HTTPBody = Json | FormData | URLSearchParams;
+export type HTTPRequestInit = {
+ headers?: HTTPHeaders;
+ method: HTTPMethod;
+ credentials?: RequestCredentials;
+ body?: HTTPBody;
+};
+export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';
+export type InitOverrideFunction = (requestContext: {
+ init: HTTPRequestInit;
+ context: RequestOpts;
+}) => Promise;
+export interface FetchParams {
+ url: string;
+ init: RequestInit;
+}
+export interface RequestOpts {
+ path: string;
+ method: HTTPMethod;
+ headers: HTTPHeaders;
+ query?: HTTPQuery;
+ body?: HTTPBody;
+}
+export declare function querystring(params: HTTPQuery, prefix?: string): string;
+export declare function canConsumeForm(consumes: Consume[]): boolean;
+export interface Consume {
+ contentType: string;
+}
+export interface RequestContext {
+ fetch: FetchAPI;
+ url: string;
+ init: RequestInit;
+}
+export interface ResponseContext {
+ fetch: FetchAPI;
+ url: string;
+ init: RequestInit;
+ response: Response;
+}
+export interface ErrorContext {
+ fetch: FetchAPI;
+ url: string;
+ init: RequestInit;
+ error: unknown;
+ response?: Response;
+}
+export interface Middleware {
+ pre?(context: RequestContext): Promise;
+ post?(context: ResponseContext): Promise;
+ onError?(context: ErrorContext): Promise;
+}
+export interface ApiResponse {
+ raw: Response;
+ value(): Promise;
+}
+export interface ResponseTransformer {
+ (json: any): T;
+}
+export declare class JSONApiResponse {
+ raw: Response;
+ private transformer;
+ constructor(raw: Response, transformer?: ResponseTransformer);
+ value(): Promise;
+}
+export declare class VoidApiResponse {
+ raw: Response;
+ constructor(raw: Response);
+ value(): Promise;
+}
+export declare class BlobApiResponse {
+ raw: Response;
+ constructor(raw: Response);
+ value(): Promise;
+}
+export declare class TextApiResponse {
+ raw: Response;
+ constructor(raw: Response);
+ value(): Promise;
+}
diff --git a/dist/esm/apis/AccountApi.d.ts b/dist/esm/apis/AccountApi.d.ts
new file mode 100644
index 0000000..4d8aa3e
--- /dev/null
+++ b/dist/esm/apis/AccountApi.d.ts
@@ -0,0 +1,59 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 type { Language, RedeemCodeRequest, UpdateAccountSettingsRequest, VerifyCredentialsCredential } from '../models/index.js';
+export interface RedeemCodeOperationRequest {
+ redeemCodeRequest: RedeemCodeRequest;
+ xSolvedacLanguage?: Language;
+}
+export interface UpdateAccountSettingsOperationRequest {
+ updateAccountSettingsRequest: UpdateAccountSettingsRequest;
+ xSolvedacLanguage?: Language;
+}
+export interface VerifyAccountCredentialsRequest {
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class AccountApi extends runtime.BaseAPI {
+ /**
+ * 리딤 코드와 배지, 배경 등을 교환합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 코드 교환하기
+ */
+ redeemCodeRaw(requestParameters: RedeemCodeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 리딤 코드와 배지, 배경 등을 교환합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 코드 교환하기
+ */
+ redeemCode(requestParameters: RedeemCodeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 계정의 설정을 변경합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 계정 설정 변경하기
+ */
+ updateAccountSettingsRaw(requestParameters: UpdateAccountSettingsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 계정의 설정을 변경합니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 계정 설정 변경하기
+ */
+ updateAccountSettings(requestParameters: UpdateAccountSettingsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 현재 로그인한 계정 정보를 가져옵니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 로그인 정보 가져오기
+ */
+ verifyAccountCredentialsRaw(requestParameters: VerifyAccountCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 현재 로그인한 계정 정보를 가져옵니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
+ * 로그인 정보 가져오기
+ */
+ verifyAccountCredentials(requestParameters?: VerifyAccountCredentialsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/apis/AccountApi.js b/dist/esm/apis/AccountApi.js
similarity index 60%
rename from dist/apis/AccountApi.js
rename to dist/esm/apis/AccountApi.js
index e3daf3d..f3a3232 100644
--- a/dist/apis/AccountApi.js
+++ b/dist/esm/apis/AccountApi.js
@@ -2,10 +2,10 @@
/* 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)
+ * 이 프로젝트는 [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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
*
- * The version of the OpenAPI document: 3.2022.02+b1
- * Contact: public.ranolp@gmail.com
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
@@ -21,18 +21,21 @@ export class AccountApi extends runtime.BaseAPI {
* 코드 교환하기
*/
async redeemCodeRaw(requestParameters, initOverrides) {
- if (requestParameters.inlineObject === null || requestParameters.inlineObject === undefined) {
- throw new runtime.RequiredError('inlineObject', 'Required parameter requestParameters.inlineObject was null or undefined when calling redeemCode.');
+ if (requestParameters['redeemCodeRequest'] == null) {
+ throw new runtime.RequiredError('redeemCodeRequest', 'Required parameter "redeemCodeRequest" was null or undefined when calling redeemCode().');
}
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
const response = await this.request({
path: `/account/redeem`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
- body: requestParameters.inlineObject,
+ body: requestParameters['redeemCodeRequest'],
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
@@ -48,18 +51,21 @@ export class AccountApi extends runtime.BaseAPI {
* 계정 설정 변경하기
*/
async updateAccountSettingsRaw(requestParameters, initOverrides) {
- if (requestParameters.inlineObject1 === null || requestParameters.inlineObject1 === undefined) {
- throw new runtime.RequiredError('inlineObject1', 'Required parameter requestParameters.inlineObject1 was null or undefined when calling updateAccountSettings.');
+ if (requestParameters['updateAccountSettingsRequest'] == null) {
+ throw new runtime.RequiredError('updateAccountSettingsRequest', 'Required parameter "updateAccountSettingsRequest" was null or undefined when calling updateAccountSettings().');
}
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
const response = await this.request({
path: `/account/update_settings`,
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
- body: requestParameters.inlineObject1,
+ body: requestParameters['updateAccountSettingsRequest'],
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
@@ -74,9 +80,12 @@ export class AccountApi extends runtime.BaseAPI {
* 현재 로그인한 계정 정보를 가져옵니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
* 로그인 정보 가져오기
*/
- async verifyAccountCredentialsRaw(initOverrides) {
+ async verifyAccountCredentialsRaw(requestParameters, initOverrides) {
const queryParameters = {};
const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
const response = await this.request({
path: `/account/verify_credentials`,
method: 'GET',
@@ -89,8 +98,8 @@ export class AccountApi extends runtime.BaseAPI {
* 현재 로그인한 계정 정보를 가져옵니다. **주의**: 로그인이 필요한 API는 사이트 내에서 호출할 수 없으므로 별도 도구를 이용해주십시오.
* 로그인 정보 가져오기
*/
- async verifyAccountCredentials(initOverrides) {
- const response = await this.verifyAccountCredentialsRaw(initOverrides);
+ async verifyAccountCredentials(requestParameters = {}, initOverrides) {
+ const response = await this.verifyAccountCredentialsRaw(requestParameters, initOverrides);
return await response.value();
}
}
diff --git a/dist/esm/apis/BackgroundApi.d.ts b/dist/esm/apis/BackgroundApi.d.ts
new file mode 100644
index 0000000..4a5e64b
--- /dev/null
+++ b/dist/esm/apis/BackgroundApi.d.ts
@@ -0,0 +1,32 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 type { Background, Language } from '../models/index.js';
+export interface GetBackgroundRequest {
+ backgroundId: string;
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class BackgroundApi extends runtime.BaseAPI {
+ /**
+ * 배경 정보를 가져옵니다.
+ * 배경 정보 가져오기
+ */
+ getBackgroundRaw(requestParameters: GetBackgroundRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 배경 정보를 가져옵니다.
+ * 배경 정보 가져오기
+ */
+ getBackground(requestParameters: GetBackgroundRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/esm/apis/BackgroundApi.js b/dist/esm/apis/BackgroundApi.js
new file mode 100644
index 0000000..03bdc2d
--- /dev/null
+++ b/dist/esm/apis/BackgroundApi.js
@@ -0,0 +1,51 @@
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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) {
+ throw new runtime.RequiredError('backgroundId', 'Required parameter "backgroundId" was null or undefined when calling getBackground().');
+ }
+ const queryParameters = {};
+ if (requestParameters['backgroundId'] != null) {
+ queryParameters['backgroundId'] = requestParameters['backgroundId'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ 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/esm/apis/BadgeApi.d.ts b/dist/esm/apis/BadgeApi.d.ts
new file mode 100644
index 0000000..786fa57
--- /dev/null
+++ b/dist/esm/apis/BadgeApi.d.ts
@@ -0,0 +1,32 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 type { Badge, Language } from '../models/index.js';
+export interface GetBadgeRequest {
+ badgeId: string;
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class BadgeApi extends runtime.BaseAPI {
+ /**
+ * 뱃지의 정보를 가져옵니다.
+ * 뱃지 정보 가져오기
+ */
+ getBadgeRaw(requestParameters: GetBadgeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 뱃지의 정보를 가져옵니다.
+ * 뱃지 정보 가져오기
+ */
+ getBadge(requestParameters: GetBadgeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/esm/apis/BadgeApi.js b/dist/esm/apis/BadgeApi.js
new file mode 100644
index 0000000..72bc43b
--- /dev/null
+++ b/dist/esm/apis/BadgeApi.js
@@ -0,0 +1,51 @@
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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) {
+ throw new runtime.RequiredError('badgeId', 'Required parameter "badgeId" was null or undefined when calling getBadge().');
+ }
+ const queryParameters = {};
+ if (requestParameters['badgeId'] != null) {
+ queryParameters['badgeId'] = requestParameters['badgeId'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ 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/esm/apis/CoinsApi.d.ts b/dist/esm/apis/CoinsApi.d.ts
new file mode 100644
index 0000000..d3bf56f
--- /dev/null
+++ b/dist/esm/apis/CoinsApi.d.ts
@@ -0,0 +1,41 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 type { CoinShopProduct, GetCoinStardustExchangeRateExchangeRate, Language } from '../models/index.js';
+export interface GetCoinShopProductsRequest {
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class CoinsApi extends runtime.BaseAPI {
+ /**
+ * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
+ * 코인샵 상품 목록 가져오기
+ */
+ getCoinShopProductsRaw(requestParameters: GetCoinShopProductsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>;
+ /**
+ * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
+ * 코인샵 상품 목록 가져오기
+ */
+ getCoinShopProducts(requestParameters?: GetCoinShopProductsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 코인 → 별조각 환율 가져오기
+ */
+ getCoinStardustExchangeRateRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 코인 → 별조각 환율 가져오기
+ */
+ getCoinStardustExchangeRate(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/esm/apis/CoinsApi.js b/dist/esm/apis/CoinsApi.js
new file mode 100644
index 0000000..2e2abd3
--- /dev/null
+++ b/dist/esm/apis/CoinsApi.js
@@ -0,0 +1,68 @@
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 CoinsApi extends runtime.BaseAPI {
+ /**
+ * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
+ * 코인샵 상품 목록 가져오기
+ */
+ async getCoinShopProductsRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/coins/shop/list`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 코인샵에서 팔고 있는 상품 목록을 가져옵니다.
+ * 코인샵 상품 목록 가져오기
+ */
+ async getCoinShopProducts(requestParameters = {}, initOverrides) {
+ const response = await this.getCoinShopProductsRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 코인 → 별조각 환율 가져오기
+ */
+ async getCoinStardustExchangeRateRaw(initOverrides) {
+ const queryParameters = {};
+ const headerParameters = {};
+ const response = await this.request({
+ path: `/coins/exchange_rate`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 코인 → 별조각 환율 가져오기
+ */
+ async getCoinStardustExchangeRate(initOverrides) {
+ const response = await this.getCoinStardustExchangeRateRaw(initOverrides);
+ return await response.value();
+ }
+}
diff --git a/dist/esm/apis/OtherApi.d.ts b/dist/esm/apis/OtherApi.d.ts
new file mode 100644
index 0000000..638c0fc
--- /dev/null
+++ b/dist/esm/apis/OtherApi.d.ts
@@ -0,0 +1,28 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 type { SiteStatistics } from '../models/index.js';
+/**
+ *
+ */
+export declare class OtherApi extends runtime.BaseAPI {
+ /**
+ * solved.ac 통계를 가져옵니다.
+ * solved.ac 통계 가져오기
+ */
+ getSiteStatisticsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * solved.ac 통계를 가져옵니다.
+ * solved.ac 통계 가져오기
+ */
+ getSiteStatistics(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/esm/apis/OtherApi.js b/dist/esm/apis/OtherApi.js
new file mode 100644
index 0000000..9e4461d
--- /dev/null
+++ b/dist/esm/apis/OtherApi.js
@@ -0,0 +1,42 @@
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 OtherApi extends runtime.BaseAPI {
+ /**
+ * solved.ac 통계를 가져옵니다.
+ * solved.ac 통계 가져오기
+ */
+ async getSiteStatisticsRaw(initOverrides) {
+ const queryParameters = {};
+ const headerParameters = {};
+ const response = await this.request({
+ path: `/site/stats`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * solved.ac 통계를 가져옵니다.
+ * solved.ac 통계 가져오기
+ */
+ async getSiteStatistics(initOverrides) {
+ const response = await this.getSiteStatisticsRaw(initOverrides);
+ return await response.value();
+ }
+}
diff --git a/dist/esm/apis/ProblemApi.d.ts b/dist/esm/apis/ProblemApi.d.ts
new file mode 100644
index 0000000..96d5721
--- /dev/null
+++ b/dist/esm/apis/ProblemApi.d.ts
@@ -0,0 +1,72 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 type { GetClassesProblemCountClassEntry, GetProblemsByIdList200Response, GetProblemsCountGroupByLevelLevelEntry, Language, Problem } from '../models/index.js';
+export interface GetClassesProblemCountRequest {
+ xSolvedacLanguage?: Language;
+}
+export interface GetProblemByIdRequest {
+ problemId: number;
+ xSolvedacLanguage?: Language;
+}
+export interface GetProblemsByIdListRequest {
+ problemIds: Array;
+ xSolvedacLanguage?: Language;
+}
+export interface GetProblemsCountGroupByLevelRequest {
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class ProblemApi extends runtime.BaseAPI {
+ /**
+ * CLASS별 문제 수를 가져옵니다.
+ * CLASS별 문제 수 가져오기
+ */
+ getClassesProblemCountRaw(requestParameters: GetClassesProblemCountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>;
+ /**
+ * CLASS별 문제 수를 가져옵니다.
+ * CLASS별 문제 수 가져오기
+ */
+ getClassesProblemCount(requestParameters?: GetClassesProblemCountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 요청한 번호의 백준 문제에 해당하는 solved.ac 문제 정보를 가져옵니다.
+ * 백준 문제 번호로 문제 가져오기
+ */
+ getProblemByIdRaw(requestParameters: GetProblemByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 요청한 번호의 백준 문제에 해당하는 solved.ac 문제 정보를 가져옵니다.
+ * 백준 문제 번호로 문제 가져오기
+ */
+ getProblemById(requestParameters: GetProblemByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 요청한 번호 목록 각각의 백준 문제에 해당하는 solved.ac 문제 정보를 목록으로 가져옵니다.
+ * 백준 문제 번호 목록으로 문제 가져오기
+ */
+ getProblemsByIdListRaw(requestParameters: GetProblemsByIdListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 요청한 번호 목록 각각의 백준 문제에 해당하는 solved.ac 문제 정보를 목록으로 가져옵니다.
+ * 백준 문제 번호 목록으로 문제 가져오기
+ */
+ getProblemsByIdList(requestParameters: GetProblemsByIdListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 난이도별 문제 수를 가져옵니다.
+ * 난이도별 문제 수 가져오기
+ */
+ getProblemsCountGroupByLevelRaw(requestParameters: GetProblemsCountGroupByLevelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>;
+ /**
+ * 난이도별 문제 수를 가져옵니다.
+ * 난이도별 문제 수 가져오기
+ */
+ getProblemsCountGroupByLevel(requestParameters?: GetProblemsCountGroupByLevelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+}
diff --git a/dist/esm/apis/ProblemApi.js b/dist/esm/apis/ProblemApi.js
new file mode 100644
index 0000000..f2c4878
--- /dev/null
+++ b/dist/esm/apis/ProblemApi.js
@@ -0,0 +1,135 @@
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 ProblemApi extends runtime.BaseAPI {
+ /**
+ * CLASS별 문제 수를 가져옵니다.
+ * CLASS별 문제 수 가져오기
+ */
+ async getClassesProblemCountRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/problem/class`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * CLASS별 문제 수를 가져옵니다.
+ * CLASS별 문제 수 가져오기
+ */
+ async getClassesProblemCount(requestParameters = {}, initOverrides) {
+ const response = await this.getClassesProblemCountRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 요청한 번호의 백준 문제에 해당하는 solved.ac 문제 정보를 가져옵니다.
+ * 백준 문제 번호로 문제 가져오기
+ */
+ async getProblemByIdRaw(requestParameters, initOverrides) {
+ if (requestParameters['problemId'] == null) {
+ throw new runtime.RequiredError('problemId', 'Required parameter "problemId" was null or undefined when calling getProblemById().');
+ }
+ const queryParameters = {};
+ if (requestParameters['problemId'] != null) {
+ queryParameters['problemId'] = requestParameters['problemId'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/problem/show`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 요청한 번호의 백준 문제에 해당하는 solved.ac 문제 정보를 가져옵니다.
+ * 백준 문제 번호로 문제 가져오기
+ */
+ async getProblemById(requestParameters, initOverrides) {
+ const response = await this.getProblemByIdRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 요청한 번호 목록 각각의 백준 문제에 해당하는 solved.ac 문제 정보를 목록으로 가져옵니다.
+ * 백준 문제 번호 목록으로 문제 가져오기
+ */
+ async getProblemsByIdListRaw(requestParameters, initOverrides) {
+ if (requestParameters['problemIds'] == null) {
+ throw new runtime.RequiredError('problemIds', 'Required parameter "problemIds" was null or undefined when calling getProblemsByIdList().');
+ }
+ const queryParameters = {};
+ if (requestParameters['problemIds'] != null) {
+ queryParameters['problemIds'] = requestParameters['problemIds'].join(runtime.COLLECTION_FORMATS["csv"]);
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/problem/lookup`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 요청한 번호 목록 각각의 백준 문제에 해당하는 solved.ac 문제 정보를 목록으로 가져옵니다.
+ * 백준 문제 번호 목록으로 문제 가져오기
+ */
+ async getProblemsByIdList(requestParameters, initOverrides) {
+ const response = await this.getProblemsByIdListRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 난이도별 문제 수를 가져옵니다.
+ * 난이도별 문제 수 가져오기
+ */
+ async getProblemsCountGroupByLevelRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/problem/level`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 난이도별 문제 수를 가져옵니다.
+ * 난이도별 문제 수 가져오기
+ */
+ async getProblemsCountGroupByLevel(requestParameters = {}, initOverrides) {
+ const response = await this.getProblemsCountGroupByLevelRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
diff --git a/dist/esm/apis/RankingApi.d.ts b/dist/esm/apis/RankingApi.d.ts
new file mode 100644
index 0000000..1cc6933
--- /dev/null
+++ b/dist/esm/apis/RankingApi.d.ts
@@ -0,0 +1,116 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 type { GetOrganizationRankingByACRating200Response, GetRankingByClass200Response, Language, OrganizationType } from '../models/index.js';
+export interface GetOrganizationRankingByACRatingRequest {
+ type?: OrganizationType;
+ page?: number;
+}
+export interface GetRankingByClassRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface GetRankingByContributionRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface GetRankingByMaxStreakRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface GetRankingBySolveACRatingRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface GetReverseRivalRankingByACRatingRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface GetRivalRankingByACRatingRequest {
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+/**
+ *
+ */
+export declare class RankingApi extends runtime.BaseAPI {
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 단체가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 단체 랭킹 가져오기
+ */
+ getOrganizationRankingByACRatingRaw(requestParameters: GetOrganizationRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 단체가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 단체 랭킹 가져오기
+ */
+ getOrganizationRankingByACRating(requestParameters?: GetOrganizationRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * CLASS가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * CLASS 순 사용자 랭킹 가져오기
+ */
+ getRankingByClassRaw(requestParameters: GetRankingByClassRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * CLASS가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * CLASS 순 사용자 랭킹 가져오기
+ */
+ getRankingByClass(requestParameters?: GetRankingByClassRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 기여 횟수가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 기여 순 사용자 랭킹 가져오기
+ */
+ getRankingByContributionRaw(requestParameters: GetRankingByContributionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 기여 횟수가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 기여 순 사용자 랭킹 가져오기
+ */
+ getRankingByContribution(requestParameters?: GetRankingByContributionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 치장 스트릭 유지일이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 최장 스트릭 순 사용자 랭킹 가져오기
+ */
+ getRankingByMaxStreakRaw(requestParameters: GetRankingByMaxStreakRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 치장 스트릭 유지일이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 최장 스트릭 순 사용자 랭킹 가져오기
+ */
+ getRankingByMaxStreak(requestParameters?: GetRankingByMaxStreakRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 사용자 랭킹 가져오기
+ */
+ getRankingBySolveACRatingRaw(requestParameters: GetRankingBySolveACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 사용자 랭킹 가져오기
+ */
+ getRankingBySolveACRating(requestParameters?: GetRankingBySolveACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 역라이벌 랭킹 가져오기
+ */
+ getReverseRivalRankingByACRatingRaw(requestParameters: GetReverseRivalRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 역라이벌 랭킹 가져오기
+ */
+ getReverseRivalRankingByACRating(requestParameters?: GetReverseRivalRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 라이벌 랭킹 가져오기
+ */
+ getRivalRankingByACRatingRaw(requestParameters: GetRivalRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 라이벌 랭킹 가져오기
+ */
+ getRivalRankingByACRating(requestParameters?: GetRivalRankingByACRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/esm/apis/RankingApi.js b/dist/esm/apis/RankingApi.js
new file mode 100644
index 0000000..597a0b6
--- /dev/null
+++ b/dist/esm/apis/RankingApi.js
@@ -0,0 +1,222 @@
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 RankingApi extends runtime.BaseAPI {
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 단체가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 단체 랭킹 가져오기
+ */
+ async getOrganizationRankingByACRatingRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['type'] != null) {
+ queryParameters['type'] = requestParameters['type'];
+ }
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ const response = await this.request({
+ path: `/ranking/organization`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 단체가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 단체 랭킹 가져오기
+ */
+ async getOrganizationRankingByACRating(requestParameters = {}, initOverrides) {
+ const response = await this.getOrganizationRankingByACRatingRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * CLASS가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * CLASS 순 사용자 랭킹 가져오기
+ */
+ async getRankingByClassRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/class`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * CLASS가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * CLASS 순 사용자 랭킹 가져오기
+ */
+ async getRankingByClass(requestParameters = {}, initOverrides) {
+ const response = await this.getRankingByClassRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 기여 횟수가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 기여 순 사용자 랭킹 가져오기
+ */
+ async getRankingByContributionRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/contribution`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 기여 횟수가 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 기여 순 사용자 랭킹 가져오기
+ */
+ async getRankingByContribution(requestParameters = {}, initOverrides) {
+ const response = await this.getRankingByContributionRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 치장 스트릭 유지일이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 최장 스트릭 순 사용자 랭킹 가져오기
+ */
+ async getRankingByMaxStreakRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/streak`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 치장 스트릭 유지일이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 최장 스트릭 순 사용자 랭킹 가져오기
+ */
+ async getRankingByMaxStreak(requestParameters = {}, initOverrides) {
+ const response = await this.getRankingByMaxStreakRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 사용자 랭킹 가져오기
+ */
+ async getRankingBySolveACRatingRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/tier`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 사용자 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 사용자 랭킹 가져오기
+ */
+ async getRankingBySolveACRating(requestParameters = {}, initOverrides) {
+ const response = await this.getRankingBySolveACRatingRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 역라이벌 랭킹 가져오기
+ */
+ async getReverseRivalRankingByACRatingRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/reverse_rival`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 역라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 역라이벌 랭킹 가져오기
+ */
+ async getReverseRivalRankingByACRating(requestParameters = {}, initOverrides) {
+ const response = await this.getReverseRivalRankingByACRatingRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 라이벌 랭킹 가져오기
+ */
+ async getRivalRankingByACRatingRaw(requestParameters, initOverrides) {
+ const queryParameters = {};
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/ranking/rival`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 라이벌인 사용자 중에서 문제풀이 레이팅이 높은 사용자가 먼저 오도록 정렬한 목록을 가져옵니다.
+ * 문제풀이 레이팅 순 라이벌 랭킹 가져오기
+ */
+ async getRivalRankingByACRating(requestParameters = {}, initOverrides) {
+ const response = await this.getRivalRankingByACRatingRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
diff --git a/dist/esm/apis/SearchApi.d.ts b/dist/esm/apis/SearchApi.d.ts
new file mode 100644
index 0000000..c3398b6
--- /dev/null
+++ b/dist/esm/apis/SearchApi.d.ts
@@ -0,0 +1,79 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 type { GetProblemsByIdList200Response, GetSearchAutoCompletionsSuggestion, Language, SearchProblemQueryDirection, SearchProblemQuerySort, SearchProblemTag200Response, SearchUser200Response } from '../models/index.js';
+export interface GetSearchAutoCompletionsRequest {
+ query: string;
+ xSolvedacLanguage?: Language;
+}
+export interface SearchProblemRequest {
+ query: string;
+ direction: SearchProblemQueryDirection;
+ sort: SearchProblemQuerySort;
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface SearchProblemTagRequest {
+ query: string;
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+export interface SearchUserRequest {
+ query: string;
+ xSolvedacLanguage?: Language;
+ page?: number;
+}
+/**
+ *
+ */
+export declare class SearchApi extends runtime.BaseAPI {
+ /**
+ * 주어진 쿼리에 따라 검색할 때 도움이 되도록 자동 완성 및 상위 검색 결과를 반환합니다. 자동 완성 결과는 언어에 의존적입니다.
+ * 검색 자동완성 구하기
+ */
+ getSearchAutoCompletionsRaw(requestParameters: GetSearchAutoCompletionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 검색할 때 도움이 되도록 자동 완성 및 상위 검색 결과를 반환합니다. 자동 완성 결과는 언어에 의존적입니다.
+ * 검색 자동완성 구하기
+ */
+ getSearchAutoCompletions(requestParameters: GetSearchAutoCompletionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 문제 검색하기
+ */
+ searchProblemRaw(requestParameters: SearchProblemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 문제 검색하기
+ */
+ searchProblem(requestParameters: SearchProblemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 주어진 쿼리에 따라 문제 태그를 검색합니다.
+ * 문제 태그 검색하기
+ */
+ searchProblemTagRaw(requestParameters: SearchProblemTagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 문제 태그를 검색합니다.
+ * 문제 태그 검색하기
+ */
+ searchProblemTag(requestParameters: SearchProblemTagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 주어진 쿼리에 따라 사용자를 검색합니다.
+ * 사용자 검색하기
+ */
+ searchUserRaw(requestParameters: SearchUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 주어진 쿼리에 따라 사용자를 검색합니다.
+ * 사용자 검색하기
+ */
+ searchUser(requestParameters: SearchUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/esm/apis/SearchApi.js b/dist/esm/apis/SearchApi.js
new file mode 100644
index 0000000..1fd187f
--- /dev/null
+++ b/dist/esm/apis/SearchApi.js
@@ -0,0 +1,168 @@
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 SearchApi extends runtime.BaseAPI {
+ /**
+ * 주어진 쿼리에 따라 검색할 때 도움이 되도록 자동 완성 및 상위 검색 결과를 반환합니다. 자동 완성 결과는 언어에 의존적입니다.
+ * 검색 자동완성 구하기
+ */
+ async getSearchAutoCompletionsRaw(requestParameters, initOverrides) {
+ if (requestParameters['query'] == null) {
+ throw new runtime.RequiredError('query', 'Required parameter "query" was null or undefined when calling getSearchAutoCompletions().');
+ }
+ const queryParameters = {};
+ if (requestParameters['query'] != null) {
+ queryParameters['query'] = requestParameters['query'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/search/suggestion`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 주어진 쿼리에 따라 검색할 때 도움이 되도록 자동 완성 및 상위 검색 결과를 반환합니다. 자동 완성 결과는 언어에 의존적입니다.
+ * 검색 자동완성 구하기
+ */
+ async getSearchAutoCompletions(requestParameters, initOverrides) {
+ const response = await this.getSearchAutoCompletionsRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 문제 검색하기
+ */
+ async searchProblemRaw(requestParameters, initOverrides) {
+ if (requestParameters['query'] == null) {
+ throw new runtime.RequiredError('query', 'Required parameter "query" was null or undefined when calling searchProblem().');
+ }
+ if (requestParameters['direction'] == null) {
+ throw new runtime.RequiredError('direction', 'Required parameter "direction" was null or undefined when calling searchProblem().');
+ }
+ if (requestParameters['sort'] == null) {
+ throw new runtime.RequiredError('sort', 'Required parameter "sort" was null or undefined when calling searchProblem().');
+ }
+ const queryParameters = {};
+ if (requestParameters['query'] != null) {
+ queryParameters['query'] = requestParameters['query'];
+ }
+ if (requestParameters['direction'] != null) {
+ queryParameters['direction'] = requestParameters['direction'];
+ }
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ if (requestParameters['sort'] != null) {
+ queryParameters['sort'] = requestParameters['sort'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/search/problem`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 주어진 쿼리에 따라 문제를 검색합니다.
+ * 문제 검색하기
+ */
+ async searchProblem(requestParameters, initOverrides) {
+ const response = await this.searchProblemRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 주어진 쿼리에 따라 문제 태그를 검색합니다.
+ * 문제 태그 검색하기
+ */
+ async searchProblemTagRaw(requestParameters, initOverrides) {
+ if (requestParameters['query'] == null) {
+ throw new runtime.RequiredError('query', 'Required parameter "query" was null or undefined when calling searchProblemTag().');
+ }
+ const queryParameters = {};
+ if (requestParameters['query'] != null) {
+ queryParameters['query'] = requestParameters['query'];
+ }
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/search/tag`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 주어진 쿼리에 따라 문제 태그를 검색합니다.
+ * 문제 태그 검색하기
+ */
+ async searchProblemTag(requestParameters, initOverrides) {
+ const response = await this.searchProblemTagRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 주어진 쿼리에 따라 사용자를 검색합니다.
+ * 사용자 검색하기
+ */
+ async searchUserRaw(requestParameters, initOverrides) {
+ if (requestParameters['query'] == null) {
+ throw new runtime.RequiredError('query', 'Required parameter "query" was null or undefined when calling searchUser().');
+ }
+ const queryParameters = {};
+ if (requestParameters['query'] != null) {
+ queryParameters['query'] = requestParameters['query'];
+ }
+ if (requestParameters['page'] != null) {
+ queryParameters['page'] = requestParameters['page'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/search/user`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 주어진 쿼리에 따라 사용자를 검색합니다.
+ * 사용자 검색하기
+ */
+ async searchUser(requestParameters, initOverrides) {
+ const response = await this.searchUserRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
diff --git a/dist/esm/apis/UserApi.d.ts b/dist/esm/apis/UserApi.d.ts
new file mode 100644
index 0000000..b242ffa
--- /dev/null
+++ b/dist/esm/apis/UserApi.d.ts
@@ -0,0 +1,72 @@
+/**
+ * @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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 type { GetProblemsByIdList200Response, GetUserProblemStatsProblemStat, Language, Organization, SocialUser } from '../models/index.js';
+export interface GetUserByHandleRequest {
+ handle: string;
+ xSolvedacLanguage?: Language;
+}
+export interface GetUserOrganizationsRequest {
+ handle: string;
+}
+export interface GetUserProblemStatsRequest {
+ handle: string;
+}
+export interface GetUserTop100Request {
+ handle: string;
+ xSolvedacLanguage?: Language;
+}
+/**
+ *
+ */
+export declare class UserApi extends runtime.BaseAPI {
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 정보 가져오기
+ */
+ getUserByHandleRaw(requestParameters: GetUserByHandleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 정보 가져오기
+ */
+ getUserByHandle(requestParameters: GetUserByHandleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 단체 가져오기
+ */
+ getUserOrganizationsRaw(requestParameters: GetUserOrganizationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>;
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 단체 가져오기
+ */
+ getUserOrganizations(requestParameters: GetUserOrganizationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 해당 핸들의 사용자가 푼 문제 수를 문제 수준별로 나누어 가져옵니다.
+ * 문제 수준별로 사용자가 푼 문제 수 가져오기
+ */
+ getUserProblemStatsRaw(requestParameters: GetUserProblemStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>;
+ /**
+ * 해당 핸들의 사용자가 푼 문제 수를 문제 수준별로 나누어 가져옵니다.
+ * 문제 수준별로 사용자가 푼 문제 수 가져오기
+ */
+ getUserProblemStats(requestParameters: GetUserProblemStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 사용자가 푼 문제 중 문제 수준이 높은 상위 100 문제를 가져옵니다
+ * 상위 100 문제 가져오기
+ */
+ getUserTop100Raw(requestParameters: GetUserTop100Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>;
+ /**
+ * 사용자가 푼 문제 중 문제 수준이 높은 상위 100 문제를 가져옵니다
+ * 상위 100 문제 가져오기
+ */
+ getUserTop100(requestParameters: GetUserTop100Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise;
+}
diff --git a/dist/esm/apis/UserApi.js b/dist/esm/apis/UserApi.js
new file mode 100644
index 0000000..648e7e4
--- /dev/null
+++ b/dist/esm/apis/UserApi.js
@@ -0,0 +1,141 @@
+/* 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))
**참고**: 본 저장소를 내려받고, `pnpm dev`를 실행하시면 로컬 개발 서버를 프록시로 삼아 CORS를 무시할 수 있습니다. ![@solvedac/unofficial-documentation banner](./assets/solvedac-ud-compact.png)
+ *
+ * The version of the OpenAPI document: 3.2024.03+b1
+ * Contact: me@ranolp.dev
+ *
+ * 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 UserApi extends runtime.BaseAPI {
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 정보 가져오기
+ */
+ async getUserByHandleRaw(requestParameters, initOverrides) {
+ if (requestParameters['handle'] == null) {
+ throw new runtime.RequiredError('handle', 'Required parameter "handle" was null or undefined when calling getUserByHandle().');
+ }
+ const queryParameters = {};
+ if (requestParameters['handle'] != null) {
+ queryParameters['handle'] = requestParameters['handle'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/user/show`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 정보 가져오기
+ */
+ async getUserByHandle(requestParameters, initOverrides) {
+ const response = await this.getUserByHandleRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 해당 핸들의 사용자 정보를 가져옵니다. 만약 요청자가 로그인 중이라면 라이벌 여부도 가져옵니다. 로그인 중이 아니라면 라이벌 등 로그인해야 알 수 있는 정보는 기본값 처리됩니다.
+ * 사용자 핸들로 단체 가져오기
+ */
+ async getUserOrganizationsRaw(requestParameters, initOverrides) {
+ if (requestParameters['handle'] == null) {
+ throw new runtime.RequiredError('handle', 'Required parameter "handle" was null or undefined when calling getUserOrganizations().');
+ }
+ const queryParameters = {};
+ if (requestParameters['handle'] != null) {
+ 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();
+ }
+ /**
+ * 해당 핸들의 사용자가 푼 문제 수를 문제 수준별로 나누어 가져옵니다.
+ * 문제 수준별로 사용자가 푼 문제 수 가져오기
+ */
+ async getUserProblemStatsRaw(requestParameters, initOverrides) {
+ if (requestParameters['handle'] == null) {
+ throw new runtime.RequiredError('handle', 'Required parameter "handle" was null or undefined when calling getUserProblemStats().');
+ }
+ const queryParameters = {};
+ if (requestParameters['handle'] != null) {
+ queryParameters['handle'] = requestParameters['handle'];
+ }
+ const headerParameters = {};
+ const response = await this.request({
+ path: `/user/problem_stats`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 해당 핸들의 사용자가 푼 문제 수를 문제 수준별로 나누어 가져옵니다.
+ * 문제 수준별로 사용자가 푼 문제 수 가져오기
+ */
+ async getUserProblemStats(requestParameters, initOverrides) {
+ const response = await this.getUserProblemStatsRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+ /**
+ * 사용자가 푼 문제 중 문제 수준이 높은 상위 100 문제를 가져옵니다
+ * 상위 100 문제 가져오기
+ */
+ async getUserTop100Raw(requestParameters, initOverrides) {
+ if (requestParameters['handle'] == null) {
+ throw new runtime.RequiredError('handle', 'Required parameter "handle" was null or undefined when calling getUserTop100().');
+ }
+ const queryParameters = {};
+ if (requestParameters['handle'] != null) {
+ queryParameters['handle'] = requestParameters['handle'];
+ }
+ const headerParameters = {};
+ if (requestParameters['xSolvedacLanguage'] != null) {
+ headerParameters['x-solvedac-language'] = String(requestParameters['xSolvedacLanguage']);
+ }
+ const response = await this.request({
+ path: `/user/top_100`,
+ method: 'GET',
+ headers: headerParameters,
+ query: queryParameters,
+ }, initOverrides);
+ return new runtime.JSONApiResponse(response);
+ }
+ /**
+ * 사용자가 푼 문제 중 문제 수준이 높은 상위 100 문제를 가져옵니다
+ * 상위 100 문제 가져오기
+ */
+ async getUserTop100(requestParameters, initOverrides) {
+ const response = await this.getUserTop100Raw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
diff --git a/dist/apis/index.d.ts b/dist/esm/apis/index.d.ts
similarity index 89%
rename from dist/apis/index.d.ts
rename to dist/esm/apis/index.d.ts
index e899bf1..00ebfa1 100644
--- a/dist/apis/index.d.ts
+++ b/dist/esm/apis/index.d.ts
@@ -2,7 +2,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';
export * from './ProblemApi.js';
export * from './RankingApi.js';
diff --git a/dist/apis/index.js b/dist/esm/apis/index.js
similarity index 90%
rename from dist/apis/index.js
rename to dist/esm/apis/index.js
index 455dd63..1854d90 100644
--- a/dist/apis/index.js
+++ b/dist/esm/apis/index.js
@@ -4,7 +4,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';
export * from './ProblemApi.js';
export * from './RankingApi.js';
diff --git a/dist/index.d.ts b/dist/esm/index.d.ts
similarity index 100%
rename from dist/index.d.ts
rename to dist/esm/index.d.ts
diff --git a/dist/index.js b/dist/esm/index.js
similarity index 100%
rename from dist/index.js
rename to dist/esm/index.js
diff --git a/dist/esm/models/index.d.ts b/dist/esm/models/index.d.ts
new file mode 100644
index 0000000..e19e4ba
--- /dev/null
+++ b/dist/esm/models/index.d.ts
@@ -0,0 +1,2750 @@
+/**
+ * Unrated를 0,
+ * C를 1,
+ * ...,
+ * SSS+을 12,
+ * X를 13으로 표현하는 아레나 티어입니다.
+ * 자세한 값 정보는 표1. 아레나 레이팅 표를 펼쳐 참고하십시오.
+ *
+ *
+ *
+ * 표1. 아레나 레이팅 표
+ *
+ *
+ * | 수치 | 이름 | 요구 레이팅 |
+ * | ---: | :---------------------------------------------------------------------------------------------- | ---------------------------------------------: |
+ * | 0 | Unrated | - |
+ * | 1 | C | 1 |
+ * | 2 | C+ | 400 |
+ * | 3 | B | 800 |
+ * | 4 | B+ | 1000 |
+ * | 5 | A | 1200 |
+ * | 6 | A+ | 1400 |
+ * | 7 | S | 1600 |
+ * | 8 | S+ | 1800 |
+ * | 9 | SS | 2000 |
+ * | 10 | SS+ | 2200 |
+ * | 11 | SSS | 2400 |
+ * | 12 | SSS+ | 2600 |
+ * | 13 | X | 3000 |
+ *
+ *
+ * @export
+ */
+export declare const ArenaTier: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+ readonly NUMBER_11: 11;
+ readonly NUMBER_12: 12;
+ readonly NUMBER_13: 13;
+};
+export type ArenaTier = typeof ArenaTier[keyof typeof ArenaTier];
+/**
+ * 사용자가 획득할 수 있는 배경입니다.
+ * @export
+ * @interface Background
+ */
+export interface Background {
+ /**
+ * 배경의 고유 ID입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundId: string;
+ /**
+ * 배경 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundImageUrl: string;
+ /**
+ * 일러스트 배경 보기가 꺼져있을 때 보여줄 수 있는 대안 배경 사진으로 가는 하이퍼링크입니다.
+ * 일러스트를 포함하지 않은 배경이거나, 배경 제작자가 따로 준비하지 않은 경우 `null` 값일 수 있습니다.
+ * @type {string}
+ * @memberof Background
+ */
+ fallbackBackgroundImageUrl?: string;
+ /**
+ * 움직이는 배경이 켜져있을 때 보여줄 수 있는 배경 영상으로 가는 하이퍼링크입니다.
+ * 배경 제작자가 따로 준비하지 않은 경우 `null` 값일 수 있습니다.
+ * @type {string}
+ * @memberof Background
+ */
+ backgroundVideoUrl?: string;
+ /**
+ * 배경을 획득한 사용자 수입니다.
+ * @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 {BackgroundCategory}
+ * @memberof Background
+ */
+ backgroundCategory: BackgroundCategory;
+ /**
+ * solved.ac 회사가 권리를 보유하는지 여부입니다.
+ * @type {boolean}
+ * @memberof Background
+ */
+ solvedCompanyRights: boolean;
+ /**
+ * 배경을 작업한 작가 목록입니다. 빈 배열일 수 있습니다.
+ * @type {Array}
+ * @memberof Background
+ */
+ authors: Array;
+}
+/**
+ * 배경을 작업한 작가입니다.
+ * @export
+ * @interface BackgroundAuthor
+ */
+export interface BackgroundAuthor {
+ /**
+ * 작가 고유 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ authorId: string;
+ /**
+ * 수행한 역할입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ role: string;
+ /**
+ * 작가 홈페이지로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ authorUrl?: string;
+ /**
+ * 작가의 solved.ac 핸들입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ handle?: string;
+ /**
+ * 작가의 Twitter ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ twitter?: string;
+ /**
+ * 작가의 인스타그램 ID입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ instagram?: string;
+ /**
+ * 작가의 표시 이름입니다.
+ * @type {string}
+ * @memberof BackgroundAuthor
+ */
+ displayName: string;
+}
+/**
+ * 배경 획득 유형 분류입니다.
+ * @export
+ */
+export declare const BackgroundCategory: {
+ readonly Event: "event";
+ readonly Arena: "arena";
+ readonly Achievement: "achievement";
+ readonly Season: "season";
+ readonly Contest: "contest";
+};
+export type BackgroundCategory = typeof BackgroundCategory[keyof typeof BackgroundCategory];
+/**
+ * 사용자가 획득할 수 있는 뱃지입니다.
+ * @export
+ * @interface Badge
+ */
+export interface Badge {
+ /**
+ * 뱃지의 고유 ID입니다.
+ * @type {string}
+ * @memberof Badge
+ */
+ badgeId: string;
+ /**
+ * 뱃지 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Badge
+ */
+ badgeImageUrl: string;
+ /**
+ * 뱃지가 표시되는 이름입니다.
+ * @type {string}
+ * @memberof Badge
+ */
+ displayName: string;
+ /**
+ * 뱃지의 설명입니다.
+ * @type {string}
+ * @memberof Badge
+ */
+ displayDescription: string;
+ /**
+ * 뱃지를 획득한 사용자 수입니다.
+ * @type {number}
+ * @memberof Badge
+ */
+ unlockedUserCount: number;
+ /**
+ *
+ * @type {BadgeTier}
+ * @memberof Badge
+ */
+ badgeTier: BadgeTier;
+ /**
+ *
+ * @type {BadgeCategory}
+ * @memberof Badge
+ */
+ badgeCategory: BadgeCategory;
+ /**
+ * solved.ac 회사가 권리를 보유하는지 여부입니다.
+ * @type {boolean}
+ * @memberof Badge
+ */
+ solvedCompanyRights: boolean;
+ /**
+ * 뱃지가 만들어진 시각입니다.
+ * @type {string}
+ * @memberof Badge
+ */
+ createdAt: string;
+}
+/**
+ * 뱃지 획득 유형 분류입니다.
+ * @export
+ */
+export declare const BadgeCategory: {
+ readonly Achievement: "achievement";
+ readonly Season: "season";
+ readonly Event: "event";
+ readonly Contest: "contest";
+};
+export type BadgeCategory = typeof BadgeCategory[keyof typeof BadgeCategory];
+/**
+ * 뱃지의 등급입니다.
+ * @export
+ */
+export declare const BadgeTier: {
+ readonly Bronze: "bronze";
+ readonly Silver: "silver";
+ readonly Gold: "gold";
+ readonly Master: "master";
+};
+export type BadgeTier = typeof BadgeTier[keyof typeof BadgeTier];
+/**
+ * 코인샵에서 판매하고 있는 상품입니다.
+ * @export
+ * @interface CoinShopProduct
+ */
+export interface CoinShopProduct {
+ /**
+ * 재고(Stock Keeping Unit) ID입니다.
+ * @type {number}
+ * @memberof CoinShopProduct
+ */
+ skuId: number;
+ /**
+ *
+ * @type {Item}
+ * @memberof CoinShopProduct
+ */
+ item: Item;
+ /**
+ * 1회 구매 시 획득하는 아이템 개수입니다.
+ * @type {number}
+ * @memberof CoinShopProduct
+ */
+ units: number;
+ /**
+ * 가격입니다.
+ * 코인의 경우 나누기 100을 해야 표시 가격이 됩니다.
+ * @type {number}
+ * @memberof CoinShopProduct
+ */
+ price: number;
+ /**
+ * 가격 단위입니다.
+ * @type {string}
+ * @memberof CoinShopProduct
+ */
+ priceUnit: CoinShopProductPriceUnitEnum;
+ /**
+ * 아이템 사용 시간 제한 여부입니다.
+ * @type {boolean}
+ * @memberof CoinShopProduct
+ */
+ itemUseTimeLimited: boolean;
+ /**
+ * 아이템 구매 기간 제한 여부입니다.
+ * @type {boolean}
+ * @memberof CoinShopProduct
+ */
+ itemSellTimeLimited: boolean;
+}
+/**
+ * @export
+ */
+export declare const CoinShopProductPriceUnitEnum: {
+ readonly Coins: "coins";
+ readonly Stardusts: "stardusts";
+};
+export type CoinShopProductPriceUnitEnum = typeof CoinShopProductPriceUnitEnum[keyof typeof CoinShopProductPriceUnitEnum];
+/**
+ * 난이도 투표 등에 사용할 수 있는 이모티콘입니다.
+ * @export
+ * @interface Emoticon
+ */
+export interface Emoticon {
+ /**
+ * 고유 식별자입니다.
+ * @type {string}
+ * @memberof Emoticon
+ */
+ emoticonId: string;
+ /**
+ * 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Emoticon
+ */
+ emoticonUrl: string;
+ /**
+ * 한국어 이름입니다.
+ * @type {string}
+ * @memberof Emoticon
+ */
+ displayName: string;
+}
+/**
+ *
+ * @export
+ * @interface GetClassesProblemCountClassEntry
+ */
+export interface GetClassesProblemCountClassEntry {
+ /**
+ * 클래스 숫자입니다.
+ * @type {number}
+ * @memberof GetClassesProblemCountClassEntry
+ */
+ _class: GetClassesProblemCountClassEntryClassEnum;
+ /**
+ * 총 문제 수입니다.
+ * @type {number}
+ * @memberof GetClassesProblemCountClassEntry
+ */
+ total: number;
+ /**
+ * 에센셜 문제 수입니다.
+ * @type {number}
+ * @memberof GetClassesProblemCountClassEntry
+ */
+ essentials: number;
+ /**
+ * 취득에 필요한 문제 수입니다.
+ * @type {number}
+ * @memberof GetClassesProblemCountClassEntry
+ */
+ criteria: number;
+}
+/**
+ * @export
+ */
+export declare const GetClassesProblemCountClassEntryClassEnum: {
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+};
+export type GetClassesProblemCountClassEntryClassEnum = typeof GetClassesProblemCountClassEntryClassEnum[keyof typeof GetClassesProblemCountClassEntryClassEnum];
+/**
+ *
+ * @export
+ * @interface GetCoinStardustExchangeRateExchangeRate
+ */
+export interface GetCoinStardustExchangeRateExchangeRate {
+ /**
+ * 1 코인을 별조각으로 바꾸는 환율입니다.
+ * 별조각을 코인으로 환전할 때에는 수수료가 1%(소수점은 내림) 붙습니다.
+ * @type {number}
+ * @memberof GetCoinStardustExchangeRateExchangeRate
+ */
+ rate: number;
+}
+/**
+ * 페이지네이션 가능한 쿼리의 응답 결과입니다.
+ * @export
+ * @interface GetOrganizationRankingByACRating200Response
+ */
+export interface GetOrganizationRankingByACRating200Response {
+ /**
+ * 전체 원소 수입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200Response
+ */
+ count: number;
+ /**
+ * 현재 페이지의 원소 목록입니다.
+ * @type {Array}
+ * @memberof GetOrganizationRankingByACRating200Response
+ */
+ items: Array;
+}
+/**
+ * 페이지네이션 가능한 쿼리의 응답 결과입니다.
+ * @export
+ * @interface GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+export interface GetOrganizationRankingByACRating200ResponseItemsInner {
+ /**
+ * ID입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ organizationId: number;
+ /**
+ * 이름입니다.
+ * @type {string}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ name: string;
+ /**
+ * 유형입니다.
+ * @type {OrganizationType}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ type: OrganizationType;
+ /**
+ * 문제풀이 레이팅입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ rating: number;
+ /**
+ * 속한 사용자 수입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ userCount: number;
+ /**
+ * 난이도 기여 수입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ voteCount: number;
+ /**
+ * 푼 문제 수입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ solvedCount: number;
+ /**
+ * 상징 색입니다.
+ * @type {string}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ color: string;
+ /**
+ * 순위입니다.
+ * @type {number}
+ * @memberof GetOrganizationRankingByACRating200ResponseItemsInner
+ */
+ rank: number;
+}
+/**
+ * 페이지네이션 가능한 쿼리의 응답 결과입니다.
+ * @export
+ * @interface GetProblemsByIdList200Response
+ */
+export interface GetProblemsByIdList200Response {
+ /**
+ * 전체 원소 수입니다.
+ * @type {number}
+ * @memberof GetProblemsByIdList200Response
+ */
+ count: number;
+ /**
+ * 현재 페이지의 원소 목록입니다.
+ * @type {Array}
+ * @memberof GetProblemsByIdList200Response
+ */
+ items: Array;
+}
+/**
+ *
+ * @export
+ * @interface GetProblemsCountGroupByLevelLevelEntry
+ */
+export interface GetProblemsCountGroupByLevelLevelEntry {
+ /**
+ *
+ * @type {ProblemLevel}
+ * @memberof GetProblemsCountGroupByLevelLevelEntry
+ */
+ level: ProblemLevel;
+ /**
+ * 문제 수입니다.
+ * @type {number}
+ * @memberof GetProblemsCountGroupByLevelLevelEntry
+ */
+ count: number;
+}
+/**
+ * 페이지네이션 가능한 쿼리의 응답 결과입니다.
+ * @export
+ * @interface GetRankingByClass200Response
+ */
+export interface GetRankingByClass200Response {
+ /**
+ * 전체 원소 수입니다.
+ * @type {number}
+ * @memberof GetRankingByClass200Response
+ */
+ count: number;
+ /**
+ * 현재 페이지의 원소 목록입니다.
+ * @type {Array}
+ * @memberof GetRankingByClass200Response
+ */
+ items: Array;
+}
+/**
+ * 고급 검색 관련 자동 완성입니다.
+ * @export
+ * @interface GetSearchAutoCompletionsAutoCompleteEntry
+ */
+export interface GetSearchAutoCompletionsAutoCompleteEntry {
+ /**
+ * 자동 완성 제목입니다.
+ * 만약 href이 없을 경우 누르면 해당 값으로 자동 완성합니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsAutoCompleteEntry
+ */
+ caption: string;
+ /**
+ * 자동 완성 요소의 설명입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsAutoCompleteEntry
+ */
+ description: string;
+}
+/**
+ * 요악한 문제 정보입니다.
+ * @export
+ * @interface GetSearchAutoCompletionsBriefProblemEntry
+ */
+export interface GetSearchAutoCompletionsBriefProblemEntry {
+ /**
+ * 문제 ID입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ id: number;
+ /**
+ * 문제 제목입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ title: string;
+ /**
+ *
+ * @type {ProblemLevel}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ level: ProblemLevel;
+ /**
+ * 푼 사람 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ solved: number;
+ /**
+ * 자동 완성 제목입니다.
+ * 만약 href이 없을 경우 누르면 해당 값으로 자동 완성합니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ caption: string;
+ /**
+ * 자동 완성 요소의 설명입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemEntry
+ */
+ description: string;
+}
+/**
+ * 요약한 태그 정보입니다.
+ * @export
+ * @interface GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+export interface GetSearchAutoCompletionsBriefProblemTagEntry {
+ /**
+ * solved.ac에서 쓰는 태그 ID입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+ key: string;
+ /**
+ * 태그 이름입니다.
+ * 사용자 언어에 따라 번역되지 않습니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+ name: string;
+ /**
+ * 태그가 붙은 문제 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+ problemCount: number;
+ /**
+ * 자동 완성 제목입니다.
+ * 만약 href이 없을 경우 누르면 해당 값으로 자동 완성합니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+ caption: string;
+ /**
+ * 자동 완성 요소의 설명입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsBriefProblemTagEntry
+ */
+ description: string;
+}
+/**
+ *
+ * @export
+ * @interface GetSearchAutoCompletionsSuggestion
+ */
+export interface GetSearchAutoCompletionsSuggestion {
+ /**
+ *
+ * @type {Array}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ autocomplete: Array;
+ /**
+ *
+ * @type {Array}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ problems: Array;
+ /**
+ * 검색 결과로 나올 총 문제 수입니다
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ problemCount: number;
+ /**
+ *
+ * @type {Array}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ tags: Array;
+ /**
+ * 검색 결과로 나올 총 태그 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ tagCount: number;
+ /**
+ *
+ * @type {Array}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ users: Array;
+ /**
+ * 검색 결과로 나올 총 사용자 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsSuggestion
+ */
+ userCount: number;
+}
+/**
+ * 사용자 정보입니다.
+ * @export
+ * @interface GetSearchAutoCompletionsUserEntry
+ */
+export interface GetSearchAutoCompletionsUserEntry {
+ /**
+ * 사용자명입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ handle: string;
+ /**
+ * 자기소개입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ bio: string;
+ /**
+ * 장착 중인 뱃지 ID입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ badgeId?: string;
+ /**
+ * 장착 중인 배경 ID입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ backgroundId: string;
+ /**
+ * 프로필 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ profileImageUrl?: string;
+ /**
+ * 푼 문제 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ solvedCount: number;
+ /**
+ * 난이도 기여 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ voteCount: number;
+ /**
+ * 취득한 CLASS입니다.
+ * 취득한 CLASS가 없다면 0으로 표현합니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ _class: GetSearchAutoCompletionsUserEntryClassEnum;
+ /**
+ * CLASS 완성도에 따른 장식입니다.
+ * 장식 없음 (`"none"`),
+ * 은장+ (`"silver"`),
+ * 금장++ (`"gold"`)이 있습니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ classDecoration: GetSearchAutoCompletionsUserEntryClassDecorationEnum;
+ /**
+ * 라이벌 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ rivalCount: number;
+ /**
+ * 역라이벌 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ reverseRivalCount: number;
+ /**
+ *
+ * @type {SolveTier}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ tier: SolveTier;
+ /**
+ * 문제풀이 레이팅입니다
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ rating: number;
+ /**
+ * 상위 100 문제 난이도 합으로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ ratingByProblemsSum: number;
+ /**
+ * 취득한 CLASS에 따라 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ ratingByClass: number;
+ /**
+ * 푼 문제 수로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ ratingBySolvedCount: number;
+ /**
+ * 문제 난이도에 기여한 횟수로 받은 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ ratingByVoteCount: number;
+ /**
+ * 현재 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ arenaTier: ArenaTier;
+ /**
+ * 현재 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ arenaRating: number;
+ /**
+ * 역대 받은 아레나 티어 중 최고점일 때의 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ arenaMaxTier: ArenaTier;
+ /**
+ * 역대 받은 아레나 레이팅 중 최고점일 때의 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ arenaMaxRating: number;
+ /**
+ * 참여한 아레나 라운드 수입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ arenaCompetedRoundCount: number;
+ /**
+ * 유지한 최대 스트릭의 길이입니다. (일 단위)
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ maxStreak: number;
+ /**
+ * 보유 중인 코인에 100을 곱한 값입니다.
+ * 만약, 실제로 보유한 코인이 0.15라면 15로 기록됩니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ coins: number;
+ /**
+ * 보유 중인 별가루 양입니다.
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ stardusts: number;
+ /**
+ * 가입 시각입니다.
+ * 일부 계정에 대해 2021년 6월 19일 0시 (UTC)로 백필된 흔적이 있습니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ joinedAt: string;
+ /**
+ * 정지 종료 시각입니다.
+ * 정지 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ bannedUntil: string;
+ /**
+ * [솔브드 서포터](https://solved.ac/support) 종료 시각입니다.
+ * 활성화 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ proUntil: string;
+ /**
+ * 순위입니다.
+ * 이 값은 요청하는 엔드포인트의 정렬 기준에 따라 다를 수 있습니다.
+ * 예) /ranking/* 엔드포인트에서는 해당 랭킹의 순위, /show 엔드포인트에서는 문제풀이 레이팅 순위
+ * @type {number}
+ * @memberof GetSearchAutoCompletionsUserEntry
+ */
+ rank: number;
+}
+/**
+ * @export
+ */
+export declare const GetSearchAutoCompletionsUserEntryClassEnum: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+};
+export type GetSearchAutoCompletionsUserEntryClassEnum = typeof GetSearchAutoCompletionsUserEntryClassEnum[keyof typeof GetSearchAutoCompletionsUserEntryClassEnum];
+/**
+ * @export
+ */
+export declare const GetSearchAutoCompletionsUserEntryClassDecorationEnum: {
+ readonly None: "none";
+ readonly Silver: "silver";
+ readonly Gold: "gold";
+};
+export type GetSearchAutoCompletionsUserEntryClassDecorationEnum = typeof GetSearchAutoCompletionsUserEntryClassDecorationEnum[keyof typeof GetSearchAutoCompletionsUserEntryClassDecorationEnum];
+/**
+ *
+ * @export
+ * @interface GetUserProblemStatsProblemStat
+ */
+export interface GetUserProblemStatsProblemStat {
+ /**
+ *
+ * @type {ProblemLevel}
+ * @memberof GetUserProblemStatsProblemStat
+ */
+ level: ProblemLevel;
+ /**
+ * solved.ac에 등록된 해당 수준 문제 수입니다.
+ * @type {number}
+ * @memberof GetUserProblemStatsProblemStat
+ */
+ total: number;
+ /**
+ * 사용자가 푼 문제 수입니다.
+ * @type {number}
+ * @memberof GetUserProblemStatsProblemStat
+ */
+ solved: number;
+ /**
+ * 사용자가 부분 성공한 문제 수입니다.
+ * @type {number}
+ * @memberof GetUserProblemStatsProblemStat
+ */
+ partial: number;
+ /**
+ * 사용자가 시도해 본 문제 수입니다.
+ * @type {number}
+ * @memberof GetUserProblemStatsProblemStat
+ */
+ tried: number;
+}
+/**
+ * 사용자가 사용할 수 있는 아이템입니다.
+ * @export
+ * @interface Item
+ */
+export interface Item {
+ /**
+ * ID입니다.
+ * @type {string}
+ * @memberof Item
+ */
+ itemId: string;
+ /**
+ * 아이템 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof Item
+ */
+ itemImageUrl: string;
+ /**
+ * 최대 소유 가능 개수입니다.
+ * 사람에 따라 다를 수 있습니다.
+ * @type {number}
+ * @memberof Item
+ */
+ inventoryMaxUnits: number;
+ /**
+ * 사용 가능 여부입니다.
+ * @type {boolean}
+ * @memberof Item
+ */
+ usable: boolean;
+ /**
+ * 국제화된 이름입니다.
+ * @type {string}
+ * @memberof Item
+ */
+ displayName: string;
+ /**
+ * 국제화된 설명입니다.
+ * @type {string}
+ * @memberof Item
+ */
+ displayDescription: string;
+}
+/**
+ * solved.ac에서 지원하는 사용자 언어입니다
+ * @export
+ */
+export declare const Language: {
+ readonly Ko: "ko";
+ readonly En: "en";
+ readonly Ja: "ja";
+};
+export type Language = typeof Language[keyof typeof Language];
+/**
+ * solved.ac에 등록한 단체입니다.
+ * @export
+ * @interface Organization
+ */
+export interface Organization {
+ /**
+ * ID입니다.
+ * @type {number}
+ * @memberof Organization
+ */
+ organizationId: number;
+ /**
+ * 이름입니다.
+ * @type {string}
+ * @memberof Organization
+ */
+ name: string;
+ /**
+ * 유형입니다.
+ * @type {OrganizationType}
+ * @memberof Organization
+ */
+ type: OrganizationType;
+ /**
+ * 문제풀이 레이팅입니다.
+ * @type {number}
+ * @memberof Organization
+ */
+ rating: number;
+ /**
+ * 속한 사용자 수입니다.
+ * @type {number}
+ * @memberof Organization
+ */
+ userCount: number;
+ /**
+ * 난이도 기여 수입니다.
+ * @type {number}
+ * @memberof Organization
+ */
+ voteCount: number;
+ /**
+ * 푼 문제 수입니다.
+ * @type {number}
+ * @memberof Organization
+ */
+ solvedCount: number;
+ /**
+ * 상징 색입니다.
+ * @type {string}
+ * @memberof Organization
+ */
+ color: string;
+}
+/**
+ * 단체 유형입니다.
+ * @export
+ */
+export declare const OrganizationType: {
+ readonly University: "university";
+ readonly Company: "company";
+ readonly Community: "community";
+ readonly HighSchool: "high_school";
+ readonly MiddleSchool: "middle_school";
+ readonly ElementarySchool: "elementary_school";
+ readonly Undefined: "undefined";
+};
+export type OrganizationType = typeof OrganizationType[keyof typeof OrganizationType];
+/**
+ * 문제 정보입니다.
+ * @export
+ * @interface Problem
+ */
+export interface Problem {
+ /**
+ * 백준 문제 번호로, 문제마다 고유합니다.
+ * @type {number}
+ * @memberof Problem
+ */
+ problemId: number;
+ /**
+ * 한국어 문제 제목입니다.
+ * HTML 엔티티나 LaTeX 수식을 포함할 수 있습니다.
+ * @type {string}
+ * @memberof Problem
+ */
+ titleKo: string;
+ /**
+ * 언어별 문제 제목 목록입니다.
+ * @type {Array}
+ * @memberof Problem
+ */
+ titles: Array;
+ /**
+ * 채점 가능 여부입니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ isSolvable: boolean;
+ /**
+ * 부분 점수/서브태스크 문제 여부입니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ isPartial: boolean;
+ /**
+ * 맞은 사람 수입니다.
+ * @type {number}
+ * @memberof Problem
+ */
+ acceptedUserCount: number;
+ /**
+ *
+ * @type {ProblemLevel}
+ * @memberof Problem
+ */
+ level: ProblemLevel;
+ /**
+ * 난이도 기여자 수입니다.
+ * @type {number}
+ * @memberof Problem
+ */
+ votedUserCount: number;
+ /**
+ * 새싹 문제 여부입니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ sprout: boolean;
+ /**
+ * 레이팅을 주지 않는지 여부입니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ givesNoRating: boolean;
+ /**
+ * 난이도 기여 제한 여부입니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ isLevelLocked: boolean;
+ /**
+ * 평균 시도 횟수입니다.
+ * @type {number}
+ * @memberof Problem
+ */
+ averageTries: number;
+ /**
+ * 공식 문제 여부입니다.
+ * 번외 문제 등은 비공식 문제로 분류됩니다.
+ * @type {boolean}
+ * @memberof Problem
+ */
+ official: boolean;
+ /**
+ * 태그 목록입니다.
+ * @type {Array}
+ * @memberof Problem
+ */
+ tags: Array;
+ /**
+ *
+ * @type {any}
+ * @memberof Problem
+ */
+ metadata: any | null;
+}
+/**
+ * Unrated / Not Ratable를 0,
+ * Bronze V를 1,
+ * Bronze IV를 2,
+ * ...,
+ * Ruby II을 29,
+ * Ruby I를 30으로 표현하는 문제 난이도입니다.
+ * 자세한 값 정보는 표1. 문제 난이도 표를 펼쳐 참고하십시오.
+ *
+ *
+ *
+ * 표1. 문제 난이도 표
+ *
+ *
+ * | 수치 | 이름 |
+ * | ---: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+ * | 0 | Unrated / Not Ratable |
+ * | 1 | Bronze V |
+ * | 2 | Bronze IV |
+ * | 3 | Bronze III |
+ * | 4 | Bronze II |
+ * | 5 | Bronze I |
+ * | 6 | Silver V |
+ * | 7 | Silver IV |
+ * | 8 | Silver III |
+ * | 9 | Silver II |
+ * | 10 | Silver I |
+ * | 11 | Gold V |
+ * | 12 | Gold IV |
+ * | 13 | Gold III |
+ * | 14 | Gold II |
+ * | 15 | Gold I |
+ * | 16 | Platinum V |
+ * | 17 | Platinum IV |
+ * | 18 | Platinum III |
+ * | 19 | Platinum II |
+ * | 20 | Platinum I |
+ * | 21 | Diamond V |
+ * | 22 | Diamond IV |
+ * | 23 | Diamond III |
+ * | 24 | Diamond II |
+ * | 25 | Diamond I |
+ * | 26 | Ruby V |
+ * | 27 | Ruby IV |
+ * | 28 | Ruby III |
+ * | 29 | Ruby II |
+ * | 30 | Ruby I |
+ *
+ *
+ * @export
+ */
+export declare const ProblemLevel: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+ readonly NUMBER_11: 11;
+ readonly NUMBER_12: 12;
+ readonly NUMBER_13: 13;
+ readonly NUMBER_14: 14;
+ readonly NUMBER_15: 15;
+ readonly NUMBER_16: 16;
+ readonly NUMBER_17: 17;
+ readonly NUMBER_18: 18;
+ readonly NUMBER_19: 19;
+ readonly NUMBER_20: 20;
+ readonly NUMBER_21: 21;
+ readonly NUMBER_22: 22;
+ readonly NUMBER_23: 23;
+ readonly NUMBER_24: 24;
+ readonly NUMBER_25: 25;
+ readonly NUMBER_26: 26;
+ readonly NUMBER_27: 27;
+ readonly NUMBER_28: 28;
+ readonly NUMBER_29: 29;
+ readonly NUMBER_30: 30;
+};
+export type ProblemLevel = typeof ProblemLevel[keyof typeof ProblemLevel];
+/**
+ *
+ * @export
+ * @interface ProblemTag
+ */
+export interface ProblemTag {
+ /**
+ * solved.ac에서 쓰는 태그 ID입니다.
+ * @type {string}
+ * @memberof ProblemTag
+ */
+ key: string;
+ /**
+ *
+ * @type {boolean}
+ * @memberof ProblemTag
+ */
+ isMeta: boolean;
+ /**
+ * 백준 온라인 저지에서 쓰는 태그 ID입니다.
+ * @type {number}
+ * @memberof ProblemTag
+ */
+ bojTagId: number;
+ /**
+ * 태그가 붙은 문제 수입니다.
+ * @type {number}
+ * @memberof ProblemTag
+ */
+ problemCount: number;
+ /**
+ * 언어별 태그 이름 목록입니다.
+ * @type {Array}
+ * @memberof ProblemTag
+ */
+ displayNames: Array;
+ /**
+ * 별명 목록입니다. 빈 배열일 수 있습니다.
+ * @type {Array}
+ * @memberof ProblemTag
+ */
+ aliases: Array;
+}
+/**
+ * 태그의 별칭을 나타냅니다.
+ * @export
+ * @interface ProblemTagAlias
+ */
+export interface ProblemTagAlias {
+ /**
+ * 별칭입니다
+ * @type {string}
+ * @memberof ProblemTagAlias
+ */
+ alias: string;
+}
+/**
+ *
+ * @export
+ * @interface ProblemTagNameTranslated
+ */
+export interface ProblemTagNameTranslated {
+ /**
+ * 태그 이름이 작성된 언어입니다.
+ * @type {Language}
+ * @memberof ProblemTagNameTranslated
+ */
+ language: Language;
+ /**
+ * 이름입니다.
+ * @type {string}
+ * @memberof ProblemTagNameTranslated
+ */
+ name: string;
+ /**
+ * 짧은 이름입니다.
+ * 따로 없을 경우 `name`과 같은 값입니다.
+ * @type {string}
+ * @memberof ProblemTagNameTranslated
+ */
+ _short: string;
+}
+/**
+ * 언어별 문제 제목입니다.
+ * @export
+ * @interface ProblemTitleTranslated
+ */
+export interface ProblemTitleTranslated {
+ /**
+ * 문제 제목이 작성된 언어입니다.
+ * @type {Language}
+ * @memberof ProblemTitleTranslated
+ */
+ language: Language;
+ /**
+ * 문제 제목이 작성된 언어의 이름입니다.
+ * @type {string}
+ * @memberof ProblemTitleTranslated
+ */
+ languageDisplayName: string;
+ /**
+ * 문제 제목입니다.
+ * @type {string}
+ * @memberof ProblemTitleTranslated
+ */
+ title: string;
+ /**
+ * 원본과 동일한지 여부입니다.
+ * @type {boolean}
+ * @memberof ProblemTitleTranslated
+ */
+ isOriginal: boolean;
+}
+/**
+ *
+ * @export
+ * @interface RedeemCodeRequest
+ */
+export interface RedeemCodeRequest {
+ /**
+ * 리딤 코드입니다.
+ * @type {string}
+ * @memberof RedeemCodeRequest
+ */
+ code: string;
+}
+/**
+ *
+ * @export
+ * @interface RivalUser
+ */
+export interface RivalUser {
+ /**
+ * 라이벌 여부입니다.
+ * @type {boolean}
+ * @memberof RivalUser
+ */
+ isRival: boolean;
+ /**
+ * 역라이벌 여부입니다.
+ * @type {boolean}
+ * @memberof RivalUser
+ */
+ isReverseRival: boolean;
+ /**
+ * 사용자명입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ handle: string;
+ /**
+ * 자기소개입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ bio: string;
+ /**
+ * 장착 중인 뱃지 ID입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ badgeId?: string;
+ /**
+ * 장착 중인 배경 ID입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ backgroundId: string;
+ /**
+ * 프로필 사진으로 가는 하이퍼링크입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ profileImageUrl?: string;
+ /**
+ * 푼 문제 수입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ solvedCount: number;
+ /**
+ * 난이도 기여 수입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ voteCount: number;
+ /**
+ * 취득한 CLASS입니다.
+ * 취득한 CLASS가 없다면 0으로 표현합니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ _class: RivalUserClassEnum;
+ /**
+ * CLASS 완성도에 따른 장식입니다.
+ * 장식 없음 (`"none"`),
+ * 은장+ (`"silver"`),
+ * 금장++ (`"gold"`)이 있습니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ classDecoration: RivalUserClassDecorationEnum;
+ /**
+ * 라이벌 수입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ rivalCount: number;
+ /**
+ * 역라이벌 수입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ reverseRivalCount: number;
+ /**
+ *
+ * @type {SolveTier}
+ * @memberof RivalUser
+ */
+ tier: SolveTier;
+ /**
+ * 문제풀이 레이팅입니다
+ * @type {number}
+ * @memberof RivalUser
+ */
+ rating: number;
+ /**
+ * 상위 100 문제 난이도 합으로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ ratingByProblemsSum: number;
+ /**
+ * 취득한 CLASS에 따라 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ ratingByClass: number;
+ /**
+ * 푼 문제 수로 얻은 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ ratingBySolvedCount: number;
+ /**
+ * 문제 난이도에 기여한 횟수로 받은 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ ratingByVoteCount: number;
+ /**
+ * 현재 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof RivalUser
+ */
+ arenaTier: ArenaTier;
+ /**
+ * 현재 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ arenaRating: number;
+ /**
+ * 역대 받은 아레나 티어 중 최고점일 때의 아레나 티어입니다.
+ * @type {ArenaTier}
+ * @memberof RivalUser
+ */
+ arenaMaxTier: ArenaTier;
+ /**
+ * 역대 받은 아레나 레이팅 중 최고점일 때의 아레나 레이팅입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ arenaMaxRating: number;
+ /**
+ * 참여한 아레나 라운드 수입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ arenaCompetedRoundCount: number;
+ /**
+ * 유지한 최대 스트릭의 길이입니다. (일 단위)
+ * @type {number}
+ * @memberof RivalUser
+ */
+ maxStreak: number;
+ /**
+ * 보유 중인 코인에 100을 곱한 값입니다.
+ * 만약, 실제로 보유한 코인이 0.15라면 15로 기록됩니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ coins: number;
+ /**
+ * 보유 중인 별가루 양입니다.
+ * @type {number}
+ * @memberof RivalUser
+ */
+ stardusts: number;
+ /**
+ * 가입 시각입니다.
+ * 일부 계정에 대해 2021년 6월 19일 0시 (UTC)로 백필된 흔적이 있습니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ joinedAt: string;
+ /**
+ * 정지 종료 시각입니다.
+ * 정지 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ bannedUntil: string;
+ /**
+ * [솔브드 서포터](https://solved.ac/support) 종료 시각입니다.
+ * 활성화 이력이 없을 경우 Unix Timestamp 0 값을 포매팅한 문자열입니다.
+ * @type {string}
+ * @memberof RivalUser
+ */
+ proUntil: string;
+ /**
+ * 순위입니다.
+ * 이 값은 요청하는 엔드포인트의 정렬 기준에 따라 다를 수 있습니다.
+ * 예) /ranking/* 엔드포인트에서는 해당 랭킹의 순위, /show 엔드포인트에서는 문제풀이 레이팅 순위
+ * @type {number}
+ * @memberof RivalUser
+ */
+ rank: number;
+}
+/**
+ * @export
+ */
+export declare const RivalUserClassEnum: {
+ readonly NUMBER_0: 0;
+ readonly NUMBER_1: 1;
+ readonly NUMBER_2: 2;
+ readonly NUMBER_3: 3;
+ readonly NUMBER_4: 4;
+ readonly NUMBER_5: 5;
+ readonly NUMBER_6: 6;
+ readonly NUMBER_7: 7;
+ readonly NUMBER_8: 8;
+ readonly NUMBER_9: 9;
+ readonly NUMBER_10: 10;
+};
+export type RivalUserClassEnum = typeof RivalUserClassEnum[keyof typeof RivalUserClassEnum];
+/**
+ * @export
+ */
+export declare const RivalUserClassDecorationEnum: {
+ readonly None: "none";
+ readonly Silver: "silver";
+ readonly Gold: "gold";
+};
+export type RivalUserClassDecorationEnum = typeof RivalUserClassDecorationEnum[keyof typeof RivalUserClassDecorationEnum];
+/**
+ * 검색 결과 정렬 방향
+ * @export
+ */
+export declare const SearchProblemQueryDirection: {
+ readonly Asc: "asc";
+ readonly Desc: "desc";
+};
+export type SearchProblemQueryDirection = typeof SearchProblemQueryDirection[keyof typeof SearchProblemQueryDirection];
+/**
+ * 검색 결과 정렬 기준
+ * @export
+ */
+export declare const SearchProblemQuerySort: {
+ readonly Id: "id";
+ readonly Level: "level";
+ readonly Title: "title";
+ readonly Solved: "solved";
+ readonly AverageTry: "average_try";
+ readonly Random: "random";
+};
+export type SearchProblemQuerySort = typeof SearchProblemQuerySort[keyof typeof SearchProblemQuerySort];
+/**
+ * 페이지네이션 가능한 쿼리의 응답 결과입니다.
+ * @export
+ * @interface SearchProblemTag200Response
+ */
+export interface SearchProblemTag200Response {
+ /**
+ * 전체 원소 수입니다.
+ * @type {number}
+ * @memberof SearchProblemTag200Response
+ */
+ count: number;
+ /**
+ * 현재 페이지의 원소 목록입니다.
+ * @type {Array}
+ * @memberof SearchProblemTag200Response
+ */
+ items: Array