model

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Alert

type Alert struct {
	ID           uint64    `db:"id"`
	ProviderID   uint64    `db:"provider_id"`
	ResourceName string    `db:"resource_name"`
	MetricName   string    `db:"metric_name"`
	MetricValue  string    `db:"metric_value"`
	Severity     string    `db:"severity"`
	Rule         string    `db:"rule"`
	TriggeredAt  time.Time `db:"triggered_at"`
	CreatedAt    time.Time `db:"created_at"`
	UpdatedAt    time.Time `db:"updated_at"`
}

func (*Alert) FromDomain

func (a *Alert) FromDomain(alrt alert.Alert)

func (*Alert) ToDomain

func (a *Alert) ToDomain() *alert.Alert

type Namespace

type Namespace struct {
	ID               uint64                 `db:"id"`
	ProviderID       uint64                 `db:"provider_id"`
	URN              string                 `db:"urn"`
	Name             string                 `db:"name"`
	CredentialString string                 `db:"credentials"`
	Labels           pgtype.StringStringMap `db:"labels"`
	CreatedAt        time.Time              `db:"created_at"`
	UpdatedAt        time.Time              `db:"updated_at"`
}

func (*Namespace) FromDomain

func (ns *Namespace) FromDomain(n namespace.EncryptedNamespace)

func (*Namespace) ToDomain

func (ns *Namespace) ToDomain() *namespace.EncryptedNamespace

type NamespaceDetail added in v0.5.0

type NamespaceDetail struct {
	ID               uint64                 `db:"id"`
	Provider         Provider               `db:"provider"`
	URN              string                 `db:"urn"`
	Name             string                 `db:"name"`
	CredentialString string                 `db:"credentials"`
	Labels           pgtype.StringStringMap `db:"labels"`
	CreatedAt        time.Time              `db:"created_at"`
	UpdatedAt        time.Time              `db:"updated_at"`
}

func (*NamespaceDetail) FromDomain added in v0.5.0

func (ns *NamespaceDetail) FromDomain(n namespace.EncryptedNamespace)

func (*NamespaceDetail) ToDomain added in v0.5.0

type Provider

type Provider struct {
	ID          uint64                    `db:"id"`
	Host        string                    `db:"host"`
	URN         string                    `db:"urn"`
	Name        string                    `db:"name"`
	Type        string                    `db:"type"`
	Credentials pgtype.StringInterfaceMap `db:"credentials"`
	Labels      pgtype.StringStringMap    `db:"labels"`
	CreatedAt   time.Time                 `db:"created_at"`
	UpdatedAt   time.Time                 `db:"updated_at"`
}

func (*Provider) FromDomain

func (p *Provider) FromDomain(t provider.Provider)

func (*Provider) ToDomain

func (p *Provider) ToDomain() *provider.Provider

type Receiver

type Receiver struct {
	ID             uint64                    `db:"id"`
	Name           string                    `db:"name"`
	Type           string                    `db:"type"`
	Labels         pgtype.StringStringMap    `db:"labels"`
	Configurations pgtype.StringInterfaceMap `db:"configurations"`
	Data           pgtype.StringInterfaceMap `db:"-"` //TODO do we need this?
	CreatedAt      time.Time                 `db:"created_at"`
	UpdatedAt      time.Time                 `db:"updated_at"`
}

func (*Receiver) FromDomain

func (rcv *Receiver) FromDomain(t receiver.Receiver)

func (*Receiver) ToDomain

func (rcv *Receiver) ToDomain() *receiver.Receiver

type Rule

type Rule struct {
	ID                uint64    `db:"id"`
	Name              string    `db:"name"`
	Namespace         string    `db:"namespace"`
	GroupName         string    `db:"group_name"`
	Template          string    `db:"template"`
	Enabled           bool      `db:"enabled"`
	Variables         string    `db:"variables"`
	ProviderNamespace uint64    `db:"provider_namespace"`
	CreatedAt         time.Time `db:"created_at"`
	UpdatedAt         time.Time `db:"updated_at"`
}

func (*Rule) FromDomain

func (rl *Rule) FromDomain(r rule.Rule) error

func (*Rule) ToDomain

func (rl *Rule) ToDomain() (*rule.Rule, error)

type Subscription

type Subscription struct {
	ID          uint64                 `db:"id"`
	NamespaceID uint64                 `db:"namespace_id"`
	URN         string                 `db:"urn"`
	Receiver    SubscriptionReceivers  `db:"receiver"`
	Match       pgtype.StringStringMap `db:"match"`
	CreatedAt   time.Time              `db:"created_at"`
	UpdatedAt   time.Time              `db:"updated_at"`
}

func (*Subscription) FromDomain

func (s *Subscription) FromDomain(sub subscription.Subscription)

func (*Subscription) ToDomain

func (s *Subscription) ToDomain() *subscription.Subscription

type SubscriptionReceiver

type SubscriptionReceiver struct {
	ID            uint64                 `json:"id"`
	Configuration map[string]interface{} `json:"configuration"`
}

type SubscriptionReceivers

type SubscriptionReceivers []SubscriptionReceiver

func (*SubscriptionReceivers) Scan

func (list *SubscriptionReceivers) Scan(src interface{}) error

func (SubscriptionReceivers) Value

func (list SubscriptionReceivers) Value() (driver.Value, error)

type Template

type Template struct {
	ID        uint64         `db:"id"`
	Name      string         `db:"name"`
	Body      string         `db:"body"`
	Tags      pq.StringArray `db:"tags"`
	Variables string         `db:"variables"`
	CreatedAt time.Time      `db:"created_at"`
	UpdatedAt time.Time      `db:"updated_at"`
}

func (*Template) FromDomain

func (tmp *Template) FromDomain(t template.Template) error

func (*Template) ToDomain

func (tmp *Template) ToDomain() (*template.Template, error)

Jump to

Keyboard shortcuts

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