diff --git a/packages/web/src/lib/db/index.ts b/packages/web/src/lib/db/index.ts new file mode 100644 index 0000000..49ea960 --- /dev/null +++ b/packages/web/src/lib/db/index.ts @@ -0,0 +1,8 @@ +import * as schema from './schema' +import { drizzle } from 'drizzle-orm/postgres-js'; +import postgres from 'postgres'; + +const client = postgres('postgresql://postgres:postgres@db:5432/db'); +export const db = drizzle(client, { schema }); + + diff --git a/packages/web/src/lib/db/schema.ts b/packages/web/src/lib/db/schema.ts index 43a05a4..8816c58 100644 --- a/packages/web/src/lib/db/schema.ts +++ b/packages/web/src/lib/db/schema.ts @@ -1,10 +1,5 @@ import { relations } from 'drizzle-orm'; import { integer, pgTable, serial, timestamp, varchar } from 'drizzle-orm/pg-core'; -import { drizzle } from 'drizzle-orm/postgres-js'; -import postgres from 'postgres'; - -const client = postgres('postgresql://postgres:postgres@db:5432/db'); -export const db = drizzle(client, {}); export const tasks = pgTable('tasks', { id: serial('id').primaryKey(), diff --git a/packages/web/src/routes/progress/[id]/+page.server.ts b/packages/web/src/routes/progress/[id]/+page.server.ts index b8323fd..112e483 100644 --- a/packages/web/src/routes/progress/[id]/+page.server.ts +++ b/packages/web/src/routes/progress/[id]/+page.server.ts @@ -1,8 +1,12 @@ -import { db, tasks } from "$lib/db/schema" -import { eq } from "drizzle-orm" +import { db } from "$lib/db" -export const load = async ({ params }) => { +export const load = async () => { return { - task: (await db.select().from(tasks).where(eq(tasks.id, params.id)))[0] + task: (await db.query.tasks.findFirst({ + with: { + tasksToTopics: true + } + }) + ) } } diff --git a/packages/web/src/routes/progress/[id]/+page.svelte b/packages/web/src/routes/progress/[id]/+page.svelte index acf129e..b670909 100644 --- a/packages/web/src/routes/progress/[id]/+page.svelte +++ b/packages/web/src/routes/progress/[id]/+page.svelte @@ -2,4 +2,13 @@ let { data } = $props(); -