This commit is contained in:
@@ -16,7 +16,7 @@ const (
|
||||
|
||||
type User struct {
|
||||
Username string `json:"username"`
|
||||
HashedPassword []byte `json:"hashed_password"`
|
||||
HashedPassword []byte `json:"hashedPassword"`
|
||||
Role Role `json:"role"`
|
||||
}
|
||||
|
||||
@@ -38,6 +38,8 @@ func (u *User) SetPassword(password string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
u.HashedPassword = hashed
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@@ -15,7 +15,7 @@ type BoltUserStore struct {
|
||||
}
|
||||
|
||||
func NewBoltUserStore(path string) (*BoltUserStore, error) {
|
||||
db, err := bbolt.Open(path, 0666, nil)
|
||||
db, err := bbolt.Open(path, 0666, nil) // nolint: gomnd
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -36,6 +36,7 @@ func (s *BoltUserStore) Close() error {
|
||||
|
||||
func (s *BoltUserStore) Get(username string) (*User, error) {
|
||||
var user User
|
||||
|
||||
err := s.db.View(func(tx *bbolt.Tx) error {
|
||||
bkt := tx.Bucket(keyUsers)
|
||||
rawUser := bkt.Get([]byte(username))
|
||||
@@ -44,9 +45,11 @@ func (s *BoltUserStore) Get(username string) (*User, error) {
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &user, nil
|
||||
}
|
||||
|
||||
@@ -86,5 +89,6 @@ func (s *BoltUserStore) List() ([]string, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return ids, nil
|
||||
}
|
||||
|
@@ -18,7 +18,9 @@ func NewMemoryUserStore() *MemoryUserStore {
|
||||
func (s *MemoryUserStore) Get(username string) (*User, error) {
|
||||
s.lock.Lock()
|
||||
defer s.lock.Unlock()
|
||||
|
||||
user, ok := s.users[username]
|
||||
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("no such user: %s", username)
|
||||
}
|
||||
@@ -29,21 +31,25 @@ func (s *MemoryUserStore) Get(username string) (*User, error) {
|
||||
func (s *MemoryUserStore) Store(user *User) error {
|
||||
s.lock.Lock()
|
||||
defer s.lock.Unlock()
|
||||
|
||||
s.users[user.Username] = user
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *MemoryUserStore) Delete(username string) error {
|
||||
s.lock.Lock()
|
||||
defer s.lock.Unlock()
|
||||
|
||||
delete(s.users, username)
|
||||
|
||||
return nil
|
||||
}
|
||||
func (s *MemoryUserStore) List() ([]string, error) {
|
||||
s.lock.Lock()
|
||||
defer s.lock.Unlock()
|
||||
|
||||
var ids []string
|
||||
ids := make([]string, 0, len(s.users))
|
||||
for k := range s.users {
|
||||
ids = append(ids, k)
|
||||
}
|
||||
|
Reference in New Issue
Block a user