25 lines
757 B
TypeScript
25 lines
757 B
TypeScript
"use server";
|
|
|
|
import { revalidatePath } from "next/cache";
|
|
|
|
import { prisma } from "@/lib/prisma";
|
|
import {
|
|
updateCommissionRequestStatusSchema,
|
|
} from "@/schemas/commissions/updateRequestStatus";
|
|
import type { UpdateCommissionRequestStatusInput } from "@/schemas/commissions/updateRequestStatus";
|
|
|
|
// Updates a commission request status and revalidates the kanban page.
|
|
export async function updateCommissionRequestStatus(
|
|
input: UpdateCommissionRequestStatusInput
|
|
) {
|
|
const { id, status } = updateCommissionRequestStatusSchema.parse(input);
|
|
|
|
await prisma.commissionRequest.update({
|
|
where: { id },
|
|
data: { status },
|
|
});
|
|
|
|
// revalidate the board page so a refresh always reflects server truth
|
|
revalidatePath("/commissions/kanban");
|
|
}
|