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:
2026-03-04 11:14:35 +08:00
parent d7260e0cf6
commit 8f901dac08
5 changed files with 116 additions and 1 deletions
+23
View File
@@ -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")