mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-17 20:41:49 +03:00
9ef603360c
Co-authored-by: Vamshi Surabhi <vamshi@hasura.io> Co-authored-by: Vladimir Ciobanu <admin@cvlad.info> Co-authored-by: Antoine Leblanc <antoine@hasura.io> Co-authored-by: Stylish Haskell Bot <stylish-haskell@users.noreply.github.com> GitOrigin-RevId: 9d631878037637f3ed2994b5d0525efd978f7b8f
34 lines
860 B
Haskell
34 lines
860 B
Haskell
module Hasura.RQL.IR.Delete where
|
|
|
|
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) v
|
|
= AnnDel
|
|
{ dqp1Table :: !(TableName b)
|
|
, dqp1Where :: !(AnnBoolExp b v, AnnBoolExp b v)
|
|
, dqp1Output :: !(MutationOutputG b v)
|
|
, dqp1AllCols :: ![ColumnInfo b]
|
|
}
|
|
|
|
type AnnDel b = AnnDelG b (SQLExpression b)
|
|
|
|
traverseAnnDel
|
|
:: (Applicative f)
|
|
=> (a -> f b)
|
|
-> AnnDelG backend a
|
|
-> f (AnnDelG backend b)
|
|
traverseAnnDel f annUpd =
|
|
AnnDel tn
|
|
<$> ((,) <$> traverseAnnBoolExp f whr <*> traverseAnnBoolExp f fltr)
|
|
<*> traverseMutationOutput f mutOutput
|
|
<*> pure allCols
|
|
where
|
|
AnnDel tn (whr, fltr) mutOutput allCols = annUpd
|