Documentation
¶
Overview ¶
Package graphapi does graph stuff
Index ¶
- Constants
- Variables
- func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
- func WithTransactions(h *handler.Server, c *ent.Client)
- type ComplexityRoot
- type Config
- type DatabaseCreatePayload
- type DatabaseDeletePayload
- type DatabaseUpdatePayload
- type DirectiveRoot
- type GroupCreatePayload
- type GroupDeletePayload
- type GroupUpdatePayload
- type Handler
- type MutationResolver
- type QueryResolver
- type Resolver
- type ResolverRoot
Constants ¶
View Source
const ( ActionGet = "get" ActionUpdate = "update" ActionDelete = "delete" ActionCreate = "create" )
Variables ¶
View Source
var ( // ErrCascadeDelete is returned when an error occurs while performing cascade deletes on associated objects ErrCascadeDelete = errors.New("error deleting associated objects") )
Functions ¶
func NewExecutableSchema ¶
func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
Types ¶
type ComplexityRoot ¶
type ComplexityRoot struct {
Database struct {
CreatedAt func(childComplexity int) int
CreatedBy func(childComplexity int) int
DeletedAt func(childComplexity int) int
DeletedBy func(childComplexity int) int
Dsn func(childComplexity int) int
Geo func(childComplexity int) int
Group func(childComplexity int) int
GroupID func(childComplexity int) int
ID func(childComplexity int) int
Name func(childComplexity int) int
OrganizationID func(childComplexity int) int
Provider func(childComplexity int) int
Status func(childComplexity int) int
UpdatedAt func(childComplexity int) int
UpdatedBy func(childComplexity int) int
}
DatabaseConnection struct {
Edges func(childComplexity int) int
PageInfo func(childComplexity int) int
TotalCount func(childComplexity int) int
}
DatabaseCreatePayload struct {
Database func(childComplexity int) int
}
DatabaseDeletePayload struct {
DeletedID func(childComplexity int) int
}
DatabaseEdge struct {
Cursor func(childComplexity int) int
Node func(childComplexity int) int
}
DatabaseUpdatePayload struct {
Database func(childComplexity int) int
}
Group struct {
CreatedAt func(childComplexity int) int
CreatedBy func(childComplexity int) int
Databases func(childComplexity int) int
DeletedAt func(childComplexity int) int
DeletedBy func(childComplexity int) int
Description func(childComplexity int) int
ID func(childComplexity int) int
Locations func(childComplexity int) int
Name func(childComplexity int) int
PrimaryLocation func(childComplexity int) int
Region func(childComplexity int) int
UpdatedAt func(childComplexity int) int
UpdatedBy func(childComplexity int) int
}
GroupConnection struct {
Edges func(childComplexity int) int
PageInfo func(childComplexity int) int
TotalCount func(childComplexity int) int
}
GroupCreatePayload struct {
Group func(childComplexity int) int
}
GroupDeletePayload struct {
DeletedID func(childComplexity int) int
}
GroupEdge struct {
Cursor func(childComplexity int) int
Node func(childComplexity int) int
}
GroupUpdatePayload struct {
Group func(childComplexity int) int
}
Mutation struct {
CreateDatabase func(childComplexity int, input generated.CreateDatabaseInput) int
CreateGroup func(childComplexity int, input generated.CreateGroupInput) int
DeleteDatabase func(childComplexity int, name string) int
DeleteGroup func(childComplexity int, name string) int
UpdateDatabase func(childComplexity int, name string, input generated.UpdateDatabaseInput) int
UpdateGroup func(childComplexity int, name string, input generated.UpdateGroupInput) int
}
PageInfo struct {
EndCursor func(childComplexity int) int
HasNextPage func(childComplexity int) int
HasPreviousPage func(childComplexity int) int
StartCursor func(childComplexity int) int
}
Query struct {
Database func(childComplexity int, name string) int
Databases func(childComplexity int, after *entgql.Cursor[string], first *int, before *entgql.Cursor[string], last *int, where *generated.DatabaseWhereInput) int
Group func(childComplexity int, name string) int
Groups func(childComplexity int, after *entgql.Cursor[string], first *int, before *entgql.Cursor[string], last *int, where *generated.GroupWhereInput) int
Node func(childComplexity int, id string) int
Nodes func(childComplexity int, ids []string) int
}
}
type Config ¶
type Config struct {
Schema *ast.Schema
Resolvers ResolverRoot
Directives DirectiveRoot
Complexity ComplexityRoot
}
type DatabaseCreatePayload ¶
type DatabaseCreatePayload struct {
// Created database
Database *generated.Database `json:"database"`
}
Return response for createDatabase mutation
type DatabaseDeletePayload ¶
type DatabaseDeletePayload struct {
// Deleted database ID
DeletedID string `json:"deletedID"`
}
Return response for deleteDatabase mutation
type DatabaseUpdatePayload ¶
type DatabaseUpdatePayload struct {
// Updated database
Database *generated.Database `json:"database"`
}
Return response for updateDatabase mutation
type DirectiveRoot ¶
type DirectiveRoot struct {
}
type GroupCreatePayload ¶
Return response for createGroup mutation
type GroupDeletePayload ¶
type GroupDeletePayload struct {
// Deleted group ID
DeletedID string `json:"deletedID"`
}
Return response for deleteGroup mutation
type GroupUpdatePayload ¶
Return response for updateGroup mutation
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler is an http handler wrapping a Resolver
func (*Handler) Handler ¶
func (h *Handler) Handler() http.HandlerFunc
Handler returns the http.HandlerFunc for the GraphAPI
type MutationResolver ¶
type MutationResolver interface {
CreateDatabase(ctx context.Context, input generated.CreateDatabaseInput) (*DatabaseCreatePayload, error)
UpdateDatabase(ctx context.Context, name string, input generated.UpdateDatabaseInput) (*DatabaseUpdatePayload, error)
DeleteDatabase(ctx context.Context, name string) (*DatabaseDeletePayload, error)
CreateGroup(ctx context.Context, input generated.CreateGroupInput) (*GroupCreatePayload, error)
UpdateGroup(ctx context.Context, name string, input generated.UpdateGroupInput) (*GroupUpdatePayload, error)
DeleteGroup(ctx context.Context, name string) (*GroupDeletePayload, error)
}
type QueryResolver ¶
type QueryResolver interface {
Node(ctx context.Context, id string) (generated.Noder, error)
Nodes(ctx context.Context, ids []string) ([]generated.Noder, error)
Databases(ctx context.Context, after *entgql.Cursor[string], first *int, before *entgql.Cursor[string], last *int, where *generated.DatabaseWhereInput) (*generated.DatabaseConnection, error)
Groups(ctx context.Context, after *entgql.Cursor[string], first *int, before *entgql.Cursor[string], last *int, where *generated.GroupWhereInput) (*generated.GroupConnection, error)
Database(ctx context.Context, name string) (*generated.Database, error)
Group(ctx context.Context, name string) (*generated.Group, error)
}
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
Resolver provides a graph response resolver
func NewResolver ¶
NewResolver returns a resolver configured with the given ent client
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) WithLogger ¶
func (r Resolver) WithLogger(l *zap.SugaredLogger) *Resolver
type ResolverRoot ¶
type ResolverRoot interface {
Mutation() MutationResolver
Query() QueryResolver
}
Click to show internal directories.
Click to hide internal directories.