diff options
Diffstat (limited to 'pkg/database')
-rw-r--r-- | pkg/database/sql/user.go | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/pkg/database/sql/user.go b/pkg/database/sql/user.go index d449b05..2d74162 100644 --- a/pkg/database/sql/user.go +++ b/pkg/database/sql/user.go @@ -7,7 +7,7 @@ import ( "gorm.io/gorm" "git.sr.ht/~gabrielgio/img/pkg/components/auth" - user "git.sr.ht/~gabrielgio/img/pkg/components/auth" + "git.sr.ht/~gabrielgio/img/pkg/components/user" ) type ( @@ -16,6 +16,8 @@ type ( Username string Name string Password string + IsAdmin bool + Path string } Users []*User @@ -26,6 +28,7 @@ type ( ) var _ auth.Repository = &UserRepository{} +var _ user.Repository = &UserRepository{} func NewUserRepository(db *gorm.DB) *UserRepository { return &UserRepository{ @@ -38,6 +41,8 @@ func (self *User) ToModel() *user.User { ID: self.Model.ID, Name: self.Name, Username: self.Username, + Path: self.Path, + IsAdmin: self.IsAdmin, } } @@ -63,6 +68,8 @@ func (self *UserRepository) EnsureAdmin(ctx context.Context) { hash, _ := bcrypt.GenerateFromPassword([]byte("admin"), bcrypt.MinCost) self.db.Save(&User{ Username: "admin", + Path: "/", + IsAdmin: true, Password: string(hash), }) } @@ -130,7 +137,7 @@ func (self *UserRepository) GetPassword(ctx context.Context, id uint) ([]byte, e return userPassword.Password, nil } -func (self *UserRepository) Create(ctx context.Context, createUser *user.CreateUser) (uint, error) { +func (self *UserRepository) Create(ctx context.Context, createUser *user.CreateUser) error { user := &User{ Username: createUser.Username, Name: createUser.Name, @@ -141,10 +148,10 @@ func (self *UserRepository) Create(ctx context.Context, createUser *user.CreateU WithContext(ctx). Create(user) if result.Error != nil { - return 0, result.Error + return result.Error } - return user.Model.ID, nil + return nil } func (self *UserRepository) Update(ctx context.Context, id uint, update *user.UpdateUser) error { |