Skip to content

FluxbaseAdminStorage

Admin storage manager for bucket and object management

new FluxbaseAdminStorage(fetch): FluxbaseAdminStorage

ParameterType
fetchFluxbaseFetch

FluxbaseAdminStorage

createBucket(name): Promise<DataResponse<object>>

Create a new storage bucket

ParameterTypeDescription
namestringBucket name

Promise<DataResponse<object>>

Success message

const { error } = await admin.storage.createBucket('my-bucket');
if (!error) {
console.log('Bucket created');
}

createFolder(bucket, folderPath): Promise<VoidResponse>

Create a folder (empty object with directory content type)

ParameterTypeDescription
bucketstringBucket name
folderPathstringFolder path (should end with /)

Promise<VoidResponse>

const { error } = await admin.storage.createFolder('my-bucket', 'new-folder/');

deleteBucket(name): Promise<DataResponse<object>>

Delete a storage bucket

ParameterTypeDescription
namestringBucket name

Promise<DataResponse<object>>

Success message

const { error } = await admin.storage.deleteBucket('my-bucket');
if (!error) {
console.log('Bucket deleted');
}

deleteObject(bucket, key): Promise<VoidResponse>

Delete an object

ParameterTypeDescription
bucketstringBucket name
keystringObject key (path)

Promise<VoidResponse>

const { error } = await admin.storage.deleteObject('my-bucket', 'path/to/file.txt');
if (!error) {
console.log('Object deleted');
}

downloadObject(bucket, key): Promise<DataResponse<Blob>>

Download an object as a Blob

ParameterTypeDescription
bucketstringBucket name
keystringObject key (path)

Promise<DataResponse<Blob>>

Object data as Blob

const { data: blob } = await admin.storage.downloadObject('my-bucket', 'file.pdf');
if (blob) {
// Use the blob
const url = URL.createObjectURL(blob);
}

generateSignedUrl(bucket, key, expiresIn): Promise<DataResponse<SignedUrlResponse>>

Generate a signed URL for temporary access

ParameterTypeDescription
bucketstringBucket name
keystringObject key (path)
expiresInnumberExpiration time in seconds

Promise<DataResponse<SignedUrlResponse>>

Signed URL and expiration info

const { data } = await admin.storage.generateSignedUrl('my-bucket', 'file.pdf', 3600);
if (data) {
console.log(`Download at: ${data.url}`);
console.log(`Expires in: ${data.expires_in} seconds`);
}

getObjectMetadata(bucket, key): Promise<DataResponse<AdminStorageObject>>

Get object metadata

ParameterTypeDescription
bucketstringBucket name
keystringObject key (path)

Promise<DataResponse<AdminStorageObject>>

Object metadata

const { data } = await admin.storage.getObjectMetadata('my-bucket', 'path/to/file.txt');
if (data) {
console.log(`File size: ${data.size} bytes`);
}

listBuckets(): Promise<DataResponse<AdminListBucketsResponse>>

List all storage buckets

Promise<DataResponse<AdminListBucketsResponse>>

List of buckets

const { data, error } = await admin.storage.listBuckets();
if (data) {
console.log(`Found ${data.buckets.length} buckets`);
}

listObjects(bucket, prefix?, delimiter?): Promise<DataResponse<AdminListObjectsResponse>>

List objects in a bucket

ParameterTypeDescription
bucketstringBucket name
prefix?stringOptional path prefix to filter results
delimiter?stringOptional delimiter for hierarchical listing (usually ’/‘)

Promise<DataResponse<AdminListObjectsResponse>>

List of objects and prefixes (folders)

// List all objects in bucket
const { data } = await admin.storage.listObjects('my-bucket');
// List objects in a folder
const { data } = await admin.storage.listObjects('my-bucket', 'folder/', '/');