UNPKG

js-databox

Version:

databox & metabox

53 lines (52 loc) 2.6 kB
import { HttpAgent } from "@dfinity/agent"; import { FileExt, FileLocation, Result_1, Result_10, Result_2, Result_3, Result_7, Result_9 } from "./did/databox_type"; import { Principal } from "@dfinity/principal"; import { changePlainFilePermissionArg, shareFileArg } from "../types"; export declare class DataBox { private readonly agent; private readonly DataBoxActor; constructor(canisterId: string, agent: HttpAgent); boxState(): Promise<Result_10>; cycleBalance(): Promise<Result_7>; put_plain_files(files: File[], is_private: boolean, key_arr?: string[], fileTypes?: string[]): Promise<string[]>; static FileRead(file: File | Blob): Promise<Uint8Array[]>; static encryptFileData(data: Uint8Array, publicKey: string): Promise<{ encData: Uint8Array; encryptedAesKey: string; }>; put_encrypt_files(files: File[], is_private: boolean, publicKey: string, key_arr?: string[]): Promise<string[]>; static getFile(decodeArr: any, length: number): Promise<Uint8Array>; private getData; get_plain_file(file_key: string): Promise<Blob>; get_encrypt_file(file_key: string, privatekey: string): Promise<Blob>; delete_box_plain_file(file_key: string): Promise<Result_1>; delete_box_encrypted_file(file_key: string): Promise<Result_1>; clear_box(): Promise<Result_1>; get_file_info(file_key: string): Promise<Result_2>; getVersion(): Promise<bigint>; get_all_files_info(): Promise<Result_9>; transferOwner(to: Principal): Promise<Result_1>; get_owner(): Promise<Principal>; setPlainFilePubOrPri(changePlainFilePermissionArg: changePlainFilePermissionArg): Promise<Result_1>; addPrivatePlainShare(shareFileArg: shareFileArg): Promise<Result_1>; removePrivatePlainShare(shareFileArg: shareFileArg): Promise<Result_1>; getShareFiles(): Promise<Result_3>; is_need_upgrade(): Promise<boolean>; is_enough_to_upload(total_size: number): Promise<boolean>; /** * * @param {FileLocation} fileLocation 文件位置 * @return {Result_7} 数据个数 */ getFileNums(fileLocation: FileLocation): Promise<Result_7>; /** * 分页get数据 * * @param {FileLocation} fileLocation 文件位置 * @param {number} onePageFileNums 每一页的数据大小 不能超过5000 * @param {number} pageIndex 取哪一页 * @example * getPageFiles({Plain:null},2,0) 取明文数据,每一页有两个数据,取第一页 */ getPageFiles(fileLocation: FileLocation, onePageFileNums: number, pageIndex: number): Promise<FileExt[]>; }