diff --git a/pkg/middleware/auth.go b/pkg/middleware/auth.go index e95138b9707..fccbcb409fe 100644 --- a/pkg/middleware/auth.go +++ b/pkg/middleware/auth.go @@ -118,7 +118,7 @@ func Auth(options *AuthOptions) web.Handler { if !forceLogin { orgIDValue := c.Req.URL.Query().Get("orgId") orgID, err := strconv.ParseInt(orgIDValue, 10, 64) - if err == nil && orgID > 0 && orgID != c.OrgID { + if err == nil && orgID > 0 && orgID != c.SignedInUser.GetOrgID() { forceLogin = true } } diff --git a/pkg/services/correlations/api.go b/pkg/services/correlations/api.go index 452712bad4b..48d86d99024 100644 --- a/pkg/services/correlations/api.go +++ b/pkg/services/correlations/api.go @@ -48,7 +48,7 @@ func (s *CorrelationsService) createHandler(c *contextmodel.ReqContext) response return response.Error(http.StatusBadRequest, "bad request data", err) } cmd.SourceUID = web.Params(c.Req)[":uid"] - cmd.OrgId = c.OrgID + cmd.OrgId = c.SignedInUser.GetOrgID() correlation, err := s.CreateCorrelation(c.Req.Context(), cmd) if err != nil { @@ -91,7 +91,7 @@ func (s *CorrelationsService) deleteHandler(c *contextmodel.ReqContext) response cmd := DeleteCorrelationCommand{ UID: web.Params(c.Req)[":correlationUID"], SourceUID: web.Params(c.Req)[":uid"], - OrgId: c.OrgID, + OrgId: c.SignedInUser.GetOrgID(), } err := s.DeleteCorrelation(c.Req.Context(), cmd) @@ -153,7 +153,7 @@ func (s *CorrelationsService) updateHandler(c *contextmodel.ReqContext) response cmd.UID = web.Params(c.Req)[":correlationUID"] cmd.SourceUID = web.Params(c.Req)[":uid"] - cmd.OrgId = c.OrgID + cmd.OrgId = c.SignedInUser.GetOrgID() correlation, err := s.UpdateCorrelation(c.Req.Context(), cmd) if err != nil { @@ -206,7 +206,7 @@ func (s *CorrelationsService) getCorrelationHandler(c *contextmodel.ReqContext) query := GetCorrelationQuery{ UID: web.Params(c.Req)[":correlationUID"], SourceUID: web.Params(c.Req)[":uid"], - OrgId: c.OrgID, + OrgId: c.SignedInUser.GetOrgID(), } correlation, err := s.getCorrelation(c.Req.Context(), query) @@ -252,7 +252,7 @@ type GetCorrelationResponse struct { func (s *CorrelationsService) getCorrelationsBySourceUIDHandler(c *contextmodel.ReqContext) response.Response { query := GetCorrelationsBySourceUIDQuery{ SourceUID: web.Params(c.Req)[":uid"], - OrgId: c.OrgID, + OrgId: c.SignedInUser.GetOrgID(), } correlations, err := s.getCorrelationsBySourceUID(c.Req.Context(), query) @@ -308,7 +308,7 @@ func (s *CorrelationsService) getCorrelationsHandler(c *contextmodel.ReqContext) sourceUIDs := c.QueryStrings("sourceUID") query := GetCorrelationsQuery{ - OrgId: c.OrgID, + OrgId: c.SignedInUser.GetOrgID(), Limit: limit, Page: page, SourceUIDs: sourceUIDs, diff --git a/pkg/services/libraryelements/api.go b/pkg/services/libraryelements/api.go index 00dc8248459..4b09a49a773 100644 --- a/pkg/services/libraryelements/api.go +++ b/pkg/services/libraryelements/api.go @@ -49,7 +49,7 @@ func (l *LibraryElementService) createHandler(c *contextmodel.ReqContext) respon if *cmd.FolderUID == "" { cmd.FolderID = 0 } else { - folder, err := l.folderService.Get(c.Req.Context(), &folder.GetFolderQuery{OrgID: c.OrgID, UID: cmd.FolderUID, SignedInUser: c.SignedInUser}) + folder, err := l.folderService.Get(c.Req.Context(), &folder.GetFolderQuery{OrgID: c.SignedInUser.GetOrgID(), UID: cmd.FolderUID, SignedInUser: c.SignedInUser}) if err != nil || folder == nil { return response.ErrOrFallback(http.StatusBadRequest, "failed to get folder", err) } @@ -62,7 +62,7 @@ func (l *LibraryElementService) createHandler(c *contextmodel.ReqContext) respon } if element.FolderID != 0 { - folder, err := l.folderService.Get(c.Req.Context(), &folder.GetFolderQuery{OrgID: c.OrgID, ID: &element.FolderID, SignedInUser: c.SignedInUser}) + folder, err := l.folderService.Get(c.Req.Context(), &folder.GetFolderQuery{OrgID: c.SignedInUser.GetOrgID(), ID: &element.FolderID, SignedInUser: c.SignedInUser}) if err != nil { return response.ErrOrFallback(http.StatusInternalServerError, "failed to get folder", err) } @@ -181,7 +181,7 @@ func (l *LibraryElementService) patchHandler(c *contextmodel.ReqContext) respons if *cmd.FolderUID == "" { cmd.FolderID = 0 } else { - folder, err := l.folderService.Get(c.Req.Context(), &folder.GetFolderQuery{OrgID: c.OrgID, UID: cmd.FolderUID, SignedInUser: c.SignedInUser}) + folder, err := l.folderService.Get(c.Req.Context(), &folder.GetFolderQuery{OrgID: c.SignedInUser.GetOrgID(), UID: cmd.FolderUID, SignedInUser: c.SignedInUser}) if err != nil || folder == nil { return response.Error(http.StatusBadRequest, "failed to get folder", err) } @@ -195,7 +195,7 @@ func (l *LibraryElementService) patchHandler(c *contextmodel.ReqContext) respons } if element.FolderID != 0 { - folder, err := l.folderService.Get(c.Req.Context(), &folder.GetFolderQuery{OrgID: c.OrgID, ID: &element.FolderID, SignedInUser: c.SignedInUser}) + folder, err := l.folderService.Get(c.Req.Context(), &folder.GetFolderQuery{OrgID: c.SignedInUser.GetOrgID(), ID: &element.FolderID, SignedInUser: c.SignedInUser}) if err != nil { return response.Error(http.StatusInternalServerError, "failed to get folder", err) } diff --git a/pkg/services/navtree/navtreeimpl/admin.go b/pkg/services/navtree/navtreeimpl/admin.go index 4d2ab3739da..ace34b04ac3 100644 --- a/pkg/services/navtree/navtreeimpl/admin.go +++ b/pkg/services/navtree/navtreeimpl/admin.go @@ -54,7 +54,7 @@ func (s *ServiceImpl) getAdminNode(c *contextmodel.ReqContext) (*navtree.NavLink }) } - disabled, err := s.apiKeyService.IsDisabled(c.Req.Context(), c.OrgID) + disabled, err := s.apiKeyService.IsDisabled(c.Req.Context(), c.SignedInUser.GetOrgID()) if err != nil { return nil, err } diff --git a/pkg/services/navtree/navtreeimpl/applinks.go b/pkg/services/navtree/navtreeimpl/applinks.go index 0a78ee27fa4..fe1ac0e994c 100644 --- a/pkg/services/navtree/navtreeimpl/applinks.go +++ b/pkg/services/navtree/navtreeimpl/applinks.go @@ -20,7 +20,7 @@ func (s *ServiceImpl) addAppLinks(treeRoot *navtree.NavTreeRoot, c *contextmodel hasAccess := ac.HasAccess(s.accessControl, c) appLinks := []*navtree.NavLink{} - pss, err := s.pluginSettings.GetPluginSettings(c.Req.Context(), &pluginsettings.GetArgs{OrgID: c.OrgID}) + pss, err := s.pluginSettings.GetPluginSettings(c.Req.Context(), &pluginsettings.GetArgs{OrgID: c.SignedInUser.GetOrgID()}) if err != nil { return err } diff --git a/pkg/services/navtree/navtreeimpl/navtree.go b/pkg/services/navtree/navtreeimpl/navtree.go index 251eed9afc6..366de94a796 100644 --- a/pkg/services/navtree/navtreeimpl/navtree.go +++ b/pkg/services/navtree/navtreeimpl/navtree.go @@ -129,7 +129,7 @@ func (s *ServiceImpl) GetNavTree(c *contextmodel.ReqContext, prefs *pref.Prefere treeRoot.AddSection(s.getProfileNode(c)) } - _, uaIsDisabledForOrg := s.cfg.UnifiedAlerting.DisabledOrgs[c.OrgID] + _, uaIsDisabledForOrg := s.cfg.UnifiedAlerting.DisabledOrgs[c.SignedInUser.GetOrgID()] uaVisibleForOrg := s.cfg.UnifiedAlerting.IsEnabled() && !uaIsDisabledForOrg if setting.AlertingEnabled != nil && *setting.AlertingEnabled { @@ -294,7 +294,7 @@ func (s *ServiceImpl) buildStarredItemsNavLinks(c *contextmodel.ReqContext) ([]* for id := range starredDashboardResult.UserStars { ids = append(ids, id) } - starredDashboards, err := s.dashboardService.GetDashboards(c.Req.Context(), &dashboards.GetDashboardsQuery{DashboardIDs: ids, OrgID: c.OrgID}) + starredDashboards, err := s.dashboardService.GetDashboards(c.Req.Context(), &dashboards.GetDashboardsQuery{DashboardIDs: ids, OrgID: c.SignedInUser.GetOrgID()}) if err != nil { return nil, err } diff --git a/pkg/services/ngalert/api/api_alertmanager.go b/pkg/services/ngalert/api/api_alertmanager.go index da1dc7d09c1..1139d308744 100644 --- a/pkg/services/ngalert/api/api_alertmanager.go +++ b/pkg/services/ngalert/api/api_alertmanager.go @@ -43,7 +43,7 @@ func (e UnknownReceiverError) Error() string { } func (srv AlertmanagerSrv) RouteGetAMStatus(c *contextmodel.ReqContext) response.Response { - am, errResp := srv.AlertmanagerFor(c.OrgID) + am, errResp := srv.AlertmanagerFor(c.SignedInUser.GetOrgID()) if errResp != nil { return errResp } @@ -58,7 +58,7 @@ func (srv AlertmanagerSrv) RouteCreateSilence(c *contextmodel.ReqContext, postab return ErrResp(http.StatusBadRequest, err, "silence failed validation") } - am, errResp := srv.AlertmanagerFor(c.OrgID) + am, errResp := srv.AlertmanagerFor(c.SignedInUser.GetOrgID()) if errResp != nil { return errResp } @@ -93,7 +93,7 @@ func (srv AlertmanagerSrv) RouteCreateSilence(c *contextmodel.ReqContext, postab } func (srv AlertmanagerSrv) RouteDeleteAlertingConfig(c *contextmodel.ReqContext) response.Response { - am, errResp := srv.AlertmanagerFor(c.OrgID) + am, errResp := srv.AlertmanagerFor(c.SignedInUser.GetOrgID()) if errResp != nil { return errResp } @@ -107,7 +107,7 @@ func (srv AlertmanagerSrv) RouteDeleteAlertingConfig(c *contextmodel.ReqContext) } func (srv AlertmanagerSrv) RouteDeleteSilence(c *contextmodel.ReqContext, silenceID string) response.Response { - am, errResp := srv.AlertmanagerFor(c.OrgID) + am, errResp := srv.AlertmanagerFor(c.SignedInUser.GetOrgID()) if errResp != nil { return errResp } @@ -122,7 +122,7 @@ func (srv AlertmanagerSrv) RouteDeleteSilence(c *contextmodel.ReqContext, silenc } func (srv AlertmanagerSrv) RouteGetAlertingConfig(c *contextmodel.ReqContext) response.Response { - config, err := srv.mam.GetAlertmanagerConfiguration(c.Req.Context(), c.OrgID) + config, err := srv.mam.GetAlertmanagerConfiguration(c.Req.Context(), c.SignedInUser.GetOrgID()) if err != nil { if errors.Is(err, store.ErrNoAlertmanagerConfiguration) { return ErrResp(http.StatusNotFound, err, "") @@ -134,7 +134,7 @@ func (srv AlertmanagerSrv) RouteGetAlertingConfig(c *contextmodel.ReqContext) re func (srv AlertmanagerSrv) RouteGetAlertingConfigHistory(c *contextmodel.ReqContext) response.Response { limit := c.QueryInt("limit") - configs, err := srv.mam.GetAppliedAlertmanagerConfigurations(c.Req.Context(), c.OrgID, limit) + configs, err := srv.mam.GetAppliedAlertmanagerConfigurations(c.Req.Context(), c.SignedInUser.GetOrgID(), limit) if err != nil { return ErrResp(http.StatusInternalServerError, err, err.Error()) } @@ -143,7 +143,7 @@ func (srv AlertmanagerSrv) RouteGetAlertingConfigHistory(c *contextmodel.ReqCont } func (srv AlertmanagerSrv) RouteGetAMAlertGroups(c *contextmodel.ReqContext) response.Response { - am, errResp := srv.AlertmanagerFor(c.OrgID) + am, errResp := srv.AlertmanagerFor(c.SignedInUser.GetOrgID()) if errResp != nil { return errResp } @@ -167,7 +167,7 @@ func (srv AlertmanagerSrv) RouteGetAMAlertGroups(c *contextmodel.ReqContext) res } func (srv AlertmanagerSrv) RouteGetAMAlerts(c *contextmodel.ReqContext) response.Response { - am, errResp := srv.AlertmanagerFor(c.OrgID) + am, errResp := srv.AlertmanagerFor(c.SignedInUser.GetOrgID()) if errResp != nil { return errResp } @@ -194,7 +194,7 @@ func (srv AlertmanagerSrv) RouteGetAMAlerts(c *contextmodel.ReqContext) response } func (srv AlertmanagerSrv) RouteGetSilence(c *contextmodel.ReqContext, silenceID string) response.Response { - am, errResp := srv.AlertmanagerFor(c.OrgID) + am, errResp := srv.AlertmanagerFor(c.SignedInUser.GetOrgID()) if errResp != nil { return errResp } @@ -211,7 +211,7 @@ func (srv AlertmanagerSrv) RouteGetSilence(c *contextmodel.ReqContext, silenceID } func (srv AlertmanagerSrv) RouteGetSilences(c *contextmodel.ReqContext) response.Response { - am, errResp := srv.AlertmanagerFor(c.OrgID) + am, errResp := srv.AlertmanagerFor(c.SignedInUser.GetOrgID()) if errResp != nil { return errResp } @@ -233,7 +233,7 @@ func (srv AlertmanagerSrv) RoutePostGrafanaAlertingConfigHistoryActivate(c *cont return ErrResp(http.StatusBadRequest, err, "failed to parse config id") } - err = srv.mam.ActivateHistoricalConfiguration(c.Req.Context(), c.OrgID, confId) + err = srv.mam.ActivateHistoricalConfiguration(c.Req.Context(), c.SignedInUser.GetOrgID(), confId) if err != nil { var unknownReceiverError notifier.UnknownReceiverError if errors.As(err, &unknownReceiverError) { @@ -260,7 +260,7 @@ func (srv AlertmanagerSrv) RoutePostGrafanaAlertingConfigHistoryActivate(c *cont } func (srv AlertmanagerSrv) RoutePostAlertingConfig(c *contextmodel.ReqContext, body apimodels.PostableUserConfig) response.Response { - currentConfig, err := srv.mam.GetAlertmanagerConfiguration(c.Req.Context(), c.OrgID) + currentConfig, err := srv.mam.GetAlertmanagerConfiguration(c.Req.Context(), c.SignedInUser.GetOrgID()) // If a config is present and valid we proceed with the guard, otherwise we // just bypass the guard which is okay as we are anyway in an invalid state. if err == nil { @@ -268,7 +268,7 @@ func (srv AlertmanagerSrv) RoutePostAlertingConfig(c *contextmodel.ReqContext, b return ErrResp(http.StatusBadRequest, err, "") } } - err = srv.mam.ApplyAlertmanagerConfiguration(c.Req.Context(), c.OrgID, body) + err = srv.mam.ApplyAlertmanagerConfiguration(c.Req.Context(), c.SignedInUser.GetOrgID(), body) if err == nil { return response.JSON(http.StatusAccepted, util.DynMap{"message": "configuration created"}) } @@ -291,7 +291,7 @@ func (srv AlertmanagerSrv) RoutePostAlertingConfig(c *contextmodel.ReqContext, b } func (srv AlertmanagerSrv) RouteGetReceivers(c *contextmodel.ReqContext) response.Response { - am, errResp := srv.AlertmanagerFor(c.OrgID) + am, errResp := srv.AlertmanagerFor(c.SignedInUser.GetOrgID()) if errResp != nil { return errResp } @@ -301,7 +301,7 @@ func (srv AlertmanagerSrv) RouteGetReceivers(c *contextmodel.ReqContext) respons } func (srv AlertmanagerSrv) RoutePostTestReceivers(c *contextmodel.ReqContext, body apimodels.TestReceiversConfigBodyParams) response.Response { - if err := srv.crypto.ProcessSecureSettings(c.Req.Context(), c.OrgID, body.Receivers); err != nil { + if err := srv.crypto.ProcessSecureSettings(c.Req.Context(), c.SignedInUser.GetOrgID(), body.Receivers); err != nil { var unknownReceiverError UnknownReceiverError if errors.As(err, &unknownReceiverError) { return ErrResp(http.StatusBadRequest, err, "") @@ -319,7 +319,7 @@ func (srv AlertmanagerSrv) RoutePostTestReceivers(c *contextmodel.ReqContext, bo } defer cancelFunc() - am, errResp := srv.AlertmanagerFor(c.OrgID) + am, errResp := srv.AlertmanagerFor(c.SignedInUser.GetOrgID()) if errResp != nil { return errResp } @@ -336,7 +336,7 @@ func (srv AlertmanagerSrv) RoutePostTestReceivers(c *contextmodel.ReqContext, bo } func (srv AlertmanagerSrv) RoutePostTestTemplates(c *contextmodel.ReqContext, body apimodels.TestTemplatesConfigBodyParams) response.Response { - am, errResp := srv.AlertmanagerFor(c.OrgID) + am, errResp := srv.AlertmanagerFor(c.SignedInUser.GetOrgID()) if errResp != nil { return errResp } diff --git a/pkg/services/ngalert/api/api_configuration.go b/pkg/services/ngalert/api/api_configuration.go index a341b5c4f6b..bcd65080db6 100644 --- a/pkg/services/ngalert/api/api_configuration.go +++ b/pkg/services/ngalert/api/api_configuration.go @@ -27,8 +27,8 @@ type ConfigSrv struct { } func (srv ConfigSrv) RouteGetAlertmanagers(c *contextmodel.ReqContext) response.Response { - urls := srv.alertmanagerProvider.AlertmanagersFor(c.OrgID) - droppedURLs := srv.alertmanagerProvider.DroppedAlertmanagersFor(c.OrgID) + urls := srv.alertmanagerProvider.AlertmanagersFor(c.SignedInUser.GetOrgID()) + droppedURLs := srv.alertmanagerProvider.DroppedAlertmanagersFor(c.SignedInUser.GetOrgID()) ams := v1.AlertManagersResult{Active: make([]v1.AlertManager, len(urls)), Dropped: make([]v1.AlertManager, len(droppedURLs))} for i, url := range urls { ams.Active[i].URL = url.String() @@ -48,7 +48,7 @@ func (srv ConfigSrv) RouteGetNGalertConfig(c *contextmodel.ReqContext) response. return accessForbiddenResp() } - cfg, err := srv.store.GetAdminConfiguration(c.OrgID) + cfg, err := srv.store.GetAdminConfiguration(c.SignedInUser.GetOrgID()) if err != nil { if errors.Is(err, store.ErrNoAdminConfiguration) { return ErrResp(http.StatusNotFound, err, "") @@ -75,7 +75,7 @@ func (srv ConfigSrv) RoutePostNGalertConfig(c *contextmodel.ReqContext, body api return response.Error(400, "Invalid alertmanager choice specified", err) } - externalAlertmanagers, err := srv.externalAlertmanagers(c.Req.Context(), c.OrgID) + externalAlertmanagers, err := srv.externalAlertmanagers(c.Req.Context(), c.SignedInUser.GetOrgID()) if err != nil { return response.Error(500, "Couldn't fetch the external Alertmanagers from datasources", err) } @@ -86,7 +86,7 @@ func (srv ConfigSrv) RoutePostNGalertConfig(c *contextmodel.ReqContext, body api cfg := &ngmodels.AdminConfiguration{ SendAlertsTo: sendAlertsTo, - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), } cmd := store.UpdateAdminConfigurationCmd{AdminConfiguration: cfg} @@ -104,7 +104,7 @@ func (srv ConfigSrv) RouteDeleteNGalertConfig(c *contextmodel.ReqContext) respon return accessForbiddenResp() } - err := srv.store.DeleteAdminConfiguration(c.OrgID) + err := srv.store.DeleteAdminConfiguration(c.SignedInUser.GetOrgID()) if err != nil { srv.log.Error("Unable to delete configuration", "error", err) return ErrResp(http.StatusInternalServerError, err, "") @@ -138,7 +138,7 @@ func (srv ConfigSrv) externalAlertmanagers(ctx context.Context, orgID int64) ([] func (srv ConfigSrv) RouteGetAlertingStatus(c *contextmodel.ReqContext) response.Response { sendsAlertsTo := ngmodels.InternalAlertmanager - cfg, err := srv.store.GetAdminConfiguration(c.OrgID) + cfg, err := srv.store.GetAdminConfiguration(c.SignedInUser.GetOrgID()) if err != nil && !errors.Is(err, store.ErrNoAdminConfiguration) { msg := "failed to fetch configuration from the database" srv.log.Error(msg, "error", err) @@ -149,7 +149,7 @@ func (srv ConfigSrv) RouteGetAlertingStatus(c *contextmodel.ReqContext) response } // handle errors - externalAlertManagers, err := srv.externalAlertmanagers(c.Req.Context(), c.OrgID) + externalAlertManagers, err := srv.externalAlertmanagers(c.Req.Context(), c.SignedInUser.GetOrgID()) if err != nil { return ErrResp(http.StatusInternalServerError, err, "") } diff --git a/pkg/services/ngalert/api/api_prometheus.go b/pkg/services/ngalert/api/api_prometheus.go index 20380634589..56010382593 100644 --- a/pkg/services/ngalert/api/api_prometheus.go +++ b/pkg/services/ngalert/api/api_prometheus.go @@ -49,7 +49,7 @@ func (srv PrometheusSrv) RouteGetAlertStatuses(c *contextmodel.ReqContext) respo labelOptions = append(labelOptions, ngmodels.WithoutInternalLabels()) } - for _, alertState := range srv.manager.GetAll(c.OrgID) { + for _, alertState := range srv.manager.GetAll(c.SignedInUser.GetOrgID()) { startsAt := alertState.StartsAt valString := "" @@ -185,7 +185,7 @@ func (srv PrometheusSrv) RouteGetRuleStatuses(c *contextmodel.ReqContext) respon labelOptions = append(labelOptions, ngmodels.WithoutInternalLabels()) } - namespaceMap, err := srv.store.GetUserVisibleNamespaces(c.Req.Context(), c.OrgID, c.SignedInUser) + namespaceMap, err := srv.store.GetUserVisibleNamespaces(c.Req.Context(), c.SignedInUser.GetOrgID(), c.SignedInUser) if err != nil { return ErrResp(http.StatusInternalServerError, err, "failed to get namespaces visible to the user") } diff --git a/pkg/services/ngalert/api/api_provisioning.go b/pkg/services/ngalert/api/api_provisioning.go index c3d08a1df4b..14733cbefd5 100644 --- a/pkg/services/ngalert/api/api_provisioning.go +++ b/pkg/services/ngalert/api/api_provisioning.go @@ -70,7 +70,7 @@ type AlertRuleService interface { } func (srv *ProvisioningSrv) RouteGetPolicyTree(c *contextmodel.ReqContext) response.Response { - policies, err := srv.policies.GetPolicyTree(c.Req.Context(), c.OrgID) + policies, err := srv.policies.GetPolicyTree(c.Req.Context(), c.SignedInUser.GetOrgID()) if errors.Is(err, store.ErrNoAlertmanagerConfiguration) { return ErrResp(http.StatusNotFound, err, "") } @@ -82,7 +82,7 @@ func (srv *ProvisioningSrv) RouteGetPolicyTree(c *contextmodel.ReqContext) respo } func (srv *ProvisioningSrv) RouteGetPolicyTreeExport(c *contextmodel.ReqContext) response.Response { - policies, err := srv.policies.GetPolicyTree(c.Req.Context(), c.OrgID) + policies, err := srv.policies.GetPolicyTree(c.Req.Context(), c.SignedInUser.GetOrgID()) if err != nil { if errors.Is(err, store.ErrNoAlertmanagerConfiguration) { return ErrResp(http.StatusNotFound, err, "") @@ -90,7 +90,7 @@ func (srv *ProvisioningSrv) RouteGetPolicyTreeExport(c *contextmodel.ReqContext) return ErrResp(http.StatusInternalServerError, err, "") } - e, err := AlertingFileExportFromRoute(c.OrgID, policies) + e, err := AlertingFileExportFromRoute(c.SignedInUser.GetOrgID(), policies) if err != nil { return ErrResp(http.StatusInternalServerError, err, "failed to create alerting file export") } @@ -100,7 +100,7 @@ func (srv *ProvisioningSrv) RouteGetPolicyTreeExport(c *contextmodel.ReqContext) func (srv *ProvisioningSrv) RoutePutPolicyTree(c *contextmodel.ReqContext, tree definitions.Route) response.Response { provenance := determineProvenance(c) - err := srv.policies.UpdatePolicyTree(c.Req.Context(), c.OrgID, tree, alerting_models.Provenance(provenance)) + err := srv.policies.UpdatePolicyTree(c.Req.Context(), c.SignedInUser.GetOrgID(), tree, alerting_models.Provenance(provenance)) if errors.Is(err, store.ErrNoAlertmanagerConfiguration) { return ErrResp(http.StatusNotFound, err, "") } @@ -115,7 +115,7 @@ func (srv *ProvisioningSrv) RoutePutPolicyTree(c *contextmodel.ReqContext, tree } func (srv *ProvisioningSrv) RouteResetPolicyTree(c *contextmodel.ReqContext) response.Response { - tree, err := srv.policies.ResetPolicyTree(c.Req.Context(), c.OrgID) + tree, err := srv.policies.ResetPolicyTree(c.Req.Context(), c.SignedInUser.GetOrgID()) if err != nil { return ErrResp(http.StatusInternalServerError, err, "") } @@ -125,7 +125,7 @@ func (srv *ProvisioningSrv) RouteResetPolicyTree(c *contextmodel.ReqContext) res func (srv *ProvisioningSrv) RouteGetContactPoints(c *contextmodel.ReqContext) response.Response { q := provisioning.ContactPointQuery{ Name: c.Query("name"), - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), } cps, err := srv.contactPointService.GetContactPoints(c.Req.Context(), q, nil) if err != nil { @@ -140,7 +140,7 @@ func (srv *ProvisioningSrv) RouteGetContactPoints(c *contextmodel.ReqContext) re func (srv *ProvisioningSrv) RouteGetContactPointsExport(c *contextmodel.ReqContext) response.Response { q := provisioning.ContactPointQuery{ Name: c.Query("name"), - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), Decrypt: c.QueryBoolWithDefault("decrypt", false), } cps, err := srv.contactPointService.GetContactPoints(c.Req.Context(), q, c.SignedInUser) @@ -151,7 +151,7 @@ func (srv *ProvisioningSrv) RouteGetContactPointsExport(c *contextmodel.ReqConte return ErrResp(http.StatusInternalServerError, err, "") } - e, err := AlertingFileExportFromEmbeddedContactPoints(c.OrgID, cps) + e, err := AlertingFileExportFromEmbeddedContactPoints(c.SignedInUser.GetOrgID(), cps) if err != nil { return ErrResp(http.StatusInternalServerError, err, "failed to create alerting file export") } @@ -161,7 +161,7 @@ func (srv *ProvisioningSrv) RouteGetContactPointsExport(c *contextmodel.ReqConte func (srv *ProvisioningSrv) RoutePostContactPoint(c *contextmodel.ReqContext, cp definitions.EmbeddedContactPoint) response.Response { provenance := determineProvenance(c) - contactPoint, err := srv.contactPointService.CreateContactPoint(c.Req.Context(), c.OrgID, cp, alerting_models.Provenance(provenance)) + contactPoint, err := srv.contactPointService.CreateContactPoint(c.Req.Context(), c.SignedInUser.GetOrgID(), cp, alerting_models.Provenance(provenance)) if errors.Is(err, provisioning.ErrValidation) { return ErrResp(http.StatusBadRequest, err, "") } @@ -174,7 +174,7 @@ func (srv *ProvisioningSrv) RoutePostContactPoint(c *contextmodel.ReqContext, cp func (srv *ProvisioningSrv) RoutePutContactPoint(c *contextmodel.ReqContext, cp definitions.EmbeddedContactPoint, UID string) response.Response { cp.UID = UID provenance := determineProvenance(c) - err := srv.contactPointService.UpdateContactPoint(c.Req.Context(), c.OrgID, cp, alerting_models.Provenance(provenance)) + err := srv.contactPointService.UpdateContactPoint(c.Req.Context(), c.SignedInUser.GetOrgID(), cp, alerting_models.Provenance(provenance)) if errors.Is(err, provisioning.ErrValidation) { return ErrResp(http.StatusBadRequest, err, "") } @@ -188,7 +188,7 @@ func (srv *ProvisioningSrv) RoutePutContactPoint(c *contextmodel.ReqContext, cp } func (srv *ProvisioningSrv) RouteDeleteContactPoint(c *contextmodel.ReqContext, UID string) response.Response { - err := srv.contactPointService.DeleteContactPoint(c.Req.Context(), c.OrgID, UID) + err := srv.contactPointService.DeleteContactPoint(c.Req.Context(), c.SignedInUser.GetOrgID(), UID) if err != nil { return ErrResp(http.StatusInternalServerError, err, "") } @@ -196,7 +196,7 @@ func (srv *ProvisioningSrv) RouteDeleteContactPoint(c *contextmodel.ReqContext, } func (srv *ProvisioningSrv) RouteGetTemplates(c *contextmodel.ReqContext) response.Response { - templates, err := srv.templates.GetTemplates(c.Req.Context(), c.OrgID) + templates, err := srv.templates.GetTemplates(c.Req.Context(), c.SignedInUser.GetOrgID()) if err != nil { return ErrResp(http.StatusInternalServerError, err, "") } @@ -208,7 +208,7 @@ func (srv *ProvisioningSrv) RouteGetTemplates(c *contextmodel.ReqContext) respon } func (srv *ProvisioningSrv) RouteGetTemplate(c *contextmodel.ReqContext, name string) response.Response { - templates, err := srv.templates.GetTemplates(c.Req.Context(), c.OrgID) + templates, err := srv.templates.GetTemplates(c.Req.Context(), c.SignedInUser.GetOrgID()) if err != nil { return ErrResp(http.StatusInternalServerError, err, "") } @@ -224,7 +224,7 @@ func (srv *ProvisioningSrv) RoutePutTemplate(c *contextmodel.ReqContext, body de Template: body.Template, Provenance: determineProvenance(c), } - modified, err := srv.templates.SetTemplate(c.Req.Context(), c.OrgID, tmpl) + modified, err := srv.templates.SetTemplate(c.Req.Context(), c.SignedInUser.GetOrgID(), tmpl) if err != nil { if errors.Is(err, provisioning.ErrValidation) { return ErrResp(http.StatusBadRequest, err, "") @@ -235,7 +235,7 @@ func (srv *ProvisioningSrv) RoutePutTemplate(c *contextmodel.ReqContext, body de } func (srv *ProvisioningSrv) RouteDeleteTemplate(c *contextmodel.ReqContext, name string) response.Response { - err := srv.templates.DeleteTemplate(c.Req.Context(), c.OrgID, name) + err := srv.templates.DeleteTemplate(c.Req.Context(), c.SignedInUser.GetOrgID(), name) if err != nil { return ErrResp(http.StatusInternalServerError, err, "") } @@ -243,7 +243,7 @@ func (srv *ProvisioningSrv) RouteDeleteTemplate(c *contextmodel.ReqContext, name } func (srv *ProvisioningSrv) RouteGetMuteTiming(c *contextmodel.ReqContext, name string) response.Response { - timings, err := srv.muteTimings.GetMuteTimings(c.Req.Context(), c.OrgID) + timings, err := srv.muteTimings.GetMuteTimings(c.Req.Context(), c.SignedInUser.GetOrgID()) if err != nil { return ErrResp(http.StatusInternalServerError, err, "") } @@ -256,7 +256,7 @@ func (srv *ProvisioningSrv) RouteGetMuteTiming(c *contextmodel.ReqContext, name } func (srv *ProvisioningSrv) RouteGetMuteTimings(c *contextmodel.ReqContext) response.Response { - timings, err := srv.muteTimings.GetMuteTimings(c.Req.Context(), c.OrgID) + timings, err := srv.muteTimings.GetMuteTimings(c.Req.Context(), c.SignedInUser.GetOrgID()) if err != nil { return ErrResp(http.StatusInternalServerError, err, "") } @@ -265,7 +265,7 @@ func (srv *ProvisioningSrv) RouteGetMuteTimings(c *contextmodel.ReqContext) resp func (srv *ProvisioningSrv) RoutePostMuteTiming(c *contextmodel.ReqContext, mt definitions.MuteTimeInterval) response.Response { mt.Provenance = determineProvenance(c) - created, err := srv.muteTimings.CreateMuteTiming(c.Req.Context(), mt, c.OrgID) + created, err := srv.muteTimings.CreateMuteTiming(c.Req.Context(), mt, c.SignedInUser.GetOrgID()) if err != nil { if errors.Is(err, provisioning.ErrValidation) { return ErrResp(http.StatusBadRequest, err, "") @@ -278,7 +278,7 @@ func (srv *ProvisioningSrv) RoutePostMuteTiming(c *contextmodel.ReqContext, mt d func (srv *ProvisioningSrv) RoutePutMuteTiming(c *contextmodel.ReqContext, mt definitions.MuteTimeInterval, name string) response.Response { mt.Name = name mt.Provenance = determineProvenance(c) - updated, err := srv.muteTimings.UpdateMuteTiming(c.Req.Context(), mt, c.OrgID) + updated, err := srv.muteTimings.UpdateMuteTiming(c.Req.Context(), mt, c.SignedInUser.GetOrgID()) if err != nil { if errors.Is(err, provisioning.ErrValidation) { return ErrResp(http.StatusBadRequest, err, "") @@ -292,7 +292,7 @@ func (srv *ProvisioningSrv) RoutePutMuteTiming(c *contextmodel.ReqContext, mt de } func (srv *ProvisioningSrv) RouteDeleteMuteTiming(c *contextmodel.ReqContext, name string) response.Response { - err := srv.muteTimings.DeleteMuteTiming(c.Req.Context(), name, c.OrgID) + err := srv.muteTimings.DeleteMuteTiming(c.Req.Context(), name, c.SignedInUser.GetOrgID()) if err != nil { return ErrResp(http.StatusInternalServerError, err, "") } @@ -300,7 +300,7 @@ func (srv *ProvisioningSrv) RouteDeleteMuteTiming(c *contextmodel.ReqContext, na } func (srv *ProvisioningSrv) RouteGetAlertRules(c *contextmodel.ReqContext) response.Response { - rules, err := srv.alertRules.GetAlertRules(c.Req.Context(), c.OrgID) + rules, err := srv.alertRules.GetAlertRules(c.Req.Context(), c.SignedInUser.GetOrgID()) if err != nil { return ErrResp(http.StatusInternalServerError, err, "") } @@ -308,7 +308,7 @@ func (srv *ProvisioningSrv) RouteGetAlertRules(c *contextmodel.ReqContext) respo } func (srv *ProvisioningSrv) RouteRouteGetAlertRule(c *contextmodel.ReqContext, UID string) response.Response { - rule, provenace, err := srv.alertRules.GetAlertRule(c.Req.Context(), c.OrgID, UID) + rule, provenace, err := srv.alertRules.GetAlertRule(c.Req.Context(), c.SignedInUser.GetOrgID(), UID) if err != nil { if errors.Is(err, alerting_models.ErrAlertRuleNotFound) { return response.Empty(http.StatusNotFound) @@ -320,7 +320,7 @@ func (srv *ProvisioningSrv) RouteRouteGetAlertRule(c *contextmodel.ReqContext, U func (srv *ProvisioningSrv) RoutePostAlertRule(c *contextmodel.ReqContext, ar definitions.ProvisionedAlertRule) response.Response { upstreamModel, err := AlertRuleFromProvisionedAlertRule(ar) - upstreamModel.OrgID = c.OrgID + upstreamModel.OrgID = c.SignedInUser.GetOrgID() if err != nil { return ErrResp(http.StatusBadRequest, err, "") } @@ -348,7 +348,7 @@ func (srv *ProvisioningSrv) RoutePutAlertRule(c *contextmodel.ReqContext, ar def if err != nil { ErrResp(http.StatusBadRequest, err, "") } - updated.OrgID = c.OrgID + updated.OrgID = c.SignedInUser.GetOrgID() updated.UID = UID provenance := determineProvenance(c) updatedAlertRule, err := srv.alertRules.UpdateAlertRule(c.Req.Context(), updated, alerting_models.Provenance(provenance)) @@ -371,7 +371,7 @@ func (srv *ProvisioningSrv) RoutePutAlertRule(c *contextmodel.ReqContext, ar def func (srv *ProvisioningSrv) RouteDeleteAlertRule(c *contextmodel.ReqContext, UID string) response.Response { provenance := determineProvenance(c) - err := srv.alertRules.DeleteAlertRule(c.Req.Context(), c.OrgID, UID, alerting_models.Provenance(provenance)) + err := srv.alertRules.DeleteAlertRule(c.Req.Context(), c.SignedInUser.GetOrgID(), UID, alerting_models.Provenance(provenance)) if err != nil { return ErrResp(http.StatusInternalServerError, err, "") } @@ -379,7 +379,7 @@ func (srv *ProvisioningSrv) RouteDeleteAlertRule(c *contextmodel.ReqContext, UID } func (srv *ProvisioningSrv) RouteGetAlertRuleGroup(c *contextmodel.ReqContext, folder string, group string) response.Response { - g, err := srv.alertRules.GetRuleGroup(c.Req.Context(), c.OrgID, folder, group) + g, err := srv.alertRules.GetRuleGroup(c.Req.Context(), c.SignedInUser.GetOrgID(), folder, group) if err != nil { if errors.Is(err, store.ErrAlertRuleGroupNotFound) { return ErrResp(http.StatusNotFound, err, "") @@ -410,7 +410,7 @@ func (srv *ProvisioningSrv) RouteGetAlertRulesExport(c *contextmodel.ReqContext) return srv.RouteGetAlertRuleGroupExport(c, folderUIDs[0], group) } - groupsWithTitle, err := srv.alertRules.GetAlertGroupsWithFolderTitle(c.Req.Context(), c.OrgID, folderUIDs) + groupsWithTitle, err := srv.alertRules.GetAlertGroupsWithFolderTitle(c.Req.Context(), c.SignedInUser.GetOrgID(), folderUIDs) if err != nil { return ErrResp(http.StatusInternalServerError, err, "failed to get alert rules") } @@ -428,7 +428,7 @@ func (srv *ProvisioningSrv) RouteGetAlertRulesExport(c *contextmodel.ReqContext) // RouteGetAlertRuleGroupExport retrieves the given alert rule group in a format compatible with file provisioning. func (srv *ProvisioningSrv) RouteGetAlertRuleGroupExport(c *contextmodel.ReqContext, folder string, group string) response.Response { - g, err := srv.alertRules.GetAlertRuleGroupWithFolderTitle(c.Req.Context(), c.OrgID, folder, group) + g, err := srv.alertRules.GetAlertRuleGroupWithFolderTitle(c.Req.Context(), c.SignedInUser.GetOrgID(), folder, group) if err != nil { if errors.Is(err, store.ErrAlertRuleGroupNotFound) { return ErrResp(http.StatusNotFound, err, "") @@ -446,7 +446,7 @@ func (srv *ProvisioningSrv) RouteGetAlertRuleGroupExport(c *contextmodel.ReqCont // RouteGetAlertRuleExport retrieves the given alert rule in a format compatible with file provisioning. func (srv *ProvisioningSrv) RouteGetAlertRuleExport(c *contextmodel.ReqContext, UID string) response.Response { - rule, err := srv.alertRules.GetAlertRuleWithFolderTitle(c.Req.Context(), c.OrgID, UID) + rule, err := srv.alertRules.GetAlertRuleWithFolderTitle(c.Req.Context(), c.SignedInUser.GetOrgID(), UID) if err != nil { if errors.Is(err, alerting_models.ErrAlertRuleNotFound) { return ErrResp(http.StatusNotFound, err, "") @@ -472,7 +472,7 @@ func (srv *ProvisioningSrv) RoutePutAlertRuleGroup(c *contextmodel.ReqContext, a ErrResp(http.StatusBadRequest, err, "") } provenance := determineProvenance(c) - err = srv.alertRules.ReplaceRuleGroup(c.Req.Context(), c.OrgID, groupModel, c.UserID, alerting_models.Provenance(provenance)) + err = srv.alertRules.ReplaceRuleGroup(c.Req.Context(), c.SignedInUser.GetOrgID(), groupModel, c.UserID, alerting_models.Provenance(provenance)) if errors.Is(err, alerting_models.ErrAlertRuleFailedValidation) { return ErrResp(http.StatusBadRequest, err, "") } diff --git a/pkg/services/ngalert/api/api_ruler.go b/pkg/services/ngalert/api/api_ruler.go index 15279e59f94..106e1c69345 100644 --- a/pkg/services/ngalert/api/api_ruler.go +++ b/pkg/services/ngalert/api/api_ruler.go @@ -77,7 +77,7 @@ func (srv RulerSrv) RouteDeleteAlertRules(c *contextmodel.ReqContext, namespaceT deletionCandidates := map[ngmodels.AlertRuleGroupKey]ngmodels.RulesGroup{} if group != "" { key := ngmodels.AlertRuleGroupKey{ - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), NamespaceUID: namespace.UID, RuleGroup: group, } @@ -173,7 +173,7 @@ func (srv RulerSrv) RouteGetRulesGroupConfig(c *contextmodel.ReqContext, namespa } rules, err := srv.getAuthorizedRuleGroup(c.Req.Context(), c, ngmodels.AlertRuleGroupKey{ - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), RuleGroup: ruleGroup, NamespaceUID: namespace.UID, }) @@ -194,7 +194,7 @@ func (srv RulerSrv) RouteGetRulesGroupConfig(c *contextmodel.ReqContext, namespa // RouteGetRulesConfig returns all alert rules that are available to the current user func (srv RulerSrv) RouteGetRulesConfig(c *contextmodel.ReqContext) response.Response { - namespaceMap, err := srv.store.GetUserVisibleNamespaces(c.Req.Context(), c.OrgID, c.SignedInUser) + namespaceMap, err := srv.store.GetUserVisibleNamespaces(c.Req.Context(), c.SignedInUser.GetOrgID(), c.SignedInUser) if err != nil { return ErrResp(http.StatusInternalServerError, err, "failed to get namespaces visible to the user") } @@ -289,7 +289,7 @@ func (srv RulerSrv) updateAlertRulesInGroup(c *contextmodel.ReqContext, groupKey return err } - if err := verifyProvisionedRulesNotAffected(c.Req.Context(), srv.provenanceStore, c.OrgID, groupChanges); err != nil { + if err := verifyProvisionedRulesNotAffected(c.Req.Context(), srv.provenanceStore, c.SignedInUser.GetOrgID(), groupChanges); err != nil { return err } @@ -344,7 +344,7 @@ func (srv RulerSrv) updateAlertRulesInGroup(c *contextmodel.ReqContext, groupKey if len(finalChanges.New) > 0 { limitReached, err := srv.QuotaService.CheckQuotaReached(tranCtx, ngmodels.QuotaTargetSrv, "a.ScopeParameters{ - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), UserID: c.UserID, }) // alert rule is table name if err != nil { @@ -508,7 +508,7 @@ func (srv RulerSrv) getAuthorizedRuleByUid(ctx context.Context, c *contextmodel. hasAccess := accesscontrol.HasAccess(srv.ac, c) q := ngmodels.GetAlertRulesGroupByRuleUIDQuery{ UID: ruleUID, - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), } var err error rules, err := srv.store.GetAlertRulesGroupByRuleUID(ctx, &q) @@ -553,7 +553,7 @@ func (srv RulerSrv) getAuthorizedRuleGroup(ctx context.Context, c *contextmodel. func (srv RulerSrv) searchAuthorizedAlertRules(ctx context.Context, c *contextmodel.ReqContext, folderUIDs []string, dashboardUID string, panelID int64) (map[ngmodels.AlertRuleGroupKey]ngmodels.RulesGroup, int, error) { hasAccess := accesscontrol.HasAccess(srv.ac, c) query := ngmodels.ListAlertRulesQuery{ - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), NamespaceUIDs: folderUIDs, DashboardUID: dashboardUID, PanelID: panelID, diff --git a/pkg/services/ngalert/api/api_ruler_export.go b/pkg/services/ngalert/api/api_ruler_export.go index 9d041c52794..0a34cf0b050 100644 --- a/pkg/services/ngalert/api/api_ruler_export.go +++ b/pkg/services/ngalert/api/api_ruler_export.go @@ -70,7 +70,7 @@ func (srv RulerSrv) ExportRules(c *contextmodel.ReqContext) response.Response { ) } rulesGroup, err := srv.getRuleGroupWithFolderTitle(c, ngmodels.AlertRuleGroupKey{ - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), NamespaceUID: folderUIDs[0], RuleGroup: group, }) @@ -132,12 +132,12 @@ func (srv RulerSrv) getRuleGroupWithFolderTitle(c *contextmodel.ReqContext, rule // getRulesWithFolderTitleInFolders gets list of folders to which user has access, and then calls searchAuthorizedAlertRules. // If argument folderUIDs is not empty it intersects it with the list of folders available for user and then retrieves rules that are in those folders. func (srv RulerSrv) getRulesWithFolderTitleInFolders(c *contextmodel.ReqContext, folderUIDs []string) ([]ngmodels.AlertRuleGroupWithFolderTitle, error) { - folders, err := srv.store.GetUserVisibleNamespaces(c.Req.Context(), c.OrgID, c.SignedInUser) + folders, err := srv.store.GetUserVisibleNamespaces(c.Req.Context(), c.SignedInUser.GetOrgID(), c.SignedInUser) if err != nil { return nil, err } query := ngmodels.ListAlertRulesQuery{ - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), NamespaceUIDs: nil, } if len(folderUIDs) > 0 { diff --git a/pkg/services/ngalert/api/api_ruler_history.go b/pkg/services/ngalert/api/api_ruler_history.go index 009c8b5864d..45fb79ad5db 100644 --- a/pkg/services/ngalert/api/api_ruler_history.go +++ b/pkg/services/ngalert/api/api_ruler_history.go @@ -41,7 +41,7 @@ func (srv *HistorySrv) RouteQueryStateHistory(c *contextmodel.ReqContext) respon query := models.HistoryQuery{ RuleUID: ruleUID, - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), DashboardUID: dashUID, PanelID: panelID, SignedInUser: c.SignedInUser, diff --git a/pkg/services/ngalert/api/api_testing.go b/pkg/services/ngalert/api/api_testing.go index 6dfebe302f8..66d26b2f575 100644 --- a/pkg/services/ngalert/api/api_testing.go +++ b/pkg/services/ngalert/api/api_testing.go @@ -10,9 +10,10 @@ import ( "github.com/benbjohnson/clock" "github.com/grafana/alerting/models" - "github.com/grafana/grafana-plugin-sdk-go/data" amv2 "github.com/prometheus/alertmanager/api/v2/models" + "github.com/grafana/grafana-plugin-sdk-go/data" + "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/infra/log" "github.com/grafana/grafana/pkg/infra/tracing" @@ -51,9 +52,9 @@ func (srv TestingApiSrv) RouteTestGrafanaRuleConfig(c *contextmodel.ReqContext, &body.Rule, body.RuleGroup, srv.cfg.BaseInterval, - c.OrgID, + c.SignedInUser.GetOrgID(), &folder.Folder{ - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), UID: body.NamespaceUID, Title: body.NamespaceTitle, }, @@ -226,7 +227,7 @@ func (srv TestingApiSrv) BacktestAlertRule(c *contextmodel.ReqContext, cmd apimo Title: cmd.Title, // prefix backtesting- is to distinguish between executions of regular rule and backtesting in logs (like expression engine, evaluator, state manager etc) UID: "backtesting-" + util.GenerateShortUID(), - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), Condition: cmd.Condition, Data: queries, IntervalSeconds: intervalSeconds, diff --git a/pkg/services/publicdashboards/api/api.go b/pkg/services/publicdashboards/api/api.go index edc9fc5f7cc..708918f14f2 100644 --- a/pkg/services/publicdashboards/api/api.go +++ b/pkg/services/publicdashboards/api/api.go @@ -101,7 +101,7 @@ func (api *Api) ListPublicDashboards(c *contextmodel.ReqContext) response.Respon } resp, err := api.PublicDashboardService.FindAllWithPagination(c.Req.Context(), &PublicDashboardListQuery{ - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), Query: c.Query("query"), Page: page, Limit: perPage, @@ -123,7 +123,7 @@ func (api *Api) GetPublicDashboard(c *contextmodel.ReqContext) response.Response return response.Err(ErrPublicDashboardIdentifierNotSet.Errorf("GetPublicDashboard: no dashboard Uid for public dashboard specified")) } - pd, err := api.PublicDashboardService.FindByDashboardUid(c.Req.Context(), c.OrgID, dashboardUid) + pd, err := api.PublicDashboardService.FindByDashboardUid(c.Req.Context(), c.SignedInUser.GetOrgID(), dashboardUid) if err != nil { return response.Err(err) } @@ -164,7 +164,7 @@ func (api *Api) CreatePublicDashboard(c *contextmodel.ReqContext) response.Respo // Always set the orgID and userID from the session dto := &SavePublicDashboardDTO{ UserId: c.UserID, - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), DashboardUid: dashboardUid, PublicDashboard: pdDTO, } @@ -201,7 +201,7 @@ func (api *Api) UpdatePublicDashboard(c *contextmodel.ReqContext) response.Respo dto := SavePublicDashboardDTO{ Uid: uid, UserId: c.UserID, - OrgID: c.OrgID, + OrgID: c.SignedInUser.GetOrgID(), DashboardUid: dashboardUid, PublicDashboard: pdDTO, } diff --git a/pkg/services/quota/quotaimpl/quota.go b/pkg/services/quota/quotaimpl/quota.go index b4213fd10a5..b894f6ec97f 100644 --- a/pkg/services/quota/quotaimpl/quota.go +++ b/pkg/services/quota/quotaimpl/quota.go @@ -84,7 +84,7 @@ func (s *service) QuotaReached(c *contextmodel.ReqContext, targetSrv quota.Targe params := "a.ScopeParameters{} if c.IsSignedIn { - params.OrgID = c.OrgID + params.OrgID = c.SignedInUser.GetOrgID() params.UserID = c.UserID } return s.CheckQuotaReached(c.Req.Context(), targetSrv, params) diff --git a/pkg/services/searchV2/http.go b/pkg/services/searchV2/http.go index 09f99413643..8751da74eda 100644 --- a/pkg/services/searchV2/http.go +++ b/pkg/services/searchV2/http.go @@ -5,9 +5,10 @@ import ( "errors" "io" + "github.com/prometheus/client_golang/prometheus" + "github.com/grafana/grafana-plugin-sdk-go/backend" "github.com/grafana/grafana-plugin-sdk-go/data" - "github.com/prometheus/client_golang/prometheus" "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/api/routing" @@ -32,7 +33,7 @@ func (s *searchHTTPService) RegisterHTTPRoutes(storageRoute routing.RouteRegiste } func (s *searchHTTPService) doQuery(c *contextmodel.ReqContext) response.Response { - searchReadinessCheckResp := s.search.IsReady(c.Req.Context(), c.OrgID) + searchReadinessCheckResp := s.search.IsReady(c.Req.Context(), c.SignedInUser.GetOrgID()) if !searchReadinessCheckResp.IsReady { dashboardSearchNotServedRequestsCounter.With(prometheus.Labels{ "reason": searchReadinessCheckResp.Reason, @@ -57,7 +58,7 @@ func (s *searchHTTPService) doQuery(c *contextmodel.ReqContext) response.Respons return response.Error(400, "error parsing body", err) } - resp := s.search.doDashboardQuery(c.Req.Context(), c.SignedInUser, c.OrgID, *query) + resp := s.search.doDashboardQuery(c.Req.Context(), c.SignedInUser, c.SignedInUser.GetOrgID(), *query) if resp.Error != nil { return response.Error(500, "error handling search request", resp.Error) diff --git a/pkg/services/store/entity/httpentitystore/service.go b/pkg/services/store/entity/httpentitystore/service.go index 00aa7c99a83..6b992f50f2e 100644 --- a/pkg/services/store/entity/httpentitystore/service.go +++ b/pkg/services/store/entity/httpentitystore/service.go @@ -70,7 +70,7 @@ func (s *httpEntityStore) getGRNFromRequest(c *contextmodel.ReqContext) (*grn.GR } } return &grn.GRN{ - TenantID: c.OrgID, + TenantID: c.SignedInUser.GetOrgID(), ResourceKind: params[":kind"], ResourceIdentifier: params[":uid"], }, params, nil @@ -267,7 +267,7 @@ func (s *httpEntityStore) doUpload(c *contextmodel.ReqContext) response.Response grn := &grn.GRN{ ResourceIdentifier: uid, ResourceKind: kind.ID, - TenantID: c.OrgID, + TenantID: c.SignedInUser.GetOrgID(), } if !overwriteExistingFile { diff --git a/pkg/services/store/http.go b/pkg/services/store/http.go index 9338660a1c8..939995011e8 100644 --- a/pkg/services/store/http.go +++ b/pkg/services/store/http.go @@ -272,7 +272,7 @@ func (s *standardStorageService) list(c *contextmodel.ReqContext) response.Respo func (s *standardStorageService) getConfig(c *contextmodel.ReqContext) response.Response { roots := make([]RootStorageMeta, 0) - orgId := c.OrgID + orgId := c.SignedInUser.GetOrgID() t := s.tree t.assureOrgIsInitialized(orgId)