"use server"; import { NextResponse } from "next/server"; import type { NextRequest } from "next/server"; import { updateUserPushTokenByAppleId } from "~/server/functions"; import { middleware } from "~/middleware"; type UpdatePushTokenRequest = { appleId: string; pushToken: string; } export async function POST(request: NextRequest) { const middlewareResponse = await middleware(request); if (middlewareResponse) return middlewareResponse; try { const { appleId, pushToken } = await request.json() as UpdatePushTokenRequest; console.log("Received request:", { appleId, pushToken }); if (!appleId || !pushToken) return NextResponse.json({ message: "Missing required fields" }, { status: 400 }); console.log("Updating push token for user:", appleId); const result = await updateUserPushTokenByAppleId(appleId, pushToken); if (result.success) { console.log("Push token updated successfully"); return NextResponse.json({ message: "Push token updated successfully" }); } else { throw new Error("Failed to update push token"); } } catch (error) { console.error("Error in updatePushToken:", error); if (error instanceof Error) { return NextResponse.json({ message: error.message }, { status: 400 }); } return NextResponse.json({ message: "Error updating push token" }, { status: 500 }); } }