mirror of
https://github.com/stoatchat/javascript-client-api.git
synced 2026-07-21 04:25:22 -04:00
chore: switch to ESM-only & drop Axios dependency
This commit is contained in:
+319
-224
@@ -1,26 +1,27 @@
|
||||
// This file was auto-generated by @insertish/oapi!
|
||||
import Axios from 'axios';
|
||||
import type { AxiosRequestConfig } from 'axios';
|
||||
import type { APIRoutes } from "./routes.js";
|
||||
|
||||
import defaultsDeep from 'lodash.defaultsdeep';
|
||||
export * from "./types.js";
|
||||
|
||||
export * from './types';
|
||||
import type { APIRoutes } from './routes';
|
||||
import { defaultBaseURL } from "./baseURL.js";
|
||||
import { pathResolve, queryParams } from "./params.js";
|
||||
|
||||
import { defaultBaseURL } from './baseURL';
|
||||
import { pathResolve, queryParams } from './params';
|
||||
|
||||
type Methods = APIRoutes['method'];
|
||||
type Methods = APIRoutes["method"];
|
||||
type PickRoutes<Method extends Methods> = APIRoutes & { method: Method };
|
||||
|
||||
type GetRoutes = PickRoutes<'get'>;
|
||||
type PatchRoutes = PickRoutes<'patch'>;
|
||||
type PutRoutes = PickRoutes<'put'>;
|
||||
type DeleteRoutes = PickRoutes<'delete'>;
|
||||
type PostRoutes = PickRoutes<'post'>;
|
||||
type GetRoutes = PickRoutes<"get">;
|
||||
type PatchRoutes = PickRoutes<"patch">;
|
||||
type PutRoutes = PickRoutes<"put">;
|
||||
type DeleteRoutes = PickRoutes<"delete">;
|
||||
type PostRoutes = PickRoutes<"post">;
|
||||
|
||||
type Count<Str extends string, SubStr extends string, Matches extends null[] = []> =
|
||||
Str extends `${infer _}${SubStr}${infer After}` ? Count<After, SubStr, [...Matches, null]> : Matches['length'];
|
||||
type Count<
|
||||
Str extends string,
|
||||
SubStr extends string,
|
||||
Matches extends null[] = []
|
||||
> = Str extends `${infer _}${SubStr}${infer After}`
|
||||
? Count<After, SubStr, [...Matches, null]>
|
||||
: Matches["length"];
|
||||
|
||||
/**
|
||||
* Get the specific path name of any given path.
|
||||
@@ -28,244 +29,338 @@ type Count<Str extends string, SubStr extends string, Matches extends null[] = [
|
||||
* @returns Specific path
|
||||
*/
|
||||
export function getPathName(anyPath: string) {
|
||||
const segments = anyPath.split('/');
|
||||
const segments = anyPath.split("/");
|
||||
|
||||
const list = (pathResolve as unknown as Record<string, (string | [string])[]>)[(segments.length - 1).toString()] || [];
|
||||
for (const entry of list) {
|
||||
let i = 1;
|
||||
let copy = [...segments];
|
||||
for (i;i<segments.length;i++) {
|
||||
if (Array.isArray(entry[i - 1])) {
|
||||
copy[i] = entry[i - 1];
|
||||
continue;
|
||||
}
|
||||
else if (entry[i - 1] !== segments[i]) break;
|
||||
}
|
||||
|
||||
if (i === segments.length) return copy.join('/');
|
||||
const list =
|
||||
(pathResolve as unknown as Record<string, (string | [string])[]>)[
|
||||
(segments.length - 1).toString()
|
||||
] || [];
|
||||
for (const entry of list) {
|
||||
let i = 1;
|
||||
let copy = [...segments];
|
||||
for (i; i < segments.length; i++) {
|
||||
if (Array.isArray(entry[i - 1])) {
|
||||
copy[i] = entry[i - 1];
|
||||
continue;
|
||||
} else if (entry[i - 1] !== segments[i]) break;
|
||||
}
|
||||
|
||||
if (i === segments.length) return copy.join("/");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Client configuration options
|
||||
*/
|
||||
export interface Options {
|
||||
/**
|
||||
* Base URL of the Revolt node
|
||||
*/
|
||||
baseURL: string;
|
||||
/**
|
||||
* Authentication used for requests
|
||||
*/
|
||||
authentication: {
|
||||
rauth?: string | undefined;
|
||||
revolt?: { token: string } | string | undefined;
|
||||
};
|
||||
export interface Options {
|
||||
/**
|
||||
* Base URL of the Revolt node
|
||||
*/
|
||||
baseURL: string;
|
||||
/**
|
||||
* Additional headers to apply to requests
|
||||
*/
|
||||
headers?: Record<string, any>;
|
||||
/**
|
||||
* Authentication used for requests
|
||||
*/
|
||||
authentication: {
|
||||
rauth?: string | undefined;
|
||||
revolt?: { token: string } | string | undefined;
|
||||
headers?: Record<string, any>;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Request options
|
||||
*/
|
||||
export interface RequestOptions {
|
||||
/**
|
||||
* The base URL used for this request
|
||||
*/
|
||||
baseURL?: string;
|
||||
/**
|
||||
* The type of response given
|
||||
*/
|
||||
responseType?: "blob" | "json" | "text" | "arrayBuffer";
|
||||
/**
|
||||
* Headers to apply for this request
|
||||
*/
|
||||
headers?: Record<string, any>;
|
||||
}
|
||||
|
||||
/**
|
||||
* API Client
|
||||
*/
|
||||
export class API {
|
||||
private baseURL: Options['baseURL'];
|
||||
private authentication: Options['authentication'];
|
||||
private baseURL: Options["baseURL"];
|
||||
private authentication: Options["authentication"];
|
||||
private headers: Options["headers"];
|
||||
|
||||
constructor({ baseURL, authentication }: Partial<Options> = { }) {
|
||||
this.baseURL = baseURL || defaultBaseURL;
|
||||
this.authentication = authentication || { };
|
||||
}
|
||||
constructor({ baseURL, authentication, headers }: Partial<Options> = {}) {
|
||||
this.baseURL = baseURL || defaultBaseURL;
|
||||
this.authentication = authentication || {};
|
||||
this.headers = headers || {};
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate authentication options.
|
||||
*/
|
||||
get auth(): AxiosRequestConfig {
|
||||
if (this.authentication.rauth) {
|
||||
if (typeof this.authentication.rauth === 'string') {
|
||||
return {
|
||||
headers: {
|
||||
'X-Session-Token': this.authentication.rauth
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (this.authentication.revolt) {
|
||||
switch (typeof this.authentication.revolt) {
|
||||
case 'string': {
|
||||
return {
|
||||
headers: {
|
||||
'X-Bot-Token': this.authentication.revolt
|
||||
}
|
||||
}
|
||||
}
|
||||
case 'object': {
|
||||
return {
|
||||
headers: {
|
||||
'X-Session-Token': this.authentication.revolt.token
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return { };
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate config to pass through to API.
|
||||
*/
|
||||
get config(): AxiosRequestConfig {
|
||||
/**
|
||||
* Generate authentication options.
|
||||
*/
|
||||
get auth(): RequestOptions {
|
||||
if (this.authentication.rauth) {
|
||||
if (typeof this.authentication.rauth === "string") {
|
||||
return {
|
||||
baseURL: this.baseURL,
|
||||
...this.auth,
|
||||
headers: {
|
||||
"X-Session-Token": this.authentication.rauth,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Send any arbitrary request.
|
||||
* @param method HTTP Method
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Axios configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
req<Method extends Methods, Routes extends PickRoutes<Method>, Path extends Routes['path'], Route extends Routes & { path: Path, parts: Count<Path, '/'> }>(method: Method, path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise<Route['response']> {
|
||||
let query, body;
|
||||
let named = getPathName(path);
|
||||
|
||||
// If we are aware of this route, then match the parameters given.
|
||||
if (named && typeof params === 'object') {
|
||||
const route = queryParams[named as keyof typeof queryParams];
|
||||
const allowed_query = (route as unknown as Record<Method, string[]>)[method];
|
||||
|
||||
// Map each parameter to the correct object.
|
||||
for (const parameter of Object.keys(params)) {
|
||||
if (allowed_query?.includes(parameter)) {
|
||||
query = {
|
||||
...(query || {}),
|
||||
[parameter]: (params as Record<any, any>)[parameter]
|
||||
};
|
||||
} else {
|
||||
body = {
|
||||
...(body || {}),
|
||||
[parameter]: (params as Record<any, any>)[parameter]
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (this.authentication.revolt) {
|
||||
switch (typeof this.authentication.revolt) {
|
||||
case "string": {
|
||||
return {
|
||||
headers: {
|
||||
"X-Bot-Token": this.authentication.revolt,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
return Axios(path, defaultsDeep({
|
||||
method,
|
||||
params: query,
|
||||
data: body
|
||||
}, defaultsDeep(
|
||||
config,
|
||||
this.config
|
||||
)))
|
||||
.then(res => res.data);
|
||||
case "object": {
|
||||
return {
|
||||
headers: {
|
||||
"X-Session-Token": this.authentication.revolt.token,
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
} else if (this.authentication.headers) {
|
||||
return { headers: this.authentication.headers };
|
||||
}
|
||||
|
||||
/**
|
||||
* Send HTTP GET request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Axios configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
get<Path extends GetRoutes['path'], Route extends GetRoutes & { path: Path, parts: Count<Path, '/'> }>(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise<Route['response']>;
|
||||
return {};
|
||||
}
|
||||
|
||||
/**
|
||||
* Send HTTP GET request.
|
||||
* @param path Path
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
get<Path extends (GetRoutes & { params: undefined })['path'], Route extends GetRoutes & { path: Path, parts: Count<Path, '/'> }>(path: Path): Promise<Route['response']>;
|
||||
/**
|
||||
* Generate config to pass through to API.
|
||||
*/
|
||||
get config(): RequestOptions {
|
||||
return {
|
||||
baseURL: this.baseURL,
|
||||
...this.auth,
|
||||
headers: this.headers,
|
||||
};
|
||||
}
|
||||
|
||||
get(path: any, params?: any, config?: AxiosRequestConfig): Promise<any> {
|
||||
// @ts-ignore-next-line
|
||||
return this.req('get', path, params, config);
|
||||
/**
|
||||
* Send any arbitrary request.
|
||||
* @param method HTTP Method
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Request configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
async req<
|
||||
Method extends Methods,
|
||||
Routes extends PickRoutes<Method>,
|
||||
Path extends Routes["path"],
|
||||
Route extends Routes & { path: Path; parts: Count<Path, "/"> }
|
||||
>(
|
||||
method: Method,
|
||||
path: Path,
|
||||
params: Route["params"],
|
||||
config?: RequestOptions
|
||||
): Promise<Route["response"]> {
|
||||
let query = new URLSearchParams();
|
||||
let body = {} as Record<any, any>;
|
||||
let named = getPathName(path);
|
||||
|
||||
// If we are aware of this route, then match the parameters given.
|
||||
if (named && typeof params === "object") {
|
||||
const route = queryParams[named as keyof typeof queryParams];
|
||||
const allowed_query = (route as unknown as Record<Method, string[]>)[
|
||||
method
|
||||
];
|
||||
// Map each parameter to the correct object.
|
||||
for (const parameter of Object.keys(params)) {
|
||||
if (allowed_query?.includes(parameter)) {
|
||||
query.append(parameter, (params as Record<any, any>)[parameter]);
|
||||
} else {
|
||||
body[parameter] = (params as Record<any, any>)[parameter];
|
||||
}
|
||||
}
|
||||
}
|
||||
const passbody = ["head", "get"].includes(method)
|
||||
? undefined
|
||||
: JSON.stringify(body);
|
||||
const fetchdata = await fetch(
|
||||
new URL(
|
||||
`${path}?${query.toString()}`,
|
||||
config?.baseURL || this.baseURL
|
||||
).toString(),
|
||||
{
|
||||
method,
|
||||
headers: {
|
||||
...(config?.headers || {}),
|
||||
...(this.config.headers || {}),
|
||||
} as HeadersInit,
|
||||
body: passbody,
|
||||
}
|
||||
);
|
||||
return await fetchdata[config?.responseType || "json"]();
|
||||
}
|
||||
|
||||
/**
|
||||
* Send HTTP PATCH request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Axios configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
patch<Path extends PatchRoutes['path'], Route extends PatchRoutes & { path: Path, parts: Count<Path, '/'> }>(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise<Route['response']>;
|
||||
/**
|
||||
* Send HTTP GET request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Axios configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
get<
|
||||
Path extends GetRoutes["path"],
|
||||
Route extends GetRoutes & { path: Path; parts: Count<Path, "/"> }
|
||||
>(
|
||||
path: Path,
|
||||
params: Route["params"],
|
||||
config?: RequestOptions
|
||||
): Promise<Route["response"]>;
|
||||
|
||||
/**
|
||||
* Send HTTP PATCH request.
|
||||
* @param path Path
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
patch<Path extends (PatchRoutes & { params: undefined })['path'], Route extends PatchRoutes & { path: Path, parts: Count<Path, '/'> }>(path: Path): Promise<Route['response']>;
|
||||
/**
|
||||
* Send HTTP GET request.
|
||||
* @param path Path
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
get<
|
||||
Path extends (GetRoutes & { params: undefined })["path"],
|
||||
Route extends GetRoutes & { path: Path; parts: Count<Path, "/"> }
|
||||
>(path: Path): Promise<Route["response"]>;
|
||||
|
||||
patch(path: any, params?: any, config?: AxiosRequestConfig): Promise<any> {
|
||||
// @ts-ignore-next-line
|
||||
return this.req('patch', path, params, config);
|
||||
}
|
||||
get(path: any, params?: any, config?: RequestOptions): Promise<any> {
|
||||
// @ts-ignore-next-line
|
||||
return this.req("get", path, params, config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send HTTP PUT request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Axios configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
put<Path extends PutRoutes['path'], Route extends PutRoutes & { path: Path, parts: Count<Path, '/'> }>(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise<Route['response']>;
|
||||
|
||||
/**
|
||||
* Send HTTP PUT request.
|
||||
* @param path Path
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
put<Path extends (PutRoutes & { params: undefined })['path'], Route extends PutRoutes & { path: Path, parts: Count<Path, '/'> }>(path: Path): Promise<Route['response']>;
|
||||
/**
|
||||
* Send HTTP PATCH request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Axios configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
patch<
|
||||
Path extends PatchRoutes["path"],
|
||||
Route extends PatchRoutes & { path: Path; parts: Count<Path, "/"> }
|
||||
>(
|
||||
path: Path,
|
||||
params: Route["params"],
|
||||
config?: RequestOptions
|
||||
): Promise<Route["response"]>;
|
||||
|
||||
put(path: any, params?: any, config?: AxiosRequestConfig): Promise<any> {
|
||||
// @ts-ignore-next-line
|
||||
return this.req('put', path, params, config);
|
||||
}
|
||||
/**
|
||||
* Send HTTP PATCH request.
|
||||
* @param path Path
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
patch<
|
||||
Path extends (PatchRoutes & { params: undefined })["path"],
|
||||
Route extends PatchRoutes & { path: Path; parts: Count<Path, "/"> }
|
||||
>(path: Path): Promise<Route["response"]>;
|
||||
|
||||
/**
|
||||
* Send HTTP DELETE request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Axios configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
delete<Path extends DeleteRoutes['path'], Route extends DeleteRoutes & { path: Path, parts: Count<Path, '/'> }>(path: Path, params?: any, config?: AxiosRequestConfig): Promise<Route['response']>;
|
||||
|
||||
/**
|
||||
* Send HTTP DELETE request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
delete<Path extends (DeleteRoutes & { params: undefined })['path'], Route extends DeleteRoutes & { path: Path, parts: Count<Path, '/'> }>(path: Path, params?: any): Promise<Route['response']>;
|
||||
patch(path: any, params?: any, config?: RequestOptions): Promise<any> {
|
||||
// @ts-ignore-next-line
|
||||
return this.req("patch", path, params, config);
|
||||
}
|
||||
|
||||
delete(path: any, params?: any, config?: AxiosRequestConfig): Promise<any> {
|
||||
// @ts-ignore-next-line
|
||||
return this.req('delete', path, params, config);
|
||||
}
|
||||
/**
|
||||
* Send HTTP PUT request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Axios configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
put<
|
||||
Path extends PutRoutes["path"],
|
||||
Route extends PutRoutes & { path: Path; parts: Count<Path, "/"> }
|
||||
>(
|
||||
path: Path,
|
||||
params: Route["params"],
|
||||
config?: RequestOptions
|
||||
): Promise<Route["response"]>;
|
||||
|
||||
/**
|
||||
* Send HTTP POST request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Axios configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
post<Path extends PostRoutes['path'], Route extends PostRoutes & { path: Path, parts: Count<Path, '/'> }>(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise<Route['response']>;
|
||||
|
||||
/**
|
||||
* Send HTTP POST request.
|
||||
* @param path Path
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
post<Path extends (PostRoutes & { params: undefined })['path'], Route extends PostRoutes & { path: Path, parts: Count<Path, '/'> }>(path: Path): Promise<Route['response']>;
|
||||
/**
|
||||
* Send HTTP PUT request.
|
||||
* @param path Path
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
put<
|
||||
Path extends (PutRoutes & { params: undefined })["path"],
|
||||
Route extends PutRoutes & { path: Path; parts: Count<Path, "/"> }
|
||||
>(path: Path): Promise<Route["response"]>;
|
||||
|
||||
post(path: any, params?: any, config?: AxiosRequestConfig): Promise<any> {
|
||||
// @ts-ignore-next-line
|
||||
return this.req('post', path, params, config);
|
||||
}
|
||||
put(path: any, params?: any, config?: RequestOptions): Promise<any> {
|
||||
// @ts-ignore-next-line
|
||||
return this.req("put", path, params, config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send HTTP DELETE request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Axios configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
delete<
|
||||
Path extends DeleteRoutes["path"],
|
||||
Route extends DeleteRoutes & { path: Path; parts: Count<Path, "/"> }
|
||||
>(
|
||||
path: Path,
|
||||
params?: any,
|
||||
config?: RequestOptions
|
||||
): Promise<Route["response"]>;
|
||||
|
||||
/**
|
||||
* Send HTTP DELETE request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
delete<
|
||||
Path extends (DeleteRoutes & { params: undefined })["path"],
|
||||
Route extends DeleteRoutes & { path: Path; parts: Count<Path, "/"> }
|
||||
>(path: Path, params?: any): Promise<Route["response"]>;
|
||||
|
||||
delete(path: any, params?: any, config?: RequestOptions): Promise<any> {
|
||||
// @ts-ignore-next-line
|
||||
return this.req("delete", path, params, config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send HTTP POST request.
|
||||
* @param path Path
|
||||
* @param params Body or Query Parameters
|
||||
* @param config Axios configuration
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
post<
|
||||
Path extends PostRoutes["path"],
|
||||
Route extends PostRoutes & { path: Path; parts: Count<Path, "/"> }
|
||||
>(
|
||||
path: Path,
|
||||
params: Route["params"],
|
||||
config?: RequestOptions
|
||||
): Promise<Route["response"]>;
|
||||
|
||||
/**
|
||||
* Send HTTP POST request.
|
||||
* @param path Path
|
||||
* @returns Typed Response Data
|
||||
*/
|
||||
post<
|
||||
Path extends (PostRoutes & { params: undefined })["path"],
|
||||
Route extends PostRoutes & { path: Path; parts: Count<Path, "/"> }
|
||||
>(path: Path): Promise<Route["response"]>;
|
||||
|
||||
post(path: any, params?: any, config?: RequestOptions): Promise<any> {
|
||||
// @ts-ignore-next-line
|
||||
return this.req("post", path, params, config);
|
||||
}
|
||||
}
|
||||
|
||||
+19
-6
@@ -1278,7 +1278,10 @@ export interface components {
|
||||
nsfw?: boolean | null;
|
||||
/** @description Whether this channel is archived */
|
||||
archived?: boolean | null;
|
||||
/** @description Fields to remove from channel */
|
||||
/**
|
||||
* @description Fields to remove from channel
|
||||
* @default null
|
||||
*/
|
||||
remove?: components["schemas"]["FieldsChannel"][] | null;
|
||||
};
|
||||
/**
|
||||
@@ -1794,7 +1797,7 @@ export interface components {
|
||||
* @description Array of user IDs to add to the group
|
||||
*
|
||||
* Must be friends with these users.
|
||||
* @default
|
||||
* @default []
|
||||
*/
|
||||
users?: string[];
|
||||
/** @description Whether this group is age-restricted */
|
||||
@@ -1944,6 +1947,7 @@ export interface components {
|
||||
/**
|
||||
* Format: int64
|
||||
* @description Ranking of this role
|
||||
* @default 0
|
||||
*/
|
||||
rank?: number;
|
||||
};
|
||||
@@ -2281,14 +2285,20 @@ export interface components {
|
||||
name: string;
|
||||
/** @description Parent information */
|
||||
parent: components["schemas"]["EmojiParent"];
|
||||
/** @description Whether the emoji is mature */
|
||||
/**
|
||||
* @description Whether the emoji is mature
|
||||
* @default false
|
||||
*/
|
||||
nsfw?: boolean;
|
||||
};
|
||||
/** Report Data */
|
||||
DataReportContent: {
|
||||
/** @description Content being reported */
|
||||
content: components["schemas"]["ReportedContent"];
|
||||
/** @description Additional report description */
|
||||
/**
|
||||
* @description Additional report description
|
||||
* @default
|
||||
*/
|
||||
additional_context?: string;
|
||||
};
|
||||
/** @description The content being reported */
|
||||
@@ -2511,7 +2521,10 @@ export interface components {
|
||||
token: string;
|
||||
/** @description New password */
|
||||
password: string;
|
||||
/** @description Whether to logout all sessions */
|
||||
/**
|
||||
* @description Whether to logout all sessions
|
||||
* @default false
|
||||
*/
|
||||
remove_sessions?: boolean;
|
||||
};
|
||||
/** Reset Information */
|
||||
@@ -2660,7 +2673,7 @@ export interface components {
|
||||
permissions?: number | null;
|
||||
/**
|
||||
* @description Fields to remove from webhook
|
||||
* @default
|
||||
* @default []
|
||||
*/
|
||||
remove?: components["schemas"]["FieldsWebhook"][];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user