Projects STRLCPY graphql-engine Files
🤬
72 lines | ISO-8859-1 | 1 KB

Setup table

Create the table using the console:

Table name: profile

Columns:

id: Integer auto-increment
name: Text
address: Text
lat: Numeric, Nullable
lng: Numeric, Nullable

Deploy Google Cloud function

We are going to use Google Maps API in our cloud function.

Enable Google Maps API and get an API key (we'll call it GMAPS_API_KEY) following this guide

Check the Places box to get access to Geocoding API.

We'll follow this guide and create a Cloud Function with NodeJS 8.

gcloud components update &&
gcloud components install beta

Goto the cloudfunction directory:

cd cloudfunction

Edit .env.yaml and add values for the following as shown:

# .env.yaml
GMAPS_API_KEY: '[GMAPS_API_KEY]'
HASURA_GRAPHQL_ENGINE_URL: 'http://[HGE_IP]/v1/graphql'
gcloud beta functions deploy trigger \
       --runtime nodejs8 \
       --trigger-http \
       --region asia-south1 \
       --env-vars-file .env.yaml

Get the trigger URL:

httpsTrigger:
  url: https://asia-south1-hasura-test.cloudfunctions.net/trigger

Goto HGE_IP on browser, Events -> Add Trigger and create a new trigger:

Trigger name: profile_change
Schema/Table: public/profile
Operations: Insert
Webhook URL: [Trigger URL]

Once the trigger is created, goto Data -> profile -> Insert row and add a new profile with name and address, save. Goto Browse rows tabs to see lat and lng updated, by the cloud function.

Please wait...
Page is in error, reload to recover