Removed unwanted api, moved logic into backend

This commit is contained in:
utkarshcmu 2016-03-17 02:29:34 -07:00
parent 4fbe954a79
commit cb42cfc6af
3 changed files with 30 additions and 29 deletions

View File

@ -200,7 +200,6 @@ func Register(r *macaron.Macaron) {
r.Get("/home", GetHomeDashboard)
r.Get("/tags", GetDashboardTags)
r.Post("/import", bind(dtos.ImportDashboardCommand{}), wrap(ImportDashboard))
r.Get("/id/:id", GetDashboardSlugById)
})
// Dashboard snapshots

View File

@ -159,6 +159,28 @@ func canEditDashboard(role m.RoleType) bool {
}
func GetHomeDashboard(c *middleware.Context) {
// Checking if there is any preference set for home dashboard
query := m.GetPreferencesQuery{UserId: c.UserId, OrgId: c.OrgId}
if err := bus.Dispatch(&query); err != nil {
c.JsonApiErr(500, "Failed to get preferences", err)
}
if query.Result.HomeDashboardId != 0 {
query := m.GetDashboardSlugByIdQuery{Id: query.Result.HomeDashboardId}
err := bus.Dispatch(&query)
if err != nil {
c.JsonApiErr(500, "Failed to get slug from database", err)
return
}
slug := dtos.DashboardSlug{Slug: query.Result}
c.JSON(200, &slug)
return
}
filePath := path.Join(setting.StaticRootPath, "dashboards/home.json")
file, err := os.Open(filePath)
if err != nil {
@ -204,17 +226,3 @@ func GetDashboardTags(c *middleware.Context) {
c.JSON(200, query.Result)
}
func GetDashboardSlugById(c *middleware.Context) {
dashId := c.ParamsInt64(":id")
query := m.GetDashboardSlugByIdQuery{Id: dashId}
err := bus.Dispatch(&query)
if err != nil {
c.JsonApiErr(500, "Failed to get slug from database", err)
return
}
slug := dtos.DashboardSlug{Slug: query.Result}
c.JSON(200, &slug)
}

View File

@ -7,25 +7,19 @@ function (coreModule) {
coreModule.default.controller('LoadDashboardCtrl', function($scope, $routeParams, dashboardLoaderSrv, backendSrv) {
if (!$routeParams.slug) {
backendSrv.get('/api/preferences').then(function(preferences) {
if (preferences !== null && preferences.homeDashboardId !== 0) {
backendSrv.get('/api/dashboards/id/' + preferences.homeDashboardId).then(function(dashSlug) {
$routeParams.type = 'db';
$routeParams.slug = dashSlug.slug;
dashboardLoaderSrv.loadDashboard($routeParams.type, $routeParams.slug).then(function(result) {
$scope.initDashboard(result, $scope);
});
});
backendSrv.get('/api/dashboards/home').then(function(result) {
if (result.slug == null) {
var meta = result.meta;
meta.canSave = meta.canShare = meta.canStar = false;
$scope.initDashboard(result, $scope);
} else {
backendSrv.get('/api/dashboards/home').then(function(result) {
var meta = result.meta;
meta.canSave = meta.canShare = meta.canStar = false;
$routeParams.type = 'db';
$routeParams.slug = result.slug;
dashboardLoaderSrv.loadDashboard($routeParams.type, $routeParams.slug).then(function(result) {
$scope.initDashboard(result, $scope);
});
}
});
return;
}