Teams: Fix missing context in team service (#83327)

fix missing context in team service
This commit is contained in:
Jo
2024-02-27 11:10:54 +01:00
committed by GitHub
parent 81eded16aa
commit cc3b088b6c
8 changed files with 31 additions and 31 deletions

View File

@@ -641,7 +641,7 @@ func TestIntegrationMergeUser(t *testing.T) {
userWithUpperCase, err := usrSvc.Create(context.Background(), &dupUserEmailcmd) userWithUpperCase, err := usrSvc.Create(context.Background(), &dupUserEmailcmd)
require.NoError(t, err) require.NoError(t, err)
// this is the user we want to update to another team // 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) require.NoError(t, err)
// get users // get users

View File

@@ -255,7 +255,7 @@ func createUserAndTeam(t *testing.T, userSrv user.Service, teamSvc team.Service,
team, err := teamSvc.CreateTeam("team", "", orgID) team, err := teamSvc.CreateTeam("team", "", orgID)
require.NoError(t, err) 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) require.NoError(t, err)
return user, team 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) team, err := svcs.teamSvc.CreateTeam(fmt.Sprintf("team%v", i+1), "", orgID)
require.NoError(t, err) 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) require.NoError(t, err)
err = svcs.orgSvc.UpdateOrgUser(context.Background(), err = svcs.orgSvc.UpdateOrgUser(context.Background(),

View File

@@ -170,7 +170,7 @@ func generateTeamsAndUsers(b *testing.B, db *sqlstore.SQLStore, users int) ([]in
globalUserId++ globalUserId++
userIds = append(userIds, userId) 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) require.NoError(b, err)
} }
} }

View File

@@ -14,7 +14,7 @@ type Service interface {
GetTeamByID(ctx context.Context, query *GetTeamByIDQuery) (*TeamDTO, error) GetTeamByID(ctx context.Context, query *GetTeamByIDQuery) (*TeamDTO, error)
GetTeamsByUser(ctx context.Context, query *GetTeamsByUserQuery) ([]*TeamDTO, error) GetTeamsByUser(ctx context.Context, query *GetTeamsByUserQuery) ([]*TeamDTO, error)
GetTeamIDsByUser(ctx context.Context, query *GetTeamIDsByUserQuery) ([]int64, 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 UpdateTeamMember(ctx context.Context, cmd *UpdateTeamMemberCommand) error
IsTeamMember(orgId int64, teamId int64, userId int64) (bool, error) IsTeamMember(orgId int64, teamId int64, userId int64) (bool, error)
RemoveTeamMember(ctx context.Context, cmd *RemoveTeamMemberCommand) error RemoveTeamMember(ctx context.Context, cmd *RemoveTeamMemberCommand) error

View File

@@ -26,7 +26,7 @@ type store interface {
GetByUser(ctx context.Context, query *team.GetTeamsByUserQuery) ([]*team.TeamDTO, error) GetByUser(ctx context.Context, query *team.GetTeamsByUserQuery) ([]*team.TeamDTO, error)
GetIDsByUser(ctx context.Context, query *team.GetTeamIDsByUserQuery) ([]int64, error) GetIDsByUser(ctx context.Context, query *team.GetTeamIDsByUserQuery) ([]int64, error)
RemoveUsersMemberships(ctx context.Context, userID 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 UpdateMember(ctx context.Context, cmd *team.UpdateTeamMemberCommand) error
IsMember(orgId int64, teamId int64, userId int64) (bool, error) IsMember(orgId int64, teamId int64, userId int64) (bool, error)
RemoveMember(ctx context.Context, cmd *team.RemoveTeamMemberCommand) 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 // AddTeamMember adds a user to a team
func (ss *xormStore) AddMember(userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error { func (ss *xormStore) AddMember(ctx context.Context, userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error {
return ss.db.WithTransactionalDbSession(context.Background(), func(sess *db.Session) error { return ss.db.WithTransactionalDbSession(ctx, func(sess *db.Session) error {
if isMember, err := isTeamMember(sess, orgID, teamID, userID); err != nil { if isMember, err := isTeamMember(sess, orgID, teamID, userID); err != nil {
return err return err
} else if isMember { } else if isMember {

View File

@@ -92,9 +92,9 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) {
require.Equal(t, team1.OrgID, testOrgID) require.Equal(t, team1.OrgID, testOrgID)
require.EqualValues(t, team1.MemberCount, 0) 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) 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) require.NoError(t, err)
q1 := &team.GetTeamMembersQuery{OrgID: testOrgID, TeamID: team1.ID, SignedInUser: testUser} q1 := &team.GetTeamMembersQuery{OrgID: testOrgID, TeamID: team1.ID, SignedInUser: testUser}
@@ -152,7 +152,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) {
team1 := teamQueryResult.Teams[0] 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) require.NoError(t, err)
memberQuery := &team.GetTeamMembersQuery{OrgID: testOrgID, TeamID: team1.ID, External: true, SignedInUser: testUser} 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) { t.Run("Should be able to update users in a team", func(t *testing.T) {
userId := userIds[0] 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) require.NoError(t, err)
qBeforeUpdate := &team.GetTeamMembersQuery{OrgID: testOrgID, TeamID: team1.ID, SignedInUser: testUser} qBeforeUpdate := &team.GetTeamMembersQuery{OrgID: testOrgID, TeamID: team1.ID, SignedInUser: testUser}
@@ -195,7 +195,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) {
sqlStore = db.InitTestDB(t) sqlStore = db.InitTestDB(t)
setup() setup()
userID := userIds[0] 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) require.NoError(t, err)
qBeforeUpdate := &team.GetTeamMembersQuery{OrgID: testOrgID, TeamID: team1.ID, SignedInUser: testUser} qBeforeUpdate := &team.GetTeamMembersQuery{OrgID: testOrgID, TeamID: team1.ID, SignedInUser: testUser}
@@ -251,7 +251,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
// Add a team member // 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) require.NoError(t, err)
defer func() { defer func() {
err := teamSvc.RemoveTeamMember(context.Background(), err := teamSvc.RemoveTeamMember(context.Background(),
@@ -304,7 +304,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) {
sqlStore = db.InitTestDB(t) sqlStore = db.InitTestDB(t)
setup() setup()
groupId := team2.ID 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) require.NoError(t, err)
query := &team.GetTeamsByUserQuery{ 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) { 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) require.NoError(t, err)
err = teamSvc.RemoveTeamMember(context.Background(), &team.RemoveTeamMemberCommand{OrgID: testOrgID, TeamID: team1.ID, UserID: userIds[0]}) 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) { 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) require.NoError(t, err)
t.Run("A user should be able to remove the admin permission for the last admin", func(t *testing.T) { 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) sqlStore = db.InitTestDB(t)
setup() 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) 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) require.NoError(t, err)
err = teamSvc.UpdateTeamMember(context.Background(), &team.UpdateTeamMemberCommand{OrgID: testOrgID, TeamID: team1.ID, UserID: userIds[0], Permission: 0}) err = teamSvc.UpdateTeamMember(context.Background(), &team.UpdateTeamMemberCommand{OrgID: testOrgID, TeamID: team1.ID, UserID: userIds[0], Permission: 0})
require.NoError(t, err) require.NoError(t, err)
@@ -379,11 +379,11 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) {
hiddenUsers := map[string]struct{}{"loginuser0": {}, "loginuser1": {}} hiddenUsers := map[string]struct{}{"loginuser0": {}, "loginuser1": {}}
teamId := team1.ID 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) 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) 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) require.NoError(t, err)
searchQuery := &team.SearchTeamsQuery{OrgID: testOrgID, Page: 1, Limit: 10, SignedInUser: signedInUser, HiddenUsers: hiddenUsers} 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 groupId := team2.ID
// add service account to team // 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) require.NoError(t, err)
// add user to team // 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) require.NoError(t, err)
teamMembersQuery := &team.GetTeamMembersQuery{ teamMembersQuery := &team.GetTeamMembersQuery{
@@ -550,13 +550,13 @@ func TestIntegrationSQLStore_GetTeamMembers_ACFilter(t *testing.T) {
userIds[i] = user.ID 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) 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) 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) 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) require.NoError(t, errAddMember)
} }

View File

@@ -50,8 +50,8 @@ func (s *Service) GetTeamIDsByUser(ctx context.Context, query *team.GetTeamIDsBy
return s.store.GetIDsByUser(ctx, query) return s.store.GetIDsByUser(ctx, query)
} }
func (s *Service) AddTeamMember(userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error { func (s *Service) AddTeamMember(ctx context.Context, userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error {
return s.store.AddMember(userID, orgID, teamID, isExternal, permission) return s.store.AddMember(ctx, userID, orgID, teamID, isExternal, permission)
} }
func (s *Service) UpdateTeamMember(ctx context.Context, cmd *team.UpdateTeamMemberCommand) error { func (s *Service) UpdateTeamMember(ctx context.Context, cmd *team.UpdateTeamMemberCommand) error {

View File

@@ -45,7 +45,7 @@ func (s *FakeService) GetTeamsByUser(ctx context.Context, query *team.GetTeamsBy
return s.ExpectedTeamsByUser, s.ExpectedError 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 return s.ExpectedError
} }