wire-subsystems-0.1.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Wire.NotificationSubsystem

Synopsis

Documentation

data Recipient Source #

Instances

Instances details
Arbitrary Recipient Source # 
Instance details

Defined in Wire.NotificationSubsystem

Generic Recipient Source # 
Instance details

Defined in Wire.NotificationSubsystem

Associated Types

type Rep Recipient :: Type -> Type #

Show Recipient Source # 
Instance details

Defined in Wire.NotificationSubsystem

Eq Recipient Source # 
Instance details

Defined in Wire.NotificationSubsystem

Ord Recipient Source # 
Instance details

Defined in Wire.NotificationSubsystem

type Rep Recipient Source # 
Instance details

Defined in Wire.NotificationSubsystem

type Rep Recipient = D1 ('MetaData "Recipient" "Wire.NotificationSubsystem" "wire-subsystems-0.1.0-yiYZiegPZRHMEY53V2BOj" 'False) (C1 ('MetaCons "Recipient" 'PrefixI 'True) (S1 ('MetaSel ('Just "recipientUserId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UserId) :*: S1 ('MetaSel ('Just "recipientClients") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecipientClients)))

data Push Source #

Instances

Instances details
Arbitrary Push Source # 
Instance details

Defined in Wire.NotificationSubsystem

Generic Push Source # 
Instance details

Defined in Wire.NotificationSubsystem

Associated Types

type Rep Push :: Type -> Type #

Methods

from :: Push -> Rep Push x #

to :: Rep Push x -> Push #

Show Push Source # 
Instance details

Defined in Wire.NotificationSubsystem

Methods

showsPrec :: Int -> Push -> ShowS #

show :: Push -> String #

showList :: [Push] -> ShowS #

Eq Push Source # 
Instance details

Defined in Wire.NotificationSubsystem

Methods

(==) :: Push -> Push -> Bool #

(/=) :: Push -> Push -> Bool #

type Rep Push Source # 
Instance details

Defined in Wire.NotificationSubsystem

data NotificationSubsystem m a where Source #

This subsystem governs mechanisms to send notifications to users.

Constructors

PushNotifications :: [Push] -> NotificationSubsystem m ()

Bulk push notifications

PushNotificationsSlowly :: [Push] -> NotificationSubsystem m ()

Bulk push notifications, but slowly. This should be used when there are many notifications to be sent which could cause too much resource usage.

PushNotificationsAsync :: [Push] -> NotificationSubsystem m (Async (Maybe ()))

Bulk push notifications, but async. This should be used when failure to send notifications is not critical.

See Async to know more about the Maybe

CleanupUser :: UserId -> NotificationSubsystem m () 
UnregisterPushClient :: UserId -> ClientId -> NotificationSubsystem m () 
GetPushTokens :: UserId -> NotificationSubsystem m [PushToken] 

pushNotificationsAsync :: forall r. Member NotificationSubsystem r => [Push] -> Sem r (Async (Maybe ())) Source #

Bulk push notifications, but async. This should be used when failure to send notifications is not critical.

See Async to know more about the Maybe

pushNotificationsSlowly :: forall r. Member NotificationSubsystem r => [Push] -> Sem r () Source #

Bulk push notifications, but slowly. This should be used when there are many notifications to be sent which could cause too much resource usage.

pushNotifications :: forall r. Member NotificationSubsystem r => [Push] -> Sem r () Source #

Bulk push notifications