11const passport = require ( "passport" ) ;
22const GoogleStrategy = require ( "passport-google-oauth20" ) . Strategy ;
33const dotenv = require ( "dotenv" ) ;
4- //const User = require('../models/user');
54const User = require ( "../models/user.model" ) ; // Adjust the path to your User model
5+
66dotenv . config ( ) ;
7+
78passport . use (
89 new GoogleStrategy (
910 {
@@ -13,29 +14,28 @@ passport.use(
1314 "https://projectdev2114.azurewebsites.net/api/user/google/callback" , // Use your actual redirect URL
1415 } ,
1516 async ( accessToken , refreshToken , profile , done ) => {
16- // Find or create user logic
1717 try {
1818 let user = await User . findOne ( { email : profile . emails [ 0 ] . value } ) ;
1919 console . log ( user ) ;
20- if ( user . isDisable ) {
21- return res . status ( 403 ) . json ( {
22- status : "failed" ,
23- message :
24- "Access denied. Your account has been disabled. Please contact support for further assistance." ,
25- } ) ;
26- }
20+
2721 if ( ! user ) {
2822 user = new User ( {
2923 googleId : profile . id ,
3024 username : profile . displayName ,
3125 email : profile . emails [ 0 ] . value ,
3226 avatar : profile . photos [ 0 ] . value ,
33- // password:,
3427 isVerified : true ,
3528 } ) ;
3629 await user . save ( ) ;
3730 }
3831
32+ if ( user . isDisable ) {
33+ return done ( null , false , {
34+ message :
35+ "Access denied. Your account has been disabled. Please contact support for further assistance." ,
36+ } ) ;
37+ }
38+
3939 return done ( null , user ) ;
4040 } catch ( err ) {
4141 return done ( err , null ) ;
@@ -58,4 +58,5 @@ passport.deserializeUser(async (id, done) => {
5858 done ( err , null ) ;
5959 }
6060} ) ;
61+
6162module . exports = passport ;
0 commit comments