UNPKG

@zeushq/nextjs-zapi

Version:

Next.js SDK for creating a Zeus API

32 lines (23 loc) 774 B
import { NextApiRequest, NextApiResponse } from 'next'; import { ZApiResource } from '../../handlers/resource'; import createDebug from '../utils/debug'; const debug = createDebug('handlers:create'); export type HandleCreate = (req: NextApiRequest, res: NextApiResponse) => Promise<void>; export default function createHandlerFactory(): HandleCreate { return async (_req, res) => { const zapi = (res as any).zapi as ZApiResource; debug('create', zapi); const { error, value } = zapi.schema.create.validate(zapi.body); if (error) { res.json({ error }); res.end(); return; } const object = await zapi.model.create({ data: value }); const output = { object } as any; res.json(output); res.end(); }; }