add delete user endpoint
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-01-03 15:05:07 +11:00
parent f6602f2823
commit e7b2c86ba7
4 changed files with 80 additions and 4 deletions

View File

@@ -49,6 +49,31 @@ func (u *User) SaveUser() (*User, error) {
return u, nil
}
func (u *User) DeleteUser() error {
// Validate username exists
_, err := GetUserByName(u.UserName)
if err != nil {
log.Printf("DeleteUser error finding user account to remove : '%s'\n", err)
return err
} else {
log.Printf("DeleteUser confirmed user exists, continuing with deletion of user '%s'\n", u.UserName)
result, err := db.NamedExec((`DELETE FROM users WHERE UserName = :UserName`), u)
if err != nil {
log.Printf("DeleteUser error executing sql delete : '%s'\n", err)
return err
} else {
affected, _ := result.RowsAffected()
id, _ := result.LastInsertId()
log.Printf("DeleteUser returned result id '%d' affecting %d row(s).\n", id, affected)
}
}
return nil
}
func VerifyPassword(password, hashedPassword string) error {
log.Printf("VerifyPassword comparing input against hashed value '%s'\n", hashedPassword)
return bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(password))