diff --git a/pkg/cmd/grafana-cli/commands/conflict_user_command_test.go b/pkg/cmd/grafana-cli/commands/conflict_user_command_test.go index 3a2e034ad82..0da42a55cbf 100644 --- a/pkg/cmd/grafana-cli/commands/conflict_user_command_test.go +++ b/pkg/cmd/grafana-cli/commands/conflict_user_command_test.go @@ -641,7 +641,7 @@ func TestIntegrationMergeUser(t *testing.T) { userWithUpperCase, err := usrSvc.Create(context.Background(), &dupUserEmailcmd) require.NoError(t, err) // this is the user we want to update to another team - err = teamSvc.AddTeamMember(userWithUpperCase.ID, testOrgID, team1.ID, false, 0) + err = teamSvc.AddTeamMember(context.Background(), userWithUpperCase.ID, testOrgID, team1.ID, false, 0) require.NoError(t, err) // get users diff --git a/pkg/services/accesscontrol/database/database_test.go b/pkg/services/accesscontrol/database/database_test.go index cbfbd43bb4d..a929cd6cb34 100644 --- a/pkg/services/accesscontrol/database/database_test.go +++ b/pkg/services/accesscontrol/database/database_test.go @@ -255,7 +255,7 @@ func createUserAndTeam(t *testing.T, userSrv user.Service, teamSvc team.Service, team, err := teamSvc.CreateTeam("team", "", orgID) require.NoError(t, err) - err = teamSvc.AddTeamMember(user.ID, orgID, team.ID, false, dashboardaccess.PERMISSION_VIEW) + err = teamSvc.AddTeamMember(context.Background(), user.ID, orgID, team.ID, false, dashboardaccess.PERMISSION_VIEW) require.NoError(t, err) return user, team @@ -303,7 +303,7 @@ func createUsersAndTeams(t *testing.T, svcs helperServices, orgID int64, users [ team, err := svcs.teamSvc.CreateTeam(fmt.Sprintf("team%v", i+1), "", orgID) require.NoError(t, err) - err = svcs.teamSvc.AddTeamMember(user.ID, orgID, team.ID, false, dashboardaccess.PERMISSION_VIEW) + err = svcs.teamSvc.AddTeamMember(context.Background(), user.ID, orgID, team.ID, false, dashboardaccess.PERMISSION_VIEW) require.NoError(t, err) err = svcs.orgSvc.UpdateOrgUser(context.Background(), diff --git a/pkg/services/accesscontrol/resourcepermissions/store_bench_test.go b/pkg/services/accesscontrol/resourcepermissions/store_bench_test.go index 887d199328e..f85a457573f 100644 --- a/pkg/services/accesscontrol/resourcepermissions/store_bench_test.go +++ b/pkg/services/accesscontrol/resourcepermissions/store_bench_test.go @@ -170,7 +170,7 @@ func generateTeamsAndUsers(b *testing.B, db *sqlstore.SQLStore, users int) ([]in globalUserId++ userIds = append(userIds, userId) - err = teamSvc.AddTeamMember(userId, 1, teamId, false, 1) + err = teamSvc.AddTeamMember(context.Background(), userId, 1, teamId, false, 1) require.NoError(b, err) } } diff --git a/pkg/services/team/team.go b/pkg/services/team/team.go index 74c51c5547f..5f1bca40244 100644 --- a/pkg/services/team/team.go +++ b/pkg/services/team/team.go @@ -14,7 +14,7 @@ type Service interface { GetTeamByID(ctx context.Context, query *GetTeamByIDQuery) (*TeamDTO, error) GetTeamsByUser(ctx context.Context, query *GetTeamsByUserQuery) ([]*TeamDTO, error) GetTeamIDsByUser(ctx context.Context, query *GetTeamIDsByUserQuery) ([]int64, error) - AddTeamMember(userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error + AddTeamMember(ctx context.Context, userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error UpdateTeamMember(ctx context.Context, cmd *UpdateTeamMemberCommand) error IsTeamMember(orgId int64, teamId int64, userId int64) (bool, error) RemoveTeamMember(ctx context.Context, cmd *RemoveTeamMemberCommand) error diff --git a/pkg/services/team/teamimpl/store.go b/pkg/services/team/teamimpl/store.go index 1a4a3e9bb33..915dcf41d5b 100644 --- a/pkg/services/team/teamimpl/store.go +++ b/pkg/services/team/teamimpl/store.go @@ -26,7 +26,7 @@ type store interface { GetByUser(ctx context.Context, query *team.GetTeamsByUserQuery) ([]*team.TeamDTO, error) GetIDsByUser(ctx context.Context, query *team.GetTeamIDsByUserQuery) ([]int64, error) RemoveUsersMemberships(ctx context.Context, userID int64) error - AddMember(userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error + AddMember(ctx context.Context, userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error UpdateMember(ctx context.Context, cmd *team.UpdateTeamMemberCommand) error IsMember(orgId int64, teamId int64, userId int64) (bool, error) RemoveMember(ctx context.Context, cmd *team.RemoveTeamMemberCommand) error @@ -355,8 +355,8 @@ WHERE tm.user_id=? AND tm.org_id=?;`, query.UserID, query.OrgID).Find(&queryResu } // AddTeamMember adds a user to a team -func (ss *xormStore) AddMember(userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error { - return ss.db.WithTransactionalDbSession(context.Background(), func(sess *db.Session) error { +func (ss *xormStore) AddMember(ctx context.Context, userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error { + return ss.db.WithTransactionalDbSession(ctx, func(sess *db.Session) error { if isMember, err := isTeamMember(sess, orgID, teamID, userID); err != nil { return err } else if isMember { diff --git a/pkg/services/team/teamimpl/store_test.go b/pkg/services/team/teamimpl/store_test.go index 5a3b09cd917..b78aefa50a9 100644 --- a/pkg/services/team/teamimpl/store_test.go +++ b/pkg/services/team/teamimpl/store_test.go @@ -92,9 +92,9 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) { require.Equal(t, team1.OrgID, testOrgID) require.EqualValues(t, team1.MemberCount, 0) - err = teamSvc.AddTeamMember(userIds[0], testOrgID, team1.ID, false, 0) + err = teamSvc.AddTeamMember(context.Background(), userIds[0], testOrgID, team1.ID, false, 0) require.NoError(t, err) - err = teamSvc.AddTeamMember(userIds[1], testOrgID, team1.ID, true, 0) + err = teamSvc.AddTeamMember(context.Background(), userIds[1], testOrgID, team1.ID, true, 0) require.NoError(t, err) q1 := &team.GetTeamMembersQuery{OrgID: testOrgID, TeamID: team1.ID, SignedInUser: testUser} @@ -152,7 +152,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) { team1 := teamQueryResult.Teams[0] - err = teamSvc.AddTeamMember(userId, testOrgID, team1.ID, true, 0) + err = teamSvc.AddTeamMember(context.Background(), userId, testOrgID, team1.ID, true, 0) require.NoError(t, err) memberQuery := &team.GetTeamMembersQuery{OrgID: testOrgID, TeamID: team1.ID, External: true, SignedInUser: testUser} @@ -168,7 +168,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) { t.Run("Should be able to update users in a team", func(t *testing.T) { userId := userIds[0] - err = teamSvc.AddTeamMember(userId, testOrgID, team1.ID, false, 0) + err = teamSvc.AddTeamMember(context.Background(), userId, testOrgID, team1.ID, false, 0) require.NoError(t, err) qBeforeUpdate := &team.GetTeamMembersQuery{OrgID: testOrgID, TeamID: team1.ID, SignedInUser: testUser} @@ -195,7 +195,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) { sqlStore = db.InitTestDB(t) setup() userID := userIds[0] - err = teamSvc.AddTeamMember(userID, testOrgID, team1.ID, false, 0) + err = teamSvc.AddTeamMember(context.Background(), userID, testOrgID, team1.ID, false, 0) require.NoError(t, err) qBeforeUpdate := &team.GetTeamMembersQuery{OrgID: testOrgID, TeamID: team1.ID, SignedInUser: testUser} @@ -251,7 +251,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) { require.NoError(t, err) // Add a team member - err = teamSvc.AddTeamMember(userIds[0], testOrgID, team2.ID, false, 0) + err = teamSvc.AddTeamMember(context.Background(), userIds[0], testOrgID, team2.ID, false, 0) require.NoError(t, err) defer func() { err := teamSvc.RemoveTeamMember(context.Background(), @@ -304,7 +304,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) { sqlStore = db.InitTestDB(t) setup() groupId := team2.ID - err := teamSvc.AddTeamMember(userIds[0], testOrgID, groupId, false, 0) + err := teamSvc.AddTeamMember(context.Background(), userIds[0], testOrgID, groupId, false, 0) require.NoError(t, err) query := &team.GetTeamsByUserQuery{ @@ -323,7 +323,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) { }) t.Run("Should be able to remove users from a group", func(t *testing.T) { - err = teamSvc.AddTeamMember(userIds[0], testOrgID, team1.ID, false, 0) + err = teamSvc.AddTeamMember(context.Background(), userIds[0], testOrgID, team1.ID, false, 0) require.NoError(t, err) err = teamSvc.RemoveTeamMember(context.Background(), &team.RemoveTeamMemberCommand{OrgID: testOrgID, TeamID: team1.ID, UserID: userIds[0]}) @@ -336,7 +336,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) { }) t.Run("Should have empty teams", func(t *testing.T) { - err = teamSvc.AddTeamMember(userIds[0], testOrgID, team1.ID, false, dashboardaccess.PERMISSION_ADMIN) + err = teamSvc.AddTeamMember(context.Background(), userIds[0], testOrgID, team1.ID, false, dashboardaccess.PERMISSION_ADMIN) require.NoError(t, err) t.Run("A user should be able to remove the admin permission for the last admin", func(t *testing.T) { @@ -353,10 +353,10 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) { sqlStore = db.InitTestDB(t) setup() - err = teamSvc.AddTeamMember(userIds[0], testOrgID, team1.ID, false, dashboardaccess.PERMISSION_ADMIN) + err = teamSvc.AddTeamMember(context.Background(), userIds[0], testOrgID, team1.ID, false, dashboardaccess.PERMISSION_ADMIN) require.NoError(t, err) - err = teamSvc.AddTeamMember(userIds[1], testOrgID, team1.ID, false, dashboardaccess.PERMISSION_ADMIN) + err = teamSvc.AddTeamMember(context.Background(), userIds[1], testOrgID, team1.ID, false, dashboardaccess.PERMISSION_ADMIN) require.NoError(t, err) err = teamSvc.UpdateTeamMember(context.Background(), &team.UpdateTeamMemberCommand{OrgID: testOrgID, TeamID: team1.ID, UserID: userIds[0], Permission: 0}) require.NoError(t, err) @@ -379,11 +379,11 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) { hiddenUsers := map[string]struct{}{"loginuser0": {}, "loginuser1": {}} teamId := team1.ID - err = teamSvc.AddTeamMember(userIds[0], testOrgID, teamId, false, 0) + err = teamSvc.AddTeamMember(context.Background(), userIds[0], testOrgID, teamId, false, 0) require.NoError(t, err) - err = teamSvc.AddTeamMember(userIds[1], testOrgID, teamId, false, 0) + err = teamSvc.AddTeamMember(context.Background(), userIds[1], testOrgID, teamId, false, 0) require.NoError(t, err) - err = teamSvc.AddTeamMember(userIds[2], testOrgID, teamId, false, 0) + err = teamSvc.AddTeamMember(context.Background(), userIds[2], testOrgID, teamId, false, 0) require.NoError(t, err) searchQuery := &team.SearchTeamsQuery{OrgID: testOrgID, Page: 1, Limit: 10, SignedInUser: signedInUser, HiddenUsers: hiddenUsers} @@ -418,11 +418,11 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) { groupId := team2.ID // add service account to team - err = teamSvc.AddTeamMember(serviceAccount.ID, testOrgID, groupId, false, 0) + err = teamSvc.AddTeamMember(context.Background(), serviceAccount.ID, testOrgID, groupId, false, 0) require.NoError(t, err) // add user to team - err = teamSvc.AddTeamMember(userIds[0], testOrgID, groupId, false, 0) + err = teamSvc.AddTeamMember(context.Background(), userIds[0], testOrgID, groupId, false, 0) require.NoError(t, err) teamMembersQuery := &team.GetTeamMembersQuery{ @@ -550,13 +550,13 @@ func TestIntegrationSQLStore_GetTeamMembers_ACFilter(t *testing.T) { userIds[i] = user.ID } - errAddMember := teamSvc.AddTeamMember(userIds[0], testOrgID, team1.ID, false, 0) + errAddMember := teamSvc.AddTeamMember(context.Background(), userIds[0], testOrgID, team1.ID, false, 0) require.NoError(t, errAddMember) - errAddMember = teamSvc.AddTeamMember(userIds[1], testOrgID, team1.ID, false, 0) + errAddMember = teamSvc.AddTeamMember(context.Background(), userIds[1], testOrgID, team1.ID, false, 0) require.NoError(t, errAddMember) - errAddMember = teamSvc.AddTeamMember(userIds[2], testOrgID, team2.ID, false, 0) + errAddMember = teamSvc.AddTeamMember(context.Background(), userIds[2], testOrgID, team2.ID, false, 0) require.NoError(t, errAddMember) - errAddMember = teamSvc.AddTeamMember(userIds[3], testOrgID, team2.ID, false, 0) + errAddMember = teamSvc.AddTeamMember(context.Background(), userIds[3], testOrgID, team2.ID, false, 0) require.NoError(t, errAddMember) } diff --git a/pkg/services/team/teamimpl/team.go b/pkg/services/team/teamimpl/team.go index 19527884400..11cef2ab58e 100644 --- a/pkg/services/team/teamimpl/team.go +++ b/pkg/services/team/teamimpl/team.go @@ -50,8 +50,8 @@ func (s *Service) GetTeamIDsByUser(ctx context.Context, query *team.GetTeamIDsBy return s.store.GetIDsByUser(ctx, query) } -func (s *Service) AddTeamMember(userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error { - return s.store.AddMember(userID, orgID, teamID, isExternal, permission) +func (s *Service) AddTeamMember(ctx context.Context, userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error { + return s.store.AddMember(ctx, userID, orgID, teamID, isExternal, permission) } func (s *Service) UpdateTeamMember(ctx context.Context, cmd *team.UpdateTeamMemberCommand) error { diff --git a/pkg/services/team/teamtest/team.go b/pkg/services/team/teamtest/team.go index 0f97e9077b3..2c6fccdf333 100644 --- a/pkg/services/team/teamtest/team.go +++ b/pkg/services/team/teamtest/team.go @@ -45,7 +45,7 @@ func (s *FakeService) GetTeamsByUser(ctx context.Context, query *team.GetTeamsBy return s.ExpectedTeamsByUser, s.ExpectedError } -func (s *FakeService) AddTeamMember(userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error { +func (s *FakeService) AddTeamMember(ctx context.Context, userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error { return s.ExpectedError }