| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package sqlstore
- import (
- "time"
- "github.com/go-xorm/xorm"
- "github.com/grafana/grafana/pkg/bus"
- m "github.com/grafana/grafana/pkg/models"
- )
- func init() {
- bus.AddHandler("sql", CreateDashboardSnapshot)
- bus.AddHandler("sql", GetDashboardSnapshot)
- }
- func CreateDashboardSnapshot(cmd *m.CreateDashboardSnapshotCommand) error {
- return inTransaction(func(sess *xorm.Session) error {
- snapshot := &m.DashboardSnapshot{
- Key: cmd.Key,
- Dashboard: cmd.Dashboard,
- Expires: time.Unix(0, 0),
- Created: time.Now(),
- Updated: time.Now(),
- }
- _, err := sess.Insert(snapshot)
- cmd.Result = snapshot
- return err
- })
- }
- func GetDashboardSnapshot(query *m.GetDashboardSnapshotQuery) error {
- var snapshot m.DashboardSnapshot
- has, err := x.Where("key=?", query.Key).Get(&snapshot)
- if err != nil {
- return err
- } else if has == false {
- return m.ErrNotFound
- }
- query.Result = &snapshot
- return nil
- }
|