mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-15 02:01:43 +03:00
cache: better API to access excerpts
This commit is contained in:
parent
c235d89d36
commit
bad05a4f3d
32
cache/repo_cache.go
vendored
32
cache/repo_cache.go
vendored
@ -387,6 +387,16 @@ func (c *RepoCache) ResolveBug(id string) (*BugCache, error) {
|
||||
return cached, nil
|
||||
}
|
||||
|
||||
// ResolveBugExcerpt retrieve a BugExcerpt matching the exact given id
|
||||
func (c *RepoCache) ResolveBugExcerpt(id string) (*BugExcerpt, error) {
|
||||
e, ok := c.bugExcerpts[id]
|
||||
if !ok {
|
||||
return nil, bug.ErrBugNotExist
|
||||
}
|
||||
|
||||
return e, nil
|
||||
}
|
||||
|
||||
// ResolveBugPrefix retrieve a bug matching an id prefix. It fails if multiple
|
||||
// bugs match.
|
||||
func (c *RepoCache) ResolveBugPrefix(prefix string) (*BugCache, error) {
|
||||
@ -489,12 +499,6 @@ func (c *RepoCache) AllBugsIds() []string {
|
||||
return result
|
||||
}
|
||||
|
||||
// AllBugExcerpt return all known bug excerpt.
|
||||
// This maps is read-only.
|
||||
func (c *RepoCache) AllBugExcerpt() map[string]*BugExcerpt {
|
||||
return c.bugExcerpts
|
||||
}
|
||||
|
||||
// ValidLabels list valid labels
|
||||
//
|
||||
// Note: in the future, a proper label policy could be implemented where valid
|
||||
@ -708,6 +712,16 @@ func (c *RepoCache) ResolveIdentity(id string) (*IdentityCache, error) {
|
||||
return cached, nil
|
||||
}
|
||||
|
||||
// ResolveIdentityExcerpt retrieve a IdentityExcerpt matching the exact given id
|
||||
func (c *RepoCache) ResolveIdentityExcerpt(id string) (*IdentityExcerpt, error) {
|
||||
e, ok := c.identitiesExcerpts[id]
|
||||
if !ok {
|
||||
return nil, identity.ErrIdentityNotExist
|
||||
}
|
||||
|
||||
return e, nil
|
||||
}
|
||||
|
||||
// ResolveIdentityPrefix retrieve an Identity matching an id prefix.
|
||||
// It fails if multiple identities match.
|
||||
func (c *RepoCache) ResolveIdentityPrefix(prefix string) (*IdentityCache, error) {
|
||||
@ -767,12 +781,6 @@ func (c *RepoCache) AllIdentityIds() []string {
|
||||
return result
|
||||
}
|
||||
|
||||
// AllIdentityExcerpt return all known identities excerpt.
|
||||
// This maps is read-only.
|
||||
func (c *RepoCache) AllIdentityExcerpt() map[string]*IdentityExcerpt {
|
||||
return c.identitiesExcerpts
|
||||
}
|
||||
|
||||
func (c *RepoCache) SetUserIdentity(i *IdentityCache) error {
|
||||
err := identity.SetUserIdentity(c.repo, i.Identity)
|
||||
if err != nil {
|
||||
|
@ -17,7 +17,12 @@ func runUserLs(cmd *cobra.Command, args []string) error {
|
||||
defer backend.Close()
|
||||
interrupt.RegisterCleaner(backend.Close)
|
||||
|
||||
for _, i := range backend.AllIdentityExcerpt() {
|
||||
for _, id := range backend.AllIdentityIds() {
|
||||
i, err := backend.ResolveIdentityExcerpt(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Printf("%s %s\n",
|
||||
colors.Cyan(i.HumanId()),
|
||||
i.DisplayName(),
|
||||
|
@ -17,15 +17,6 @@ case $state in
|
||||
;;
|
||||
level2)
|
||||
case $words[2] in
|
||||
status)
|
||||
_arguments '2: :(close open)'
|
||||
;;
|
||||
title)
|
||||
_arguments '2: :(edit)'
|
||||
;;
|
||||
user)
|
||||
_arguments '2: :(adopt create ls)'
|
||||
;;
|
||||
bridge)
|
||||
_arguments '2: :(configure pull rm)'
|
||||
;;
|
||||
@ -35,6 +26,15 @@ case $state in
|
||||
label)
|
||||
_arguments '2: :(add rm)'
|
||||
;;
|
||||
status)
|
||||
_arguments '2: :(close open)'
|
||||
;;
|
||||
title)
|
||||
_arguments '2: :(edit)'
|
||||
;;
|
||||
user)
|
||||
_arguments '2: :(adopt create ls)'
|
||||
;;
|
||||
*)
|
||||
_arguments '*: :_files'
|
||||
;;
|
||||
|
Loading…
Reference in New Issue
Block a user