| 
									
										
										
										
											2015-02-02 18:32:32 +08:00
										 |  |  | package api | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							| 
									
										
										
										
											2015-02-05 17:37:13 +08:00
										 |  |  | 	"github.com/grafana/grafana/pkg/bus" | 
					
						
							|  |  |  | 	"github.com/grafana/grafana/pkg/middleware" | 
					
						
							|  |  |  | 	m "github.com/grafana/grafana/pkg/models" | 
					
						
							| 
									
										
										
										
											2015-02-02 18:32:32 +08:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-20 20:59:38 +08:00
										 |  |  | func StarDashboard(c *middleware.Context) Response { | 
					
						
							| 
									
										
										
										
											2015-05-13 15:58:45 +08:00
										 |  |  | 	if !c.IsSignedIn { | 
					
						
							| 
									
										
										
										
											2015-05-20 20:59:38 +08:00
										 |  |  | 		return ApiError(412, "You need to sign in to star dashboards", nil) | 
					
						
							| 
									
										
										
										
											2015-05-13 15:58:45 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-20 20:59:38 +08:00
										 |  |  | 	cmd := m.StarDashboardCommand{UserId: c.UserId, DashboardId: c.ParamsInt64(":id")} | 
					
						
							| 
									
										
										
										
											2015-02-02 18:32:32 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	if cmd.DashboardId <= 0 { | 
					
						
							| 
									
										
										
										
											2015-05-20 20:59:38 +08:00
										 |  |  | 		return ApiError(400, "Missing dashboard id", nil) | 
					
						
							| 
									
										
										
										
											2015-02-02 18:32:32 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if err := bus.Dispatch(&cmd); err != nil { | 
					
						
							| 
									
										
										
										
											2015-05-20 20:59:38 +08:00
										 |  |  | 		return ApiError(500, "Failed to star dashboard", err) | 
					
						
							| 
									
										
										
										
											2015-02-02 18:32:32 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-20 20:59:38 +08:00
										 |  |  | 	return ApiSuccess("Dashboard starred!") | 
					
						
							| 
									
										
										
										
											2015-02-02 18:32:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-20 20:59:38 +08:00
										 |  |  | func UnstarDashboard(c *middleware.Context) Response { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	cmd := m.UnstarDashboardCommand{UserId: c.UserId, DashboardId: c.ParamsInt64(":id")} | 
					
						
							| 
									
										
										
										
											2015-02-02 18:32:32 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	if cmd.DashboardId <= 0 { | 
					
						
							| 
									
										
										
										
											2015-05-20 20:59:38 +08:00
										 |  |  | 		return ApiError(400, "Missing dashboard id", nil) | 
					
						
							| 
									
										
										
										
											2015-02-02 18:32:32 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if err := bus.Dispatch(&cmd); err != nil { | 
					
						
							| 
									
										
										
										
											2015-05-20 20:59:38 +08:00
										 |  |  | 		return ApiError(500, "Failed to unstar dashboard", err) | 
					
						
							| 
									
										
										
										
											2015-02-02 18:32:32 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-20 20:59:38 +08:00
										 |  |  | 	return ApiSuccess("Dashboard unstarred") | 
					
						
							| 
									
										
										
										
											2015-02-02 18:32:32 +08:00
										 |  |  | } |