package usefunctionsyntaxforexecutioncontext
import "github.com/99designs/gqlgen/codegen/testserver/usefunctionsyntaxforexecutioncontext"
Index ¶
- Variables
- func LogDirective(ctx context.Context, obj any, next graphql.Resolver, message *string) (res any, err error)
- func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
- type Admin
- type ComplexityRoot
- type Config
- type CreateUserInput
- type DirectiveRoot
- type Entity
- type Mutation
- type MutationResolver
- type MutationResponse
- type Query
- type QueryResolver
- type Resolver
- func (r *Resolver) Mutation() MutationResolver
- func (r *Resolver) Query() QueryResolver
- func (r *Resolver) Subscription() SubscriptionResolver
- type ResolverRoot
- type Role
- func (e Role) IsValid() bool
- func (e Role) MarshalGQL(w io.Writer)
- func (e Role) MarshalJSON() ([]byte, error)
- func (e Role) String() string
- func (e *Role) UnmarshalGQL(v any) error
- func (e *Role) UnmarshalJSON(b []byte) error
- type Stub
- func (r *Stub) Mutation() MutationResolver
- func (r *Stub) Query() QueryResolver
- func (r *Stub) Subscription() SubscriptionResolver
- type Subscription
- type SubscriptionResolver
- type User
- type UserFilter
Variables ¶
var AllRole = []Role{ RoleAdmin, RoleUser, RoleGuest, }
Functions ¶
func LogDirective ¶
func LogDirective(ctx context.Context, obj any, next graphql.Resolver, message *string) (res any, err error)
LogDirective implementation
func NewExecutableSchema ¶
func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
Types ¶
type Admin ¶
type Admin struct { ID string `json:"id"` Name string `json:"name"` Permissions []string `json:"permissions"` CreatedAt *string `json:"createdAt,omitempty"` }
func (Admin) GetCreatedAt ¶
func (Admin) GetID ¶
func (Admin) IsEntity ¶
func (Admin) IsEntity()
type ComplexityRoot ¶
type ComplexityRoot struct { Admin struct { CreatedAt func(childComplexity int) int ID func(childComplexity int) int Name func(childComplexity int) int Permissions func(childComplexity int) int } Mutation struct { CreateUser func(childComplexity int, input CreateUserInput) int DeleteUser func(childComplexity int, id string) int } MutationResponse struct { Message func(childComplexity int) int Success func(childComplexity int) int } Query struct { GetEntity func(childComplexity int, id string) int GetUser func(childComplexity int, id string) int ListUsers func(childComplexity int, filter *UserFilter) int } Subscription struct { UserCreated func(childComplexity int) int } User struct { Age func(childComplexity int) int CreatedAt func(childComplexity int) int Email func(childComplexity int) int ID func(childComplexity int) int Name func(childComplexity int) int Role func(childComplexity int) int } }
type Config ¶
type Config struct { Schema *ast.Schema Resolvers ResolverRoot Directives DirectiveRoot Complexity ComplexityRoot }
type CreateUserInput ¶
type CreateUserInput struct { Name string `json:"name"` Email string `json:"email"` Age *int `json:"age,omitempty"` Role *Role `json:"role,omitempty"` }
type DirectiveRoot ¶
type DirectiveRoot struct { Log func(ctx context.Context, obj any, next graphql.Resolver, message *string) (res any, err error) }
type Entity ¶
type Mutation ¶
type Mutation struct { }
type MutationResolver ¶
type MutationResolver interface { CreateUser(ctx context.Context, input CreateUserInput) (*User, error) DeleteUser(ctx context.Context, id string) (*MutationResponse, error) }
type MutationResponse ¶
type MutationResponse struct { Success bool `json:"success"` Message *string `json:"message,omitempty"` }
type Query ¶
type Query struct { }
type QueryResolver ¶
type QueryResolver interface { GetUser(ctx context.Context, id string) (*User, error) ListUsers(ctx context.Context, filter *UserFilter) ([]*User, error) GetEntity(ctx context.Context, id string) (Entity, error) }
type Resolver ¶
type Resolver struct{}
func (*Resolver) Mutation ¶
func (r *Resolver) Mutation() MutationResolver
Mutation returns MutationResolver implementation.
func (*Resolver) Query ¶
func (r *Resolver) Query() QueryResolver
Query returns QueryResolver implementation.
func (*Resolver) Subscription ¶
func (r *Resolver) Subscription() SubscriptionResolver
Subscription returns SubscriptionResolver implementation.
type ResolverRoot ¶
type ResolverRoot interface { Mutation() MutationResolver Query() QueryResolver Subscription() SubscriptionResolver }
type Role ¶
type Role string
func (Role) IsValid ¶
func (Role) MarshalGQL ¶
func (Role) MarshalJSON ¶
func (Role) String ¶
func (*Role) UnmarshalGQL ¶
func (*Role) UnmarshalJSON ¶
type Stub ¶
type Stub struct { MutationResolver struct { CreateUser func(ctx context.Context, input CreateUserInput) (*User, error) DeleteUser func(ctx context.Context, id string) (*MutationResponse, error) } QueryResolver struct { GetUser func(ctx context.Context, id string) (*User, error) ListUsers func(ctx context.Context, filter *UserFilter) ([]*User, error) GetEntity func(ctx context.Context, id string) (Entity, error) } SubscriptionResolver struct { UserCreated func(ctx context.Context) (<-chan *User, error) } }
func (*Stub) Mutation ¶
func (r *Stub) Mutation() MutationResolver
func (*Stub) Query ¶
func (r *Stub) Query() QueryResolver
func (*Stub) Subscription ¶
func (r *Stub) Subscription() SubscriptionResolver
type Subscription ¶
type Subscription struct { }
type SubscriptionResolver ¶
type User ¶
type User struct { ID string `json:"id"` Name string `json:"name"` Email string `json:"email"` Age *int `json:"age,omitempty"` Role Role `json:"role"` CreatedAt *string `json:"createdAt,omitempty"` }
func (User) GetCreatedAt ¶
func (User) GetID ¶
func (User) IsEntity ¶
func (User) IsEntity()
type UserFilter ¶
type UserFilter struct { Name *string `json:"name,omitempty"` Email *string `json:"email,omitempty"` Age *int `json:"age,omitempty"` Roles []Role `json:"roles,omitempty"` IsActive *bool `json:"isActive,omitempty"` }
Source Files ¶
directive.go generated.go models-gen.go resolver.go stub.go
- Version
- v0.17.73 (latest)
- Published
- May 2, 2025
- Platform
- linux/amd64
- Imports
- 14 packages
- Last checked
- 4 days ago –
Tools for package owners.