17 lines
704 B
TypeScript
17 lines
704 B
TypeScript
import { json, error } from '@sveltejs/kit';
|
|
import type { RequestEvent } from '@sveltejs/kit';
|
|
import { createPbClient } from '$lib/server/pocketbase';
|
|
import { createServices } from '$lib/server/services';
|
|
|
|
export async function POST(event: RequestEvent) {
|
|
const u = event.locals.user;
|
|
if (!u || !event.locals.pbToken) throw error(401, 'Unauthorized');
|
|
const pb = createPbClient(event.locals.pbToken);
|
|
const body = await event.request.json().catch(() => ({}));
|
|
try {
|
|
const s = createServices(pb, { id: u.id, role: u.role });
|
|
return json(await s.completions.toggle(u.famId, body));
|
|
} catch (e) {
|
|
return json({ error: e instanceof Error ? e.message : 'toggle failed' }, { status: 400 });
|
|
}
|
|
} |