wire-api-0.1.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Wire.API.Message

Description

This module interfaces with two protobuf libraries: protobuf and proto-lens.

The protobuf library was used to manually map types from github.comwireappgeneric-message-protoprotootr.proto. These types are in Proto.

The proto-lens library was introduced afterwards to automatically map types from the above proto definition. The types are in Otr of wire-message-proto-lens package.

Synopsis

Message

data MessageMetadata Source #

Instances

Instances details
Arbitrary MessageMetadata Source # 
Instance details

Defined in Wire.API.Message

FromJSON MessageMetadata Source # 
Instance details

Defined in Wire.API.Message

ToJSON MessageMetadata Source # 
Instance details

Defined in Wire.API.Message

Generic MessageMetadata Source # 
Instance details

Defined in Wire.API.Message

Associated Types

type Rep MessageMetadata :: Type -> Type #

Show MessageMetadata Source # 
Instance details

Defined in Wire.API.Message

Eq MessageMetadata Source # 
Instance details

Defined in Wire.API.Message

Ord MessageMetadata Source # 
Instance details

Defined in Wire.API.Message

ToSchema MessageMetadata Source # 
Instance details

Defined in Wire.API.Message

ToSchema MessageMetadata Source # 
Instance details

Defined in Wire.API.Message

type Rep MessageMetadata Source # 
Instance details

Defined in Wire.API.Message

type Rep MessageMetadata = D1 ('MetaData "MessageMetadata" "Wire.API.Message" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) (C1 ('MetaCons "MessageMetadata" 'PrefixI 'True) ((S1 ('MetaSel ('Just "mmNativePush") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "mmTransient") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "mmNativePriority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Priority)) :*: S1 ('MetaSel ('Just "mmData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))))

data NewOtrMessage Source #

Instances

Instances details
Arbitrary NewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

FromJSON NewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

ToJSON NewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

Generic NewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

Associated Types

type Rep NewOtrMessage :: Type -> Type #

Show NewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

Eq NewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

ToSchema NewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

ToSchema NewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

FromProto NewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

type Rep NewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

type Rep NewOtrMessage = D1 ('MetaData "NewOtrMessage" "Wire.API.Message" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) (C1 ('MetaCons "NewOtrMessage" 'PrefixI 'True) ((S1 ('MetaSel ('Just "newOtrSender") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ClientId) :*: (S1 ('MetaSel ('Just "newOtrRecipients") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 OtrRecipients) :*: S1 ('MetaSel ('Just "newOtrNativePush") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "newOtrTransient") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "newOtrNativePriority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Priority))) :*: (S1 ('MetaSel ('Just "newOtrData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "newOtrReportMissing") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [UserId]))))))

data QualifiedNewOtrMessage Source #

Instances

Instances details
Arbitrary QualifiedNewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

Generic QualifiedNewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

Associated Types

type Rep QualifiedNewOtrMessage :: Type -> Type #

Show QualifiedNewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

Eq QualifiedNewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

ToSchema QualifiedNewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

FromProto QualifiedNewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

ToProto QualifiedNewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

type Rep QualifiedNewOtrMessage Source # 
Instance details

Defined in Wire.API.Message

type Rep QualifiedNewOtrMessage = D1 ('MetaData "QualifiedNewOtrMessage" "Wire.API.Message" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) (C1 ('MetaCons "QualifiedNewOtrMessage" 'PrefixI 'True) ((S1 ('MetaSel ('Just "qualifiedNewOtrSender") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ClientId) :*: (S1 ('MetaSel ('Just "qualifiedNewOtrRecipients") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 QualifiedOtrRecipients) :*: S1 ('MetaSel ('Just "qualifiedNewOtrNativePush") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "qualifiedNewOtrTransient") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "qualifiedNewOtrNativePriority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Priority))) :*: (S1 ('MetaSel ('Just "qualifiedNewOtrData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "qualifiedNewOtrClientMismatchStrategy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ClientMismatchStrategy)))))

Protobuf messages

Priority

data Priority Source #

Native push notification priority flag. LowPriority is never used, but might be in the future.

@neongreen writes: [...] nobody seems to ever set native_priority in the client code. Exhibits A1 and A2:

see also: Priority.

Constructors

LowPriority 
HighPriority 

Instances

Instances details
Arbitrary Priority Source # 
Instance details

Defined in Wire.API.Message

FromJSON Priority Source # 
Instance details

Defined in Wire.API.Message

ToJSON Priority Source # 
Instance details

Defined in Wire.API.Message

Enum Priority Source # 
Instance details

Defined in Wire.API.Message

Generic Priority Source # 
Instance details

Defined in Wire.API.Message

Associated Types

type Rep Priority :: Type -> Type #

Methods

from :: Priority -> Rep Priority x #

to :: Rep Priority x -> Priority #

Show Priority Source # 
Instance details

Defined in Wire.API.Message

Eq Priority Source # 
Instance details

Defined in Wire.API.Message

Ord Priority Source # 
Instance details

Defined in Wire.API.Message

ToSchema Priority Source # 
Instance details

Defined in Wire.API.Message

ToSchema Priority Source # 
Instance details

Defined in Wire.API.Message

type Rep Priority Source # 
Instance details

Defined in Wire.API.Message

type Rep Priority = D1 ('MetaData "Priority" "Wire.API.Message" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) (C1 ('MetaCons "LowPriority" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HighPriority" 'PrefixI 'False) (U1 :: Type -> Type))

Recipients

newtype OtrRecipients Source #

Instances

Instances details
Arbitrary OtrRecipients Source # 
Instance details

Defined in Wire.API.Message

FromJSON OtrRecipients Source # 
Instance details

Defined in Wire.API.Message

ToJSON OtrRecipients Source # 
Instance details

Defined in Wire.API.Message

Monoid OtrRecipients Source # 
Instance details

Defined in Wire.API.Message

Semigroup OtrRecipients Source # 
Instance details

Defined in Wire.API.Message

Show OtrRecipients Source # 
Instance details

Defined in Wire.API.Message

Eq OtrRecipients Source # 
Instance details

Defined in Wire.API.Message

ToSchema OtrRecipients Source # 
Instance details

Defined in Wire.API.Message

newtype UserClientMap a Source #

Constructors

UserClientMap 

Instances

Instances details
Foldable UserClientMap Source # 
Instance details

Defined in Wire.API.User.Client

Methods

fold :: Monoid m => UserClientMap m -> m #

foldMap :: Monoid m => (a -> m) -> UserClientMap a -> m #

foldMap' :: Monoid m => (a -> m) -> UserClientMap a -> m #

foldr :: (a -> b -> b) -> b -> UserClientMap a -> b #

foldr' :: (a -> b -> b) -> b -> UserClientMap a -> b #

foldl :: (b -> a -> b) -> b -> UserClientMap a -> b #

foldl' :: (b -> a -> b) -> b -> UserClientMap a -> b #

foldr1 :: (a -> a -> a) -> UserClientMap a -> a #

foldl1 :: (a -> a -> a) -> UserClientMap a -> a #

toList :: UserClientMap a -> [a] #

null :: UserClientMap a -> Bool #

length :: UserClientMap a -> Int #

elem :: Eq a => a -> UserClientMap a -> Bool #

maximum :: Ord a => UserClientMap a -> a #

minimum :: Ord a => UserClientMap a -> a #

sum :: Num a => UserClientMap a -> a #

product :: Num a => UserClientMap a -> a #

Traversable UserClientMap Source # 
Instance details

Defined in Wire.API.User.Client

Methods

traverse :: Applicative f => (a -> f b) -> UserClientMap a -> f (UserClientMap b) #

sequenceA :: Applicative f => UserClientMap (f a) -> f (UserClientMap a) #

mapM :: Monad m => (a -> m b) -> UserClientMap a -> m (UserClientMap b) #

sequence :: Monad m => UserClientMap (m a) -> m (UserClientMap a) #

Functor UserClientMap Source # 
Instance details

Defined in Wire.API.User.Client

Methods

fmap :: (a -> b) -> UserClientMap a -> UserClientMap b #

(<$) :: a -> UserClientMap b -> UserClientMap a #

Arbitrary a => Arbitrary (UserClientMap a) Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema a => FromJSON (UserClientMap a) Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema a => ToJSON (UserClientMap a) Source # 
Instance details

Defined in Wire.API.User.Client

Monoid (UserClientMap a) Source # 
Instance details

Defined in Wire.API.User.Client

Semigroup (UserClientMap a) Source # 
Instance details

Defined in Wire.API.User.Client

Show a => Show (UserClientMap a) Source # 
Instance details

Defined in Wire.API.User.Client

Eq a => Eq (UserClientMap a) Source # 
Instance details

Defined in Wire.API.User.Client

(Typeable a, ToSchema a) => ToSchema (UserClientMap a) Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema a => ToSchema (UserClientMap a) Source # 
Instance details

Defined in Wire.API.User.Client

Mismatch

data ClientMismatch Source #

Constructors

ClientMismatch 

Fields

Instances

Instances details
Arbitrary ClientMismatch Source # 
Instance details

Defined in Wire.API.Message

FromJSON ClientMismatch Source # 
Instance details

Defined in Wire.API.Message

ToJSON ClientMismatch Source # 
Instance details

Defined in Wire.API.Message

Generic ClientMismatch Source # 
Instance details

Defined in Wire.API.Message

Associated Types

type Rep ClientMismatch :: Type -> Type #

Show ClientMismatch Source # 
Instance details

Defined in Wire.API.Message

Eq ClientMismatch Source # 
Instance details

Defined in Wire.API.Message

ToSchema ClientMismatch Source # 
Instance details

Defined in Wire.API.Message

ToSchema ClientMismatch Source # 
Instance details

Defined in Wire.API.Message

type Rep ClientMismatch Source # 
Instance details

Defined in Wire.API.Message

type Rep ClientMismatch = D1 ('MetaData "ClientMismatch" "Wire.API.Message" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) (C1 ('MetaCons "ClientMismatch" 'PrefixI 'True) ((S1 ('MetaSel ('Just "cmismatchTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UTCTimeMillis) :*: S1 ('MetaSel ('Just "missingClients") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UserClients)) :*: (S1 ('MetaSel ('Just "redundantClients") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UserClients) :*: S1 ('MetaSel ('Just "deletedClients") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UserClients))))

data ClientMismatchStrategy Source #

Instances

Instances details
Arbitrary ClientMismatchStrategy Source # 
Instance details

Defined in Wire.API.Message

Generic ClientMismatchStrategy Source # 
Instance details

Defined in Wire.API.Message

Associated Types

type Rep ClientMismatchStrategy :: Type -> Type #

Show ClientMismatchStrategy Source # 
Instance details

Defined in Wire.API.Message

Eq ClientMismatchStrategy Source # 
Instance details

Defined in Wire.API.Message

type Rep ClientMismatchStrategy Source # 
Instance details

Defined in Wire.API.Message

type Rep ClientMismatchStrategy = D1 ('MetaData "ClientMismatchStrategy" "Wire.API.Message" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) ((C1 ('MetaCons "MismatchReportAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MismatchIgnoreAll" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MismatchReportOnly" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Set (Qualified UserId)))) :+: C1 ('MetaCons "MismatchIgnoreOnly" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Set (Qualified UserId))))))

data MessageSendingStatus Source #

Instances

Instances details
FromJSON MessageSendingStatus Source # 
Instance details

Defined in Wire.API.Message

ToJSON MessageSendingStatus Source # 
Instance details

Defined in Wire.API.Message

Generic MessageSendingStatus Source # 
Instance details

Defined in Wire.API.Message

Associated Types

type Rep MessageSendingStatus :: Type -> Type #

Show MessageSendingStatus Source # 
Instance details

Defined in Wire.API.Message

Eq MessageSendingStatus Source # 
Instance details

Defined in Wire.API.Message

ToSchema MessageSendingStatus Source # 
Instance details

Defined in Wire.API.Message

ToSchema MessageSendingStatus Source # 
Instance details

Defined in Wire.API.Message

type Rep MessageSendingStatus Source # 
Instance details

Defined in Wire.API.Message

newtype UserClients Source #

Constructors

UserClients 

Instances

Instances details
Arbitrary UserClients Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON UserClients Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON UserClients Source # 
Instance details

Defined in Wire.API.User.Client

Monoid UserClients Source # 
Instance details

Defined in Wire.API.User.Client

Semigroup UserClients Source # 
Instance details

Defined in Wire.API.User.Client

Generic UserClients Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep UserClients :: Type -> Type #

Show UserClients Source # 
Instance details

Defined in Wire.API.User.Client

Eq UserClients Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema UserClients Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema UserClients Source # 
Instance details

Defined in Wire.API.User.Client

type Rep UserClients Source # 
Instance details

Defined in Wire.API.User.Client

type Rep UserClients = D1 ('MetaData "UserClients" "Wire.API.User.Client" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'True) (C1 ('MetaCons "UserClients" 'PrefixI 'True) (S1 ('MetaSel ('Just "userClients") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map UserId (Set ClientId)))))