| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Simplex.Chat.Store.Groups
Contents
Synopsis
- type GroupInfoRow = (Int64, GroupName, GroupName, Text, Maybe Text, Text, Maybe Text, Maybe ImageData) :. ((Maybe MsgFilter, Maybe BoolInt, BoolInt, Maybe GroupPreferences, Maybe GroupMemberAdmission) :. ((UTCTime, UTCTime, Maybe UTCTime, Maybe UTCTime) :. (PreparedGroupRow :. (BusinessChatInfoRow :. ((Maybe UIThemeEntityOverrides, Int64, Maybe CustomData, Maybe Int64, Int, Maybe ConnReqContact) :. GroupMemberRow)))))
- type GroupMemberRow = (GroupMemberId, GroupId, Int64, MemberId, VersionChat, VersionChat, GroupMemberRole, GroupMemberCategory, GroupMemberStatus, BoolInt, Maybe MemberRestrictionStatus) :. ((Maybe Int64, Maybe GroupMemberId, ContactName, Maybe ContactId, ProfileId) :. (ProfileRow :. ((UTCTime, UTCTime) :. (Maybe UTCTime, Int64, Int64, Int64, Maybe UTCTime))))
- type MaybeGroupMemberRow = (Maybe GroupMemberId, Maybe GroupId, Maybe Int64, Maybe MemberId, Maybe VersionChat, Maybe VersionChat, Maybe GroupMemberRole, Maybe GroupMemberCategory, Maybe GroupMemberStatus, Maybe BoolInt, Maybe MemberRestrictionStatus) :. ((Maybe Int64, Maybe GroupMemberId, Maybe ContactName, Maybe ContactId, Maybe ProfileId) :. ((Maybe ProfileId, Maybe ContactName, Maybe Text, Maybe Text, Maybe ImageData, Maybe ConnLinkContact, Maybe ChatPeerType, Maybe LocalAlias, Maybe Preferences) :. ((Maybe UTCTime, Maybe UTCTime) :. (Maybe UTCTime, Maybe Int64, Maybe Int64, Maybe Int64, Maybe UTCTime))))
- toGroupInfo :: VersionRangeChat -> Int64 -> [ChatTagId] -> GroupInfoRow -> GroupInfo
- toGroupMember :: Int64 -> GroupMemberRow -> GroupMember
- toMaybeGroupMember :: Int64 -> MaybeGroupMemberRow -> Maybe GroupMember
- createGroupLink :: Connection -> TVar ChaChaDRG -> User -> GroupInfo -> ConnId -> CreatedLinkContact -> GroupLinkId -> GroupMemberRole -> SubscriptionMode -> ExceptT StoreError IO GroupLink
- getGroupLinkConnection :: Connection -> VersionRangeChat -> User -> GroupInfo -> ExceptT StoreError IO Connection
- deleteGroupLink :: Connection -> User -> GroupInfo -> IO ()
- getGroupLink :: Connection -> User -> GroupInfo -> ExceptT StoreError IO GroupLink
- getGroupLinkId :: Connection -> User -> GroupInfo -> IO (Maybe GroupLinkId)
- setGroupLinkMemberRole :: Connection -> User -> GroupLink -> GroupMemberRole -> IO GroupLink
- setGroupLinkShortLink :: Connection -> GroupLink -> ShortLinkContact -> IO GroupLink
- createNewGroup :: Connection -> VersionRangeChat -> TVar ChaChaDRG -> User -> GroupProfile -> Maybe Profile -> ExceptT StoreError IO GroupInfo
- createGroupInvitation :: Connection -> VersionRangeChat -> User -> Contact -> GroupInvitation -> Maybe ProfileId -> ExceptT StoreError IO (GroupInfo, GroupMemberId)
- deleteContactCardKeepConn :: Connection -> Int64 -> Contact -> IO ()
- createPreparedGroup :: Connection -> VersionRangeChat -> User -> GroupProfile -> Bool -> CreatedLinkContact -> Maybe SharedMsgId -> ExceptT StoreError IO (GroupInfo, GroupMember)
- updatePreparedGroupUser :: Connection -> VersionRangeChat -> User -> GroupInfo -> GroupMember -> User -> ExceptT StoreError IO GroupInfo
- updatePreparedUserAndHostMembersInvited :: Connection -> VersionRangeChat -> User -> GroupInfo -> GroupMember -> GroupLinkInvitation -> ExceptT StoreError IO (GroupInfo, GroupMember)
- updatePreparedUserAndHostMembersRejected :: Connection -> VersionRangeChat -> User -> GroupInfo -> GroupMember -> GroupLinkRejection -> ExceptT StoreError IO (GroupInfo, GroupMember)
- createGroupInvitedViaLink :: Connection -> VersionRangeChat -> User -> Connection -> GroupLinkInvitation -> ExceptT StoreError IO (GroupInfo, GroupMember)
- createGroupRejectedViaLink :: Connection -> VersionRangeChat -> User -> Connection -> GroupLinkRejection -> ExceptT StoreError IO (GroupInfo, GroupMember)
- setGroupInvitationChatItemId :: Connection -> User -> GroupId -> ChatItemId -> IO ()
- getGroup :: Connection -> VersionRangeChat -> User -> GroupId -> ExceptT StoreError IO Group
- getGroupInfo :: Connection -> VersionRangeChat -> User -> Int64 -> ExceptT StoreError IO GroupInfo
- getGroupInfoByUserContactLinkConnReq :: Connection -> VersionRangeChat -> User -> (ConnReqContact, ConnReqContact) -> IO (Maybe GroupInfo)
- getGroupInfoViaUserShortLink :: Connection -> VersionRangeChat -> User -> ShortLinkContact -> IO (Maybe (ConnReqContact, GroupInfo))
- getGroupViaShortLinkToConnect :: Connection -> VersionRangeChat -> User -> ShortLinkContact -> ExceptT StoreError IO (Maybe (ConnReqContact, GroupInfo))
- getGroupInfoByGroupLinkHash :: Connection -> VersionRangeChat -> User -> (ConnReqUriHash, ConnReqUriHash) -> IO (Maybe GroupInfo)
- updateGroupProfile :: Connection -> User -> GroupInfo -> GroupProfile -> ExceptT StoreError IO GroupInfo
- updateGroupPreferences :: Connection -> User -> GroupInfo -> GroupPreferences -> IO GroupInfo
- updateGroupProfileFromMember :: Connection -> User -> GroupInfo -> Profile -> ExceptT StoreError IO GroupInfo
- getGroupIdByName :: Connection -> User -> GroupName -> ExceptT StoreError IO GroupId
- getGroupMemberIdByName :: Connection -> User -> GroupId -> ContactName -> ExceptT StoreError IO GroupMemberId
- getActiveMembersByName :: Connection -> VersionRangeChat -> User -> ContactName -> ExceptT StoreError IO [(GroupInfo, GroupMember)]
- getGroupInfoByName :: Connection -> VersionRangeChat -> User -> GroupName -> ExceptT StoreError IO GroupInfo
- getGroupMember :: Connection -> VersionRangeChat -> User -> GroupId -> GroupMemberId -> ExceptT StoreError IO GroupMember
- getHostMember :: Connection -> VersionRangeChat -> User -> GroupId -> ExceptT StoreError IO GroupMember
- getMentionedGroupMember :: Connection -> User -> GroupId -> GroupMemberId -> ExceptT StoreError IO CIMention
- getMentionedMemberByMemberId :: Connection -> User -> GroupId -> MsgMention -> IO CIMention
- getGroupMemberById :: Connection -> VersionRangeChat -> User -> GroupMemberId -> ExceptT StoreError IO GroupMember
- getGroupMemberByIndex :: Connection -> VersionRangeChat -> User -> GroupInfo -> Int64 -> ExceptT StoreError IO GroupMember
- getGroupMemberByMemberId :: Connection -> VersionRangeChat -> User -> GroupInfo -> MemberId -> ExceptT StoreError IO GroupMember
- getGroupMemberIdViaMemberId :: Connection -> User -> GroupInfo -> MemberId -> ExceptT StoreError IO GroupMemberId
- getScopeMemberIdViaMemberId :: Connection -> User -> GroupInfo -> GroupMember -> MemberId -> ExceptT StoreError IO GroupMemberId
- getGroupMembers :: Connection -> VersionRangeChat -> User -> GroupInfo -> IO [GroupMember]
- getGroupMembersByIndexes :: Connection -> VersionRangeChat -> User -> GroupInfo -> [Int64] -> IO [GroupMember]
- getSupportScopeMembersByIndexes :: Connection -> VersionRangeChat -> User -> GroupInfo -> GroupMemberId -> [Int64] -> IO [GroupMember]
- getGroupModerators :: Connection -> VersionRangeChat -> User -> GroupInfo -> IO [GroupMember]
- getGroupRelays :: Connection -> VersionRangeChat -> User -> GroupInfo -> IO [GroupMember]
- getGroupMembersForExpiration :: Connection -> VersionRangeChat -> User -> GroupInfo -> IO [GroupMember]
- getGroupCurrentMembersCount :: Connection -> User -> GroupInfo -> IO Int
- deleteGroupChatItems :: Connection -> User -> GroupInfo -> IO ()
- deleteGroupMembers :: Connection -> User -> GroupInfo -> IO ()
- cleanupHostGroupLinkConn :: Connection -> User -> GroupInfo -> IO ()
- deleteGroup :: Connection -> User -> GroupInfo -> IO ()
- getBaseGroupDetails :: Connection -> VersionRangeChat -> User -> Maybe ContactId -> Maybe Text -> IO [GroupInfo]
- getContactGroupPreferences :: Connection -> User -> Contact -> IO [(GroupMemberRole, FullGroupPreferences)]
- getGroupInvitation :: Connection -> VersionRangeChat -> User -> GroupId -> ExceptT StoreError IO ReceivedGroupInvitation
- createNewContactMember :: Connection -> TVar ChaChaDRG -> User -> GroupInfo -> Contact -> GroupMemberRole -> ConnId -> ConnReqInvitation -> SubscriptionMode -> ExceptT StoreError IO GroupMember
- createNewContactMemberAsync :: Connection -> TVar ChaChaDRG -> User -> GroupInfo -> Contact -> GroupMemberRole -> (CommandId, ConnId) -> VersionChat -> VersionRangeChat -> SubscriptionMode -> ExceptT StoreError IO ()
- createJoiningMember :: Connection -> TVar ChaChaDRG -> User -> GroupInfo -> VersionRangeChat -> Profile -> Maybe XContactId -> Maybe SharedMsgId -> GroupMemberRole -> GroupMemberStatus -> ExceptT StoreError IO (GroupMemberId, MemberId)
- getMemberJoinRequest :: Connection -> User -> GroupInfo -> GroupMember -> IO (Maybe (Maybe XContactId, Maybe SharedMsgId))
- createJoiningMemberConnection :: Connection -> User -> Int64 -> (CommandId, ConnId) -> VersionChat -> VersionRangeChat -> GroupMemberId -> SubscriptionMode -> IO ()
- createBusinessRequestGroup :: Connection -> VersionRangeChat -> TVar ChaChaDRG -> User -> VersionRangeChat -> Profile -> Int64 -> Text -> GroupPreferences -> ExceptT StoreError IO (GroupInfo, GroupMember)
- getContactViaMember :: Connection -> VersionRangeChat -> User -> GroupMember -> ExceptT StoreError IO Contact
- setNewContactMemberConnRequest :: Connection -> User -> GroupMember -> ConnReqInvitation -> IO ()
- getMemberInvitation :: Connection -> User -> Int64 -> IO (Maybe ConnReqInvitation)
- createMemberConnection :: Connection -> UserId -> GroupMember -> ConnId -> VersionChat -> VersionRangeChat -> SubscriptionMode -> IO Connection
- createMemberConnectionAsync :: Connection -> User -> GroupMemberId -> (CommandId, ConnId) -> VersionChat -> VersionRangeChat -> SubscriptionMode -> IO ()
- updateGroupMemberStatus :: Connection -> UserId -> GroupMember -> GroupMemberStatus -> IO ()
- updateGroupMemberStatusById :: Connection -> UserId -> GroupMemberId -> GroupMemberStatus -> IO ()
- updateGroupMemberAccepted :: Connection -> User -> GroupMember -> GroupMemberStatus -> GroupMemberRole -> IO GroupMember
- deleteGroupMemberSupportChat :: Connection -> GroupMember -> IO GroupMember
- updateGroupMembersRequireAttention :: Connection -> User -> GroupInfo -> GroupMember -> GroupMember -> IO GroupInfo
- decreaseGroupMembersRequireAttention :: Connection -> User -> GroupInfo -> IO GroupInfo
- increaseGroupMembersRequireAttention :: Connection -> User -> GroupInfo -> IO GroupInfo
- createNewGroupMember :: Connection -> User -> GroupInfo -> GroupMember -> MemberInfo -> GroupMemberCategory -> GroupMemberStatus -> ExceptT StoreError IO GroupMember
- checkGroupMemberHasItems :: Connection -> User -> GroupMember -> IO (Maybe ChatItemId)
- deleteGroupMember :: Connection -> User -> GroupMember -> IO ()
- deleteGroupMemberConnection :: Connection -> User -> GroupMember -> IO ()
- updateGroupMemberRole :: Connection -> User -> GroupMember -> GroupMemberRole -> IO ()
- setMemberVectorNewRelations :: Connection -> GroupMember -> [(Int64, (IntroductionDirection, MemberRelation))] -> IO ()
- setMembersVectorsNewRelation :: Connection -> [GroupMember] -> Int64 -> IntroductionDirection -> MemberRelation -> IO ()
- setMemberVectorRelationConnected :: Connection -> GroupMember -> GroupMember -> MemberRelation -> ExceptT StoreError IO ()
- getMemberRelationsVector :: Connection -> GroupMember -> ExceptT StoreError IO ByteString
- createIntroReMember :: Connection -> User -> GroupInfo -> GroupMember -> VersionChat -> MemberInfo -> Maybe MemberRestrictions -> (CommandId, ConnId) -> SubscriptionMode -> ExceptT StoreError IO GroupMember
- createIntroToMemberContact :: Connection -> User -> GroupMember -> GroupMember -> VersionChat -> VersionRangeChat -> (CommandId, ConnId) -> Maybe (CommandId, ConnId) -> Maybe ProfileId -> SubscriptionMode -> IO ()
- getMatchingContacts :: Connection -> VersionRangeChat -> User -> Contact -> IO [Contact]
- getMatchingMembers :: Connection -> VersionRangeChat -> User -> Contact -> IO [GroupMember]
- getMatchingMemberContacts :: Connection -> VersionRangeChat -> User -> GroupMember -> IO [Contact]
- createSentProbe :: Connection -> TVar ChaChaDRG -> UserId -> ContactOrMember -> ExceptT StoreError IO (Probe, Int64)
- createSentProbeHash :: Connection -> UserId -> Int64 -> ContactOrMember -> IO ()
- matchReceivedProbe :: Connection -> VersionRangeChat -> User -> ContactOrMember -> Probe -> IO [ContactOrMember]
- matchReceivedProbeHash :: Connection -> VersionRangeChat -> User -> ContactOrMember -> ProbeHash -> IO (Maybe (ContactOrMember, Probe))
- matchSentProbe :: Connection -> VersionRangeChat -> User -> ContactOrMember -> Probe -> IO (Maybe ContactOrMember)
- associateMemberWithContactRecord :: Connection -> User -> Contact -> GroupMember -> IO ()
- associateContactWithMemberRecord :: Connection -> VersionRangeChat -> User -> GroupMember -> Contact -> ExceptT StoreError IO Contact
- deleteOldProbes :: Connection -> UTCTime -> IO ()
- updateGroupSettings :: Connection -> User -> Int64 -> ChatSettings -> IO ()
- updateGroupMemberSettings :: Connection -> User -> GroupId -> GroupMemberId -> GroupMemberSettings -> IO ()
- updateGroupMemberBlocked :: Connection -> User -> GroupInfo -> MemberRestrictionStatus -> GroupMember -> IO GroupMember
- getHostConnId :: Connection -> User -> GroupId -> ExceptT StoreError IO GroupMemberId
- createMemberContact :: Connection -> User -> ConnId -> ConnReqInvitation -> GroupInfo -> GroupMember -> Connection -> SubscriptionMode -> IO Contact
- getMemberContact :: Connection -> VersionRangeChat -> User -> ContactId -> ExceptT StoreError IO (GroupInfo, GroupMember, Contact, ConnReqInvitation)
- setContactGrpInvSent :: Connection -> Contact -> Bool -> IO ()
- createMemberContactInvited :: Connection -> User -> GroupInfo -> GroupMember -> GroupDirectInvitation -> IO (ContactId, GroupMember)
- updateMemberContactInvited :: Connection -> User -> Contact -> GroupDirectInvitation -> ExceptT StoreError IO ()
- createMemberContactConn :: Connection -> User -> ConnId -> Maybe CommandId -> GroupInfo -> Connection -> ConnStatus -> ContactId -> SubscriptionMode -> IO Int64
- getMemberContactInvited :: Connection -> VersionRangeChat -> User -> ContactId -> ExceptT StoreError IO (GroupInfo, Connection, Contact, GroupDirectInvitation)
- setMemberContactStartedConnection :: Connection -> Contact -> IO ()
- resetMemberContactFields :: Connection -> Contact -> IO Contact
- updateMemberProfile :: Connection -> User -> GroupMember -> Profile -> ExceptT StoreError IO GroupMember
- updateContactMemberProfile :: Connection -> User -> GroupMember -> Contact -> Profile -> ExceptT StoreError IO (GroupMember, Contact)
- getXGrpLinkMemReceived :: Connection -> GroupMemberId -> ExceptT StoreError IO Bool
- setXGrpLinkMemReceived :: Connection -> GroupMemberId -> Bool -> IO ()
- createNewUnknownGroupMember :: Connection -> VersionRangeChat -> User -> GroupInfo -> MemberId -> Text -> ExceptT StoreError IO GroupMember
- updateUnknownMemberAnnounced :: Connection -> VersionRangeChat -> User -> GroupMember -> GroupMember -> MemberInfo -> GroupMemberStatus -> ExceptT StoreError IO GroupMember
- updateUserMemberProfileSentAt :: Connection -> User -> GroupInfo -> UTCTime -> IO ()
- setGroupCustomData :: Connection -> User -> GroupInfo -> Maybe CustomData -> IO ()
- setGroupUIThemes :: Connection -> User -> GroupInfo -> Maybe UIThemeEntityOverrides -> IO ()
- updateGroupChatTags :: Connection -> GroupId -> [ChatTagId] -> IO ()
- getGroupChatTags :: Connection -> GroupId -> IO [ChatTagId]
- setGroupChatTTL :: Connection -> GroupId -> Maybe Int64 -> IO ()
- getGroupChatTTL :: Connection -> GroupId -> IO (Maybe Int64)
- getUserGroupsToExpire :: Connection -> User -> Int64 -> IO [GroupId]
- updateGroupAlias :: Connection -> UserId -> GroupInfo -> LocalAlias -> IO GroupInfo
Util methods
type GroupInfoRow = (Int64, GroupName, GroupName, Text, Maybe Text, Text, Maybe Text, Maybe ImageData) :. ((Maybe MsgFilter, Maybe BoolInt, BoolInt, Maybe GroupPreferences, Maybe GroupMemberAdmission) :. ((UTCTime, UTCTime, Maybe UTCTime, Maybe UTCTime) :. (PreparedGroupRow :. (BusinessChatInfoRow :. ((Maybe UIThemeEntityOverrides, Int64, Maybe CustomData, Maybe Int64, Int, Maybe ConnReqContact) :. GroupMemberRow))))) Source #
type GroupMemberRow = (GroupMemberId, GroupId, Int64, MemberId, VersionChat, VersionChat, GroupMemberRole, GroupMemberCategory, GroupMemberStatus, BoolInt, Maybe MemberRestrictionStatus) :. ((Maybe Int64, Maybe GroupMemberId, ContactName, Maybe ContactId, ProfileId) :. (ProfileRow :. ((UTCTime, UTCTime) :. (Maybe UTCTime, Int64, Int64, Int64, Maybe UTCTime)))) Source #
type MaybeGroupMemberRow = (Maybe GroupMemberId, Maybe GroupId, Maybe Int64, Maybe MemberId, Maybe VersionChat, Maybe VersionChat, Maybe GroupMemberRole, Maybe GroupMemberCategory, Maybe GroupMemberStatus, Maybe BoolInt, Maybe MemberRestrictionStatus) :. ((Maybe Int64, Maybe GroupMemberId, Maybe ContactName, Maybe ContactId, Maybe ProfileId) :. ((Maybe ProfileId, Maybe ContactName, Maybe Text, Maybe Text, Maybe ImageData, Maybe ConnLinkContact, Maybe ChatPeerType, Maybe LocalAlias, Maybe Preferences) :. ((Maybe UTCTime, Maybe UTCTime) :. (Maybe UTCTime, Maybe Int64, Maybe Int64, Maybe Int64, Maybe UTCTime)))) Source #
toGroupInfo :: VersionRangeChat -> Int64 -> [ChatTagId] -> GroupInfoRow -> GroupInfo Source #
toGroupMember :: Int64 -> GroupMemberRow -> GroupMember Source #
toMaybeGroupMember :: Int64 -> MaybeGroupMemberRow -> Maybe GroupMember Source #
Group functions
createGroupLink :: Connection -> TVar ChaChaDRG -> User -> GroupInfo -> ConnId -> CreatedLinkContact -> GroupLinkId -> GroupMemberRole -> SubscriptionMode -> ExceptT StoreError IO GroupLink Source #
getGroupLinkConnection :: Connection -> VersionRangeChat -> User -> GroupInfo -> ExceptT StoreError IO Connection Source #
deleteGroupLink :: Connection -> User -> GroupInfo -> IO () Source #
getGroupLink :: Connection -> User -> GroupInfo -> ExceptT StoreError IO GroupLink Source #
getGroupLinkId :: Connection -> User -> GroupInfo -> IO (Maybe GroupLinkId) Source #
setGroupLinkMemberRole :: Connection -> User -> GroupLink -> GroupMemberRole -> IO GroupLink Source #
setGroupLinkShortLink :: Connection -> GroupLink -> ShortLinkContact -> IO GroupLink Source #
createNewGroup :: Connection -> VersionRangeChat -> TVar ChaChaDRG -> User -> GroupProfile -> Maybe Profile -> ExceptT StoreError IO GroupInfo Source #
creates completely new group with a single member - the current user
createGroupInvitation :: Connection -> VersionRangeChat -> User -> Contact -> GroupInvitation -> Maybe ProfileId -> ExceptT StoreError IO (GroupInfo, GroupMemberId) Source #
creates a new group record for the group the current user was invited to, or returns an existing one
deleteContactCardKeepConn :: Connection -> Int64 -> Contact -> IO () Source #
createPreparedGroup :: Connection -> VersionRangeChat -> User -> GroupProfile -> Bool -> CreatedLinkContact -> Maybe SharedMsgId -> ExceptT StoreError IO (GroupInfo, GroupMember) Source #
updatePreparedGroupUser :: Connection -> VersionRangeChat -> User -> GroupInfo -> GroupMember -> User -> ExceptT StoreError IO GroupInfo Source #
updatePreparedUserAndHostMembersInvited :: Connection -> VersionRangeChat -> User -> GroupInfo -> GroupMember -> GroupLinkInvitation -> ExceptT StoreError IO (GroupInfo, GroupMember) Source #
updatePreparedUserAndHostMembersRejected :: Connection -> VersionRangeChat -> User -> GroupInfo -> GroupMember -> GroupLinkRejection -> ExceptT StoreError IO (GroupInfo, GroupMember) Source #
createGroupInvitedViaLink :: Connection -> VersionRangeChat -> User -> Connection -> GroupLinkInvitation -> ExceptT StoreError IO (GroupInfo, GroupMember) Source #
createGroupRejectedViaLink :: Connection -> VersionRangeChat -> User -> Connection -> GroupLinkRejection -> ExceptT StoreError IO (GroupInfo, GroupMember) Source #
setGroupInvitationChatItemId :: Connection -> User -> GroupId -> ChatItemId -> IO () Source #
getGroup :: Connection -> VersionRangeChat -> User -> GroupId -> ExceptT StoreError IO Group Source #
getGroupInfo :: Connection -> VersionRangeChat -> User -> Int64 -> ExceptT StoreError IO GroupInfo Source #
getGroupInfoByUserContactLinkConnReq :: Connection -> VersionRangeChat -> User -> (ConnReqContact, ConnReqContact) -> IO (Maybe GroupInfo) Source #
getGroupInfoViaUserShortLink :: Connection -> VersionRangeChat -> User -> ShortLinkContact -> IO (Maybe (ConnReqContact, GroupInfo)) Source #
getGroupViaShortLinkToConnect :: Connection -> VersionRangeChat -> User -> ShortLinkContact -> ExceptT StoreError IO (Maybe (ConnReqContact, GroupInfo)) Source #
getGroupInfoByGroupLinkHash :: Connection -> VersionRangeChat -> User -> (ConnReqUriHash, ConnReqUriHash) -> IO (Maybe GroupInfo) Source #
updateGroupProfile :: Connection -> User -> GroupInfo -> GroupProfile -> ExceptT StoreError IO GroupInfo Source #
updateGroupPreferences :: Connection -> User -> GroupInfo -> GroupPreferences -> IO GroupInfo Source #
updateGroupProfileFromMember :: Connection -> User -> GroupInfo -> Profile -> ExceptT StoreError IO GroupInfo Source #
getGroupIdByName :: Connection -> User -> GroupName -> ExceptT StoreError IO GroupId Source #
getGroupMemberIdByName :: Connection -> User -> GroupId -> ContactName -> ExceptT StoreError IO GroupMemberId Source #
getActiveMembersByName :: Connection -> VersionRangeChat -> User -> ContactName -> ExceptT StoreError IO [(GroupInfo, GroupMember)] Source #
getGroupInfoByName :: Connection -> VersionRangeChat -> User -> GroupName -> ExceptT StoreError IO GroupInfo Source #
getGroupMember :: Connection -> VersionRangeChat -> User -> GroupId -> GroupMemberId -> ExceptT StoreError IO GroupMember Source #
getHostMember :: Connection -> VersionRangeChat -> User -> GroupId -> ExceptT StoreError IO GroupMember Source #
getMentionedGroupMember :: Connection -> User -> GroupId -> GroupMemberId -> ExceptT StoreError IO CIMention Source #
getMentionedMemberByMemberId :: Connection -> User -> GroupId -> MsgMention -> IO CIMention Source #
getGroupMemberById :: Connection -> VersionRangeChat -> User -> GroupMemberId -> ExceptT StoreError IO GroupMember Source #
getGroupMemberByIndex :: Connection -> VersionRangeChat -> User -> GroupInfo -> Int64 -> ExceptT StoreError IO GroupMember Source #
getGroupMemberByMemberId :: Connection -> VersionRangeChat -> User -> GroupInfo -> MemberId -> ExceptT StoreError IO GroupMember Source #
getGroupMemberIdViaMemberId :: Connection -> User -> GroupInfo -> MemberId -> ExceptT StoreError IO GroupMemberId Source #
getScopeMemberIdViaMemberId :: Connection -> User -> GroupInfo -> GroupMember -> MemberId -> ExceptT StoreError IO GroupMemberId Source #
getGroupMembers :: Connection -> VersionRangeChat -> User -> GroupInfo -> IO [GroupMember] Source #
getGroupMembersByIndexes :: Connection -> VersionRangeChat -> User -> GroupInfo -> [Int64] -> IO [GroupMember] Source #
getSupportScopeMembersByIndexes :: Connection -> VersionRangeChat -> User -> GroupInfo -> GroupMemberId -> [Int64] -> IO [GroupMember] Source #
getGroupModerators :: Connection -> VersionRangeChat -> User -> GroupInfo -> IO [GroupMember] Source #
getGroupRelays :: Connection -> VersionRangeChat -> User -> GroupInfo -> IO [GroupMember] Source #
getGroupMembersForExpiration :: Connection -> VersionRangeChat -> User -> GroupInfo -> IO [GroupMember] Source #
getGroupCurrentMembersCount :: Connection -> User -> GroupInfo -> IO Int Source #
deleteGroupChatItems :: Connection -> User -> GroupInfo -> IO () Source #
deleteGroupMembers :: Connection -> User -> GroupInfo -> IO () Source #
cleanupHostGroupLinkConn :: Connection -> User -> GroupInfo -> IO () Source #
deleteGroup :: Connection -> User -> GroupInfo -> IO () Source #
getBaseGroupDetails :: Connection -> VersionRangeChat -> User -> Maybe ContactId -> Maybe Text -> IO [GroupInfo] Source #
getContactGroupPreferences :: Connection -> User -> Contact -> IO [(GroupMemberRole, FullGroupPreferences)] Source #
getGroupInvitation :: Connection -> VersionRangeChat -> User -> GroupId -> ExceptT StoreError IO ReceivedGroupInvitation Source #
createNewContactMember :: Connection -> TVar ChaChaDRG -> User -> GroupInfo -> Contact -> GroupMemberRole -> ConnId -> ConnReqInvitation -> SubscriptionMode -> ExceptT StoreError IO GroupMember Source #
createNewContactMemberAsync :: Connection -> TVar ChaChaDRG -> User -> GroupInfo -> Contact -> GroupMemberRole -> (CommandId, ConnId) -> VersionChat -> VersionRangeChat -> SubscriptionMode -> ExceptT StoreError IO () Source #
createJoiningMember :: Connection -> TVar ChaChaDRG -> User -> GroupInfo -> VersionRangeChat -> Profile -> Maybe XContactId -> Maybe SharedMsgId -> GroupMemberRole -> GroupMemberStatus -> ExceptT StoreError IO (GroupMemberId, MemberId) Source #
getMemberJoinRequest :: Connection -> User -> GroupInfo -> GroupMember -> IO (Maybe (Maybe XContactId, Maybe SharedMsgId)) Source #
createJoiningMemberConnection :: Connection -> User -> Int64 -> (CommandId, ConnId) -> VersionChat -> VersionRangeChat -> GroupMemberId -> SubscriptionMode -> IO () Source #
createBusinessRequestGroup :: Connection -> VersionRangeChat -> TVar ChaChaDRG -> User -> VersionRangeChat -> Profile -> Int64 -> Text -> GroupPreferences -> ExceptT StoreError IO (GroupInfo, GroupMember) Source #
getContactViaMember :: Connection -> VersionRangeChat -> User -> GroupMember -> ExceptT StoreError IO Contact Source #
setNewContactMemberConnRequest :: Connection -> User -> GroupMember -> ConnReqInvitation -> IO () Source #
getMemberInvitation :: Connection -> User -> Int64 -> IO (Maybe ConnReqInvitation) Source #
createMemberConnection :: Connection -> UserId -> GroupMember -> ConnId -> VersionChat -> VersionRangeChat -> SubscriptionMode -> IO Connection Source #
createMemberConnectionAsync :: Connection -> User -> GroupMemberId -> (CommandId, ConnId) -> VersionChat -> VersionRangeChat -> SubscriptionMode -> IO () Source #
updateGroupMemberStatus :: Connection -> UserId -> GroupMember -> GroupMemberStatus -> IO () Source #
updateGroupMemberStatusById :: Connection -> UserId -> GroupMemberId -> GroupMemberStatus -> IO () Source #
updateGroupMemberAccepted :: Connection -> User -> GroupMember -> GroupMemberStatus -> GroupMemberRole -> IO GroupMember Source #
deleteGroupMemberSupportChat :: Connection -> GroupMember -> IO GroupMember Source #
updateGroupMembersRequireAttention :: Connection -> User -> GroupInfo -> GroupMember -> GroupMember -> IO GroupInfo Source #
createNewGroupMember :: Connection -> User -> GroupInfo -> GroupMember -> MemberInfo -> GroupMemberCategory -> GroupMemberStatus -> ExceptT StoreError IO GroupMember Source #
add new member with profile
checkGroupMemberHasItems :: Connection -> User -> GroupMember -> IO (Maybe ChatItemId) Source #
deleteGroupMember :: Connection -> User -> GroupMember -> IO () Source #
deleteGroupMemberConnection :: Connection -> User -> GroupMember -> IO () Source #
updateGroupMemberRole :: Connection -> User -> GroupMember -> GroupMemberRole -> IO () Source #
setMemberVectorNewRelations :: Connection -> GroupMember -> [(Int64, (IntroductionDirection, MemberRelation))] -> IO () Source #
setMembersVectorsNewRelation :: Connection -> [GroupMember] -> Int64 -> IntroductionDirection -> MemberRelation -> IO () Source #
setMemberVectorRelationConnected :: Connection -> GroupMember -> GroupMember -> MemberRelation -> ExceptT StoreError IO () Source #
getMemberRelationsVector :: Connection -> GroupMember -> ExceptT StoreError IO ByteString Source #
createIntroReMember :: Connection -> User -> GroupInfo -> GroupMember -> VersionChat -> MemberInfo -> Maybe MemberRestrictions -> (CommandId, ConnId) -> SubscriptionMode -> ExceptT StoreError IO GroupMember Source #
createIntroToMemberContact :: Connection -> User -> GroupMember -> GroupMember -> VersionChat -> VersionRangeChat -> (CommandId, ConnId) -> Maybe (CommandId, ConnId) -> Maybe ProfileId -> SubscriptionMode -> IO () Source #
getMatchingContacts :: Connection -> VersionRangeChat -> User -> Contact -> IO [Contact] Source #
getMatchingMembers :: Connection -> VersionRangeChat -> User -> Contact -> IO [GroupMember] Source #
getMatchingMemberContacts :: Connection -> VersionRangeChat -> User -> GroupMember -> IO [Contact] Source #
createSentProbe :: Connection -> TVar ChaChaDRG -> UserId -> ContactOrMember -> ExceptT StoreError IO (Probe, Int64) Source #
createSentProbeHash :: Connection -> UserId -> Int64 -> ContactOrMember -> IO () Source #
matchReceivedProbe :: Connection -> VersionRangeChat -> User -> ContactOrMember -> Probe -> IO [ContactOrMember] Source #
matchReceivedProbeHash :: Connection -> VersionRangeChat -> User -> ContactOrMember -> ProbeHash -> IO (Maybe (ContactOrMember, Probe)) Source #
matchSentProbe :: Connection -> VersionRangeChat -> User -> ContactOrMember -> Probe -> IO (Maybe ContactOrMember) Source #
associateMemberWithContactRecord :: Connection -> User -> Contact -> GroupMember -> IO () Source #
associateContactWithMemberRecord :: Connection -> VersionRangeChat -> User -> GroupMember -> Contact -> ExceptT StoreError IO Contact Source #
deleteOldProbes :: Connection -> UTCTime -> IO () Source #
updateGroupSettings :: Connection -> User -> Int64 -> ChatSettings -> IO () Source #
updateGroupMemberSettings :: Connection -> User -> GroupId -> GroupMemberId -> GroupMemberSettings -> IO () Source #
updateGroupMemberBlocked :: Connection -> User -> GroupInfo -> MemberRestrictionStatus -> GroupMember -> IO GroupMember Source #
getHostConnId :: Connection -> User -> GroupId -> ExceptT StoreError IO GroupMemberId Source #
createMemberContact :: Connection -> User -> ConnId -> ConnReqInvitation -> GroupInfo -> GroupMember -> Connection -> SubscriptionMode -> IO Contact Source #
getMemberContact :: Connection -> VersionRangeChat -> User -> ContactId -> ExceptT StoreError IO (GroupInfo, GroupMember, Contact, ConnReqInvitation) Source #
setContactGrpInvSent :: Connection -> Contact -> Bool -> IO () Source #
createMemberContactInvited :: Connection -> User -> GroupInfo -> GroupMember -> GroupDirectInvitation -> IO (ContactId, GroupMember) Source #
updateMemberContactInvited :: Connection -> User -> Contact -> GroupDirectInvitation -> ExceptT StoreError IO () Source #
createMemberContactConn :: Connection -> User -> ConnId -> Maybe CommandId -> GroupInfo -> Connection -> ConnStatus -> ContactId -> SubscriptionMode -> IO Int64 Source #
getMemberContactInvited :: Connection -> VersionRangeChat -> User -> ContactId -> ExceptT StoreError IO (GroupInfo, Connection, Contact, GroupDirectInvitation) Source #
setMemberContactStartedConnection :: Connection -> Contact -> IO () Source #
resetMemberContactFields :: Connection -> Contact -> IO Contact Source #
updateMemberProfile :: Connection -> User -> GroupMember -> Profile -> ExceptT StoreError IO GroupMember Source #
updateContactMemberProfile :: Connection -> User -> GroupMember -> Contact -> Profile -> ExceptT StoreError IO (GroupMember, Contact) Source #
getXGrpLinkMemReceived :: Connection -> GroupMemberId -> ExceptT StoreError IO Bool Source #
setXGrpLinkMemReceived :: Connection -> GroupMemberId -> Bool -> IO () Source #
createNewUnknownGroupMember :: Connection -> VersionRangeChat -> User -> GroupInfo -> MemberId -> Text -> ExceptT StoreError IO GroupMember Source #
updateUnknownMemberAnnounced :: Connection -> VersionRangeChat -> User -> GroupMember -> GroupMember -> MemberInfo -> GroupMemberStatus -> ExceptT StoreError IO GroupMember Source #
updateUserMemberProfileSentAt :: Connection -> User -> GroupInfo -> UTCTime -> IO () Source #
setGroupCustomData :: Connection -> User -> GroupInfo -> Maybe CustomData -> IO () Source #
setGroupUIThemes :: Connection -> User -> GroupInfo -> Maybe UIThemeEntityOverrides -> IO () Source #
updateGroupChatTags :: Connection -> GroupId -> [ChatTagId] -> IO () Source #
getGroupChatTags :: Connection -> GroupId -> IO [ChatTagId] Source #
setGroupChatTTL :: Connection -> GroupId -> Maybe Int64 -> IO () Source #
getGroupChatTTL :: Connection -> GroupId -> IO (Maybe Int64) Source #
getUserGroupsToExpire :: Connection -> User -> Int64 -> IO [GroupId] Source #
updateGroupAlias :: Connection -> UserId -> GroupInfo -> LocalAlias -> IO GroupInfo Source #