The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
grafana/pkg/services/pluginsettings/models.go

116 lines
2.5 KiB

package pluginsettings
import (
"errors"
"time"
)
var (
ErrPluginSettingNotFound = errors.New("plugin setting not found")
)
type DTO struct {
ID int64
OrgID int64
PluginID string
PluginVersion string
JSONData map[string]interface{}
SecureJSONData map[string][]byte
Enabled bool
Pinned bool
Updated time.Time
}
type InfoDTO struct {
PluginID string
OrgID int64
Enabled bool
Pinned bool
PluginVersion string
}
type UpdateArgs struct {
Enabled bool
Pinned bool
JSONData map[string]interface{}
SecureJSONData map[string]string
PluginVersion string
PluginID string
OrgID int64
EncryptedSecureJSONData map[string][]byte
}
type UpdatePluginVersionArgs struct {
PluginVersion string
PluginID string
OrgID int64
}
type GetArgs struct {
OrgID int64
}
type GetByPluginIDArgs struct {
PluginID string
OrgID int64
}
type PluginSetting struct {
Id int64
PluginId string
OrgId int64
Enabled bool
Pinned bool
JsonData map[string]interface{}
SecureJsonData map[string][]byte
PluginVersion string
Created time.Time
Updated time.Time
}
type PluginSettingInfo struct {
PluginID string `xorm:"plugin_id"`
OrgID int64 `xorm:"org_id"`
Enabled bool `xorm:"enabled"`
Pinned bool `xorm:"pinned"`
PluginVersion string `xorm:"plugin_version"`
}
// ----------------------
// COMMANDS
// Also acts as api DTO
type UpdatePluginSettingCmd struct {
Enabled bool `json:"enabled"`
Pinned bool `json:"pinned"`
JsonData map[string]interface{} `json:"jsonData"`
SecureJsonData map[string]string `json:"secureJsonData"`
PluginVersion string `json:"version"`
PluginId string `json:"-"`
OrgId int64 `json:"-"`
EncryptedSecureJsonData map[string][]byte `json:"-"`
}
// specific command, will only update version
type UpdatePluginSettingVersionCmd struct {
PluginVersion string
PluginId string `json:"-"`
OrgId int64 `json:"-"`
}
// ---------------------
// QUERIES
type GetPluginSettingByIdQuery struct {
PluginId string
OrgId int64
Result *PluginSetting
}
type PluginStateChangedEvent struct {
PluginId string
OrgId int64
Enabled bool
}