2015-03-21 20:53:16 +08:00
|
|
|
package models
|
|
|
|
|
2016-03-12 17:13:49 +08:00
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
|
|
|
|
"github.com/grafana/grafana/pkg/components/simplejson"
|
|
|
|
)
|
2015-03-21 20:53:16 +08:00
|
|
|
|
|
|
|
// DashboardSnapshot model
|
|
|
|
type DashboardSnapshot struct {
|
2018-12-11 05:36:32 +08:00
|
|
|
Id int64
|
|
|
|
Name string
|
|
|
|
Key string
|
|
|
|
DeleteKey string
|
|
|
|
OrgId int64
|
|
|
|
UserId int64
|
|
|
|
External bool
|
|
|
|
ExternalUrl string
|
|
|
|
ExternalDeleteUrl string
|
2015-03-21 20:53:16 +08:00
|
|
|
|
|
|
|
Expires time.Time
|
|
|
|
Created time.Time
|
|
|
|
Updated time.Time
|
|
|
|
|
2016-03-12 17:13:49 +08:00
|
|
|
Dashboard *simplejson.Json
|
2015-03-21 20:53:16 +08:00
|
|
|
}
|
|
|
|
|
2016-01-20 15:23:44 +08:00
|
|
|
// DashboardSnapshotDTO without dashboard map
|
|
|
|
type DashboardSnapshotDTO struct {
|
|
|
|
Id int64 `json:"id"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
Key string `json:"key"`
|
|
|
|
OrgId int64 `json:"orgId"`
|
|
|
|
UserId int64 `json:"userId"`
|
|
|
|
External bool `json:"external"`
|
|
|
|
ExternalUrl string `json:"externalUrl"`
|
|
|
|
|
|
|
|
Expires time.Time `json:"expires"`
|
|
|
|
Created time.Time `json:"created"`
|
|
|
|
Updated time.Time `json:"updated"`
|
|
|
|
}
|
|
|
|
|
2015-03-21 20:53:16 +08:00
|
|
|
// -----------------
|
|
|
|
// COMMANDS
|
|
|
|
|
|
|
|
type CreateDashboardSnapshotCommand struct {
|
2016-03-12 17:13:49 +08:00
|
|
|
Dashboard *simplejson.Json `json:"dashboard" binding:"Required"`
|
2016-04-21 15:59:48 +08:00
|
|
|
Name string `json:"name"`
|
2016-03-12 17:13:49 +08:00
|
|
|
Expires int64 `json:"expires"`
|
2015-03-27 03:59:41 +08:00
|
|
|
|
|
|
|
// these are passed when storing an external snapshot ref
|
2018-12-11 05:36:32 +08:00
|
|
|
External bool `json:"external"`
|
|
|
|
ExternalUrl string `json:"-"`
|
|
|
|
ExternalDeleteUrl string `json:"-"`
|
|
|
|
|
2015-03-27 03:59:41 +08:00
|
|
|
Key string `json:"key"`
|
|
|
|
DeleteKey string `json:"deleteKey"`
|
|
|
|
|
|
|
|
OrgId int64 `json:"-"`
|
|
|
|
UserId int64 `json:"-"`
|
2015-03-21 20:53:16 +08:00
|
|
|
|
|
|
|
Result *DashboardSnapshot
|
|
|
|
}
|
|
|
|
|
2015-03-27 03:34:58 +08:00
|
|
|
type DeleteDashboardSnapshotCommand struct {
|
|
|
|
DeleteKey string `json:"-"`
|
|
|
|
}
|
|
|
|
|
2016-09-29 03:06:00 +08:00
|
|
|
type DeleteExpiredSnapshotsCommand struct {
|
2018-02-21 06:10:59 +08:00
|
|
|
DeletedRows int64
|
2016-09-29 03:06:00 +08:00
|
|
|
}
|
|
|
|
|
2015-03-21 20:53:16 +08:00
|
|
|
type GetDashboardSnapshotQuery struct {
|
2018-02-21 06:26:08 +08:00
|
|
|
Key string
|
|
|
|
DeleteKey string
|
2015-03-21 20:53:16 +08:00
|
|
|
|
|
|
|
Result *DashboardSnapshot
|
|
|
|
}
|
2016-01-19 17:37:36 +08:00
|
|
|
|
|
|
|
type DashboardSnapshots []*DashboardSnapshot
|
2017-10-10 20:25:19 +08:00
|
|
|
type DashboardSnapshotsList []*DashboardSnapshotDTO
|
2016-01-19 17:37:36 +08:00
|
|
|
|
|
|
|
type GetDashboardSnapshotsQuery struct {
|
2018-02-21 06:26:08 +08:00
|
|
|
Name string
|
|
|
|
Limit int
|
|
|
|
OrgId int64
|
|
|
|
SignedInUser *SignedInUser
|
2016-01-19 17:37:36 +08:00
|
|
|
|
2017-10-10 20:25:19 +08:00
|
|
|
Result DashboardSnapshotsList
|
2016-01-19 17:37:36 +08:00
|
|
|
}
|