Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewExecutableSchema ¶
func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
Types ¶
type CategoryResolver ¶
type CollectionResolver ¶
type ComplexityRoot ¶
type ComplexityRoot struct {
AuthSession struct {
ExpiresAt func(childComplexity int) int
Token func(childComplexity int) int
User func(childComplexity int) int
}
CatalogStats struct {
CategoryCount func(childComplexity int) int
CollectionCount func(childComplexity int) int
OrphanedReferences func(childComplexity int) int
ProductCount func(childComplexity int) int
}
CatalogVersion struct {
Commit func(childComplexity int) int
Message func(childComplexity int) int
PublishedAt func(childComplexity int) int
Stats func(childComplexity int) int
Tag func(childComplexity int) int
}
Category struct {
Body func(childComplexity int) int
Children func(childComplexity int) int
CreatedAt func(childComplexity int) int
Depth func(childComplexity int) int
DisplayOrder func(childComplexity int) int
ID func(childComplexity int) int
Name func(childComplexity int) int
Parent func(childComplexity int) int
Path func(childComplexity int) int
Products func(childComplexity int, first *int32, after *string, last *int32, before *string) int
Slug func(childComplexity int) int
UpdatedAt func(childComplexity int) int
}
CategoryOptimisticLockConflict struct {
AttemptedVersion func(childComplexity int) int
Current func(childComplexity int) int
CurrentVersion func(childComplexity int) int
Diff func(childComplexity int) int
}
Collection struct {
Body func(childComplexity int) int
CreatedAt func(childComplexity int) int
DisplayOrder func(childComplexity int) int
ID func(childComplexity int) int
Name func(childComplexity int) int
ProductCount func(childComplexity int) int
Products func(childComplexity int, first *int32, after *string, last *int32, before *string) int
Slug func(childComplexity int) int
UpdatedAt func(childComplexity int) int
}
CollectionOptimisticLockConflict struct {
AttemptedVersion func(childComplexity int) int
Current func(childComplexity int) int
CurrentVersion func(childComplexity int) int
Diff func(childComplexity int) int
}
CreateCategoryPayload struct {
Category func(childComplexity int) int
ClientMutationID func(childComplexity int) int
}
CreateCollectionPayload struct {
ClientMutationID func(childComplexity int) int
Collection func(childComplexity int) int
}
CreateProductPayload struct {
ClientMutationID func(childComplexity int) int
Product func(childComplexity int) int
}
DeleteCategoryPayload struct {
ClientMutationID func(childComplexity int) int
DeletedCategoryID func(childComplexity int) int
OrphanedProductIds func(childComplexity int) int
}
DeleteCollectionPayload struct {
ClientMutationID func(childComplexity int) int
DeletedCollectionID func(childComplexity int) int
}
DeleteProductPayload struct {
ClientMutationID func(childComplexity int) int
DeletedProductID func(childComplexity int) int
}
LoginPayload struct {
ClientMutationID func(childComplexity int) int
Session func(childComplexity int) int
}
LogoutPayload struct {
ClientMutationID func(childComplexity int) int
Success func(childComplexity int) int
}
Mutation struct {
CreateCategory func(childComplexity int, input model.CreateCategoryInput) int
CreateCollection func(childComplexity int, input model.CreateCollectionInput) int
CreateProduct func(childComplexity int, input model.CreateProductInput) int
DeleteCategory func(childComplexity int, input model.DeleteCategoryInput) int
DeleteCollection func(childComplexity int, input model.DeleteCollectionInput) int
DeleteProduct func(childComplexity int, input model.DeleteProductInput) int
Login func(childComplexity int, input model.LoginInput) int
Logout func(childComplexity int, input model.LogoutInput) int
PublishCatalog func(childComplexity int, input model.PublishCatalogInput) int
RefreshToken func(childComplexity int, input model.RefreshTokenInput) int
ReorderCategories func(childComplexity int, input model.ReorderCategoriesInput) int
ReorderCollections func(childComplexity int, input model.ReorderCollectionsInput) int
UpdateCategory func(childComplexity int, input model.UpdateCategoryInput) int
UpdateCollection func(childComplexity int, input model.UpdateCollectionInput) int
UpdateProduct func(childComplexity int, input model.UpdateProductInput) int
}
OptimisticLockConflict struct {
AttemptedVersion func(childComplexity int) int
Current func(childComplexity int) int
CurrentVersion func(childComplexity int) int
Diff func(childComplexity int) int
}
PageInfo struct {
EndCursor func(childComplexity int) int
HasNextPage func(childComplexity int) int
HasPreviousPage func(childComplexity int) int
StartCursor func(childComplexity int) int
}
Product struct {
Body func(childComplexity int) int
Category func(childComplexity int) int
Collections func(childComplexity int) int
CreatedAt func(childComplexity int) int
Currency func(childComplexity int) int
ID func(childComplexity int) int
Images func(childComplexity int) int
InventoryQuantity func(childComplexity int) int
InventoryStatus func(childComplexity int) int
Metadata func(childComplexity int) int
Price func(childComplexity int) int
Sku func(childComplexity int) int
Title func(childComplexity int) int
UpdatedAt func(childComplexity int) int
}
ProductConnection struct {
Edges func(childComplexity int) int
PageInfo func(childComplexity int) int
TotalCount func(childComplexity int) int
}
ProductEdge struct {
Cursor func(childComplexity int) int
Node func(childComplexity int) int
}
PublishCatalogPayload struct {
CatalogVersion func(childComplexity int) int
ClientMutationID func(childComplexity int) int
}
Query struct {
CatalogVersion func(childComplexity int) int
Categories func(childComplexity int) int
Category func(childComplexity int, slug string) int
CategoryByID func(childComplexity int, id string) int
Collection func(childComplexity int, slug string) int
CollectionByID func(childComplexity int, id string) int
Collections func(childComplexity int) int
Node func(childComplexity int, id string) int
Nodes func(childComplexity int, ids []string) int
Product func(childComplexity int, sku string) int
ProductByID func(childComplexity int, id string) int
Products func(childComplexity int, first *int32, after *string, last *int32, before *string, filter *model.ProductFilter) int
}
RefreshTokenPayload struct {
ClientMutationID func(childComplexity int) int
Session func(childComplexity int) int
}
ReorderCategoriesPayload struct {
Categories func(childComplexity int) int
ClientMutationID func(childComplexity int) int
}
ReorderCollectionsPayload struct {
ClientMutationID func(childComplexity int) int
Collections func(childComplexity int) int
}
UpdateCategoryPayload struct {
Category func(childComplexity int) int
ClientMutationID func(childComplexity int) int
Conflict func(childComplexity int) int
}
UpdateCollectionPayload struct {
ClientMutationID func(childComplexity int) int
Collection func(childComplexity int) int
Conflict func(childComplexity int) int
}
UpdateProductPayload struct {
ClientMutationID func(childComplexity int) int
Conflict func(childComplexity int) int
Product func(childComplexity int) int
}
User struct {
IsAdmin func(childComplexity int) int
Username func(childComplexity int) int
}
}
type Config ¶
type Config = graphql.Config[ResolverRoot, DirectiveRoot, ComplexityRoot]
type DirectiveRoot ¶
type DirectiveRoot struct {
}
type MutationResolver ¶
type MutationResolver interface {
CreateProduct(ctx context.Context, input model.CreateProductInput) (*model.CreateProductPayload, error)
UpdateProduct(ctx context.Context, input model.UpdateProductInput) (*model.UpdateProductPayload, error)
DeleteProduct(ctx context.Context, input model.DeleteProductInput) (*model.DeleteProductPayload, error)
CreateCategory(ctx context.Context, input model.CreateCategoryInput) (*model.CreateCategoryPayload, error)
UpdateCategory(ctx context.Context, input model.UpdateCategoryInput) (*model.UpdateCategoryPayload, error)
DeleteCategory(ctx context.Context, input model.DeleteCategoryInput) (*model.DeleteCategoryPayload, error)
ReorderCategories(ctx context.Context, input model.ReorderCategoriesInput) (*model.ReorderCategoriesPayload, error)
CreateCollection(ctx context.Context, input model.CreateCollectionInput) (*model.CreateCollectionPayload, error)
UpdateCollection(ctx context.Context, input model.UpdateCollectionInput) (*model.UpdateCollectionPayload, error)
DeleteCollection(ctx context.Context, input model.DeleteCollectionInput) (*model.DeleteCollectionPayload, error)
ReorderCollections(ctx context.Context, input model.ReorderCollectionsInput) (*model.ReorderCollectionsPayload, error)
PublishCatalog(ctx context.Context, input model.PublishCatalogInput) (*model.PublishCatalogPayload, error)
Login(ctx context.Context, input model.LoginInput) (*model.LoginPayload, error)
Logout(ctx context.Context, input model.LogoutInput) (*model.LogoutPayload, error)
RefreshToken(ctx context.Context, input model.RefreshTokenInput) (*model.RefreshTokenPayload, error)
}
type ProductResolver ¶
type QueryResolver ¶
type QueryResolver interface {
Node(ctx context.Context, id string) (model.Node, error)
Nodes(ctx context.Context, ids []string) ([]model.Node, error)
Product(ctx context.Context, sku string) (*model.Product, error)
ProductByID(ctx context.Context, id string) (*model.Product, error)
Products(ctx context.Context, first *int32, after *string, last *int32, before *string, filter *model.ProductFilter) (*model.ProductConnection, error)
Category(ctx context.Context, slug string) (*model.Category, error)
CategoryByID(ctx context.Context, id string) (*model.Category, error)
Categories(ctx context.Context) ([]*model.Category, error)
Collection(ctx context.Context, slug string) (*model.Collection, error)
CollectionByID(ctx context.Context, id string) (*model.Collection, error)
Collections(ctx context.Context) ([]*model.Collection, error)
CatalogVersion(ctx context.Context) (*model.CatalogVersion, error)
}
type ResolverRoot ¶
type ResolverRoot interface {
Category() CategoryResolver
Collection() CollectionResolver
Mutation() MutationResolver
Product() ProductResolver
Query() QueryResolver
}
Click to show internal directories.
Click to hide internal directories.