Documentation ¶
Index ¶
- Constants
- Variables
- type Destination
- func (d *Destination) CountWhereGroupID(tx Transaction, group_id int) (int, error)
- func (d *Destination) Create(tx Transaction, destination_group_id int, port int, protocol string) (int, error)
- func (d *Destination) Delete(tx Transaction, id int) error
- func (d *Destination) GetID(tx Transaction, destination_group_id int, port int, protocol string) (int, error)
- type DestinationRepo
- type Group
- type GroupRepo
- type MetricsWrapper
- func (mw *MetricsWrapper) All() ([]models.Policy, error)
- func (mw *MetricsWrapper) ByGuids(srcGuids, dstGuids []string) ([]models.Policy, error)
- func (mw *MetricsWrapper) CheckDatabase() error
- func (mw *MetricsWrapper) Create(policies []models.Policy) error
- func (mw *MetricsWrapper) Delete(policies []models.Policy) error
- func (mw *MetricsWrapper) Tags() ([]models.Tag, error)
- type MigrateAdapter
- type MigrationDb
- type Policy
- func (p *Policy) CountWhereDestinationID(tx Transaction, destination_id int) (int, error)
- func (p *Policy) CountWhereGroupID(tx Transaction, source_group_id int) (int, error)
- func (p *Policy) Create(tx Transaction, source_group_id int, destination_id int) error
- func (p *Policy) Delete(tx Transaction, source_group_id int, destination_id int) error
- type PolicyRepo
- type Store
- type Transaction
Constants ¶
View Source
const MAX_TAG_LENGTH = 3
View Source
const MIN_TAG_LENGTH = 1
Variables ¶
View Source
var RecordNotFoundError = errors.New("record not found")
View Source
var Schemas = map[string][]string{ "mysql": []string{ `CREATE TABLE IF NOT EXISTS groups ( id int NOT NULL AUTO_INCREMENT, guid varchar(255), UNIQUE (guid), PRIMARY KEY (id) );`, `CREATE TABLE IF NOT EXISTS destinations ( id int NOT NULL AUTO_INCREMENT, group_id int REFERENCES groups(id), port int, protocol varchar(255), UNIQUE (group_id, port, protocol), PRIMARY KEY (id) );`, `CREATE TABLE IF NOT EXISTS policies ( id int NOT NULL AUTO_INCREMENT, group_id int REFERENCES groups(id), destination_id int REFERENCES destinations(id), UNIQUE (group_id, destination_id), PRIMARY KEY (id) );`, }, "postgres": []string{ `CREATE TABLE IF NOT EXISTS groups ( id SERIAL PRIMARY KEY, guid text, UNIQUE (guid) );`, `CREATE TABLE IF NOT EXISTS destinations ( id SERIAL PRIMARY KEY, group_id int REFERENCES groups(id), port int, protocol text, UNIQUE (group_id, port, protocol) );`, `CREATE TABLE IF NOT EXISTS policies ( id SERIAL PRIMARY KEY, group_id int REFERENCES groups(id), destination_id int REFERENCES destinations(id), UNIQUE (group_id, destination_id) );`, }, }
Functions ¶
This section is empty.
Types ¶
type Destination ¶
type Destination struct { }
func (*Destination) CountWhereGroupID ¶
func (d *Destination) CountWhereGroupID(tx Transaction, group_id int) (int, error)
func (*Destination) Create ¶
func (d *Destination) Create(tx Transaction, destination_group_id int, port int, protocol string) (int, error)
func (*Destination) Delete ¶
func (d *Destination) Delete(tx Transaction, id int) error
func (*Destination) GetID ¶
func (d *Destination) GetID(tx Transaction, destination_group_id int, port int, protocol string) (int, error)
type DestinationRepo ¶
type DestinationRepo interface { Create(Transaction, int, int, string) (int, error) Delete(Transaction, int) error GetID(Transaction, int, int, string) (int, error) CountWhereGroupID(Transaction, int) (int, error) }
type GroupRepo ¶
type GroupRepo interface { Create(Transaction, string) (int, error) Delete(Transaction, int) error GetID(Transaction, string) (int, error) }
type MetricsWrapper ¶ added in v0.17.0
type MetricsWrapper struct { Store Store MetricsSender metricsSender }
func (*MetricsWrapper) All ¶ added in v0.17.0
func (mw *MetricsWrapper) All() ([]models.Policy, error)
func (*MetricsWrapper) ByGuids ¶ added in v0.17.0
func (mw *MetricsWrapper) ByGuids(srcGuids, dstGuids []string) ([]models.Policy, error)
func (*MetricsWrapper) CheckDatabase ¶ added in v1.0.0
func (mw *MetricsWrapper) CheckDatabase() error
func (*MetricsWrapper) Create ¶ added in v0.17.0
func (mw *MetricsWrapper) Create(policies []models.Policy) error
type MigrateAdapter ¶ added in v1.3.0
type MigrateAdapter struct { }
func (*MigrateAdapter) Exec ¶ added in v1.3.0
func (ma *MigrateAdapter) Exec(db MigrationDb, dialect string, m migrate.MigrationSource, dir migrate.MigrationDirection) (int, error)
type MigrationDb ¶ added in v1.3.0
type Policy ¶
type Policy struct { }
func (*Policy) CountWhereDestinationID ¶
func (p *Policy) CountWhereDestinationID(tx Transaction, destination_id int) (int, error)
func (*Policy) CountWhereGroupID ¶
func (p *Policy) CountWhereGroupID(tx Transaction, source_group_id int) (int, error)
type PolicyRepo ¶
type PolicyRepo interface { Create(Transaction, int, int) error Delete(Transaction, int, int) error CountWhereGroupID(Transaction, int) (int, error) CountWhereDestinationID(Transaction, int) (int, error) }
type Store ¶
type Store interface { Create([]models.Policy) error All() ([]models.Policy, error) Delete([]models.Policy) error Tags() ([]models.Tag, error) ByGuids([]string, []string) ([]models.Policy, error) CheckDatabase() error }
func New ¶
func New(dbConnectionPool db, migrator migrateAdapter, g GroupRepo, d DestinationRepo, p PolicyRepo, tl int, t time.Duration) (Store, error)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.