resolver

package
v0.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2025 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LabelSelectorArg  = "labelselector"
	NameArg           = "name"
	NamespaceArg      = "namespace"
	ObjectArg         = "object"
	SubscribeToAllArg = "subscribeToAll"
	SortByArg         = "sortBy"
	DryRunArg         = "dryRun"
)
View Source
const (
	LIST_ITEMS       = "ListItems"
	GET_ITEM         = "GetItem"
	GET_ITEM_AS_YAML = "GetItemAsYAML"
	CREATE_ITEM      = "CreateItem"
	UPDATE_ITEM      = "UpdateItem"
	DELETE_ITEM      = "DeleteItem"
	SUBSCRIBE_ITEM   = "SubscribeItem"
	SUBSCRIBE_ITEMS  = "SubscribeItems"
)

Variables

View Source
var (
	ErrFailedToCastEventObjectToUnstructured = fmt.Errorf("failed to cast event object to unstructured")
)

Functions

func CreateSubscriptionResolver

func CreateSubscriptionResolver(isSingle bool) graphql.FieldResolveFn

Types

type CustomQueriesProvider

type CustomQueriesProvider interface {
	TypeByCategory(m map[string][]TypeByCategory) graphql.FieldResolveFn
}

type FieldConfigArgumentsBuilder

type FieldConfigArgumentsBuilder struct {
	// contains filtered or unexported fields
}

FieldConfigArgumentsBuilder helps construct GraphQL field config arguments

func NewFieldConfigArguments

func NewFieldConfigArguments() *FieldConfigArgumentsBuilder

NewFieldConfigArguments initializes a new builder

func (*FieldConfigArgumentsBuilder) Complete

Complete returns the constructed arguments and dereferences the builder

func (*FieldConfigArgumentsBuilder) WithDryRun

func (*FieldConfigArgumentsBuilder) WithLabelSelector

func (*FieldConfigArgumentsBuilder) WithName

func (*FieldConfigArgumentsBuilder) WithNamespace

func (*FieldConfigArgumentsBuilder) WithObject

func (*FieldConfigArgumentsBuilder) WithSortBy

func (*FieldConfigArgumentsBuilder) WithSubscribeToAll

type Provider

type Provider interface {
	CrudProvider
	CustomQueriesProvider
	CommonResolver() graphql.FieldResolveFn
	SanitizeGroupName(string) string
	RelationResolver(fieldName string, gvk schema.GroupVersionKind) graphql.FieldResolveFn
}

type Service

type Service struct {
	// contains filtered or unexported fields
}

func New

func New(log *logger.Logger, runtimeClient client.WithWatch) *Service

func (*Service) CommonResolver

func (r *Service) CommonResolver() graphql.FieldResolveFn

func (*Service) CreateItem

func (*Service) DeleteItem

DeleteItem returns a CommonResolver function for deleting a resource.

func (*Service) GetItem

GetItem returns a GraphQL CommonResolver function that retrieves a single Kubernetes resource of the given GroupVersionKind.

func (*Service) GetItemAsYAML

func (r *Service) GetItemAsYAML(gvk schema.GroupVersionKind, scope v1.ResourceScope) graphql.FieldResolveFn

func (*Service) ListItems

ListItems returns a GraphQL CommonResolver function that lists Kubernetes resources of the given GroupVersionKind.

func (*Service) RelationResolver

func (r *Service) RelationResolver(fieldName string, gvk schema.GroupVersionKind) graphql.FieldResolveFn

RelationResolver creates a GraphQL resolver for relation fields Relationships are only enabled for GetItem queries to prevent N+1 problems in ListItems and Subscriptions

func (*Service) SanitizeGroupName

func (r *Service) SanitizeGroupName(groupName string) string

func (*Service) SubscribeItem

func (r *Service) SubscribeItem(gvk schema.GroupVersionKind, scope v1.ResourceScope) graphql.FieldResolveFn

func (*Service) SubscribeItems

func (r *Service) SubscribeItems(gvk schema.GroupVersionKind, scope v1.ResourceScope) graphql.FieldResolveFn

func (*Service) TypeByCategory

func (r *Service) TypeByCategory(m map[string][]TypeByCategory) graphql.FieldResolveFn

func (*Service) UpdateItem

type TypeByCategory

type TypeByCategory struct {
	Group   string
	Version string
	Kind    string
	Scope   string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL