mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 12:54:38 +03:00
Stash box client interface (#751)
* Add gql client generation files * Update dependencies * Add stash-box client generation to the makefile * Move scraped scene object matchers to models * Add stash-box to scrape with dropdown * Add scrape scene from fingerprint in UI
This commit is contained in:
55
vendor/github.com/99designs/gqlgen/plugin/modelgen/models.go
generated
vendored
55
vendor/github.com/99designs/gqlgen/plugin/modelgen/models.go
generated
vendored
@@ -7,11 +7,16 @@ import (
|
||||
|
||||
"github.com/99designs/gqlgen/codegen/config"
|
||||
"github.com/99designs/gqlgen/codegen/templates"
|
||||
"github.com/99designs/gqlgen/internal/code"
|
||||
"github.com/99designs/gqlgen/plugin"
|
||||
"github.com/vektah/gqlparser/ast"
|
||||
"github.com/vektah/gqlparser/v2/ast"
|
||||
)
|
||||
|
||||
type BuildMutateHook = func(b *ModelBuild) *ModelBuild
|
||||
|
||||
func defaultBuildMutateHook(b *ModelBuild) *ModelBuild {
|
||||
return b
|
||||
}
|
||||
|
||||
type ModelBuild struct {
|
||||
PackageName string
|
||||
Interfaces []*Interface
|
||||
@@ -51,10 +56,14 @@ type EnumValue struct {
|
||||
}
|
||||
|
||||
func New() plugin.Plugin {
|
||||
return &Plugin{}
|
||||
return &Plugin{
|
||||
MutateHook: defaultBuildMutateHook,
|
||||
}
|
||||
}
|
||||
|
||||
type Plugin struct{}
|
||||
type Plugin struct {
|
||||
MutateHook BuildMutateHook
|
||||
}
|
||||
|
||||
var _ plugin.ConfigMutator = &Plugin{}
|
||||
|
||||
@@ -63,31 +72,16 @@ func (m *Plugin) Name() string {
|
||||
}
|
||||
|
||||
func (m *Plugin) MutateConfig(cfg *config.Config) error {
|
||||
if err := cfg.Check(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
schema, _, err := cfg.LoadSchema()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
cfg.InjectBuiltins(schema)
|
||||
|
||||
binder, err := cfg.NewBinder(schema)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
binder := cfg.NewBinder()
|
||||
|
||||
b := &ModelBuild{
|
||||
PackageName: cfg.Model.Package,
|
||||
}
|
||||
|
||||
for _, schemaType := range schema.Types {
|
||||
for _, schemaType := range cfg.Schema.Types {
|
||||
if cfg.Models.UserDefined(schemaType.Name) {
|
||||
continue
|
||||
}
|
||||
|
||||
switch schemaType.Kind {
|
||||
case ast.Interface, ast.Union:
|
||||
it := &Interface{
|
||||
@@ -97,25 +91,24 @@ func (m *Plugin) MutateConfig(cfg *config.Config) error {
|
||||
|
||||
b.Interfaces = append(b.Interfaces, it)
|
||||
case ast.Object, ast.InputObject:
|
||||
if schemaType == schema.Query || schemaType == schema.Mutation || schemaType == schema.Subscription {
|
||||
if schemaType == cfg.Schema.Query || schemaType == cfg.Schema.Mutation || schemaType == cfg.Schema.Subscription {
|
||||
continue
|
||||
}
|
||||
it := &Object{
|
||||
Description: schemaType.Description,
|
||||
Name: schemaType.Name,
|
||||
}
|
||||
|
||||
for _, implementor := range schema.GetImplements(schemaType) {
|
||||
for _, implementor := range cfg.Schema.GetImplements(schemaType) {
|
||||
it.Implements = append(it.Implements, implementor.Name)
|
||||
}
|
||||
|
||||
for _, field := range schemaType.Fields {
|
||||
var typ types.Type
|
||||
fieldDef := schema.Types[field.Type.Name()]
|
||||
fieldDef := cfg.Schema.Types[field.Type.Name()]
|
||||
|
||||
if cfg.Models.UserDefined(field.Type.Name()) {
|
||||
pkg, typeName := code.PkgAndType(cfg.Models[field.Type.Name()].Model[0])
|
||||
typ, err = binder.FindType(pkg, typeName)
|
||||
var err error
|
||||
typ, err = binder.FindTypeFromName(cfg.Models[field.Type.Name()].Model[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -196,7 +189,6 @@ func (m *Plugin) MutateConfig(cfg *config.Config) error {
|
||||
b.Scalars = append(b.Scalars, schemaType.Name)
|
||||
}
|
||||
}
|
||||
|
||||
sort.Slice(b.Enums, func(i, j int) bool { return b.Enums[i].Name < b.Enums[j].Name })
|
||||
sort.Slice(b.Models, func(i, j int) bool { return b.Models[i].Name < b.Models[j].Name })
|
||||
sort.Slice(b.Interfaces, func(i, j int) bool { return b.Interfaces[i].Name < b.Interfaces[j].Name })
|
||||
@@ -214,15 +206,20 @@ func (m *Plugin) MutateConfig(cfg *config.Config) error {
|
||||
cfg.Models.Add(it, "github.com/99designs/gqlgen/graphql.String")
|
||||
}
|
||||
|
||||
if len(b.Models) == 0 && len(b.Enums) == 0 {
|
||||
if len(b.Models) == 0 && len(b.Enums) == 0 && len(b.Interfaces) == 0 && len(b.Scalars) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
if m.MutateHook != nil {
|
||||
b = m.MutateHook(b)
|
||||
}
|
||||
|
||||
return templates.Render(templates.Options{
|
||||
PackageName: cfg.Model.Package,
|
||||
Filename: cfg.Model.Filename,
|
||||
Data: b,
|
||||
GeneratedHeader: true,
|
||||
Packages: cfg.Packages,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user