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

Hasura.GraphQL.Schema.SubscriptionStream

Description

Generate the GraphQL schema types related to streaming subscriptions.

Synopsis

Documentation

cursorBatchSizeArg :: forall n. MonadParse n => NamingCase -> InputFieldsParser n Int Source #

Argument to limit the maximum number of results returned in a single batch.

cursorOrderingArgParser :: forall n m r. (MonadMemoize m, MonadParse n, Has MkTypename r, Has NamingCase r, MonadReader r m) => m (Parser 'Both n CursorOrdering) Source #

Cursor ordering enum fields

enum cursor_ordering {
  ASC
  DESC
}

cursorOrderingArg :: forall n m r. (MonadMemoize m, MonadParse n, Has MkTypename r, Has NamingCase r, MonadReader r m) => m (InputFieldsParser n (Maybe CursorOrdering)) Source #

Argument to specify the ordering of the cursor. > ordering: cursor_ordering

streamColumnParserArg :: forall b n m r. (BackendSchema b, MonadMemoize m, MonadParse n, Has MkTypename r, MonadReader r m, MonadError QErr m, Has NamingCase r) => ColumnInfo b -> m (InputFieldsParser n (Maybe (ColumnInfo b, ColumnValue b))) Source #

Input fields parser to parse the value of a table's column > column_name: column_type

streamColumnValueParser :: forall b n m r. (BackendSchema b, MonadMemoize m, MonadParse n, Has MkTypename r, MonadReader r m, MonadError QErr m, Has NamingCase r) => SourceInfo b -> Name -> [ColumnInfo b] -> m (Parser 'Input n [(ColumnInfo b, ColumnValue b)]) Source #

Input object parser whose keys are the column names and the values are the initial values of those columns from where the streaming should start. > input table_stream_cursor_value_input { > col1: col1_type > col2: col2_type ... > }

streamColumnValueParserArg :: forall b n m r. (BackendSchema b, MonadMemoize m, MonadParse n, Has MkTypename r, MonadReader r m, MonadError QErr m, Has NamingCase r) => SourceInfo b -> Name -> [ColumnInfo b] -> m (InputFieldsParser n [(ColumnInfo b, ColumnValue b)]) Source #

Argument to accept the initial value from where the streaming should start. > initial_value: table_stream_cursor_value_input!

tableStreamColumnArg :: forall n m r b. (BackendSchema b, MonadMemoize m, MonadParse n, Has MkTypename r, MonadReader r m, MonadError QErr m, Has NamingCase r) => SourceInfo b -> Name -> [ColumnInfo b] -> m (InputFieldsParser n [StreamCursorItem b]) Source #

Argument to accept the cursor data. At the time of writing this, only a single column cursor is supported and if multiple column cursors are provided, then a parse error is thrown. >

tableStreamCursorExp :: forall m n r b. MonadBuildSchema b r m n => SourceInfo b -> TableInfo b -> m (Parser 'Input n [StreamCursorItem b]) Source #

Input object that contains the initial value of a column along with how it needs to be ordered. > input table_stream_cursor_input { > initial_value: table_stream_cursor_value_input! > ordering: cursor_ordering > }

tableStreamCursorArg :: forall b r m n. MonadBuildSchema b r m n => SourceInfo b -> TableInfo b -> m (InputFieldsParser n [StreamCursorItem b]) Source #

Argument to accept the cursor input object. > cursor: [table_stream_cursor_input]!

tableStreamArguments :: forall b r m n. (AggregationPredicatesSchema b, MonadBuildSchema b r m n) => SourceInfo b -> TableInfo b -> m (InputFieldsParser n (SelectStreamArgs b)) Source #

Arguments to the streaming subscription field. > table_stream (cursor: [table_stream_cursor_input]!, batch_size: Int!, where: table_bool_exp)

selectStreamTable Source #

Arguments

:: forall b r m n. (MonadBuildSchema b r m n, AggregationPredicatesSchema b, BackendTableSelectSchema b) 
=> SourceInfo b 
-> TableInfo b

table info

-> Name

field display name

-> Maybe Description

field description, if any

-> m (Maybe (FieldParser n (StreamSelectExp b))) 

Field parser for a streaming subscription for a table.