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