Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

signup.ts 949B

12345678910111213141516171819202122232425262728293031323334
  1. import type { NextApiRequest, NextApiResponse } from 'next';
  2. import dbConnect from '../../../utils/helpers/dbHelpers';
  3. import { UpdateResponse, IUser } from '../../../utils/interface/userInterface';
  4. const User = require('../../../models/user');
  5. async function handler(
  6. req: NextApiRequest,
  7. res: NextApiResponse<UpdateResponse>
  8. ) {
  9. const { method } = req;
  10. await dbConnect();
  11. switch (method) {
  12. case 'POST': {
  13. try {
  14. const user: IUser = await User.create(req.body);
  15. res
  16. .status(201)
  17. .json({ message: `User (${user.fullName}) created sucessfully!` });
  18. } catch (error) {
  19. if (error instanceof Error)
  20. res.status(400).json({ message: error.message });
  21. else res.status(400).json({ message: 'Unexpected error' + error });
  22. }
  23. break;
  24. }
  25. default:
  26. res.status(405).json({ message: 'Method not allowed' });
  27. break;
  28. }
  29. }
  30. export default handler;