wire-api-0.1.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Wire.API.User.Client

Synopsis

ClientCapability

data ClientCapability Source #

Names of capabilities clients can claim to support in order to be treated differently by the backend.

  • *The cost of capability keywords**

Avoid this wherever possible. Adding capability keywords in the backend code makes testing exponentially more expensive (in principle, you should always test all combinations of supported capabilitiess. But even if you only test those known to occur in the wild, it will still make your life harder.)

Consider dropping support for clients without ancient capabilitiess if you have "enough" clients that are younger. This will always be disruptive for a minority of users, but maybe this can be mitigated by giving those users clear feedback that they need to upgrade in order to get their expected UX back.

  • *An alternative design**

Consider replacing ClientCapability with platform and version in formation (I played with data Platform = Android | IOS | WebApp | TeamSettings | AccountPages and Version from the semver package in https://github.com/wireapp/wire-server/pull/1503, but ended up deciding against it). This data could be passed in a similar way as the ClientCapabilityList is now (similar end-point, different path, different body type), and the two approaches could be used in parallel indefinitely.

Capability keywords reveal the minimum amount of information necessary to handle the client, making it harder to fingerprint and track clients; they are straight-forward and self-documenting (to an extent), and make it easier to release a capability on the backend and clients independently.

Platform/version info is if you have many different capability keywords, even though it doesn't solve the problem of having to explore the entire capability space in your tests. They give you a better idea of the time line, and how to gently discontinue support for ancient capabilities.

Constructors

ClientSupportsLegalholdImplicitConsent

Clients have minimum support for LH, but not for explicit consent. Implicit consent is granted via the galley server config and cassandra table `galley.legalhold_whitelisted`.

Instances

Instances details
Arbitrary ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

Bounded ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

Enum ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

Generic ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep ClientCapability :: Type -> Type #

Show ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

Cql ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

Eq ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

Ord ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

type Rep ClientCapability Source # 
Instance details

Defined in Wire.API.User.Client

type Rep ClientCapability = D1 ('MetaData "ClientCapability" "Wire.API.User.Client" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) (C1 ('MetaCons "ClientSupportsLegalholdImplicitConsent" 'PrefixI 'False) (U1 :: Type -> Type))

newtype ClientCapabilityList Source #

Instances

Instances details
Arbitrary ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

Monoid ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

Semigroup ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

Generic ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep ClientCapabilityList :: Type -> Type #

Show ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

Eq ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

Ord ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

type Rep ClientCapabilityList Source # 
Instance details

Defined in Wire.API.User.Client

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

ClientInfo

data ClientInfo Source #

A client, together with extra information about it.

Constructors

ClientInfo 

Fields

Instances

Instances details
FromJSON ClientInfo Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON ClientInfo Source # 
Instance details

Defined in Wire.API.User.Client

Show ClientInfo Source # 
Instance details

Defined in Wire.API.User.Client

Eq ClientInfo Source # 
Instance details

Defined in Wire.API.User.Client

Ord ClientInfo Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientInfo Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientInfo Source # 
Instance details

Defined in Wire.API.User.Client

UserClients

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

newtype UserClientPrekeyMap Source #

Instances

Instances details
Arbitrary UserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON UserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON UserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

Monoid UserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

Semigroup UserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

Show UserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

Eq UserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema UserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema UserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

newtype QualifiedUserClientMap a Source #

Instances

Instances details
Functor QualifiedUserClientMap Source # 
Instance details

Defined in Wire.API.User.Client

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

Defined in Wire.API.User.Client

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

Defined in Wire.API.User.Client

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

Defined in Wire.API.User.Client

Semigroup (QualifiedUserClientMap a) => Monoid (QualifiedUserClientMap a) Source # 
Instance details

Defined in Wire.API.User.Client

Semigroup a => Semigroup (QualifiedUserClientMap a) Source # 
Instance details

Defined in Wire.API.User.Client

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

Defined in Wire.API.User.Client

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

Defined in Wire.API.User.Client

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

Defined in Wire.API.User.Client

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

Defined in Wire.API.User.Client

newtype QualifiedUserClientPrekeyMap Source #

Instances

Instances details
Arbitrary QualifiedUserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON QualifiedUserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON QualifiedUserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

Monoid QualifiedUserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

Semigroup QualifiedUserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

Show QualifiedUserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

Eq QualifiedUserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema QualifiedUserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema QualifiedUserClientPrekeyMap Source # 
Instance details

Defined in Wire.API.User.Client

data QualifiedUserClientPrekeyMapV4 Source #

Instances

Instances details
Arbitrary QualifiedUserClientPrekeyMapV4 Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON QualifiedUserClientPrekeyMapV4 Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON QualifiedUserClientPrekeyMapV4 Source # 
Instance details

Defined in Wire.API.User.Client

Show QualifiedUserClientPrekeyMapV4 Source # 
Instance details

Defined in Wire.API.User.Client

Eq QualifiedUserClientPrekeyMapV4 Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema QualifiedUserClientPrekeyMapV4 Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema QualifiedUserClientPrekeyMapV4 Source # 
Instance details

Defined in Wire.API.User.Client

newtype UserClientsFull Source #

Instances

Instances details
Arbitrary UserClientsFull Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON UserClientsFull Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON UserClientsFull Source # 
Instance details

Defined in Wire.API.User.Client

Monoid UserClientsFull Source # 
Instance details

Defined in Wire.API.User.Client

Semigroup UserClientsFull Source # 
Instance details

Defined in Wire.API.User.Client

Generic UserClientsFull Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep UserClientsFull :: Type -> Type #

Show UserClientsFull Source # 
Instance details

Defined in Wire.API.User.Client

Eq UserClientsFull Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema UserClientsFull Source #

Json rendering of UserClientsFull is dynamic in the object fields, so it's unclear how machine-generated swagger would look like. We just leave the manual aeson instances in place and write something in English into the docs here.

Instance details

Defined in Wire.API.User.Client

type Rep UserClientsFull Source # 
Instance details

Defined in Wire.API.User.Client

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

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)))))

newtype QualifiedUserClients Source #

Instances

Instances details
Arbitrary QualifiedUserClients Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON QualifiedUserClients Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON QualifiedUserClients Source # 
Instance details

Defined in Wire.API.User.Client

Monoid QualifiedUserClients Source # 
Instance details

Defined in Wire.API.User.Client

Semigroup QualifiedUserClients Source # 
Instance details

Defined in Wire.API.User.Client

Generic QualifiedUserClients Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep QualifiedUserClients :: Type -> Type #

Show QualifiedUserClients Source # 
Instance details

Defined in Wire.API.User.Client

Eq QualifiedUserClients Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema QualifiedUserClients Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema QualifiedUserClients Source # 
Instance details

Defined in Wire.API.User.Client

type Rep QualifiedUserClients Source # 
Instance details

Defined in Wire.API.User.Client

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

Client

data Client Source #

Instances

Instances details
Arbitrary Client Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON Client Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON Client Source # 
Instance details

Defined in Wire.API.User.Client

Generic Client Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep Client :: Type -> Type #

Methods

from :: Client -> Rep Client x #

to :: Rep Client x -> Client #

Show Client Source # 
Instance details

Defined in Wire.API.User.Client

Eq Client Source # 
Instance details

Defined in Wire.API.User.Client

Methods

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

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

Ord Client Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema Client Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema Client Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema (Versioned 'V6 Client) Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema (Versioned 'V6 [Client]) Source # 
Instance details

Defined in Wire.API.User.Client

AsHeaders '[ClientId] Client Client Source # 
Instance details

Defined in Wire.API.User.Client

type Rep Client Source # 
Instance details

Defined in Wire.API.User.Client

data PubClient Source #

Instances

Instances details
Arbitrary PubClient Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON PubClient Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON PubClient Source # 
Instance details

Defined in Wire.API.User.Client

Generic PubClient Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep PubClient :: Type -> Type #

Show PubClient Source # 
Instance details

Defined in Wire.API.User.Client

Eq PubClient Source # 
Instance details

Defined in Wire.API.User.Client

Ord PubClient Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema PubClient Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema PubClient Source # 
Instance details

Defined in Wire.API.User.Client

type Rep PubClient Source # 
Instance details

Defined in Wire.API.User.Client

type Rep PubClient = D1 ('MetaData "PubClient" "Wire.API.User.Client" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) (C1 ('MetaCons "PubClient" 'PrefixI 'True) (S1 ('MetaSel ('Just "pubClientId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ClientId) :*: S1 ('MetaSel ('Just "pubClientClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ClientClass))))

data ClientType Source #

Instances

Instances details
Arbitrary ClientType Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON ClientType Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON ClientType Source # 
Instance details

Defined in Wire.API.User.Client

Generic ClientType Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep ClientType :: Type -> Type #

Show ClientType Source # 
Instance details

Defined in Wire.API.User.Client

Cql ClientType Source # 
Instance details

Defined in Wire.API.User.Client

Eq ClientType Source # 
Instance details

Defined in Wire.API.User.Client

Ord ClientType Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientType Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientType Source # 
Instance details

Defined in Wire.API.User.Client

type Rep ClientType Source # 
Instance details

Defined in Wire.API.User.Client

type Rep ClientType = D1 ('MetaData "ClientType" "Wire.API.User.Client" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) (C1 ('MetaCons "TemporaryClientType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PermanentClientType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LegalHoldClientType" 'PrefixI 'False) (U1 :: Type -> Type)))

data ClientClass Source #

Instances

Instances details
Arbitrary ClientClass Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON ClientClass Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON ClientClass Source # 
Instance details

Defined in Wire.API.User.Client

Generic ClientClass Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep ClientClass :: Type -> Type #

Show ClientClass Source # 
Instance details

Defined in Wire.API.User.Client

Cql ClientClass Source # 
Instance details

Defined in Wire.API.User.Client

Eq ClientClass Source # 
Instance details

Defined in Wire.API.User.Client

Ord ClientClass Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientClass Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientClass Source # 
Instance details

Defined in Wire.API.User.Client

type Rep ClientClass Source # 
Instance details

Defined in Wire.API.User.Client

type Rep ClientClass = D1 ('MetaData "ClientClass" "Wire.API.User.Client" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) ((C1 ('MetaCons "PhoneClient" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TabletClient" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DesktopClient" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LegalHoldClient" 'PrefixI 'False) (U1 :: Type -> Type)))

NewUpdateRemove Client

data NewClient Source #

Instances

Instances details
Arbitrary NewClient Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON NewClient Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON NewClient Source # 
Instance details

Defined in Wire.API.User.Client

Generic NewClient Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep NewClient :: Type -> Type #

Show NewClient Source # 
Instance details

Defined in Wire.API.User.Client

Eq NewClient Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema NewClient Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema NewClient Source # 
Instance details

Defined in Wire.API.User.Client

type Rep NewClient Source # 
Instance details

Defined in Wire.API.User.Client

type Rep NewClient = D1 ('MetaData "NewClient" "Wire.API.User.Client" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) (C1 ('MetaCons "NewClient" 'PrefixI 'True) (((S1 ('MetaSel ('Just "newClientPrekeys") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Prekey]) :*: S1 ('MetaSel ('Just "newClientLastKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 LastPrekey)) :*: (S1 ('MetaSel ('Just "newClientType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ClientType) :*: (S1 ('MetaSel ('Just "newClientLabel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "newClientClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ClientClass))))) :*: ((S1 ('MetaSel ('Just "newClientCookie") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CookieLabel)) :*: (S1 ('MetaSel ('Just "newClientPassword") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe PlainTextPassword6)) :*: S1 ('MetaSel ('Just "newClientModel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: (S1 ('MetaSel ('Just "newClientCapabilities") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Set ClientCapability))) :*: (S1 ('MetaSel ('Just "newClientMLSPublicKeys") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MLSPublicKeys) :*: S1 ('MetaSel ('Just "newClientVerificationCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Value)))))))

data UpdateClient Source #

Instances

Instances details
Arbitrary UpdateClient Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON UpdateClient Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON UpdateClient Source # 
Instance details

Defined in Wire.API.User.Client

Generic UpdateClient Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep UpdateClient :: Type -> Type #

Show UpdateClient Source # 
Instance details

Defined in Wire.API.User.Client

Eq UpdateClient Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema UpdateClient Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema UpdateClient Source # 
Instance details

Defined in Wire.API.User.Client

type Rep UpdateClient Source # 
Instance details

Defined in Wire.API.User.Client

type Rep UpdateClient = D1 ('MetaData "UpdateClient" "Wire.API.User.Client" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) (C1 ('MetaCons "UpdateClient" 'PrefixI 'True) ((S1 ('MetaSel ('Just "updateClientPrekeys") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Prekey]) :*: S1 ('MetaSel ('Just "updateClientLastKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LastPrekey))) :*: (S1 ('MetaSel ('Just "updateClientLabel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "updateClientCapabilities") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Set ClientCapability))) :*: S1 ('MetaSel ('Just "updateClientMLSPublicKeys") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MLSPublicKeys)))))

newtype RmClient Source #

Instances

Instances details
Arbitrary RmClient Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON RmClient Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON RmClient Source # 
Instance details

Defined in Wire.API.User.Client

Generic RmClient Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep RmClient :: Type -> Type #

Methods

from :: RmClient -> Rep RmClient x #

to :: Rep RmClient x -> RmClient #

Show RmClient Source # 
Instance details

Defined in Wire.API.User.Client

Eq RmClient Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema RmClient Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema RmClient Source # 
Instance details

Defined in Wire.API.User.Client

type Rep RmClient Source # 
Instance details

Defined in Wire.API.User.Client

type Rep RmClient = D1 ('MetaData "RmClient" "Wire.API.User.Client" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'True) (C1 ('MetaCons "RmClient" 'PrefixI 'True) (S1 ('MetaSel ('Just "rmPassword") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe PlainTextPassword6))))

re-exports

newtype Latitude Source #

Constructors

Latitude Double 

Instances

Instances details
Generic Latitude 
Instance details

Defined in Data.Misc

Associated Types

type Rep Latitude :: Type -> Type #

Methods

from :: Latitude -> Rep Latitude x #

to :: Rep Latitude x -> Latitude #

Cql Latitude 
Instance details

Defined in Data.Misc

NFData Latitude 
Instance details

Defined in Data.Misc

Methods

rnf :: Latitude -> () #

type Rep Latitude 
Instance details

Defined in Data.Misc

type Rep Latitude = D1 ('MetaData "Latitude" "Data.Misc" "types-common-0.16.0-EbVXdMsk6waAiaaWLJxODo" 'True) (C1 ('MetaCons "Latitude" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))

newtype Longitude Source #

Constructors

Longitude Double 

Instances

Instances details
Generic Longitude 
Instance details

Defined in Data.Misc

Associated Types

type Rep Longitude :: Type -> Type #

Cql Longitude 
Instance details

Defined in Data.Misc

NFData Longitude 
Instance details

Defined in Data.Misc

Methods

rnf :: Longitude -> () #

type Rep Longitude 
Instance details

Defined in Data.Misc

type Rep Longitude = D1 ('MetaData "Longitude" "Data.Misc" "types-common-0.16.0-EbVXdMsk6waAiaaWLJxODo" 'True) (C1 ('MetaCons "Longitude" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))

List of MLS client ids

data ClientList Source #

Client list for internal API.

Constructors

ClientList 

Fields

Instances

Instances details
Arbitrary ClientList Source # 
Instance details

Defined in Wire.API.User.Client

FromJSON ClientList Source # 
Instance details

Defined in Wire.API.User.Client

ToJSON ClientList Source # 
Instance details

Defined in Wire.API.User.Client

Generic ClientList Source # 
Instance details

Defined in Wire.API.User.Client

Associated Types

type Rep ClientList :: Type -> Type #

Show ClientList Source # 
Instance details

Defined in Wire.API.User.Client

Eq ClientList Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientList Source # 
Instance details

Defined in Wire.API.User.Client

ToSchema ClientList Source # 
Instance details

Defined in Wire.API.User.Client

type Rep ClientList Source # 
Instance details

Defined in Wire.API.User.Client

type Rep ClientList = D1 ('MetaData "ClientList" "Wire.API.User.Client" "wire-api-0.1.0-3915FetN8WgFcCGrbk6Vve" 'False) (C1 ('MetaCons "ClientList" 'PrefixI 'True) (S1 ('MetaSel ('Just "clClients") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [ClientId])))