1package resolvers
 2
 3import (
 4	"context"
 5
 6	"github.com/MichaelMure/git-bug/api/graphql/graph"
 7	"github.com/MichaelMure/git-bug/api/graphql/models"
 8	"github.com/MichaelMure/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}