import { drizzle } from 'drizzle-orm/libsql'
import * as schema from './schema'

let _db: ReturnType<typeof drizzle> | null = null

export function useDB() {
  if (_db) return _db

  let dbPath = 'data/music.db'

  // Convertir le chemin en URL file:// si ce n'est pas déjà une URL
  if (!dbPath.startsWith('file:') && !dbPath.startsWith('libsql:') && !dbPath.startsWith('http')) {
    // Si c'est un chemin relatif, le rendre absolu
    if (!dbPath.startsWith('/')) {
      dbPath = `file:${process.cwd()}/${dbPath}`
    } else {
      dbPath = `file:${dbPath}`
    }
  }

  console.log('🗄️  Connexion à la DB:', dbPath)

  _db = drizzle(dbPath, { schema })
  return _db
}

export { schema }
