skeleton for completing reset procedure
This commit is contained in:
@@ -113,13 +113,18 @@ func (c *passwordResetRepo) SetTokenOpened(token string) error {
|
||||
const (
|
||||
query = `UPDATE tab_password_reset a
|
||||
SET a.opened = 1,
|
||||
WHERE a.token = ? AND a.used = 0`
|
||||
WHERE a.token = ? AND a.used = 0 AND a.expire_date < CURRENT_TIMESTAMP`
|
||||
)
|
||||
|
||||
if _, err := c.conn.Exec(query, token); err != nil {
|
||||
result, err := c.conn.Exec(query, token)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if updateCount, err := result.RowsAffected(); err != nil || updateCount == 0 {
|
||||
return fmt.Errorf("Invalid token")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -101,22 +101,21 @@ func (c *controller) handleResetRequest(ctx echo.Context) error {
|
||||
}
|
||||
|
||||
func (c *controller) handleResetComplete(ctx echo.Context) error {
|
||||
/*
|
||||
userEmail, err := routeutils.GetAndValidateStringParam(ctx, "email", "mandatory field")
|
||||
if err != nil {
|
||||
return routeutils.HandleAPIError(ctx, err)
|
||||
}
|
||||
userToken, err := routeutils.GetAndValidateStringParam(ctx, "token", "mandatory field")
|
||||
if err != nil {
|
||||
return routeutils.HandleAPIError(ctx, err)
|
||||
}
|
||||
|
||||
//find if user with email exists
|
||||
user, err := c.svc.Users.GetByEmail(userEmail)
|
||||
if err != nil {
|
||||
return routeutils.HandleAPIError(ctx, err)
|
||||
}
|
||||
var user viewmodel.User
|
||||
if err = ctx.Bind(&user); err != nil {
|
||||
return routeutils.HandleAPIError(ctx, err)
|
||||
}
|
||||
|
||||
//create and store reset token
|
||||
//get full user data connecting user ID and token in password reset table
|
||||
|
||||
//send email with reset link
|
||||
*/
|
||||
//write new password in database
|
||||
|
||||
//set token used
|
||||
|
||||
return routeutils.ResponseAPIOK(ctx, nil)
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
|
||||
const (
|
||||
resetRequest = "/request/:email"
|
||||
resetComplete = "/complete"
|
||||
resetComplete = "/complete/:token"
|
||||
tokenOpen = "/open/:token"
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user