store

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package store defines policy repository interfaces and storage implementations.

Index

Constants

This section is empty.

Variables

View Source
var ErrPolicyGroupMemberNotFound = errors.New("policy group group not found")
View Source
var ErrPolicyGroupNotFound = errors.New("policy group not found")
View Source
var ErrPolicyNotFound = errors.New("policy not found")

Functions

This section is empty.

Types

type InMemoryPolicyGroupMemberRepository

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

func NewInMemoryPolicyGroupMemberRepository

func NewInMemoryPolicyGroupMemberRepository(
	groups PolicyGroupRepository,
) *InMemoryPolicyGroupMemberRepository

func (*InMemoryPolicyGroupMemberRepository) AddMember

func (r *InMemoryPolicyGroupMemberRepository) AddMember(
	groupName string,
	identifier model.Identifier,
) error

func (*InMemoryPolicyGroupMemberRepository) GetGroup

func (*InMemoryPolicyGroupMemberRepository) RemoveMember

func (r *InMemoryPolicyGroupMemberRepository) RemoveMember(
	identifier model.Identifier,
) error

type InMemoryPolicyGroupRepository

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

func NewInMemoryPolicyGroupRepository

func NewInMemoryPolicyGroupRepository() *InMemoryPolicyGroupRepository

func (*InMemoryPolicyGroupRepository) Delete

func (g *InMemoryPolicyGroupRepository) Delete(name string) error

func (*InMemoryPolicyGroupRepository) Get

func (*InMemoryPolicyGroupRepository) Set

type InMemoryPolicyRepository

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

func NewInMemoryPolicyRepository

func NewInMemoryPolicyRepository() *InMemoryPolicyRepository

func (*InMemoryPolicyRepository) Delete

func (r *InMemoryPolicyRepository) Delete(identifier model.Identifier) error

func (*InMemoryPolicyRepository) Get

func (*InMemoryPolicyRepository) Set

func (r *InMemoryPolicyRepository) Set(policy model.Policy) error

type PolicyGroupMemberRepository

type PolicyGroupMemberRepository interface {
	AddMember(groupName string, identifier model.Identifier) error
	RemoveMember(identifier model.Identifier) error
	GetGroup(identifier model.Identifier) (model.PolicyGroup, error)
}

PolicyGroupMemberRepository manages associations between identifiers and policy groups.

type PolicyGroupRepository

type PolicyGroupRepository interface {
	Set(policyGroup model.PolicyGroup) error
	Get(name string) (model.PolicyGroup, error)
	Delete(name string) error
}

PolicyGroupRepository persists and retrieves policy group definitions.

type PolicyRepository

type PolicyRepository interface {
	Set(policy model.Policy) error
	Get(identifier model.Identifier) (model.Policy, error)
	Delete(identifier model.Identifier) error
}

PolicyRepository persists and retrieves individual rate-limiting policies.

type PostgresPolicyGroupMemberRepository

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

func NewPostgresPolicyGroupMemberRepository

func NewPostgresPolicyGroupMemberRepository(db *sql.DB) *PostgresPolicyGroupMemberRepository

Policy group member

func (*PostgresPolicyGroupMemberRepository) AddMember

func (r *PostgresPolicyGroupMemberRepository) AddMember(
	groupName string,
	identifier model.Identifier,
) error

func (*PostgresPolicyGroupMemberRepository) GetGroup

func (*PostgresPolicyGroupMemberRepository) RemoveMember

func (r *PostgresPolicyGroupMemberRepository) RemoveMember(
	identifier model.Identifier,
) error

type PostgresPolicyGroupRepository

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

func NewPostgresPolicyGroupRepository

func NewPostgresPolicyGroupRepository(db *sql.DB) *PostgresPolicyGroupRepository

For policy groups

func (*PostgresPolicyGroupRepository) Delete

func (g *PostgresPolicyGroupRepository) Delete(name string) error

func (*PostgresPolicyGroupRepository) Get

func (*PostgresPolicyGroupRepository) Set

type PostgresPolicyRepository

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

func NewPostgresPolicyRepository

func NewPostgresPolicyRepository(db *sql.DB) *PostgresPolicyRepository

For individual policies

func (*PostgresPolicyRepository) Delete

func (r *PostgresPolicyRepository) Delete(identifier model.Identifier) error

func (*PostgresPolicyRepository) Get

func (*PostgresPolicyRepository) Set

func (r *PostgresPolicyRepository) Set(policy model.Policy) error

Jump to

Keyboard shortcuts

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