Safe Haskell | None |
---|---|
Language | Haskell2010 |
Hasura.RQL.Types.Permission
Synopsis
- data PermType
- permTypeToCode :: PermType -> Text
- data PermColSpec b
- data PermDef (b :: BackendType) (perm :: BackendType -> Type) = PermDef {
- _pdRole :: RoleName
- _pdPermission :: PermDefPermission b perm
- _pdComment :: Maybe Text
- data PermDefPermission (b :: BackendType) (perm :: BackendType -> Type) where
- SelPerm' :: SelPerm b -> PermDefPermission b SelPerm
- InsPerm' :: InsPerm b -> PermDefPermission b InsPerm
- UpdPerm' :: UpdPerm b -> PermDefPermission b UpdPerm
- DelPerm' :: DelPerm b -> PermDefPermission b DelPerm
- unPermDefPermission :: PermDefPermission b perm -> perm b
- reflectPermDefPermission :: PermDefPermission b a -> PermType
- data QueryRootFieldType
- data SubscriptionRootFieldType
- data InsPerm (b :: BackendType) = InsPerm {
- ipCheck :: BoolExp b
- ipSet :: Maybe (ColumnValues b Value)
- ipColumns :: Maybe (PermColSpec b)
- ipBackendOnly :: Bool
- type InsPermDef b = PermDef b InsPerm
- data AllowedRootFields rootFieldType
- = ARFAllowAllRootFields
- | ARFAllowConfiguredRootFields (HashSet rootFieldType)
- isRootFieldAllowed :: Eq rootField => rootField -> AllowedRootFields rootField -> Bool
- data SelPerm (b :: BackendType) = SelPerm {}
- type SelPermDef b = PermDef b SelPerm
- data DelPerm (b :: BackendType) = DelPerm {
- dcFilter :: BoolExp b
- dcBackendOnly :: Bool
- type DelPermDef b = PermDef b DelPerm
- data UpdPerm (b :: BackendType) = UpdPerm {
- ucColumns :: PermColSpec b
- ucSet :: Maybe (ColumnValues b Value)
- ucFilter :: BoolExp b
- ucCheck :: Maybe (BoolExp b)
- ucBackendOnly :: Bool
- type UpdPermDef b = PermDef b UpdPerm
- pdRole :: forall b perm. Lens' (PermDef b perm) RoleName
- pdPermission :: forall b perm b perm. Lens (PermDef b perm) (PermDef b perm) (PermDefPermission b perm) (PermDefPermission b perm)
- pdComment :: forall b perm. Lens' (PermDef b perm) (Maybe Text)
Documentation
Instances
permTypeToCode :: PermType -> Text Source #
data PermColSpec b Source #
Instances
data PermDef (b :: BackendType) (perm :: BackendType -> Type) Source #
Constructors
PermDef | |
Fields
|
Instances
data PermDefPermission (b :: BackendType) (perm :: BackendType -> Type) where Source #
The permission data as it appears in a PermDef
.
Since this type is a GADT it facilitates that values which are polymorphic
may re-discover its specific type of permission by case analysis.
The fact that permission types are tracked in types are more accidental than intentional and something we want to move away from, see https://github.com/hasura/graphql-engine-mono/issues/4076.
Constructors
SelPerm' :: SelPerm b -> PermDefPermission b SelPerm | |
InsPerm' :: InsPerm b -> PermDefPermission b InsPerm | |
UpdPerm' :: UpdPerm b -> PermDefPermission b UpdPerm | |
DelPerm' :: DelPerm b -> PermDefPermission b DelPerm |
Instances
unPermDefPermission :: PermDefPermission b perm -> perm b Source #
reflectPermDefPermission :: PermDefPermission b a -> PermType Source #
data QueryRootFieldType Source #
Constructors
QRFTSelect | |
QRFTSelectByPk | |
QRFTSelectAggregate |
Instances
data SubscriptionRootFieldType Source #
Constructors
SRFTSelect | |
SRFTSelectByPk | |
SRFTSelectAggregate | |
SRFTSelectStream |
Instances
data InsPerm (b :: BackendType) Source #
Constructors
InsPerm | |
Fields
|
Instances
type InsPermDef b = PermDef b InsPerm Source #
data AllowedRootFields rootFieldType Source #
Constructors
ARFAllowAllRootFields | |
ARFAllowConfiguredRootFields (HashSet rootFieldType) |
Instances
Eq rootFieldType => Eq (AllowedRootFields rootFieldType) Source # | |
Defined in Hasura.RQL.Types.Permission Methods (==) :: AllowedRootFields rootFieldType -> AllowedRootFields rootFieldType -> Bool # (/=) :: AllowedRootFields rootFieldType -> AllowedRootFields rootFieldType -> Bool # | |
Show rootFieldType => Show (AllowedRootFields rootFieldType) Source # | |
Defined in Hasura.RQL.Types.Permission Methods showsPrec :: Int -> AllowedRootFields rootFieldType -> ShowS # show :: AllowedRootFields rootFieldType -> String # showList :: [AllowedRootFields rootFieldType] -> ShowS # | |
Generic (AllowedRootFields rootFieldType) Source # | |
Defined in Hasura.RQL.Types.Permission Associated Types type Rep (AllowedRootFields rootFieldType) :: Type -> Type # Methods from :: AllowedRootFields rootFieldType -> Rep (AllowedRootFields rootFieldType) x # to :: Rep (AllowedRootFields rootFieldType) x -> AllowedRootFields rootFieldType # | |
Semigroup (HashSet rootFieldType) => Semigroup (AllowedRootFields rootFieldType) Source # | |
Defined in Hasura.RQL.Types.Permission Methods (<>) :: AllowedRootFields rootFieldType -> AllowedRootFields rootFieldType -> AllowedRootFields rootFieldType # sconcat :: NonEmpty (AllowedRootFields rootFieldType) -> AllowedRootFields rootFieldType # stimes :: Integral b => b -> AllowedRootFields rootFieldType -> AllowedRootFields rootFieldType # | |
NFData rootFieldType => NFData (AllowedRootFields rootFieldType) Source # | |
Defined in Hasura.RQL.Types.Permission Methods rnf :: AllowedRootFields rootFieldType -> () # | |
ToJSON rootFieldType => ToJSON (AllowedRootFields rootFieldType) Source # | |
Defined in Hasura.RQL.Types.Permission Methods toJSON :: AllowedRootFields rootFieldType -> Value toEncoding :: AllowedRootFields rootFieldType -> Encoding toJSONList :: [AllowedRootFields rootFieldType] -> Value toEncodingList :: [AllowedRootFields rootFieldType] -> Encoding | |
Cacheable rootFieldType => Cacheable (AllowedRootFields rootFieldType) Source # | |
Defined in Hasura.RQL.Types.Permission Methods unchanged :: Accesses -> AllowedRootFields rootFieldType -> AllowedRootFields rootFieldType -> Bool Source # | |
type Rep (AllowedRootFields rootFieldType) Source # | |
Defined in Hasura.RQL.Types.Permission type Rep (AllowedRootFields rootFieldType) = D1 ('MetaData "AllowedRootFields" "Hasura.RQL.Types.Permission" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "ARFAllowAllRootFields" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ARFAllowConfiguredRootFields" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (HashSet rootFieldType)))) |
isRootFieldAllowed :: Eq rootField => rootField -> AllowedRootFields rootField -> Bool Source #
data SelPerm (b :: BackendType) Source #
Constructors
SelPerm | |
Fields
|
Instances
type SelPermDef b = PermDef b SelPerm Source #
data DelPerm (b :: BackendType) Source #
Constructors
DelPerm | |
Fields
|
Instances
type DelPermDef b = PermDef b DelPerm Source #
data UpdPerm (b :: BackendType) Source #
Constructors
UpdPerm | |
Fields
|
Instances
type UpdPermDef b = PermDef b UpdPerm Source #
pdPermission :: forall b perm b perm. Lens (PermDef b perm) (PermDef b perm) (PermDefPermission b perm) (PermDefPermission b perm) Source #