mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 22:05:43 +01:00
* 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
31 lines
742 B
Go
31 lines
742 B
Go
// plugin package interfaces are EXPERIMENTAL.
|
|
|
|
package plugin
|
|
|
|
import (
|
|
"github.com/99designs/gqlgen/codegen"
|
|
"github.com/99designs/gqlgen/codegen/config"
|
|
"github.com/vektah/gqlparser/v2/ast"
|
|
)
|
|
|
|
type Plugin interface {
|
|
Name() string
|
|
}
|
|
|
|
type ConfigMutator interface {
|
|
MutateConfig(cfg *config.Config) error
|
|
}
|
|
|
|
type CodeGenerator interface {
|
|
GenerateCode(cfg *codegen.Data) error
|
|
}
|
|
|
|
// EarlySourceInjector is used to inject things that are required for user schema files to compile.
|
|
type EarlySourceInjector interface {
|
|
InjectSourceEarly() *ast.Source
|
|
}
|
|
|
|
// LateSourceInjector is used to inject more sources, after we have loaded the users schema.
|
|
type LateSourceInjector interface {
|
|
InjectSourceLate(schema *ast.Schema) *ast.Source
|
|
}
|