Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

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