graphql-engine-1.0.0: GraphQL API over Postgres
Safe HaskellNone
LanguageHaskell2010

Hasura.RQL.IR.Root

Synopsis

Documentation

data RootField (db :: BackendType -> Type) remote action raw where Source #

Constructors

RFDB :: SourceName -> AnyBackend (SourceConfigWith db) -> RootField db remote action raw 
RFRemote :: remote -> RootField db remote action raw 
RFAction :: action -> RootField db remote action raw 
RFRaw :: raw -> RootField db remote action raw 
RFMulti :: [RootField db remote action raw] -> RootField db remote action raw 

data MutationDB (b :: BackendType) (r :: Type) v Source #

Constructors

MDBInsert (AnnotatedInsert b r v) 
MDBUpdate (AnnotatedUpdateG b r v) 
MDBDelete (AnnDelG b r v) 
MDBFunction JsonAggSelect (AnnSimpleSelectG b r v)

This represents a VOLATILE function, and is AnnSimpleSelG for easy re-use of non-VOLATILE function tracking code.

Instances

Instances details
Backend b => Functor (MutationDB b r) Source # 
Instance details

Defined in Hasura.RQL.IR.Root

Methods

fmap :: (a -> b0) -> MutationDB b r a -> MutationDB b r b0 #

(<$) :: a -> MutationDB b r b0 -> MutationDB b r a #

Backend b => Foldable (MutationDB b r) Source # 
Instance details

Defined in Hasura.RQL.IR.Root

Methods

fold :: Monoid m => MutationDB b r m -> m #

foldMap :: Monoid m => (a -> m) -> MutationDB b r a -> m #

foldMap' :: Monoid m => (a -> m) -> MutationDB b r a -> m #

foldr :: (a -> b0 -> b0) -> b0 -> MutationDB b r a -> b0 #

foldr' :: (a -> b0 -> b0) -> b0 -> MutationDB b r a -> b0 #

foldl :: (b0 -> a -> b0) -> b0 -> MutationDB b r a -> b0 #

foldl' :: (b0 -> a -> b0) -> b0 -> MutationDB b r a -> b0 #

foldr1 :: (a -> a -> a) -> MutationDB b r a -> a #

foldl1 :: (a -> a -> a) -> MutationDB b r a -> a #

toList :: MutationDB b r a -> [a] #

null :: MutationDB b r a -> Bool #

length :: MutationDB b r a -> Int #

elem :: Eq a => a -> MutationDB b r a -> Bool #

maximum :: Ord a => MutationDB b r a -> a #

minimum :: Ord a => MutationDB b r a -> a #

sum :: Num a => MutationDB b r a -> a #

product :: Num a => MutationDB b r a -> a #

Backend b => Traversable (MutationDB b r) Source # 
Instance details

Defined in Hasura.RQL.IR.Root

Methods

traverse :: Applicative f => (a -> f b0) -> MutationDB b r a -> f (MutationDB b r b0) #

sequenceA :: Applicative f => MutationDB b r (f a) -> f (MutationDB b r a) #

mapM :: Monad m => (a -> m b0) -> MutationDB b r a -> m (MutationDB b r b0) #

sequence :: Monad m => MutationDB b r (m a) -> m (MutationDB b r a) #

Generic (MutationDB b r v) Source # 
Instance details

Defined in Hasura.RQL.IR.Root

Associated Types

type Rep (MutationDB b r v) :: Type -> Type #

Methods

from :: MutationDB b r v -> Rep (MutationDB b r v) x #

to :: Rep (MutationDB b r v) x -> MutationDB b r v #

type Rep (MutationDB b r v) Source # 
Instance details

Defined in Hasura.RQL.IR.Root

data ActionQuery (r :: Type) Source #

Instances

Instances details
Functor ActionQuery Source # 
Instance details

Defined in Hasura.RQL.IR.Root

Methods

fmap :: (a -> b) -> ActionQuery a -> ActionQuery b #

(<$) :: a -> ActionQuery b -> ActionQuery a #

Foldable ActionQuery Source # 
Instance details

Defined in Hasura.RQL.IR.Root

Methods

fold :: Monoid m => ActionQuery m -> m #

foldMap :: Monoid m => (a -> m) -> ActionQuery a -> m #

foldMap' :: Monoid m => (a -> m) -> ActionQuery a -> m #

foldr :: (a -> b -> b) -> b -> ActionQuery a -> b #

foldr' :: (a -> b -> b) -> b -> ActionQuery a -> b #

foldl :: (b -> a -> b) -> b -> ActionQuery a -> b #

foldl' :: (b -> a -> b) -> b -> ActionQuery a -> b #

foldr1 :: (a -> a -> a) -> ActionQuery a -> a #

foldl1 :: (a -> a -> a) -> ActionQuery a -> a #

toList :: ActionQuery a -> [a] #

null :: ActionQuery a -> Bool #

length :: ActionQuery a -> Int #

elem :: Eq a => a -> ActionQuery a -> Bool #

maximum :: Ord a => ActionQuery a -> a #

minimum :: Ord a => ActionQuery a -> a #

sum :: Num a => ActionQuery a -> a #

product :: Num a => ActionQuery a -> a #

Traversable ActionQuery Source # 
Instance details

Defined in Hasura.RQL.IR.Root

Methods

traverse :: Applicative f => (a -> f b) -> ActionQuery a -> f (ActionQuery b) #

sequenceA :: Applicative f => ActionQuery (f a) -> f (ActionQuery a) #

mapM :: Monad m => (a -> m b) -> ActionQuery a -> m (ActionQuery b) #

sequence :: Monad m => ActionQuery (m a) -> m (ActionQuery a) #

newtype QueryDBRoot r v b Source #

Constructors

QDBR (QueryDB b r (v b)) 

newtype MutationDBRoot r v b Source #

Constructors

MDBR (MutationDB b r (v b)) 

data RemoteRelationshipField vf Source #

IR of a remote relationship. A remote relationship currently can be to either a remote schema or a database's table. See RemoteSourceSelect for explanation on vf.

Constructors

RemoteSchemaField (RemoteSchemaSelect (RemoteRelationshipField vf)) 
RemoteSourceField (AnyBackend (RemoteSourceSelect (RemoteRelationshipField vf) vf))

AnyBackend is used here to capture a relationship to an arbitrary target

type QueryActionRoot v = ActionQuery (RemoteRelationshipField v) Source #

Represents a query root field to an action

type MutationActionRoot v = ActionMutation (RemoteRelationshipField v) Source #

Represents a mutation root field to an action