mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-15 18:23:08 +03:00
49 lines
896 B
Go
49 lines
896 B
Go
package resolvers
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/MichaelMure/git-bug/cache"
|
|
"github.com/MichaelMure/git-bug/graphql/graph"
|
|
"github.com/MichaelMure/git-bug/graphql/models"
|
|
)
|
|
|
|
var _ graph.QueryResolver = &rootQueryResolver{}
|
|
|
|
type rootQueryResolver struct {
|
|
cache *cache.MultiRepoCache
|
|
}
|
|
|
|
func (r rootQueryResolver) DefaultRepository(_ context.Context) (*models.Repository, error) {
|
|
repo, err := r.cache.DefaultRepo()
|
|
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &models.Repository{
|
|
Cache: r.cache,
|
|
Repo: repo,
|
|
}, nil
|
|
}
|
|
|
|
func (r rootQueryResolver) Repository(_ context.Context, ref *string) (*models.Repository, error) {
|
|
var repo *cache.RepoCache
|
|
var err error
|
|
|
|
if ref == nil {
|
|
repo, err = r.cache.DefaultRepo()
|
|
} else {
|
|
repo, err = r.cache.ResolveRepo(*ref)
|
|
}
|
|
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &models.Repository{
|
|
Cache: r.cache,
|
|
Repo: repo,
|
|
}, nil
|
|
}
|