chore: avoid aliasing imports in services (#22499)

This commit is contained in:
Carl Bergquist
2020-02-29 13:35:15 +01:00
committed by GitHub
parent a8531978b6
commit f9962eabff
51 changed files with 858 additions and 861 deletions

View File

@@ -7,7 +7,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
// timeNow makes it possible to test usage of time
@@ -24,8 +24,8 @@ func init() {
bus.AddHandler("sql", PauseAllAlerts)
}
func GetAlertById(query *m.GetAlertByIdQuery) error {
alert := m.Alert{}
func GetAlertById(query *models.GetAlertByIdQuery) error {
alert := models.Alert{}
has, err := x.ID(query.Id).Get(&alert)
if !has {
return fmt.Errorf("could not find alert")
@@ -38,8 +38,8 @@ func GetAlertById(query *m.GetAlertByIdQuery) error {
return nil
}
func GetAllAlertQueryHandler(query *m.GetAllAlertsQuery) error {
var alerts []*m.Alert
func GetAllAlertQueryHandler(query *models.GetAllAlertsQuery) error {
var alerts []*models.Alert
err := x.SQL("select * from alert").Find(&alerts)
if err != nil {
return err
@@ -71,7 +71,7 @@ func deleteAlertByIdInternal(alertId int64, reason string, sess *DBSession) erro
return nil
}
func HandleAlertsQuery(query *m.GetAlertsQuery) error {
func HandleAlertsQuery(query *models.GetAlertsQuery) error {
builder := SqlBuilder{}
builder.Write(`SELECT
@@ -124,8 +124,8 @@ func HandleAlertsQuery(query *m.GetAlertsQuery) error {
builder.Write(")")
}
if query.User.OrgRole != m.ROLE_ADMIN {
builder.writeDashboardPermissionFilter(query.User, m.PERMISSION_VIEW)
if query.User.OrgRole != models.ROLE_ADMIN {
builder.writeDashboardPermissionFilter(query.User, models.PERMISSION_VIEW)
}
builder.Write(" ORDER BY name ASC")
@@ -134,7 +134,7 @@ func HandleAlertsQuery(query *m.GetAlertsQuery) error {
builder.Write(dialect.Limit(query.Limit))
}
alerts := make([]*m.AlertListItemDTO, 0)
alerts := make([]*models.AlertListItemDTO, 0)
if err := x.SQL(builder.GetSqlString(), builder.params...).Find(&alerts); err != nil {
return err
}
@@ -150,7 +150,7 @@ func HandleAlertsQuery(query *m.GetAlertsQuery) error {
}
func deleteAlertDefinition(dashboardId int64, sess *DBSession) error {
alerts := make([]*m.Alert, 0)
alerts := make([]*models.Alert, 0)
if err := sess.Where("dashboard_id = ?", dashboardId).Find(&alerts); err != nil {
return err
}
@@ -166,7 +166,7 @@ func deleteAlertDefinition(dashboardId int64, sess *DBSession) error {
return nil
}
func SaveAlerts(cmd *m.SaveAlertsCommand) error {
func SaveAlerts(cmd *models.SaveAlertsCommand) error {
return inTransaction(func(sess *DBSession) error {
existingAlerts, err := GetAlertsByDashboardId2(cmd.DashboardId, sess)
if err != nil {
@@ -185,10 +185,10 @@ func SaveAlerts(cmd *m.SaveAlertsCommand) error {
})
}
func updateAlerts(existingAlerts []*m.Alert, cmd *m.SaveAlertsCommand, sess *DBSession) error {
func updateAlerts(existingAlerts []*models.Alert, cmd *models.SaveAlertsCommand, sess *DBSession) error {
for _, alert := range cmd.Alerts {
update := false
var alertToUpdate *m.Alert
var alertToUpdate *models.Alert
for _, k := range existingAlerts {
if alert.PanelId == k.PanelId {
@@ -215,7 +215,7 @@ func updateAlerts(existingAlerts []*m.Alert, cmd *m.SaveAlertsCommand, sess *DBS
} else {
alert.Updated = timeNow()
alert.Created = timeNow()
alert.State = m.AlertStateUnknown
alert.State = models.AlertStateUnknown
alert.NewStateDate = timeNow()
_, err := sess.Insert(alert)
@@ -245,7 +245,7 @@ func updateAlerts(existingAlerts []*m.Alert, cmd *m.SaveAlertsCommand, sess *DBS
return nil
}
func deleteMissingAlerts(alerts []*m.Alert, cmd *m.SaveAlertsCommand, sess *DBSession) error {
func deleteMissingAlerts(alerts []*models.Alert, cmd *models.SaveAlertsCommand, sess *DBSession) error {
for _, missingAlert := range alerts {
missing := true
@@ -268,20 +268,20 @@ func deleteMissingAlerts(alerts []*m.Alert, cmd *m.SaveAlertsCommand, sess *DBSe
return nil
}
func GetAlertsByDashboardId2(dashboardId int64, sess *DBSession) ([]*m.Alert, error) {
alerts := make([]*m.Alert, 0)
func GetAlertsByDashboardId2(dashboardId int64, sess *DBSession) ([]*models.Alert, error) {
alerts := make([]*models.Alert, 0)
err := sess.Where("dashboard_id = ?", dashboardId).Find(&alerts)
if err != nil {
return []*m.Alert{}, err
return []*models.Alert{}, err
}
return alerts, nil
}
func SetAlertState(cmd *m.SetAlertStateCommand) error {
func SetAlertState(cmd *models.SetAlertStateCommand) error {
return inTransaction(func(sess *DBSession) error {
alert := m.Alert{}
alert := models.Alert{}
if has, err := sess.ID(cmd.AlertId).Get(&alert); err != nil {
return err
@@ -289,12 +289,12 @@ func SetAlertState(cmd *m.SetAlertStateCommand) error {
return fmt.Errorf("Could not find alert")
}
if alert.State == m.AlertStatePaused {
return m.ErrCannotChangeStateOnPausedAlert
if alert.State == models.AlertStatePaused {
return models.ErrCannotChangeStateOnPausedAlert
}
if alert.State == cmd.State {
return m.ErrRequiresNewState
return models.ErrRequiresNewState
}
alert.State = cmd.State
@@ -318,7 +318,7 @@ func SetAlertState(cmd *m.SetAlertStateCommand) error {
})
}
func PauseAlert(cmd *m.PauseAlertCommand) error {
func PauseAlert(cmd *models.PauseAlertCommand) error {
return inTransaction(func(sess *DBSession) error {
if len(cmd.AlertIds) == 0 {
return fmt.Errorf("command contains no alertids")
@@ -329,10 +329,10 @@ func PauseAlert(cmd *m.PauseAlertCommand) error {
buffer.WriteString(`UPDATE alert SET state = ?, new_state_date = ?`)
if cmd.Paused {
params = append(params, string(m.AlertStatePaused))
params = append(params, string(models.AlertStatePaused))
params = append(params, timeNow().UTC())
} else {
params = append(params, string(m.AlertStateUnknown))
params = append(params, string(models.AlertStateUnknown))
params = append(params, timeNow().UTC())
}
@@ -352,13 +352,13 @@ func PauseAlert(cmd *m.PauseAlertCommand) error {
})
}
func PauseAllAlerts(cmd *m.PauseAllAlertCommand) error {
func PauseAllAlerts(cmd *models.PauseAllAlertCommand) error {
return inTransaction(func(sess *DBSession) error {
var newState string
if cmd.Paused {
newState = string(m.AlertStatePaused)
newState = string(models.AlertStatePaused)
} else {
newState = string(m.AlertStateUnknown)
newState = string(models.AlertStateUnknown)
}
res, err := sess.Exec(`UPDATE alert SET state = ?, new_state_date = ?`, newState, timeNow().UTC())
@@ -370,7 +370,7 @@ func PauseAllAlerts(cmd *m.PauseAllAlertCommand) error {
})
}
func GetAlertStatesForDashboard(query *m.GetAlertStatesForDashboardQuery) error {
func GetAlertStatesForDashboard(query *models.GetAlertStatesForDashboardQuery) error {
var rawSql = `SELECT
id,
dashboard_id,
@@ -380,7 +380,7 @@ func GetAlertStatesForDashboard(query *m.GetAlertStatesForDashboardQuery) error
FROM alert
WHERE org_id = ? AND dashboard_id = ?`
query.Result = make([]*m.AlertStateInfoDTO, 0)
query.Result = make([]*models.AlertStateInfoDTO, 0)
err := x.SQL(rawSql, query.OrgId, query.DashboardId).Find(&query.Result)
return err

View File

@@ -9,7 +9,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/util"
)
@@ -29,7 +29,7 @@ func init() {
bus.AddHandler("sql", GetAlertNotificationsWithUidToSend)
}
func DeleteAlertNotification(cmd *m.DeleteAlertNotificationCommand) error {
func DeleteAlertNotification(cmd *models.DeleteAlertNotificationCommand) error {
return inTransaction(func(sess *DBSession) error {
sql := "DELETE FROM alert_notification WHERE alert_notification.org_id = ? AND alert_notification.id = ?"
if _, err := sess.Exec(sql, cmd.OrgId, cmd.Id); err != nil {
@@ -44,14 +44,14 @@ func DeleteAlertNotification(cmd *m.DeleteAlertNotificationCommand) error {
})
}
func DeleteAlertNotificationWithUid(cmd *m.DeleteAlertNotificationWithUidCommand) error {
existingNotification := &m.GetAlertNotificationsWithUidQuery{OrgId: cmd.OrgId, Uid: cmd.Uid}
func DeleteAlertNotificationWithUid(cmd *models.DeleteAlertNotificationWithUidCommand) error {
existingNotification := &models.GetAlertNotificationsWithUidQuery{OrgId: cmd.OrgId, Uid: cmd.Uid}
if err := getAlertNotificationWithUidInternal(existingNotification, newSession()); err != nil {
return err
}
if existingNotification.Result != nil {
deleteCommand := &m.DeleteAlertNotificationCommand{
deleteCommand := &models.DeleteAlertNotificationCommand{
Id: existingNotification.Result.Id,
OrgId: existingNotification.Result.OrgId,
}
@@ -63,16 +63,16 @@ func DeleteAlertNotificationWithUid(cmd *m.DeleteAlertNotificationWithUidCommand
return nil
}
func GetAlertNotifications(query *m.GetAlertNotificationsQuery) error {
func GetAlertNotifications(query *models.GetAlertNotificationsQuery) error {
return getAlertNotificationInternal(query, newSession())
}
func GetAlertNotificationsWithUid(query *m.GetAlertNotificationsWithUidQuery) error {
func GetAlertNotificationsWithUid(query *models.GetAlertNotificationsWithUidQuery) error {
return getAlertNotificationWithUidInternal(query, newSession())
}
func GetAllAlertNotifications(query *m.GetAllAlertNotificationsQuery) error {
results := make([]*m.AlertNotification, 0)
func GetAllAlertNotifications(query *models.GetAllAlertNotificationsQuery) error {
results := make([]*models.AlertNotification, 0)
if err := x.Where("org_id = ?", query.OrgId).Find(&results); err != nil {
return err
}
@@ -81,7 +81,7 @@ func GetAllAlertNotifications(query *m.GetAllAlertNotificationsQuery) error {
return nil
}
func GetAlertNotificationsWithUidToSend(query *m.GetAlertNotificationsWithUidToSendQuery) error {
func GetAlertNotificationsWithUidToSend(query *models.GetAlertNotificationsWithUidToSendQuery) error {
var sql bytes.Buffer
params := make([]interface{}, 0)
@@ -115,7 +115,7 @@ func GetAlertNotificationsWithUidToSend(query *m.GetAlertNotificationsWithUidToS
}
sql.WriteString(`)`)
results := make([]*m.AlertNotification, 0)
results := make([]*models.AlertNotification, 0)
if err := x.SQL(sql.String(), params...).Find(&results); err != nil {
return err
}
@@ -124,7 +124,7 @@ func GetAlertNotificationsWithUidToSend(query *m.GetAlertNotificationsWithUidToS
return nil
}
func getAlertNotificationInternal(query *m.GetAlertNotificationsQuery, sess *DBSession) error {
func getAlertNotificationInternal(query *models.GetAlertNotificationsQuery, sess *DBSession) error {
var sql bytes.Buffer
params := make([]interface{}, 0)
@@ -159,7 +159,7 @@ func getAlertNotificationInternal(query *m.GetAlertNotificationsQuery, sess *DBS
}
}
results := make([]*m.AlertNotification, 0)
results := make([]*models.AlertNotification, 0)
if err := sess.SQL(sql.String(), params...).Find(&results); err != nil {
return err
}
@@ -173,7 +173,7 @@ func getAlertNotificationInternal(query *m.GetAlertNotificationsQuery, sess *DBS
return nil
}
func getAlertNotificationWithUidInternal(query *m.GetAlertNotificationsWithUidQuery, sess *DBSession) error {
func getAlertNotificationWithUidInternal(query *models.GetAlertNotificationsWithUidQuery, sess *DBSession) error {
var sql bytes.Buffer
params := make([]interface{}, 0)
@@ -196,7 +196,7 @@ func getAlertNotificationWithUidInternal(query *m.GetAlertNotificationsWithUidQu
sql.WriteString(` WHERE alert_notification.org_id = ? AND alert_notification.uid = ?`)
params = append(params, query.OrgId, query.Uid)
results := make([]*m.AlertNotification, 0)
results := make([]*models.AlertNotification, 0)
if err := sess.SQL(sql.String(), params...).Find(&results); err != nil {
return err
}
@@ -210,7 +210,7 @@ func getAlertNotificationWithUidInternal(query *m.GetAlertNotificationsWithUidQu
return nil
}
func CreateAlertNotificationCommand(cmd *m.CreateAlertNotificationCommand) error {
func CreateAlertNotificationCommand(cmd *models.CreateAlertNotificationCommand) error {
return inTransaction(func(sess *DBSession) error {
if cmd.Uid == "" {
uid, uidGenerationErr := generateNewAlertNotificationUid(sess, cmd.OrgId)
@@ -220,7 +220,7 @@ func CreateAlertNotificationCommand(cmd *m.CreateAlertNotificationCommand) error
cmd.Uid = uid
}
existingQuery := &m.GetAlertNotificationsWithUidQuery{OrgId: cmd.OrgId, Uid: cmd.Uid}
existingQuery := &models.GetAlertNotificationsWithUidQuery{OrgId: cmd.OrgId, Uid: cmd.Uid}
err := getAlertNotificationWithUidInternal(existingQuery, sess)
if err != nil {
@@ -232,7 +232,7 @@ func CreateAlertNotificationCommand(cmd *m.CreateAlertNotificationCommand) error
}
// check if name exists
sameNameQuery := &m.GetAlertNotificationsQuery{OrgId: cmd.OrgId, Name: cmd.Name}
sameNameQuery := &models.GetAlertNotificationsQuery{OrgId: cmd.OrgId, Name: cmd.Name}
if err := getAlertNotificationInternal(sameNameQuery, sess); err != nil {
return err
}
@@ -244,7 +244,7 @@ func CreateAlertNotificationCommand(cmd *m.CreateAlertNotificationCommand) error
var frequency time.Duration
if cmd.SendReminder {
if cmd.Frequency == "" {
return m.ErrNotificationFrequencyNotFound
return models.ErrNotificationFrequencyNotFound
}
frequency, err = time.ParseDuration(cmd.Frequency)
@@ -253,7 +253,7 @@ func CreateAlertNotificationCommand(cmd *m.CreateAlertNotificationCommand) error
}
}
alertNotification := &m.AlertNotification{
alertNotification := &models.AlertNotification{
Uid: cmd.Uid,
OrgId: cmd.OrgId,
Name: cmd.Name,
@@ -279,7 +279,7 @@ func CreateAlertNotificationCommand(cmd *m.CreateAlertNotificationCommand) error
func generateNewAlertNotificationUid(sess *DBSession, orgId int64) (string, error) {
for i := 0; i < 3; i++ {
uid := util.GenerateShortUID()
exists, err := sess.Where("org_id=? AND uid=?", orgId, uid).Get(&m.AlertNotification{})
exists, err := sess.Where("org_id=? AND uid=?", orgId, uid).Get(&models.AlertNotification{})
if err != nil {
return "", err
}
@@ -289,19 +289,19 @@ func generateNewAlertNotificationUid(sess *DBSession, orgId int64) (string, erro
}
}
return "", m.ErrAlertNotificationFailedGenerateUniqueUid
return "", models.ErrAlertNotificationFailedGenerateUniqueUid
}
func UpdateAlertNotification(cmd *m.UpdateAlertNotificationCommand) error {
func UpdateAlertNotification(cmd *models.UpdateAlertNotificationCommand) error {
return inTransaction(func(sess *DBSession) (err error) {
current := m.AlertNotification{}
current := models.AlertNotification{}
if _, err = sess.ID(cmd.Id).Get(&current); err != nil {
return err
}
// check if name exists
sameNameQuery := &m.GetAlertNotificationsQuery{OrgId: cmd.OrgId, Name: cmd.Name}
sameNameQuery := &models.GetAlertNotificationsQuery{OrgId: cmd.OrgId, Name: cmd.Name}
if err := getAlertNotificationInternal(sameNameQuery, sess); err != nil {
return err
}
@@ -324,7 +324,7 @@ func UpdateAlertNotification(cmd *m.UpdateAlertNotificationCommand) error {
if current.SendReminder {
if cmd.Frequency == "" {
return m.ErrNotificationFrequencyNotFound
return models.ErrNotificationFrequencyNotFound
}
frequency, err := time.ParseDuration(cmd.Frequency)
@@ -348,8 +348,8 @@ func UpdateAlertNotification(cmd *m.UpdateAlertNotificationCommand) error {
})
}
func UpdateAlertNotificationWithUid(cmd *m.UpdateAlertNotificationWithUidCommand) error {
getAlertNotificationWithUidQuery := &m.GetAlertNotificationsWithUidQuery{OrgId: cmd.OrgId, Uid: cmd.Uid}
func UpdateAlertNotificationWithUid(cmd *models.UpdateAlertNotificationWithUidCommand) error {
getAlertNotificationWithUidQuery := &models.GetAlertNotificationsWithUidQuery{OrgId: cmd.OrgId, Uid: cmd.Uid}
if err := getAlertNotificationWithUidInternal(getAlertNotificationWithUidQuery, newSession()); err != nil {
return err
@@ -365,7 +365,7 @@ func UpdateAlertNotificationWithUid(cmd *m.UpdateAlertNotificationWithUidCommand
cmd.NewUid = cmd.Uid
}
updateNotification := &m.UpdateAlertNotificationCommand{
updateNotification := &models.UpdateAlertNotificationCommand{
Id: current.Id,
Uid: cmd.NewUid,
Name: cmd.Name,
@@ -388,10 +388,10 @@ func UpdateAlertNotificationWithUid(cmd *m.UpdateAlertNotificationWithUidCommand
return nil
}
func SetAlertNotificationStateToCompleteCommand(ctx context.Context, cmd *m.SetAlertNotificationStateToCompleteCommand) error {
func SetAlertNotificationStateToCompleteCommand(ctx context.Context, cmd *models.SetAlertNotificationStateToCompleteCommand) error {
return inTransactionCtx(ctx, func(sess *DBSession) error {
version := cmd.Version
var current m.AlertNotificationState
var current models.AlertNotificationState
if _, err := sess.ID(cmd.Id).Get(&current); err != nil {
return err
}
@@ -404,7 +404,7 @@ func SetAlertNotificationStateToCompleteCommand(ctx context.Context, cmd *m.SetA
WHERE
id = ?`
_, err := sess.Exec(sql, m.AlertNotificationStateCompleted, newVersion, timeNow().Unix(), cmd.Id)
_, err := sess.Exec(sql, models.AlertNotificationStateCompleted, newVersion, timeNow().Unix(), cmd.Id)
if err != nil {
return err
}
@@ -417,7 +417,7 @@ func SetAlertNotificationStateToCompleteCommand(ctx context.Context, cmd *m.SetA
})
}
func SetAlertNotificationStateToPendingCommand(ctx context.Context, cmd *m.SetAlertNotificationStateToPendingCommand) error {
func SetAlertNotificationStateToPendingCommand(ctx context.Context, cmd *models.SetAlertNotificationStateToPendingCommand) error {
return withDbSession(ctx, func(sess *DBSession) error {
newVersion := cmd.Version + 1
sql := `UPDATE alert_notification_state SET
@@ -430,7 +430,7 @@ func SetAlertNotificationStateToPendingCommand(ctx context.Context, cmd *m.SetAl
(version = ? OR alert_rule_state_updated_version < ?)`
res, err := sess.Exec(sql,
m.AlertNotificationStatePending,
models.AlertNotificationStatePending,
newVersion,
timeNow().Unix(),
cmd.AlertRuleStateUpdatedVersion,
@@ -444,7 +444,7 @@ func SetAlertNotificationStateToPendingCommand(ctx context.Context, cmd *m.SetAl
affected, _ := res.RowsAffected()
if affected == 0 {
return m.ErrAlertNotificationStateVersionConflict
return models.ErrAlertNotificationStateVersionConflict
}
cmd.ResultVersion = newVersion
@@ -453,9 +453,9 @@ func SetAlertNotificationStateToPendingCommand(ctx context.Context, cmd *m.SetAl
})
}
func GetOrCreateAlertNotificationState(ctx context.Context, cmd *m.GetOrCreateNotificationStateQuery) error {
func GetOrCreateAlertNotificationState(ctx context.Context, cmd *models.GetOrCreateNotificationStateQuery) error {
return inTransactionCtx(ctx, func(sess *DBSession) error {
nj := &m.AlertNotificationState{}
nj := &models.AlertNotificationState{}
exist, err := getAlertNotificationState(sess, cmd, nj)
@@ -469,11 +469,11 @@ func GetOrCreateAlertNotificationState(ctx context.Context, cmd *m.GetOrCreateNo
return nil
}
notificationState := &m.AlertNotificationState{
notificationState := &models.AlertNotificationState{
OrgId: cmd.OrgId,
AlertId: cmd.AlertId,
NotifierId: cmd.NotifierId,
State: m.AlertNotificationStateUnknown,
State: models.AlertNotificationStateUnknown,
UpdatedAt: timeNow().Unix(),
}
@@ -501,7 +501,7 @@ func GetOrCreateAlertNotificationState(ctx context.Context, cmd *m.GetOrCreateNo
})
}
func getAlertNotificationState(sess *DBSession, cmd *m.GetOrCreateNotificationStateQuery, nj *m.AlertNotificationState) (bool, error) {
func getAlertNotificationState(sess *DBSession, cmd *models.GetOrCreateNotificationStateQuery, nj *models.AlertNotificationState) (bool, error) {
return sess.
Where("alert_notification_state.org_id = ?", cmd.OrgId).
Where("alert_notification_state.alert_id = ?", cmd.AlertId).

View File

@@ -5,7 +5,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/components/simplejson"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
. "github.com/smartystreets/goconvey/convey"
)
@@ -32,7 +32,7 @@ func TestAlertingDataAccess(t *testing.T) {
testDash := insertTestDashboard("dashboard with alerts", 1, 0, false, "alert")
evalData, _ := simplejson.NewJson([]byte(`{"test": "test"}`))
items := []*m.Alert{
items := []*models.Alert{
{
PanelId: 1,
DashboardId: testDash.Id,
@@ -45,7 +45,7 @@ func TestAlertingDataAccess(t *testing.T) {
},
}
cmd := m.SaveAlertsCommand{
cmd := models.SaveAlertsCommand{
Alerts: items,
DashboardId: testDash.Id,
OrgId: 1,
@@ -60,9 +60,9 @@ func TestAlertingDataAccess(t *testing.T) {
Convey("Can set new states", func() {
Convey("new state ok", func() {
cmd := &m.SetAlertStateCommand{
cmd := &models.SetAlertStateCommand{
AlertId: 1,
State: m.AlertStateOK,
State: models.AlertStateOK,
}
err = SetAlertState(cmd)
@@ -77,9 +77,9 @@ func TestAlertingDataAccess(t *testing.T) {
So(err, ShouldBeNil)
Convey("cannot updated paused alert", func() {
cmd := &m.SetAlertStateCommand{
cmd := &models.SetAlertStateCommand{
AlertId: 1,
State: m.AlertStateOK,
State: models.AlertStateOK,
}
err = SetAlertState(cmd)
@@ -109,7 +109,7 @@ func TestAlertingDataAccess(t *testing.T) {
})
Convey("Can read properties", func() {
alertQuery := m.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, PanelId: 1, OrgId: 1, User: &m.SignedInUser{OrgRole: m.ROLE_ADMIN}}
alertQuery := models.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, PanelId: 1, OrgId: 1, User: &models.SignedInUser{OrgRole: models.ROLE_ADMIN}}
err2 := HandleAlertsQuery(&alertQuery)
alert := alertQuery.Result[0]
@@ -118,7 +118,7 @@ func TestAlertingDataAccess(t *testing.T) {
So(alert.DashboardId, ShouldEqual, testDash.Id)
So(alert.PanelId, ShouldEqual, 1)
So(alert.Name, ShouldEqual, "Alerting title")
So(alert.State, ShouldEqual, m.AlertStateUnknown)
So(alert.State, ShouldEqual, models.AlertStateUnknown)
So(alert.NewStateDate, ShouldNotBeNil)
So(alert.EvalData, ShouldNotBeNil)
So(alert.EvalData.Get("test").MustString(), ShouldEqual, "test")
@@ -129,8 +129,8 @@ func TestAlertingDataAccess(t *testing.T) {
})
Convey("Viewer cannot read alerts", func() {
viewerUser := &m.SignedInUser{OrgRole: m.ROLE_VIEWER, OrgId: 1}
alertQuery := m.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, PanelId: 1, OrgId: 1, User: viewerUser}
viewerUser := &models.SignedInUser{OrgRole: models.ROLE_VIEWER, OrgId: 1}
alertQuery := models.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, PanelId: 1, OrgId: 1, User: viewerUser}
err2 := HandleAlertsQuery(&alertQuery)
So(err2, ShouldBeNil)
@@ -141,7 +141,7 @@ func TestAlertingDataAccess(t *testing.T) {
modifiedItems := items
modifiedItems[0].Name = "Name"
modifiedCmd := m.SaveAlertsCommand{
modifiedCmd := models.SaveAlertsCommand{
DashboardId: testDash.Id,
OrgId: 1,
UserId: 1,
@@ -155,7 +155,7 @@ func TestAlertingDataAccess(t *testing.T) {
})
Convey("Alerts should be updated", func() {
query := m.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, OrgId: 1, User: &m.SignedInUser{OrgRole: m.ROLE_ADMIN}}
query := models.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, OrgId: 1, User: &models.SignedInUser{OrgRole: models.ROLE_ADMIN}}
err2 := HandleAlertsQuery(&query)
So(err2, ShouldBeNil)
@@ -163,7 +163,7 @@ func TestAlertingDataAccess(t *testing.T) {
So(query.Result[0].Name, ShouldEqual, "Name")
Convey("Alert state should not be updated", func() {
So(query.Result[0].State, ShouldEqual, m.AlertStateUnknown)
So(query.Result[0].State, ShouldEqual, models.AlertStateUnknown)
})
})
@@ -174,7 +174,7 @@ func TestAlertingDataAccess(t *testing.T) {
})
Convey("Multiple alerts per dashboard", func() {
multipleItems := []*m.Alert{
multipleItems := []*models.Alert{
{
DashboardId: testDash.Id,
PanelId: 1,
@@ -204,7 +204,7 @@ func TestAlertingDataAccess(t *testing.T) {
Convey("Should save 3 dashboards", func() {
So(err, ShouldBeNil)
queryForDashboard := m.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, OrgId: 1, User: &m.SignedInUser{OrgRole: m.ROLE_ADMIN}}
queryForDashboard := models.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, OrgId: 1, User: &models.SignedInUser{OrgRole: models.ROLE_ADMIN}}
err2 := HandleAlertsQuery(&queryForDashboard)
So(err2, ShouldBeNil)
@@ -218,7 +218,7 @@ func TestAlertingDataAccess(t *testing.T) {
err = SaveAlerts(&cmd)
Convey("should delete the missing alert", func() {
query := m.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, OrgId: 1, User: &m.SignedInUser{OrgRole: m.ROLE_ADMIN}}
query := models.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, OrgId: 1, User: &models.SignedInUser{OrgRole: models.ROLE_ADMIN}}
err2 := HandleAlertsQuery(&query)
So(err2, ShouldBeNil)
So(len(query.Result), ShouldEqual, 2)
@@ -227,7 +227,7 @@ func TestAlertingDataAccess(t *testing.T) {
})
Convey("When dashboard is removed", func() {
items := []*m.Alert{
items := []*models.Alert{
{
PanelId: 1,
DashboardId: testDash.Id,
@@ -236,7 +236,7 @@ func TestAlertingDataAccess(t *testing.T) {
},
}
cmd := m.SaveAlertsCommand{
cmd := models.SaveAlertsCommand{
Alerts: items,
DashboardId: testDash.Id,
OrgId: 1,
@@ -246,14 +246,14 @@ func TestAlertingDataAccess(t *testing.T) {
err = SaveAlerts(&cmd)
So(err, ShouldBeNil)
err = DeleteDashboard(&m.DeleteDashboardCommand{
err = DeleteDashboard(&models.DeleteDashboardCommand{
OrgId: 1,
Id: testDash.Id,
})
So(err, ShouldBeNil)
Convey("Alerts should be removed", func() {
query := m.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, OrgId: 1, User: &m.SignedInUser{OrgRole: m.ROLE_ADMIN}}
query := models.GetAlertsQuery{DashboardIDs: []int64{testDash.Id}, OrgId: 1, User: &models.SignedInUser{OrgRole: models.ROLE_ADMIN}}
err2 := HandleAlertsQuery(&query)
So(testDash.Id, ShouldEqual, 1)
@@ -304,7 +304,7 @@ func TestPausingAlerts(t *testing.T) {
})
}
func pauseAlert(orgId int64, alertId int64, pauseState bool) (int64, error) {
cmd := &m.PauseAlertCommand{
cmd := &models.PauseAlertCommand{
OrgId: orgId,
AlertIds: []int64{alertId},
Paused: pauseState,
@@ -313,8 +313,8 @@ func pauseAlert(orgId int64, alertId int64, pauseState bool) (int64, error) {
So(err, ShouldBeNil)
return cmd.ResultCount, err
}
func insertTestAlert(title string, message string, orgId int64, dashId int64, settings *simplejson.Json) (*m.Alert, error) {
items := []*m.Alert{
func insertTestAlert(title string, message string, orgId int64, dashId int64, settings *simplejson.Json) (*models.Alert, error) {
items := []*models.Alert{
{
PanelId: 1,
DashboardId: dashId,
@@ -326,7 +326,7 @@ func insertTestAlert(title string, message string, orgId int64, dashId int64, se
},
}
cmd := m.SaveAlertsCommand{
cmd := models.SaveAlertsCommand{
Alerts: items,
DashboardId: dashId,
OrgId: orgId,
@@ -337,8 +337,8 @@ func insertTestAlert(title string, message string, orgId int64, dashId int64, se
return cmd.Alerts[0], err
}
func getAlertById(id int64) (*m.Alert, error) {
q := &m.GetAlertByIdQuery{
func getAlertById(id int64) (*models.Alert, error) {
q := &models.GetAlertByIdQuery{
Id: id,
}
err := GetAlertById(q)
@@ -347,7 +347,7 @@ func getAlertById(id int64) (*m.Alert, error) {
}
func pauseAllAlerts(pauseState bool) error {
cmd := &m.PauseAllAlertCommand{
cmd := &models.PauseAllAlertCommand{
Paused: pauseState,
}
err := PauseAllAlerts(cmd)

View File

@@ -2,7 +2,7 @@ package sqlstore
import (
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
func init() {
@@ -10,7 +10,7 @@ func init() {
bus.AddHandler("sql", GetDashboardAclInfoList)
}
func UpdateDashboardAcl(cmd *m.UpdateDashboardAclCommand) error {
func UpdateDashboardAcl(cmd *models.UpdateDashboardAclCommand) error {
return inTransaction(func(sess *DBSession) error {
// delete existing items
_, err := sess.Exec("DELETE FROM dashboard_acl WHERE dashboard_id=?", cmd.DashboardId)
@@ -20,11 +20,11 @@ func UpdateDashboardAcl(cmd *m.UpdateDashboardAclCommand) error {
for _, item := range cmd.Items {
if item.UserId == 0 && item.TeamId == 0 && (item.Role == nil || !item.Role.IsValid()) {
return m.ErrDashboardAclInfoMissing
return models.ErrDashboardAclInfoMissing
}
if item.DashboardId == 0 {
return m.ErrDashboardPermissionDashboardEmpty
return models.ErrDashboardPermissionDashboardEmpty
}
sess.Nullable("user_id", "team_id")
@@ -34,7 +34,7 @@ func UpdateDashboardAcl(cmd *m.UpdateDashboardAclCommand) error {
}
// Update dashboard HasAcl flag
dashboard := m.Dashboard{HasAcl: true}
dashboard := models.Dashboard{HasAcl: true}
_, err = sess.Cols("has_acl").Where("id=?", cmd.DashboardId).Update(&dashboard)
return err
})
@@ -45,7 +45,7 @@ func UpdateDashboardAcl(cmd *m.UpdateDashboardAclCommand) error {
// 1) Permissions for the dashboard
// 2) permissions for its parent folder
// 3) if no specific permissions have been set for the dashboard or its parent folder then get the default permissions
func GetDashboardAclInfoList(query *m.GetDashboardAclInfoListQuery) error {
func GetDashboardAclInfoList(query *models.GetDashboardAclInfoListQuery) error {
var err error
falseStr := dialect.BooleanStr(false)
@@ -71,7 +71,7 @@ func GetDashboardAclInfoList(query *m.GetDashboardAclInfoListQuery) error {
falseStr + ` AS inherited
FROM dashboard_acl as da
WHERE da.dashboard_id = -1`
query.Result = make([]*m.DashboardAclInfoDTO, 0)
query.Result = make([]*models.DashboardAclInfoDTO, 0)
err = x.SQL(sql).Find(&query.Result)
} else {
@@ -115,7 +115,7 @@ func GetDashboardAclInfoList(query *m.GetDashboardAclInfoListQuery) error {
ORDER BY da.id ASC
`
query.Result = make([]*m.DashboardAclInfoDTO, 0)
query.Result = make([]*models.DashboardAclInfoDTO, 0)
err = x.SQL(rawSQL, query.OrgId, query.DashboardId).Find(&query.Result)
}

View File

@@ -3,9 +3,8 @@ package sqlstore
import (
"testing"
"github.com/grafana/grafana/pkg/models"
. "github.com/smartystreets/goconvey/convey"
m "github.com/grafana/grafana/pkg/models"
)
func TestDashboardAclDataAccess(t *testing.T) {
@@ -17,17 +16,17 @@ func TestDashboardAclDataAccess(t *testing.T) {
childDash := insertTestDashboard("2 test dash", 1, savedFolder.Id, false, "prod", "webapp")
Convey("When adding dashboard permission with userId and teamId set to 0", func() {
err := testHelperUpdateDashboardAcl(savedFolder.Id, m.DashboardAcl{
err := testHelperUpdateDashboardAcl(savedFolder.Id, models.DashboardAcl{
OrgId: 1,
DashboardId: savedFolder.Id,
Permission: m.PERMISSION_EDIT,
Permission: models.PERMISSION_EDIT,
})
So(err, ShouldEqual, m.ErrDashboardAclInfoMissing)
So(err, ShouldEqual, models.ErrDashboardAclInfoMissing)
})
Convey("Given dashboard folder with default permissions", func() {
Convey("When reading folder acl should include default acl", func() {
query := m.GetDashboardAclInfoListQuery{DashboardId: savedFolder.Id, OrgId: 1}
query := models.GetDashboardAclInfoListQuery{DashboardId: savedFolder.Id, OrgId: 1}
err := GetDashboardAclInfoList(&query)
So(err, ShouldBeNil)
@@ -35,15 +34,15 @@ func TestDashboardAclDataAccess(t *testing.T) {
So(len(query.Result), ShouldEqual, 2)
defaultPermissionsId := -1
So(query.Result[0].DashboardId, ShouldEqual, defaultPermissionsId)
So(*query.Result[0].Role, ShouldEqual, m.ROLE_VIEWER)
So(*query.Result[0].Role, ShouldEqual, models.ROLE_VIEWER)
So(query.Result[0].Inherited, ShouldBeFalse)
So(query.Result[1].DashboardId, ShouldEqual, defaultPermissionsId)
So(*query.Result[1].Role, ShouldEqual, m.ROLE_EDITOR)
So(*query.Result[1].Role, ShouldEqual, models.ROLE_EDITOR)
So(query.Result[1].Inherited, ShouldBeFalse)
})
Convey("When reading dashboard acl should include acl for parent folder", func() {
query := m.GetDashboardAclInfoListQuery{DashboardId: childDash.Id, OrgId: 1}
query := models.GetDashboardAclInfoListQuery{DashboardId: childDash.Id, OrgId: 1}
err := GetDashboardAclInfoList(&query)
So(err, ShouldBeNil)
@@ -51,23 +50,23 @@ func TestDashboardAclDataAccess(t *testing.T) {
So(len(query.Result), ShouldEqual, 2)
defaultPermissionsId := -1
So(query.Result[0].DashboardId, ShouldEqual, defaultPermissionsId)
So(*query.Result[0].Role, ShouldEqual, m.ROLE_VIEWER)
So(*query.Result[0].Role, ShouldEqual, models.ROLE_VIEWER)
So(query.Result[0].Inherited, ShouldBeTrue)
So(query.Result[1].DashboardId, ShouldEqual, defaultPermissionsId)
So(*query.Result[1].Role, ShouldEqual, m.ROLE_EDITOR)
So(*query.Result[1].Role, ShouldEqual, models.ROLE_EDITOR)
So(query.Result[1].Inherited, ShouldBeTrue)
})
})
Convey("Given dashboard folder with removed default permissions", func() {
err := UpdateDashboardAcl(&m.UpdateDashboardAclCommand{
err := UpdateDashboardAcl(&models.UpdateDashboardAclCommand{
DashboardId: savedFolder.Id,
Items: []*m.DashboardAcl{},
Items: []*models.DashboardAcl{},
})
So(err, ShouldBeNil)
Convey("When reading dashboard acl should return no acl items", func() {
query := m.GetDashboardAclInfoListQuery{DashboardId: childDash.Id, OrgId: 1}
query := models.GetDashboardAclInfoListQuery{DashboardId: childDash.Id, OrgId: 1}
err := GetDashboardAclInfoList(&query)
So(err, ShouldBeNil)
@@ -77,16 +76,16 @@ func TestDashboardAclDataAccess(t *testing.T) {
})
Convey("Given dashboard folder permission", func() {
err := testHelperUpdateDashboardAcl(savedFolder.Id, m.DashboardAcl{
err := testHelperUpdateDashboardAcl(savedFolder.Id, models.DashboardAcl{
OrgId: 1,
UserId: currentUser.Id,
DashboardId: savedFolder.Id,
Permission: m.PERMISSION_EDIT,
Permission: models.PERMISSION_EDIT,
})
So(err, ShouldBeNil)
Convey("When reading dashboard acl should include acl for parent folder", func() {
query := m.GetDashboardAclInfoListQuery{DashboardId: childDash.Id, OrgId: 1}
query := models.GetDashboardAclInfoListQuery{DashboardId: childDash.Id, OrgId: 1}
err := GetDashboardAclInfoList(&query)
So(err, ShouldBeNil)
@@ -96,16 +95,16 @@ func TestDashboardAclDataAccess(t *testing.T) {
})
Convey("Given child dashboard permission", func() {
err := testHelperUpdateDashboardAcl(childDash.Id, m.DashboardAcl{
err := testHelperUpdateDashboardAcl(childDash.Id, models.DashboardAcl{
OrgId: 1,
UserId: currentUser.Id,
DashboardId: childDash.Id,
Permission: m.PERMISSION_EDIT,
Permission: models.PERMISSION_EDIT,
})
So(err, ShouldBeNil)
Convey("When reading dashboard acl should include acl for parent folder and child", func() {
query := m.GetDashboardAclInfoListQuery{OrgId: 1, DashboardId: childDash.Id}
query := models.GetDashboardAclInfoListQuery{OrgId: 1, DashboardId: childDash.Id}
err := GetDashboardAclInfoList(&query)
So(err, ShouldBeNil)
@@ -120,16 +119,16 @@ func TestDashboardAclDataAccess(t *testing.T) {
})
Convey("Given child dashboard permission in folder with no permissions", func() {
err := testHelperUpdateDashboardAcl(childDash.Id, m.DashboardAcl{
err := testHelperUpdateDashboardAcl(childDash.Id, models.DashboardAcl{
OrgId: 1,
UserId: currentUser.Id,
DashboardId: childDash.Id,
Permission: m.PERMISSION_EDIT,
Permission: models.PERMISSION_EDIT,
})
So(err, ShouldBeNil)
Convey("When reading dashboard acl should include default acl for parent folder and the child acl", func() {
query := m.GetDashboardAclInfoListQuery{OrgId: 1, DashboardId: childDash.Id}
query := models.GetDashboardAclInfoListQuery{OrgId: 1, DashboardId: childDash.Id}
err := GetDashboardAclInfoList(&query)
So(err, ShouldBeNil)
@@ -137,10 +136,10 @@ func TestDashboardAclDataAccess(t *testing.T) {
defaultPermissionsId := -1
So(len(query.Result), ShouldEqual, 3)
So(query.Result[0].DashboardId, ShouldEqual, defaultPermissionsId)
So(*query.Result[0].Role, ShouldEqual, m.ROLE_VIEWER)
So(*query.Result[0].Role, ShouldEqual, models.ROLE_VIEWER)
So(query.Result[0].Inherited, ShouldBeTrue)
So(query.Result[1].DashboardId, ShouldEqual, defaultPermissionsId)
So(*query.Result[1].Role, ShouldEqual, m.ROLE_EDITOR)
So(*query.Result[1].Role, ShouldEqual, models.ROLE_EDITOR)
So(query.Result[1].Inherited, ShouldBeTrue)
So(query.Result[2].DashboardId, ShouldEqual, childDash.Id)
So(query.Result[2].Inherited, ShouldBeFalse)
@@ -148,20 +147,20 @@ func TestDashboardAclDataAccess(t *testing.T) {
})
Convey("Should be able to add dashboard permission", func() {
err := testHelperUpdateDashboardAcl(savedFolder.Id, m.DashboardAcl{
err := testHelperUpdateDashboardAcl(savedFolder.Id, models.DashboardAcl{
OrgId: 1,
UserId: currentUser.Id,
DashboardId: savedFolder.Id,
Permission: m.PERMISSION_EDIT,
Permission: models.PERMISSION_EDIT,
})
So(err, ShouldBeNil)
q1 := &m.GetDashboardAclInfoListQuery{DashboardId: savedFolder.Id, OrgId: 1}
q1 := &models.GetDashboardAclInfoListQuery{DashboardId: savedFolder.Id, OrgId: 1}
err = GetDashboardAclInfoList(q1)
So(err, ShouldBeNil)
So(q1.Result[0].DashboardId, ShouldEqual, savedFolder.Id)
So(q1.Result[0].Permission, ShouldEqual, m.PERMISSION_EDIT)
So(q1.Result[0].Permission, ShouldEqual, models.PERMISSION_EDIT)
So(q1.Result[0].PermissionName, ShouldEqual, "Edit")
So(q1.Result[0].UserId, ShouldEqual, currentUser.Id)
So(q1.Result[0].UserLogin, ShouldEqual, currentUser.Login)
@@ -171,7 +170,7 @@ func TestDashboardAclDataAccess(t *testing.T) {
err := testHelperUpdateDashboardAcl(savedFolder.Id)
So(err, ShouldBeNil)
q3 := &m.GetDashboardAclInfoListQuery{DashboardId: savedFolder.Id, OrgId: 1}
q3 := &models.GetDashboardAclInfoListQuery{DashboardId: savedFolder.Id, OrgId: 1}
err = GetDashboardAclInfoList(q3)
So(err, ShouldBeNil)
So(len(q3.Result), ShouldEqual, 0)
@@ -179,42 +178,42 @@ func TestDashboardAclDataAccess(t *testing.T) {
})
Convey("Given a team", func() {
group1 := m.CreateTeamCommand{Name: "group1 name", OrgId: 1}
group1 := models.CreateTeamCommand{Name: "group1 name", OrgId: 1}
err := CreateTeam(&group1)
So(err, ShouldBeNil)
Convey("Should be able to add a user permission for a team", func() {
err := testHelperUpdateDashboardAcl(savedFolder.Id, m.DashboardAcl{
err := testHelperUpdateDashboardAcl(savedFolder.Id, models.DashboardAcl{
OrgId: 1,
TeamId: group1.Result.Id,
DashboardId: savedFolder.Id,
Permission: m.PERMISSION_EDIT,
Permission: models.PERMISSION_EDIT,
})
So(err, ShouldBeNil)
q1 := &m.GetDashboardAclInfoListQuery{DashboardId: savedFolder.Id, OrgId: 1}
q1 := &models.GetDashboardAclInfoListQuery{DashboardId: savedFolder.Id, OrgId: 1}
err = GetDashboardAclInfoList(q1)
So(err, ShouldBeNil)
So(q1.Result[0].DashboardId, ShouldEqual, savedFolder.Id)
So(q1.Result[0].Permission, ShouldEqual, m.PERMISSION_EDIT)
So(q1.Result[0].Permission, ShouldEqual, models.PERMISSION_EDIT)
So(q1.Result[0].TeamId, ShouldEqual, group1.Result.Id)
})
Convey("Should be able to update an existing permission for a team", func() {
err := testHelperUpdateDashboardAcl(savedFolder.Id, m.DashboardAcl{
err := testHelperUpdateDashboardAcl(savedFolder.Id, models.DashboardAcl{
OrgId: 1,
TeamId: group1.Result.Id,
DashboardId: savedFolder.Id,
Permission: m.PERMISSION_ADMIN,
Permission: models.PERMISSION_ADMIN,
})
So(err, ShouldBeNil)
q3 := &m.GetDashboardAclInfoListQuery{DashboardId: savedFolder.Id, OrgId: 1}
q3 := &models.GetDashboardAclInfoListQuery{DashboardId: savedFolder.Id, OrgId: 1}
err = GetDashboardAclInfoList(q3)
So(err, ShouldBeNil)
So(len(q3.Result), ShouldEqual, 1)
So(q3.Result[0].DashboardId, ShouldEqual, savedFolder.Id)
So(q3.Result[0].Permission, ShouldEqual, m.PERMISSION_ADMIN)
So(q3.Result[0].Permission, ShouldEqual, models.PERMISSION_ADMIN)
So(q3.Result[0].TeamId, ShouldEqual, group1.Result.Id)
})
})
@@ -224,7 +223,7 @@ func TestDashboardAclDataAccess(t *testing.T) {
var rootFolderId int64 = 0
Convey("When reading dashboard acl should return default permissions", func() {
query := m.GetDashboardAclInfoListQuery{DashboardId: rootFolderId, OrgId: 1}
query := models.GetDashboardAclInfoListQuery{DashboardId: rootFolderId, OrgId: 1}
err := GetDashboardAclInfoList(&query)
So(err, ShouldBeNil)
@@ -232,10 +231,10 @@ func TestDashboardAclDataAccess(t *testing.T) {
So(len(query.Result), ShouldEqual, 2)
defaultPermissionsId := -1
So(query.Result[0].DashboardId, ShouldEqual, defaultPermissionsId)
So(*query.Result[0].Role, ShouldEqual, m.ROLE_VIEWER)
So(*query.Result[0].Role, ShouldEqual, models.ROLE_VIEWER)
So(query.Result[0].Inherited, ShouldBeFalse)
So(query.Result[1].DashboardId, ShouldEqual, defaultPermissionsId)
So(*query.Result[1].Role, ShouldEqual, m.ROLE_EDITOR)
So(*query.Result[1].Role, ShouldEqual, models.ROLE_EDITOR)
So(query.Result[1].Inherited, ShouldBeFalse)
})
})

View File

@@ -4,7 +4,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/setting"
)
@@ -19,7 +19,7 @@ func init() {
// DeleteExpiredSnapshots removes snapshots with old expiry dates.
// SnapShotRemoveExpired is deprecated and should be removed in the future.
// Snapshot expiry is decided by the user when they share the snapshot.
func DeleteExpiredSnapshots(cmd *m.DeleteExpiredSnapshotsCommand) error {
func DeleteExpiredSnapshots(cmd *models.DeleteExpiredSnapshotsCommand) error {
return inTransaction(func(sess *DBSession) error {
if !setting.SnapShotRemoveExpired {
sqlog.Warn("[Deprecated] The snapshot_remove_expired setting is outdated. Please remove from your config.")
@@ -37,7 +37,7 @@ func DeleteExpiredSnapshots(cmd *m.DeleteExpiredSnapshotsCommand) error {
})
}
func CreateDashboardSnapshot(cmd *m.CreateDashboardSnapshotCommand) error {
func CreateDashboardSnapshot(cmd *models.CreateDashboardSnapshotCommand) error {
return inTransaction(func(sess *DBSession) error {
// never
@@ -46,7 +46,7 @@ func CreateDashboardSnapshot(cmd *m.CreateDashboardSnapshotCommand) error {
expires = time.Now().Add(time.Second * time.Duration(cmd.Expires))
}
snapshot := &m.DashboardSnapshot{
snapshot := &models.DashboardSnapshot{
Name: cmd.Name,
Key: cmd.Key,
DeleteKey: cmd.DeleteKey,
@@ -68,7 +68,7 @@ func CreateDashboardSnapshot(cmd *m.CreateDashboardSnapshotCommand) error {
})
}
func DeleteDashboardSnapshot(cmd *m.DeleteDashboardSnapshotCommand) error {
func DeleteDashboardSnapshot(cmd *models.DeleteDashboardSnapshotCommand) error {
return inTransaction(func(sess *DBSession) error {
var rawSql = "DELETE FROM dashboard_snapshot WHERE delete_key=?"
_, err := sess.Exec(rawSql, cmd.DeleteKey)
@@ -76,14 +76,14 @@ func DeleteDashboardSnapshot(cmd *m.DeleteDashboardSnapshotCommand) error {
})
}
func GetDashboardSnapshot(query *m.GetDashboardSnapshotQuery) error {
snapshot := m.DashboardSnapshot{Key: query.Key, DeleteKey: query.DeleteKey}
func GetDashboardSnapshot(query *models.GetDashboardSnapshotQuery) error {
snapshot := models.DashboardSnapshot{Key: query.Key, DeleteKey: query.DeleteKey}
has, err := x.Get(&snapshot)
if err != nil {
return err
} else if !has {
return m.ErrDashboardSnapshotNotFound
return models.ErrDashboardSnapshotNotFound
}
query.Result = &snapshot
@@ -92,8 +92,8 @@ func GetDashboardSnapshot(query *m.GetDashboardSnapshotQuery) error {
// SearchDashboardSnapshots returns a list of all snapshots for admins
// for other roles, it returns snapshots created by the user
func SearchDashboardSnapshots(query *m.GetDashboardSnapshotsQuery) error {
var snapshots = make(m.DashboardSnapshotsList, 0)
func SearchDashboardSnapshots(query *models.GetDashboardSnapshotsQuery) error {
var snapshots = make(models.DashboardSnapshotsList, 0)
sess := x.Limit(query.Limit)
sess.Table("dashboard_snapshot")
@@ -103,7 +103,7 @@ func SearchDashboardSnapshots(query *m.GetDashboardSnapshotsQuery) error {
}
// admins can see all snapshots, everyone else can only see their own snapshots
if query.SignedInUser.OrgRole == m.ROLE_ADMIN {
if query.SignedInUser.OrgRole == models.ROLE_ADMIN {
sess.Where("org_id = ?", query.OrgId)
} else if !query.SignedInUser.IsAnonymous {
sess.Where("org_id = ? AND user_id = ?", query.OrgId, query.SignedInUser.UserId)

View File

@@ -7,7 +7,7 @@ import (
. "github.com/smartystreets/goconvey/convey"
"github.com/grafana/grafana/pkg/components/simplejson"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/setting"
)
@@ -17,7 +17,7 @@ func TestDashboardSnapshotDBAccess(t *testing.T) {
InitTestDB(t)
Convey("Given saved snapshot", func() {
cmd := m.CreateDashboardSnapshotCommand{
cmd := models.CreateDashboardSnapshotCommand{
Key: "hej",
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"hello": "mupp",
@@ -29,7 +29,7 @@ func TestDashboardSnapshotDBAccess(t *testing.T) {
So(err, ShouldBeNil)
Convey("Should be able to get snapshot by key", func() {
query := m.GetDashboardSnapshotQuery{Key: "hej"}
query := models.GetDashboardSnapshotQuery{Key: "hej"}
err = GetDashboardSnapshot(&query)
So(err, ShouldBeNil)
@@ -39,9 +39,9 @@ func TestDashboardSnapshotDBAccess(t *testing.T) {
Convey("And the user has the admin role", func() {
Convey("Should return all the snapshots", func() {
query := m.GetDashboardSnapshotsQuery{
query := models.GetDashboardSnapshotsQuery{
OrgId: 1,
SignedInUser: &m.SignedInUser{OrgRole: m.ROLE_ADMIN},
SignedInUser: &models.SignedInUser{OrgRole: models.ROLE_ADMIN},
}
err := SearchDashboardSnapshots(&query)
So(err, ShouldBeNil)
@@ -53,9 +53,9 @@ func TestDashboardSnapshotDBAccess(t *testing.T) {
Convey("And the user has the editor role and has created a snapshot", func() {
Convey("Should return all the snapshots", func() {
query := m.GetDashboardSnapshotsQuery{
query := models.GetDashboardSnapshotsQuery{
OrgId: 1,
SignedInUser: &m.SignedInUser{OrgRole: m.ROLE_EDITOR, UserId: 1000},
SignedInUser: &models.SignedInUser{OrgRole: models.ROLE_EDITOR, UserId: 1000},
}
err := SearchDashboardSnapshots(&query)
So(err, ShouldBeNil)
@@ -67,9 +67,9 @@ func TestDashboardSnapshotDBAccess(t *testing.T) {
Convey("And the user has the editor role and has not created any snapshot", func() {
Convey("Should not return any snapshots", func() {
query := m.GetDashboardSnapshotsQuery{
query := models.GetDashboardSnapshotsQuery{
OrgId: 1,
SignedInUser: &m.SignedInUser{OrgRole: m.ROLE_EDITOR, UserId: 2},
SignedInUser: &models.SignedInUser{OrgRole: models.ROLE_EDITOR, UserId: 2},
}
err := SearchDashboardSnapshots(&query)
So(err, ShouldBeNil)
@@ -80,7 +80,7 @@ func TestDashboardSnapshotDBAccess(t *testing.T) {
})
Convey("And the user is anonymous", func() {
cmd := m.CreateDashboardSnapshotCommand{
cmd := models.CreateDashboardSnapshotCommand{
Key: "strangesnapshotwithuserid0",
DeleteKey: "adeletekey",
Dashboard: simplejson.NewFromAny(map[string]interface{}{
@@ -93,9 +93,9 @@ func TestDashboardSnapshotDBAccess(t *testing.T) {
So(err, ShouldBeNil)
Convey("Should not return any snapshots", func() {
query := m.GetDashboardSnapshotsQuery{
query := models.GetDashboardSnapshotsQuery{
OrgId: 1,
SignedInUser: &m.SignedInUser{OrgRole: m.ROLE_EDITOR, IsAnonymous: true, UserId: 0},
SignedInUser: &models.SignedInUser{OrgRole: models.ROLE_EDITOR, IsAnonymous: true, UserId: 0},
}
err := SearchDashboardSnapshots(&query)
So(err, ShouldBeNil)
@@ -118,12 +118,12 @@ func TestDeleteExpiredSnapshots(t *testing.T) {
createTestSnapshot(sqlstore, "key2", -1200)
createTestSnapshot(sqlstore, "key3", -1200)
err := DeleteExpiredSnapshots(&m.DeleteExpiredSnapshotsCommand{})
err := DeleteExpiredSnapshots(&models.DeleteExpiredSnapshotsCommand{})
So(err, ShouldBeNil)
query := m.GetDashboardSnapshotsQuery{
query := models.GetDashboardSnapshotsQuery{
OrgId: 1,
SignedInUser: &m.SignedInUser{OrgRole: m.ROLE_ADMIN},
SignedInUser: &models.SignedInUser{OrgRole: models.ROLE_ADMIN},
}
err = SearchDashboardSnapshots(&query)
So(err, ShouldBeNil)
@@ -131,12 +131,12 @@ func TestDeleteExpiredSnapshots(t *testing.T) {
So(len(query.Result), ShouldEqual, 1)
So(query.Result[0].Key, ShouldEqual, notExpiredsnapshot.Key)
err = DeleteExpiredSnapshots(&m.DeleteExpiredSnapshotsCommand{})
err = DeleteExpiredSnapshots(&models.DeleteExpiredSnapshotsCommand{})
So(err, ShouldBeNil)
query = m.GetDashboardSnapshotsQuery{
query = models.GetDashboardSnapshotsQuery{
OrgId: 1,
SignedInUser: &m.SignedInUser{OrgRole: m.ROLE_ADMIN},
SignedInUser: &models.SignedInUser{OrgRole: models.ROLE_ADMIN},
}
err = SearchDashboardSnapshots(&query)
So(err, ShouldBeNil)
@@ -146,8 +146,8 @@ func TestDeleteExpiredSnapshots(t *testing.T) {
})
}
func createTestSnapshot(sqlstore *SqlStore, key string, expires int64) *m.DashboardSnapshot {
cmd := m.CreateDashboardSnapshotCommand{
func createTestSnapshot(sqlstore *SqlStore, key string, expires int64) *models.DashboardSnapshot {
cmd := models.CreateDashboardSnapshotCommand{
Key: key,
DeleteKey: "delete" + key,
Dashboard: simplejson.NewFromAny(map[string]interface{}{

View File

@@ -7,7 +7,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/components/simplejson"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/search"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/util"
@@ -41,7 +41,7 @@ func TestDashboardDataAccess(t *testing.T) {
})
Convey("Should be able to get dashboard by id", func() {
query := m.GetDashboardQuery{
query := models.GetDashboardQuery{
Id: savedDash.Id,
OrgId: 1,
}
@@ -57,7 +57,7 @@ func TestDashboardDataAccess(t *testing.T) {
})
Convey("Should be able to get dashboard by slug", func() {
query := m.GetDashboardQuery{
query := models.GetDashboardQuery{
Slug: "test-dash-23",
OrgId: 1,
}
@@ -73,7 +73,7 @@ func TestDashboardDataAccess(t *testing.T) {
})
Convey("Should be able to get dashboard by uid", func() {
query := m.GetDashboardQuery{
query := models.GetDashboardQuery{
Uid: savedDash.Uid,
OrgId: 1,
}
@@ -89,18 +89,18 @@ func TestDashboardDataAccess(t *testing.T) {
})
Convey("Shouldn't be able to get a dashboard with just an OrgID", func() {
query := m.GetDashboardQuery{
query := models.GetDashboardQuery{
OrgId: 1,
}
err := GetDashboard(&query)
So(err, ShouldEqual, m.ErrDashboardIdentifierNotSet)
So(err, ShouldEqual, models.ErrDashboardIdentifierNotSet)
})
Convey("Should be able to delete dashboard", func() {
dash := insertTestDashboard("delete me", 1, 0, false, "delete this")
err := DeleteDashboard(&m.DeleteDashboardCommand{
err := DeleteDashboard(&models.DeleteDashboardCommand{
Id: dash.Id,
OrgId: 1,
})
@@ -117,7 +117,7 @@ func TestDashboardDataAccess(t *testing.T) {
}
return util.GenerateShortUID()
}
cmd := m.SaveDashboardCommand{
cmd := models.SaveDashboardCommand{
OrgId: 1,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"title": "new dash 12334",
@@ -132,7 +132,7 @@ func TestDashboardDataAccess(t *testing.T) {
})
Convey("Should be able to create dashboard", func() {
cmd := m.SaveDashboardCommand{
cmd := models.SaveDashboardCommand{
OrgId: 1,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"title": "folderId",
@@ -150,7 +150,7 @@ func TestDashboardDataAccess(t *testing.T) {
})
Convey("Should be able to update dashboard by id and remove folderId", func() {
cmd := m.SaveDashboardCommand{
cmd := models.SaveDashboardCommand{
OrgId: 1,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"id": savedDash.Id,
@@ -166,7 +166,7 @@ func TestDashboardDataAccess(t *testing.T) {
So(err, ShouldBeNil)
So(cmd.Result.FolderId, ShouldEqual, 2)
cmd = m.SaveDashboardCommand{
cmd = models.SaveDashboardCommand{
OrgId: 1,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
"id": savedDash.Id,
@@ -181,7 +181,7 @@ func TestDashboardDataAccess(t *testing.T) {
err = SaveDashboard(&cmd)
So(err, ShouldBeNil)
query := m.GetDashboardQuery{
query := models.GetDashboardQuery{
Id: savedDash.Id,
OrgId: 1,
}
@@ -196,14 +196,14 @@ func TestDashboardDataAccess(t *testing.T) {
})
Convey("Should be able to delete a dashboard folder and its children", func() {
deleteCmd := &m.DeleteDashboardCommand{Id: savedFolder.Id}
deleteCmd := &models.DeleteDashboardCommand{Id: savedFolder.Id}
err := DeleteDashboard(deleteCmd)
So(err, ShouldBeNil)
query := search.FindPersistedDashboardsQuery{
OrgId: 1,
FolderIds: []int64{savedFolder.Id},
SignedInUser: &m.SignedInUser{},
SignedInUser: &models.SignedInUser{},
}
err = SearchDashboards(&query)
@@ -213,7 +213,7 @@ func TestDashboardDataAccess(t *testing.T) {
})
Convey("Should return error if no dashboard is found for update when dashboard id is greater than zero", func() {
cmd := m.SaveDashboardCommand{
cmd := models.SaveDashboardCommand{
OrgId: 1,
Overwrite: true,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
@@ -224,11 +224,11 @@ func TestDashboardDataAccess(t *testing.T) {
}
err := SaveDashboard(&cmd)
So(err, ShouldEqual, m.ErrDashboardNotFound)
So(err, ShouldEqual, models.ErrDashboardNotFound)
})
Convey("Should not return error if no dashboard is found for update when dashboard id is zero", func() {
cmd := m.SaveDashboardCommand{
cmd := models.SaveDashboardCommand{
OrgId: 1,
Overwrite: true,
Dashboard: simplejson.NewFromAny(map[string]interface{}{
@@ -243,7 +243,7 @@ func TestDashboardDataAccess(t *testing.T) {
})
Convey("Should be able to get dashboard tags", func() {
query := m.GetDashboardTagsQuery{OrgId: 1}
query := models.GetDashboardTagsQuery{OrgId: 1}
err := GetDashboardTags(&query)
So(err, ShouldBeNil)
@@ -255,7 +255,7 @@ func TestDashboardDataAccess(t *testing.T) {
query := search.FindPersistedDashboardsQuery{
Title: "1 test dash folder",
OrgId: 1,
SignedInUser: &m.SignedInUser{OrgId: 1, OrgRole: m.ROLE_EDITOR},
SignedInUser: &models.SignedInUser{OrgId: 1, OrgRole: models.ROLE_EDITOR},
}
err := SearchDashboards(&query)
@@ -272,7 +272,7 @@ func TestDashboardDataAccess(t *testing.T) {
query := search.FindPersistedDashboardsQuery{
OrgId: 1,
Limit: 1,
SignedInUser: &m.SignedInUser{OrgId: 1, OrgRole: m.ROLE_EDITOR},
SignedInUser: &models.SignedInUser{OrgId: 1, OrgRole: models.ROLE_EDITOR},
}
err := SearchDashboards(&query)
@@ -287,7 +287,7 @@ func TestDashboardDataAccess(t *testing.T) {
OrgId: 1,
Limit: 1,
Page: 2,
SignedInUser: &m.SignedInUser{OrgId: 1, OrgRole: m.ROLE_EDITOR},
SignedInUser: &models.SignedInUser{OrgId: 1, OrgRole: models.ROLE_EDITOR},
}
err := SearchDashboards(&query)
@@ -302,7 +302,7 @@ func TestDashboardDataAccess(t *testing.T) {
OrgId: 1,
Type: "dash-db",
Tags: []string{"prod"},
SignedInUser: &m.SignedInUser{OrgId: 1, OrgRole: m.ROLE_EDITOR},
SignedInUser: &models.SignedInUser{OrgId: 1, OrgRole: models.ROLE_EDITOR},
}
err := SearchDashboards(&query)
@@ -316,7 +316,7 @@ func TestDashboardDataAccess(t *testing.T) {
query := search.FindPersistedDashboardsQuery{
OrgId: 1,
FolderIds: []int64{savedFolder.Id},
SignedInUser: &m.SignedInUser{OrgId: 1, OrgRole: m.ROLE_EDITOR},
SignedInUser: &models.SignedInUser{OrgId: 1, OrgRole: models.ROLE_EDITOR},
}
err := SearchDashboards(&query)
@@ -336,7 +336,7 @@ func TestDashboardDataAccess(t *testing.T) {
Convey("should be able to find two dashboards by id", func() {
query := search.FindPersistedDashboardsQuery{
DashboardIds: []int64{2, 3},
SignedInUser: &m.SignedInUser{OrgId: 1, OrgRole: m.ROLE_EDITOR},
SignedInUser: &models.SignedInUser{OrgId: 1, OrgRole: models.ROLE_EDITOR},
}
err := SearchDashboards(&query)
@@ -354,13 +354,13 @@ func TestDashboardDataAccess(t *testing.T) {
Convey("Given two dashboards, one is starred dashboard by user 10, other starred by user 1", func() {
starredDash := insertTestDashboard("starred dash", 1, 0, false)
err := StarDashboard(&m.StarDashboardCommand{
err := StarDashboard(&models.StarDashboardCommand{
DashboardId: starredDash.Id,
UserId: 10,
})
So(err, ShouldBeNil)
err = StarDashboard(&m.StarDashboardCommand{
err = StarDashboard(&models.StarDashboardCommand{
DashboardId: savedDash.Id,
UserId: 1,
})
@@ -368,7 +368,7 @@ func TestDashboardDataAccess(t *testing.T) {
Convey("Should be able to search for starred dashboards", func() {
query := search.FindPersistedDashboardsQuery{
SignedInUser: &m.SignedInUser{UserId: 10, OrgId: 1, OrgRole: m.ROLE_EDITOR},
SignedInUser: &models.SignedInUser{UserId: 10, OrgId: 1, OrgRole: models.ROLE_EDITOR},
IsStarred: true,
}
err := SearchDashboards(&query)
@@ -388,7 +388,7 @@ func TestDashboardDataAccess(t *testing.T) {
insertTestDashboardForPlugin("app-dash2", 1, appFolder.Id, false, pluginId)
Convey("Should return imported dashboard", func() {
query := m.GetDashboardsByPluginIdQuery{
query := models.GetDashboardsByPluginIdQuery{
PluginId: pluginId,
OrgId: 1,
}
@@ -401,8 +401,8 @@ func TestDashboardDataAccess(t *testing.T) {
})
}
func insertTestDashboard(title string, orgId int64, folderId int64, isFolder bool, tags ...interface{}) *m.Dashboard {
cmd := m.SaveDashboardCommand{
func insertTestDashboard(title string, orgId int64, folderId int64, isFolder bool, tags ...interface{}) *models.Dashboard {
cmd := models.SaveDashboardCommand{
OrgId: orgId,
FolderId: folderId,
IsFolder: isFolder,
@@ -422,8 +422,8 @@ func insertTestDashboard(title string, orgId int64, folderId int64, isFolder boo
return cmd.Result
}
func insertTestDashboardForPlugin(title string, orgId int64, folderId int64, isFolder bool, pluginId string) *m.Dashboard {
cmd := m.SaveDashboardCommand{
func insertTestDashboardForPlugin(title string, orgId int64, folderId int64, isFolder bool, pluginId string) *models.Dashboard {
cmd := models.SaveDashboardCommand{
OrgId: orgId,
FolderId: folderId,
IsFolder: isFolder,
@@ -440,16 +440,16 @@ func insertTestDashboardForPlugin(title string, orgId int64, folderId int64, isF
return cmd.Result
}
func createUser(name string, role string, isAdmin bool) m.User {
func createUser(name string, role string, isAdmin bool) models.User {
setting.AutoAssignOrg = true
setting.AutoAssignOrgId = 1
setting.AutoAssignOrgRole = role
currentUserCmd := m.CreateUserCommand{Login: name, Email: name + "@test.com", Name: "a " + name, IsAdmin: isAdmin}
currentUserCmd := models.CreateUserCommand{Login: name, Email: name + "@test.com", Name: "a " + name, IsAdmin: isAdmin}
err := CreateUser(context.Background(), &currentUserCmd)
So(err, ShouldBeNil)
q1 := m.GetUserOrgListQuery{UserId: currentUserCmd.Result.Id}
q1 := models.GetUserOrgListQuery{UserId: currentUserCmd.Result.Id}
err = GetUserOrgList(&q1)
So(err, ShouldBeNil)
So(q1.Result[0].Role, ShouldEqual, role)
@@ -457,8 +457,8 @@ func createUser(name string, role string, isAdmin bool) m.User {
return currentUserCmd.Result
}
func moveDashboard(orgId int64, dashboard *simplejson.Json, newFolderId int64) *m.Dashboard {
cmd := m.SaveDashboardCommand{
func moveDashboard(orgId int64, dashboard *simplejson.Json, newFolderId int64) *models.Dashboard {
cmd := models.SaveDashboardCommand{
OrgId: orgId,
FolderId: newFolderId,
Dashboard: dashboard,

View File

@@ -4,7 +4,7 @@ import (
"strings"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/setting"
)
@@ -15,8 +15,8 @@ func init() {
}
// GetDashboardVersion gets the dashboard version for the given dashboard ID and version number.
func GetDashboardVersion(query *m.GetDashboardVersionQuery) error {
version := m.DashboardVersion{}
func GetDashboardVersion(query *models.GetDashboardVersionQuery) error {
version := models.DashboardVersion{}
has, err := x.Where("dashboard_version.dashboard_id=? AND dashboard_version.version=? AND dashboard.org_id=?", query.DashboardId, query.Version, query.OrgId).
Join("LEFT", "dashboard", `dashboard.id = dashboard_version.dashboard_id`).
Get(&version)
@@ -26,7 +26,7 @@ func GetDashboardVersion(query *m.GetDashboardVersionQuery) error {
}
if !has {
return m.ErrDashboardVersionNotFound
return models.ErrDashboardVersionNotFound
}
version.Data.Set("id", version.DashboardId)
@@ -35,7 +35,7 @@ func GetDashboardVersion(query *m.GetDashboardVersionQuery) error {
}
// GetDashboardVersions gets all dashboard versions for the given dashboard ID.
func GetDashboardVersions(query *m.GetDashboardVersionsQuery) error {
func GetDashboardVersions(query *models.GetDashboardVersionsQuery) error {
if query.Limit == 0 {
query.Limit = 1000
}
@@ -62,14 +62,14 @@ func GetDashboardVersions(query *m.GetDashboardVersionsQuery) error {
}
if len(query.Result) < 1 {
return m.ErrNoVersionsForDashboardId
return models.ErrNoVersionsForDashboardId
}
return nil
}
const MAX_VERSIONS_TO_DELETE = 100
func DeleteExpiredVersions(cmd *m.DeleteExpiredVersionsCommand) error {
func DeleteExpiredVersions(cmd *models.DeleteExpiredVersionsCommand) error {
return inTransaction(func(sess *DBSession) error {
versionsToKeep := setting.DashboardVersionsToKeep
if versionsToKeep < 1 {

View File

@@ -7,14 +7,14 @@ import (
. "github.com/smartystreets/goconvey/convey"
"github.com/grafana/grafana/pkg/components/simplejson"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/setting"
)
func updateTestDashboard(dashboard *m.Dashboard, data map[string]interface{}) {
func updateTestDashboard(dashboard *models.Dashboard, data map[string]interface{}) {
data["id"] = dashboard.Id
saveCmd := m.SaveDashboardCommand{
saveCmd := models.SaveDashboardCommand{
OrgId: dashboard.OrgId,
Overwrite: true,
Dashboard: simplejson.NewFromAny(data),
@@ -31,7 +31,7 @@ func TestGetDashboardVersion(t *testing.T) {
Convey("Get a Dashboard ID and version ID", func() {
savedDash := insertTestDashboard("test dash 26", 1, 0, false, "diff")
query := m.GetDashboardVersionQuery{
query := models.GetDashboardVersionQuery{
DashboardId: savedDash.Id,
Version: savedDash.Version,
OrgId: 1,
@@ -42,7 +42,7 @@ func TestGetDashboardVersion(t *testing.T) {
So(savedDash.Id, ShouldEqual, query.DashboardId)
So(savedDash.Version, ShouldEqual, query.Version)
dashCmd := m.GetDashboardQuery{
dashCmd := models.GetDashboardQuery{
OrgId: savedDash.OrgId,
Uid: savedDash.Uid,
}
@@ -54,7 +54,7 @@ func TestGetDashboardVersion(t *testing.T) {
})
Convey("Attempt to get a version that doesn't exist", func() {
query := m.GetDashboardVersionQuery{
query := models.GetDashboardVersionQuery{
DashboardId: int64(999),
Version: 123,
OrgId: 1,
@@ -62,7 +62,7 @@ func TestGetDashboardVersion(t *testing.T) {
err := GetDashboardVersion(&query)
So(err, ShouldNotBeNil)
So(err, ShouldEqual, m.ErrDashboardVersionNotFound)
So(err, ShouldEqual, models.ErrDashboardVersionNotFound)
})
})
}
@@ -73,7 +73,7 @@ func TestGetDashboardVersions(t *testing.T) {
savedDash := insertTestDashboard("test dash 43", 1, 0, false, "diff-all")
Convey("Get all versions for a given Dashboard ID", func() {
query := m.GetDashboardVersionsQuery{DashboardId: savedDash.Id, OrgId: 1}
query := models.GetDashboardVersionsQuery{DashboardId: savedDash.Id, OrgId: 1}
err := GetDashboardVersions(&query)
So(err, ShouldBeNil)
@@ -81,11 +81,11 @@ func TestGetDashboardVersions(t *testing.T) {
})
Convey("Attempt to get the versions for a non-existent Dashboard ID", func() {
query := m.GetDashboardVersionsQuery{DashboardId: int64(999), OrgId: 1}
query := models.GetDashboardVersionsQuery{DashboardId: int64(999), OrgId: 1}
err := GetDashboardVersions(&query)
So(err, ShouldNotBeNil)
So(err, ShouldEqual, m.ErrNoVersionsForDashboardId)
So(err, ShouldEqual, models.ErrNoVersionsForDashboardId)
So(len(query.Result), ShouldEqual, 0)
})
@@ -94,7 +94,7 @@ func TestGetDashboardVersions(t *testing.T) {
"tags": "different-tag",
})
query := m.GetDashboardVersionsQuery{DashboardId: savedDash.Id, OrgId: 1}
query := models.GetDashboardVersionsQuery{DashboardId: savedDash.Id, OrgId: 1}
err := GetDashboardVersions(&query)
So(err, ShouldBeNil)
@@ -118,10 +118,10 @@ func TestDeleteExpiredVersions(t *testing.T) {
}
Convey("Clean up old dashboard versions", func() {
err := DeleteExpiredVersions(&m.DeleteExpiredVersionsCommand{})
err := DeleteExpiredVersions(&models.DeleteExpiredVersionsCommand{})
So(err, ShouldBeNil)
query := m.GetDashboardVersionsQuery{DashboardId: savedDash.Id, OrgId: 1}
query := models.GetDashboardVersionsQuery{DashboardId: savedDash.Id, OrgId: 1}
err = GetDashboardVersions(&query)
So(err, ShouldBeNil)
@@ -134,10 +134,10 @@ func TestDeleteExpiredVersions(t *testing.T) {
Convey("Don't delete anything if there're no expired versions", func() {
setting.DashboardVersionsToKeep = versionsToWrite
err := DeleteExpiredVersions(&m.DeleteExpiredVersionsCommand{})
err := DeleteExpiredVersions(&models.DeleteExpiredVersionsCommand{})
So(err, ShouldBeNil)
query := m.GetDashboardVersionsQuery{DashboardId: savedDash.Id, OrgId: 1, Limit: versionsToWrite}
query := models.GetDashboardVersionsQuery{DashboardId: savedDash.Id, OrgId: 1, Limit: versionsToWrite}
err = GetDashboardVersions(&query)
So(err, ShouldBeNil)
@@ -152,10 +152,10 @@ func TestDeleteExpiredVersions(t *testing.T) {
})
}
err := DeleteExpiredVersions(&m.DeleteExpiredVersionsCommand{})
err := DeleteExpiredVersions(&models.DeleteExpiredVersionsCommand{})
So(err, ShouldBeNil)
query := m.GetDashboardVersionsQuery{DashboardId: savedDash.Id, OrgId: 1, Limit: versionsToWriteBigNumber}
query := models.GetDashboardVersionsQuery{DashboardId: savedDash.Id, OrgId: 1, Limit: versionsToWriteBigNumber}
err = GetDashboardVersions(&query)
So(err, ShouldBeNil)

View File

@@ -4,13 +4,13 @@ import (
"time"
"github.com/grafana/grafana/pkg/components/simplejson"
"github.com/grafana/grafana/pkg/models"
"github.com/go-xorm/xorm"
"github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/components/securejsondata"
"github.com/grafana/grafana/pkg/infra/metrics"
m "github.com/grafana/grafana/pkg/models"
)
func init() {
@@ -24,10 +24,10 @@ func init() {
bus.AddHandler("sql", GetDataSourceByName)
}
func GetDataSourceById(query *m.GetDataSourceByIdQuery) error {
func GetDataSourceById(query *models.GetDataSourceByIdQuery) error {
metrics.MDBDataSourceQueryByID.Inc()
datasource := m.DataSource{OrgId: query.OrgId, Id: query.Id}
datasource := models.DataSource{OrgId: query.OrgId, Id: query.Id}
has, err := x.Get(&datasource)
if err != nil {
@@ -35,40 +35,40 @@ func GetDataSourceById(query *m.GetDataSourceByIdQuery) error {
}
if !has {
return m.ErrDataSourceNotFound
return models.ErrDataSourceNotFound
}
query.Result = &datasource
return err
}
func GetDataSourceByName(query *m.GetDataSourceByNameQuery) error {
datasource := m.DataSource{OrgId: query.OrgId, Name: query.Name}
func GetDataSourceByName(query *models.GetDataSourceByNameQuery) error {
datasource := models.DataSource{OrgId: query.OrgId, Name: query.Name}
has, err := x.Get(&datasource)
if !has {
return m.ErrDataSourceNotFound
return models.ErrDataSourceNotFound
}
query.Result = &datasource
return err
}
func GetDataSources(query *m.GetDataSourcesQuery) error {
func GetDataSources(query *models.GetDataSourcesQuery) error {
sess := x.Limit(5000, 0).Where("org_id=?", query.OrgId).Asc("name")
query.Result = make([]*m.DataSource, 0)
query.Result = make([]*models.DataSource, 0)
return sess.Find(&query.Result)
}
func GetAllDataSources(query *m.GetAllDataSourcesQuery) error {
func GetAllDataSources(query *models.GetAllDataSourcesQuery) error {
sess := x.Limit(5000, 0).Asc("name")
query.Result = make([]*m.DataSource, 0)
query.Result = make([]*models.DataSource, 0)
return sess.Find(&query.Result)
}
func DeleteDataSourceById(cmd *m.DeleteDataSourceByIdCommand) error {
func DeleteDataSourceById(cmd *models.DeleteDataSourceByIdCommand) error {
return inTransaction(func(sess *DBSession) error {
var rawSql = "DELETE FROM data_source WHERE id=? and org_id=?"
result, err := sess.Exec(rawSql, cmd.Id, cmd.OrgId)
@@ -78,7 +78,7 @@ func DeleteDataSourceById(cmd *m.DeleteDataSourceByIdCommand) error {
})
}
func DeleteDataSourceByName(cmd *m.DeleteDataSourceByNameCommand) error {
func DeleteDataSourceByName(cmd *models.DeleteDataSourceByNameCommand) error {
return inTransaction(func(sess *DBSession) error {
var rawSql = "DELETE FROM data_source WHERE name=? and org_id=?"
result, err := sess.Exec(rawSql, cmd.Name, cmd.OrgId)
@@ -88,20 +88,20 @@ func DeleteDataSourceByName(cmd *m.DeleteDataSourceByNameCommand) error {
})
}
func AddDataSource(cmd *m.AddDataSourceCommand) error {
func AddDataSource(cmd *models.AddDataSourceCommand) error {
return inTransaction(func(sess *DBSession) error {
existing := m.DataSource{OrgId: cmd.OrgId, Name: cmd.Name}
existing := models.DataSource{OrgId: cmd.OrgId, Name: cmd.Name}
has, _ := sess.Get(&existing)
if has {
return m.ErrDataSourceNameExists
return models.ErrDataSourceNameExists
}
if cmd.JsonData == nil {
cmd.JsonData = simplejson.New()
}
ds := &m.DataSource{
ds := &models.DataSource{
OrgId: cmd.OrgId,
Name: cmd.Name,
Type: cmd.Type,
@@ -135,7 +135,7 @@ func AddDataSource(cmd *m.AddDataSourceCommand) error {
})
}
func updateIsDefaultFlag(ds *m.DataSource, sess *DBSession) error {
func updateIsDefaultFlag(ds *models.DataSource, sess *DBSession) error {
// Handle is default flag
if ds.IsDefault {
rawSql := "UPDATE data_source SET is_default=? WHERE org_id=? AND id <> ?"
@@ -146,13 +146,13 @@ func updateIsDefaultFlag(ds *m.DataSource, sess *DBSession) error {
return nil
}
func UpdateDataSource(cmd *m.UpdateDataSourceCommand) error {
func UpdateDataSource(cmd *models.UpdateDataSourceCommand) error {
return inTransaction(func(sess *DBSession) error {
if cmd.JsonData == nil {
cmd.JsonData = simplejson.New()
}
ds := &m.DataSource{
ds := &models.DataSource{
Id: cmd.Id,
OrgId: cmd.OrgId,
Name: cmd.Name,
@@ -200,7 +200,7 @@ func UpdateDataSource(cmd *m.UpdateDataSourceCommand) error {
}
if affected == 0 {
return m.ErrDataSourceUpdatingOldVersion
return models.ErrDataSourceUpdatingOldVersion
}
err = updateIsDefaultFlag(ds, sess)

View File

@@ -2,13 +2,13 @@ package sqlstore
import (
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
func init() {
bus.AddHandler("sql", GetDBHealthQuery)
}
func GetDBHealthQuery(query *m.GetDBHealthQuery) error {
func GetDBHealthQuery(query *models.GetDBHealthQuery) error {
return x.Ping()
}

View File

@@ -5,7 +5,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
var getTimeNow = time.Now
@@ -16,9 +16,9 @@ func init() {
bus.AddHandler("sql", GetUserLoginAttemptCount)
}
func CreateLoginAttempt(cmd *m.CreateLoginAttemptCommand) error {
func CreateLoginAttempt(cmd *models.CreateLoginAttemptCommand) error {
return inTransaction(func(sess *DBSession) error {
loginAttempt := m.LoginAttempt{
loginAttempt := models.LoginAttempt{
Username: cmd.Username,
IpAddress: cmd.IpAddress,
Created: getTimeNow().Unix(),
@@ -34,7 +34,7 @@ func CreateLoginAttempt(cmd *m.CreateLoginAttemptCommand) error {
})
}
func DeleteOldLoginAttempts(cmd *m.DeleteOldLoginAttemptsCommand) error {
func DeleteOldLoginAttempts(cmd *models.DeleteOldLoginAttemptsCommand) error {
return inTransaction(func(sess *DBSession) error {
var maxId int64
sql := "SELECT max(id) as id FROM login_attempt WHERE created < ?"
@@ -66,8 +66,8 @@ func DeleteOldLoginAttempts(cmd *m.DeleteOldLoginAttemptsCommand) error {
})
}
func GetUserLoginAttemptCount(query *m.GetUserLoginAttemptCountQuery) error {
loginAttempt := new(m.LoginAttempt)
func GetUserLoginAttemptCount(query *models.GetUserLoginAttemptCountQuery) error {
loginAttempt := new(models.LoginAttempt)
total, err := x.
Where("username = ?", query.Username).
And("created >= ?", query.Since.Unix()).

View File

@@ -4,7 +4,7 @@ import (
"testing"
"time"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
. "github.com/smartystreets/goconvey/convey"
)
@@ -20,7 +20,7 @@ func TestLoginAttempts(t *testing.T) {
user := "user"
beginningOfTime := mockTime(time.Date(2017, 10, 22, 8, 0, 0, 0, time.Local))
err := CreateLoginAttempt(&m.CreateLoginAttemptCommand{
err := CreateLoginAttempt(&models.CreateLoginAttemptCommand{
Username: user,
IpAddress: "192.168.0.1",
})
@@ -28,7 +28,7 @@ func TestLoginAttempts(t *testing.T) {
timePlusOneMinute := mockTime(beginningOfTime.Add(time.Minute * 1))
err = CreateLoginAttempt(&m.CreateLoginAttemptCommand{
err = CreateLoginAttempt(&models.CreateLoginAttemptCommand{
Username: user,
IpAddress: "192.168.0.1",
})
@@ -36,14 +36,14 @@ func TestLoginAttempts(t *testing.T) {
timePlusTwoMinutes := mockTime(beginningOfTime.Add(time.Minute * 2))
err = CreateLoginAttempt(&m.CreateLoginAttemptCommand{
err = CreateLoginAttempt(&models.CreateLoginAttemptCommand{
Username: user,
IpAddress: "192.168.0.1",
})
So(err, ShouldBeNil)
Convey("Should return a total count of zero login attempts when comparing since beginning of time + 2min and 1s", func() {
query := m.GetUserLoginAttemptCountQuery{
query := models.GetUserLoginAttemptCountQuery{
Username: user,
Since: timePlusTwoMinutes.Add(time.Second * 1),
}
@@ -53,7 +53,7 @@ func TestLoginAttempts(t *testing.T) {
})
Convey("Should return the total count of login attempts since beginning of time", func() {
query := m.GetUserLoginAttemptCountQuery{
query := models.GetUserLoginAttemptCountQuery{
Username: user,
Since: beginningOfTime,
}
@@ -63,7 +63,7 @@ func TestLoginAttempts(t *testing.T) {
})
Convey("Should return the total count of login attempts since beginning of time + 1min", func() {
query := m.GetUserLoginAttemptCountQuery{
query := models.GetUserLoginAttemptCountQuery{
Username: user,
Since: timePlusOneMinute,
}
@@ -73,7 +73,7 @@ func TestLoginAttempts(t *testing.T) {
})
Convey("Should return the total count of login attempts since beginning of time + 2min", func() {
query := m.GetUserLoginAttemptCountQuery{
query := models.GetUserLoginAttemptCountQuery{
Username: user,
Since: timePlusTwoMinutes,
}
@@ -83,7 +83,7 @@ func TestLoginAttempts(t *testing.T) {
})
Convey("Should return deleted rows older than beginning of time", func() {
cmd := m.DeleteOldLoginAttemptsCommand{
cmd := models.DeleteOldLoginAttemptsCommand{
OlderThan: beginningOfTime,
}
err := DeleteOldLoginAttempts(&cmd)
@@ -93,7 +93,7 @@ func TestLoginAttempts(t *testing.T) {
})
Convey("Should return deleted rows older than beginning of time + 1min", func() {
cmd := m.DeleteOldLoginAttemptsCommand{
cmd := models.DeleteOldLoginAttemptsCommand{
OlderThan: timePlusOneMinute,
}
err := DeleteOldLoginAttempts(&cmd)
@@ -103,7 +103,7 @@ func TestLoginAttempts(t *testing.T) {
})
Convey("Should return deleted rows older than beginning of time + 2min", func() {
cmd := m.DeleteOldLoginAttemptsCommand{
cmd := models.DeleteOldLoginAttemptsCommand{
OlderThan: timePlusTwoMinutes,
}
err := DeleteOldLoginAttempts(&cmd)
@@ -113,7 +113,7 @@ func TestLoginAttempts(t *testing.T) {
})
Convey("Should return deleted rows older than beginning of time + 2min and 1s", func() {
cmd := m.DeleteOldLoginAttemptsCommand{
cmd := models.DeleteOldLoginAttemptsCommand{
OlderThan: timePlusTwoMinutes.Add(time.Second * 1),
}
err := DeleteOldLoginAttempts(&cmd)

View File

@@ -7,7 +7,7 @@ import (
"github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/events"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/setting"
)
@@ -23,8 +23,8 @@ func init() {
bus.AddHandler("sql", DeleteOrg)
}
func SearchOrgs(query *m.SearchOrgsQuery) error {
query.Result = make([]*m.OrgDTO, 0)
func SearchOrgs(query *models.SearchOrgsQuery) error {
query.Result = make([]*models.OrgDTO, 0)
sess := x.Table("org")
if query.Query != "" {
sess.Where("name LIKE ?", query.Query+"%")
@@ -43,30 +43,30 @@ func SearchOrgs(query *m.SearchOrgsQuery) error {
return err
}
func GetOrgById(query *m.GetOrgByIdQuery) error {
var org m.Org
func GetOrgById(query *models.GetOrgByIdQuery) error {
var org models.Org
exists, err := x.Id(query.Id).Get(&org)
if err != nil {
return err
}
if !exists {
return m.ErrOrgNotFound
return models.ErrOrgNotFound
}
query.Result = &org
return nil
}
func GetOrgByName(query *m.GetOrgByNameQuery) error {
var org m.Org
func GetOrgByName(query *models.GetOrgByNameQuery) error {
var org models.Org
exists, err := x.Where("name=?", query.Name).Get(&org)
if err != nil {
return err
}
if !exists {
return m.ErrOrgNotFound
return models.ErrOrgNotFound
}
query.Result = &org
@@ -75,7 +75,7 @@ func GetOrgByName(query *m.GetOrgByNameQuery) error {
func isOrgNameTaken(name string, existingId int64, sess *DBSession) (bool, error) {
// check if org name is taken
var org m.Org
var org models.Org
exists, err := sess.Where("name=?", name).Get(&org)
if err != nil {
@@ -89,16 +89,16 @@ func isOrgNameTaken(name string, existingId int64, sess *DBSession) (bool, error
return false, nil
}
func CreateOrg(cmd *m.CreateOrgCommand) error {
func CreateOrg(cmd *models.CreateOrgCommand) error {
return inTransaction(func(sess *DBSession) error {
if isNameTaken, err := isOrgNameTaken(cmd.Name, 0, sess); err != nil {
return err
} else if isNameTaken {
return m.ErrOrgNameTaken
return models.ErrOrgNameTaken
}
org := m.Org{
org := models.Org{
Name: cmd.Name,
Created: time.Now(),
Updated: time.Now(),
@@ -108,10 +108,10 @@ func CreateOrg(cmd *m.CreateOrgCommand) error {
return err
}
user := m.OrgUser{
user := models.OrgUser{
OrgId: org.Id,
UserId: cmd.UserId,
Role: m.ROLE_ADMIN,
Role: models.ROLE_ADMIN,
Created: time.Now(),
Updated: time.Now(),
}
@@ -129,16 +129,16 @@ func CreateOrg(cmd *m.CreateOrgCommand) error {
})
}
func UpdateOrg(cmd *m.UpdateOrgCommand) error {
func UpdateOrg(cmd *models.UpdateOrgCommand) error {
return inTransaction(func(sess *DBSession) error {
if isNameTaken, err := isOrgNameTaken(cmd.Name, cmd.OrgId, sess); err != nil {
return err
} else if isNameTaken {
return m.ErrOrgNameTaken
return models.ErrOrgNameTaken
}
org := m.Org{
org := models.Org{
Name: cmd.Name,
Updated: time.Now(),
}
@@ -150,7 +150,7 @@ func UpdateOrg(cmd *m.UpdateOrgCommand) error {
}
if affectedRows == 0 {
return m.ErrOrgNotFound
return models.ErrOrgNotFound
}
sess.publishAfterCommit(&events.OrgUpdated{
@@ -163,9 +163,9 @@ func UpdateOrg(cmd *m.UpdateOrgCommand) error {
})
}
func UpdateOrgAddress(cmd *m.UpdateOrgAddressCommand) error {
func UpdateOrgAddress(cmd *models.UpdateOrgAddressCommand) error {
return inTransaction(func(sess *DBSession) error {
org := m.Org{
org := models.Org{
Address1: cmd.Address1,
Address2: cmd.Address2,
City: cmd.City,
@@ -190,12 +190,12 @@ func UpdateOrgAddress(cmd *m.UpdateOrgAddressCommand) error {
})
}
func DeleteOrg(cmd *m.DeleteOrgCommand) error {
func DeleteOrg(cmd *models.DeleteOrgCommand) error {
return inTransaction(func(sess *DBSession) error {
if res, err := sess.Query("SELECT 1 from org WHERE id=?", cmd.Id); err != nil {
return err
} else if len(res) != 1 {
return m.ErrOrgNotFound
return models.ErrOrgNotFound
}
deletes := []string{
@@ -221,7 +221,7 @@ func DeleteOrg(cmd *m.DeleteOrgCommand) error {
}
func getOrCreateOrg(sess *DBSession, orgName string) (int64, error) {
var org m.Org
var org models.Org
if setting.AutoAssignOrg {
has, err := sess.Where("id=?", setting.AutoAssignOrgId).Get(&org)

View File

@@ -6,7 +6,7 @@ import (
"testing"
"time"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/setting"
. "github.com/smartystreets/goconvey/convey"
)
@@ -17,18 +17,18 @@ func TestAccountDataAccess(t *testing.T) {
Convey("Given we have organizations, we can query them by IDs", func() {
var err error
var cmd *m.CreateOrgCommand
var cmd *models.CreateOrgCommand
ids := []int64{}
for i := 1; i < 4; i++ {
cmd = &m.CreateOrgCommand{Name: fmt.Sprint("Org #", i)}
cmd = &models.CreateOrgCommand{Name: fmt.Sprint("Org #", i)}
err = CreateOrg(cmd)
So(err, ShouldBeNil)
ids = append(ids, cmd.Result.Id)
}
query := &m.SearchOrgsQuery{Ids: ids}
query := &models.SearchOrgsQuery{Ids: ids}
err = SearchOrgs(query)
So(err, ShouldBeNil)
@@ -41,16 +41,16 @@ func TestAccountDataAccess(t *testing.T) {
setting.AutoAssignOrgRole = "Viewer"
Convey("Users should be added to default organization", func() {
ac1cmd := m.CreateUserCommand{Login: "ac1", Email: "ac1@test.com", Name: "ac1 name"}
ac2cmd := m.CreateUserCommand{Login: "ac2", Email: "ac2@test.com", Name: "ac2 name"}
ac1cmd := models.CreateUserCommand{Login: "ac1", Email: "ac1@test.com", Name: "ac1 name"}
ac2cmd := models.CreateUserCommand{Login: "ac2", Email: "ac2@test.com", Name: "ac2 name"}
err := CreateUser(context.Background(), &ac1cmd)
So(err, ShouldBeNil)
err = CreateUser(context.Background(), &ac2cmd)
So(err, ShouldBeNil)
q1 := m.GetUserOrgListQuery{UserId: ac1cmd.Result.Id}
q2 := m.GetUserOrgListQuery{UserId: ac2cmd.Result.Id}
q1 := models.GetUserOrgListQuery{UserId: ac1cmd.Result.Id}
q2 := models.GetUserOrgListQuery{UserId: ac2cmd.Result.Id}
err = GetUserOrgList(&q1)
So(err, ShouldBeNil)
err = GetUserOrgList(&q2)
@@ -64,8 +64,8 @@ func TestAccountDataAccess(t *testing.T) {
Convey("Given two saved users", func() {
setting.AutoAssignOrg = false
ac1cmd := m.CreateUserCommand{Login: "ac1", Email: "ac1@test.com", Name: "ac1 name"}
ac2cmd := m.CreateUserCommand{Login: "ac2", Email: "ac2@test.com", Name: "ac2 name", IsAdmin: true}
ac1cmd := models.CreateUserCommand{Login: "ac1", Email: "ac1@test.com", Name: "ac1 name"}
ac2cmd := models.CreateUserCommand{Login: "ac2", Email: "ac2@test.com", Name: "ac2 name", IsAdmin: true}
err := CreateUser(context.Background(), &ac1cmd)
err = CreateUser(context.Background(), &ac2cmd)
@@ -75,7 +75,7 @@ func TestAccountDataAccess(t *testing.T) {
ac2 := ac2cmd.Result
Convey("Should be able to read user info projection", func() {
query := m.GetUserProfileQuery{UserId: ac1.Id}
query := models.GetUserProfileQuery{UserId: ac1.Id}
err = GetUserProfile(&query)
So(err, ShouldBeNil)
@@ -84,7 +84,7 @@ func TestAccountDataAccess(t *testing.T) {
})
Convey("Can search users", func() {
query := m.SearchUsersQuery{Query: ""}
query := models.SearchUsersQuery{Query: ""}
err := SearchUsers(&query)
So(err, ShouldBeNil)
@@ -93,10 +93,10 @@ func TestAccountDataAccess(t *testing.T) {
})
Convey("Given an added org user", func() {
cmd := m.AddOrgUserCommand{
cmd := models.AddOrgUserCommand{
OrgId: ac1.OrgId,
UserId: ac2.Id,
Role: m.ROLE_VIEWER,
Role: models.ROLE_VIEWER,
}
err := AddOrgUser(&cmd)
@@ -105,20 +105,20 @@ func TestAccountDataAccess(t *testing.T) {
})
Convey("Can update org user role", func() {
updateCmd := m.UpdateOrgUserCommand{OrgId: ac1.OrgId, UserId: ac2.Id, Role: m.ROLE_ADMIN}
updateCmd := models.UpdateOrgUserCommand{OrgId: ac1.OrgId, UserId: ac2.Id, Role: models.ROLE_ADMIN}
err = UpdateOrgUser(&updateCmd)
So(err, ShouldBeNil)
orgUsersQuery := m.GetOrgUsersQuery{OrgId: ac1.OrgId}
orgUsersQuery := models.GetOrgUsersQuery{OrgId: ac1.OrgId}
err = GetOrgUsers(&orgUsersQuery)
So(err, ShouldBeNil)
So(orgUsersQuery.Result[1].Role, ShouldEqual, m.ROLE_ADMIN)
So(orgUsersQuery.Result[1].Role, ShouldEqual, models.ROLE_ADMIN)
})
Convey("Can get logged in user projection", func() {
query := m.GetSignedInUserQuery{UserId: ac2.Id}
query := models.GetSignedInUserQuery{UserId: ac2.Id}
err := GetSignedInUser(&query)
So(err, ShouldBeNil)
@@ -132,7 +132,7 @@ func TestAccountDataAccess(t *testing.T) {
})
Convey("Can get user organizations", func() {
query := m.GetUserOrgListQuery{UserId: ac2.Id}
query := models.GetUserOrgListQuery{UserId: ac2.Id}
err := GetUserOrgList(&query)
So(err, ShouldBeNil)
@@ -140,7 +140,7 @@ func TestAccountDataAccess(t *testing.T) {
})
Convey("Can get organization users", func() {
query := m.GetOrgUsersQuery{OrgId: ac1.OrgId}
query := models.GetOrgUsersQuery{OrgId: ac1.OrgId}
err := GetOrgUsers(&query)
So(err, ShouldBeNil)
@@ -149,7 +149,7 @@ func TestAccountDataAccess(t *testing.T) {
})
Convey("Can get organization users with query", func() {
query := m.GetOrgUsersQuery{
query := models.GetOrgUsersQuery{
OrgId: ac1.OrgId,
Query: "ac1",
}
@@ -161,7 +161,7 @@ func TestAccountDataAccess(t *testing.T) {
})
Convey("Can get organization users with query and limit", func() {
query := m.GetOrgUsersQuery{
query := models.GetOrgUsersQuery{
OrgId: ac1.OrgId,
Query: "ac",
Limit: 1,
@@ -174,12 +174,12 @@ func TestAccountDataAccess(t *testing.T) {
})
Convey("Can set using org", func() {
cmd := m.SetUsingOrgCommand{UserId: ac2.Id, OrgId: ac1.OrgId}
cmd := models.SetUsingOrgCommand{UserId: ac2.Id, OrgId: ac1.OrgId}
err := SetUsingOrg(&cmd)
So(err, ShouldBeNil)
Convey("SignedInUserQuery with a different org", func() {
query := m.GetSignedInUserQuery{UserId: ac2.Id}
query := models.GetSignedInUserQuery{UserId: ac2.Id}
err := GetSignedInUser(&query)
So(err, ShouldBeNil)
@@ -192,11 +192,11 @@ func TestAccountDataAccess(t *testing.T) {
})
Convey("Should set last org as current when removing user from current", func() {
remCmd := m.RemoveOrgUserCommand{OrgId: ac1.OrgId, UserId: ac2.Id}
remCmd := models.RemoveOrgUserCommand{OrgId: ac1.OrgId, UserId: ac2.Id}
err := RemoveOrgUser(&remCmd)
So(err, ShouldBeNil)
query := m.GetSignedInUserQuery{UserId: ac2.Id}
query := models.GetSignedInUserQuery{UserId: ac2.Id}
err = GetSignedInUser(&query)
So(err, ShouldBeNil)
@@ -206,47 +206,47 @@ func TestAccountDataAccess(t *testing.T) {
Convey("Removing user from org should delete user completely if in no other org", func() {
// make sure ac2 has no org
err := DeleteOrg(&m.DeleteOrgCommand{Id: ac2.OrgId})
err := DeleteOrg(&models.DeleteOrgCommand{Id: ac2.OrgId})
So(err, ShouldBeNil)
// remove ac2 user from ac1 org
remCmd := m.RemoveOrgUserCommand{OrgId: ac1.OrgId, UserId: ac2.Id, ShouldDeleteOrphanedUser: true}
remCmd := models.RemoveOrgUserCommand{OrgId: ac1.OrgId, UserId: ac2.Id, ShouldDeleteOrphanedUser: true}
err = RemoveOrgUser(&remCmd)
So(err, ShouldBeNil)
So(remCmd.UserWasDeleted, ShouldBeTrue)
err = GetSignedInUser(&m.GetSignedInUserQuery{UserId: ac2.Id})
So(err, ShouldEqual, m.ErrUserNotFound)
err = GetSignedInUser(&models.GetSignedInUserQuery{UserId: ac2.Id})
So(err, ShouldEqual, models.ErrUserNotFound)
})
Convey("Cannot delete last admin org user", func() {
cmd := m.RemoveOrgUserCommand{OrgId: ac1.OrgId, UserId: ac1.Id}
cmd := models.RemoveOrgUserCommand{OrgId: ac1.OrgId, UserId: ac1.Id}
err := RemoveOrgUser(&cmd)
So(err, ShouldEqual, m.ErrLastOrgAdmin)
So(err, ShouldEqual, models.ErrLastOrgAdmin)
})
Convey("Cannot update role so no one is admin user", func() {
cmd := m.UpdateOrgUserCommand{OrgId: ac1.OrgId, UserId: ac1.Id, Role: m.ROLE_VIEWER}
cmd := models.UpdateOrgUserCommand{OrgId: ac1.OrgId, UserId: ac1.Id, Role: models.ROLE_VIEWER}
err := UpdateOrgUser(&cmd)
So(err, ShouldEqual, m.ErrLastOrgAdmin)
So(err, ShouldEqual, models.ErrLastOrgAdmin)
})
Convey("Given an org user with dashboard permissions", func() {
ac3cmd := m.CreateUserCommand{Login: "ac3", Email: "ac3@test.com", Name: "ac3 name", IsAdmin: false}
ac3cmd := models.CreateUserCommand{Login: "ac3", Email: "ac3@test.com", Name: "ac3 name", IsAdmin: false}
err := CreateUser(context.Background(), &ac3cmd)
So(err, ShouldBeNil)
ac3 := ac3cmd.Result
orgUserCmd := m.AddOrgUserCommand{
orgUserCmd := models.AddOrgUserCommand{
OrgId: ac1.OrgId,
UserId: ac3.Id,
Role: m.ROLE_VIEWER,
Role: models.ROLE_VIEWER,
}
err = AddOrgUser(&orgUserCmd)
So(err, ShouldBeNil)
query := m.GetOrgUsersQuery{OrgId: ac1.OrgId}
query := models.GetOrgUsersQuery{OrgId: ac1.OrgId}
err = GetOrgUsers(&query)
So(err, ShouldBeNil)
So(len(query.Result), ShouldEqual, 3)
@@ -254,19 +254,19 @@ func TestAccountDataAccess(t *testing.T) {
dash1 := insertTestDashboard("1 test dash", ac1.OrgId, 0, false, "prod", "webapp")
dash2 := insertTestDashboard("2 test dash", ac3.OrgId, 0, false, "prod", "webapp")
err = testHelperUpdateDashboardAcl(dash1.Id, m.DashboardAcl{DashboardId: dash1.Id, OrgId: ac1.OrgId, UserId: ac3.Id, Permission: m.PERMISSION_EDIT})
err = testHelperUpdateDashboardAcl(dash1.Id, models.DashboardAcl{DashboardId: dash1.Id, OrgId: ac1.OrgId, UserId: ac3.Id, Permission: models.PERMISSION_EDIT})
So(err, ShouldBeNil)
err = testHelperUpdateDashboardAcl(dash2.Id, m.DashboardAcl{DashboardId: dash2.Id, OrgId: ac3.OrgId, UserId: ac3.Id, Permission: m.PERMISSION_EDIT})
err = testHelperUpdateDashboardAcl(dash2.Id, models.DashboardAcl{DashboardId: dash2.Id, OrgId: ac3.OrgId, UserId: ac3.Id, Permission: models.PERMISSION_EDIT})
So(err, ShouldBeNil)
Convey("When org user is deleted", func() {
cmdRemove := m.RemoveOrgUserCommand{OrgId: ac1.OrgId, UserId: ac3.Id}
cmdRemove := models.RemoveOrgUserCommand{OrgId: ac1.OrgId, UserId: ac3.Id}
err := RemoveOrgUser(&cmdRemove)
So(err, ShouldBeNil)
Convey("Should remove dependent permissions for deleted org user", func() {
permQuery := &m.GetDashboardAclInfoListQuery{DashboardId: 1, OrgId: ac1.OrgId}
permQuery := &models.GetDashboardAclInfoListQuery{DashboardId: 1, OrgId: ac1.OrgId}
err = GetDashboardAclInfoList(permQuery)
So(err, ShouldBeNil)
@@ -274,7 +274,7 @@ func TestAccountDataAccess(t *testing.T) {
})
Convey("Should not remove dashboard permissions for same user in another org", func() {
permQuery := &m.GetDashboardAclInfoListQuery{DashboardId: 2, OrgId: ac3.OrgId}
permQuery := &models.GetDashboardAclInfoListQuery{DashboardId: 2, OrgId: ac3.OrgId}
err = GetDashboardAclInfoList(permQuery)
So(err, ShouldBeNil)
@@ -290,8 +290,8 @@ func TestAccountDataAccess(t *testing.T) {
})
}
func testHelperUpdateDashboardAcl(dashboardId int64, items ...m.DashboardAcl) error {
cmd := m.UpdateDashboardAclCommand{DashboardId: dashboardId}
func testHelperUpdateDashboardAcl(dashboardId int64, items ...models.DashboardAcl) error {
cmd := models.UpdateDashboardAclCommand{DashboardId: dashboardId}
for _, item := range items {
item.Created = time.Now()
item.Updated = time.Now()

View File

@@ -6,7 +6,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/util"
)
@@ -17,29 +17,29 @@ func init() {
bus.AddHandler("sql", UpdateOrgUser)
}
func AddOrgUser(cmd *m.AddOrgUserCommand) error {
func AddOrgUser(cmd *models.AddOrgUserCommand) error {
return inTransaction(func(sess *DBSession) error {
// check if user exists
var user m.User
var user models.User
if exists, err := sess.ID(cmd.UserId).Get(&user); err != nil {
return err
} else if !exists {
return m.ErrUserNotFound
return models.ErrUserNotFound
}
if res, err := sess.Query("SELECT 1 from org_user WHERE org_id=? and user_id=?", cmd.OrgId, user.Id); err != nil {
return err
} else if len(res) == 1 {
return m.ErrOrgUserAlreadyAdded
return models.ErrOrgUserAlreadyAdded
}
if res, err := sess.Query("SELECT 1 from org WHERE id=?", cmd.OrgId); err != nil {
return err
} else if len(res) != 1 {
return m.ErrOrgNotFound
return models.ErrOrgNotFound
}
entity := m.OrgUser{
entity := models.OrgUser{
OrgId: cmd.OrgId,
UserId: cmd.UserId,
Role: cmd.Role,
@@ -52,7 +52,7 @@ func AddOrgUser(cmd *m.AddOrgUserCommand) error {
return err
}
var userOrgs []*m.UserOrgDTO
var userOrgs []*models.UserOrgDTO
sess.Table("org_user")
sess.Join("INNER", "org", "org_user.org_id=org.id")
sess.Where("org_user.user_id=? AND org_user.org_id=?", user.Id, user.OrgId)
@@ -71,16 +71,16 @@ func AddOrgUser(cmd *m.AddOrgUserCommand) error {
})
}
func UpdateOrgUser(cmd *m.UpdateOrgUserCommand) error {
func UpdateOrgUser(cmd *models.UpdateOrgUserCommand) error {
return inTransaction(func(sess *DBSession) error {
var orgUser m.OrgUser
var orgUser models.OrgUser
exists, err := sess.Where("org_id=? AND user_id=?", cmd.OrgId, cmd.UserId).Get(&orgUser)
if err != nil {
return err
}
if !exists {
return m.ErrOrgUserNotFound
return models.ErrOrgUserNotFound
}
orgUser.Role = cmd.Role
@@ -94,8 +94,8 @@ func UpdateOrgUser(cmd *m.UpdateOrgUserCommand) error {
})
}
func GetOrgUsers(query *m.GetOrgUsersQuery) error {
query.Result = make([]*m.OrgUserDTO, 0)
func GetOrgUsers(query *models.GetOrgUsersQuery) error {
query.Result = make([]*models.OrgUserDTO, 0)
sess := x.Table("org_user")
sess.Join("INNER", x.Dialect().Quote("user"), fmt.Sprintf("org_user.user_id=%s.id", x.Dialect().Quote("user")))
@@ -142,14 +142,14 @@ func GetOrgUsers(query *m.GetOrgUsersQuery) error {
return nil
}
func RemoveOrgUser(cmd *m.RemoveOrgUserCommand) error {
func RemoveOrgUser(cmd *models.RemoveOrgUserCommand) error {
return inTransaction(func(sess *DBSession) error {
// check if user exists
var user m.User
var user models.User
if exists, err := sess.ID(cmd.UserId).Get(&user); err != nil {
return err
} else if !exists {
return m.ErrUserNotFound
return models.ErrUserNotFound
}
deletes := []string{
@@ -171,7 +171,7 @@ func RemoveOrgUser(cmd *m.RemoveOrgUserCommand) error {
}
// check user other orgs and update user current org
var userOrgs []*m.UserOrgDTO
var userOrgs []*models.UserOrgDTO
sess.Table("org_user")
sess.Join("INNER", "org", "org_user.org_id=org.id")
sess.Where("org_user.user_id=?", user.Id)
@@ -199,7 +199,7 @@ func RemoveOrgUser(cmd *m.RemoveOrgUserCommand) error {
}
} else if cmd.ShouldDeleteOrphanedUser {
// no other orgs, delete the full user
if err := deleteUserInTransaction(sess, &m.DeleteUserCommand{UserId: user.Id}); err != nil {
if err := deleteUserInTransaction(sess, &models.DeleteUserCommand{UserId: user.Id}); err != nil {
return err
}
@@ -218,7 +218,7 @@ func validateOneAdminLeftInOrg(orgId int64, sess *DBSession) error {
}
if len(res) == 0 {
return m.ErrLastOrgAdmin
return models.ErrLastOrgAdmin
}
return err

View File

@@ -2,7 +2,7 @@ package sqlstore
import (
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
func init() {
@@ -14,8 +14,8 @@ func init() {
bus.AddHandler("sql", GetPlaylistItem)
}
func CreatePlaylist(cmd *m.CreatePlaylistCommand) error {
playlist := m.Playlist{
func CreatePlaylist(cmd *models.CreatePlaylistCommand) error {
playlist := models.Playlist{
Name: cmd.Name,
Interval: cmd.Interval,
OrgId: cmd.OrgId,
@@ -26,9 +26,9 @@ func CreatePlaylist(cmd *m.CreatePlaylistCommand) error {
return err
}
playlistItems := make([]m.PlaylistItem, 0)
playlistItems := make([]models.PlaylistItem, 0)
for _, item := range cmd.Items {
playlistItems = append(playlistItems, m.PlaylistItem{
playlistItems = append(playlistItems, models.PlaylistItem{
PlaylistId: playlist.Id,
Type: item.Type,
Value: item.Value,
@@ -43,21 +43,21 @@ func CreatePlaylist(cmd *m.CreatePlaylistCommand) error {
return err
}
func UpdatePlaylist(cmd *m.UpdatePlaylistCommand) error {
playlist := m.Playlist{
func UpdatePlaylist(cmd *models.UpdatePlaylistCommand) error {
playlist := models.Playlist{
Id: cmd.Id,
OrgId: cmd.OrgId,
Name: cmd.Name,
Interval: cmd.Interval,
}
existingPlaylist := x.Where("id = ? AND org_id = ?", cmd.Id, cmd.OrgId).Find(m.Playlist{})
existingPlaylist := x.Where("id = ? AND org_id = ?", cmd.Id, cmd.OrgId).Find(models.Playlist{})
if existingPlaylist == nil {
return m.ErrPlaylistNotFound
return models.ErrPlaylistNotFound
}
cmd.Result = &m.PlaylistDTO{
cmd.Result = &models.PlaylistDTO{
Id: playlist.Id,
OrgId: playlist.OrgId,
Name: playlist.Name,
@@ -77,10 +77,10 @@ func UpdatePlaylist(cmd *m.UpdatePlaylistCommand) error {
return err
}
playlistItems := make([]m.PlaylistItem, 0)
playlistItems := make([]models.PlaylistItem, 0)
for index, item := range cmd.Items {
playlistItems = append(playlistItems, m.PlaylistItem{
playlistItems = append(playlistItems, models.PlaylistItem{
PlaylistId: playlist.Id,
Type: item.Type,
Value: item.Value,
@@ -94,12 +94,12 @@ func UpdatePlaylist(cmd *m.UpdatePlaylistCommand) error {
return err
}
func GetPlaylist(query *m.GetPlaylistByIdQuery) error {
func GetPlaylist(query *models.GetPlaylistByIdQuery) error {
if query.Id == 0 {
return m.ErrCommandValidationFailed
return models.ErrCommandValidationFailed
}
playlist := m.Playlist{}
playlist := models.Playlist{}
_, err := x.ID(query.Id).Get(&playlist)
query.Result = &playlist
@@ -107,9 +107,9 @@ func GetPlaylist(query *m.GetPlaylistByIdQuery) error {
return err
}
func DeletePlaylist(cmd *m.DeletePlaylistCommand) error {
func DeletePlaylist(cmd *models.DeletePlaylistCommand) error {
if cmd.Id == 0 {
return m.ErrCommandValidationFailed
return models.ErrCommandValidationFailed
}
return inTransaction(func(sess *DBSession) error {
@@ -127,8 +127,8 @@ func DeletePlaylist(cmd *m.DeletePlaylistCommand) error {
})
}
func SearchPlaylists(query *m.GetPlaylistsQuery) error {
var playlists = make(m.Playlists, 0)
func SearchPlaylists(query *models.GetPlaylistsQuery) error {
var playlists = make(models.Playlists, 0)
sess := x.Limit(query.Limit)
@@ -143,12 +143,12 @@ func SearchPlaylists(query *m.GetPlaylistsQuery) error {
return err
}
func GetPlaylistItem(query *m.GetPlaylistItemsByIdQuery) error {
func GetPlaylistItem(query *models.GetPlaylistItemsByIdQuery) error {
if query.PlaylistId == 0 {
return m.ErrCommandValidationFailed
return models.ErrCommandValidationFailed
}
var playlistItems = make([]m.PlaylistItem, 0)
var playlistItems = make([]models.PlaylistItem, 0)
err := x.Where("playlist_id=?", query.PlaylistId).Find(&playlistItems)
query.Result = &playlistItems

View File

@@ -5,7 +5,7 @@ import (
. "github.com/smartystreets/goconvey/convey"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
func TestPlaylistDataAccess(t *testing.T) {
@@ -14,26 +14,26 @@ func TestPlaylistDataAccess(t *testing.T) {
InitTestDB(t)
Convey("Can create playlist", func() {
items := []m.PlaylistItemDTO{
items := []models.PlaylistItemDTO{
{Title: "graphite", Value: "graphite", Type: "dashboard_by_tag"},
{Title: "Backend response times", Value: "3", Type: "dashboard_by_id"},
}
cmd := m.CreatePlaylistCommand{Name: "NYC office", Interval: "10m", OrgId: 1, Items: items}
cmd := models.CreatePlaylistCommand{Name: "NYC office", Interval: "10m", OrgId: 1, Items: items}
err := CreatePlaylist(&cmd)
So(err, ShouldBeNil)
Convey("can update playlist", func() {
items := []m.PlaylistItemDTO{
items := []models.PlaylistItemDTO{
{Title: "influxdb", Value: "influxdb", Type: "dashboard_by_tag"},
{Title: "Backend response times", Value: "2", Type: "dashboard_by_id"},
}
query := m.UpdatePlaylistCommand{Name: "NYC office ", OrgId: 1, Id: 1, Interval: "10s", Items: items}
query := models.UpdatePlaylistCommand{Name: "NYC office ", OrgId: 1, Id: 1, Interval: "10s", Items: items}
err = UpdatePlaylist(&query)
So(err, ShouldBeNil)
Convey("can remove playlist", func() {
query := m.DeletePlaylistCommand{Id: 1}
query := models.DeletePlaylistCommand{Id: 1}
err = DeletePlaylist(&query)
So(err, ShouldBeNil)

View File

@@ -4,7 +4,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/util"
)
@@ -16,7 +16,7 @@ func init() {
bus.AddHandler("sql", UpdatePluginSettingVersion)
}
func GetPluginSettings(query *m.GetPluginSettingsQuery) error {
func GetPluginSettings(query *models.GetPluginSettingsQuery) error {
sql := `SELECT org_id, plugin_id, enabled, pinned, plugin_version
FROM plugin_setting `
params := make([]interface{}, 0)
@@ -27,25 +27,25 @@ func GetPluginSettings(query *m.GetPluginSettingsQuery) error {
}
sess := x.SQL(sql, params...)
query.Result = make([]*m.PluginSettingInfoDTO, 0)
query.Result = make([]*models.PluginSettingInfoDTO, 0)
return sess.Find(&query.Result)
}
func GetPluginSettingById(query *m.GetPluginSettingByIdQuery) error {
pluginSetting := m.PluginSetting{OrgId: query.OrgId, PluginId: query.PluginId}
func GetPluginSettingById(query *models.GetPluginSettingByIdQuery) error {
pluginSetting := models.PluginSetting{OrgId: query.OrgId, PluginId: query.PluginId}
has, err := x.Get(&pluginSetting)
if err != nil {
return err
} else if !has {
return m.ErrPluginSettingNotFound
return models.ErrPluginSettingNotFound
}
query.Result = &pluginSetting
return nil
}
func UpdatePluginSetting(cmd *m.UpdatePluginSettingCmd) error {
func UpdatePluginSetting(cmd *models.UpdatePluginSettingCmd) error {
return inTransaction(func(sess *DBSession) error {
var pluginSetting m.PluginSetting
var pluginSetting models.PluginSetting
exists, err := sess.Where("org_id=? and plugin_id=?", cmd.OrgId, cmd.PluginId).Get(&pluginSetting)
if err != nil {
@@ -54,7 +54,7 @@ func UpdatePluginSetting(cmd *m.UpdatePluginSettingCmd) error {
sess.UseBool("enabled")
sess.UseBool("pinned")
if !exists {
pluginSetting = m.PluginSetting{
pluginSetting = models.PluginSetting{
PluginId: cmd.PluginId,
OrgId: cmd.OrgId,
Enabled: cmd.Enabled,
@@ -67,7 +67,7 @@ func UpdatePluginSetting(cmd *m.UpdatePluginSettingCmd) error {
}
// add state change event on commit success
sess.events = append(sess.events, &m.PluginStateChangedEvent{
sess.events = append(sess.events, &models.PluginStateChangedEvent{
PluginId: cmd.PluginId,
OrgId: cmd.OrgId,
Enabled: cmd.Enabled,
@@ -87,7 +87,7 @@ func UpdatePluginSetting(cmd *m.UpdatePluginSettingCmd) error {
// add state change event on commit success
if pluginSetting.Enabled != cmd.Enabled {
sess.events = append(sess.events, &m.PluginStateChangedEvent{
sess.events = append(sess.events, &models.PluginStateChangedEvent{
PluginId: cmd.PluginId,
OrgId: cmd.OrgId,
Enabled: cmd.Enabled,
@@ -105,7 +105,7 @@ func UpdatePluginSetting(cmd *m.UpdatePluginSettingCmd) error {
})
}
func UpdatePluginSettingVersion(cmd *m.UpdatePluginSettingVersionCmd) error {
func UpdatePluginSettingVersion(cmd *models.UpdatePluginSettingVersionCmd) error {
return inTransaction(func(sess *DBSession) error {
_, err := sess.Exec("UPDATE plugin_setting SET plugin_version=? WHERE org_id=? AND plugin_id=?", cmd.PluginVersion, cmd.OrgId, cmd.PluginId)

View File

@@ -5,7 +5,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/setting"
)
@@ -16,7 +16,7 @@ func init() {
bus.AddHandler("sql", SavePreferences)
}
func GetPreferencesWithDefaults(query *m.GetPreferencesWithDefaultsQuery) error {
func GetPreferencesWithDefaults(query *models.GetPreferencesWithDefaultsQuery) error {
params := make([]interface{}, 0)
filter := ""
if len(query.User.Teams) > 0 {
@@ -30,7 +30,7 @@ func GetPreferencesWithDefaults(query *m.GetPreferencesWithDefaultsQuery) error
params = append(params, query.User.OrgId)
params = append(params, query.User.UserId)
params = append(params, query.User.OrgId)
prefs := make([]*m.Preferences, 0)
prefs := make([]*models.Preferences, 0)
err := x.Where(filter, params...).
OrderBy("user_id ASC, team_id ASC").
Find(&prefs)
@@ -39,7 +39,7 @@ func GetPreferencesWithDefaults(query *m.GetPreferencesWithDefaultsQuery) error
return err
}
res := &m.Preferences{
res := &models.Preferences{
Theme: setting.DefaultTheme,
Timezone: "browser",
HomeDashboardId: 0,
@@ -61,8 +61,8 @@ func GetPreferencesWithDefaults(query *m.GetPreferencesWithDefaultsQuery) error
return nil
}
func GetPreferences(query *m.GetPreferencesQuery) error {
var prefs m.Preferences
func GetPreferences(query *models.GetPreferencesQuery) error {
var prefs models.Preferences
exists, err := x.Where("org_id=? AND user_id=? AND team_id=?", query.OrgId, query.UserId, query.TeamId).Get(&prefs)
if err != nil {
@@ -72,23 +72,23 @@ func GetPreferences(query *m.GetPreferencesQuery) error {
if exists {
query.Result = &prefs
} else {
query.Result = new(m.Preferences)
query.Result = new(models.Preferences)
}
return nil
}
func SavePreferences(cmd *m.SavePreferencesCommand) error {
func SavePreferences(cmd *models.SavePreferencesCommand) error {
return inTransaction(func(sess *DBSession) error {
var prefs m.Preferences
var prefs models.Preferences
exists, err := sess.Where("org_id=? AND user_id=? AND team_id=?", cmd.OrgId, cmd.UserId, cmd.TeamId).Get(&prefs)
if err != nil {
return err
}
if !exists {
prefs = m.Preferences{
prefs = models.Preferences{
UserId: cmd.UserId,
OrgId: cmd.OrgId,
TeamId: cmd.TeamId,

View File

@@ -5,7 +5,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/setting"
)
@@ -23,8 +23,8 @@ type targetCount struct {
Count int64
}
func GetOrgQuotaByTarget(query *m.GetOrgQuotaByTargetQuery) error {
quota := m.Quota{
func GetOrgQuotaByTarget(query *models.GetOrgQuotaByTargetQuery) error {
quota := models.Quota{
Target: query.Target,
OrgId: query.OrgId,
}
@@ -42,7 +42,7 @@ func GetOrgQuotaByTarget(query *m.GetOrgQuotaByTargetQuery) error {
return err
}
query.Result = &m.OrgQuotaDTO{
query.Result = &models.OrgQuotaDTO{
Target: query.Target,
Limit: quota.Limit,
OrgId: query.OrgId,
@@ -52,8 +52,8 @@ func GetOrgQuotaByTarget(query *m.GetOrgQuotaByTargetQuery) error {
return nil
}
func GetOrgQuotas(query *m.GetOrgQuotasQuery) error {
quotas := make([]*m.Quota, 0)
func GetOrgQuotas(query *models.GetOrgQuotasQuery) error {
quotas := make([]*models.Quota, 0)
sess := x.Table("quota")
if err := sess.Where("org_id=? AND user_id=0", query.OrgId).Find(&quotas); err != nil {
return err
@@ -68,7 +68,7 @@ func GetOrgQuotas(query *m.GetOrgQuotasQuery) error {
for t, v := range defaultQuotas {
if _, ok := seenTargets[t]; !ok {
quotas = append(quotas, &m.Quota{
quotas = append(quotas, &models.Quota{
OrgId: query.OrgId,
Target: t,
Limit: v,
@@ -76,7 +76,7 @@ func GetOrgQuotas(query *m.GetOrgQuotasQuery) error {
}
}
result := make([]*m.OrgQuotaDTO, len(quotas))
result := make([]*models.OrgQuotaDTO, len(quotas))
for i, q := range quotas {
//get quota used.
rawSql := fmt.Sprintf("SELECT COUNT(*) as count from %s where org_id=?", dialect.Quote(q.Target))
@@ -84,7 +84,7 @@ func GetOrgQuotas(query *m.GetOrgQuotasQuery) error {
if err := x.SQL(rawSql, q.OrgId).Find(&resp); err != nil {
return err
}
result[i] = &m.OrgQuotaDTO{
result[i] = &models.OrgQuotaDTO{
Target: q.Target,
Limit: q.Limit,
OrgId: q.OrgId,
@@ -95,10 +95,10 @@ func GetOrgQuotas(query *m.GetOrgQuotasQuery) error {
return nil
}
func UpdateOrgQuota(cmd *m.UpdateOrgQuotaCmd) error {
func UpdateOrgQuota(cmd *models.UpdateOrgQuotaCmd) error {
return inTransaction(func(sess *DBSession) error {
//Check if quota is already defined in the DB
quota := m.Quota{
quota := models.Quota{
Target: cmd.Target,
OrgId: cmd.OrgId,
}
@@ -125,8 +125,8 @@ func UpdateOrgQuota(cmd *m.UpdateOrgQuotaCmd) error {
})
}
func GetUserQuotaByTarget(query *m.GetUserQuotaByTargetQuery) error {
quota := m.Quota{
func GetUserQuotaByTarget(query *models.GetUserQuotaByTargetQuery) error {
quota := models.Quota{
Target: query.Target,
UserId: query.UserId,
}
@@ -144,7 +144,7 @@ func GetUserQuotaByTarget(query *m.GetUserQuotaByTargetQuery) error {
return err
}
query.Result = &m.UserQuotaDTO{
query.Result = &models.UserQuotaDTO{
Target: query.Target,
Limit: quota.Limit,
UserId: query.UserId,
@@ -154,8 +154,8 @@ func GetUserQuotaByTarget(query *m.GetUserQuotaByTargetQuery) error {
return nil
}
func GetUserQuotas(query *m.GetUserQuotasQuery) error {
quotas := make([]*m.Quota, 0)
func GetUserQuotas(query *models.GetUserQuotasQuery) error {
quotas := make([]*models.Quota, 0)
sess := x.Table("quota")
if err := sess.Where("user_id=? AND org_id=0", query.UserId).Find(&quotas); err != nil {
return err
@@ -170,7 +170,7 @@ func GetUserQuotas(query *m.GetUserQuotasQuery) error {
for t, v := range defaultQuotas {
if _, ok := seenTargets[t]; !ok {
quotas = append(quotas, &m.Quota{
quotas = append(quotas, &models.Quota{
UserId: query.UserId,
Target: t,
Limit: v,
@@ -178,7 +178,7 @@ func GetUserQuotas(query *m.GetUserQuotasQuery) error {
}
}
result := make([]*m.UserQuotaDTO, len(quotas))
result := make([]*models.UserQuotaDTO, len(quotas))
for i, q := range quotas {
//get quota used.
rawSql := fmt.Sprintf("SELECT COUNT(*) as count from %s where user_id=?", dialect.Quote(q.Target))
@@ -186,7 +186,7 @@ func GetUserQuotas(query *m.GetUserQuotasQuery) error {
if err := x.SQL(rawSql, q.UserId).Find(&resp); err != nil {
return err
}
result[i] = &m.UserQuotaDTO{
result[i] = &models.UserQuotaDTO{
Target: q.Target,
Limit: q.Limit,
UserId: q.UserId,
@@ -197,10 +197,10 @@ func GetUserQuotas(query *m.GetUserQuotasQuery) error {
return nil
}
func UpdateUserQuota(cmd *m.UpdateUserQuotaCmd) error {
func UpdateUserQuota(cmd *models.UpdateUserQuotaCmd) error {
return inTransaction(func(sess *DBSession) error {
//Check if quota is already defined in the DB
quota := m.Quota{
quota := models.Quota{
Target: cmd.Target,
UserId: cmd.UserId,
}
@@ -227,7 +227,7 @@ func UpdateUserQuota(cmd *m.UpdateUserQuotaCmd) error {
})
}
func GetGlobalQuotaByTarget(query *m.GetGlobalQuotaByTargetQuery) error {
func GetGlobalQuotaByTarget(query *models.GetGlobalQuotaByTargetQuery) error {
//get quota used.
rawSql := fmt.Sprintf("SELECT COUNT(*) as count from %s", dialect.Quote(query.Target))
resp := make([]*targetCount, 0)
@@ -235,7 +235,7 @@ func GetGlobalQuotaByTarget(query *m.GetGlobalQuotaByTargetQuery) error {
return err
}
query.Result = &m.GlobalQuotaDTO{
query.Result = &models.GlobalQuotaDTO{
Target: query.Target,
Limit: query.Default,
Used: resp[0].Count,

View File

@@ -4,7 +4,7 @@ import (
"testing"
"time"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/setting"
. "github.com/smartystreets/goconvey/convey"
)
@@ -40,7 +40,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
// create a new org and add user_id 1 as admin.
// we will then have an org with 1 user. and a user
// with 1 org.
userCmd := m.CreateOrgCommand{
userCmd := models.CreateOrgCommand{
Name: "TestOrg",
UserId: 1,
}
@@ -50,7 +50,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
orgId = userCmd.Result.Id
Convey("Given saved org quota for users", func() {
orgCmd := m.UpdateOrgQuotaCmd{
orgCmd := models.UpdateOrgQuotaCmd{
OrgId: orgId,
Target: "org_user",
Limit: 10,
@@ -59,35 +59,35 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
So(err, ShouldBeNil)
Convey("Should be able to get saved quota by org id and target", func() {
query := m.GetOrgQuotaByTargetQuery{OrgId: orgId, Target: "org_user", Default: 1}
query := models.GetOrgQuotaByTargetQuery{OrgId: orgId, Target: "org_user", Default: 1}
err = GetOrgQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Limit, ShouldEqual, 10)
})
Convey("Should be able to get default quota by org id and target", func() {
query := m.GetOrgQuotaByTargetQuery{OrgId: 123, Target: "org_user", Default: 11}
query := models.GetOrgQuotaByTargetQuery{OrgId: 123, Target: "org_user", Default: 11}
err = GetOrgQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Limit, ShouldEqual, 11)
})
Convey("Should be able to get used org quota when rows exist", func() {
query := m.GetOrgQuotaByTargetQuery{OrgId: orgId, Target: "org_user", Default: 11}
query := models.GetOrgQuotaByTargetQuery{OrgId: orgId, Target: "org_user", Default: 11}
err = GetOrgQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Used, ShouldEqual, 1)
})
Convey("Should be able to get used org quota when no rows exist", func() {
query := m.GetOrgQuotaByTargetQuery{OrgId: 2, Target: "org_user", Default: 11}
query := models.GetOrgQuotaByTargetQuery{OrgId: 2, Target: "org_user", Default: 11}
err = GetOrgQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Used, ShouldEqual, 0)
})
Convey("Should be able to quota list for org", func() {
query := m.GetOrgQuotasQuery{OrgId: orgId}
query := models.GetOrgQuotasQuery{OrgId: orgId}
err = GetOrgQuotas(&query)
So(err, ShouldBeNil)
@@ -106,7 +106,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
})
})
Convey("Given saved user quota for org", func() {
userQuotaCmd := m.UpdateUserQuotaCmd{
userQuotaCmd := models.UpdateUserQuotaCmd{
UserId: userId,
Target: "org_user",
Limit: 10,
@@ -115,35 +115,35 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
So(err, ShouldBeNil)
Convey("Should be able to get saved quota by user id and target", func() {
query := m.GetUserQuotaByTargetQuery{UserId: userId, Target: "org_user", Default: 1}
query := models.GetUserQuotaByTargetQuery{UserId: userId, Target: "org_user", Default: 1}
err = GetUserQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Limit, ShouldEqual, 10)
})
Convey("Should be able to get default quota by user id and target", func() {
query := m.GetUserQuotaByTargetQuery{UserId: 9, Target: "org_user", Default: 11}
query := models.GetUserQuotaByTargetQuery{UserId: 9, Target: "org_user", Default: 11}
err = GetUserQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Limit, ShouldEqual, 11)
})
Convey("Should be able to get used user quota when rows exist", func() {
query := m.GetUserQuotaByTargetQuery{UserId: userId, Target: "org_user", Default: 11}
query := models.GetUserQuotaByTargetQuery{UserId: userId, Target: "org_user", Default: 11}
err = GetUserQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Used, ShouldEqual, 1)
})
Convey("Should be able to get used user quota when no rows exist", func() {
query := m.GetUserQuotaByTargetQuery{UserId: 2, Target: "org_user", Default: 11}
query := models.GetUserQuotaByTargetQuery{UserId: 2, Target: "org_user", Default: 11}
err = GetUserQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Used, ShouldEqual, 0)
})
Convey("Should be able to quota list for user", func() {
query := m.GetUserQuotasQuery{UserId: userId}
query := models.GetUserQuotasQuery{UserId: userId}
err = GetUserQuotas(&query)
So(err, ShouldBeNil)
@@ -154,7 +154,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
})
Convey("Should be able to global user quota", func() {
query := m.GetGlobalQuotaByTargetQuery{Target: "user", Default: 5}
query := models.GetGlobalQuotaByTargetQuery{Target: "user", Default: 5}
err = GetGlobalQuotaByTarget(&query)
So(err, ShouldBeNil)
@@ -162,7 +162,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
So(query.Result.Used, ShouldEqual, 0)
})
Convey("Should be able to global org quota", func() {
query := m.GetGlobalQuotaByTargetQuery{Target: "org", Default: 5}
query := models.GetGlobalQuotaByTargetQuery{Target: "org", Default: 5}
err = GetGlobalQuotaByTarget(&query)
So(err, ShouldBeNil)
@@ -172,7 +172,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
// related: https://github.com/grafana/grafana/issues/14342
Convey("Should org quota updating is successful even if it called multiple time", func() {
orgCmd := m.UpdateOrgQuotaCmd{
orgCmd := models.UpdateOrgQuotaCmd{
OrgId: orgId,
Target: "org_user",
Limit: 5,
@@ -180,7 +180,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
err := UpdateOrgQuota(&orgCmd)
So(err, ShouldBeNil)
query := m.GetOrgQuotaByTargetQuery{OrgId: orgId, Target: "org_user", Default: 1}
query := models.GetOrgQuotaByTargetQuery{OrgId: orgId, Target: "org_user", Default: 1}
err = GetOrgQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Limit, ShouldEqual, 5)
@@ -188,7 +188,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
// XXX: resolution of `Updated` column is 1sec, so this makes delay
time.Sleep(1 * time.Second)
orgCmd = m.UpdateOrgQuotaCmd{
orgCmd = models.UpdateOrgQuotaCmd{
OrgId: orgId,
Target: "org_user",
Limit: 10,
@@ -196,7 +196,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
err = UpdateOrgQuota(&orgCmd)
So(err, ShouldBeNil)
query = m.GetOrgQuotaByTargetQuery{OrgId: orgId, Target: "org_user", Default: 1}
query = models.GetOrgQuotaByTargetQuery{OrgId: orgId, Target: "org_user", Default: 1}
err = GetOrgQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Limit, ShouldEqual, 10)
@@ -204,7 +204,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
// related: https://github.com/grafana/grafana/issues/14342
Convey("Should user quota updating is successful even if it called multiple time", func() {
userQuotaCmd := m.UpdateUserQuotaCmd{
userQuotaCmd := models.UpdateUserQuotaCmd{
UserId: userId,
Target: "org_user",
Limit: 5,
@@ -212,7 +212,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
err := UpdateUserQuota(&userQuotaCmd)
So(err, ShouldBeNil)
query := m.GetUserQuotaByTargetQuery{UserId: userId, Target: "org_user", Default: 1}
query := models.GetUserQuotaByTargetQuery{UserId: userId, Target: "org_user", Default: 1}
err = GetUserQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Limit, ShouldEqual, 5)
@@ -220,7 +220,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
// XXX: resolution of `Updated` column is 1sec, so this makes delay
time.Sleep(1 * time.Second)
userQuotaCmd = m.UpdateUserQuotaCmd{
userQuotaCmd = models.UpdateUserQuotaCmd{
UserId: userId,
Target: "org_user",
Limit: 10,
@@ -228,7 +228,7 @@ func TestQuotaCommandsAndQueries(t *testing.T) {
err = UpdateUserQuota(&userQuotaCmd)
So(err, ShouldBeNil)
query = m.GetUserQuotaByTargetQuery{UserId: userId, Target: "org_user", Default: 1}
query = models.GetUserQuotaByTargetQuery{UserId: userId, Target: "org_user", Default: 1}
err = GetUserQuotaByTarget(&query)
So(err, ShouldBeNil)
So(query.Result.Limit, ShouldEqual, 10)

View File

@@ -3,7 +3,7 @@ package sqlstore
import (
"strings"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
// SearchBuilder is a builder/object mother that builds a dashboard search query
@@ -13,16 +13,16 @@ type SearchBuilder struct {
isStarred bool
limit int64
page int64
signedInUser *m.SignedInUser
signedInUser *models.SignedInUser
whereDashboardIdsIn []int64
whereTitle string
whereTypeFolder bool
whereTypeDash bool
whereFolderIds []int64
permission m.PermissionType
permission models.PermissionType
}
func NewSearchBuilder(signedInUser *m.SignedInUser, limit int64, page int64, permission m.PermissionType) *SearchBuilder {
func NewSearchBuilder(signedInUser *models.SignedInUser, limit int64, page int64, permission models.PermissionType) *SearchBuilder {
// Default to page 1
if page < 1 {
page = 1

View File

@@ -3,18 +3,18 @@ package sqlstore
import (
"testing"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
. "github.com/smartystreets/goconvey/convey"
)
func TestSearchBuilder(t *testing.T) {
Convey("Testing building a search", t, func() {
signedInUser := &m.SignedInUser{
signedInUser := &models.SignedInUser{
OrgId: 1,
UserId: 1,
}
sb := NewSearchBuilder(signedInUser, 1000, 0, m.PERMISSION_VIEW)
sb := NewSearchBuilder(signedInUser, 1000, 0, models.PERMISSION_VIEW)
Convey("When building a normal search", func() {
sql, params := sb.IsStarred().WithTitle("test").ToSql()

View File

@@ -5,7 +5,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
func init() {
@@ -18,7 +18,7 @@ func sqlRandomWalk(m1 string, m2 string, intWalker int64, floatWalker float64, s
now := time.Now().UTC()
step := time.Minute
row := &m.SqlTestData{
row := &models.SqlTestData{
Metric1: m1,
Metric2: m2,
TimeEpoch: timeWalker.Unix(),
@@ -44,7 +44,7 @@ func sqlRandomWalk(m1 string, m2 string, intWalker int64, floatWalker float64, s
return nil
}
func InsertSqlTestData(cmd *m.InsertSqlTestDataCommand) error {
func InsertSqlTestData(cmd *models.InsertSqlTestDataCommand) error {
return inTransaction(func(sess *DBSession) error {
var err error

View File

@@ -4,7 +4,7 @@ import (
"bytes"
"strings"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
type SqlBuilder struct {
@@ -28,16 +28,16 @@ func (sb *SqlBuilder) AddParams(params ...interface{}) {
sb.params = append(sb.params, params...)
}
func (sb *SqlBuilder) writeDashboardPermissionFilter(user *m.SignedInUser, permission m.PermissionType) {
func (sb *SqlBuilder) writeDashboardPermissionFilter(user *models.SignedInUser, permission models.PermissionType) {
if user.OrgRole == m.ROLE_ADMIN {
if user.OrgRole == models.ROLE_ADMIN {
return
}
okRoles := []interface{}{user.OrgRole}
if user.OrgRole == m.ROLE_EDITOR {
okRoles = append(okRoles, m.ROLE_VIEWER)
if user.OrgRole == models.ROLE_EDITOR {
okRoles = append(okRoles, models.ROLE_VIEWER)
}
falseStr := dialect.BooleanStr(false)

View File

@@ -15,7 +15,7 @@ import (
"github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/infra/localcache"
"github.com/grafana/grafana/pkg/infra/log"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/registry"
"github.com/grafana/grafana/pkg/services/annotations"
"github.com/grafana/grafana/pkg/services/sqlstore/migrations"
@@ -109,7 +109,7 @@ func (ss *SqlStore) Init() error {
func (ss *SqlStore) ensureMainOrgAndAdminUser() error {
err := ss.InTransaction(context.Background(), func(ctx context.Context) error {
systemUserCountQuery := m.GetSystemUserCountStatsQuery{}
systemUserCountQuery := models.GetSystemUserCountStatsQuery{}
err := bus.DispatchCtx(ctx, &systemUserCountQuery)
if err != nil {
return fmt.Errorf("Could not determine if admin user exists: %v", err)
@@ -121,7 +121,7 @@ func (ss *SqlStore) ensureMainOrgAndAdminUser() error {
// ensure admin user
if !ss.Cfg.DisableInitAdminCreation {
cmd := m.CreateUserCommand{}
cmd := models.CreateUserCommand{}
cmd.Login = setting.AdminUser
cmd.Email = setting.AdminUser + "@localhost"
cmd.Password = setting.AdminPassword

View File

@@ -2,7 +2,7 @@ package sqlstore
import (
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
func init() {
@@ -12,7 +12,7 @@ func init() {
bus.AddHandler("sql", IsStarredByUser)
}
func IsStarredByUser(query *m.IsStarredByUserQuery) error {
func IsStarredByUser(query *models.IsStarredByUserQuery) error {
rawSql := "SELECT 1 from star where user_id=? and dashboard_id=?"
results, err := x.Query(rawSql, query.UserId, query.DashboardId)
@@ -29,14 +29,14 @@ func IsStarredByUser(query *m.IsStarredByUserQuery) error {
return nil
}
func StarDashboard(cmd *m.StarDashboardCommand) error {
func StarDashboard(cmd *models.StarDashboardCommand) error {
if cmd.DashboardId == 0 || cmd.UserId == 0 {
return m.ErrCommandValidationFailed
return models.ErrCommandValidationFailed
}
return inTransaction(func(sess *DBSession) error {
entity := m.Star{
entity := models.Star{
UserId: cmd.UserId,
DashboardId: cmd.DashboardId,
}
@@ -46,9 +46,9 @@ func StarDashboard(cmd *m.StarDashboardCommand) error {
})
}
func UnstarDashboard(cmd *m.UnstarDashboardCommand) error {
func UnstarDashboard(cmd *models.UnstarDashboardCommand) error {
if cmd.DashboardId == 0 || cmd.UserId == 0 {
return m.ErrCommandValidationFailed
return models.ErrCommandValidationFailed
}
return inTransaction(func(sess *DBSession) error {
@@ -58,8 +58,8 @@ func UnstarDashboard(cmd *m.UnstarDashboardCommand) error {
})
}
func GetUserStars(query *m.GetUserStarsQuery) error {
var stars = make([]m.Star, 0)
func GetUserStars(query *models.GetUserStarsQuery) error {
var stars = make([]models.Star, 0)
err := x.Where("user_id=?", query.UserId).Find(&stars)
query.Result = make(map[int64]bool)

View File

@@ -3,7 +3,7 @@ package sqlstore
import (
"testing"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
. "github.com/smartystreets/goconvey/convey"
)
@@ -13,7 +13,7 @@ func TestUserStarsDataAccess(t *testing.T) {
InitTestDB(t)
Convey("Given saved star", func() {
cmd := m.StarDashboardCommand{
cmd := models.StarDashboardCommand{
DashboardId: 10,
UserId: 12,
}
@@ -22,7 +22,7 @@ func TestUserStarsDataAccess(t *testing.T) {
So(err, ShouldBeNil)
Convey("IsStarredByUser should return true when starred", func() {
query := m.IsStarredByUserQuery{UserId: 12, DashboardId: 10}
query := models.IsStarredByUserQuery{UserId: 12, DashboardId: 10}
err := IsStarredByUser(&query)
So(err, ShouldBeNil)
@@ -30,7 +30,7 @@ func TestUserStarsDataAccess(t *testing.T) {
})
Convey("IsStarredByUser should return false when not starred", func() {
query := m.IsStarredByUserQuery{UserId: 12, DashboardId: 12}
query := models.IsStarredByUserQuery{UserId: 12, DashboardId: 12}
err := IsStarredByUser(&query)
So(err, ShouldBeNil)

View File

@@ -5,7 +5,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
func init() {
@@ -19,28 +19,28 @@ func init() {
var activeUserTimeLimit = time.Hour * 24 * 30
func GetAlertNotifiersUsageStats(ctx context.Context, query *m.GetAlertNotifierUsageStatsQuery) error {
func GetAlertNotifiersUsageStats(ctx context.Context, query *models.GetAlertNotifierUsageStatsQuery) error {
var rawSql = `SELECT COUNT(*) as count, type FROM alert_notification GROUP BY type`
query.Result = make([]*m.NotifierUsageStats, 0)
query.Result = make([]*models.NotifierUsageStats, 0)
err := x.SQL(rawSql).Find(&query.Result)
return err
}
func GetDataSourceStats(query *m.GetDataSourceStatsQuery) error {
func GetDataSourceStats(query *models.GetDataSourceStatsQuery) error {
var rawSql = `SELECT COUNT(*) as count, type FROM data_source GROUP BY type`
query.Result = make([]*m.DataSourceStats, 0)
query.Result = make([]*models.DataSourceStats, 0)
err := x.SQL(rawSql).Find(&query.Result)
return err
}
func GetDataSourceAccessStats(query *m.GetDataSourceAccessStatsQuery) error {
func GetDataSourceAccessStats(query *models.GetDataSourceAccessStatsQuery) error {
var rawSql = `SELECT COUNT(*) as count, type, access FROM data_source GROUP BY type, access`
query.Result = make([]*m.DataSourceAccessStats, 0)
query.Result = make([]*models.DataSourceAccessStats, 0)
err := x.SQL(rawSql).Find(&query.Result)
return err
}
func GetSystemStats(query *m.GetSystemStatsQuery) error {
func GetSystemStats(query *models.GetSystemStatsQuery) error {
sb := &SqlBuilder{}
sb.Write("SELECT ")
sb.Write(`(SELECT COUNT(*) FROM ` + dialect.Quote("user") + `) AS users,`)
@@ -81,7 +81,7 @@ func GetSystemStats(query *m.GetSystemStatsQuery) error {
sb.Write(roleCounterSQL("Editor", "editors")+`,`, activeUserDeadlineDate)
sb.Write(roleCounterSQL("Admin", "admins")+``, activeUserDeadlineDate)
var stats m.SystemStats
var stats models.SystemStats
_, err := x.SQL(sb.GetSqlString(), sb.params...).Get(&stats)
if err != nil {
return err
@@ -106,7 +106,7 @@ func roleCounterSQL(role, alias string) string {
) as active_` + alias
}
func GetAdminStats(query *m.GetAdminStatsQuery) error {
func GetAdminStats(query *models.GetAdminStatsQuery) error {
activeEndDate := time.Now().Add(-activeUserTimeLimit)
var rawSql = `SELECT
@@ -158,7 +158,7 @@ func GetAdminStats(query *m.GetAdminStatsQuery) error {
) as active_sessions
`
var stats m.AdminStats
var stats models.AdminStats
_, err := x.SQL(rawSql, activeEndDate, activeEndDate, activeEndDate, activeEndDate, activeEndDate.Unix()).Get(&stats)
if err != nil {
return err
@@ -168,11 +168,11 @@ func GetAdminStats(query *m.GetAdminStatsQuery) error {
return err
}
func GetSystemUserCountStats(ctx context.Context, query *m.GetSystemUserCountStatsQuery) error {
func GetSystemUserCountStats(ctx context.Context, query *models.GetSystemUserCountStatsQuery) error {
return withDbSession(ctx, func(sess *DBSession) error {
var rawSql = `SELECT COUNT(id) AS Count FROM ` + dialect.Quote("user")
var stats m.SystemUserCountStats
var stats models.SystemUserCountStats
_, err := sess.SQL(rawSql).Get(&stats)
if err != nil {
return err

View File

@@ -4,7 +4,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/models"
)
func init() {
@@ -15,7 +15,7 @@ func init() {
bus.AddHandler("sql", UpdateTempUserWithEmailSent)
}
func UpdateTempUserStatus(cmd *m.UpdateTempUserStatusCommand) error {
func UpdateTempUserStatus(cmd *models.UpdateTempUserStatusCommand) error {
return inTransaction(func(sess *DBSession) error {
var rawSql = "UPDATE temp_user SET status=? WHERE code=?"
_, err := sess.Exec(rawSql, string(cmd.Status), cmd.Code)
@@ -23,11 +23,11 @@ func UpdateTempUserStatus(cmd *m.UpdateTempUserStatusCommand) error {
})
}
func CreateTempUser(cmd *m.CreateTempUserCommand) error {
func CreateTempUser(cmd *models.CreateTempUserCommand) error {
return inTransaction(func(sess *DBSession) error {
// create user
user := &m.TempUser{
user := &models.TempUser{
Email: cmd.Email,
Name: cmd.Name,
OrgId: cmd.OrgId,
@@ -50,9 +50,9 @@ func CreateTempUser(cmd *m.CreateTempUserCommand) error {
})
}
func UpdateTempUserWithEmailSent(cmd *m.UpdateTempUserWithEmailSentCommand) error {
func UpdateTempUserWithEmailSent(cmd *models.UpdateTempUserWithEmailSentCommand) error {
return inTransaction(func(sess *DBSession) error {
user := &m.TempUser{
user := &models.TempUser{
EmailSent: true,
EmailSentOn: time.Now(),
}
@@ -63,7 +63,7 @@ func UpdateTempUserWithEmailSent(cmd *m.UpdateTempUserWithEmailSentCommand) erro
})
}
func GetTempUsersQuery(query *m.GetTempUsersQuery) error {
func GetTempUsersQuery(query *models.GetTempUsersQuery) error {
rawSql := `SELECT
tu.id as id,
tu.org_id as org_id,
@@ -95,13 +95,13 @@ func GetTempUsersQuery(query *m.GetTempUsersQuery) error {
rawSql += " ORDER BY tu.created desc"
query.Result = make([]*m.TempUserDTO, 0)
query.Result = make([]*models.TempUserDTO, 0)
sess := x.SQL(rawSql, params...)
err := sess.Find(&query.Result)
return err
}
func GetTempUserByCode(query *m.GetTempUserByCodeQuery) error {
func GetTempUserByCode(query *models.GetTempUserByCodeQuery) error {
var rawSql = `SELECT
tu.id as id,
tu.org_id as org_id,
@@ -120,14 +120,14 @@ func GetTempUserByCode(query *m.GetTempUserByCodeQuery) error {
LEFT OUTER JOIN ` + dialect.Quote("user") + ` as u on u.id = tu.invited_by_user_id
WHERE tu.code=?`
var tempUser m.TempUserDTO
var tempUser models.TempUserDTO
sess := x.SQL(rawSql, query.Code)
has, err := sess.Get(&tempUser)
if err != nil {
return err
} else if !has {
return m.ErrTempUserNotFound
return models.ErrTempUserNotFound
}
query.Result = &tempUser

View File

@@ -3,9 +3,8 @@ package sqlstore
import (
"testing"
"github.com/grafana/grafana/pkg/models"
. "github.com/smartystreets/goconvey/convey"
m "github.com/grafana/grafana/pkg/models"
)
func TestTempUserCommandsAndQueries(t *testing.T) {
@@ -14,18 +13,18 @@ func TestTempUserCommandsAndQueries(t *testing.T) {
InitTestDB(t)
Convey("Given saved api key", func() {
cmd := m.CreateTempUserCommand{
cmd := models.CreateTempUserCommand{
OrgId: 2256,
Name: "hello",
Code: "asd",
Email: "e@as.co",
Status: m.TmpUserInvitePending,
Status: models.TmpUserInvitePending,
}
err := CreateTempUser(&cmd)
So(err, ShouldBeNil)
Convey("Should be able to get temp users by org id", func() {
query := m.GetTempUsersQuery{OrgId: 2256, Status: m.TmpUserInvitePending}
query := models.GetTempUsersQuery{OrgId: 2256, Status: models.TmpUserInvitePending}
err = GetTempUsersQuery(&query)
So(err, ShouldBeNil)
@@ -33,7 +32,7 @@ func TestTempUserCommandsAndQueries(t *testing.T) {
})
Convey("Should be able to get temp users by email", func() {
query := m.GetTempUsersQuery{Email: "e@as.co", Status: m.TmpUserInvitePending}
query := models.GetTempUsersQuery{Email: "e@as.co", Status: models.TmpUserInvitePending}
err = GetTempUsersQuery(&query)
So(err, ShouldBeNil)
@@ -41,7 +40,7 @@ func TestTempUserCommandsAndQueries(t *testing.T) {
})
Convey("Should be able to get temp users by code", func() {
query := m.GetTempUserByCodeQuery{Code: "asd"}
query := models.GetTempUserByCodeQuery{Code: "asd"}
err = GetTempUserByCode(&query)
So(err, ShouldBeNil)
@@ -49,24 +48,23 @@ func TestTempUserCommandsAndQueries(t *testing.T) {
})
Convey("Should be able update status", func() {
cmd2 := m.UpdateTempUserStatusCommand{Code: "asd", Status: m.TmpUserRevoked}
cmd2 := models.UpdateTempUserStatusCommand{Code: "asd", Status: models.TmpUserRevoked}
err := UpdateTempUserStatus(&cmd2)
So(err, ShouldBeNil)
})
Convey("Should be able update email sent and email sent on", func() {
cmd3 := m.UpdateTempUserWithEmailSentCommand{Code: cmd.Result.Code}
cmd3 := models.UpdateTempUserWithEmailSentCommand{Code: cmd.Result.Code}
err := UpdateTempUserWithEmailSent(&cmd3)
So(err, ShouldBeNil)
query := m.GetTempUsersQuery{OrgId: 2256, Status: m.TmpUserInvitePending}
query := models.GetTempUsersQuery{OrgId: 2256, Status: models.TmpUserInvitePending}
err = GetTempUsersQuery(&query)
So(err, ShouldBeNil)
So(query.Result[0].EmailSent, ShouldBeTrue)
So(query.Result[0].EmailSentOn, ShouldHappenOnOrAfter, (query.Result[0].Created))
})
})
})
}

View File

@@ -6,10 +6,9 @@ import (
"testing"
"time"
"github.com/grafana/grafana/pkg/models"
. "github.com/smartystreets/goconvey/convey"
"golang.org/x/oauth2"
m "github.com/grafana/grafana/pkg/models"
)
//nolint:goconst
@@ -18,9 +17,9 @@ func TestUserAuth(t *testing.T) {
Convey("Given 5 users", t, func() {
var err error
var cmd *m.CreateUserCommand
var cmd *models.CreateUserCommand
for i := 0; i < 5; i++ {
cmd = &m.CreateUserCommand{
cmd = &models.CreateUserCommand{
Email: fmt.Sprint("user", i, "@test.com"),
Name: fmt.Sprint("user", i),
Login: fmt.Sprint("loginuser", i),
@@ -44,7 +43,7 @@ func TestUserAuth(t *testing.T) {
// By Login
login := "loginuser0"
query := &m.GetUserByAuthInfoQuery{Login: login}
query := &models.GetUserByAuthInfoQuery{Login: login}
err = GetUserByAuthInfo(query)
So(err, ShouldBeNil)
@@ -53,7 +52,7 @@ func TestUserAuth(t *testing.T) {
// By ID
id := query.Result.Id
query = &m.GetUserByAuthInfoQuery{UserId: id}
query = &models.GetUserByAuthInfoQuery{UserId: id}
err = GetUserByAuthInfo(query)
So(err, ShouldBeNil)
@@ -62,7 +61,7 @@ func TestUserAuth(t *testing.T) {
// By Email
email := "user1@test.com"
query = &m.GetUserByAuthInfoQuery{Email: email}
query = &models.GetUserByAuthInfoQuery{Email: email}
err = GetUserByAuthInfo(query)
So(err, ShouldBeNil)
@@ -71,19 +70,19 @@ func TestUserAuth(t *testing.T) {
// Don't find nonexistent user
email = "nonexistent@test.com"
query = &m.GetUserByAuthInfoQuery{Email: email}
query = &models.GetUserByAuthInfoQuery{Email: email}
err = GetUserByAuthInfo(query)
So(err, ShouldEqual, m.ErrUserNotFound)
So(err, ShouldEqual, models.ErrUserNotFound)
So(query.Result, ShouldBeNil)
})
Convey("Can set & locate by AuthModule and AuthId", func() {
// get nonexistent user_auth entry
query := &m.GetUserByAuthInfoQuery{AuthModule: "test", AuthId: "test"}
query := &models.GetUserByAuthInfoQuery{AuthModule: "test", AuthId: "test"}
err = GetUserByAuthInfo(query)
So(err, ShouldEqual, m.ErrUserNotFound)
So(err, ShouldEqual, models.ErrUserNotFound)
So(query.Result, ShouldBeNil)
// create user_auth entry
@@ -96,7 +95,7 @@ func TestUserAuth(t *testing.T) {
So(query.Result.Login, ShouldEqual, login)
// get via user_auth
query = &m.GetUserByAuthInfoQuery{AuthModule: "test", AuthId: "test"}
query = &models.GetUserByAuthInfoQuery{AuthModule: "test", AuthId: "test"}
err = GetUserByAuthInfo(query)
So(err, ShouldBeNil)
@@ -112,7 +111,7 @@ func TestUserAuth(t *testing.T) {
So(query.Result.Login, ShouldEqual, "loginuser1")
// get via user_auth
query = &m.GetUserByAuthInfoQuery{AuthModule: "test", AuthId: "test"}
query = &models.GetUserByAuthInfoQuery{AuthModule: "test", AuthId: "test"}
err = GetUserByAuthInfo(query)
So(err, ShouldBeNil)
@@ -123,10 +122,10 @@ func TestUserAuth(t *testing.T) {
So(err, ShouldBeNil)
// get via user_auth for deleted user
query = &m.GetUserByAuthInfoQuery{AuthModule: "test", AuthId: "test"}
query = &models.GetUserByAuthInfoQuery{AuthModule: "test", AuthId: "test"}
err = GetUserByAuthInfo(query)
So(err, ShouldEqual, m.ErrUserNotFound)
So(err, ShouldEqual, models.ErrUserNotFound)
So(query.Result, ShouldBeNil)
})
@@ -142,13 +141,13 @@ func TestUserAuth(t *testing.T) {
login := "loginuser0"
// Calling GetUserByAuthInfoQuery on an existing user will populate an entry in the user_auth table
query := &m.GetUserByAuthInfoQuery{Login: login, AuthModule: "test", AuthId: "test"}
query := &models.GetUserByAuthInfoQuery{Login: login, AuthModule: "test", AuthId: "test"}
err = GetUserByAuthInfo(query)
So(err, ShouldBeNil)
So(query.Result.Login, ShouldEqual, login)
cmd := &m.UpdateAuthInfoCommand{
cmd := &models.UpdateAuthInfoCommand{
UserId: query.Result.Id,
AuthId: query.AuthId,
AuthModule: query.AuthModule,
@@ -158,7 +157,7 @@ func TestUserAuth(t *testing.T) {
So(err, ShouldBeNil)
getAuthQuery := &m.GetAuthInfoQuery{
getAuthQuery := &models.GetAuthInfoQuery{
UserId: query.Result.Id,
}
@@ -178,7 +177,7 @@ func TestUserAuth(t *testing.T) {
// Calling GetUserByAuthInfoQuery on an existing user will populate an entry in the user_auth table
// Make the first log-in during the past
getTime = func() time.Time { return time.Now().AddDate(0, 0, -2) }
query := &m.GetUserByAuthInfoQuery{Login: login, AuthModule: "test1", AuthId: "test1"}
query := &models.GetUserByAuthInfoQuery{Login: login, AuthModule: "test1", AuthId: "test1"}
err = GetUserByAuthInfo(query)
getTime = time.Now
@@ -188,7 +187,7 @@ func TestUserAuth(t *testing.T) {
// Add a second auth module for this user
// Have this module's last log-in be more recent
getTime = func() time.Time { return time.Now().AddDate(0, 0, -1) }
query = &m.GetUserByAuthInfoQuery{Login: login, AuthModule: "test2", AuthId: "test2"}
query = &models.GetUserByAuthInfoQuery{Login: login, AuthModule: "test2", AuthId: "test2"}
err = GetUserByAuthInfo(query)
getTime = time.Now
@@ -196,7 +195,7 @@ func TestUserAuth(t *testing.T) {
So(query.Result.Login, ShouldEqual, login)
// Get the latest entry by not supply an authmodule or authid
getAuthQuery := &m.GetAuthInfoQuery{
getAuthQuery := &models.GetAuthInfoQuery{
UserId: query.Result.Id,
}
@@ -206,13 +205,13 @@ func TestUserAuth(t *testing.T) {
So(getAuthQuery.Result.AuthModule, ShouldEqual, "test2")
// "log in" again with the first auth module
updateAuthCmd := &m.UpdateAuthInfoCommand{UserId: query.Result.Id, AuthModule: "test1", AuthId: "test1"}
updateAuthCmd := &models.UpdateAuthInfoCommand{UserId: query.Result.Id, AuthModule: "test1", AuthId: "test1"}
err = UpdateAuthInfo(updateAuthCmd)
So(err, ShouldBeNil)
// Get the latest entry by not supply an authmodule or authid
getAuthQuery = &m.GetAuthInfoQuery{
getAuthQuery = &models.GetAuthInfoQuery{
UserId: query.Result.Id,
}