Bot
Fix typescript error in preferences route
99774e8
Raw
History Blame Contribute Delete
1.36 kB
import { getSession } from "auth/server";
import { UserPreferencesZodSchema } from "app-types/user";
import { userRepository } from "lib/db/repository";
import { NextResponse } from "next/server";
export async function GET() {
try {
const session = await getSession();
if (!session?.user?.id) {
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
}
const preferences = await userRepository.getPreferences(session.user.id);
return NextResponse.json(preferences ?? {});
} catch (error: any) {
return NextResponse.json(
{ error: error.message || "Failed to get preferences" },
{ status: 500 },
);
}
}
export async function PUT(request: Request) {
try {
const session = await getSession();
if (!session?.user?.id) {
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
}
const json = await request.json();
const preferences = UserPreferencesZodSchema.parse(json);
const updatedUser = await userRepository.updatePreferences(
session.user.id,
preferences as any,
);
return NextResponse.json({
success: true,
preferences: updatedUser.preferences,
});
} catch (error: any) {
return NextResponse.json(
{ error: error.message || "Failed to update preferences" },
{ status: 500 },
);
}
}