grafana/pkg/models/datasource.go
Torkel Ödegaard 85c1c97ea2 Updated readme
2015-02-06 09:10:52 +01:00

100 lines
1.6 KiB
Go

package models
import (
"errors"
"time"
)
const (
DS_GRAPHITE = "graphite"
DS_INFLUXDB = "influxdb"
DS_ES = "elasticsearch"
DS_ACCESS_DIRECT = "direct"
DS_ACCESS_PROXY = "proxy"
)
// Typed errors
var (
ErrDataSourceNotFound = errors.New("Data source not found")
)
type DsType string
type DsAccess string
type DataSource struct {
Id int64
AccountId int64
Version int
Name string
Type DsType
Access DsAccess
Url string
Password string
User string
Database string
BasicAuth bool
BasicAuthUser string
BasicAuthPassword string
IsDefault bool
Created time.Time
Updated time.Time
}
// ----------------------
// COMMANDS
// Also acts as api DTO
type AddDataSourceCommand struct {
AccountId int64 `json:"-"`
Name string
Type DsType
Access DsAccess
Url string
Password string
Database string
User string
IsDefault bool
Result *DataSource
}
// Also acts as api DTO
type UpdateDataSourceCommand struct {
Id int64
AccountId int64
Name string
Type DsType
Access DsAccess
Url string
Password string
User string
Database string
IsDefault bool
}
type DeleteDataSourceCommand struct {
Id int64
AccountId int64
}
// ---------------------
// QUERIES
type GetDataSourcesQuery struct {
AccountId int64
Result []*DataSource
}
type GetDataSourceByIdQuery struct {
Id int64
AccountId int64
Result DataSource
}
// ---------------------
// EVENTS
type DataSourceCreatedEvent struct {
}