mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-08-29 06:15:39 -04:00
Move `ensureImageDirs` outside the production-only block so the local image cache directories are created in dev mode too. Update `extractAndStoreColors` to download the poster if it isn't cached yet instead of falling back to a direct TMDB CDN URL, keeping color extraction consistent with the server-side image routing approach. Add `/data` to `.gitignore` to avoid committing the local cache directory.
25 lines
777 B
TypeScript
25 lines
777 B
TypeScript
import { createClient } from "@libsql/client";
|
|
import { drizzle } from "drizzle-orm/libsql";
|
|
import * as schema from "./schema";
|
|
|
|
const globalForDb = globalThis as unknown as {
|
|
_db: ReturnType<typeof drizzle> | undefined;
|
|
_client: ReturnType<typeof createClient> | undefined;
|
|
};
|
|
|
|
if (!globalForDb._client) {
|
|
globalForDb._client = createClient({
|
|
url: process.env.DATABASE_URL ?? "file:./data/sqlite.db",
|
|
});
|
|
globalForDb._client.execute("PRAGMA journal_mode = WAL");
|
|
globalForDb._client.execute("PRAGMA foreign_keys = ON");
|
|
globalForDb._client.execute("PRAGMA busy_timeout = 5000");
|
|
}
|
|
|
|
if (!globalForDb._db) {
|
|
globalForDb._db = drizzle({ client: globalForDb._client, schema });
|
|
}
|
|
|
|
export const db = globalForDb._db;
|
|
export const client = globalForDb._client;
|