OSSecureFileWrapper/index.d.ts
2018-06-14 16:42:30 +02:00

60 lines
1.6 KiB
TypeScript

/// <reference types="node" />
import "isomorphic-fetch";
export interface File {
_id: string;
type: "binary" | "text";
name: string;
time: string;
preview: string;
version: string;
}
export interface History {
file: File;
history: File[];
}
export default class SecureFile {
private Server;
private Username;
private PrivateKey;
private jwt_enabled;
private JWT;
constructor(server: string, username: string, private_key: string, jwt?: boolean);
private getCode();
private getJWT();
makeRequest(endpoint: string, method: "POST" | "GET" | "PUT" | "DELETE", query: any, body?: Buffer, jwt?: boolean): any;
test(): Promise<{
user: string;
test: true;
}>;
list(folder?: string): Promise<File[]>;
create(name: string, data: Buffer, type: "text" | "binary", folder?: string, preview?: Buffer): Promise<File>;
get(id: string, version?: string): Promise<Buffer>;
update(id: string, data: Buffer, preview?: Buffer): Promise<File>;
delete(id: string): Promise<boolean>;
history(id: string): Promise<History>;
}
export declare class NoConnection extends Error {
type: string;
constructor();
}
export declare class Unauthorized extends Error {
type: string;
constructor();
}
export declare class NoPermission extends Error {
type: string;
constructor();
}
export declare class InvalidJWT extends Error {
type: string;
constructor();
}
export declare class NotFound extends Error {
type: string;
constructor();
}
export declare class BadRequest extends Error {
type: string;
constructor();
}