diff options
Diffstat (limited to 'pkg/database/repository')
-rw-r--r-- | pkg/database/repository/auth.go | 10 | ||||
-rw-r--r-- | pkg/database/repository/user.go | 35 |
2 files changed, 45 insertions, 0 deletions
diff --git a/pkg/database/repository/auth.go b/pkg/database/repository/auth.go new file mode 100644 index 0000000..b319495 --- /dev/null +++ b/pkg/database/repository/auth.go @@ -0,0 +1,10 @@ +package repository + +import "context" + +type ( + AuthRepository interface { + GetIDByUsername(ctx context.Context, username string) (uint, error) + GetPassword(ctx context.Context, id uint) ([]byte, error) + } +) diff --git a/pkg/database/repository/user.go b/pkg/database/repository/user.go new file mode 100644 index 0000000..f8bd719 --- /dev/null +++ b/pkg/database/repository/user.go @@ -0,0 +1,35 @@ +package repository + +import "context" + +type ( + User struct { + ID uint + Username string + Name string + IsAdmin bool + Path string + } + + UpdateUser struct { + Username string + Name string + Password string + } + + CreateUser struct { + Username string + Name string + Password []byte + IsAdmin bool + Path string + } + + UserRepository interface { + Get(ctx context.Context, id uint) (*User, error) + List(ctx context.Context) ([]*User, error) + Create(ctx context.Context, createUser *CreateUser) (uint, error) + Update(ctx context.Context, id uint, updateUser *UpdateUser) error + Any(ctx context.Context) (bool, error) + } +) |