package services import ( edge2 "platform/web/domains/edge" m "platform/web/models" q "platform/web/queries" ) var Edge = &edgeService{} type edgeService struct{} func (s *edgeService) AllEdges(count int, filter EdgeFilter) ([]*m.Edge, error) { do := q.Edge.Where() if filter.Prov != "" { do = do.Where(q.Edge.Prov.Eq(filter.Prov)) } if filter.City != "" { do = do.Where(q.Edge.City.Eq(filter.City)) } if filter.Isp != "" { do = do.Where(q.Edge.Isp.Eq(int32(edge2.ISPFromStr(filter.Isp)))) } if count > 0 { do = do.Limit(count) } edges, err := q.Edge.Where(do).Find() if err != nil { return nil, err } return edges, nil } type EdgeInfo struct { } type EdgeFilter struct { Isp string `json:"isp"` Prov string `json:"prov"` City string `json:"city"` }