import * as next_server from "next/server"
import * as faroe_user_server from "@faroe/user-server"
const actions: faroe_user_server.Actions = {
// ...
}
const server = new faroe_user_server.Server(actions);
export async function POST(req: next_server.NextRequest): Promise<next_server.NextResponse> {
// TODO: Protect route.
let bodyJSON: string;
try {
bodyJSON = await req.text()
} catch {
return new next_server.NextResponse(null, { status: 400 })
}
let responseBodyJSON: string
try {
responseBodyJSON = await server.resolveActionInvocationEndpointRequest(bodyJSON);
} catch {
// Failed to parse JSON, unknown action, etc
return new next_server.NextResponse(null, { status: 400 })
}
return new next_server.NextResponse(responseBodyJSON, {
headers: {
"Content-Type": "application/json"
}
})
}