❄ GraphQL API with Hasura

πŸ“˜

This guide will get you oriented in Hasura

If you run Faros CE locally, you can access the Hasura UI at http://localhost:8080
You can also play with our GraphQL test endpoint at https://community.faros.ai/graphql

Hasura provides a GraphQL layer on top of your database, automatically leveraging the key relationships between your tables. It provides facilities for interacting with the canonical models in Faros CE including GraphQL Explorer, data explorer for Postgres database, injecting custom logic, API stitching and eventing.

GraphQL endpoint

The GraphQL endpoint is typically /v1/graphql; you can find its location in the Hasura UI. This is the endpoint used by the Faros Destination connector and Faros Events CLI to write data into Faros CE.

It is possible to create REST endpoints from your GraphQL queries. Read more here in the Hasura UI.

The GraphQL Explorer

The GraphQL explorer is the default screen of the Hasura UI, aka the API Tab. This UI allows you to create GraphQL queries by navigating relationships and selecting fields. For example, notice how vcs_PullRequestReviews can be expanded from vcs_PullRequests. The explorer is useful for prototyping queries for automation use cases.

3334

Interacting with the PostgreSQL database

The Data Tab allows you to easily interact with the underlying PostgreSQL database. You can inspect tables, their schema and relationship, insert data, or just run plain SQL.

Injecting Custom Logic

It is possible to inject custom logic in the handling of a GraphQL API call through the Actions Tab.

API stitching

If you have other GraphQL endpoints pertaining to the data managed by Faros CE, you can augment our GraphQL endpoint in the Remote Schemas Tab.

Eventing

You can receive webhook calls from Hasura on insert, update, and delete events. Go to the Events tab for more details.