query.go

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