39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { NextApiRequest, NextApiResponse } from 'next'
|
|
|
|
export const methodNotAllowed = (
|
|
res: NextApiResponse,
|
|
customMessage?: string
|
|
) => res.status(405).json({ message: customMessage ?? 'Method Not Allowed' })
|
|
|
|
export const notAuthenticated = (
|
|
res: NextApiResponse,
|
|
customMessage?: string
|
|
) => res.status(401).json({ message: customMessage ?? 'Not authenticated' })
|
|
|
|
export const notFound = (res: NextApiResponse, customMessage?: string) =>
|
|
res.status(404).json({ message: customMessage ?? 'Not found' })
|
|
|
|
export const badRequest = (res: NextApiResponse, customMessage?: any) =>
|
|
res.status(400).json({ message: customMessage ?? 'Bad Request' })
|
|
|
|
export const forbidden = (res: NextApiResponse, customMessage?: string) =>
|
|
res.status(403).json({ message: customMessage ?? 'Forbidden' })
|
|
|
|
export const initMiddleware =
|
|
(
|
|
handler: (
|
|
req: NextApiRequest,
|
|
res: NextApiResponse,
|
|
middleware: (result: any) => void
|
|
) => void
|
|
) =>
|
|
(req: any, res: any) =>
|
|
new Promise((resolve, reject) => {
|
|
handler(req, res, (result) => {
|
|
if (result instanceof Error) {
|
|
return reject(result)
|
|
}
|
|
return resolve(result)
|
|
})
|
|
})
|