Move daily code coverage graph to GraphQL
This is an outcome of the discussion from !32681 (comment 348449956)
Two main driving points to why GraphQL is good:
- It is our vision to make it the primary mechanism to interact programatically with GitLab
- GraphQL increases frontend development productivity:
A big advantage of GraphQL is actually
frontend
related and that's speed of iteration. I surprised it's not in our doc as the primary reason for the change. With GraphQL, the frontend can easily gets all the data it needs without needing to ask BE engineers for new endpoints for existing data. If a resolver exists for a data structure, it can be picked anywhere in the app. This is a huge long term benefit for iteration speed. It also unclutters API responses as the client only gets what it asks for.
Some issues to consider and answer before we continue:
- The current endpoint is used both by download CSV and the graph. How do we deal with it? Do we have to separate them? Or can GraphQL make it work for both?
- This is already working fine with both download CSV and the graph, so is it still worth doing if we're gonna end up separating the endpoints for download CSV and the graph?