cache: fix ResolveIdentityImmutableMetadata byt storing metadata in IdentityExcerpt

Michael Muré created

Change summary

cache/identity_excerpt.go | 12 +++++++-----
cache/repo_cache.go       |  4 ++--
2 files changed, 9 insertions(+), 7 deletions(-)

Detailed changes

cache/identity_excerpt.go 🔗

@@ -12,15 +12,17 @@ import (
 type IdentityExcerpt struct {
 	Id string
 
-	Name  string
-	Login string
+	Name              string
+	Login             string
+	ImmutableMetadata map[string]string
 }
 
 func NewIdentityExcerpt(i *identity.Identity) *IdentityExcerpt {
 	return &IdentityExcerpt{
-		Id:    i.Id(),
-		Name:  i.Name(),
-		Login: i.Login(),
+		Id:                i.Id(),
+		Name:              i.Name(),
+		Login:             i.Login(),
+		ImmutableMetadata: i.ImmutableMetadata(),
 	}
 }
 

cache/repo_cache.go 🔗

@@ -735,8 +735,8 @@ func (c *RepoCache) ResolveIdentityImmutableMetadata(key string, value string) (
 	// preallocate but empty
 	matching := make([]string, 0, 5)
 
-	for id, i := range c.identities {
-		if i.ImmutableMetadata()[key] == value {
+	for id, i := range c.identitiesExcerpts {
+		if i.ImmutableMetadata[key] == value {
 			matching = append(matching, id)
 		}
 	}