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}