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 => { 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;