first working version

This commit is contained in:
ston1th 2018-09-14 00:14:49 +02:00
commit 85f93bae69
32 changed files with 863 additions and 571 deletions

View file

@ -4,19 +4,24 @@ import (
"errors"
"git.giftfish.de/ston1th/gowiki/pkg/core"
"golang.org/x/crypto/bcrypt"
"sort"
)
var (
errUserNotFound = dbErr("user not found")
errUserExists = dbErr("user already exist")
errUserReserved = dbErr("username is reserved")
)
func (db *DB) GetUsers() (users []core.User, err error) {
// TODO
/*users, err = db.DumpUsers()
for i := range users {
users[i].Password = ""
}*/
func (db *DB) GetUsers() (users core.Users, err error) {
db.users.ForEach(func(username string, _ []byte) error {
u, err := db.GetUser(username)
if err == nil {
users = append(users, u)
}
return nil
})
sort.Sort(users)
return
}
@ -81,6 +86,9 @@ func (bs *BoltStore) RestoreUsers(users []User) error {
}*/
func (db *DB) CreateUser(username, password string, admin bool) error {
if reservedUser(username) {
return errUserReserved
}
if err := db.UserExists(username); err == nil {
return errUserExists
}