Files
bot/packages/utils/src/apiUtils.ts
2022-03-21 17:05:51 +01:00

44 lines
1.2 KiB
TypeScript

import {
Typebot,
Answer,
VariableWithValue,
ResultWithAnswers,
PublicTypebot,
} from 'models'
import { NextApiRequest, NextApiResponse } from 'next'
import { parseResultHeader } from './results'
import { isDefined } from './utils'
export const methodNotAllowed = (res: NextApiResponse) =>
res.status(405).json({ message: 'Method Not Allowed' })
export const notAuthenticated = (res: NextApiResponse) =>
res.status(401).json({ message: 'Not authenticated' })
export const notFound = (res: NextApiResponse) =>
res.status(404).json({ message: 'Not found' })
export const badRequest = (res: NextApiResponse) =>
res.status(400).json({ message: 'Bad Request' })
export const forbidden = (res: NextApiResponse) =>
res.status(403).json({ message: 'Bad Request' })
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)
})
})