mirror of https://github.com/grafana/grafana
parent
e02e60171e
commit
1d6413bfae
@ -1 +1 @@ |
|||||||
Subproject commit 9d0982f2f7552a08053b66d4b17ee0f583e8339e |
Subproject commit 3b5c813be71c4816f3c2ef40e4c1439a8026236f |
@ -0,0 +1,35 @@ |
|||||||
|
package api |
||||||
|
|
||||||
|
import ( |
||||||
|
"github.com/torkelo/grafana-pro/pkg/bus" |
||||||
|
"github.com/torkelo/grafana-pro/pkg/middleware" |
||||||
|
m "github.com/torkelo/grafana-pro/pkg/models" |
||||||
|
) |
||||||
|
|
||||||
|
func AddAsFavorite(c *middleware.Context) { |
||||||
|
var cmd = m.AddAsFavoriteCommand{ |
||||||
|
UserId: c.UserId, |
||||||
|
DashboardId: c.ParamsInt64(":id"), |
||||||
|
} |
||||||
|
|
||||||
|
if err := bus.Dispatch(&cmd); err != nil { |
||||||
|
c.JsonApiErr(500, "Failed to add favorite", err) |
||||||
|
return |
||||||
|
} |
||||||
|
|
||||||
|
c.JsonOK("Dashboard marked as favorite") |
||||||
|
} |
||||||
|
|
||||||
|
func RemoveAsFavorite(c *middleware.Context) { |
||||||
|
var cmd = m.RemoveAsFavoriteCommand{ |
||||||
|
UserId: c.UserId, |
||||||
|
DashboardId: c.ParamsInt64(":id"), |
||||||
|
} |
||||||
|
|
||||||
|
if err := bus.Dispatch(&cmd); err != nil { |
||||||
|
c.JsonApiErr(500, "Failed to remove favorite", err) |
||||||
|
return |
||||||
|
} |
||||||
|
|
||||||
|
c.JsonOK("Favorite removed") |
||||||
|
} |
@ -0,0 +1,55 @@ |
|||||||
|
package api |
||||||
|
|
||||||
|
import ( |
||||||
|
"github.com/torkelo/grafana-pro/pkg/api/dtos" |
||||||
|
"github.com/torkelo/grafana-pro/pkg/middleware" |
||||||
|
"github.com/torkelo/grafana-pro/pkg/setting" |
||||||
|
) |
||||||
|
|
||||||
|
func setIndexViewData(c *middleware.Context) error { |
||||||
|
settings, err := getFrontendSettings(c) |
||||||
|
if err != nil { |
||||||
|
return err |
||||||
|
} |
||||||
|
|
||||||
|
currentUser := &dtos.CurrentUser{ |
||||||
|
IsSignedIn: c.IsSignedIn, |
||||||
|
Login: c.Login, |
||||||
|
Email: c.Email, |
||||||
|
Name: c.Name, |
||||||
|
AccountName: c.AccountName, |
||||||
|
AccountRole: c.AccountRole, |
||||||
|
GravatarUrl: dtos.GetGravatarUrl(c.Email), |
||||||
|
IsGrafanaAdmin: c.IsGrafanaAdmin, |
||||||
|
} |
||||||
|
|
||||||
|
c.Data["User"] = currentUser |
||||||
|
c.Data["Settings"] = settings |
||||||
|
c.Data["AppUrl"] = setting.AppUrl |
||||||
|
c.Data["AppSubUrl"] = setting.AppSubUrl |
||||||
|
|
||||||
|
return nil |
||||||
|
} |
||||||
|
|
||||||
|
func Index(c *middleware.Context) { |
||||||
|
if err := setIndexViewData(c); err != nil { |
||||||
|
c.Handle(500, "Failed to get settings", err) |
||||||
|
return |
||||||
|
} |
||||||
|
|
||||||
|
c.HTML(200, "index") |
||||||
|
} |
||||||
|
|
||||||
|
func NotFound(c *middleware.Context) { |
||||||
|
if c.IsApiRequest() { |
||||||
|
c.JsonApiErr(200, "Not found", nil) |
||||||
|
return |
||||||
|
} |
||||||
|
|
||||||
|
if err := setIndexViewData(c); err != nil { |
||||||
|
c.Handle(500, "Failed to get settings", err) |
||||||
|
return |
||||||
|
} |
||||||
|
|
||||||
|
c.HTML(404, "index") |
||||||
|
} |
@ -0,0 +1,6 @@ |
|||||||
|
package middleware |
||||||
|
|
||||||
|
const ( |
||||||
|
SESS_KEY_USERID = "uid" |
||||||
|
SESS_KEY_FAVORITES = "favorites" |
||||||
|
) |
Loading…
Reference in new issue