auth/internal/user/repository.go

42 lines
824 B
Go
Raw Permalink Normal View History

2021-12-29 20:17:33 +00:00
package user
import (
"context"
"source.toby3d.me/toby3d/auth/internal/domain"
2021-12-29 20:17:33 +00:00
)
type (
Repository interface {
Fetch(ctx context.Context, me domain.Me) (*domain.User, error)
}
dummyUserRepository struct{}
stubUserRepository struct {
user *domain.User
error error
}
)
2021-12-29 20:17:33 +00:00
var ErrNotExist error = domain.NewError(domain.ErrorCodeServerError, "user not exist", "")
func NewDummyUserRepository() Repository {
return dummyUserRepository{}
}
func (dummyUserRepository) Fetch(_ context.Context, _ domain.Me) (*domain.User, error) {
return nil, nil
}
func NewStubUserRepository(user *domain.User, err error) Repository {
return &stubUserRepository{
user: user,
error: err,
}
}
func (repo *stubUserRepository) Fetch(_ context.Context, _ domain.Me) (*domain.User, error) {
return repo.user, repo.error
}