feat(userMgr): add user removal functionality
- Implement RemoveUser function in database.go to delete users - Add RemoveUserHandler to handle HTTP requests for user removal - Update API documentation with new /userMgr/remove endpoint - Add route for user removal in router.go
This commit is contained in:
+23
@@ -4,6 +4,7 @@ import (
|
||||
"database/sql"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@@ -84,6 +85,28 @@ func AddUser(username, passwd, userType string) (int, error) { // New user regis
|
||||
return int(lastID), nil
|
||||
}
|
||||
|
||||
func RemoveUser (userID int) error {
|
||||
if !isValidInput(strconv.Itoa(userID)) {
|
||||
return errors.New("invalid input: contains illegal characters")
|
||||
}
|
||||
|
||||
result, err := db.Exec("DELETE FROM userLogin WHERE userID = ?", userID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to delete user: %w", err)
|
||||
}
|
||||
|
||||
rowsAffected, err := result.RowsAffected()
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get rows affected: %w", err)
|
||||
}
|
||||
|
||||
if rowsAffected == 0 {
|
||||
return errors.New("user not found")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetUserByUsername(username string) (*User, error) {
|
||||
if !isValidInput(username) {
|
||||
return nil, errors.New("invalid input: contains illegal characters")
|
||||
|
||||
Reference in New Issue
Block a user