graphql-engine/server/src-lib/Hasura/Backends/Postgres/Instances/API.hs
Daniel Harvey 7227e96278 feature(server): custom return types as discreet metadata entity
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8556
Co-authored-by: Tom Harding <6302310+i-am-tom@users.noreply.github.com>
GitOrigin-RevId: b7dcbcf378279c3bf4c8d223174b90c2cb4b9e53
2023-03-30 15:15:11 +00:00

68 lines
2.4 KiB
Haskell

{-# OPTIONS_GHC -fno-warn-orphans #-}
-- | Postgres Instances API
--
-- Defines a 'Hasura.Server.API.Backend.BackendAPI' type class instance for Postgres.
module Hasura.Backends.Postgres.Instances.API () where
import Hasura.Prelude
import Hasura.SQL.AnyBackend (mkAnyBackend)
import Hasura.SQL.Backend
import Hasura.Server.API.Backend
import {-# SOURCE #-} Hasura.Server.API.Metadata
instance BackendAPI ('Postgres 'Vanilla) where
metadataV1CommandParsers =
concat
[ sourceCommands @('Postgres 'Vanilla),
tableCommands @('Postgres 'Vanilla),
tablePermissionsCommands @('Postgres 'Vanilla),
functionCommands @('Postgres 'Vanilla),
functionPermissionsCommands @('Postgres 'Vanilla),
relationshipCommands @('Postgres 'Vanilla),
remoteRelationshipCommands @('Postgres 'Vanilla),
eventTriggerCommands @('Postgres 'Vanilla),
computedFieldCommands @('Postgres 'Vanilla),
logicalModelsCommands @('Postgres 'Vanilla),
customReturnTypesCommands @('Postgres 'Vanilla),
[ commandParser
"set_table_is_enum"
( RMPgSetTableIsEnum
. mkAnyBackend @('Postgres 'Vanilla)
)
],
connectionTemplateCommands @('Postgres 'Vanilla)
]
instance BackendAPI ('Postgres 'Citus) where
metadataV1CommandParsers =
concat
[ sourceCommands @('Postgres 'Citus),
tableCommands @('Postgres 'Citus),
tablePermissionsCommands @('Postgres 'Citus),
functionCommands @('Postgres 'Citus),
functionPermissionsCommands @('Postgres 'Citus),
relationshipCommands @('Postgres 'Citus),
remoteRelationshipCommands @('Postgres 'Citus),
connectionTemplateCommands @('Postgres 'Citus),
logicalModelsCommands @('Postgres 'Citus)
]
instance BackendAPI ('Postgres 'Cockroach) where
metadataV1CommandParsers =
concat
[ sourceCommands @('Postgres 'Cockroach),
tableCommands @('Postgres 'Cockroach),
tablePermissionsCommands @('Postgres 'Cockroach),
relationshipCommands @('Postgres 'Cockroach),
remoteRelationshipCommands @('Postgres 'Cockroach),
[ commandParser
"set_table_is_enum"
( RMPgSetTableIsEnum
. mkAnyBackend @('Postgres 'Cockroach)
)
],
connectionTemplateCommands @('Postgres 'Cockroach),
logicalModelsCommands @('Postgres 'Cockroach)
]