@@ -13,6 +13,14 @@ const checkStatus = async (res) => {
1313 throw await res . json ( ) ;
1414} ;
1515
16+ const deserializeUser = async ( userModel , id , done ) => {
17+ try {
18+ done ( null , await userModel . findOne ( { id } ) ) ;
19+ } catch ( error ) {
20+ done ( error ) ;
21+ }
22+ } ;
23+
1624module . exports = ( app , passport ) => {
1725 const router = express . Router ( ) ;
1826 const config = app . get ( 'config' ) ;
@@ -80,15 +88,15 @@ module.exports = (app, passport) => {
8088
8189 const profile = meRes . me ;
8290
83- User . findOneAndUpdate ( {
91+ const user = await User . findOneAndUpdate ( {
8492 id : + profile . id ,
8593 } , buildWcaUserUpdate ( profile , tokenRes . access_token ) , {
8694 upsert : true ,
8795 useFindAndModify : false ,
8896 new : true ,
89- } , ( err , user ) => {
90- done ( err , user . toObject ( ) ) ;
9197 } ) ;
98+
99+ done ( null , user . toObject ( ) ) ;
92100 } catch ( e ) {
93101 done ( e ) ;
94102 }
@@ -98,11 +106,7 @@ module.exports = (app, passport) => {
98106 done ( null , user . id ) ;
99107 } ) ;
100108
101- passport . deserializeUser ( ( id , done ) => {
102- User . findOne ( { id } , ( err , user ) => {
103- done ( err , user ) ;
104- } ) ;
105- } ) ;
109+ passport . deserializeUser ( ( id , done ) => deserializeUser ( User , id , done ) ) ;
106110
107111 router . post ( '/code' ,
108112 ( req , res , next ) => {
@@ -144,3 +148,5 @@ module.exports = (app, passport) => {
144148
145149 return router ;
146150} ;
151+
152+ module . exports . deserializeUser = deserializeUser ;
0 commit comments