@ -22,7 +22,7 @@ import (
// DashboardService is a service for operating on dashboards.
type DashboardService interface {
SaveDashboard ( ctx context . Context , dto * SaveDashboardDTO , allowUiUpdate bool ) ( * models . Dashboard , error )
ImportDashboard ( dto * SaveDashboardDTO ) ( * models . Dashboard , error )
ImportDashboard ( ctx context . Context , dto * SaveDashboardDTO ) ( * models . Dashboard , error )
DeleteDashboard ( dashboardId int64 , orgId int64 ) error
MakeUserAdmin ( ctx context . Context , orgID int64 , userID , dashboardID int64 , setViewAndEditPermissions bool ) error
}
@ -81,7 +81,7 @@ func (dr *dashboardServiceImpl) GetProvisionedDashboardDataByDashboardID(dashboa
return GetProvisionedData ( dr . dashboardStore , dashboardID )
}
func ( dr * dashboardServiceImpl ) buildSaveDashboardCommand ( dto * SaveDashboardDTO , shouldValidateAlerts bool ,
func ( dr * dashboardServiceImpl ) buildSaveDashboardCommand ( ctx context . Context , dto * SaveDashboardDTO , shouldValidateAlerts bool ,
validateProvisionedDashboard bool ) ( * models . SaveDashboardCommand , error ) {
dash := dto . Dashboard
@ -113,7 +113,7 @@ func (dr *dashboardServiceImpl) buildSaveDashboardCommand(dto *SaveDashboardDTO,
}
if shouldValidateAlerts {
if err := validateAlerts ( dash , dto . User ) ; err != nil {
if err := validateAlerts ( ctx , dash , dto . User ) ; err != nil {
return nil , err
}
}
@ -170,9 +170,9 @@ func (dr *dashboardServiceImpl) buildSaveDashboardCommand(dto *SaveDashboardDTO,
return cmd , nil
}
var validateAlerts = func ( dash * models . Dashboard , user * models . SignedInUser ) error {
var validateAlerts = func ( ctx context . Context , dash * models . Dashboard , user * models . SignedInUser ) error {
extractor := alerting . NewDashAlertExtractor ( dash , dash . OrgId , user )
return extractor . ValidateAlerts ( )
return extractor . ValidateAlerts ( ctx )
}
func validateDashboardRefreshInterval ( dash * models . Dashboard ) error {
@ -207,7 +207,7 @@ func validateDashboardRefreshInterval(dash *models.Dashboard) error {
// Stubbable by tests.
var UpdateAlerting = func ( ctx context . Context , store dashboards . Store , orgID int64 , dashboard * models . Dashboard , user * models . SignedInUser ) error {
extractor := alerting . NewDashAlertExtractor ( dashboard , orgID , user )
alerts , err := extractor . GetAlerts ( )
alerts , err := extractor . GetAlerts ( ctx )
if err != nil {
return err
}
@ -229,7 +229,7 @@ func (dr *dashboardServiceImpl) SaveProvisionedDashboard(ctx context.Context, dt
OrgId : dto . OrgId ,
}
cmd , err := dr . buildSaveDashboardCommand ( dto , true , false )
cmd , err := dr . buildSaveDashboardCommand ( ctx , dto , true , false )
if err != nil {
return nil , err
}
@ -253,7 +253,7 @@ func (dr *dashboardServiceImpl) SaveFolderForProvisionedDashboards(ctx context.C
UserId : 0 ,
OrgRole : models . ROLE_ADMIN ,
}
cmd , err := dr . buildSaveDashboardCommand ( dto , false , false )
cmd , err := dr . buildSaveDashboardCommand ( ctx , dto , false , false )
if err != nil {
return nil , err
}
@ -279,7 +279,7 @@ func (dr *dashboardServiceImpl) SaveDashboard(ctx context.Context, dto *SaveDash
dto . Dashboard . Data . Set ( "refresh" , setting . MinRefreshInterval )
}
cmd , err := dr . buildSaveDashboardCommand ( dto , true , ! allowUiUpdate )
cmd , err := dr . buildSaveDashboardCommand ( ctx , dto , true , ! allowUiUpdate )
if err != nil {
return nil , err
}
@ -322,7 +322,7 @@ func (dr *dashboardServiceImpl) deleteDashboard(dashboardId int64, orgId int64,
return bus . Dispatch ( cmd )
}
func ( dr * dashboardServiceImpl ) ImportDashboard ( dto * SaveDashboardDTO ) (
func ( dr * dashboardServiceImpl ) ImportDashboard ( ctx context . Context , dto * SaveDashboardDTO ) (
* models . Dashboard , error ) {
if err := validateDashboardRefreshInterval ( dto . Dashboard ) ; err != nil {
dr . log . Warn ( "Changing refresh interval for imported dashboard to minimum refresh interval" ,
@ -331,7 +331,7 @@ func (dr *dashboardServiceImpl) ImportDashboard(dto *SaveDashboardDTO) (
dto . Dashboard . Data . Set ( "refresh" , setting . MinRefreshInterval )
}
cmd , err := dr . buildSaveDashboardCommand ( dto , false , true )
cmd , err := dr . buildSaveDashboardCommand ( ctx , dto , false , true )
if err != nil {
return nil , err
}
@ -370,7 +370,7 @@ func (s *FakeDashboardService) SaveDashboard(ctx context.Context, dto *SaveDashb
return s . SaveDashboardResult , s . SaveDashboardError
}
func ( s * FakeDashboardService ) ImportDashboard ( dto * SaveDashboardDTO ) ( * models . Dashboard , error ) {
func ( s * FakeDashboardService ) ImportDashboard ( ctx context . Context , dto * SaveDashboardDTO ) ( * models . Dashboard , error ) {
return s . SaveDashboard ( context . Background ( ) , dto , true )
}