simplex-chat-6.5.0.19
Safe HaskellSafe-Inferred
LanguageHaskell2010

Simplex.Chat.Operators

Documentation

data OperatorTag Source #

Constructors

OTSimplex 
OTFlux 

Instances

Instances details
FromJSON OperatorTag Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

parseJSON :: Value -> Parser OperatorTag

parseJSONList :: Value -> Parser [OperatorTag]

omittedField :: Maybe OperatorTag

ToJSON OperatorTag Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

toJSON :: OperatorTag -> Value

toEncoding :: OperatorTag -> Encoding

toJSONList :: [OperatorTag] -> Value

toEncodingList :: [OperatorTag] -> Encoding

omitField :: OperatorTag -> Bool

Show OperatorTag Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> OperatorTag -> ShowS

show :: OperatorTag -> String

showList :: [OperatorTag] -> ShowS

Eq OperatorTag Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

(==) :: OperatorTag -> OperatorTag -> Bool

(/=) :: OperatorTag -> OperatorTag -> Bool

Ord OperatorTag Source # 
Instance details

Defined in Simplex.Chat.Operators

TextEncoding OperatorTag Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

textEncode :: OperatorTag -> Text

textDecode :: Text -> Maybe OperatorTag

FromField OperatorTag Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

fromField :: FieldParser OperatorTag #

ToField OperatorTag Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

toField :: OperatorTag -> SQLData #

data UsageConditions Source #

Constructors

UsageConditions 

Fields

Instances

Instances details
FromJSON UsageConditions Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

parseJSON :: Value -> Parser UsageConditions

parseJSONList :: Value -> Parser [UsageConditions]

omittedField :: Maybe UsageConditions

ToJSON UsageConditions Source # 
Instance details

Defined in Simplex.Chat.Operators

Show UsageConditions Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> UsageConditions -> ShowS

show :: UsageConditions -> String

showList :: [UsageConditions] -> ShowS

data UsageConditionsAction Source #

Constructors

UCAReview 

Fields

UCAAccepted 

Instances

Instances details
FromJSON UsageConditionsAction Source # 
Instance details

Defined in Simplex.Chat.Operators

ToJSON UsageConditionsAction Source # 
Instance details

Defined in Simplex.Chat.Operators

Show UsageConditionsAction Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> UsageConditionsAction -> ShowS

show :: UsageConditionsAction -> String

showList :: [UsageConditionsAction] -> ShowS

conditionsRequiredOrDeadline :: UTCTime -> UTCTime -> Maybe UTCTime Source #

data ConditionsAcceptance Source #

Constructors

CAAccepted 

Fields

CARequired 

Fields

Instances

Instances details
FromJSON ConditionsAcceptance Source # 
Instance details

Defined in Simplex.Chat.Operators

ToJSON ConditionsAcceptance Source # 
Instance details

Defined in Simplex.Chat.Operators

Show ConditionsAcceptance Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> ConditionsAcceptance -> ShowS

show :: ConditionsAcceptance -> String

showList :: [ConditionsAcceptance] -> ShowS

data AServerOperator Source #

Constructors

forall s. ASO (SDBStored s) (ServerOperator' s) 

Instances

Instances details
Show AServerOperator Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> AServerOperator -> ShowS

show :: AServerOperator -> String

showList :: [AServerOperator] -> ShowS

data ServerOperator' s Source #

Constructors

ServerOperator 

Fields

Instances

Instances details
DBStoredI s => FromJSON (ServerOperator' s) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

parseJSON :: Value -> Parser (ServerOperator' s)

parseJSONList :: Value -> Parser [ServerOperator' s]

omittedField :: Maybe (ServerOperator' s)

ToJSON (ServerOperator' s) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

toJSON :: ServerOperator' s -> Value

toEncoding :: ServerOperator' s -> Encoding

toJSONList :: [ServerOperator' s] -> Value

toEncodingList :: [ServerOperator' s] -> Encoding

omitField :: ServerOperator' s -> Bool

Show (ServerOperator' s) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> ServerOperator' s -> ShowS

show :: ServerOperator' s -> String

showList :: [ServerOperator' s] -> ShowS

data ServerOperatorRoles Source #

Constructors

ServerOperatorRoles 

Fields

Instances

Instances details
Show ServerOperatorRoles Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> ServerOperatorRoles -> ShowS

show :: ServerOperatorRoles -> String

showList :: [ServerOperatorRoles] -> ShowS

operatorRoles :: UserProtocol p => SProtocolType p -> ServerOperator -> ServerRoles Source #

data UserOperatorServers Source #

Instances

Instances details
FromJSON UserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

ToJSON UserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

Show UserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> UserOperatorServers -> ShowS

show :: UserOperatorServers -> String

showList :: [UserOperatorServers] -> ShowS

UserServersClass UserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

Associated Types

type AServer UserOperatorServers = (s :: ProtocolType -> Type) Source #

type AChatRelay UserOperatorServers = (s :: Type) Source #

type AChatRelay UserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

type AServer UserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

data UpdatedUserOperatorServers Source #

Instances

Instances details
FromJSON UpdatedUserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

Show UpdatedUserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

UserServersClass UpdatedUserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

Associated Types

type AServer UpdatedUserOperatorServers = (s :: ProtocolType -> Type) Source #

type AChatRelay UpdatedUserOperatorServers = (s :: Type) Source #

type AChatRelay UpdatedUserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

type AServer UpdatedUserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

data ValidatedProtoServer p Source #

Constructors

ValidatedProtoServer 

Fields

  • unVPS :: Either Text (ProtoServerWithAuth p)
     

Instances

Instances details
Show (ValidatedProtoServer p) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> ValidatedProtoServer p -> ShowS

show :: ValidatedProtoServer p -> String

showList :: [ValidatedProtoServer p] -> ShowS

class UserServersClass u where Source #

Associated Types

type AServer u = (s :: ProtocolType -> Type) | s -> u Source #

type AChatRelay u = (s :: Type) | s -> u Source #

Methods

operator' :: u -> Maybe ServerOperator Source #

aUserServer' :: AServer u p -> AUserServer p Source #

servers' :: UserProtocol p => SProtocolType p -> u -> [AServer u p] Source #

chatRelays' :: u -> [AChatRelay u] Source #

aUserChatRelay' :: AChatRelay u -> AUserChatRelay Source #

Instances

Instances details
UserServersClass UpdatedUserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

Associated Types

type AServer UpdatedUserOperatorServers = (s :: ProtocolType -> Type) Source #

type AChatRelay UpdatedUserOperatorServers = (s :: Type) Source #

UserServersClass UserOperatorServers Source # 
Instance details

Defined in Simplex.Chat.Operators

Associated Types

type AServer UserOperatorServers = (s :: ProtocolType -> Type) Source #

type AChatRelay UserOperatorServers = (s :: Type) Source #

type UserServer p = UserServer' 'DBStored p Source #

type NewUserServer p = UserServer' 'DBNew p Source #

data AUserServer p Source #

Constructors

forall s. AUS (SDBStored s) (UserServer' s p) 

Instances

Instances details
ProtocolTypeI p => FromJSON (AUserServer p) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

parseJSON :: Value -> Parser (AUserServer p)

parseJSONList :: Value -> Parser [AUserServer p]

omittedField :: Maybe (AUserServer p)

Show (AUserServer p) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> AUserServer p -> ShowS

show :: AUserServer p -> String

showList :: [AUserServer p] -> ShowS

data UserServer' s (p :: ProtocolType) Source #

Constructors

UserServer 

Fields

Instances

Instances details
(DBStoredI s, ProtocolTypeI p) => FromJSON (UserServer' s p) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

parseJSON :: Value -> Parser (UserServer' s p)

parseJSONList :: Value -> Parser [UserServer' s p]

omittedField :: Maybe (UserServer' s p)

ProtocolTypeI p => ToJSON (UserServer' s p) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

toJSON :: UserServer' s p -> Value

toEncoding :: UserServer' s p -> Encoding

toJSONList :: [UserServer' s p] -> Value

toEncodingList :: [UserServer' s p] -> Encoding

omitField :: UserServer' s p -> Bool

Show (UserServer' s p) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> UserServer' s p -> ShowS

show :: UserServer' s p -> String

showList :: [UserServer' s p] -> ShowS

presetServerAddress :: UserServer' s p -> ProtocolServer p Source #

data AUserChatRelay Source #

Constructors

forall s. AUCR (SDBStored s) (UserChatRelay' s) 

Instances

Instances details
FromJSON AUserChatRelay Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

parseJSON :: Value -> Parser AUserChatRelay

parseJSONList :: Value -> Parser [AUserChatRelay]

omittedField :: Maybe AUserChatRelay

Show AUserChatRelay Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> AUserChatRelay -> ShowS

show :: AUserChatRelay -> String

showList :: [AUserChatRelay] -> ShowS

data UserChatRelay' s Source #

Constructors

UserChatRelay 

Fields

Instances

Instances details
Eq UserChatRelay Source # 
Instance details

Defined in Simplex.Chat.Operators

DBStoredI s => FromJSON (UserChatRelay' s) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

parseJSON :: Value -> Parser (UserChatRelay' s)

parseJSONList :: Value -> Parser [UserChatRelay' s]

omittedField :: Maybe (UserChatRelay' s)

ToJSON (UserChatRelay' s) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

toJSON :: UserChatRelay' s -> Value

toEncoding :: UserChatRelay' s -> Encoding

toJSONList :: [UserChatRelay' s] -> Value

toEncodingList :: [UserChatRelay' s] -> Encoding

omitField :: UserChatRelay' s -> Bool

Show (UserChatRelay' s) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> UserChatRelay' s -> ShowS

show :: UserChatRelay' s -> String

showList :: [UserChatRelay' s] -> ShowS

data GroupRelay Source #

Instances

Instances details
FromJSON GroupRelay Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

parseJSON :: Value -> Parser GroupRelay

parseJSONList :: Value -> Parser [GroupRelay]

omittedField :: Maybe GroupRelay

ToJSON GroupRelay Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

toJSON :: GroupRelay -> Value

toEncoding :: GroupRelay -> Encoding

toJSONList :: [GroupRelay] -> Value

toEncodingList :: [GroupRelay] -> Encoding

omitField :: GroupRelay -> Bool

Show GroupRelay Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> GroupRelay -> ShowS

show :: GroupRelay -> String

showList :: [GroupRelay] -> ShowS

Eq GroupRelay Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

(==) :: GroupRelay -> GroupRelay -> Bool

(/=) :: GroupRelay -> GroupRelay -> Bool

data CLINewRelay Source #

Constructors

CLINewRelay 

Fields

Instances

Instances details
Show CLINewRelay Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> CLINewRelay -> ShowS

show :: CLINewRelay -> String

showList :: [CLINewRelay] -> ShowS

data PresetOperator Source #

Constructors

PresetOperator 

Fields

Instances

Instances details
Show PresetOperator Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> PresetOperator -> ShowS

show :: PresetOperator -> String

showList :: [PresetOperator] -> ShowS

pServers :: UserProtocol p => SProtocolType p -> PresetOperator -> [NewUserServer p] Source #

operatorServersToUse :: UserProtocol p => SProtocolType p -> PresetOperator -> Int Source #

presetServer' :: Bool -> ProtocolServer p -> NewUserServer p Source #

presetServer :: Bool -> ProtoServerWithAuth p -> NewUserServer p Source #

newUserServer :: ProtoServerWithAuth p -> NewUserServer p Source #

newUserServer_ :: Bool -> Bool -> ProtoServerWithAuth p -> NewUserServer p Source #

usageConditionsToAdd' :: Text -> Text -> Bool -> UTCTime -> [UsageConditions] -> (UsageConditions, [UsageConditions]) Source #

srvHost :: UserServer' s p -> NonEmpty TransportHost Source #

agentServerCfgs :: UserProtocol p => SProtocolType p -> [(Text, ServerOperator)] -> [UserServer' s p] -> [ServerCfg p] Source #

matchingHost :: Text -> TransportHost -> Bool Source #

class Box b where Source #

Methods

box :: a -> b a Source #

unbox :: b a -> a Source #

Instances

Instances details
Box Identity Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

box :: a -> Identity a Source #

unbox :: Identity a -> a Source #

Box ((,) (Maybe a)) Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

box :: a0 -> (Maybe a, a0) Source #

unbox :: (Maybe a, a0) -> a0 Source #

groupByOperator_ :: forall f. (Box f, Traversable f) => ([f (Maybe ServerOperator)], [UserServer 'PSMP], [UserServer 'PXFTP], [UserChatRelay]) -> IO [f UserOperatorServers] Source #

data UserServersError Source #

Constructors

USENoServers 

Fields

USEStorageMissing 

Fields

USEProxyMissing 

Fields

USEDuplicateServer 

Fields

USEDuplicateChatRelayAddress 

Instances

Instances details
FromJSON UserServersError Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

parseJSON :: Value -> Parser UserServersError

parseJSONList :: Value -> Parser [UserServersError]

omittedField :: Maybe UserServersError

ToJSON UserServersError Source # 
Instance details

Defined in Simplex.Chat.Operators

Show UserServersError Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> UserServersError -> ShowS

show :: UserServersError -> String

showList :: [UserServersError] -> ShowS

data UserServersWarning Source #

Constructors

USWNoChatRelays 

Fields

Instances

Instances details
FromJSON UserServersWarning Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

parseJSON :: Value -> Parser UserServersWarning

parseJSONList :: Value -> Parser [UserServersWarning]

omittedField :: Maybe UserServersWarning

ToJSON UserServersWarning Source # 
Instance details

Defined in Simplex.Chat.Operators

Show UserServersWarning Source # 
Instance details

Defined in Simplex.Chat.Operators

Methods

showsPrec :: Int -> UserServersWarning -> ShowS

show :: UserServersWarning -> String

showList :: [UserServersWarning] -> ShowS