❄ 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.
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.
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.
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.
You can receive webhook calls from Hasura on insert, update, and delete events. Go to the Events tab for more details.
Updated about 1 year ago