2021-12-29 20:17:33 +00:00
|
|
|
package user
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
|
2022-03-13 10:58:34 +00:00
|
|
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
2021-12-29 20:17:33 +00:00
|
|
|
)
|
|
|
|
|
2024-05-15 07:23:40 +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
|
|
|
|
2022-01-29 20:46:43 +00:00
|
|
|
var ErrNotExist error = domain.NewError(domain.ErrorCodeServerError, "user not exist", "")
|
2024-05-15 07:23:40 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|