forked from evergreen-ci/evergreen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
volume_resolver.go
35 lines (29 loc) · 1.14 KB
/
volume_resolver.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package graphql
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
// Code generated by github.com/99designs/gqlgen version v0.17.38
import (
"context"
"fmt"
"github.com/evergreen-ci/evergreen/model/host"
restModel "github.com/evergreen-ci/evergreen/rest/model"
)
// Host is the resolver for the host field.
func (r *volumeResolver) Host(ctx context.Context, obj *restModel.APIVolume) (*restModel.APIHost, error) {
if obj.HostID == nil || *obj.HostID == "" {
return nil, nil
}
h, err := host.FindOneId(ctx, *obj.HostID)
if err != nil {
return nil, InternalServerError.Send(ctx, fmt.Sprintf("Error finding host %s: %s", *obj.HostID, err.Error()))
}
if h == nil {
return nil, ResourceNotFound.Send(ctx, fmt.Sprintf("Unable to find host %s", *obj.HostID))
}
apiHost := restModel.APIHost{}
apiHost.BuildFromService(h, nil)
return &apiHost, nil
}
// Volume returns VolumeResolver implementation.
func (r *Resolver) Volume() VolumeResolver { return &volumeResolver{r} }
type volumeResolver struct{ *Resolver }