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:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user