diff --git a/src/db/index.ts b/src/db/index.ts index 38ff7e9..83a1a93 100644 --- a/src/db/index.ts +++ b/src/db/index.ts @@ -1,27 +1,24 @@ -import { createClient } from "@libsql/client"; +import { createClient, type Config } from "@libsql/client"; import { drizzle } from "drizzle-orm/libsql"; import { config } from "../config"; import * as schema from "./schema"; +const { DATABASE_CONNECTION_TYPE } = config.env; -const options = (() => { - switch (config.env.DATABASE_CONNECTION_TYPE) { - case 'local' : return { - url: 'file:local.sqlite', - } - case 'remote' : return { - url: config.env.DATABASE_URL, - authToken: config.env.DATABASE_AUTH_TOKEN!, - } - case 'local-replica' : return { - url: 'file:local.sqlite', - syncUrl: config.env.DATABASE_URL, - authToken: config.env.DATABASE_AUTH_TOKEN!, - } - } -})() +const options = { + local: { url: "file:local.sqlite" }, + remote: { + url: config.env.DATABASE_URL, + authToken: config.env.DATABASE_AUTH_TOKEN!, + }, + "local-replica": { + url: "file:local.sqlite", + syncUrl: config.env.DATABASE_URL, + authToken: config.env.DATABASE_AUTH_TOKEN!, + }, +} satisfies Record; -export const client = createClient(options); +export const client = createClient(options[DATABASE_CONNECTION_TYPE]); await client.sync();