graphql-engine/server/src-lib/Hasura/RQL/IR/Delete.hs
2023-04-24 18:37:33 +00:00

45 lines
1.0 KiB
Haskell

{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE UndecidableInstances #-}
module Hasura.RQL.IR.Delete
( AnnDel,
AnnDelG (..),
adTable,
adWhere,
adOutput,
adAllCols,
adNamingConvention,
)
where
import Control.Lens.TH (makeLenses)
import Data.Kind (Type)
import Hasura.GraphQL.Schema.NamingCase (NamingCase)
import Hasura.Prelude
import Hasura.RQL.IR.BoolExp
import Hasura.RQL.IR.Returning
import Hasura.RQL.Types.Backend
import Hasura.RQL.Types.BackendType
import Hasura.RQL.Types.Column
data AnnDelG (b :: BackendType) (r :: Type) v = AnnDel
{ _adTable :: TableName b,
_adWhere :: (AnnBoolExp b v, AnnBoolExp b v),
_adOutput :: MutationOutputG b r v,
_adAllCols :: [ColumnInfo b],
_adNamingConvention :: Maybe NamingCase
}
deriving (Functor, Foldable, Traversable)
type AnnDel b = AnnDelG b Void (SQLExpression b)
deriving instance
( Backend b,
Show (AnnBoolExp b a),
Show (MutationOutputG b r a),
Show a
) =>
Show (AnnDelG b r a)
$(makeLenses ''AnnDelG)