1package identity
 2
 3import (
 4	"github.com/MichaelMure/git-bug/entity"
 5	"github.com/MichaelMure/git-bug/repository"
 6)
 7
 8// Resolver define the interface of an Identity resolver, able to load
 9// an identity from, for example, a repo or a cache.
10type Resolver interface {
11	ResolveIdentity(id entity.Id) (Interface, error)
12}
13
14// DefaultResolver is a Resolver loading Identities directly from a Repo
15type SimpleResolver struct {
16	repo repository.Repo
17}
18
19func NewSimpleResolver(repo repository.Repo) *SimpleResolver {
20	return &SimpleResolver{repo: repo}
21}
22
23func (r *SimpleResolver) ResolveIdentity(id entity.Id) (Interface, error) {
24	return ReadLocal(r.repo, id)
25}