supa-seed
Version:
A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support
64 lines • 2.1 kB
TypeScript
/**
* Storage Integration Manager
* Handles Supabase Storage operations, file uploads, and media record management
*/
import type { createClient } from '@supabase/supabase-js';
import { StorageConfig, StorageBatchUploadResult, StoragePermissionCheck, StorageQuotaInfo, StorageIntegrationResult, GeneratedImage } from './storage-types';
type SupabaseClient = ReturnType<typeof createClient>;
export declare class StorageIntegrationManager {
private client;
private imageGenerator;
private config;
private uploadQueue;
constructor(client: SupabaseClient, config?: Partial<StorageConfig>);
/**
* Main method to seed storage files for a setup
*/
seedWithStorageFiles(setupId: string, accountId?: string, customConfig?: Partial<StorageConfig>): Promise<StorageIntegrationResult>;
/**
* Upload a single image to storage
*/
private uploadImageToStorage;
/**
* Check storage permissions and RLS policies
*/
checkStoragePermissions(bucketName: string): Promise<StoragePermissionCheck>;
/**
* Get RLS policies affecting storage
*/
private getRLSPolicies;
/**
* Get storage quota information
*/
getStorageQuota(bucketName: string): Promise<StorageQuotaInfo>;
/**
* Batch upload multiple files
*/
batchUpload(files: GeneratedImage[], setupId: string, accountId?: string, config?: Partial<StorageConfig>): Promise<StorageBatchUploadResult>;
/**
* Update configuration
*/
updateConfig(newConfig: Partial<StorageConfig>): void;
/**
* Get current configuration
*/
getConfig(): StorageConfig;
/**
* Get domain-specific configuration
*/
static getDomainConfig(domain: string): Partial<StorageConfig>;
/**
* Utility methods
*/
private getFileExtension;
private generateId;
private formatFileSize;
private calculateProjectedFullDate;
private chunkArray;
/**
* Clean up resources
*/
cleanup(): Promise<void>;
}
export {};
//# sourceMappingURL=storage-integration-manager.d.ts.map