@@ -40,32 +40,27 @@ export class UserController extends AdaptableController {
40
40
41
41
42
42
verifyEmail ( username , token ) {
43
-
44
- return new Promise ( ( resolve , reject ) => {
45
-
43
+ if ( ! this . shouldVerifyEmails ) {
46
44
// Trying to verify email when not enabled
47
- if ( ! this . shouldVerifyEmails ) {
48
- reject ( ) ;
49
- return ;
50
- }
51
-
52
- var database = this . config . database ;
53
-
54
- database . collection ( '_User' ) . then ( coll => {
45
+ // TODO: Better error here.
46
+ return Promise . reject ( ) ;
47
+ }
48
+
49
+ return this . config . database
50
+ . adaptiveCollection ( '_User' )
51
+ . then ( collection => {
55
52
// Need direct database access because verification token is not a parse field
56
- return coll . findAndModify ( {
53
+ return collection . findOneAndUpdate ( {
57
54
username : username ,
58
- _email_verify_token : token ,
59
- } , null , { $set : { emailVerified : true } } , ( err , doc ) => {
60
- if ( err || ! doc . value ) {
61
- reject ( err ) ;
62
- } else {
63
- resolve ( doc . value ) ;
64
- }
65
- } ) ;
55
+ _email_verify_token : token
56
+ } , { $set : { emailVerified : true } } ) ;
57
+ } )
58
+ . then ( document => {
59
+ if ( ! document ) {
60
+ return Promise . reject ( ) ;
61
+ }
62
+ return document ;
66
63
} ) ;
67
-
68
- } ) ;
69
64
}
70
65
71
66
checkResetTokenValidity ( username , token ) {
@@ -129,24 +124,16 @@ export class UserController extends AdaptableController {
129
124
}
130
125
131
126
setPasswordResetToken ( email ) {
132
- var database = this . config . database ;
133
- var token = randomString ( 25 ) ;
134
- return new Promise ( ( resolve , reject ) => {
135
- return database . collection ( '_User' ) . then ( coll => {
127
+ let token = randomString ( 25 ) ;
128
+ return this . config . database
129
+ . adaptiveCollection ( '_User' )
130
+ . then ( collection => {
136
131
// Need direct database access because verification token is not a parse field
137
- return coll . findAndModify ( {
138
- email : email ,
139
- } , null , { $set : { _perishable_token : token } } , ( err , doc ) => {
140
- if ( err || ! doc . value ) {
141
- console . error ( err ) ;
142
- reject ( err ) ;
143
- } else {
144
- doc . value . _perishable_token = token ;
145
- resolve ( doc . value ) ;
146
- }
147
- } ) ;
132
+ return collection . findOneAndUpdate (
133
+ { email : email } , // query
134
+ { $set : { _perishable_token : token } } // update
135
+ ) ;
148
136
} ) ;
149
- } ) ;
150
137
}
151
138
152
139
sendPasswordResetEmail ( email ) {
0 commit comments