git.sophuwu.com > authuwu
added user change funcs
sophuwu sophie@sophuwu.com
Wed, 16 Jul 2025 22:25:53 +0200
commit

43ab0ab7e160e2f75369e693828c14894ba1955e

parent

acc2ef94bd9e7c87b754ac75964a22cc3876bf2d

1 files changed, 37 insertions(+), 4 deletions(-)

jump to
M userpass/userpass.gouserpass/userpass.go

@@ -68,13 +68,21 @@ return u.Username + ":" + u.Password.Encode()

} func NewUser(username string, password string) error { - u := &User{Username: username} - err := u.SetPassword(password) + var p Password + err := p.SetPassword(password) if err != nil { return err } - err = db.AuthUwu.Save(u) - return err + u, _ := GetUser(username) + if u != nil && u.Username == username { + u.Password = p + return db.AuthUwu.Update(u) + } + u = &User{ + Username: username, + Password: p, + } + return db.AuthUwu.Save(u) } func GetUser(username string) (*User, error) {

@@ -93,3 +101,28 @@ return false, err

} return u.Authenticate(password), nil } + +func GetUserList() ([]string, error) { + var users []*User + err := db.AuthUwu.All(&users) + if err != nil { + return nil, err + } + var userList []string + for _, u := range users { + if u.Username != "" { + userList = append(userList, u.Username) + } + } + return userList, nil +} + +// DeleteUser deletes a user from the database +func DeleteUser(username string) error { + u := &User{Username: username} + err := db.AuthUwu.DeleteStruct(u) + if err != nil { + return err + } + return nil +}