graphql-engine-1.0.0: GraphQL API over Postgres
Safe HaskellSafe-Inferred
LanguageHaskell2010

Hasura.Server.API.Backend

Description

BackendAPI

This module defines the BackendAPI class, alongside a few helpers. Its goal is to delegate to backends the responsibility of creating the parsers for the metadata API. Each backend is expected to provide a list of CommandParser, which in turn is a simple function from command name and command arguments to a corresponding parser. Command parsers can easily be created using the commandParser function.

Furthermore, for each set of related features, such as table tracking commands, or permission commands, a helper function is provided, that allows a backend to write its instance by simply listing the set of features it supports.

Documentation

class BackendAPI (b :: BackendType) where Source #

Methods

metadataV1CommandParsers :: [CommandParser b] Source #

Instances

Instances details
BackendAPI 'BigQuery Source # 
Instance details

Defined in Hasura.Backends.BigQuery.Instances.API

Methods

metadataV1CommandParsers :: [CommandParser 'BigQuery] Source #

BackendAPI 'DataConnector Source # 
Instance details

Defined in Hasura.Backends.DataConnector.Adapter.API

Methods

metadataV1CommandParsers :: [CommandParser 'DataConnector] Source #

BackendAPI 'MSSQL Source # 
Instance details

Defined in Hasura.Backends.MSSQL.Instances.API

Methods

metadataV1CommandParsers :: [CommandParser 'MSSQL] Source #

BackendAPI ('Postgres 'Citus) Source # 
Instance details

Defined in Hasura.Backends.Postgres.Instances.API

Methods

metadataV1CommandParsers :: [CommandParser ('Postgres 'Citus)] Source #

BackendAPI ('Postgres 'Cockroach) Source # 
Instance details

Defined in Hasura.Backends.Postgres.Instances.API

Methods

metadataV1CommandParsers :: [CommandParser ('Postgres 'Cockroach)] Source #

BackendAPI ('Postgres 'Vanilla) Source # 
Instance details

Defined in Hasura.Backends.Postgres.Instances.API

Methods

metadataV1CommandParsers :: [CommandParser ('Postgres 'Vanilla)] Source #

commandParser Source #

Arguments

:: FromJSON a 
=> Text

expected command name

-> (a -> RQLMetadataV1)

corresponding parser

-> CommandParser b 

sourceCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

tableCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

tablePermissionsCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

functionCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

trackableCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

functionPermissionsCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

relationshipCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

remoteRelationshipCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

eventTriggerCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

computedFieldCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

connectionTemplateCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

nativeQueriesCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

storedProceduresCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #

logicalModelsCommands :: forall (b :: BackendType). Backend b => [CommandParser b] Source #