File size: 980 Bytes
d47b053 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import { getSupabaseClient } from '../../database/client'
import { isStudioDatabaseReady } from '../../database/config'
import { createLogger } from '../../utils/logger'
import { createInMemoryStudioPersistence } from './in-memory-studio-persistence'
import { createSupabaseStudioPersistence } from './supabase-studio-persistence'
import type { StudioPersistence } from './studio-persistence'
const logger = createLogger('StudioPersistence')
export function createDefaultStudioPersistence(): StudioPersistence {
if (!isStudioDatabaseReady()) {
logger.info('Studio persistence provider: in-memory')
return createInMemoryStudioPersistence()
}
const client = getSupabaseClient()
if (!client) {
logger.warn('Studio DB requested but Supabase client is unavailable, falling back to in-memory persistence')
return createInMemoryStudioPersistence()
}
logger.info('Studio persistence provider: supabase')
return createSupabaseStudioPersistence(client)
}
|