graphql-engine/server/src-lib/Hasura/Backends/Postgres/Instances/API.hs
Rakesh Emmadi f2a5d7cef3 server/pro/multitenant: Postgres connection routing using kriti templates
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6822
Co-authored-by: paritosh-08 <85472423+paritosh-08@users.noreply.github.com>
Co-authored-by: Naveen Naidu <30195193+Naveenaidu@users.noreply.github.com>
Co-authored-by: Sooraj <8408875+soorajshankar@users.noreply.github.com>
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
Co-authored-by: Sean Park-Ross <94021366+seanparkross@users.noreply.github.com>
GitOrigin-RevId: 61cfc00a97de88df1ede3f26829a0d78ec9c0bc5
2023-01-25 07:14:31 +00:00

65 lines
2.3 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),
nativeAccessCommands @('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)
]
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)
]