@@ -6,9 +6,11 @@ import { comparePassword, hashPassword } from '../utils/password.utils.js';
66import { generateOTP } from '../utils/otp.utils.js' ;
77import { sendEmail } from '../utils/email.utils.js' ;
88import {
9+ forgotPasswordValidation ,
910 resetPasswordValidation ,
1011 signinValidation ,
1112 signupValidation ,
13+ verifyEmailValidation ,
1214} from '../validations/auth.validations.js' ;
1315import {
1416 generateAccessToken ,
@@ -82,6 +84,11 @@ export const signup = async (req, res) => {
8284
8385export const verifyEmail = async ( req , res ) => {
8486 try {
87+ const { error } = verifyEmailValidation ( req . body ) ;
88+ if ( error ) {
89+ return res . status ( 400 ) . json ( { message : error . details [ 0 ] . message } ) ;
90+ }
91+
8592 const { email, otp } = req . body ;
8693
8794 const user = await prisma . user . findFirst ( {
@@ -176,7 +183,11 @@ export const signin = async (req, res) => {
176183
177184export const forgotPassword = async ( req , res ) => {
178185 try {
179- // TODO: must validate user inputs
186+ const { error } = forgotPasswordValidation ( ) ;
187+ if ( error ) {
188+ return res . status ( 400 ) . json ( { message : error . details [ 0 ] . message } ) ;
189+ }
190+
180191 const { email } = req . body ;
181192
182193 // Find user
@@ -211,7 +222,6 @@ export const forgotPassword = async (req, res) => {
211222
212223 return res . status ( 200 ) . json ( {
213224 message : 'Password reset OTP sent' ,
214- userId : user . id , // TODO: delete userId from response
215225 } ) ;
216226 } catch ( error ) {
217227 return res
@@ -271,6 +281,10 @@ export const refreshAccessToken = async (req, res) => {
271281 try {
272282 const { refreshToken } = req . body ;
273283
284+ if ( ! refreshToken ) {
285+ return res . status ( 400 ) . json ( { message : 'Refresh token is required' } ) ;
286+ }
287+
274288 // Verify refresh token
275289 const decoded = jwt . verify ( refreshToken , process . env . JWT_REFRESH_SECRET ) ;
276290
0 commit comments