graphql-engine/server/src-lib/Hasura
David Overton 5c7489cc23 Flesh out capabilities types
>

## Description ✍️
->

Fleshes out the Capabilities types used by Data Connector agents.

### Related Issues ✍
->

https://hasurahq.atlassian.net/browse/GDW-85

### Solution and Design ✍
>

Capabilities are divided into sections for queries, mutation, subscriptions, filtering and relationships:
```haskell
data Capabilities = Capabilities
  { cQueries :: Maybe QueryCapabilities,
    cMutations :: Maybe MutationCapabilities,
    cSubscriptions :: Maybe SubscriptionCapabilities,
    cFiltering :: Maybe FilteringCapabilities,
    cRelationships :: Maybe RelationshipCapabilities
  }
```

Each section is optional. If the section is absent it means the the related capabilities are not supported by the agent.
The types for each section can contain additional details about exactly what is supported. E.g.
```haskell
data QueryCapabilities = QueryCapabilities
  { qcSupportsPrimaryKeys :: Bool
  }
```

These are currently mostly empty, but will be filled in later.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4671
GitOrigin-RevId: 3d48570266bfce5e177a543a0ed6f63a7b450f0b
2022-06-16 08:31:07 +00:00
..
Backends Flesh out capabilities types 2022-06-16 08:31:07 +00:00
Base server: migrate to aeson-2 in preparation for ghc 9.2 upgrade 2022-06-08 15:32:27 +00:00
Cache server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
Eventing server: migrate to aeson-2 in preparation for ghc 9.2 upgrade 2022-06-08 15:32:27 +00:00
GraphQL server: avoid some imports in Hasura.GraphQL.Parser.Class 2022-06-15 11:54:06 +00:00
Incremental server: migrate to aeson-2 in preparation for ghc 9.2 upgrade 2022-06-08 15:32:27 +00:00
Metadata server/telemetry: support multiple sources 2022-06-15 08:03:31 +00:00
RQL Remove Data.Set.Extended 2022-06-15 09:02:23 +00:00
Server server/telemetry: support multiple sources 2022-06-15 08:03:31 +00:00
SQL Weeding (2/?) 2022-06-09 16:40:49 +00:00
App.hs server/telemetry: support multiple sources 2022-06-15 08:03:31 +00:00
EncJSON.hs Fix JSON encoding issue (fix hasura/graphql-engine#7543 and hasura/graphql-engine#8200) 2022-04-05 19:11:30 +00:00
GC.hs server: add explicit export lists in OSS server and enforce with warning 2021-11-04 16:09:38 +00:00
HTTP.hs server: migrate to aeson-2 in preparation for ghc 9.2 upgrade 2022-06-08 15:32:27 +00:00
Incremental.hs server, pro: actually reformat the code-base using ormolu 2021-09-23 22:57:37 +00:00
Logging.hs Yeet some default-extensions 2022-03-16 00:40:17 +00:00
Prelude.hs server: migrate to aeson-2 in preparation for ghc 9.2 upgrade 2022-06-08 15:32:27 +00:00
QueryTags.hs server: support query tags for MSSQL data sources 2022-04-28 19:34:45 +00:00
Session.hs Weeding (2/?) 2022-06-09 16:40:49 +00:00
Tracing.hs server: Clean up some deriving statements 2022-05-24 07:22:55 +00:00