From 7c6f9ef4aac84e0279cf0b343bd7e0d292485be3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Mur=C3=A9?= Date: Wed, 25 Jul 2018 21:49:32 +0200 Subject: [PATCH] cache: add shortcut functions --- cache/cache.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/cache/cache.go b/cache/cache.go index a46922bea1e6902bbff8c4333d9740e764396a94..7c5a80ce4a62e371769951620a43973f42e575e9 100644 --- a/cache/cache.go +++ b/cache/cache.go @@ -11,8 +11,13 @@ import ( type Cache interface { RegisterRepository(ref string, repo repository.Repo) RegisterDefaultRepository(repo repository.Repo) + ResolveRepo(ref string) (CachedRepo, error) DefaultRepo() (CachedRepo, error) + + // Shortcut to resolve on the default repo for convenience + DefaultResolveBug(id string) (CachedBug, error) + DefaultResolveBugPrefix(prefix string) (CachedBug, error) } type CachedRepo interface { @@ -66,6 +71,26 @@ func (c *DefaultCache) ResolveRepo(ref string) (CachedRepo, error) { return r, nil } +func (c *DefaultCache) DefaultResolveBug(id string) (CachedBug, error) { + repo, err := c.DefaultRepo() + + if err != nil { + return nil, err + } + + return repo.ResolveBug(id) +} + +func (c *DefaultCache) DefaultResolveBugPrefix(prefix string) (CachedBug, error) { + repo, err := c.DefaultRepo() + + if err != nil { + return nil, err + } + + return repo.ResolveBugPrefix(prefix) +} + // Repo ------------------------ type CachedRepoImpl struct {