import { NextApiResponse } from 'next'; import { ProfileParams, UpdateProfileParams, } from '../../src/model/components/profile'; import { User } from '../../src/model/user'; import { ApiMethods, ApiRoutes, NextRequestWithBody, } from '../../src/model/api'; import { CustomResponse } from '../../src/model/common'; import authenticateRequest from '../../src/utils/api/authenticateRequest'; const updateProfile = async ( req: NextRequestWithBody, res: NextApiResponse>, ): Promise => { const { _id, email, username, licenseNumber, department } = req.body; if (!_id || !email || !licenseNumber || !username || !department) { return res.status(200).json({ ok: false, error: 'MISSING_PARAMS' }); } const response = await authenticateRequest( ApiMethods.Put, `${ApiRoutes.UpdateUser}/${_id}`, { email, username, licenseNumber, department, }, ); const { ok, data, error } = response; if (!ok) { return res.status(200).json({ ok, error }); } return res.status(200).json({ ok: true, data }); }; export default updateProfile;