Browse Source

Api stores dashboard creator

utkarshcmu 10 years ago
parent
commit
6a1192172d
1 changed files with 23 additions and 15 deletions
  1. 23 15
      pkg/api/dashboard.go

+ 23 - 15
pkg/api/dashboard.go

@@ -49,18 +49,14 @@ func GetDashboard(c *middleware.Context) {
 
 	dash := query.Result
 
-	// Finding the last updater of the dashboard
-	updater := "Anonymous"
-	if dash.UpdatedBy != 0 {
-		userQuery := m.GetUserByIdQuery{Id: dash.UpdatedBy}
-		userErr := bus.Dispatch(&userQuery)
-		if userErr != nil {
-			updater = "Unknown"
-		} else {
-			user := userQuery.Result
-			updater = user.Login
-		}
-	}
+	// Finding the last creator and updater of the dashboard
+	updater, creator := "Anonymous", "Anonymous"
+	if dash.UpdatedBy > 0 {
+	  updater = getUserLogin(dash.UpdatedBy)
+  }
+  if dash.CreatedBy > 0 {
+    creator = getUserLogin(dash.CreatedBy)
+  }
 
 	dto := dtos.DashboardFullWithMeta{
 		Dashboard: dash.Data,
@@ -74,12 +70,24 @@ func GetDashboard(c *middleware.Context) {
 			Created:   dash.Created,
 			Updated:   dash.Updated,
 			UpdatedBy: updater,
+      CreatedBy: creator,
 		},
 	}
 
 	c.JSON(200, dto)
 }
 
+func getUserLogin(userId int64) string {
+  query := m.GetUserByIdQuery{Id: userId}
+  err := bus.Dispatch(&query)
+    if err != nil {
+      return "Anonymous"
+    } else {
+      user := query.Result
+      return user.Login
+    }
+}
+
 func DeleteDashboard(c *middleware.Context) {
 	slug := c.Params(":slug")
 
@@ -104,10 +112,10 @@ func PostDashboard(c *middleware.Context, cmd m.SaveDashboardCommand) {
 	cmd.OrgId = c.OrgId
 
 	if !c.IsSignedIn {
-		cmd.UpdatedBy = 0
+		cmd.UserId = -1
 	} else {
-		cmd.UpdatedBy = c.UserId
-	}
+    cmd.UserId = c.UserId
+  }
 
 	dash := cmd.GetDashboardModel()
 	if dash.Id == 0 {