Files
upstream-traggo/graphql/resolver.go
upstream-mirror cda7c1a474
Some checks failed
build / build (push) Failing after 3s
snapshot of https://github.com/traggo/server.git (master, 2026-09-16; blobs > 131072B omitted)
2026-09-16 05:24:45 +05:00

72 lines
1.7 KiB
Go

package graphql
import (
"context"
"github.com/traggo/server/dashboard"
"github.com/traggo/server/setting"
"github.com/jinzhu/copier"
"github.com/jinzhu/gorm"
"github.com/traggo/server/device"
"github.com/traggo/server/generated/gqlmodel"
"github.com/traggo/server/generated/gqlschema"
"github.com/traggo/server/model"
"github.com/traggo/server/statistics"
"github.com/traggo/server/tag"
"github.com/traggo/server/timespan"
"github.com/traggo/server/user"
)
// NewResolver combines all resolvers to a resolver root.
func NewResolver(db *gorm.DB, passStrength int, version model.Version) gqlschema.ResolverRoot {
return &resolver{
ResolverForUser: user.ResolverForUser{
DB: db,
PassStrength: passStrength,
},
ResolverForTag: tag.ResolverForTag{
DB: db,
},
ResolverForDevice: device.ResolverForDevice{
DB: db,
},
ResolverForTimeSpan: timespan.ResolverForTimeSpan{
DB: db,
},
ResolverForStatistics: statistics.ResolverForStatistics{
DB: db,
},
ResolverForSettings: setting.ResolverForSettings{
DB: db,
},
ResolverForDashboard: dashboard.NewResolverForDashboard(db),
version: version,
}
}
type resolver struct {
user.ResolverForUser
tag.ResolverForTag
device.ResolverForDevice
timespan.ResolverForTimeSpan
statistics.ResolverForStatistics
version model.Version
setting.ResolverForSettings
dashboard.ResolverForDashboard
}
func (r *resolver) RootMutation() gqlschema.RootMutationResolver {
return r
}
func (r *resolver) RootQuery() gqlschema.RootQueryResolver {
return r
}
func (r *resolver) Version(ctx context.Context) (*gqlmodel.Version, error) {
gql := &gqlmodel.Version{}
copier.Copy(gql, r.version)
return gql, nil
}