leaky-ships/leaky-ships/lib/backend/getPinFromBody.ts
2023-07-11 19:25:44 +02:00

24 lines
560 B
TypeScript

import { NextApiRequest, NextApiResponse } from "next"
import { z } from "zod"
import sendError from "./sendError"
const pinBodySchema = z.object({
pin: z.string(),
})
async function getPinFromBody<T>(req: NextApiRequest, res: NextApiResponse<T>) {
try {
const body = JSON.parse(req.body)
const { pin } = pinBodySchema.parse(body)
return pin
} catch (err: any) {
sendError(req, res, {
message: "No pin in request body!",
statusCode: 401,
solved: true,
type: ["warn"],
})
}
}
export default getPinFromBody