import "server-only"; import { NextResponse } from "next/server"; import type { PaymentFailure, PaymentResult } from "./repository"; export function paymentResultResponse(result: PaymentResult): NextResponse { return result.ok ? paymentJson({ data: result.data, ok: true }, 200) : paymentFailureResponse(result.error); } export function paymentFailureResponse(error: PaymentFailure): NextResponse { return paymentJson( { error: { code: error.code, message: error.message }, ok: false }, error.status, ); } function paymentJson(body: unknown, status: number): NextResponse { const response = NextResponse.json(body, { status }); response.headers.set("cache-control", "no-store"); response.headers.set("x-content-type-options", "nosniff"); return response; }