Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- fetchActionLogResponses :: (MonadError QErr m, MonadMetadataStorage m, Foldable t) => t ActionId -> m (ActionLogResponseMap, Bool)
- runActionExecution :: (MonadIO m, MonadBaseControl IO m, MonadError QErr m, MonadTrace m, MonadMetadataStorage m) => UserInfo -> ActionExecutionPlan -> m (DiffTime, (EncJSON, Maybe ResponseHeaders))
- resolveActionExecution :: Manager -> Environment -> Logger Hasura -> PrometheusMetrics -> AnnActionExecution Void -> ActionExecContext -> Maybe GQLQueryText -> ActionExecution
- resolveActionMutationAsync :: (MonadMetadataStorage m, MonadError QErr m) => AnnActionMutationAsync -> [Header] -> SessionVariables -> m ActionId
- resolveAsyncActionQuery :: UserInfo -> AnnActionAsyncQuery ('Postgres 'Vanilla) Void -> AsyncActionQueryExecution (UnpreparedValue ('Postgres 'Vanilla))
- asyncActionsProcessor :: forall m. (HasAppEnv m, MonadIO m, MonadBaseControl IO m, Forall (Pure m), MonadMetadataStorage m, MonadTrace m) => IO Environment -> Logger Hasura -> IO SchemaCache -> IO OptionalInterval -> TVar (Set LockedActionEventId) -> Maybe GQLQueryText -> m (Forever m)
- insertActionTx :: ActionName -> SessionVariables -> [Header] -> Value -> TxE QErr ActionId
- fetchUndeliveredActionEventsTx :: TxE QErr [ActionLogItem]
- setActionStatusTx :: ActionId -> AsyncActionStatus -> TxE QErr ()
- fetchActionResponseTx :: ActionId -> TxE QErr ActionLogResponse
- clearActionDataTx :: ActionName -> TxE QErr ()
- setProcessingActionLogsToPendingTx :: LockedActionIdArray -> TxE QErr ()
Documentation
fetchActionLogResponses :: (MonadError QErr m, MonadMetadataStorage m, Foldable t) => t ActionId -> m (ActionLogResponseMap, Bool) Source #
runActionExecution :: (MonadIO m, MonadBaseControl IO m, MonadError QErr m, MonadTrace m, MonadMetadataStorage m) => UserInfo -> ActionExecutionPlan -> m (DiffTime, (EncJSON, Maybe ResponseHeaders)) Source #
resolveActionExecution :: Manager -> Environment -> Logger Hasura -> PrometheusMetrics -> AnnActionExecution Void -> ActionExecContext -> Maybe GQLQueryText -> ActionExecution Source #
Synchronously execute webhook handler and resolve response to action "output"
resolveActionMutationAsync :: (MonadMetadataStorage m, MonadError QErr m) => AnnActionMutationAsync -> [Header] -> SessionVariables -> m ActionId Source #
Resolve asynchronous action mutation which returns only the action uuid
resolveAsyncActionQuery :: UserInfo -> AnnActionAsyncQuery ('Postgres 'Vanilla) Void -> AsyncActionQueryExecution (UnpreparedValue ('Postgres 'Vanilla)) Source #
See Note: [Resolving async action query]
asyncActionsProcessor :: forall m. (HasAppEnv m, MonadIO m, MonadBaseControl IO m, Forall (Pure m), MonadMetadataStorage m, MonadTrace m) => IO Environment -> Logger Hasura -> IO SchemaCache -> IO OptionalInterval -> TVar (Set LockedActionEventId) -> Maybe GQLQueryText -> m (Forever m) Source #
Process async actions from hdb_catalog.hdb_action_log table. This functions is executed in a background thread. See Note [Async action architecture] above
insertActionTx :: ActionName -> SessionVariables -> [Header] -> Value -> TxE QErr ActionId Source #
setActionStatusTx :: ActionId -> AsyncActionStatus -> TxE QErr () Source #
clearActionDataTx :: ActionName -> TxE QErr () Source #