You are on page 1of 1

public async loginPassenger ( req: Request, res: Response) {

const { phoneNumber, email, password } = req.body;

if(!phoneNumber && !email) return res.status(400).send({ message: 'Missing


phone number or email'});
if(!password) return res.status(400).send({ message: 'Missing password'});

const passenger = await Passenger.findOne(


{ $or: [
{ phoneNumber : isNaN(phoneNumber) ? 0 : Number(phoneNumber) },
{ email : email }
]});

if(!passenger) {
handleLoginFailded(res);
}

const token = jwt.sign({ passenger }, secret, { expiresIn: 86400});


return res.status(200).send({
message: 'Login succeded',
token,
passengerId: passenger._id,
fullName: passenger.fullName,
birthDate: passenger.birthDate,
phoneNumber: passenger.phoneNumber,
email: passenger.email,
createdAt: passenger.createdAt
});
}

You might also like