UNPKG

@apillon/sdk

Version:

▶◀ Apillon SDK for NodeJS ▶◀

95 lines 3.35 kB
import { Directory } from './directory'; import { FileMetadata, FileUploadResult, IBucketFilesRequest, ICreateIpns, IFileUploadRequest, IPNSListRequest, IStorageBucketContentRequest } from '../../types/storage'; import { File } from './file'; import { IApillonList } from '../../types/apillon'; import { ApillonModel } from '../../lib/apillon'; import { Ipns } from './ipns'; export declare class StorageBucket extends ApillonModel { /** * Name of the bucket. */ name: string; /** * Bucket description. */ description: string; /** * Size of the bucket in bytes. */ size: number; /** * Type of bucket (storage, hosting or NFT metadata) */ bucketType: number; /** * Bucket content which are files and directories. */ content: (File | Directory)[]; /** * Constructor which should only be called via Storage class. * @param uuid Unique identifier of the bucket. * @param data Data to populate storage bucket with. */ constructor(uuid: string, data?: Partial<StorageBucket>); /** * Gets contents of a bucket. * @returns A a list of File and Directory objects. */ listObjects(params?: IStorageBucketContentRequest): Promise<IApillonList<File | Directory>>; /** * Gets all files in a bucket. * @param {?IBucketFilesRequest} [params] - query filter parameters * @returns List of files in the bucket */ listFiles(params?: IBucketFilesRequest): Promise<IApillonList<File>>; /** * Uploads files inside a local folder via path. * @param folderPath Path to the folder to upload. * @param {IFileUploadRequest} params - Optional parameters to be used for uploading files * @returns List of uploaded files with their properties */ uploadFromFolder(folderPath: string, params?: IFileUploadRequest): Promise<FileUploadResult[]>; /** * Uploads files to the bucket. * @param {FileMetadata[]} files - The files to be uploaded * @param {IFileUploadRequest} params - Optional parameters to be used for uploading files */ uploadFiles(files: FileMetadata[], params?: IFileUploadRequest): Promise<FileUploadResult[]>; /** * Gets file instance. * @param fileUuid UUID of the file. * @returns File instance. */ file(fileUuid: string): File; /** * Gets a directory instance. * @param directoryUuid UUID of the directory. * @returns Directory instance. */ directory(directoryUuid: string): Directory; private resolveFileCIDs; private getUploadedFiles; /** * Gets an IPNS record instance. * @param ipnsUuid UUID of the IPNS record. * @returns Ipns instance. */ ipns(ipnsUuid: string): Ipns; /** * List all IPNS records for this bucket * @param {IPNSListRequest?} [params] - Listing query filters * @returns List of IPNS names in the bucket */ listIpnsNames(params?: IPNSListRequest): Promise<{ items: Ipns[]; total: number; }>; /** * Create a new IPNS record for this bucket * @param {ICreateIpns} body * @returns New IPNS instance */ createIpns(body: ICreateIpns): Promise<Ipns>; protected serializeFilter(key: string, value: any): any; } //# sourceMappingURL=storage-bucket.d.ts.map