# Where are all the schema files located? globs are supported eg src/**/*.graphqls schema: - api/*.graphqls # Where should the generated server code go? exec: filename: internal/graph/generated/generated.go package: generated # Where should any generated models go? model: filename: internal/graph/model/models_gen.go package: model # Where should the resolver implementations go? resolver: layout: follow-schema dir: internal/graph package: graph # Optional: turn on use `gqlgen:"fieldName"` tags in your models # struct_tag: json # Optional: turn on to use []Thing instead of []*Thing # omit_slice_element_pointers: false # Optional: set to speed up generation time by not performing a final validation pass. # skip_validation: true # gqlgen will search for any type names in the schema in these go packages # if they match it will use them, otherwise it will generate them. autobind: - "github.com/ClusterCockpit/cc-backend/internal/graph/model" # This section declares type mapping between the GraphQL and go type systems # # The first line in each type will be used as defaults for resolver arguments and # modelgen, the others will be allowed when binding to fields. Configure them to # your liking models: ID: model: - github.com/99designs/gqlgen/graphql.ID - github.com/99designs/gqlgen/graphql.Int - github.com/99designs/gqlgen/graphql.Int64 - github.com/99designs/gqlgen/graphql.Int32 Int: model: - github.com/99designs/gqlgen/graphql.Int - github.com/99designs/gqlgen/graphql.Int64 - github.com/99designs/gqlgen/graphql.Int32 Job: model: "github.com/ClusterCockpit/cc-backend/pkg/schema.Job" fields: tags: resolver: true metaData: resolver: true Cluster: model: "github.com/ClusterCockpit/cc-backend/pkg/schema.Cluster" fields: partitions: resolver: true NullableFloat: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.Float" } MetricScope: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.MetricScope" } MetricValue: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.MetricValue" } JobStatistics: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.JobStatistics" } GlobalMetricListItem: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.GlobalMetricListItem", } ClusterSupport: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.ClusterSupport" } Tag: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.Tag" } Resource: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.Resource" } JobState: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.JobState" } TimeRange: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.TimeRange" } IntRange: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.IntRange" } JobMetric: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.JobMetric" } Series: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.Series" } MetricStatistics: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.MetricStatistics", } MetricConfig: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.MetricConfig" } SubClusterConfig: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.SubClusterConfig", } Accelerator: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.Accelerator" } Topology: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.Topology" } FilterRanges: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.FilterRanges" } SubCluster: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.SubCluster" } StatsSeries: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.StatsSeries" } Unit: { model: "github.com/ClusterCockpit/cc-backend/pkg/schema.Unit" }