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}