Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GraphQL API #738

Closed
9 of 13 tasks
kevinhughes27 opened this issue Nov 19, 2017 · 0 comments
Closed
9 of 13 tasks

GraphQL API #738

kevinhughes27 opened this issue Nov 19, 2017 · 0 comments

Comments

@kevinhughes27
Copy link
Owner

kevinhughes27 commented Nov 19, 2017

required for #750

In order to re-write the Admin interface fully in React.js and to enable a better multi-client architecture long term I want to complete the GraphQL API to include all models and operations. GraphQL is a more powerful and opinionated way of specifying a backend API compared to Rails controllers. Its also the new hotness in API design so its a good resume line these days 😝. The long term vision is to remove all the Rails controllers except for GraphQL and controllers which serve React applications.

I started a GraphQL API when I built the new player app. It currently serves a limited set of the models required in the player app and only has a single Mutation query - SubmitScoreReport. The current GraphQL API is also fully public which won't work for the Admin, we'll need to add appropriate authentication to certain mutations and queries.

The following things need to be done to finish the API:

  • Integrate authentication into the GraphQL API
  • Add some tests that actually hit the GraphQL API
  • Add all mutations to the GraphQL schema
  • port all operation tests to api tests
  • Call Graphql mutations directly in legacy controllers
  • Pull mutation operation logic right into mutation definition and remove operation classes
  • Add remaining simple operations
  • Add all models to the schema
  • check API consistency
  • Add Relay specific things
    • Global IDs Relay global ids #776 waiting on ship to avoid issues with legacy admin
    • Node field? Nesting everything under viewer to allow using relay updater config? experiment with this after shipping Admin Next #750
  • Advanced queries - Pagination and Search
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant