forked from mirror/crumbs-original
- Refactor notes-service to include shared notes in list/get/search/reorder - Route per-user fields (pinned/archived/sortOrder) to noteUserState for collaborators - Update API routes to delegate to service layer with access control - Update sync server to handle shared note updates bidirectionally - Add leaveNote() to client store - Refactor search and notes API routes to use service layer Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
20 lines
738 B
TypeScript
20 lines
738 B
TypeScript
import { json } from '@sveltejs/kit';
|
|
import type { RequestHandler } from './$types.js';
|
|
import { getUserId } from '$lib/server/api-utils.js';
|
|
import { listNotes, createNote } from '$lib/server/notes-service.js';
|
|
import type { NoteFilter } from '$lib/types/index.js';
|
|
|
|
export const GET: RequestHandler = async ({ url, ...event }) => {
|
|
const userId = getUserId(event);
|
|
const filter = (url.searchParams.get('filter') || 'all') as NoteFilter;
|
|
const result = listNotes(userId, filter);
|
|
return json(result);
|
|
};
|
|
|
|
export const POST: RequestHandler = async ({ request, ...event }) => {
|
|
const userId = getUserId(event);
|
|
const body = await request.json();
|
|
const newNote = createNote(userId, body);
|
|
return json(newNote, { status: 201 });
|
|
};
|