X-Git-Url: https://code.octet-stream.net/broadcaster/blobdiff_plain/7423c6c97eb5d6dc063e7185c50137bbb5e25a23..7b615b3c71825b5b229b78509a16db37e1d3f38d:/broadcaster-server/user.go diff --git a/broadcaster-server/user.go b/broadcaster-server/user.go deleted file mode 100644 index 275f0ec..0000000 --- a/broadcaster-server/user.go +++ /dev/null @@ -1,82 +0,0 @@ -package main - -import ( - "errors" - "golang.org/x/crypto/bcrypt" -) - -var users Users - -type Users struct{} - -func (u *Users) GetUserForSession(token string) (User, error) { - username, err := db.GetUserNameForSession(token) - if err != nil { - return User{}, err - } - user, err := db.GetUser(username) - if err != nil { - return User{}, err - } - return user, nil -} - -func (u *Users) Authenticate(username string, clearPassword string) (User, error) { - user, err := db.GetUser(username) - if err != nil { - return User{}, err - } - err = bcrypt.CompareHashAndPassword([]byte(user.PasswordHash), []byte(clearPassword)) - if err != nil { - return User{}, err - } - return user, nil -} - -func (u *Users) CreateUser(username string, clearPassword string, isAdmin bool) error { - if clearPassword == "" { - return errors.New("password cannot be empty") - } - hashed, err := bcrypt.GenerateFromPassword([]byte(clearPassword), bcrypt.DefaultCost) - if err != nil { - return err - } - return db.CreateUser(User{ - Id: 0, - Username: username, - PasswordHash: string(hashed), - IsAdmin: isAdmin, - }) -} - -func (u *Users) DeleteUser(username string) { - db.DeleteUser(username) -} - -func (u *Users) UpdatePassword(username string, oldClearPassword string, newClearPassword string) error { - user, err := db.GetUser(username) - if err != nil { - return err - } - err = bcrypt.CompareHashAndPassword([]byte(user.PasswordHash), []byte(oldClearPassword)) - if err != nil { - return errors.New("old password is incorrect") - } - if newClearPassword == "" { - return errors.New("password cannot be empty") - } - hashed, err := bcrypt.GenerateFromPassword([]byte(newClearPassword), bcrypt.DefaultCost) - if err != nil { - return err - } - db.SetUserPassword(username, string(hashed)) - return nil -} - -func (u *Users) UpdateIsAdmin(username string, isAdmin bool) { - db.SetUserIsAdmin(username, isAdmin) -} - -func (u *Users) Users() []User { - return db.GetUsers() -}