Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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 #
metadataV1CommandParsers :: [CommandParser b] Source #
Instances
BackendAPI 'BigQuery Source # | |
Defined in Hasura.Backends.BigQuery.Instances.API metadataV1CommandParsers :: [CommandParser 'BigQuery] Source # | |
BackendAPI 'DataConnector Source # | |
Defined in Hasura.Backends.DataConnector.Adapter.API metadataV1CommandParsers :: [CommandParser 'DataConnector] Source # | |
BackendAPI 'MSSQL Source # | |
Defined in Hasura.Backends.MSSQL.Instances.API metadataV1CommandParsers :: [CommandParser 'MSSQL] Source # | |
BackendAPI ('Postgres 'Citus) Source # | |
Defined in Hasura.Backends.Postgres.Instances.API metadataV1CommandParsers :: [CommandParser ('Postgres 'Citus)] Source # | |
BackendAPI ('Postgres 'Cockroach) Source # | |
Defined in Hasura.Backends.Postgres.Instances.API metadataV1CommandParsers :: [CommandParser ('Postgres 'Cockroach)] Source # | |
BackendAPI ('Postgres 'Vanilla) Source # | |
Defined in Hasura.Backends.Postgres.Instances.API metadataV1CommandParsers :: [CommandParser ('Postgres 'Vanilla)] Source # |
:: 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 #