From 47070f2d1f5fae7937c6a6983fff94b62b7c7311 Mon Sep 17 00:00:00 2001 From: bergquist Date: Wed, 4 May 2016 14:58:00 +0200 Subject: [PATCH] chore(alerting): struct names and url refactoring --- pkg/api/alerting.go | 14 +++++--------- pkg/api/api.go | 16 +++++++++++----- pkg/models/alerts_state.go | 6 +++--- pkg/services/sqlstore/alert_state.go | 6 +++--- pkg/services/sqlstore/alert_state_test.go | 2 +- pkg/services/sqlstore/migrations/alert_mig.go | 2 +- public/app/features/alerts/alert_log_ctrl.ts | 4 ++-- public/app/features/alerts/alerts_ctrl.ts | 2 +- 8 files changed, 27 insertions(+), 25 deletions(-) diff --git a/pkg/api/alerting.go b/pkg/api/alerting.go index 15173f2ae13..63757041f5d 100644 --- a/pkg/api/alerting.go +++ b/pkg/api/alerting.go @@ -30,7 +30,7 @@ func GetAlertChanges(c *middleware.Context) Response { limit := c.QueryInt64("limit") if limit == 0 { - limit = 10 + limit = 50 } query.Limit = limit @@ -125,10 +125,10 @@ func DelAlert(c *middleware.Context) Response { } // GET /api/alerts/events/:id -func GetAlertState(c *middleware.Context) Response { +func GetAlertStates(c *middleware.Context) Response { alertId := c.ParamsInt64(":alertId") - query := models.GetAlertsStateLogCommand{ + query := models.GetAlertsStateCommand{ AlertId: alertId, } @@ -141,13 +141,9 @@ func GetAlertState(c *middleware.Context) Response { // PUT /api/alerts/events/:id func PutAlertState(c *middleware.Context, cmd models.UpdateAlertStateCommand) Response { - alertId := c.ParamsInt64(":alertId") + cmd.AlertId = c.ParamsInt64(":alertId") - if alertId != cmd.AlertId { - return ApiError(401, "Bad Request", nil) - } - - query := models.GetAlertByIdQuery{Id: alertId} + query := models.GetAlertByIdQuery{Id: cmd.AlertId} if err := bus.Dispatch(&query); err != nil { return ApiError(500, "Failed to get alertstate", err) } diff --git a/pkg/api/api.go b/pkg/api/api.go index 5d169354a80..3d216fd7587 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -239,11 +239,17 @@ func Register(r *macaron.Macaron) { r.Get("/metrics/test", GetTestMetrics) r.Group("/alerts", func() { - r.Get("/:alertId/states", wrap(GetAlertState)) - r.Put("/:alertId/state", bind(m.UpdateAlertStateCommand{}), wrap(PutAlertState)) - r.Get("/:alertId", ValidateOrgAlert, wrap(GetAlert)) - r.Get("/", wrap(GetAlerts)) - r.Delete("/:alertId", ValidateOrgAlert, wrap(DelAlert)) + r.Group("/rules", func() { + r.Get("/:alertId/states", wrap(GetAlertStates)) + + r.Put("/:alertId/state", bind(m.UpdateAlertStateCommand{}), wrap(PutAlertState)) + + r.Get("/:alertId", ValidateOrgAlert, wrap(GetAlert)) + r.Delete("/:alertId", ValidateOrgAlert, wrap(DelAlert)) + r.Get("/", wrap(GetAlerts)) + }) + + r.Get("/changes", wrap(GetAlertChanges)) }) r.Get("/alert-changes", wrap(GetAlertChanges)) diff --git a/pkg/models/alerts_state.go b/pkg/models/alerts_state.go index 1bcf82f4e5c..278995af846 100644 --- a/pkg/models/alerts_state.go +++ b/pkg/models/alerts_state.go @@ -4,7 +4,7 @@ import ( "time" ) -type AlertStateLog struct { +type AlertState struct { Id int64 `json:"-"` OrgId int64 `json:"-"` AlertId int64 `json:"alertId"` @@ -36,9 +36,9 @@ type UpdateAlertStateCommand struct { // Queries -type GetAlertsStateLogCommand struct { +type GetAlertsStateCommand struct { OrgId int64 `json:"orgId" binding:"Required"` AlertId int64 `json:"alertId" binding:"Required"` - Result *[]AlertStateLog + Result *[]AlertState } diff --git a/pkg/services/sqlstore/alert_state.go b/pkg/services/sqlstore/alert_state.go index 86544d04fd5..768033c145b 100644 --- a/pkg/services/sqlstore/alert_state.go +++ b/pkg/services/sqlstore/alert_state.go @@ -32,7 +32,7 @@ func SetNewAlertState(cmd *m.UpdateAlertStateCommand) error { alert.State = cmd.NewState sess.Id(alert.Id).Update(&alert) - log := m.AlertStateLog{ + log := m.AlertState{ AlertId: cmd.AlertId, OrgId: cmd.AlertId, NewState: cmd.NewState, @@ -47,8 +47,8 @@ func SetNewAlertState(cmd *m.UpdateAlertStateCommand) error { }) } -func GetAlertStateLogByAlertId(cmd *m.GetAlertsStateLogCommand) error { - alertLogs := make([]m.AlertStateLog, 0) +func GetAlertStateLogByAlertId(cmd *m.GetAlertsStateCommand) error { + alertLogs := make([]m.AlertState, 0) if err := x.Where("alert_id = ?", cmd.AlertId).Desc("created").Find(&alertLogs); err != nil { return err diff --git a/pkg/services/sqlstore/alert_state_test.go b/pkg/services/sqlstore/alert_state_test.go index aba95ee100e..3d723380be8 100644 --- a/pkg/services/sqlstore/alert_state_test.go +++ b/pkg/services/sqlstore/alert_state_test.go @@ -82,7 +82,7 @@ func TestAlertingStateAccess(t *testing.T) { }) Convey("should have two event state logs", func() { - query := &m.GetAlertsStateLogCommand{ + query := &m.GetAlertsStateCommand{ AlertId: 1, OrgId: 1, } diff --git a/pkg/services/sqlstore/migrations/alert_mig.go b/pkg/services/sqlstore/migrations/alert_mig.go index 97f3d533331..d4a2e37411d 100644 --- a/pkg/services/sqlstore/migrations/alert_mig.go +++ b/pkg/services/sqlstore/migrations/alert_mig.go @@ -42,7 +42,7 @@ func addAlertMigrations(mg *Migrator) { mg.AddMigration("create alert_rules_updates table v1", NewAddTableMigration(alert_changes)) alert_state_log := Table{ - Name: "alert_state_log", + Name: "alert_state", Columns: []*Column{ {Name: "id", Type: DB_BigInt, IsPrimaryKey: true, IsAutoIncrement: true}, {Name: "alert_id", Type: DB_BigInt, Nullable: false}, diff --git a/public/app/features/alerts/alert_log_ctrl.ts b/public/app/features/alerts/alert_log_ctrl.ts index 48bb2f74192..9452d24c551 100644 --- a/public/app/features/alerts/alert_log_ctrl.ts +++ b/public/app/features/alerts/alert_log_ctrl.ts @@ -22,7 +22,7 @@ export class AlertLogCtrl { } loadAlertLogs() { - this.backendSrv.get(`/api/alerts/${this.alertId}/states/`).then(result => { + this.backendSrv.get(`/api/alerts/rules/${this.alertId}/states`).then(result => { this.alertLogs = _.map(result, log => { log.iconCss = alertDef.getCssForState(log.newState); log.humanTime = moment(log.created).format("YYYY-MM-DD HH:mm:ss"); @@ -30,7 +30,7 @@ export class AlertLogCtrl { }); }); - this.backendSrv.get(`api/alerts/${this.alertId}`).then(result => { + this.backendSrv.get(`/api/alerts/rules/${this.alertId}`).then(result => { this.alert = result; }); } diff --git a/public/app/features/alerts/alerts_ctrl.ts b/public/app/features/alerts/alerts_ctrl.ts index dc89746f370..255b9efc31e 100644 --- a/public/app/features/alerts/alerts_ctrl.ts +++ b/public/app/features/alerts/alerts_ctrl.ts @@ -16,7 +16,7 @@ export class AlertPageCtrl { } loadAlerts() { - this.backendSrv.get('/api/alerts').then(result => { + this.backendSrv.get('/api/alerts/rules').then(result => { this.alerts = _.map(result, alert => { alert.iconCss = alertDef.getCssForState(alert.state); return alert;