UNPKG

wranglebot

Version:

open source media asset management

336 lines 13.6 kB
import User from "./accounts/User.js"; import { Volume } from "./drives/Volume.js"; import { Thumbnail } from "./library/Thumbnail.js"; import MetaLibrary from "./library/MetaLibrary.js"; import { MetaFile } from "./library/MetaFile.js"; import Task from "./media/Task.js"; import { MetaCopy } from "./library/MetaCopy.js"; import { TranscodeTask } from "./transcode/TranscodeTask.js"; import createTaskOptions from "./library/createTaskOptions.js"; import analyseMetaFileOptions from "./library/analyseMetaFileOptions.js"; import MetaLibraryOptions from "./library/MetaLibraryOptions.js"; import MetaLibraryUpdateOptions from "./library/MetaLibraryUpdateOptions.js"; import FolderOptions from "./library/FolderOptions.js"; import Transaction from "./database/Transaction.js"; import CancelToken from "./library/CancelToken.js"; import WrangleBotOptions from "./WrangleBotOptions.js"; import EventEmitter from "events"; import { config } from "./system/index.js"; import { DriveBot } from "./drives/DriveBot.js"; import { DB as Database } from "./database/DB.js"; interface ReturnObject { status: 200 | 400 | 500 | 404; message?: string; result?: any; } declare class WrangleBot extends EventEmitter { static OPEN: string; static CLOSED: string; pingInterval: any; ping: any; driveBot: DriveBot; accountManager: { users: Set<User>; salt: string; init(): Promise<void>; addOneUser(options: import("./accounts/createUserOptions.js").default): User; updateUserConfig(user: User, config: any): void; removeOneUser(user: any): boolean; getAllUsers(filters?: {}): User[]; getOneUser(username: any): User | undefined; addRole(user: User, role: any): boolean; setRoles(user: User, roles: any): boolean; removeRole(user: User, role: any): boolean; hasRole(user: User, roles: any): boolean; changePassword(user: User, password: any): any; changeEmail(user: User, email: any): any; changeFirstName(user: User, firstName: any): any; changeLastName(user: User, lastName: any): any; updateUser(user: User, options: any): any; allowAccess(user: any, library: any): boolean; revokeAccess(user: any, library: any): boolean; resetPassword(user: User): any; checkAuth(username: any, password: any): boolean; }; finder: { cryptr: import("cryptr"); supportedPlatforms: { darwin: string; linux: string; }; platform: NodeJS.Platform; pathToVolumes: string; isMac(): boolean; isLinux(): boolean; openInFinder(path: any, callback: any): void; getDisks(): Promise<any[]>; getMountPoint(pathToElement: any): string; getFolders(sourcePath: any, limit: any, index?: number): any; getPathToUserData(subPath?: string): string; access(pathToElement: any): boolean; isReachable(path: any): boolean; existsSync(pathToElement: any): boolean; exists(pathToElement: any): boolean; check(...elements: any[]): boolean; mkdirSync(pathToNewFolder: any, options?: {}): boolean; statSync(pathToElement: any): import("fs").Stats; lstatSync(pathToElement: any): import("fs").Stats; createReadStream(pathToElement: any, options: any): import("fs").ReadStream; createWriteStream(pathToElement: any, options?: {}): import("fs").WriteStream; readdirSync(pathToFolder: any): string[]; readFile(pathToElement: any): Promise<unknown>; writeFile(pathToNewElement: any, content: any, callback: any): void; writeFileSync(pathToElement: any, content: any, options?: undefined): any; save(fileName: any, content: any, encrypt?: boolean): boolean; saveAsync(fileName: any, content: any, encrypt?: boolean): Promise<unknown>; encrypt(data: any): string; decrypt(data: any): string; load(fileName: any, decrypt?: boolean): any; readFileSync(pathToElement: any): Buffer<ArrayBufferLike>; parseFileSync(pathToElement: any): any; rmSync(pathToElementToRemove: any): void; basename(pathToElement: any): string; label(pathToElement: any): string; extname(pathToElement: any): string; dirname(pathToElement: any): string; join(...paths: any[]): string; watch(pathToFolder: any, callback: any): import("fs").FSWatcher; checkDiskSpace(pathToDevice: any): Promise<unknown>; eject(pathToDevice: any, callback: any): void; getFileType(filename: any): "video" | "video-raw" | "audio" | "photo" | "sidecar"; getContentOfFolder(pathToFolder: any, options?: { showHidden: boolean; filters: "both" | "files" | "folders"; recursive: boolean; depth: Number; }): string[]; isDirectory(path: any): boolean; isDir(...elements: any[]): boolean; rename(pathToElement: any, newName: any): void; copy(pathToElement: any, newPath: any): void; move(pathToElement: any, newFolder: any): void; renameAndMove(pathToElement: any, newName: any, newFolder: any): boolean; getVolumePath(stringToParse: any): string; getVolumeName(pathToElement: any): any; }; ML: any; config: { appName: string; versionNumber: string; cryptr: import("cryptr"); pathToConfigFile: string; appDataLocation: string; config: any; build(appDataLocation?: string): void; getPathToUserData(): string; set(key: any, value: any, encrypt?: boolean): void; setConfig(key: any, value: any): void; get(key: any, decrypt?: boolean): any; getConfig(key: any): any; save(): void; }; status: string; index: { libraries: MetaLibrary[]; metaFiles: { [key: string]: MetaFile; }; metaCopies: { [key: string]: MetaCopy; }; copyTasks: { [key: string]: Task; }; transcodes: { [key: string]: TranscodeTask; }; }; private thirdPartyExtensions; private servers; db: Database | any; constructor(); open(options: WrangleBotOptions): Promise<this | null>; close(): Promise<string>; private startServer; $emit(event: string, ...args: any[]): Promise<boolean>; private runCustomScript; private loadExtensions; getAvailableLibraries(): any; private addOneLibrary; private removeOneLibrary; private getOneLibrary; private loadOneLibrary; private unloadOneLibrary; handleVolumeMount(volume: any): void; handleVolumeUnmount(volume: any): void; generateThumbnails(library: any, metaFiles: any, callback?: (progress: any) => void, finishCallback?: (success: any) => void): Promise<boolean>; private generateThumbnail; private getManyTransactions; removeFromRuntime(list: any, item: any): 1 | -1 | undefined; addToRuntime(list: any, item: any): 1 | 0 | -1; error(message: any): any; notify(title: any, message: any): void; get query(): { library: { many: (filters?: {}) => { fetch: () => Promise<MetaLibrary[]>; }; one: (libraryId: string) => { fetch(): MetaLibrary; put: (options: MetaLibraryUpdateOptions) => Boolean; delete: () => Boolean; scan: () => Promise<Task | false>; transactions: { one: (id: string) => { fetch: () => Transaction; }; many: (filter?: {}) => { fetch: () => Transaction[]; }; }; metafiles: { one: (metaFileId: string) => { fetch(): MetaFile; delete: () => Boolean; thumbnails: { one: (id: string) => { fetch: () => Thumbnail; }; many: (filters: any) => { fetch: () => Thumbnail[]; analyse: (options: any) => Promise<{ response: string; cost: number; }>; }; first: { fetch: () => Thumbnail; }; center: { fetch: () => Thumbnail; }; last: { fetch: () => Thumbnail; }; generate: () => Promise<Boolean>; }; metacopies: { one: (metaCopyId: any) => { fetch(): MetaCopy; delete: (options?: { deleteFile: boolean; }) => boolean; }; many: (filters?: {}) => { fetch: () => MetaCopy[]; }; post: (options: any) => Promise<MetaCopy>; }; metadata: { put: (options: any) => Boolean; }; analyse: (options: analyseMetaFileOptions) => Promise<{ response: Object; }>; }; many: (filters: any) => { fetch: () => MetaFile[]; export: { report: (options: any) => Promise<Boolean>; }; }; post: (metafile: MetaFile | Object | string) => Promise<MetaFile>; }; tasks: { one: (id: any) => { fetch(): Task; run: (callback: Function, cancelToken: CancelToken) => Promise<Task>; put: (options: any) => Promise<true | Error>; delete: () => Promise<true | undefined>; }; many: (filters?: {}) => { fetch(): Task[]; delete: () => Promise<unknown>; }; post: (options: { label: string; jobs: { source: string; destinations?: string[] | null; }[]; }) => Promise<Task>; generate: (options: createTaskOptions) => Promise<Task>; }; transcodes: { one: (id: any) => { fetch(): TranscodeTask; run: (callback: Function, cancelToken: CancelToken) => Promise<void>; delete: () => Boolean; }; many: () => { fetch(): TranscodeTask[]; }; post: (files: MetaFile[], options: any) => Promise<TranscodeTask>; }; folders: { put: (options: FolderOptions) => Promise<Boolean>; }; }; post: (options: MetaLibraryOptions) => Promise<MetaLibrary>; load: (name: string) => Promise<ReturnObject>; unload: (name: string) => { status: number; message: string; }; }; users: { one: (options: { id: string; }) => { fetch(): User; put: (options: any) => any; allow: (libraryName: string) => boolean; revoke: (libraryName: string) => boolean; reset: () => any; }; many: (filters?: {}) => { fetch: Function; }; post: (options: any) => Promise<User>; }; volumes: { one: (id: any) => { fetch(): Volume; eject: () => Promise<unknown>; }; many: () => { fetch(): Promise<Volume[]>; }; }; transactions: { one: (id: any) => void; many: (filter: any) => { fetch: () => Promise<any>; }; }; }; get utility(): { index: (pathToFolder: any, types: any) => Promise<import("./media/Index.js").default>; list: (pathToFolder: any, options: { showHidden: boolean; filters: "both" | "files" | "folders"; recursive: boolean; depth: Number; }) => string[]; uuid(): any; luts(): string[]; }; private applyTransaction; private applyTransactionUpdateOne; private applyTransactionInsertMany; private applyTransactionRemoveOne; } declare const wb: WrangleBot; export default wb; export { WrangleBot, config }; //# sourceMappingURL=WrangleBot.d.ts.map