manager

package
v1.13.5 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cache added in v0.0.2

type Cache interface {
	IncrementCounter(keyId string, rateLimitUnit key.TimeUnit, incr int64) error
}

type CustomProvidersManager added in v1.3.0

type CustomProvidersManager struct {
	Storage CustomProvidersStorage
	Mem     CustomProvidersMemStorage
}

func NewCustomProvidersManager added in v1.3.0

func (*CustomProvidersManager) CreateCustomProvider added in v1.3.0

func (m *CustomProvidersManager) CreateCustomProvider(provider *custom.Provider) (*custom.Provider, error)

func (*CustomProvidersManager) GetCustomProviderFromMem added in v1.3.0

func (m *CustomProvidersManager) GetCustomProviderFromMem(name string) *custom.Provider

func (*CustomProvidersManager) GetCustomProviders added in v1.3.0

func (m *CustomProvidersManager) GetCustomProviders() ([]*custom.Provider, error)

func (*CustomProvidersManager) GetRouteConfigFromMem added in v1.3.0

func (m *CustomProvidersManager) GetRouteConfigFromMem(name, path string) *custom.RouteConfig

func (*CustomProvidersManager) UpdateCustomProvider added in v1.3.0

func (m *CustomProvidersManager) UpdateCustomProvider(id string, provider *custom.UpdateProvider) (*custom.Provider, error)

type CustomProvidersMemStorage added in v1.3.0

type CustomProvidersMemStorage interface {
	GetProvider(name string) *custom.Provider
	GetRouteConfig(name, path string) *custom.RouteConfig
}

type CustomProvidersStorage added in v1.3.0

type CustomProvidersStorage interface {
	CreateCustomProvider(provider *custom.Provider) (*custom.Provider, error)
	GetCustomProviders() ([]*custom.Provider, error)
	GetCustomProviderByName(name string) (*custom.Provider, error)
	GetCustomProvider(id string) (*custom.Provider, error)
	UpdateCustomProvider(id string, provider *custom.UpdateProvider) (*custom.Provider, error)
}

type Encrypter

type Encrypter interface {
	Encrypt(secret string) string
}

type Manager

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

func NewManager

func NewManager(s Storage, clc costLimitCache, rlc rateLimitCache, ac accessCache) *Manager

func (*Manager) CreateKey

func (m *Manager) CreateKey(rk *key.RequestKey) (*key.ResponseKey, error)

func (*Manager) DeleteKey

func (m *Manager) DeleteKey(id string) error

func (*Manager) GetKeys added in v1.2.0

func (m *Manager) GetKeys(tags, keyIds []string, provider string) ([]*key.ResponseKey, error)

func (*Manager) UpdateKey

func (m *Manager) UpdateKey(id string, uk *key.UpdateKey) (*key.ResponseKey, error)

type PoliciesMemStorage added in v1.13.0

type PoliciesMemStorage interface {
	GetPolicy(id string) *policy.Policy
}

type PoliciesStorage added in v1.13.0

type PoliciesStorage interface {
	CreatePolicy(p *policy.Policy) (*policy.Policy, error)
	UpdatePolicy(id string, p *policy.UpdatePolicy) (*policy.Policy, error)
	GetPolicyById(id string) (*policy.Policy, error)
	GetPoliciesByTags(tags []string) ([]*policy.Policy, error)
}

type PolicyManager added in v1.13.0

type PolicyManager struct {
	Storage PoliciesStorage
	Memdb   PoliciesMemStorage
}

func NewPolicyManager added in v1.13.0

func NewPolicyManager(s PoliciesStorage, memdb PoliciesMemStorage) *PolicyManager

func (*PolicyManager) CreatePolicy added in v1.13.0

func (m *PolicyManager) CreatePolicy(p *policy.Policy) (*policy.Policy, error)

func (*PolicyManager) GetPoliciesByTags added in v1.13.0

func (m *PolicyManager) GetPoliciesByTags(tags []string) ([]*policy.Policy, error)

func (*PolicyManager) GetPolicyByIdFromMemdb added in v1.13.0

func (m *PolicyManager) GetPolicyByIdFromMemdb(id string) *policy.Policy

func (*PolicyManager) UpdatePolicy added in v1.13.0

func (m *PolicyManager) UpdatePolicy(id string, p *policy.UpdatePolicy) (*policy.Policy, error)

type ProviderSettingsManager added in v1.0.0

type ProviderSettingsManager struct {
	Storage ProviderSettingsStorage
	MemDb   ProviderSettingsMemStorage
}

func NewProviderSettingsManager added in v1.0.0

func (*ProviderSettingsManager) CreateSetting added in v1.0.0

func (m *ProviderSettingsManager) CreateSetting(setting *provider.Setting) (*provider.Setting, error)

func (*ProviderSettingsManager) GetSetting added in v1.0.0

func (m *ProviderSettingsManager) GetSetting(id string) (*provider.Setting, error)

func (*ProviderSettingsManager) GetSettings added in v1.2.0

func (m *ProviderSettingsManager) GetSettings(ids []string) ([]*provider.Setting, error)

func (*ProviderSettingsManager) UpdateSetting added in v1.0.0

func (m *ProviderSettingsManager) UpdateSetting(id string, setting *provider.UpdateSetting) (*provider.Setting, error)

type ProviderSettingsMemStorage added in v1.0.0

type ProviderSettingsMemStorage interface {
	GetSetting(id string) *provider.Setting
	GetSettings(ids []string) []*provider.Setting
}

type ProviderSettingsStorage added in v1.0.0

type ProviderSettingsStorage interface {
	UpdateProviderSetting(id string, setting *provider.UpdateSetting) (*provider.Setting, error)
	CreateProviderSetting(setting *provider.Setting) (*provider.Setting, error)
	GetProviderSetting(id string) (*provider.Setting, error)
	GetCustomProviderByName(name string) (*custom.Provider, error)
	GetProviderSettings(withSecret bool, ids []string) ([]*provider.Setting, error)
}

type RateLimitManager added in v0.0.2

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

func NewRateLimitManager added in v0.0.2

func NewRateLimitManager(c Cache) *RateLimitManager

func (*RateLimitManager) Increment added in v0.0.2

func (rlm *RateLimitManager) Increment(keyId string, timeUnit key.TimeUnit) error

type ReportingManager added in v0.0.7

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

func NewReportingManager added in v0.0.7

func NewReportingManager(cs costStorage, ks keyStorage, es eventStorage) *ReportingManager

func (*ReportingManager) GetEventReporting added in v0.0.9

func (rm *ReportingManager) GetEventReporting(e *event.ReportingRequest) (*event.ReportingResponse, error)

func (*ReportingManager) GetEvents added in v1.2.0

func (rm *ReportingManager) GetEvents(userId, customId string, keyIds []string, start, end int64) ([]*event.Event, error)

func (*ReportingManager) GetKeyReporting added in v0.0.7

func (rm *ReportingManager) GetKeyReporting(keyId string) (*key.KeyReporting, error)

type RouteManager added in v1.7.0

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

func NewRouteManager added in v1.7.0

func (*RouteManager) CreateRoute added in v1.7.0

func (m *RouteManager) CreateRoute(r *route.Route) (*route.Route, error)

func (*RouteManager) GetRoute added in v1.7.0

func (m *RouteManager) GetRoute(id string) (*route.Route, error)

func (*RouteManager) GetRouteFromMemDb added in v1.7.0

func (m *RouteManager) GetRouteFromMemDb(path string) *route.Route

func (*RouteManager) GetRoutes added in v1.7.0

func (m *RouteManager) GetRoutes() ([]*route.Route, error)

type RoutesMemStorage added in v1.7.0

type RoutesMemStorage interface {
	GetRoute(id string) *route.Route
}

type RoutesStorage added in v1.7.0

type RoutesStorage interface {
	CreateRoute(r *route.Route) (*route.Route, error)
	GetRoute(id string) (*route.Route, error)
	GetRoutes() ([]*route.Route, error)
	GetRouteByPath(path string) (*route.Route, error)
}

type Storage

type Storage interface {
	GetKeys(tags, keyIds []string, provider string) ([]*key.ResponseKey, error)
	UpdateKey(id string, key *key.UpdateKey) (*key.ResponseKey, error)
	CreateKey(key *key.RequestKey) (*key.ResponseKey, error)
	DeleteKey(id string) error
	GetProviderSetting(id string) (*provider.Setting, error)
	GetPolicyById(id string) (*policy.Policy, error)
	GetProviderSettings(withSecret bool, ids []string) ([]*provider.Setting, error)
	GetKey(keyId string) (*key.ResponseKey, error)
}

Jump to

Keyboard shortcuts

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