mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-18 11:49:19 +00:00
46 lines
856 B
TypeScript
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;
|