galley-0.83.0: Conversations
Safe HaskellSafe-Inferred
LanguageGHC2021

Galley.API.Teams.Features.Get

Synopsis

Documentation

class (IsFeatureConfig cfg, GetFeatureDefaults (FeatureDefaults cfg), NpProject cfg Features) => GetFeatureConfig cfg where Source #

Don't export methods of this typeclass

Minimal complete definition

Nothing

Associated Types

type GetFeatureForUserConstraints cfg (r :: EffectRow) :: Constraint Source #

type GetFeatureForUserConstraints cfg (r :: EffectRow) = DefaultGetFeatureForUserConstraints cfg r

type ComputeFeatureConstraints cfg (r :: EffectRow) :: Constraint Source #

Methods

getFeatureForUser :: GetFeatureForUserConstraints cfg r => UserId -> Sem r (LockableFeature cfg) Source #

default getFeatureForUser :: DefaultGetFeatureForUserConstraints cfg r => UserId -> Sem r (LockableFeature cfg) Source #

computeFeature :: ComputeFeatureConstraints cfg r => TeamId -> LockableFeature cfg -> DbFeature cfg -> Sem r (LockableFeature cfg) Source #

Instances

Instances details
GetFeatureConfig AppLockConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig ClassifiedDomainsConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig ConferenceCallingConfig Source #

Conference calling gets enabled automatically once unlocked. To achieve that, the default feature status in the unlocked case is forced to be "enabled" before the database data is applied.

Previously, we were assuming that this feature would be left as "unlocked", and the clients were simply setting the status field. Now, the pre-existing status field is reinterpreted as the lock status, which means that the status will be NULL in many cases. The defaulting logic in computeFeature here makes sure that the status is aligned with the lock status in those situations.

Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig DigitalSignaturesConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig EnforceFileDownloadLocationConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig ExposeInvitationURLsToTeamAdminConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig FileSharingConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig GuestLinksConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig LegalholdConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig LimitedEventFanoutConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig MLSConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig MlsE2EIdConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig MlsMigrationConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig OutlookCalIntegrationConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig SSOConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig SearchVisibilityAvailableConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig SearchVisibilityInboundConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig SelfDeletingMessagesConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig SndFactorPasswordChallengeConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

GetFeatureConfig ValidateSAMLEmailsConfig Source # 
Instance details

Defined in Galley.API.Teams.Features.Get

guardSecondFactorDisabled :: forall r. (Member TeamFeatureStore r, Member (Input Opts) r, Member (ErrorS 'AccessDenied) r, Member TeamStore r, Member ConversationStore r) => UserId -> ConvId -> Sem r () Source #

If second factor auth is enabled, make sure that end-points that don't support it, but should, are blocked completely. (This is a workaround until we have 2FA for those end-points as well.)

This function exists to resolve a cyclic dependency.

data DoAuth Source #

Constructors

DoAuth UserId 
DontDoAuth