resolver

package
v0.4.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	LabelSelectorArg   = "labelselector"
	NameArg            = "name"
	NamespaceArg       = "namespace"
	ObjectArg          = "object"
	SubscribeToAllArg  = "subscribeToAll"
	SortByArg          = "sortBy"
	DryRunArg          = "dryRun"
	ResourceVersionArg = "resourceVersion"
	LimitArg           = "limit"
	ContinueArg        = "continue"
)
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"
)
View Source
const (
	EventTypeAdded    = "ADDED"
	EventTypeModified = "MODIFIED"
	EventTypeDeleted  = "DELETED"
)

Event type constants used in subscription envelopes

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) WithContinue added in v0.4.0

WithContinue adds a pagination continue token argument for list queries

func (*FieldConfigArgumentsBuilder) WithDryRun

func (*FieldConfigArgumentsBuilder) WithLabelSelector

func (*FieldConfigArgumentsBuilder) WithLimit added in v0.4.0

WithLimit adds a pagination limit argument for list queries

func (*FieldConfigArgumentsBuilder) WithName

func (*FieldConfigArgumentsBuilder) WithNamespace

func (*FieldConfigArgumentsBuilder) WithObject

func (*FieldConfigArgumentsBuilder) WithResourceVersion added in v0.3.8

func (b *FieldConfigArgumentsBuilder) WithResourceVersion() *FieldConfigArgumentsBuilder

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