Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | 4x 4x 4x 4x 2x 1x 1x 4x 3x 3x 1x 1x 4x 3x 1x 4x 6x 1x 4x 2x 1x 1x 4x 4x 1x 4x 1x 1x 1x 4x 4x 1x 4x | const { status: httpStatus } = require('http-status'); const catchAsync = require('../utils/catchAsync'); const { authService, userService, tokenService, emailService } = require('../services'); const register = catchAsync(async (req, res) => { const user = await userService.createUser(req.body); const tokens = await tokenService.generateAuthTokens(user); res.status(httpStatus.CREATED).send({ user, tokens }); }); const login = catchAsync(async (req, res) => { const { email, password } = req.body; const user = await authService.loginUserWithEmailAndPassword(email, password); const tokens = await tokenService.generateAuthTokens(user); res.send({ user, tokens }); }); const logout = catchAsync(async (req, res) => { await authService.logout(req.body.refreshToken); res.status(httpStatus.NO_CONTENT).send(); }); const refreshTokens = catchAsync(async (req, res) => { const tokens = await authService.refreshAuth(req.body.refreshToken); res.send({ ...tokens }); }); const forgotPassword = catchAsync(async (req, res) => { const resetPasswordToken = await tokenService.generateResetPasswordToken(req.body.email); await emailService.sendResetPasswordEmail(req.body.email, resetPasswordToken); res.status(httpStatus.NO_CONTENT).send(); }); const resetPassword = catchAsync(async (req, res) => { await authService.resetPassword(req.query.token, req.body.password); res.status(httpStatus.NO_CONTENT).send(); }); const sendVerificationEmail = catchAsync(async (req, res) => { const verifyEmailToken = await tokenService.generateVerifyEmailToken(req.user); await emailService.sendVerificationEmail(req.user.email, verifyEmailToken); res.status(httpStatus.NO_CONTENT).send(); }); const verifyEmail = catchAsync(async (req, res) => { await authService.verifyEmail(req.query.token); res.status(httpStatus.NO_CONTENT).send(); }); module.exports = { register, login, logout, refreshTokens, forgotPassword, resetPassword, sendVerificationEmail, verifyEmail, }; |