UNPKG

@book000/pixivts

Version:

pixiv Unofficial API Library for TypeScript

119 lines 3.71 kB
import { DataSource } from 'typeorm'; import { DBResponse } from './response-entity'; type HttpMethod = 'GET' | 'POST'; export interface AddResponseOptions { method: HttpMethod; endpoint: string; url: string | null; requestHeaders: string | null; requestBody: string | null; responseType: string; statusCode: number; responseHeaders: string | null; responseBody: string; } /** * レスポンスを保存するデータベースのオプション */ export interface ResponseDatabaseOptions { /** * ホスト名 (MySQL のみ) */ hostname?: string; /** * ポート (MySQL のみ) */ port?: string; /** * ユーザー名 (MySQL のみ) */ username?: string; /** * パスワード (MySQL のみ) */ password?: string; /** * データベース名 (MySQL のみ) */ database?: string; } export interface ResponseEndPoint { method: HttpMethod; endpoint: string; statusCode: number; } export type ResponseEndPointWithCount = ResponseEndPoint & { count: number; }; interface GetResponseRangeOptions { page?: number; limit?: number; } /** * レスポンスを保存するデータベース */ export declare class ResponseDatabase { private dataSource; constructor(options?: ResponseDatabaseOptions); /** * データソースを初期化する * * @returns 初期化に成功したかどうか */ init(): Promise<boolean>; /** * データソースをマイグレーションする */ migrate(): Promise<void>; /** * データソーススキーマを同期する */ sync(): Promise<void>; /** * レスポンスを追加する * * @param options レスポンスの追加オプション * @returns 追加されたレスポンス */ addResponse(options: AddResponseOptions): Promise<DBResponse | undefined>; /** * レスポンスを取得する。但し直近90日間のレスポンスのみ取得可能 * * @param endpoint エンドポイントの情報。指定しない場合はすべてのレスポンスを取得する * @param rangeOptions 取得するレスポンスの範囲 * * @returns レスポンスの配列 */ getResponses(endpoint?: ResponseEndPoint | ResponseEndPoint[], rangeOptions?: GetResponseRangeOptions): Promise<DBResponse[]>; /** * レスポンスの数を取得する。但し直近90日間のレスポンスのみ取得可能 * * @param endpoint エンドポイントの情報。指定しない場合はすべてのレスポンスを取得する * @returns レスポンスの数 */ getResponseCount(endpoint?: ResponseEndPoint | ResponseEndPoint[]): Promise<number>; /** * エンドポイントを取得する。但し直近90日間のレスポンスのみ取得可能 */ getEndpoints(): Promise<ResponseEndPointWithCount[]>; close(): Promise<void>; isInitialized(): boolean; /** * データソースを取得する * * @returns データソース */ getDataSource(): DataSource; /** * 環境変数で指定されたデータベースのポートをパースする。 * 数値にパースできない場合と1以上でない場合はエラーを投げる。 * undefinedの場合は、各データベースのデフォルトポートを使用する * * @param port データベースのポート * @returns パースされたポート */ private parsePort; static printDebug(text: string, error?: Error): void; } export {}; //# sourceMappingURL=index.d.ts.map