Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- data ConversationMetadata = ConversationMetadata {}
- defConversationMetadata :: Maybe UserId -> ConversationMetadata
- data Conversation = Conversation {}
- conversationSchema :: Maybe Version -> ValueSchema NamedSwaggerDoc Conversation
- cnvType :: Conversation -> ConvType
- cnvCreator :: Conversation -> Maybe UserId
- cnvAccess :: Conversation -> [Access]
- cnvName :: Conversation -> Maybe Text
- cnvTeam :: Conversation -> Maybe TeamId
- cnvMessageTimer :: Conversation -> Maybe Milliseconds
- cnvReceiptMode :: Conversation -> Maybe ReceiptMode
- cnvAccessRoles :: Conversation -> Set AccessRole
- data MLSOne2OneConversation a = MLSOne2OneConversation {}
- data CreateGroupConversation = CreateGroupConversation {}
- data ConversationCoverView = ConversationCoverView {}
- data ConversationList a = ConversationList {
- convList :: [a]
- convHasMore :: Bool
- newtype ListConversations = ListConversations {
- lcQualifiedIds :: Range 1 1000 [Qualified ConvId]
- type GetPaginatedConversationIds = GetMultiTablePageRequest ConversationPagingName LocalOrRemoteTable 1000 1000
- pattern GetPaginatedConversationIds :: Maybe (MultiTablePagingState name tables) -> Range 1 max Int32 -> GetMultiTablePageRequest name tables max def
- type ConvIdsPage = MultiTablePage ConversationPagingName ConvIdPagingKey LocalOrRemoteTable (Qualified ConvId)
- pattern ConvIdsPage :: [a] -> Bool -> MultiTablePagingState name tables -> MultiTablePage name resultsKey tables a
- type ConversationPagingState = MultiTablePagingState ConversationPagingName LocalOrRemoteTable
- pattern ConversationPagingState :: tables -> Maybe ByteString -> MultiTablePagingState name tables
- data ConversationsResponse = ConversationsResponse {
- crFound :: [Conversation]
- crNotFound :: [Qualified ConvId]
- crFailed :: [Qualified ConvId]
- newtype GroupId = GroupId {}
- mlsSelfConvId :: UserId -> ConvId
- data Access
- data AccessRole
- accessRolesSchemaV2 :: ObjectSchema SwaggerDoc (Set AccessRole)
- genAccessRolesV2 :: [AccessRole] -> [AccessRole] -> IO (Either String (Set AccessRole))
- data AccessRoleLegacy
- data ConvType
- newtype ReceiptMode = ReceiptMode {}
- fromAccessRoleLegacy :: AccessRoleLegacy -> Set AccessRole
- toAccessRoleLegacy :: Set AccessRole -> AccessRoleLegacy
- defRole :: Set AccessRole
- maybeRole :: ConvType -> Maybe (Set AccessRole) -> Set AccessRole
- data NewConv = NewConv {
- newConvUsers :: [UserId]
- newConvQualifiedUsers :: [Qualified UserId]
- newConvName :: Maybe (Range 1 256 Text)
- newConvAccess :: Set Access
- newConvAccessRoles :: Maybe (Set AccessRole)
- newConvTeam :: Maybe ConvTeamInfo
- newConvMessageTimer :: Maybe Milliseconds
- newConvReceiptMode :: Maybe ReceiptMode
- newConvUsersRole :: RoleName
- newConvProtocol :: BaseProtocolTag
- newtype ConvTeamInfo = ConvTeamInfo {}
- data Invite = Invite {}
- data InviteQualified = InviteQualified {}
- newtype ConversationRename = ConversationRename {}
- data ConversationAccessData = ConversationAccessData {}
- conversationAccessDataSchema :: Maybe Version -> ValueSchema NamedSwaggerDoc ConversationAccessData
- data ConversationReceiptModeUpdate = ConversationReceiptModeUpdate {}
- data ConversationMessageTimerUpdate = ConversationMessageTimerUpdate {}
- data ConversationJoin = ConversationJoin {}
- data ConversationMemberUpdate = ConversationMemberUpdate {}
- data ConversationRemoveMembers = ConversationRemoveMembers {}
- module Wire.API.Conversation.Member
Conversation
data ConversationMetadata Source #
Instances
data Conversation Source #
Public-facing conversation type. Represents information that a particular user is allowed to see.
Can be produced from the internal one (Conversation
)
by using conversationView
.
Conversation | |
|
Instances
cnvType :: Conversation -> ConvType Source #
cnvCreator :: Conversation -> Maybe UserId Source #
cnvAccess :: Conversation -> [Access] Source #
data MLSOne2OneConversation a Source #
Instances
ToSchema a => FromJSON (MLSOne2OneConversation a) Source # | |
Defined in Wire.API.Conversation parseJSON :: Value -> Parser (MLSOne2OneConversation a) Source # parseJSONList :: Value -> Parser [MLSOne2OneConversation a] Source # | |
ToSchema a => ToJSON (MLSOne2OneConversation a) Source # | |
Defined in Wire.API.Conversation toJSON :: MLSOne2OneConversation a -> Value Source # toEncoding :: MLSOne2OneConversation a -> Encoding Source # toJSONList :: [MLSOne2OneConversation a] -> Value Source # toEncodingList :: [MLSOne2OneConversation a] -> Encoding Source # | |
(Typeable a, ToSchema a) => ToSchema (MLSOne2OneConversation a) Source # | |
Defined in Wire.API.Conversation | |
ToSchema a => ToSchema (MLSOne2OneConversation a) Source # | |
Defined in Wire.API.Conversation |
data CreateGroupConversation Source #
The public-facing conversation type extended with information on which remote users could not be added when creating the conversation.
CreateGroupConversation | |
|
Instances
data ConversationCoverView Source #
Limited view of a Conversation
. Is used to inform users with an invite
link about the conversation.
Instances
data ConversationList a Source #
ConversationList | |
|
Instances
newtype ListConversations Source #
Used on the POST conversationslist/v2 endpoint
ListConversations | |
|
Instances
type GetPaginatedConversationIds = GetMultiTablePageRequest ConversationPagingName LocalOrRemoteTable 1000 1000 Source #
pattern GetPaginatedConversationIds :: Maybe (MultiTablePagingState name tables) -> Range 1 max Int32 -> GetMultiTablePageRequest name tables max def Source #
type ConvIdsPage = MultiTablePage ConversationPagingName ConvIdPagingKey LocalOrRemoteTable (Qualified ConvId) Source #
pattern ConvIdsPage :: [a] -> Bool -> MultiTablePagingState name tables -> MultiTablePage name resultsKey tables a Source #
type ConversationPagingState = MultiTablePagingState ConversationPagingName LocalOrRemoteTable Source #
pattern ConversationPagingState :: tables -> Maybe ByteString -> MultiTablePagingState name tables Source #
data ConversationsResponse Source #
ConversationsResponse | |
|
Instances
FromJSON ConversationsResponse Source # | |
Defined in Wire.API.Conversation | |
ToJSON ConversationsResponse Source # | |
Defined in Wire.API.Conversation | |
Show ConversationsResponse Source # | |
Defined in Wire.API.Conversation showsPrec :: Int -> ConversationsResponse -> ShowS # show :: ConversationsResponse -> String # showList :: [ConversationsResponse] -> ShowS # | |
Eq ConversationsResponse Source # | |
Defined in Wire.API.Conversation (==) :: ConversationsResponse -> ConversationsResponse -> Bool # (/=) :: ConversationsResponse -> ConversationsResponse -> Bool # | |
ToSchema ConversationsResponse Source # | |
Defined in Wire.API.Conversation | |
ToSchema ConversationsResponse Source # | |
SingI v => ToSchema (Versioned v ConversationsResponse) Source # | |
Defined in Wire.API.Conversation |
Instances
mlsSelfConvId :: UserId -> ConvId Source #
The id of the MLS self conversation for a given user
Conversation properties
Access define how users can join conversations
PrivateAccess | Made obsolete by PrivateAccessRole |
InviteAccess | User A can add User B |
LinkAccess | User can join knowing conversation id |
CodeAccess | User can join knowing [changeable/revokable] code |
Instances
Arbitrary Access Source # | |
FromJSON Access Source # | |
ToJSON Access Source # | |
Bounded Access Source # | |
Enum Access Source # | |
Defined in Wire.API.Conversation | |
Generic Access Source # | |
Show Access Source # | |
Eq Access Source # | |
Ord Access Source # | |
ToSchema Access Source # | |
Defined in Wire.API.Conversation | |
ToSchema Access Source # | |
Defined in Wire.API.Conversation | |
type Rep Access Source # | |
Defined in Wire.API.Conversation type Rep Access = D1 ('MetaData "Access" "Wire.API.Conversation" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'False) ((C1 ('MetaCons "PrivateAccess" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InviteAccess" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LinkAccess" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CodeAccess" 'PrefixI 'False) (U1 :: Type -> Type))) |
data AccessRole Source #
Instances
genAccessRolesV2 :: [AccessRole] -> [AccessRole] -> IO (Either String (Set AccessRole)) Source #
data AccessRoleLegacy Source #
AccessRoles define who can join conversations. The roles are "supersets", i.e. Activated includes Team and NonActivated includes Activated.
PrivateAccessRole | Nobody can be invited to this conversation (e.g. it's a 1:1 conversation) |
TeamAccessRole | Team-only conversation |
ActivatedAccessRole | Conversation for users who have activated email, phone or SSO and bots |
NonActivatedAccessRole | No checks |
Instances
Instances
Arbitrary ConvType Source # | |
FromJSON ConvType Source # | |
ToJSON ConvType Source # | |
Enum ConvType Source # | |
Generic ConvType Source # | |
Show ConvType Source # | |
Eq ConvType Source # | |
ToSchema ConvType Source # | |
Defined in Wire.API.Conversation | |
ToSchema ConvType Source # | |
Defined in Wire.API.Conversation | |
type Rep ConvType Source # | |
Defined in Wire.API.Conversation type Rep ConvType = D1 ('MetaData "ConvType" "Wire.API.Conversation" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'False) ((C1 ('MetaCons "RegularConv" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SelfConv" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "One2OneConv" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConnectConv" 'PrefixI 'False) (U1 :: Type -> Type))) |
newtype ReceiptMode Source #
Define whether receipts should be sent in the given conversation This datatype is defined as an int32 but the Backend does not interpret it in any way, rather just stores and forwards it for clients E.g. of an implementation: 0 - send no ReceiptModes 1 - send read ReceiptModes 2 - send delivery ReceiptModes ...
Instances
defRole :: Set AccessRole Source #
maybeRole :: ConvType -> Maybe (Set AccessRole) -> Set AccessRole Source #
create
NewConv | |
|
Instances
newtype ConvTeamInfo Source #
Instances
invite
Instances
Arbitrary Invite Source # | |
FromJSON Invite Source # | |
ToJSON Invite Source # | |
Generic Invite Source # | |
Show Invite Source # | |
Eq Invite Source # | |
ToSchema Invite Source # | |
Defined in Wire.API.Conversation | |
ToSchema Invite Source # | |
Defined in Wire.API.Conversation | |
type Rep Invite Source # | |
Defined in Wire.API.Conversation type Rep Invite = D1 ('MetaData "Invite" "Wire.API.Conversation" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'False) (C1 ('MetaCons "Invite" 'PrefixI 'True) (S1 ('MetaSel ('Just "invUsers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (List1 UserId)) :*: S1 ('MetaSel ('Just "invRoleName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RoleName))) |
data InviteQualified Source #
Instances
update
newtype ConversationRename Source #
Instances
data ConversationAccessData Source #
Instances
conversationAccessDataSchema :: Maybe Version -> ValueSchema NamedSwaggerDoc ConversationAccessData Source #
data ConversationReceiptModeUpdate Source #
Instances
data ConversationMessageTimerUpdate Source #
ConversationMessageTimerUpdate | |
|
Instances
Arbitrary ConversationMessageTimerUpdate Source # | |
FromJSON ConversationMessageTimerUpdate Source # | |
Defined in Wire.API.Conversation | |
ToJSON ConversationMessageTimerUpdate Source # | |
Generic ConversationMessageTimerUpdate Source # | |
Defined in Wire.API.Conversation type Rep ConversationMessageTimerUpdate :: Type -> Type # | |
Show ConversationMessageTimerUpdate Source # | |
Defined in Wire.API.Conversation | |
Eq ConversationMessageTimerUpdate Source # | |
ToSchema ConversationMessageTimerUpdate Source # | |
ToSchema ConversationMessageTimerUpdate Source # | |
type Rep ConversationMessageTimerUpdate Source # | |
Defined in Wire.API.Conversation type Rep ConversationMessageTimerUpdate = D1 ('MetaData "ConversationMessageTimerUpdate" "Wire.API.Conversation" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'False) (C1 ('MetaCons "ConversationMessageTimerUpdate" 'PrefixI 'True) (S1 ('MetaSel ('Just "cupMessageTimer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Milliseconds)))) |
data ConversationJoin Source #
Instances
data ConversationMemberUpdate Source #
Instances
data ConversationRemoveMembers Source #
Instances
re-exports
module Wire.API.Conversation.Member