{-# LANGUAGE UndecidableInstances #-} module Hasura.LogicalModel.IR ( LogicalModel (..), ) where import Data.HashMap.Strict.InsOrd qualified as InsOrd import Hasura.LogicalModel.Types (LogicalModelField, LogicalModelName) import Hasura.Prelude hiding (first) import Hasura.RQL.Types.Backend (Backend (..)) import Hasura.SQL.Backend (BackendType) -- | Description of a logical model for use in IR data LogicalModel (b :: BackendType) = LogicalModel { lmName :: LogicalModelName, lmFields :: InsOrd.InsOrdHashMap (Column b) (LogicalModelField b) } deriving (Generic) deriving instance (Backend b) => Eq (LogicalModel b) deriving instance (Backend b) => Show (LogicalModel b)