koneksi-ts-sdk
Version:
A JS/TS SDK for interacting with Koneksi API services
119 lines (118 loc) • 2.63 kB
TypeScript
export interface FileData {
id: string;
content_type: string;
directory_id: string;
hash: string;
name: string;
size: number;
is_shared: boolean;
is_encrypted: boolean;
access: string;
recipients: any;
created_at: string;
updated_at: string;
}
export interface UploadFileResponse {
content_type: string;
directory_id: string;
file_id: string;
hash: string;
name: string;
size: number;
}
export interface UploadProgressCallback {
(progress: {
percentage: number;
elapsedTime: number;
}): void;
}
export interface UploadFileRequest {
file: File | Buffer | string;
directory_id?: string;
passphrase?: string;
onProgress?: UploadProgressCallback;
}
export interface UpdateFileRequest {
directory_id?: string;
name?: string;
is_shared?: boolean;
}
export interface FileResponse {
data: FileData | UploadFileResponse | null;
message: string;
meta: any;
status: string;
}
export interface FilesResponse {
data: FileData[];
message: string;
meta: any;
status: string;
}
export interface DownloadFileResponse {
success: boolean;
data?: Buffer;
message?: string;
}
export interface ReadFileRequest {
fileId: string;
includeChunks?: boolean;
}
export interface DownloadFileRequest {
fileId: string;
passphrase?: string;
}
export interface PublicDownloadFileRequest {
fileId: string;
passphrase?: string;
temporaryToken?: string;
shared?: {
access: "password";
value: string;
};
}
export interface RenameFileRequest {
fileId: string;
name: string;
}
export interface MoveFileRequest {
fileId: string;
directory_id: string;
}
export interface ReadFileAccessRequest {
fileId: string;
}
export interface ReadFileAccessResponse {
access: string;
is_encrypted: boolean;
id: string;
size: number;
}
export interface SetFileAccessRequest {
fileId: string;
access: "public" | "private" | "password" | "email";
value?: string | string[];
}
export interface GenerateTemporaryTokenRequest {
fileId: string;
expiresIn?: number;
}
export interface GenerateTemporaryTokenResponse {
duration: string;
file_key: string;
}
export interface GetPreviewLinkRequest {
fileId: string;
}
export interface GetPreviewLinkResponse {
previewUrl: string;
}
export interface CreateTemporaryLinkRequest {
fileId: string;
expiresIn?: number;
}
export interface CreateTemporaryLinkResponse {
temporaryPreviewUrl: string;
duration: string;
file_key: string;
}