@@ -1608,19 +1608,20 @@ func (s *DataPlatformDataServiceServerImpl) ListLocations(
16081608
16091609 var locations []* pb.ListLocationsResponse_LocationSummary
16101610
1611- if req .EnclosingLocationUuidFilter == nil {
1612- lsprms := db.ListSourcesAtTimestampParams {
1613- OauthID : req .UserOauthIdFilter ,
1614- GeometryUuids : parsedUuids ,
1615- AtTimestampUtc : pgtype.Timestamp {Time : time .Now ().UTC (), Valid : true },
1616- PermissionID : permissionId ,
1617- SourceTypeID : sourceTypeId ,
1618- GeometryTypeID : locationTypeId ,
1611+ if req .EnclosingLocationUuidFilter != nil {
1612+ llprms := db.ListSourcesAtTimestampWithinParams {
1613+ OuterGeometryUuid : uuid .MustParse (* req .EnclosingLocationUuidFilter ),
1614+ AtTimestampUtc : pgtype.Timestamp {Time : time .Now ().UTC (), Valid : true },
1615+ OauthID : req .UserOauthIdFilter ,
1616+ GeometryUuids : parsedUuids ,
1617+ PermissionID : permissionId ,
1618+ SourceTypeID : sourceTypeId ,
1619+ GeometryTypeID : locationTypeId ,
16191620 }
16201621
1621- glResp , err := querier .ListSourcesAtTimestamp (ctx , lsprms )
1622+ glResp , err := querier .ListSourcesAtTimestampWithin (ctx , llprms )
16221623 if err != nil {
1623- l .Err (err ).Msgf ("querier.ListSourcesAtTimestamp (%+v)" , lsprms )
1624+ l .Err (err ).Msgf ("querier.ListSourcesAtTimestampWithin (%+v)" , llprms )
16241625 } else {
16251626 for _ , loc := range glResp {
16261627 metadata , err := jsonbToStruct (loc .SourceMetadata )
@@ -1647,9 +1648,9 @@ func (s *DataPlatformDataServiceServerImpl) ListLocations(
16471648 })
16481649 }
16491650 }
1650- } else {
1651- llprms := db.ListSourcesAtTimestampWithinParams {
1652- OuterGeometryUuid : uuid .MustParse (* req .EnclosingLocationUuidFilter ),
1651+ } else if req . EnclosedLocationUuidFilter != nil {
1652+ llprms := db.ListSourcesAtTimestampWithoutParams {
1653+ InnerGeometryUuid : uuid .MustParse (* req .EnclosedLocationUuidFilter ),
16531654 AtTimestampUtc : pgtype.Timestamp {Time : time .Now ().UTC (), Valid : true },
16541655 OauthID : req .UserOauthIdFilter ,
16551656 GeometryUuids : parsedUuids ,
@@ -1658,9 +1659,48 @@ func (s *DataPlatformDataServiceServerImpl) ListLocations(
16581659 GeometryTypeID : locationTypeId ,
16591660 }
16601661
1661- glResp , err := querier .ListSourcesAtTimestampWithin (ctx , llprms )
1662+ glResp , err := querier .ListSourcesAtTimestampWithout (ctx , llprms )
16621663 if err != nil {
1663- l .Err (err ).Msgf ("querier.ListSourcesAtTimestampWithin(%+v)" , llprms )
1664+ l .Err (err ).Msgf ("querier.ListSourcesAtTimestampWithout(%+v)" , llprms )
1665+ } else {
1666+ for _ , loc := range glResp {
1667+ metadata , err := jsonbToStruct (loc .SourceMetadata )
1668+ if err != nil {
1669+ l .Err (err ).Msgf ("jsonbToStruct(%s)" , loc .SourceMetadata )
1670+ metadata = nil
1671+ }
1672+
1673+ locations = append (locations , & pb.ListLocationsResponse_LocationSummary {
1674+ LocationUuid : loc .GeometryUuid .String (),
1675+ LocationName : loc .GeometryName ,
1676+ Latlng : & pb.LatLng {
1677+ Latitude : loc .Latitude ,
1678+ Longitude : loc .Longitude ,
1679+ },
1680+ EffectiveCapacityWatts : uint64 (
1681+ loc .Capacity ,
1682+ ) * uint64 (
1683+ math .Pow10 (int (loc .CapacityUnitPrefixFactor )),
1684+ ),
1685+ EnergySource : pb .EnergySource (loc .SourceTypeID ),
1686+ LocationType : pb .LocationType (loc .GeometryTypeID ),
1687+ Metadata : metadata ,
1688+ })
1689+ }
1690+ }
1691+ } else {
1692+ lsprms := db.ListSourcesAtTimestampParams {
1693+ OauthID : req .UserOauthIdFilter ,
1694+ GeometryUuids : parsedUuids ,
1695+ AtTimestampUtc : pgtype.Timestamp {Time : time .Now ().UTC (), Valid : true },
1696+ PermissionID : permissionId ,
1697+ SourceTypeID : sourceTypeId ,
1698+ GeometryTypeID : locationTypeId ,
1699+ }
1700+
1701+ glResp , err := querier .ListSourcesAtTimestamp (ctx , lsprms )
1702+ if err != nil {
1703+ l .Err (err ).Msgf ("querier.ListSourcesAtTimestamp(%+v)" , lsprms )
16641704 } else {
16651705 for _ , loc := range glResp {
16661706 metadata , err := jsonbToStruct (loc .SourceMetadata )
0 commit comments