hasura / hasura/graphql-engine

REST Endpoint Transformations

Open
#8,088 1 comment 3 reactions 0 assignees View on GitHub
k/enhancement
Dominant language
TypeScript
Stars
32.1k
Forks
3k
PR merge metrics
PR metrics pending

Description

### Is your proposal related to a problem?

I've had a couple situations where I've setup inbound REST endpoints in Hasura to handle webhooks, but what I'd like to store isn't always exactly what I'm receiving.

### Describe the solution you'd like

Now that we have transformations available for outbound data (events and actions), I think it would be really useful to have the equivalent for inbound data (REST endpoints). Essentially, being able to describe transformations that would manipulate inbound requests to match what I'd like to pass to the GraphQL request.

I guess there are security considerations... like it might be difficult to check secrets to validate incoming requests, but I think there's probably a way to solve that. Maybe something like the auth webhook.

### Describe alternatives you've considered

We use Hasura as a proxy to a remote schema, which isn't publicly exposed. We write resolvers that are structured to the format of the webhook data. Those apply the transformations and then make a request to Hasura to save the transformed data.

### If the feature is approved, would you be willing to submit a PR?

I'm not familiar with Haskell, and don't have the time to pick it up at the moment, so unfortunately no.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the REST endpoint and outbound transformation entry points, then compare them with the auth webhook flow described in the issue. Define how inbound requests should be transformed before reaching the GraphQL request, including secret validation and configuration; the issue names no files or tests, so the relevant implementation and acceptance checks must first be identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, haskell
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.