26 lines
891 B
TypeScript
26 lines
891 B
TypeScript
"use server";
|
|
import { NextResponse } from "next/server";
|
|
import type { NextRequest } from "next/server";
|
|
import { createOrUpdateCountdown } from "~/server/functions";
|
|
import { middleware } from "~/middleware";
|
|
|
|
type CreateOrUpdateCountdownRequest = {
|
|
relationshipId: string;
|
|
title: string;
|
|
date: string;
|
|
}
|
|
|
|
export const POST = async (request: NextRequest) => {
|
|
const middlewareResponse = await middleware(request);
|
|
if (middlewareResponse) return middlewareResponse;
|
|
try {
|
|
const { relationshipId, title, date } =
|
|
await request.json()as CreateOrUpdateCountdownRequest;
|
|
await createOrUpdateCountdown(Number.parseInt(relationshipId), title, new Date(date));
|
|
return NextResponse.json({ message: "Countdown created or updated successfully" });
|
|
} catch (error) {
|
|
console.error(error);
|
|
return NextResponse.json({ message: "Error" }, { status: 500 });
|
|
}
|
|
};
|