UNPKG

tixte

Version:

A simple JS wrapper around the Tixte API with typings

134 lines (120 loc) 2.52 kB
declare module "tixte" { class Client { apiKey:string; constructor(apiKey: string); getAccountInfo(): Promise<AccountDetails | TixteError>; getDomains(): Promise<DomainResponse | TixteError>; getSize(): Promise<SizeResponse | TixteError>; uploadFile( buffer: Buffer, domain: string, options?: UploadOptions ): Promise<UploadFileResponse | TixteError>; updateFile( id: string, fileInfo: UpdateFileInfo ): Promise<UpdateFileResponse>; deleteFile(id: string): Promise<DeleteFileResponse | TixteError>; } } declare interface AccountDetails { success: boolean; data: { id: string; username: string; mfa_enabled: boolean; pro: boolean; beta: boolean; admin: boolean; staff: boolean; email: string; email_verified: boolean; phone?: string; avatar?: string; upload_region: string; last_login: string; }; } declare interface DomainResponse { success: boolean; data: { domains: [ { name: string; owner: string; uploads: number; } ]; }; } declare interface SizeResponse { success: boolean; data: { user: number; limit: number; premium_tier: number; }; } declare interface UploadOptions { extension: string; filename: string; private?: boolean; } declare interface UpdateFileInfo { name?: string; extension?: string; private?: boolean; } declare interface UploadFileResponse { success: boolean; size: number; data: { id: string; name: string; region: string; filename: string; extension: string; domain: string; type: number; permissions: [ { user: TixteUser; access_level: number; } ]; url: string; direct_url: string; deletion_url: string; message: string; }; } declare interface UpdateFileResponse { success: boolean; data: { asset_id: string; domain: string; extension: string; mimetype: string; name: string; size: number; uploaded_at: string; }; } declare interface DeleteFileResponse { success: boolean; data: { message: string; }; } declare interface TixteUser { id: string; username: string; avatar: string; } declare interface TixteError { success: boolean; error: { code: string; message: string; }; }