Documentation
¶
Index ¶
- Variables
- func GetBoilerModels(dir string) ([]*BoilerModel, []*BoilerEnum)
- func IsPlural(s string) bool
- func IsSingular(s string) bool
- func NewConvertPlugin(output, backend, frontend Config, pluginConfig ConvertPluginConfig) plugin.Plugin
- func NewResolverPlugin(output, backend, frontend Config, resolverPluginConfig ResolverPluginConfig) plugin.Plugin
- func Plural(s string) string
- func SchemaGet(config SchemaConfig) string
- func SchemaWrite(config SchemaConfig, outputFile string, generateOptions SchemaGenerateConfig) error
- func Singular(s string) string
- type AuthorizationScope
- type BoilerEnum
- type BoilerEnumValue
- type BoilerField
- type BoilerModel
- type BoilerType
- type ColumnSetting
- type Config
- type ConvertConfig
- type ConvertPlugin
- type ConvertPluginConfig
- type DatabaseDriver
- type Enum
- type EnumValue
- type Field
- type File
- type Import
- type Interface
- type Model
- type ModelBuild
- type ParentType
- type Preload
- type Resolver
- type ResolverBuild
- type ResolverPlugin
- type ResolverPluginConfig
- type SchemaConfig
- type SchemaField
- type SchemaGenerateConfig
- type SchemaModel
- type SimpleWriter
Constants ¶
This section is empty.
Variables ¶
View Source
var InputTypes = []string{"Create", "Update", "Delete"} //nolint:gochecknoglobals
Functions ¶
func GetBoilerModels ¶
func GetBoilerModels(dir string) ([]*BoilerModel, []*BoilerEnum)
parseModelsAndFieldsFromBoiler since these are like User.ID, User.Organization and we want them grouped by modelName and their belonging fields.
func IsSingular ¶ added in v3.1.4
func NewConvertPlugin ¶
func NewConvertPlugin(output, backend, frontend Config, pluginConfig ConvertPluginConfig) plugin.Plugin
func NewResolverPlugin ¶
func NewResolverPlugin(output, backend, frontend Config, resolverPluginConfig ResolverPluginConfig) plugin.Plugin
func SchemaGet ¶
func SchemaGet( config SchemaConfig, ) string
func SchemaWrite ¶
func SchemaWrite(config SchemaConfig, outputFile string, generateOptions SchemaGenerateConfig) error
Types ¶
type AuthorizationScope ¶ added in v3.1.0
type BoilerEnum ¶ added in v3.1.5
type BoilerEnum struct {
Name string
ModelName string
ModelFieldKey string
Values []*BoilerEnumValue
}
type BoilerEnumValue ¶ added in v3.1.5
type BoilerEnumValue struct {
Name string
}
type BoilerField ¶
type BoilerModel ¶
type BoilerModel struct {
Name string
TableName string
PluralName string
Fields []*BoilerField
Enums []*BoilerEnum
HasPrimaryStringID bool
HasDeletedAt bool
}
func FindBoilerModel ¶
func FindBoilerModel(models []*BoilerModel, modelName string) *BoilerModel
type BoilerType ¶
type ColumnSetting ¶
type ConvertConfig ¶
type ConvertPlugin ¶
type ConvertPlugin struct {
Output Config
Backend Config
Frontend Config
PluginConfig ConvertPluginConfig
// contains filtered or unexported fields
}
func (*ConvertPlugin) MutateConfig ¶
func (m *ConvertPlugin) MutateConfig(originalCfg *config.Config) error
func (*ConvertPlugin) Name ¶
func (m *ConvertPlugin) Name() string
type ConvertPluginConfig ¶
type ConvertPluginConfig struct {
DatabaseDriver DatabaseDriver
}
type DatabaseDriver ¶ added in v3.2.4
type DatabaseDriver string
DatabaseDriver defines which data syntax to use for some of the converts
const ( // MySQL is the default MySQL DatabaseDriver = "mysql" // PostgreSQL is the default PostgreSQL DatabaseDriver = "postgres" )
type EnumValue ¶
type EnumValue struct {
Description string
Name string
NameLower string
BoilerEnumValue *BoilerEnumValue
}
type Field ¶
type Field struct {
Name string
JSONName string
PluralName string
Type string
TypeWithoutPointer string
IsNumberID bool
IsPrimaryNumberID bool
IsPrimaryStringID bool
IsPrimaryID bool
IsRequired bool
IsPlural bool
ConvertConfig ConvertConfig
Enum *Enum
// relation stuff
IsRelation bool
IsRelationAndNotForeignKey bool
IsObject bool
// boiler relation stuff is inside this field
BoilerField BoilerField
// graphql relation ship can be found here
Relationship *Model
IsOr bool
IsAnd bool
// Some stuff
Description string
OriginalType types.Type
}
type File ¶
type File struct {
// These are separated because the type definition of the resolver object may live in a different file from the
// resolver method implementations, for example when extending a type in a different graphql schema file
Objects []*codegen.Object
Resolvers []*Resolver
Imports []Import
RemainingSource string
}
type Model ¶
type Model struct {
Name string
PluralName string
BoilerModel *BoilerModel
PrimaryKeyType string
Fields []*Field
IsNormal bool
IsInput bool
IsCreateInput bool
IsUpdateInput bool
IsNormalInput bool
IsPayload bool
IsConnection bool
IsEdge bool
IsOrdering bool
IsWhere bool
IsFilter bool
IsPreloadable bool
PreloadArray []Preload
HasDeletedAt bool
HasPrimaryStringID bool
// other stuff
Description string
PureFields []*ast.FieldDefinition
Implements []string
}
type ModelBuild ¶
type ModelBuild struct {
Backend Config
Frontend Config
PluginConfig ConvertPluginConfig
PackageName string
Interfaces []*Interface
Models []*Model
Enums []*Enum
Scalars []string
}
func (ModelBuild) Imports ¶ added in v3.1.2
func (t ModelBuild) Imports() []Import
type ParentType ¶ added in v3.1.5
type ParentType string
const ( ParentTypeNormal ParentType = "Normal" ParentTypeWhere ParentType = "Where" ParentTypeCreate ParentType = "Create" ParentTypeUpdate ParentType = "Update" ParentTypeBatchUpdate ParentType = "BatchUpdate" ParentTypeBatchCreate ParentType = "BatchCreate" )
type Preload ¶
type Preload struct {
Key string
ColumnSetting ColumnSetting
}
type Resolver ¶
type Resolver struct {
Object *codegen.Object
Field *codegen.Field
Implementation string
IsSingle bool
IsList bool
IsListForward bool
IsListBackward bool
IsCreate bool
IsUpdate bool
IsDelete bool
IsBatchCreate bool
IsBatchUpdate bool
IsBatchDelete bool
ResolveOrganizationID bool // TODO: something more pluggable
ResolveUserOrganizationID bool // TODO: something more pluggable
ResolveUserID bool // TODO: something more pluggable
Model Model
InputModel Model
BoilerWhiteList string
PublicErrorKey string
PublicErrorMessage string
SoftDeleteSuffix string
}
type ResolverBuild ¶
type ResolverBuild struct {
*File
HasRoot bool
PackageName string
ResolverType string
Models []*Model
AuthorizationScopes []*AuthorizationScope
TryHook func(string) bool
}
func (*ResolverBuild) ShortResolverDeclaration ¶ added in v3.1.0
func (rb *ResolverBuild) ShortResolverDeclaration(r *Resolver) string
type ResolverPlugin ¶
type ResolverPlugin struct {
// contains filtered or unexported fields
}
func (*ResolverPlugin) GenerateCode ¶
func (m *ResolverPlugin) GenerateCode(data *codegen.Data) error
func (*ResolverPlugin) Name ¶
func (m *ResolverPlugin) Name() string
type ResolverPluginConfig ¶ added in v3.1.0
type ResolverPluginConfig struct {
EnableSoftDeletes bool
AuthorizationScopes []*AuthorizationScope
}
type SchemaConfig ¶
type SchemaConfig struct {
BoilerModelDirectory Config
Directives []string
SkipInputFields []string
GenerateBatchCreate bool
GenerateMutations bool
GenerateBatchDelete bool
GenerateBatchUpdate bool
HookShouldAddModel func(model SchemaModel) bool
HookShouldAddField func(model SchemaModel, field SchemaField) bool
HookChangeField func(model *SchemaModel, field *SchemaField)
HookChangeFields func(model *SchemaModel, fields []*SchemaField, parenType ParentType) []*SchemaField
HookChangeModel func(model *SchemaModel)
}
type SchemaField ¶
type SchemaField struct {
Name string
Type string // String, ID, Integer
InputWhereType string
InputCreateType string
InputUpdateType string
InputBatchUpdateType string
InputBatchCreateType string
BoilerField *BoilerField
SkipInput bool
SkipWhere bool
SkipCreate bool
SkipUpdate bool
SkipBatchUpdate bool
SkipBatchCreate bool
InputDirectives []string
Directives []string
}
func NewSchemaField ¶ added in v3.1.5
func NewSchemaField(name string, typ string, boilerField *BoilerField) *SchemaField
func (*SchemaField) SetInputTypeForAllInputs ¶ added in v3.1.5
func (s *SchemaField) SetInputTypeForAllInputs(v string)
func (*SchemaField) SetSkipForAllInputs ¶ added in v3.1.5
func (s *SchemaField) SetSkipForAllInputs(v bool)
type SchemaGenerateConfig ¶
type SchemaGenerateConfig struct {
MergeSchema bool
}
type SchemaModel ¶
type SchemaModel struct {
Name string
Fields []*SchemaField
}
type SimpleWriter ¶
type SimpleWriter struct {
// contains filtered or unexported fields
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.
