graphql-engine-1.0.0: GraphQL API over Postgres
Safe HaskellSafe-Inferred
LanguageHaskell2010

Hasura.RQL.Types.Allowlist

Synopsis

Documentation

newtype DropCollectionFromAllowlist Source #

Instances

Instances details
FromJSON DropCollectionFromAllowlist Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

ToJSON DropCollectionFromAllowlist Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Generic DropCollectionFromAllowlist Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Associated Types

type Rep DropCollectionFromAllowlist :: Type -> Type #

Show DropCollectionFromAllowlist Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Eq DropCollectionFromAllowlist Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

type Rep DropCollectionFromAllowlist Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

type Rep DropCollectionFromAllowlist = D1 ('MetaData "DropCollectionFromAllowlist" "Hasura.RQL.Types.Allowlist" "graphql-engine-1.0.0-inplace" 'True) (C1 ('MetaCons "DropCollectionFromAllowlist" 'PrefixI 'True) (S1 ('MetaSel ('Just "_dcfaCollection") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CollectionName)))

data AllowlistScope Source #

Instances

Instances details
FromJSON AllowlistScope Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

ToJSON AllowlistScope Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

HasCodec AllowlistScope Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Generic AllowlistScope Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Associated Types

type Rep AllowlistScope :: Type -> Type #

Show AllowlistScope Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Eq AllowlistScope Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

type Rep AllowlistScope Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

type Rep AllowlistScope = D1 ('MetaData "AllowlistScope" "Hasura.RQL.Types.Allowlist" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "AllowlistScopeGlobal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AllowlistScopeRoles" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NonEmpty RoleName))))

data AllowlistEntry Source #

Instances

Instances details
FromJSON AllowlistEntry Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

ToJSON AllowlistEntry Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

HasCodec AllowlistEntry Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Generic AllowlistEntry Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Associated Types

type Rep AllowlistEntry :: Type -> Type #

Show AllowlistEntry Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Eq AllowlistEntry Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

type Rep AllowlistEntry Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

type Rep AllowlistEntry = D1 ('MetaData "AllowlistEntry" "Hasura.RQL.Types.Allowlist" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "AllowlistEntry" 'PrefixI 'True) (S1 ('MetaSel ('Just "aeCollection") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CollectionName) :*: S1 ('MetaSel ('Just "aeScope") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AllowlistScope)))

metadataAllowlistAllCollections :: MetadataAllowlist -> [CollectionName] Source #

Produce a list of all collections in the allowlist. This is used in runDropCollection to function to ensure that we don't delete any collections which are referred to in the allowlist.

newtype NormalizedQuery Source #

A query stripped of typenames. A query is allowed if it occurs in an allowed query collection after normalization.

Compare docsgraphqlcoredeploymentallow-list.rst.

data InlinedAllowlist Source #

InlinedAllowlist is the data type with which the allowlist is represented in the schema cache, it contains a global and a per role allowlist and when allowlist is enabled in the graphql-engine, the incoming query for a non-admin role should either be in the global allowlist or in the given role's role based allowlist.

Essentially, it's a memoization of allowlistAllowsQuery implemented in terms of MetadataAllowlist.

Instances

Instances details
ToJSON InlinedAllowlist Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Generic InlinedAllowlist Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Associated Types

type Rep InlinedAllowlist :: Type -> Type #

Show InlinedAllowlist Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

Eq InlinedAllowlist Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

type Rep InlinedAllowlist Source # 
Instance details

Defined in Hasura.RQL.Types.Allowlist

type Rep InlinedAllowlist = D1 ('MetaData "InlinedAllowlist" "Hasura.RQL.Types.Allowlist" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "InlinedAllowlist" 'PrefixI 'True) (S1 ('MetaSel ('Just "iaGlobal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (HashSet NormalizedQuery)) :*: S1 ('MetaSel ('Just "iaPerRole") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (HashMap RoleName (HashSet NormalizedQuery)))))

data AllowlistMode Source #

The mode in which the allowlist functions. In global mode, collections with non-global scope are ignored.