Skip to main content

buckets

Workspace API


Workspace API / services/storage/buckets

services/storage/buckets

Functions

generateBucketName()

generateBucketName(organizationId): string

Defined in: services/storage/buckets.ts:54

Generate a unique bucket name for an organization Format: {prefix}{organization_id}

In test environments (NODE_ENV=test), automatically uses 'coda-test-org-' prefix to distinguish test buckets from production buckets.

Parameters

organizationId

string

Returns

string


createOrganizationBucket()

createOrganizationBucket(organizationId, log): Promise<{ bucketName: string; }>

Defined in: services/storage/buckets.ts:66

Create a Spaces bucket for an organization with security best practices

Parameters

organizationId

string

log

Logger = logger

Returns

Promise<{ bucketName: string; }>


checkBucketExists()

checkBucketExists(bucketName): Promise<boolean>

Defined in: services/storage/buckets.ts:182

Check if a bucket exists

Parameters

bucketName

string

Returns

Promise<boolean>


deleteOrganizationBucket()

deleteOrganizationBucket(organizationId, log, deleteObjects): Promise<boolean>

Defined in: services/storage/buckets.ts:199

Delete an organization's Spaces bucket

Parameters

organizationId

string

log

Logger = logger

deleteObjects

boolean = true

Returns

Promise<boolean>


bucketExists()

bucketExists(organizationId, log): Promise<boolean>

Defined in: services/storage/buckets.ts:410

Check if a bucket exists for an organization

Parameters

organizationId

string

log

Logger = logger

Returns

Promise<boolean>


getBucketInfo()

getBucketInfo(organizationId, log): Promise<{ bucketName: string; exists: boolean; metadata?: any; } | null>

Defined in: services/storage/buckets.ts:434

Get bucket information for an organization

Parameters

organizationId

string

log

Logger = logger

Returns

Promise<{ bucketName: string; exists: boolean; metadata?: any; } | null>


listOrganizationBuckets()

listOrganizationBuckets(log): Promise<object[]>

Defined in: services/storage/buckets.ts:483

List all organization buckets (for admin purposes)

Parameters

log

Logger = logger

Returns

Promise<object[]>


cleanupOrphanedBuckets()

cleanupOrphanedBuckets(_existingOrganizationIds, log): Promise<{ cleaned: number; errors: string[]; }>

Defined in: services/storage/buckets.ts:508

Clean up orphaned buckets (buckets without corresponding organizations)

Parameters

_existingOrganizationIds

string[]

log

Logger = logger

Returns

Promise<{ cleaned: number; errors: string[]; }>


generateProjectFolderPath()

generateProjectFolderPath(_projectId): string

Defined in: services/storage/buckets.ts:539

Generate a folder path for a project Note: Projects are deferred to future feature. This function returns empty string as folders are now managed by users through the file management service.

Parameters

_projectId

string

Returns

string


createProjectFolder()

createProjectFolder(organizationId, projectId, log): Promise<{ success: boolean; folderPath?: string; error?: string; }>

Defined in: services/storage/buckets.ts:546

Create a folder in the organization's bucket for a project

Parameters

organizationId

string

projectId

string

log

Logger = logger

Returns

Promise<{ success: boolean; folderPath?: string; error?: string; }>


deleteProjectFolder()

deleteProjectFolder(organizationId, projectId, log): Promise<{ success: boolean; deletedFiles?: number; error?: string; }>

Defined in: services/storage/buckets.ts:568

Delete a project folder and all its contents

Parameters

organizationId

string

projectId

string

log

Logger = logger

Returns

Promise<{ success: boolean; deletedFiles?: number; error?: string; }>


projectFolderExists()

projectFolderExists(organizationId, projectId, log): Promise<boolean>

Defined in: services/storage/buckets.ts:590

Check if a project folder exists

Parameters

organizationId

string

projectId

string

log

Logger = logger

Returns

Promise<boolean>


getProjectFolderInfo()

getProjectFolderInfo(organizationId, projectId, log): Promise<{ exists: boolean; folderPath: string; fileCount: number; totalSize: number; files?: object[]; } | null>

Defined in: services/storage/buckets.ts:632

Get project folder information

Parameters

organizationId

string

projectId

string

log

Logger = logger

Returns

Promise<{ exists: boolean; folderPath: string; fileCount: number; totalSize: number; files?: object[]; } | null>


listProjectFolders()

listProjectFolders(organizationId, log): Promise<object[]>

Defined in: services/storage/buckets.ts:696

List all project folders in an organization

Parameters

organizationId

string

log

Logger = logger

Returns

Promise<object[]>


uploadFileToProject()

uploadFileToProject(organizationId, projectId, fileName, fileContent, contentType, log): Promise<{ success: boolean; fileUrl?: string; error?: string; }>

Defined in: services/storage/buckets.ts:748

Upload a file to a project folder

Parameters

organizationId

string

projectId

string

fileName

string

fileContent

string | Buffer<ArrayBufferLike>

contentType

string

log

Logger = logger

Returns

Promise<{ success: boolean; fileUrl?: string; error?: string; }>


downloadFileFromProject()

downloadFileFromProject(organizationId, projectId, fileName, log): Promise<{ success: boolean; content?: Buffer<ArrayBufferLike>; error?: string; }>

Defined in: services/storage/buckets.ts:804

Download a file from a project folder

Parameters

organizationId

string

projectId

string

fileName

string

log

Logger = logger

Returns

Promise<{ success: boolean; content?: Buffer<ArrayBufferLike>; error?: string; }>