graphql-engine/server/src-lib/Hasura/RQL/IR/Delete.hs
Philip Lykke Carlsen 6fe8b42798 Simplify instance boilerplate
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5412
GitOrigin-RevId: 19755ee2502758616d67ce42df7295424b61b6cf
2022-08-11 16:32:41 +00:00

45 lines
1016 B
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.Column
import Hasura.SQL.Backend
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)