Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Definitions for schema building configuration.
Synopsis
- data SchemaOptions = SchemaOptions {
- soStringifyNumbers :: StringifyNumbers
- soDangerousBooleanCollapse :: DangerouslyCollapseBooleans
- soInferFunctionPermissions :: InferFunctionPermissions
- soOptimizePermissionFilters :: OptimizePermissionFilters
- soIncludeUpdateManyFields :: IncludeUpdateManyFields
- soIncludeAggregationPredicates :: IncludeAggregationPredicates
- soIncludeStreamFields :: IncludeStreamFields
- soBigQueryStringNumericInput :: BigQueryStringNumericInput
- soIncludeGroupByAggregateFields :: IncludeGroupByAggregateFields
- soPostgresArrays :: UsePostgresArrays
- data StringifyNumbers
- data IncludeUpdateManyFields
- data IncludeStreamFields
- data IncludeAggregationPredicates
- data DangerouslyCollapseBooleans
- data InferFunctionPermissions
- data RemoteSchemaPermissions
- data OptimizePermissionFilters
- data BigQueryStringNumericInput
- data IncludeGroupByAggregateFields
- data UsePostgresArrays
Documentation
data SchemaOptions Source #
The record of options required to build the schema. This includes options
that can be enabled with ExperimentalFeature
flags.
data StringifyNumbers Source #
Should we represent numbers in our responses as numbers, or strings? Some backends can return numbers that exceed the bounds of JSON's own number type. In these cases, we can use stringified versions of these numbers to avoid this problem.
Instances
Show StringifyNumbers Source # | |
Defined in Hasura.RQL.Types.Schema.Options showsPrec :: Int -> StringifyNumbers -> ShowS # show :: StringifyNumbers -> String # showList :: [StringifyNumbers] -> ShowS # | |
Eq StringifyNumbers Source # | |
Defined in Hasura.RQL.Types.Schema.Options (==) :: StringifyNumbers -> StringifyNumbers -> Bool # (/=) :: StringifyNumbers -> StringifyNumbers -> Bool # | |
FromEnv StringifyNumbers Source # | |
Defined in Hasura.Server.Init.Env |
data IncludeUpdateManyFields Source #
Should we include TABLE_updates
fields in schemas
This is a toggle so that users can opt-in, and so that we can rename
any tables that this may conflict with if needed
Instances
Show IncludeUpdateManyFields Source # | |
Defined in Hasura.RQL.Types.Schema.Options showsPrec :: Int -> IncludeUpdateManyFields -> ShowS # show :: IncludeUpdateManyFields -> String # showList :: [IncludeUpdateManyFields] -> ShowS # | |
Eq IncludeUpdateManyFields Source # | |
Defined in Hasura.RQL.Types.Schema.Options |
data IncludeStreamFields Source #
Should we include TABLE_stream
fields in schemas
This is a toggle so that users can opt-in, and so that we can rename
any tables that this may conflict with if needed
Instances
Show IncludeStreamFields Source # | |
Defined in Hasura.RQL.Types.Schema.Options showsPrec :: Int -> IncludeStreamFields -> ShowS # show :: IncludeStreamFields -> String # showList :: [IncludeStreamFields] -> ShowS # | |
Eq IncludeStreamFields Source # | |
Defined in Hasura.RQL.Types.Schema.Options (==) :: IncludeStreamFields -> IncludeStreamFields -> Bool # (/=) :: IncludeStreamFields -> IncludeStreamFields -> Bool # |
data IncludeAggregationPredicates Source #
Should we include aggregation functions in where clauses? Because this has the potential to cause naming conflicts in graphql schema types, this flag allows users to toggle the feature off if it an upgrade breaks their setup.
data DangerouslyCollapseBooleans Source #
Should Boolean fields be collapsed to True
when a null value is
given? This was the behaviour of Hasura V1, and is now discouraged.
Instances
data InferFunctionPermissions Source #
Should we infer function permissions? If this flag is set to
InferFunctionPermissions
, we may fail to build expression parsers
in buildQueryAndSubscriptionFields
for users with unrecognised roles.
Instances
FromJSON InferFunctionPermissions Source # | |
Defined in Hasura.RQL.Types.Schema.Options | |
ToJSON InferFunctionPermissions Source # | |
Defined in Hasura.RQL.Types.Schema.Options | |
Show InferFunctionPermissions Source # | |
Defined in Hasura.RQL.Types.Schema.Options showsPrec :: Int -> InferFunctionPermissions -> ShowS # show :: InferFunctionPermissions -> String # showList :: [InferFunctionPermissions] -> ShowS # | |
Eq InferFunctionPermissions Source # | |
Defined in Hasura.RQL.Types.Schema.Options | |
FromEnv InferFunctionPermissions Source # | |
Defined in Hasura.Server.Init.Env |
data RemoteSchemaPermissions Source #
Should we enable remote schema permissions? If so, these permissions will
influence buildGQLContext
.
Instances
FromJSON RemoteSchemaPermissions Source # | |
Defined in Hasura.RQL.Types.Schema.Options | |
ToJSON RemoteSchemaPermissions Source # | |
Defined in Hasura.RQL.Types.Schema.Options | |
Show RemoteSchemaPermissions Source # | |
Defined in Hasura.RQL.Types.Schema.Options showsPrec :: Int -> RemoteSchemaPermissions -> ShowS # show :: RemoteSchemaPermissions -> String # showList :: [RemoteSchemaPermissions] -> ShowS # | |
Eq RemoteSchemaPermissions Source # | |
Defined in Hasura.RQL.Types.Schema.Options | |
FromEnv RemoteSchemaPermissions Source # | |
Defined in Hasura.Server.Init.Env |
data OptimizePermissionFilters Source #
Should we attempt to deduplicate permission filters? This flag is used in
relationshipField
to determine whether
certain row-level permission filters can be dropped in certain cases.
Instances
Show OptimizePermissionFilters Source # | |
Defined in Hasura.RQL.Types.Schema.Options showsPrec :: Int -> OptimizePermissionFilters -> ShowS # show :: OptimizePermissionFilters -> String # showList :: [OptimizePermissionFilters] -> ShowS # | |
Eq OptimizePermissionFilters Source # | |
Defined in Hasura.RQL.Types.Schema.Options |
data BigQueryStringNumericInput Source #
Should we enable string-accepting scalar parsers for BigQuery sources
Instances
data IncludeGroupByAggregateFields Source #
Instances
data UsePostgresArrays Source #
if we use Postgres arrays then an array of text
becomes `[String!]`,
however we want users to have the option to make it output _text
like it
did before for compatibility.
Instances
Show UsePostgresArrays Source # | |
Defined in Hasura.RQL.Types.Schema.Options showsPrec :: Int -> UsePostgresArrays -> ShowS # show :: UsePostgresArrays -> String # showList :: [UsePostgresArrays] -> ShowS # | |
Eq UsePostgresArrays Source # | |
Defined in Hasura.RQL.Types.Schema.Options (==) :: UsePostgresArrays -> UsePostgresArrays -> Bool # (/=) :: UsePostgresArrays -> UsePostgresArrays -> Bool # |