diff options
Diffstat (limited to 'entities/identity/identity.go')
-rw-r--r-- | entities/identity/identity.go | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/entities/identity/identity.go b/entities/identity/identity.go index 9effd1466..f71d0e4a8 100644 --- a/entities/identity/identity.go +++ b/entities/identity/identity.go @@ -8,6 +8,7 @@ import ( "github.com/pkg/errors" + "github.com/MichaelMure/git-bug/entity" bootstrap "github.com/MichaelMure/git-bug/entity/boostrap" "github.com/MichaelMure/git-bug/repository" "github.com/MichaelMure/git-bug/util/lamport" @@ -28,7 +29,7 @@ var ErrNoIdentitySet = errors.New("No identity is set.\n" + "\"git bug user new\" or adopted with \"git bug user adopt\"") var ErrMultipleIdentitiesSet = errors.New("multiple user identities set") -var _ Interface = &Identity{} +var _ entity.Identity = &Identity{} var _ bootstrap.Entity = &Identity{} type Identity struct { @@ -40,7 +41,7 @@ func NewIdentity(repo repository.RepoClock, name string, email string) (*Identit return NewIdentityFull(repo, name, email, "", "", nil) } -func NewIdentityFull(repo repository.RepoClock, name string, email string, login string, avatarUrl string, keys []*Key) (*Identity, error) { +func NewIdentityFull(repo repository.RepoClock, name string, email string, login string, avatarUrl string, keys []bootstrap.Key) (*Identity, error) { v, err := newVersion(repo, name, email, login, avatarUrl, keys) if err != nil { return nil, err @@ -216,13 +217,13 @@ type Mutator struct { Login string Email string AvatarUrl string - Keys []*Key + Keys []bootstrap.Key } // Mutate allow to create a new version of the Identity in one go func (i *Identity) Mutate(repo repository.RepoClock, f func(orig *Mutator)) error { - copyKeys := func(keys []*Key) []*Key { - result := make([]*Key, len(keys)) + copyKeys := func(keys []bootstrap.Key) []bootstrap.Key { + result := make([]bootstrap.Key, len(keys)) for i, key := range keys { result[i] = key.Clone() } @@ -466,15 +467,15 @@ func (i *Identity) AvatarUrl() string { } // Keys return the last version of the valid keys -func (i *Identity) Keys() []*Key { +func (i *Identity) Keys() []bootstrap.Key { return i.lastVersion().keys } // SigningKey return the key that should be used to sign new messages. If no key is available, return nil. -func (i *Identity) SigningKey(repo repository.RepoKeyring) (*Key, error) { +func (i *Identity) SigningKey(repo repository.RepoKeyring) (bootstrap.Key, error) { keys := i.Keys() for _, key := range keys { - err := key.ensurePrivateKey(repo) + err := key.EnsurePrivateKey(repo) if err == errNoPrivateKey { continue } @@ -487,8 +488,8 @@ func (i *Identity) SigningKey(repo repository.RepoKeyring) (*Key, error) { } // ValidKeysAtTime return the set of keys valid at a given lamport time -func (i *Identity) ValidKeysAtTime(clockName string, time lamport.Time) []*Key { - var result []*Key +func (i *Identity) ValidKeysAtTime(clockName string, time lamport.Time) []bootstrap.Key { + var result []bootstrap.Key var lastTime lamport.Time for _, v := range i.versions { |