GraphQL (part 2): Model changes and resolvers (#19486)

This PR adds the necessary resolvers to support
the graphQL front-end. Some additional methods
need to be added to the model structs to support
this. Comments have been made to clarify their purpose.

There is a slight duplication of code in the api layer.
But eventually that's going to go away when we move
away from the REST API entirely.

The schema is in api4/schema.graphqls and gets compiled
into the binary as an asset.

The GraphiQL editor url is at GET /api/v5/graphql.

Everything is behind the feature flag MM_FEATUREFLAGS_GRAPHQL.

```release-note
NONE
```
Этот коммит содержится в:
Agniva De Sarker
2022-02-11 12:37:05 +05:30
коммит произвёл GitHub
родитель 88968f9e17
Коммит 3f52bd197a
93 изменённых файлов: 9479 добавлений и 22 удалений

Просмотреть файл

@@ -69,6 +69,9 @@ type FeatureFlags struct {
// Enable Workspace optimization dashboard
WorkspaceOptimizationDashboard bool
// Enable GraphQL feature
GraphQL bool
}
func (f *FeatureFlags) SetDefaults() {
@@ -93,6 +96,7 @@ func (f *FeatureFlags) SetDefaults() {
f.BoardsDataRetention = false
f.NormalizeLdapDNs = false
f.WorkspaceOptimizationDashboard = false
f.GraphQL = false
}
func (f *FeatureFlags) Plugins() map[string]string {