@@ -348,15 +348,13 @@ func (api *API) postChangePasswordWithOneTimePasscode(rw http.ResponseWriter, r
348
348
})
349
349
if err != nil && ! errors .Is (err ,sql .ErrNoRows ) {
350
350
logger .Error (ctx ,"unable to fetch user by email" ,slog .F ("email" ,req .Email ),slog .Error (err ))
351
- httpapi .Write (ctx ,rw ,http .StatusInternalServerError , codersdk.Response {
352
- Message :"Internal error." ,
353
- })
354
- return nil
351
+ return xerrors .Errorf ("get user by email: %w" ,err )
355
352
}
356
353
aReq .Old = user
357
354
358
355
equal ,err := userpassword .Compare (string (user .HashedOneTimePasscode ),req .OneTimePasscode )
359
356
if err != nil {
357
+ logger .Error (ctx ,"unable to compare one time passcode" ,slog .Error (err ))
360
358
return xerrors .Errorf ("compare one time passcode: %w" ,err )
361
359
}
362
360
@@ -389,6 +387,7 @@ func (api *API) postChangePasswordWithOneTimePasscode(rw http.ResponseWriter, r
389
387
390
388
newHashedPassword ,err := userpassword .Hash (req .Password )
391
389
if err != nil {
390
+ logger .Error (ctx ,"unable to hash user's password" ,slog .Error (err ))
392
391
return xerrors .Errorf ("hash user password: %w" ,err )
393
392
}
394
393
@@ -398,12 +397,14 @@ func (api *API) postChangePasswordWithOneTimePasscode(rw http.ResponseWriter, r
398
397
HashedPassword : []byte (newHashedPassword ),
399
398
})
400
399
if err != nil {
400
+ logger .Error (ctx ,"unable to delete user's hashed password" ,slog .Error (err ))
401
401
return xerrors .Errorf ("update user hashed password: %w" ,err )
402
402
}
403
403
404
404
//nolint:gocritic // We need the system auth context to be able to delete all API keys for the user.
405
405
err = tx .DeleteAPIKeysByUserID (dbauthz .AsSystemRestricted (ctx ),user .ID )
406
406
if err != nil {
407
+ logger .Error (ctx ,"unable to delete user's api keys" ,slog .Error (err ))
407
408
return xerrors .Errorf ("delete api keys for user: %w" ,err )
408
409
}
409
410
@@ -418,7 +419,6 @@ func (api *API) postChangePasswordWithOneTimePasscode(rw http.ResponseWriter, r
418
419
return nil
419
420
},nil )
420
421
if err != nil {
421
- logger .Error (ctx ,"unable to update user's password" ,slog .Error (err ))
422
422
httpapi .Write (ctx ,rw ,http .StatusInternalServerError , codersdk.Response {
423
423
Message :"Internal error." ,
424
424
Detail :err .Error (),