fix #9 #10 #11: fix email_verified schema, add auth gate to compare, use real user id

This commit is contained in:
Christopher Mayor
2026-04-27 10:33:22 -07:00
parent 56b6f67d00
commit 4d5e1502e9
3 changed files with 15 additions and 1 deletions

View File

@@ -0,0 +1 @@
ALTER TABLE "users" ALTER COLUMN "email_verified" SET DATA TYPE boolean USING ("email_verified" IS NOT NULL);

View File

@@ -8,6 +8,13 @@
"when": 1777066297133, "when": 1777066297133,
"tag": "0000_gorgeous_puma", "tag": "0000_gorgeous_puma",
"breakpoints": true "breakpoints": true
},
{
"idx": 1,
"version": "7",
"when": 1777066300000,
"tag": "0001_fix_email_verified",
"breakpoints": true
} }
] ]
} }

View File

@@ -5,6 +5,7 @@ import { db } from "@/lib/db";
import { comparisons, comparisonItems } from "@/lib/db/schema"; import { comparisons, comparisonItems } from "@/lib/db/schema";
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import { createId } from "@paralleldrive/cuid2"; import { createId } from "@paralleldrive/cuid2";
import { auth } from "@/lib/auth";
function serializeSSE(event: string, data: unknown): string { function serializeSSE(event: string, data: unknown): string {
return `event: ${event}\ndata: ${JSON.stringify(data)}\n\n`; return `event: ${event}\ndata: ${JSON.stringify(data)}\n\n`;
@@ -23,6 +24,11 @@ function slugify(text: string): string {
// const ratelimit = new Ratelimit({ redis, limiter: slidingWindow(5, "1m") }) // const ratelimit = new Ratelimit({ redis, limiter: slidingWindow(5, "1m") })
export async function POST(request: Request) { export async function POST(request: Request) {
const session = await auth.api.getSession({ headers: request.headers });
if (!session?.user) {
return Response.json({ error: "Authentication required" }, { status: 401 });
}
const body: { query?: string; items?: string[]; dimensions?: string[] } = const body: { query?: string; items?: string[]; dimensions?: string[] } =
await request.json(); await request.json();
const { query, items, dimensions } = body; const { query, items, dimensions } = body;
@@ -54,7 +60,7 @@ export async function POST(request: Request) {
await db.insert(comparisons).values({ await db.insert(comparisons).values({
id, id,
userId: "system", userId: session.user.id,
title, title,
query: query ?? title, query: query ?? title,
slug, slug,