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

Hasura.RQL.Types.Relationships.ToSchema

Synopsis

Documentation

data ToSchemaRelationshipDef Source #

Metadata representation of a relationship to a remote schema.

FIXME: move this to Hasura/Metadata

Constructors

ToSchemaRelationshipDef 

Fields

Instances

Instances details
Eq ToSchemaRelationshipDef Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Show ToSchemaRelationshipDef Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Generic ToSchemaRelationshipDef Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Associated Types

type Rep ToSchemaRelationshipDef :: Type -> Type #

NFData ToSchemaRelationshipDef Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Methods

rnf :: ToSchemaRelationshipDef -> () #

FromJSON ToSchemaRelationshipDef Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Methods

parseJSON :: Value -> Parser ToSchemaRelationshipDef

parseJSONList :: Value -> Parser [ToSchemaRelationshipDef]

ToJSON ToSchemaRelationshipDef Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Cacheable ToSchemaRelationshipDef Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

type Rep ToSchemaRelationshipDef Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

type Rep ToSchemaRelationshipDef = D1 ('MetaData "ToSchemaRelationshipDef" "Hasura.RQL.Types.Relationships.ToSchema" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "ToSchemaRelationshipDef" 'PrefixI 'True) (S1 ('MetaSel ('Just "_trrdRemoteSchema") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RemoteSchemaName) :*: (S1 ('MetaSel ('Just "_trrdLhsFields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (HashSet FieldName)) :*: S1 ('MetaSel ('Just "_trrdRemoteField") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RemoteFields))))

newtype RemoteFields Source #

Targeted field in a remote schema relationship. TODO: explain about subfields and why this is a container

Instances

Instances details
Eq RemoteFields Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Show RemoteFields Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Generic RemoteFields Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Associated Types

type Rep RemoteFields :: Type -> Type #

NFData RemoteFields Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Methods

rnf :: RemoteFields -> () #

FromJSON RemoteFields Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Methods

parseJSON :: Value -> Parser RemoteFields

parseJSONList :: Value -> Parser [RemoteFields]

ToJSON RemoteFields Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Methods

toJSON :: RemoteFields -> Value

toEncoding :: RemoteFields -> Encoding

toJSONList :: [RemoteFields] -> Value

toEncodingList :: [RemoteFields] -> Encoding

Cacheable RemoteFields Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

type Rep RemoteFields Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

type Rep RemoteFields = D1 ('MetaData "RemoteFields" "Hasura.RQL.Types.Relationships.ToSchema" "graphql-engine-1.0.0-inplace" 'True) (C1 ('MetaCons "RemoteFields" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRemoteFields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty FieldCall))))

data FieldCall Source #

Associates a field name with the arguments it will be passed in the query.

https://graphql.github.io/graphql-spec/June2018/#sec-Language.Arguments

Constructors

FieldCall 

Fields

Instances

Instances details
Eq FieldCall Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Show FieldCall Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Generic FieldCall Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Associated Types

type Rep FieldCall :: Type -> Type #

NFData FieldCall Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Methods

rnf :: FieldCall -> () #

Hashable FieldCall Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Cacheable FieldCall Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

type Rep FieldCall Source # 
Instance details

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

Constructors

RemoteArguments 

Fields

Instances

Instances details
Eq RemoteArguments Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Show RemoteArguments Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Generic RemoteArguments Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Associated Types

type Rep RemoteArguments :: Type -> Type #

NFData RemoteArguments Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Methods

rnf :: RemoteArguments -> () #

Hashable RemoteArguments Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

FromJSON RemoteArguments Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Methods

parseJSON :: Value -> Parser RemoteArguments

parseJSONList :: Value -> Parser [RemoteArguments]

ToJSON RemoteArguments Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Methods

toJSON :: RemoteArguments -> Value

toEncoding :: RemoteArguments -> Encoding

toJSONList :: [RemoteArguments] -> Value

toEncodingList :: [RemoteArguments] -> Encoding

Cacheable RemoteArguments Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

type Rep RemoteArguments Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

type Rep RemoteArguments = D1 ('MetaData "RemoteArguments" "Hasura.RQL.Types.Relationships.ToSchema" "graphql-engine-1.0.0-inplace" 'True) (C1 ('MetaCons "RemoteArguments" 'PrefixI 'True) (S1 ('MetaSel ('Just "getRemoteArguments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Name (Value Name)))))

newtype LHSIdentifier Source #

Constructors

LHSIdentifier 

Fields

Instances

Instances details
Eq LHSIdentifier Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Show LHSIdentifier Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Generic LHSIdentifier Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Associated Types

type Rep LHSIdentifier :: Type -> Type #

Cacheable LHSIdentifier Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

type Rep LHSIdentifier Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

type Rep LHSIdentifier = D1 ('MetaData "LHSIdentifier" "Hasura.RQL.Types.Relationships.ToSchema" "graphql-engine-1.0.0-inplace" 'True) (C1 ('MetaCons "LHSIdentifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLHSIdentifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

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.

Constructors

RemoteSchemaFieldInfo 

Fields

Instances

Instances details
Eq RemoteSchemaFieldInfo Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Show RemoteSchemaFieldInfo Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Generic RemoteSchemaFieldInfo Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Associated Types

type Rep RemoteSchemaFieldInfo :: Type -> Type #

ToJSON RemoteSchemaFieldInfo Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

Cacheable RemoteSchemaFieldInfo Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

type Rep RemoteSchemaFieldInfo Source # 
Instance details

Defined in Hasura.RQL.Types.Relationships.ToSchema

type Rep RemoteSchemaFieldInfo = D1 ('MetaData "RemoteSchemaFieldInfo" "Hasura.RQL.Types.Relationships.ToSchema" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "RemoteSchemaFieldInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_rrfiName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RelName) :*: (S1 ('MetaSel ('Just "_rrfiParamMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (HashMap Name RemoteSchemaInputValueDefinition)) :*: S1 ('MetaSel ('Just "_rrfiRemoteFields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RemoteFields))) :*: ((S1 ('MetaSel ('Just "_rrfiRemoteSchema") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RemoteSchemaInfo) :*: S1 ('MetaSel ('Just "_rrfiInputValueDefinitions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TypeDefinition [Name] RemoteSchemaInputValueDefinition])) :*: (S1 ('MetaSel ('Just "_rrfiRemoteSchemaName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RemoteSchemaName) :*: S1 ('MetaSel ('Just "_rrfiLHSIdentifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 LHSIdentifier)))))

graphQLValueToJSON :: Value Void -> Value Source #