Class FilenSDK

FilenSDK

2/1/2024 - 2:45:02 AM

FilenSDK

Constructors

Properties

_locks: {
    auth: Lock;
    chatsWrite: Lock;
    driveWrite: Lock;
    intensive: Lock;
    notesWrite: Lock;
} = ...
axiosInstance: AxiosInstance
hmacKey: null | Buffer = null
socket: Socket = ...
utils: {
    chunkArray: <T>(array: T[], chunkSize: number) => T[][];
    clearTempDirectory: (param0: { tmpDir?: string }) => Promise<void>;
    convertTimestampToMs: (timestamp: number) => number;
    crypto: {
        bufferToHash: (
            param0: { algorithm: "sha512" | "sha256" | "md5"; buffer: Uint8Array },
        ) => Promise<string>;
        deriveKeyFromPassword: {
            (
                __namedParameters: DeriveKeyFromPasswordBase & { returnHex: false },
            ): Promise<Buffer>;
            (
                __namedParameters: DeriveKeyFromPasswordBase & { returnHex: true },
            ): Promise<string>;
        };
        derKeyToPem: (param0: { key: string }) => Promise<string>;
        generateEncryptionKey: (use: "file" | "metadata") => Promise<string>;
        generateKeyPair: () => Promise<{ privateKey: string; publicKey: string }>;
        generatePasswordAndMasterKeyBasedOnAuthVersion: (
            param0: {
                authVersion: AuthVersion;
                rawPassword: string;
                salt: string;
            },
        ) => Promise<{ derivedMasterKeys: string; derivedPassword: string }>;
        generatePrivateKeyHMAC: (privateKey: string) => Promise<Buffer>;
        generateRandomBytes: (length?: number) => Promise<Buffer>;
        generateRandomHexString: (length?: number) => Promise<string>;
        generateRandomString: (length?: number) => Promise<string>;
        generateSearchIndexHashes: (
            __namedParameters: { hmacKey: Buffer; input: string },
        ) => Promise<string[]>;
        hashFileName: (
            __namedParameters: {
                authVersion: AuthVersion;
                hmacKey?: Buffer;
                name: string;
            },
        ) => Promise<string>;
        hashFn: (param0: { input: string }) => Promise<string>;
        hashPassword: (param0: { password: string }) => Promise<string>;
        hashSearchIndex: (
            __namedParameters: { hmacKey: Buffer; name: string },
        ) => Promise<string>;
        importPBKDF2Key: (
            param0: { key: string; keyCache?: boolean; mode?: KeyUsage[] },
        ) => Promise<CryptoKey>;
        importPrivateKey: (
            param0: { keyCache?: boolean; mode?: KeyUsage[]; privateKey: string },
        ) => Promise<CryptoKey>;
        importPublicKey: (
            param0: { keyCache?: boolean; mode?: KeyUsage[]; publicKey: string },
        ) => Promise<CryptoKey>;
        importRawKey: (
            param0: {
                algorithm: "AES-GCM" | "AES-CBC";
                key: Buffer;
                keyCache?: boolean;
                mode?: KeyUsage[];
            },
        ) => Promise<CryptoKey>;
    };
    fastStringHash: (input: string) => string;
    getEveryPossibleDirectoryPath: (path: string) => string[];
    getRandomArbitrary: (min: number, max: number) => number;
    isValidDirectoryName: (name: string) => boolean;
    isValidFileName: (name: string) => boolean;
    isValidHexString: (str: string) => boolean;
    nameSplitter: (input: string) => string[];
    nodeStreamToBuffer: (stream: Readable) => Promise<Buffer>;
    normalizePath: (path: string) => string;
    parseURLParams: (param0: { url: string }) => Record<string, string>;
    progressiveSplit: (input: string) => string[];
    promiseAllChunked: <T>(
        promises: Promise<T>[],
        chunkSize?: number,
    ) => Promise<T[]>;
    replacePathStartWithFromAndTo: (
        path: string,
        from: string,
        to: string,
    ) => string;
    simpleDate: (timestamp: number) => string;
    sleep: (ms: number) => Promise<void>;
    streams: {
        append: (
            param0: { baseFile: string; inputFile: string },
        ) => Promise<number>;
        decodeBase64: (
            param0: { inputFile: string; outputFile: string },
        ) => Promise<string>;
        encodeBase64: (
            param0: { inputFile: string; outputFile: string },
        ) => Promise<string>;
    };
    Uint8ArrayConcat: (a1: Uint8Array, a2: Uint8Array) => Uint8Array;
    uuidv4: () => Promise<string>;
} = ...

Type declaration

  • chunkArray: <T>(array: T[], chunkSize: number) => T[][]
  • clearTempDirectory: (param0: { tmpDir?: string }) => Promise<void>
  • convertTimestampToMs: (timestamp: number) => number
  • crypto: {
        bufferToHash: (
            param0: { algorithm: "sha512" | "sha256" | "md5"; buffer: Uint8Array },
        ) => Promise<string>;
        deriveKeyFromPassword: {
            (
                __namedParameters: DeriveKeyFromPasswordBase & { returnHex: false },
            ): Promise<Buffer>;
            (
                __namedParameters: DeriveKeyFromPasswordBase & { returnHex: true },
            ): Promise<string>;
        };
        derKeyToPem: (param0: { key: string }) => Promise<string>;
        generateEncryptionKey: (use: "file" | "metadata") => Promise<string>;
        generateKeyPair: () => Promise<{ privateKey: string; publicKey: string }>;
        generatePasswordAndMasterKeyBasedOnAuthVersion: (
            param0: { authVersion: AuthVersion; rawPassword: string; salt: string },
        ) => Promise<{ derivedMasterKeys: string; derivedPassword: string }>;
        generatePrivateKeyHMAC: (privateKey: string) => Promise<Buffer>;
        generateRandomBytes: (length?: number) => Promise<Buffer>;
        generateRandomHexString: (length?: number) => Promise<string>;
        generateRandomString: (length?: number) => Promise<string>;
        generateSearchIndexHashes: (
            __namedParameters: { hmacKey: Buffer; input: string },
        ) => Promise<string[]>;
        hashFileName: (
            __namedParameters: {
                authVersion: AuthVersion;
                hmacKey?: Buffer;
                name: string;
            },
        ) => Promise<string>;
        hashFn: (param0: { input: string }) => Promise<string>;
        hashPassword: (param0: { password: string }) => Promise<string>;
        hashSearchIndex: (
            __namedParameters: { hmacKey: Buffer; name: string },
        ) => Promise<string>;
        importPBKDF2Key: (
            param0: { key: string; keyCache?: boolean; mode?: KeyUsage[] },
        ) => Promise<CryptoKey>;
        importPrivateKey: (
            param0: { keyCache?: boolean; mode?: KeyUsage[]; privateKey: string },
        ) => Promise<CryptoKey>;
        importPublicKey: (
            param0: { keyCache?: boolean; mode?: KeyUsage[]; publicKey: string },
        ) => Promise<CryptoKey>;
        importRawKey: (
            param0: {
                algorithm: "AES-GCM" | "AES-CBC";
                key: Buffer;
                keyCache?: boolean;
                mode?: KeyUsage[];
            },
        ) => Promise<CryptoKey>;
    }
    • bufferToHash: (
          param0: { algorithm: "sha512" | "sha256" | "md5"; buffer: Uint8Array },
      ) => Promise<string>
    • deriveKeyFromPassword: {
          (
              __namedParameters: DeriveKeyFromPasswordBase & { returnHex: false },
          ): Promise<Buffer>;
          (
              __namedParameters: DeriveKeyFromPasswordBase & { returnHex: true },
          ): Promise<string>;
      }
    • derKeyToPem: (param0: { key: string }) => Promise<string>
    • generateEncryptionKey: (use: "file" | "metadata") => Promise<string>
    • generateKeyPair: () => Promise<{ privateKey: string; publicKey: string }>
    • generatePasswordAndMasterKeyBasedOnAuthVersion: (
          param0: { authVersion: AuthVersion; rawPassword: string; salt: string },
      ) => Promise<{ derivedMasterKeys: string; derivedPassword: string }>
    • generatePrivateKeyHMAC: (privateKey: string) => Promise<Buffer>
    • generateRandomBytes: (length?: number) => Promise<Buffer>
    • generateRandomHexString: (length?: number) => Promise<string>
    • generateRandomString: (length?: number) => Promise<string>
    • generateSearchIndexHashes: (__namedParameters: { hmacKey: Buffer; input: string }) => Promise<string[]>
    • hashFileName: (
          __namedParameters: {
              authVersion: AuthVersion;
              hmacKey?: Buffer;
              name: string;
          },
      ) => Promise<string>
    • hashFn: (param0: { input: string }) => Promise<string>
    • hashPassword: (param0: { password: string }) => Promise<string>
    • hashSearchIndex: (__namedParameters: { hmacKey: Buffer; name: string }) => Promise<string>
    • importPBKDF2Key: (
          param0: { key: string; keyCache?: boolean; mode?: KeyUsage[] },
      ) => Promise<CryptoKey>
    • importPrivateKey: (
          param0: { keyCache?: boolean; mode?: KeyUsage[]; privateKey: string },
      ) => Promise<CryptoKey>
    • importPublicKey: (
          param0: { keyCache?: boolean; mode?: KeyUsage[]; publicKey: string },
      ) => Promise<CryptoKey>
    • importRawKey: (
          param0: {
              algorithm: "AES-GCM" | "AES-CBC";
              key: Buffer;
              keyCache?: boolean;
              mode?: KeyUsage[];
          },
      ) => Promise<CryptoKey>
  • fastStringHash: (input: string) => string
  • getEveryPossibleDirectoryPath: (path: string) => string[]
  • getRandomArbitrary: (min: number, max: number) => number
  • isValidDirectoryName: (name: string) => boolean
  • isValidFileName: (name: string) => boolean
  • isValidHexString: (str: string) => boolean
  • nameSplitter: (input: string) => string[]
  • nodeStreamToBuffer: (stream: Readable) => Promise<Buffer>
  • normalizePath: (path: string) => string
  • parseURLParams: (param0: { url: string }) => Record<string, string>
  • progressiveSplit: (input: string) => string[]
  • promiseAllChunked: <T>(promises: Promise<T>[], chunkSize?: number) => Promise<T[]>
  • replacePathStartWithFromAndTo: (path: string, from: string, to: string) => string
  • simpleDate: (timestamp: number) => string
  • sleep: (ms: number) => Promise<void>
  • streams: {
        append: (
            param0: { baseFile: string; inputFile: string },
        ) => Promise<number>;
        decodeBase64: (
            param0: { inputFile: string; outputFile: string },
        ) => Promise<string>;
        encodeBase64: (
            param0: { inputFile: string; outputFile: string },
        ) => Promise<string>;
    }
    • append: (param0: { baseFile: string; inputFile: string }) => Promise<number>
    • decodeBase64: (param0: { inputFile: string; outputFile: string }) => Promise<string>
    • encodeBase64: (param0: { inputFile: string; outputFile: string }) => Promise<string>
  • Uint8ArrayConcat: (a1: Uint8Array, a2: Uint8Array) => Uint8Array
  • uuidv4: () => Promise<string>
workers: null | SDKWorker[]

Methods

  • Parameters

    • version: number

    Returns {
        auth: () => {
            info: (...params: [{ email: string }]) => Promise<AuthInfoResponse>;
        };
        chat: () => {
            conversations: (...params: []) => Promise<ChatConversation[]>;
            conversationsCreate: (
                ...params: [{ metadata: string; ownerMetadata: string; uuid: string }],
            ) => Promise<void>;
            conversationsDelete: (...params: [{ uuid: string }]) => Promise<void>;
            conversationsLeave: (...params: [{ uuid: string }]) => Promise<void>;
            conversationsName: () => {
                edit: (...params: [{ name: string; uuid: string }]) => Promise<void>;
            };
            conversationsOnline: (
                ...params: [{ conversation: string }],
            ) => Promise<ChatConversationsOnlineResponse>;
            conversationsParticipants: () => {
                add: (
                    ...params: [{ contactUUID: string; metadata: string; uuid: string }],
                ) => Promise<void>;
                remove: (...params: [{ userId: number; uuid: string }]) => Promise<void>;
            };
            conversationsRead: (...params: [{ uuid: string }]) => Promise<void>;
            conversationsUnread: (
                ...params: [{ uuid: string }],
            ) => Promise<ChatConversationsUnreadResponse>;
            delete: (...params: [{ uuid: string }]) => Promise<void>;
            edit: (
                ...params: [{ conversation: string; message: string; uuid: string }],
            ) => Promise<void>;
            lastFocus: (...params: []) => Promise<ChatLastFocusValues[]>;
            lastFocusUpdate: (
                ...params: [{ conversations: ChatLastFocusValues[] }],
            ) => Promise<void>;
            message: () => {
                embed: () => {
                    disable: (...params: [{ uuid: string }]) => Promise<void>;
                };
            };
            messages: (
                ...params: [{ conversation: string; timestamp: number }],
            ) => Promise<ChatMessage[]>;
            send: (
                ...params: [
                    {
                        conversation: string;
                        message: string;
                        replyTo: string;
                        uuid: string;
                    },
                ],
            ) => Promise<void>;
            typing: (
                ...params: [{ conversation: string; type: ChatTypingType }],
            ) => Promise<void>;
            unread: (...params: []) => Promise<ChatUnreadResponse>;
        };
        confirmationSend: (...params: [{ email: string }]) => Promise<void>;
        contacts: () => {
            all: (...params: []) => Promise<ContactsResponse>;
            blocked: (...params: []) => Promise<ContactsBlockedResponse>;
            blockedAdd: (...params: [{ email: string }]) => Promise<void>;
            blockedDelete: (...params: [{ uuid: string }]) => Promise<void>;
            delete: (...params: [{ uuid: string }]) => Promise<void>;
            requestsAccept: (...params: [{ uuid: string }]) => Promise<void>;
            requestsDeny: (...params: [{ uuid: string }]) => Promise<void>;
            requestsIn: (...params: []) => Promise<ContactsRequestsInResponse>;
            requestsInCount: (...params: []) => Promise<number>;
            requestsOut: (...params: []) => Promise<ContactsRequestsOutResponse>;
            requestsOutDelete: (...params: [{ uuid: string }]) => Promise<void>;
            requestsSend: (...params: [{ email: string }]) => Promise<void>;
        };
        dir: () => {
            color: (...params: [{ color: string; uuid: string }]) => Promise<void>;
            content: (
                ...params: [{ dirsOnly?: boolean; uuid: string }],
            ) => Promise<DirContentResponse>;
            create: (
                ...params: [
                    {
                        metadataEncrypted: string;
                        nameHashed: string;
                        parent: string;
                        uuid?: string;
                    },
                ],
            ) => Promise<DirCreateResponse>;
            delete: () => {
                permanent: (...params: [{ uuid: string }]) => Promise<void>;
            };
            download: (
                ...params: [
                    {
                        linkHasPassword?: boolean;
                        linkPassword?: string;
                        linkSalt?: string;
                        linkUUID?: string;
                        skipCache?: boolean;
                        type?: DirDownloadType;
                        uuid: string;
                    },
                ],
            ) => Promise<DirDownloadResponse>;
            exists: (
                ...params: [{ nameHashed: string; parent: string }],
            ) => Promise<DirExistsResponse>;
            get: (...params: [{ uuid: string }]) => Promise<DirGetResponse>;
            link: () => {
                add: (
                    ...params: [
                        {
                            expiration: string;
                            key: string;
                            linkUUID: string;
                            metadata: string;
                            parent: string;
                            type: string;
                            uuid: string;
                        },
                    ],
                ) => Promise<void>;
                content: (
                    ...params: [{ parent: string; password: string; uuid: string }],
                ) => Promise<DirLinkContentResponse>;
                edit: (
                    ...params: [
                        {
                            downloadBtn: boolean;
                            expiration: PublicLinkExpiration;
                            password: string;
                            passwordHashed: string;
                            salt: string;
                            uuid: string;
                        },
                    ],
                ) => Promise<void>;
                info: (...params: [{ uuid: string }]) => Promise<DirLinkInfoResponse>;
                remove: (...params: [{ uuid: string }]) => Promise<void>;
                status: (...params: [{ uuid: string }]) => Promise<DirLinkStatusResponse>;
            };
            linked: (...params: [{ uuid: string }]) => Promise<DirLinkedResponse>;
            metadata: (
                ...params: [
                    { metadataEncrypted: string; nameHashed: string; uuid: string },
                ],
            ) => Promise<void>;
            move: (...params: [{ to: string; uuid: string }]) => Promise<void>;
            present: (...params: [{ uuid: string }]) => Promise<DirPresentResponse>;
            rename: (
                ...params: [
                    { metadataEncrypted: string; nameHashed: string; uuid: string },
                ],
            ) => Promise<void>;
            restore: (...params: [{ uuid: string }]) => Promise<void>;
            shared: (...params: [{ uuid: string }]) => Promise<DirSharedResponse>;
            size: (
                ...params: [
                    {
                        receiverId?: number;
                        sharerId?: number;
                        trash?: boolean;
                        uuid: string;
                    },
                ],
            ) => Promise<DirSizeResponse>;
            sizeLink: (
                ...params: [{ linkUUID: string; uuid: string }],
            ) => Promise<DirSizeLinkResponse>;
            trash: (...params: [{ uuid: string }]) => Promise<void>;
            tree: (
                ...params: [
                    {
                        deviceId: string;
                        includeRaw?: boolean;
                        skipCache?: boolean;
                        uuid: string;
                    },
                ],
            ) => Promise<DirTreeResponse>;
        };
        file: () => {
            delete: () => {
                permanent: (...params: [{ uuid: string }]) => Promise<void>;
            };
            download: () => {
                chunk: () => {
                    buffer: (
                        ...params: [
                            {
                                abortSignal?: (...)
                                | (...);
                                bucket: string;
                                chunk: number;
                                onProgress?: (...) | (...);
                                onProgressId?: (...) | (...);
                                region: string;
                                timeout?: (...) | (...);
                                uuid: string;
                            },
                        ],
                    ) => Promise<Buffer>;
                    local: (
                        ...params: [
                            {
                                abortSignal?: (...)
                                | (...);
                                bucket: string;
                                chunk: number;
                                onProgress?: (...) | (...);
                                onProgressId?: (...) | (...);
                                region: string;
                                timeout?: (...) | (...);
                                to: string;
                                uuid: string;
                            },
                        ],
                    ) => Promise<void>;
                    stream: (
                        ...params: [
                            {
                                abortSignal?: (...)
                                | (...);
                                bucket: string;
                                chunk: number;
                                onProgress?: (...) | (...);
                                onProgressId?: (...) | (...);
                                region: string;
                                timeout?: (...) | (...);
                                uuid: string;
                            },
                        ],
                    ) => Promise<ReadableStream<(...)> | ReadStream>;
                };
            };
            exists: (
                ...params: [{ nameHashed: string; parent: string }],
            ) => Promise<FileExistsResponse>;
            get: (...params: [{ uuid: string }]) => Promise<FileGetResponse>;
            link: () => {
                edit: (
                    ...params: [
                        {
                            downloadBtn: boolean;
                            expiration: PublicLinkExpiration;
                            fileUUID: string;
                            password: string;
                            passwordHashed: string;
                            salt: string;
                            type: "enable"
                            | "disable";
                            uuid: string;
                        },
                    ],
                ) => Promise<void>;
                info: (
                    ...params: [{ password: string; uuid: string }],
                ) => Promise<FileLinkInfoResponse>;
                password: (
                    ...params: [{ uuid: string }],
                ) => Promise<FileLinkPasswordResponse>;
                status: (
                    ...params: [{ uuid: string }],
                ) => Promise<FileLinkStatusResponse>;
            };
            metadata: (
                ...params: [
                    {
                        metadataEncrypted: string;
                        nameEncrypted: string;
                        nameHashed: string;
                        uuid: string;
                    },
                ],
            ) => Promise<void>;
            move: (...params: [{ to: string; uuid: string }]) => Promise<void>;
            present: (...params: [{ uuid: string }]) => Promise<FilePresentResponse>;
            rename: (
                ...params: [
                    {
                        metadataEncrypted: string;
                        nameEncrypted: string;
                        nameHashed: string;
                        uuid: string;
                    },
                ],
            ) => Promise<void>;
            restore: (...params: [{ uuid: string }]) => Promise<void>;
            trash: (...params: [{ uuid: string }]) => Promise<void>;
            upload: () => {
                chunk: () => {
                    buffer: (
                        ...params: [
                            {
                                abortSignal?: (...)
                                | (...);
                                buffer: Buffer;
                                index: number;
                                maxRetries?: (...) | (...);
                                onProgress?: (...) | (...);
                                onProgressId?: (...) | (...);
                                parent: string;
                                retryTimeout?: (...) | (...);
                                timeout?: (...) | (...);
                                uploadKey: string;
                                uuid: string;
                            },
                        ],
                    ) => Promise<UploadChunkResponse>;
                };
            };
            version: () => {
                restore: (
                    ...params: [{ currentUUID: string; uuid: string }],
                ) => Promise<void>;
            };
            versions: (...params: [{ uuid: string }]) => Promise<FileVersionsResponse>;
        };
        health: () => Promise<"OK">;
        item: () => {
            favorite: (
                ...params: [
                    { favorite: boolean; type: "file"
                    | "folder"; uuid: string },
                ],
            ) => Promise<void>;
            linked: (...params: [{ uuid: string }]) => Promise<ItemLinkedResponse>;
            linkedRename: (
                ...params: [{ linkUUID: string; metadata: string; uuid: string }],
            ) => Promise<void>;
            share: (
                ...params: [
                    {
                        email: string;
                        metadata: string;
                        parent: string;
                        type: "file"
                        | "folder";
                        uuid: string;
                    },
                ],
            ) => Promise<void>;
            shared: (...params: [{ uuid: string }]) => Promise<ItemSharedResponse>;
            sharedIn: () => {
                remove: (...params: [{ uuid: string }]) => Promise<void>;
            };
            sharedOut: () => {
                remove: (
                    ...params: [{ receiverId: number; uuid: string }],
                ) => Promise<void>;
            };
            sharedRename: (
                ...params: [{ metadata: string; receiverId: number; uuid: string }],
            ) => Promise<void>;
        };
        login: (
            ...params: [
                {
                    authVersion: AuthVersion;
                    email: string;
                    password: string;
                    twoFactorCode?: string;
                },
            ],
        ) => Promise<LoginResponse>;
        notes: () => {
            all: (...params: []) => Promise<NotesResponse>;
            archive: (...params: [{ uuid: string }]) => Promise<void>;
            content: (...params: [{ uuid: string }]) => Promise<NoteContent>;
            contentEdit: (
                ...params: [
                    { content: string; preview: string; type: NoteType; uuid: string },
                ],
            ) => Promise<void>;
            create: (
                ...params: [{ metadata: string; title: string; uuid: string }],
            ) => Promise<void>;
            delete: (...params: [{ uuid: string }]) => Promise<void>;
            favorite: (
                ...params: [{ favorite: boolean; uuid: string }],
            ) => Promise<void>;
            history: (...params: [{ uuid: string }]) => Promise<NotesHistoryResponse>;
            historyRestore: (
                ...params: [{ id: number; uuid: string }],
            ) => Promise<void>;
            participantsAdd: (
                ...params: [
                    {
                        contactUUID: string;
                        metadata: string;
                        permissionsWrite: boolean;
                        uuid: string;
                    },
                ],
            ) => Promise<void>;
            participantsPermissions: (
                ...params: [
                    { permissionsWrite: boolean; userId: number; uuid: string },
                ],
            ) => Promise<void>;
            participantsRemove: (
                ...params: [{ userId: number; uuid: string }],
            ) => Promise<void>;
            pinned: (...params: [{ pinned: boolean; uuid: string }]) => Promise<void>;
            restore: (...params: [{ uuid: string }]) => Promise<void>;
            tag: (...params: [{ tag: string; uuid: string }]) => Promise<void>;
            tags: (...params: []) => Promise<NotesTagsResponse>;
            tagsCreate: (
                ...params: [{ name: string }],
            ) => Promise<NotesTagsCreateResponse>;
            tagsDelete: (...params: [{ uuid: string }]) => Promise<void>;
            tagsFavorite: (
                ...params: [{ favorite: boolean; uuid: string }],
            ) => Promise<void>;
            tagsRename: (...params: [{ name: string; uuid: string }]) => Promise<void>;
            titleEdit: (...params: [{ title: string; uuid: string }]) => Promise<void>;
            trash: (...params: [{ uuid: string }]) => Promise<void>;
            typeChange: (
                ...params: [
                    { content: string; preview: string; type: NoteType; uuid: string },
                ],
            ) => Promise<void>;
            untag: (...params: [{ tag: string; uuid: string }]) => Promise<void>;
        };
        register: (
            ...params: [
                {
                    affId?: string;
                    authVersion: AuthVersion;
                    email: string;
                    password: string;
                    refId?: string;
                    salt: string;
                },
            ],
        ) => Promise<void>;
        search: () => {
            add: (
                ...params: [{ items: SearchAddItem[] }],
            ) => Promise<SearchAddResponse>;
            find: (...params: [{ hashes: string[] }]) => Promise<SearchFindResponse>;
        };
        shared: () => {
            in: (
                ...params: [params?: { uuid?: string }],
            ) => Promise<SharedInResponse>;
            out: (
                ...params: [params?: { receiverId?: number; uuid?: string }],
            ) => Promise<SharedOutResponse>;
        };
        trash: () => { empty: (...params: []) => Promise<void> };
        upload: () => {
            done: (
                ...params: [
                    {
                        chunks: number;
                        metadata: string;
                        mime: string;
                        name: string;
                        nameHashed: string;
                        rm: string;
                        size: string;
                        uploadKey: string;
                        uuid: string;
                        version: FileEncryptionVersion;
                    },
                ],
            ) => Promise<UploadDoneResponse>;
            empty: (
                ...params: [
                    {
                        metadata: string;
                        mime: string;
                        name: string;
                        nameHashed: string;
                        parent: string;
                        size: string;
                        uuid: string;
                        version: FileEncryptionVersion;
                    },
                ],
            ) => Promise<UploadEmptyResponse>;
        };
        user: () => {
            account: (...params: []) => Promise<UserAccountResponse>;
            affiliate: () => {
                payout: (
                    ...params: [{ address: string; method: string }],
                ) => Promise<void>;
            };
            appearOffline: (...params: [{ appearOffline: boolean }]) => Promise<void>;
            avatar: (...params: [{ base64: string; hash: string }]) => Promise<void>;
            baseFolder: (
                ...params: [{ apiKey?: string }],
            ) => Promise<UserBaseFolderResponse>;
            delete: (...params: [{ twoFactorCode?: string }]) => Promise<void>;
            deleteAll: (...params: []) => Promise<void>;
            deleteVersions: (...params: []) => Promise<void>;
            didExportMasterKeys: (...params: []) => Promise<void>;
            event: (...params: [{ uuid: string }]) => Promise<UserEvent>;
            events: (
                ...params: [{ filter: string; lastTimestamp: number }],
            ) => Promise<UserEvent[]>;
            gdpr: (...params: []) => Promise<UserGDPRResponse>;
            getDEK: (
                ...params: [params?: { apiKey?: string }],
            ) => Promise<UserGetDEKResponse>;
            info: (...params: [{ apiKey?: string }]) => Promise<UserInfoResponse>;
            invoice: (...params: [{ uuid: string }]) => Promise<string>;
            keyPair: () => {
                info: (
                    ...params: [{ apiKey?: string }],
                ) => Promise<UserKeyPairInfoResponse>;
                set: (
                    ...params: [
                        { apiKey?: string; encryptedPrivateKey: string; publicKey: string },
                    ],
                ) => Promise<void>;
                update: (
                    ...params: [
                        { apiKey?: string; encryptedPrivateKey: string; publicKey: string },
                    ],
                ) => Promise<void>;
            };
            lastActive: () => {
                desktop: (...params: [{ timestamp: number }]) => Promise<void>;
            };
            lock: (
                ...params: [
                    {
                        resource: string;
                        type: "acquire"
                        | "refresh"
                        | "status"
                        | "release";
                        uuid: string;
                    },
                ],
            ) => Promise<UserLockResponse>;
            loginAlerts: (...params: [{ enable: boolean }]) => Promise<void>;
            masterKeys: (
                ...params: [{ apiKey?: string; encryptedMasterKeys: string }],
            ) => Promise<UserMasterKeysResponse>;
            nickname: (...params: [{ nickname: string }]) => Promise<void>;
            password: () => {
                forgot: (...params: [{ email: string }]) => Promise<void>;
                forgotReset: (
                    ...params: [
                        {
                            authVersion: number;
                            hasRecoveryKeys: boolean;
                            newMasterKeys: string;
                            password: string;
                            salt: string;
                            token: string;
                        },
                    ],
                ) => Promise<void>;
            };
            personal: () => {
                change: (
                    ...params: [
                        {
                            city: string;
                            companyName: string;
                            country: string;
                            firstName: string;
                            lastName: string;
                            postalCode: string;
                            street: string;
                            streetNumber: string;
                            vatId: string;
                        },
                    ],
                ) => Promise<void>;
            };
            profile: (...params: [{ id: number }]) => Promise<UserProfileResponse>;
            publicKey: (
                ...params: [{ email: string }],
            ) => Promise<UserPublicKeyResponse>;
            setDEK: (
                ...params: [{ apiKey?: string; encryptedDEK: string }],
            ) => Promise<void>;
            settings: (...params: []) => Promise<UserSettingsResponse>;
            settingsEmail: () => {
                change: (
                    ...params: [
                        { authVersion: AuthVersion; email: string; password: string },
                    ],
                ) => Promise<void>;
            };
            settingsPassword: () => {
                change: (
                    ...params: [
                        {
                            authVersion: AuthVersion;
                            currentPassword: string;
                            masterKeys: string;
                            password: string;
                            salt: string;
                        },
                    ],
                ) => Promise<UserSettingsPasswordChangeResponse>;
            };
            sub: () => {
                cancel: (...params: [{ uuid: string }]) => Promise<void>;
                create: (
                    ...params: [{ method: PaymentMethods; planId: number }],
                ) => Promise<UserSubCreateResponse>;
            };
            twoFactorAuthentication: () => {
                disable: (...params: [{ code: string }]) => Promise<void>;
                enable: (...params: [{ code: string }]) => Promise<User2FAEnableResponse>;
            };
            versioning: (...params: [{ enable: boolean }]) => Promise<void>;
        };
    }

  • Clear the temporary directory. Only available in a Node.JS environment.

    Returns Promise<void>

    2/17/2024 - 1:51:39 AM

  • Authenticate.

    Parameters

    • param0: { email?: string; password?: string; twoFactorCode?: string }

    Returns Promise<void>

    2/20/2024 - 7:24:10 AM

  • Logout.

    Returns void

    2/9/2024 - 5:48:28 AM

MMNEPVFCICPMFPCPTTAAATR