mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-17 12:31:52 +03:00
23e1cb218a
This PR simplifies the types that represent a remote relationship in IR so that they can be reused in other parts (in remote schema types) which could have remote relationships. The comments on the PR explain the main changes. PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2979 GitOrigin-RevId: 559c51d9d6ae79e2183ce4347018741b9096ac74
30 lines
903 B
Haskell
30 lines
903 B
Haskell
module Hasura.RQL.IR.Update
|
|
( AnnotatedUpdate,
|
|
AnnotatedUpdateG (..),
|
|
)
|
|
where
|
|
|
|
import Data.Kind (Type)
|
|
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 AnnotatedUpdateG (b :: BackendType) (r :: Type) v = AnnotatedUpdateG
|
|
{ _auTable :: !(TableName b),
|
|
_auWhere :: !(AnnBoolExp b v, AnnBoolExp b v),
|
|
_auCheck :: !(AnnBoolExp b v),
|
|
-- | All the backend-specific data related to an update mutation
|
|
_auBackend :: BackendUpdate b v,
|
|
-- we don't prepare the arguments for returning
|
|
-- however the session variable can still be
|
|
-- converted as desired
|
|
_auOutput :: !(MutationOutputG b r v),
|
|
_auAllCols :: ![ColumnInfo b]
|
|
}
|
|
deriving (Functor, Foldable, Traversable)
|
|
|
|
type AnnotatedUpdate b = AnnotatedUpdateG b Void (SQLExpression b)
|