@apillon/sdk
Version:
▶◀ Apillon SDK for NodeJS ▶◀
95 lines • 3.35 kB
TypeScript
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