Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data ToSchemaRelationshipDef = ToSchemaRelationshipDef {}
- newtype RemoteFields = RemoteFields {}
- data FieldCall = FieldCall {
- fcName :: Name
- fcArguments :: RemoteArguments
- newtype RemoteArguments = RemoteArguments {
- getRemoteArguments :: HashMap Name (Value Name)
- newtype LHSIdentifier = LHSIdentifier {
- getLHSIdentifier :: Text
- tableNameToLHSIdentifier :: Backend b => TableName b -> LHSIdentifier
- remoteSchemaToLHSIdentifier :: RemoteSchemaName -> LHSIdentifier
- lhsIdentifierToGraphQLName :: LHSIdentifier -> Maybe Name
- data RemoteSchemaFieldInfo = RemoteSchemaFieldInfo {
- _rrfiName :: RelName
- _rrfiParamMap :: HashMap Name RemoteSchemaInputValueDefinition
- _rrfiRemoteFields :: RemoteFields
- _rrfiRemoteSchema :: RemoteSchemaInfo
- _rrfiInputValueDefinitions :: [TypeDefinition [Name] RemoteSchemaInputValueDefinition]
- _rrfiRemoteSchemaName :: RemoteSchemaName
- _rrfiLHSIdentifier :: LHSIdentifier
- graphQLValueToJSON :: Value Void -> Value
- trrdRemoteSchema :: Lens' ToSchemaRelationshipDef RemoteSchemaName
- trrdRemoteField :: Lens' ToSchemaRelationshipDef RemoteFields
- trrdLhsFields :: Lens' ToSchemaRelationshipDef (HashSet FieldName)
Documentation
data ToSchemaRelationshipDef Source #
Metadata representation of a relationship to a remote schema.
FIXME: move this to Hasura/Metadata
ToSchemaRelationshipDef | |
|
Instances
newtype RemoteFields Source #
Targeted field in a remote schema relationship. TODO: explain about subfields and why this is a container
Instances
Associates a field name with the arguments it will be passed in the query.
https://graphql.github.io/graphql-spec/June2018/#sec-Language.Arguments
FieldCall | |
|
Instances
Eq FieldCall Source # | |
Show FieldCall Source # | |
Generic FieldCall Source # | |
NFData FieldCall Source # | |
Defined in Hasura.RQL.Types.Relationships.ToSchema | |
Hashable FieldCall Source # | |
Defined in Hasura.RQL.Types.Relationships.ToSchema | |
Cacheable FieldCall Source # | |
type Rep FieldCall Source # | |
Defined in Hasura.RQL.Types.Relationships.ToSchema type Rep FieldCall = D1 ('MetaData "FieldCall" "Hasura.RQL.Types.Relationships.ToSchema" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "FieldCall" 'PrefixI 'True) (S1 ('MetaSel ('Just "fcName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Just "fcArguments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RemoteArguments))) |
newtype RemoteArguments Source #
Arguments to a remote GraphQL fields, represented as a mapping from name to GraphQL Value. Said values can be variable names, in which case they'll be referring to values we're closed over. TODO: expand on this
RemoteArguments | |
|
Instances
newtype LHSIdentifier Source #
LHSIdentifier | |
|
Instances
tableNameToLHSIdentifier :: Backend b => TableName b -> LHSIdentifier Source #
lhsIdentifierToGraphQLName :: LHSIdentifier -> Maybe Name Source #
Generates a valid graphql name from an arbitrary LHS identifier.
This is done by replacing all unrecognized characters by '_'. This
function still returns a Maybe
value, in cases we can't adjust
the raw text (such as the case of empty identifiers).
data RemoteSchemaFieldInfo Source #
Schema cache information for a table field targeting a remote schema.
RemoteSchemaFieldInfo | |
|
Instances
graphQLValueToJSON :: Value Void -> Value Source #
trrdLhsFields :: Lens' ToSchemaRelationshipDef (HashSet FieldName) Source #