Giter Club home page Giter Club logo

graphql-engine-rs's Introduction

graphql-engine-rs

Build & Test Workflow badge

The Hasura GraphQL Engine - in Rust

This is not official. This is just a toy project.

We can run GraphQL queries as of now. More features related to the metadata, GraphQL schema (with introspection support) subscriptions and so on...will be arriving soon!

Here's a short clip of the same:

To_Infinity_and_Beyond.mov
FOR RUNNING THE TEST SUITE
  • Use a env. var named DATABASE_URL to set the database that'll be used to run the tests.
  • Make sure to run the set up the database schema(s) for the tests from here.

More Documentation and Implementation details will be published soon!

graphql-engine-rs's People

Contributors

kolharsam avatar iykekings avatar

Stargazers

Roman avatar Ajeet D'Souza avatar Christoph avatar Emmanuel Salomon avatar Abby Sassel avatar Aravind K P avatar Tirumarai Selvan avatar Naveen Naidu avatar  avatar Shraddha Agrawal avatar

Watchers

James Cloos avatar  avatar

Forkers

kheele

graphql-engine-rs's Issues

graphql/json: check casing of values in responses

Functionality-wise:
This might be sth we didn't catch earlier-on:
When I send this payload

{
    limitUsers: users(limit: 1) {
        first_name
        last_name
    }
}

I get this back with the users' alias changed to lowercase

{
    "data": {
        "limitusers": [
            {
                "first_name": "Ikechukwu",
                "last_name": "Eze"
            }
        ]
    }
}

Originally posted by @iykekings in #22 (comment)

graphql: use the right data structure that would eventually allow us to make nested queries possible

// FIXME: make this recursive too, this is just one level now...

Currently, we're using a map that would have the key to be the name of the root of the selection set.

So, if you have a graphql query like this

query {
     user {
          user_id
          name
     }
}

With our current code, support nested queries would be very difficult to achieve. Hence we need to come up with a better plan to tackle the same.

graphql: add support for selection sets

Currently, we only have the ability to provide the response to the users if it's a query. Since a selection set is part of a query, we should be able to extend the support here as well.

graphql: add support for aliases for fields

The GraphQL spec supports aliases and the current parser that we have also recognises them.

query {
     user: user_table {
          user_id: id
          name: user_name
     }
}

Either we have to

  • remap the JSON upon obtaining the result from the DB [which I think is slightly harder]

OR

  • update the SQL gen function to accommodate queries with aliases (the magical AS keyword)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.