RBAC: Remove legacy ac from authorization middleware (#68898)

remove legacy AC fallback from RBAC middleware, and some unused auth logic
This commit is contained in:
Ieva
2023-05-24 09:49:42 +01:00
committed by GitHub
parent 323cbe1997
commit 4980b64274
21 changed files with 214 additions and 437 deletions
-34
View File
@@ -30,7 +30,6 @@ type store interface {
RemoveMember(ctx context.Context, cmd *team.RemoveTeamMemberCommand) error
GetMemberships(ctx context.Context, orgID, userID int64, external bool) ([]*team.TeamMemberDTO, error)
GetMembers(ctx context.Context, query *team.GetTeamMembersQuery) ([]*team.TeamMemberDTO, error)
IsAdmin(ctx context.Context, query *team.IsAdminOfTeamsQuery) (bool, error)
}
type xormStore struct {
@@ -558,36 +557,3 @@ func (ss *xormStore) getTeamMembers(ctx context.Context, query *team.GetTeamMemb
}
return queryResult, nil
}
func (ss *xormStore) IsAdmin(ctx context.Context, query *team.IsAdminOfTeamsQuery) (bool, error) {
queryResult := false
err := ss.db.WithDbSession(ctx, func(sess *db.Session) error {
sql := `SELECT COUNT(team.id) AS count
FROM team
INNER JOIN team_member ON team_member.team_id = team.id
WHERE team.org_id = ?
AND team_member.user_id = ?
AND team_member.permission = ?`
params := []interface{}{
query.SignedInUser.OrgID,
query.SignedInUser.UserID,
dashboards.PERMISSION_ADMIN,
}
type teamCount struct {
Count int64
}
resp := make([]*teamCount, 0)
if err := sess.SQL(sql, params...).Find(&resp); err != nil {
return err
}
queryResult = len(resp) > 0 && resp[0].Count > 0
return nil
})
return queryResult, err
}
-20
View File
@@ -319,26 +319,6 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) {
require.Equal(t, len(permQueryResult), 0)
})
t.Run("Should be able to return if user is admin of teams or not", func(t *testing.T) {
sqlStore = db.InitTestDB(t)
setup()
groupId := team2.ID
err := teamSvc.AddTeamMember(userIds[0], testOrgID, groupId, false, 0)
require.NoError(t, err)
err = teamSvc.AddTeamMember(userIds[1], testOrgID, groupId, false, dashboards.PERMISSION_ADMIN)
require.NoError(t, err)
query := &team.IsAdminOfTeamsQuery{SignedInUser: &user.SignedInUser{OrgID: testOrgID, UserID: userIds[0]}}
queryResult, err := teamSvc.IsAdminOfTeams(context.Background(), query)
require.NoError(t, err)
require.False(t, queryResult)
query = &team.IsAdminOfTeamsQuery{SignedInUser: &user.SignedInUser{OrgID: testOrgID, UserID: userIds[1]}}
queryResult, err = teamSvc.IsAdminOfTeams(context.Background(), query)
require.NoError(t, err)
require.True(t, queryResult)
})
t.Run("Should not return hidden users in team member count", func(t *testing.T) {
sqlStore = db.InitTestDB(t)
setup()
-4
View File
@@ -68,7 +68,3 @@ func (s *Service) GetUserTeamMemberships(ctx context.Context, orgID, userID int6
func (s *Service) GetTeamMembers(ctx context.Context, query *team.GetTeamMembersQuery) ([]*team.TeamMemberDTO, error) {
return s.store.GetMembers(ctx, query)
}
func (s *Service) IsAdminOfTeams(ctx context.Context, query *team.IsAdminOfTeamsQuery) (bool, error) {
return s.store.IsAdmin(ctx, query)
}