SvelteKit (web/): - Komplett app-skjelett med Authentik SSO (dev-bypass lokalt) - Workspace-modell med cookie-basert switching og RLS-kontekst - Komponerbare sider (PageGrid + BlockShell + block registry) - Chat med adapter-mønster: PG-polling og SpacetimeDB hybrid-adapter - Brukeridentitet fra Authentik/dev-login flyter til chat-meldinger - API-ruter for channels, messages og health SpacetimeDB (spacetimedb/): - Rust WASM-modul med ChatMessage og SyncOutbox-tabeller - send_message reducer med sync outbox for fremtidig PG-persistering - Genererte TypeScript-bindings for klient-integrasjon Infra: - SpacetimeDB lagt til i docker-compose.dev.yml Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
17 lines
451 B
TypeScript
17 lines
451 B
TypeScript
import { json, error } from '@sveltejs/kit';
|
|
import type { RequestHandler } from './$types';
|
|
import { sql } from '$lib/server/db';
|
|
|
|
export const GET: RequestHandler = async ({ locals }) => {
|
|
if (!locals.workspace || !locals.user) error(401);
|
|
|
|
const channels = await sql`
|
|
SELECT c.id, c.name, c.config
|
|
FROM channels c
|
|
JOIN nodes n ON n.id = c.id
|
|
WHERE n.workspace_id = ${locals.workspace.id}
|
|
ORDER BY c.name
|
|
`;
|
|
|
|
return json(channels);
|
|
};
|