24 lines
560 B
TypeScript
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
|