sessions/internal/service/user.go
Dawid Wysokiński ffcb965590
All checks were successful
continuous-integration/drone/push Build is passing
feat: add a new command - db apikey create (#6)
Reviewed-on: #6
2022-11-20 08:14:41 +00:00

38 lines
854 B
Go

package service
import (
"context"
"fmt"
"gitea.dwysokinski.me/twhelp/sessions/internal/domain"
)
type UserRepository interface {
Create(ctx context.Context, params domain.CreateUserParams) (domain.User, error)
Get(ctx context.Context, id int64) (domain.User, error)
}
type User struct {
repo UserRepository
}
func NewUser(repo UserRepository) *User {
return &User{repo: repo}
}
func (u *User) Create(ctx context.Context, params domain.CreateUserParams) (domain.User, error) {
user, err := u.repo.Create(ctx, params)
if err != nil {
return domain.User{}, fmt.Errorf("UserRepository.Create: %w", err)
}
return user, nil
}
func (u *User) Get(ctx context.Context, id int64) (domain.User, error) {
user, err := u.repo.Get(ctx, id)
if err != nil {
return domain.User{}, fmt.Errorf("UserRepository.Get: %w", err)
}
return user, nil
}