feat: add saved views — database table, CRUD API, migration

- New views table (id, name, filters jsonb, sort_key, is_public, creator_id)
- GET/POST/PATCH/DELETE /views endpoints
- Register views router in server

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Gjermund Høsøien Wiggen
2026-06-09 11:10:25 +02:00
parent 000e97e1bd
commit aa90b88991
10 changed files with 1615 additions and 154 deletions

View File

@@ -0,0 +1,12 @@
CREATE TABLE "views" (
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
"name" text NOT NULL,
"filters" jsonb DEFAULT '[]' NOT NULL,
"sort_key" text DEFAULT 'updated',
"columns" jsonb DEFAULT '[]',
"is_public" boolean DEFAULT false,
"creator_id" uuid,
"created_at" timestamp with time zone DEFAULT now()
);
--> statement-breakpoint
ALTER TABLE "views" ADD CONSTRAINT "views_creator_id_users_id_fk" FOREIGN KEY ("creator_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;