2015-03-21 07:53:16 -05:00
package models
2016-03-12 03:13:49 -06:00
import (
"time"
"github.com/grafana/grafana/pkg/components/simplejson"
)
2015-03-21 07:53:16 -05:00
// DashboardSnapshot model
type DashboardSnapshot struct {
2018-12-10 15:36:32 -06:00
Id int64
Name string
Key string
DeleteKey string
OrgId int64
UserId int64
External bool
ExternalUrl string
ExternalDeleteUrl string
2015-03-21 07:53:16 -05:00
Expires time . Time
Created time . Time
Updated time . Time
2020-10-13 03:19:42 -05:00
Dashboard * simplejson . Json
2021-09-01 06:05:15 -05:00
DashboardEncrypted [ ] byte
2015-03-21 07:53:16 -05:00
}
2016-01-20 01:23:44 -06: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 07:53:16 -05:00
// -----------------
// COMMANDS
2022-02-08 06:38:43 -06:00
// swagger:model
2015-03-21 07:53:16 -05:00
type CreateDashboardSnapshotCommand struct {
2022-02-08 06:38:43 -06:00
// The complete dashboard model.
// required:true
2016-03-12 03:13:49 -06:00
Dashboard * simplejson . Json ` json:"dashboard" binding:"Required" `
2022-02-08 06:38:43 -06:00
// Snapshot name
// required:false
Name string ` json:"name" `
// When the snapshot should expire in seconds in seconds. Default is never to expire.
// required:false
// default:0
Expires int64 ` json:"expires" `
2015-03-26 14:59:41 -05:00
// these are passed when storing an external snapshot ref
2022-02-08 06:38:43 -06:00
// Save the snapshot on an external server rather than locally.
// required:false
// default: false
2018-12-10 15:36:32 -06:00
External bool ` json:"external" `
ExternalUrl string ` json:"-" `
ExternalDeleteUrl string ` json:"-" `
2022-02-08 06:38:43 -06:00
// Define the unique key. Required if `external` is `true`.
// required:false
Key string ` json:"key" `
// Unique key used to delete the snapshot. It is different from the `key` so that only the creator can delete the snapshot. Required if `external` is `true`.
// required:false
2015-03-26 14:59:41 -05:00
DeleteKey string ` json:"deleteKey" `
OrgId int64 ` json:"-" `
UserId int64 ` json:"-" `
2015-03-21 07:53:16 -05:00
2021-09-01 06:05:15 -05:00
DashboardEncrypted [ ] byte ` json:"-" `
2015-03-21 07:53:16 -05:00
Result * DashboardSnapshot
}
2015-03-26 14:34:58 -05:00
type DeleteDashboardSnapshotCommand struct {
DeleteKey string ` json:"-" `
}
2016-09-28 14:06:00 -05:00
type DeleteExpiredSnapshotsCommand struct {
2018-02-20 16:10:59 -06:00
DeletedRows int64
2016-09-28 14:06:00 -05:00
}
2015-03-21 07:53:16 -05:00
type GetDashboardSnapshotQuery struct {
2018-02-20 16:26:08 -06:00
Key string
DeleteKey string
2015-03-21 07:53:16 -05:00
Result * DashboardSnapshot
}
2016-01-19 03:37:36 -06:00
2017-10-10 07:25:19 -05:00
type DashboardSnapshotsList [ ] * DashboardSnapshotDTO
2016-01-19 03:37:36 -06:00
type GetDashboardSnapshotsQuery struct {
2018-02-20 16:26:08 -06:00
Name string
Limit int
OrgId int64
SignedInUser * SignedInUser
2016-01-19 03:37:36 -06:00
2017-10-10 07:25:19 -05:00
Result DashboardSnapshotsList
2016-01-19 03:37:36 -06:00
}