Hasura heeft ondersteuning voor PostGIS ingebouwd in hun GraphQL-schema. Aangezien uw veld al van het type geography
is, , je hebt de functie niet nodig.
In Hasura moet je de relatie maken tussen de offers
en address
tabellen, en de GraphQL-query zou zoiets moeten zijn als:
query nearby_offers($point: geography!) {
offers(where: {address: {location: {_st_d_within: {distance: 200000, from: $point}}}}) {
id
offer_fields
address {
location
}
}
}
Geografietype in Hasura verwacht dat de waarde in GEOJSON
staat formaat. Hier ziet u hoe uw variabele $point
zou er als volgt uit moeten zien:
{
"point": {
"type" : "Point",
"coordinates": [longitude, latitude]
}
}
Hetzelfde type variabele (GEOJSON) wordt verwacht bij het invoegen van waarden (mutatie).