manager

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2023 License: MIT Imports: 7 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 Encrypter

type Encrypter interface {
	Encrypt(secret string) string
}

type Manager

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

func NewManager

func NewManager(s Storage, e Encrypter) *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) GetKeysByTag

func (m *Manager) GetKeysByTag(tag string) ([]*key.ResponseKey, error)

func (*Manager) UpdateKey

func (m *Manager) UpdateKey(id string, uk *key.UpdateKey) (*key.ResponseKey, 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) UpdateSetting added in v1.0.0

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

type ProviderSettingsMemStorage added in v1.0.0

type ProviderSettingsMemStorage interface {
	GetSetting(id string) *provider.Setting
}

type ProviderSettingsStorage added in v1.0.0

type ProviderSettingsStorage interface {
	UpdateProviderSetting(id string, setting *provider.Setting) (*provider.Setting, error)
	CreateProviderSetting(setting *provider.Setting) (*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) GetKeyReporting added in v0.0.7

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

type Storage

type Storage interface {
	GetKeysByTag(tag 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)
}

Jump to

Keyboard shortcuts

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