role

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Associator

type Associator interface {
	AttachRegistry(ctx context.Context, gatewayID ids.GatewayID, roleID ids.RoleID, registryID ids.RegistryID) error
	DetachRegistry(ctx context.Context, gatewayID ids.GatewayID, roleID ids.RoleID, registryID ids.RegistryID) error
}

func NewAssociator

func NewAssociator(
	repo domain.Repository,
	registryRepo registrydomain.Repository,
	manager *cache.TTLMapManager,
	publisher cache.EventPublisher,
	logger *slog.Logger,
) Associator

type CreateInput

type CreateInput struct {
	GatewayID   ids.GatewayID
	Name        string
	OIDCMapping json.RawMessage
}

type Creator

type Creator interface {
	Create(ctx context.Context, in CreateInput) (*domain.Role, error)
}

func NewCreator

func NewCreator(
	repo domain.Repository,
	manager *cache.TTLMapManager,
	publisher cache.EventPublisher,
	logger *slog.Logger,
) Creator

type Deleter

type Deleter interface {
	Delete(ctx context.Context, gatewayID ids.GatewayID, id ids.RoleID) error
}

func NewDeleter

func NewDeleter(
	repo domain.Repository,
	manager *cache.TTLMapManager,
	publisher cache.EventPublisher,
	logger *slog.Logger,
) Deleter

type Finder

type Finder interface {
	FindByID(ctx context.Context, gatewayID ids.GatewayID, id ids.RoleID) (*domain.Role, error)
	List(ctx context.Context, filter domain.ListFilter) ([]*domain.Role, int, error)
}

func NewFinder

func NewFinder(repo domain.Repository, manager *cache.TTLMapManager, logger *slog.Logger) Finder

type OIDCResolver

type OIDCResolver interface {
	ResolveOIDCRoles(ctx context.Context, roles []*domain.Role, claims map[string]any) ([]ids.RoleID, error)
}

func NewOIDCResolver

func NewOIDCResolver() OIDCResolver

type UpdateInput

type UpdateInput struct {
	ID             ids.RoleID
	GatewayID      ids.GatewayID
	Name           *string
	ModelPolicies  *domain.ModelPolicies
	MCPPolicies    *domain.MCPPolicies
	MCPPoliciesSet bool
	OIDCMapping    *json.RawMessage
}

type Updater

type Updater interface {
	Update(ctx context.Context, in UpdateInput) (*domain.Role, error)
}

func NewUpdater

func NewUpdater(
	repo domain.Repository,
	manager *cache.TTLMapManager,
	publisher cache.EventPublisher,
	logger *slog.Logger,
) Updater

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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