{-# LANGUAGE UndecidableInstances #-}
module Hasura.RQL.Types.SourceConfiguration
( HasSourceConfiguration (..),
Representable,
)
where
import Autodocodec (HasCodec)
import Data.Aeson.Extended
import Data.Has
import Data.Kind (Type)
import Hasura.Prelude
import Hasura.RQL.Types.BackendTag
import Hasura.RQL.Types.BackendType
type Representable a = (Show a, Eq a, Hashable a, NFData a)
class
( Representable (SourceConnConfiguration b),
HasCodec (SourceConnConfiguration b),
FromJSON (SourceConnConfiguration b),
ToJSON (SourceConfig b),
ToJSON (SourceConnConfiguration b),
Eq (SourceConfig b),
Has (ScalarTypeParsingContext b) (SourceConfig b),
Eq (ScalarTypeParsingContext b),
Ord (ScalarTypeParsingContext b),
HasTag b
) =>
HasSourceConfiguration (b :: BackendType)
where
type ScalarTypeParsingContext b
type ScalarTypeParsingContext b = ()
type SourceConnConfiguration b :: Type
type SourceConfig b :: Type
sourceConfigNumReadReplicas :: SourceConfig b -> Int
sourceConfigConnectonTemplateEnabled :: SourceConfig b -> Bool
sourceConfigBackendSourceKind :: SourceConfig b -> BackendSourceKind b