server/web/src/routes/server-admin/+layout.server.ts
vegard aafb121bf2 Skill server-admin fra workspace-admin
Server-admin (/server-admin): systemvide innstillinger (AI, kanaler) — kun for owners.
Workspace-admin (/admin): workspace-spesifikke innstillinger (sider, entiteter) — for owner/admin i gjeldende workspace.

- Ny rute /server-admin med egen layout-gate (owner-rolle)
- Flytt AI og kanaler fra /admin til /server-admin
- Workspace-admin gate sjekker nå rolle i gjeldende workspace
- Sidebar: workspace-admin-lenker under separator, server-admin-nav i server-admin-modus
- WorkspaceSwitcher: "Admin (server)" kun for owners
- Kanaler: trekkspill gruppert etter workspace
- Config-API: owners kan endre kanaler på tvers av workspaces
- Migrasjon: ai_prompts-tabell

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 05:19:23 +01:00

19 lines
541 B
TypeScript

import { error } from '@sveltejs/kit';
import type { LayoutServerLoad } from './$types';
import { sql } from '$lib/server/db';
export const load: LayoutServerLoad = async ({ locals }) => {
if (!locals.user) throw error(401, 'Ikke innlogget');
// Server-admin: må ha owner-rolle i minst ett workspace
const rows = await sql`
SELECT 1 FROM workspace_members
WHERE user_id = ${locals.user.id}
AND role = 'owner'
LIMIT 1
`;
if (rows.length === 0) {
throw error(403, 'Ingen tilgang til server-admin');
}
};