1package resolvers
2
3import (
4 "context"
5
6 "github.com/git-bug/git-bug/api/graphql/graph"
7 "github.com/git-bug/git-bug/api/graphql/models"
8 "github.com/git-bug/git-bug/cache"
9)
10
11var _ graph.QueryResolver = &rootQueryResolver{}
12
13type rootQueryResolver struct {
14 cache *cache.MultiRepoCache
15}
16
17func (r rootQueryResolver) Repository(_ context.Context, ref *string) (*models.Repository, error) {
18 var repo *cache.RepoCache
19 var err error
20
21 if ref == nil {
22 repo, err = r.cache.DefaultRepo()
23 } else {
24 repo, err = r.cache.ResolveRepo(*ref)
25 }
26
27 if err != nil {
28 return nil, err
29 }
30
31 return &models.Repository{
32 Cache: r.cache,
33 Repo: repo,
34 }, nil
35}