github.com/infraboard/keyauth@v0.8.1/apps/endpoint/impl/resource.go (about) 1 package impl 2 3 import ( 4 "context" 5 6 "github.com/infraboard/keyauth/apps/endpoint" 7 "github.com/infraboard/mcube/http/request" 8 ) 9 10 const ( 11 // MaxQueryEndpoints todo 12 MaxQueryEndpoints = 1000 13 ) 14 15 func (s *service) QueryResources(ctx context.Context, req *endpoint.QueryResourceRequest) ( 16 *endpoint.ResourceSet, error) { 17 if err := req.Validate(); err != nil { 18 return nil, err 19 } 20 21 rs := endpoint.NewResourceSet() 22 queryE := endpoint.NewQueryEndpointRequest(request.NewPageRequest(MaxQueryEndpoints, 1)) 23 queryE.PermissionEnable = req.PermissionEnable 24 queryE.Resources = req.Resources 25 queryE.ServiceIds = req.ServiceIds 26 eps, err := s.QueryEndpoints(ctx, queryE) 27 if err != nil { 28 return nil, err 29 } 30 if eps.Total > MaxQueryEndpoints { 31 s.log.Warnf("service %s total endpoints > %d", req.ServiceIds, eps.Total) 32 } 33 34 rs.AddEndpointSet(eps) 35 return rs, nil 36 }