Merge pull request #1 from jesse-holden/main

chore: refactor + add typesafety to libsql client options map
main
Ethan Niser 2023-09-28 21:55:22 -05:00 committed by GitHub
commit e1a8545f70
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 18 deletions

@ -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<typeof DATABASE_CONNECTION_TYPE, Config>;
export const client = createClient(options);
export const client = createClient(options[DATABASE_CONNECTION_TYPE]);
await client.sync();