Files
whaticket-community/backend/src/services/UserServices/AuthUserSerice.ts

46 lines
856 B
TypeScript

import User from "../../models/User";
import AppError from "../../errors/AppError";
import {
createAccessToken,
createRefreshToken
} from "../../helpers/CreateTokens";
interface Request {
email: string;
password: string;
}
interface Response {
user: User;
token: string;
refreshToken: string;
}
const AuthUserService = async ({
email,
password
}: Request): Promise<Response> => {
const user = await User.findOne({
where: { email }
});
if (!user) {
throw new AppError("Incorrect user/password combination.", 401);
}
if (!(await user.checkPassword(password))) {
throw new AppError("Incorrect user/password combination.", 401);
}
const token = createAccessToken(user);
const refreshToken = createRefreshToken(user);
return {
user,
token,
refreshToken
};
};
export default AuthUserService;