@@ -5,37 +5,60 @@ const router = express.Router();
55
66// Signup route
77router . post ( "/signup" , async ( req , res ) => {
8-
9- const { username, email, password } = req . body ;
8+ const { username, email, password } = req . body ;
109
1110 try {
12- const existingUser = await User . findOne ( { email} ) ;
11+ const existingUser = await User . findOne ( { email } ) ;
1312
14- if ( existingUser )
15- return res . status ( 400 ) . json ( { message : 'User already exists' } ) ;
13+ if ( existingUser ) {
14+ return res . status ( 400 ) . json ( { message : 'User already exists' } ) ;
15+ }
1616
17- const newUser = new User ( { username, email, password} ) ;
17+ const newUser = new User ( { username, email, password } ) ;
1818 await newUser . save ( ) ;
19- res . status ( 201 ) . json ( { message : 'User created successfully' } ) ;
19+
20+ return res . status ( 201 ) . json ( { message : 'User created successfully' } ) ;
2021 } catch ( err ) {
21- res . status ( 500 ) . json ( { message : 'Error creating user' , error : err . message } ) ;
22+ console . error ( "Signup Error:" , err . message ) ;
23+ return res . status ( 500 ) . json ( {
24+ message : 'Error creating user' ,
25+ error : err . message
26+ } ) ;
2227 }
2328} ) ;
2429
2530// Login route
26- router . post ( "/login" , passport . authenticate ( 'local' ) , ( req , res ) => {
27- res . status ( 200 ) . json ( { message : 'Login successful' , user : req . user } ) ;
31+ router . post ( "/login" , ( req , res , next ) => {
32+ passport . authenticate ( 'local' , ( err , user , info ) => {
33+ if ( err ) {
34+ console . error ( "Login Error:" , err . message ) ;
35+ return res . status ( 500 ) . json ( { message : 'Internal Server Error' , error : err . message } ) ;
36+ }
37+
38+ if ( ! user ) {
39+ return res . status ( 401 ) . json ( { message : 'Invalid credentials' , error : info ?. message || 'Authentication failed' } ) ;
40+ }
41+
42+ req . logIn ( user , ( err ) => {
43+ if ( err ) {
44+ console . error ( "Session Error:" , err . message ) ;
45+ return res . status ( 500 ) . json ( { message : 'Login failed' , error : err . message } ) ;
46+ }
47+
48+ return res . status ( 200 ) . json ( { message : 'Login successful' , user } ) ;
49+ } ) ;
50+ } ) ( req , res , next ) ;
2851} ) ;
2952
3053// Logout route
3154router . get ( "/logout" , ( req , res ) => {
32-
3355 req . logout ( ( err ) => {
34-
35- if ( err )
56+ if ( err ) {
57+ console . error ( "Logout Error:" , err . message ) ;
3658 return res . status ( 500 ) . json ( { message : 'Logout failed' , error : err . message } ) ;
37- else
38- res . status ( 200 ) . json ( { message : 'Logged out successfully' } ) ;
59+ }
60+
61+ return res . status ( 200 ) . json ( { message : 'Logged out successfully' } ) ;
3962 } ) ;
4063} ) ;
4164
0 commit comments