graphql-engine-1.0.0: GraphQL API over Postgres
Safe HaskellSafe-Inferred
LanguageHaskell2010

Hasura.GraphQL.Schema.Action

Synopsis

Documentation

actionExecute :: forall r m n. MonadBuildActionSchema r m n => AnnotatedCustomTypes -> ActionInfo -> SchemaT r m (Maybe (FieldParser n (AnnActionExecution (RemoteRelationshipField UnpreparedValue)))) Source #

actionExecute is used to execute either a query action or a synchronous mutation action. A query action or a synchronous mutation action accepts the field name and input arguments and a selectionset. The input argument and selectionset types are defined by the user.

action_name(action_input_arguments) {
  col1: col1_type
  col2: col2_type
}

actionAsyncMutation :: forall r m n. MonadBuildActionSchema r m n => HashMap Name AnnotatedInputType -> ActionInfo -> SchemaT r m (Maybe (FieldParser n AnnActionMutationAsync)) Source #

actionAsyncMutation is used to execute a asynchronous mutation action. An asynchronous action expects the field name and the input arguments to the action. A selectionset is *not* expected. An action ID (UUID) will be returned after performing the action

action_name(action_input_arguments)

actionAsyncQuery :: forall r m n. MonadBuildActionSchema r m n => HashMap Name AnnotatedObjectType -> ActionInfo -> SchemaT r m (Maybe (FieldParser n (AnnActionAsyncQuery ('Postgres 'Vanilla) (RemoteRelationshipField UnpreparedValue)))) Source #

actionAsyncQuery is used to query/subscribe to the result of an asynchronous mutation action. The only input argument to an asynchronous mutation action is the action ID (UUID) and a selection set is expected, the selection set contains 4 fields namely id, created_at,errors and output. The result of the action can be queried through the output field.

action_name (id: UUID!) {
  id: UUID!
  created_at: timestampz!
  errors: JSON
  output: user_defined_type!
}