| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Simplex.Chat.Store.Shared
Synopsis
- data ChatLockEntity
- = CLInvitation ByteString
- | CLConnection Int64
- | CLContact ContactId
- | CLGroup GroupId
- | CLUserContact Int64
- | CLContactRequest Int64
- | CLFile Int64
- data StoreError
- = SEDuplicateName
- | SEUserNotFound {
- userId :: UserId
- | SEUserNotFoundByName { }
- | SEUserNotFoundByContactId { }
- | SEUserNotFoundByGroupId { }
- | SEUserNotFoundByFileId { }
- | SEUserNotFoundByContactRequestId {
- contactRequestId :: Int64
- | SEContactNotFound { }
- | SEContactNotFoundByName { }
- | SEContactNotFoundByMemberId { }
- | SEContactNotReady { }
- | SEDuplicateContactLink
- | SEUserContactLinkNotFound
- | SEContactRequestNotFound {
- contactRequestId :: Int64
- | SEContactRequestNotFoundByName { }
- | SEInvalidContactRequestEntity {
- contactRequestId :: Int64
- | SEInvalidBusinessChatContactRequest
- | SEGroupNotFound { }
- | SEGroupNotFoundByName { }
- | SEGroupMemberNameNotFound { }
- | SEGroupMemberNotFound { }
- | SEGroupMemberNotFoundByIndex {
- groupMemberIndex :: Int64
- | SEMemberRelationsVectorNotFound { }
- | SEGroupHostMemberNotFound { }
- | SEGroupMemberNotFoundByMemberId { }
- | SEMemberContactGroupMemberNotFound { }
- | SEInvalidMemberRelationUpdate
- | SEGroupWithoutUser
- | SEDuplicateGroupMember
- | SEGroupAlreadyJoined
- | SEGroupInvitationNotFound
- | SENoteFolderAlreadyExists { }
- | SENoteFolderNotFound { }
- | SEUserNoteFolderNotFound
- | SESndFileNotFound { }
- | SESndFileInvalid { }
- | SERcvFileNotFound { }
- | SERcvFileDescrNotFound { }
- | SEFileNotFound { }
- | SERcvFileInvalid { }
- | SERcvFileInvalidDescrPart
- | SELocalFileNoTransfer { }
- | SESharedMsgIdNotFoundByFileId { }
- | SEFileIdNotFoundBySharedMsgId { }
- | SESndFileNotFoundXFTP { }
- | SERcvFileNotFoundXFTP { }
- | SEConnectionNotFound { }
- | SEConnectionNotFoundById {
- connId :: Int64
- | SEConnectionNotFoundByMemberId { }
- | SEPendingConnectionNotFound {
- connId :: Int64
- | SEUniqueID
- | SELargeMsg
- | SEInternalError {
- message :: String
- | SEDBException {
- message :: String
- | SEDBBusyError {
- message :: String
- | SEBadChatItem {
- itemId :: ChatItemId
- itemTs :: Maybe ChatItemTs
- | SEChatItemNotFound {
- itemId :: ChatItemId
- | SEChatItemNotFoundByText {
- text :: Text
- | SEChatItemSharedMsgIdNotFound { }
- | SEChatItemNotFoundByFileId { }
- | SEChatItemNotFoundByContactId { }
- | SEChatItemNotFoundByGroupId { }
- | SEProfileNotFound {
- profileId :: Int64
- | SEDuplicateGroupLink { }
- | SEGroupLinkNotFound { }
- | SEHostMemberIdNotFound {
- groupId :: Int64
- | SEContactNotFoundByFileId { }
- | SENoGroupSndStatus { }
- | SEDuplicateGroupMessage {
- groupId :: Int64
- sharedMsgId :: SharedMsgId
- authorGroupMemberId :: Maybe GroupMemberId
- forwardedByGroupMemberId :: Maybe GroupMemberId
- | SERemoteHostNotFound { }
- | SERemoteHostUnknown
- | SERemoteHostDuplicateCA
- | SERemoteCtrlNotFound { }
- | SERemoteCtrlDuplicateCA
- | SEProhibitedDeleteUser { }
- | SEOperatorNotFound {
- serverOperatorId :: Int64
- | SEUsageConditionsNotFound
- | SEInvalidQuote
- | SEInvalidMention
- | SEInvalidDeliveryTask {
- taskId :: Int64
- | SEDeliveryTaskNotFound {
- taskId :: Int64
- | SEInvalidDeliveryJob {
- jobId :: Int64
- | SEDeliveryJobNotFound {
- jobId :: Int64
- | SEWorkItemError {
- errContext :: String
- insertedRowId :: Connection -> IO Int64
- checkConstraint :: StoreError -> ExceptT StoreError IO a -> ExceptT StoreError IO a
- constraintError :: SQLError -> Bool
- handleSQLError :: StoreError -> SQLError -> StoreError
- mkStoreError :: SomeException -> StoreError
- fileInfoQuery :: Query
- toFileInfo :: (Int64, Maybe ACIFileStatus, Maybe FilePath) -> CIFileInfo
- type EntityIdsRow = (Maybe Int64, Maybe Int64, Maybe Int64)
- type ConnectionRow = (Int64, ConnId, Int, Maybe Int64, Maybe Int64, BoolInt, Maybe GroupLinkId, Maybe XContactId) :. ((Maybe Int64, ConnStatus, ConnType, BoolInt, LocalAlias) :. (EntityIdsRow :. (UTCTime, Maybe Text, Maybe UTCTime, PQSupport, PQEncryption, Maybe PQEncryption, Maybe PQEncryption, Int, Int, Maybe VersionChat, VersionChat, VersionChat)))
- type MaybeConnectionRow = (Maybe Int64, Maybe ConnId, Maybe Int, Maybe Int64, Maybe Int64, Maybe BoolInt, Maybe GroupLinkId, Maybe XContactId) :. ((Maybe Int64, Maybe ConnStatus, Maybe ConnType, Maybe BoolInt, Maybe LocalAlias) :. (EntityIdsRow :. (Maybe UTCTime, Maybe Text, Maybe UTCTime, Maybe PQSupport, Maybe PQEncryption, Maybe PQEncryption, Maybe PQEncryption, Maybe Int, Maybe Int, Maybe VersionChat, Maybe VersionChat, Maybe VersionChat)))
- toConnection :: VersionRangeChat -> ConnectionRow -> Connection
- toMaybeConnection :: VersionRangeChat -> MaybeConnectionRow -> Maybe Connection
- createConnection_ :: Connection -> UserId -> ConnType -> Maybe Int64 -> ConnId -> ConnStatus -> VersionChat -> VersionRangeChat -> Maybe ContactId -> Maybe Int64 -> Maybe ProfileId -> Int -> UTCTime -> SubscriptionMode -> PQSupport -> IO Connection
- createIncognitoProfile_ :: Connection -> UserId -> UTCTime -> Profile -> IO Int64
- updateConnSupportPQ :: Connection -> Int64 -> PQSupport -> PQEncryption -> IO ()
- updateConnPQSndEnabled :: Connection -> Int64 -> PQEncryption -> IO ()
- updateConnPQRcvEnabled :: Connection -> Int64 -> PQEncryption -> IO ()
- updateConnPQEnabledCON :: Connection -> Int64 -> PQEncryption -> IO ()
- setPeerChatVRange :: Connection -> Int64 -> VersionChat -> VersionRangeChat -> IO ()
- setMemberChatVRange :: Connection -> GroupMemberId -> VersionRangeChat -> IO ()
- setCommandConnId :: Connection -> User -> CommandId -> Int64 -> IO ()
- createContact :: Connection -> User -> Profile -> ExceptT StoreError IO ()
- createContact_ :: Connection -> User -> Profile -> Preferences -> Maybe (ACreatedConnLink, Maybe SharedMsgId) -> LocalAlias -> UTCTime -> ExceptT StoreError IO ContactId
- newContactUserPrefs :: User -> Profile -> Preferences
- type NewPreparedContactRow = (Maybe AConnectionRequestUri, Maybe AConnShortLink, Maybe SharedMsgId)
- toPreparedContactRow :: Maybe (ACreatedConnLink, Maybe SharedMsgId) -> NewPreparedContactRow
- type NewPreparedGroupRow (m :: ConnectionMode) = (Maybe (ConnectionRequestUri m), Maybe (ConnShortLink m), Maybe SharedMsgId)
- toPreparedGroupRow :: forall (m :: ConnectionMode). Maybe (CreatedConnLink m, Maybe SharedMsgId) -> NewPreparedGroupRow m
- deleteUnusedIncognitoProfileById_ :: Connection -> User -> ProfileId -> IO ()
- type PreparedContactRow = (Maybe AConnectionRequestUri, Maybe AConnShortLink, Maybe SharedMsgId, Maybe SharedMsgId)
- type GroupDirectInvitationRow = (Maybe ConnReqInvitation, Maybe GroupId, Maybe GroupMemberId, Maybe Int64, BoolInt)
- type ContactRow' = (ProfileId, ContactName, ContactName, Text, Maybe Text, Maybe ImageData, Maybe ConnLinkContact, Maybe ChatPeerType, LocalAlias, BoolInt, ContactStatus) :. ((Maybe MsgFilter, Maybe BoolInt, BoolInt, Maybe Preferences, Preferences, UTCTime, UTCTime, Maybe UTCTime) :. (PreparedContactRow :. ((Maybe Int64, Maybe GroupMemberId, BoolInt) :. (GroupDirectInvitationRow :. (Maybe UIThemeEntityOverrides, BoolInt, Maybe CustomData, Maybe Int64)))))
- type ContactRow = Only ContactId :. ContactRow'
- toContact :: VersionRangeChat -> User -> [ChatTagId] -> (ContactRow :. MaybeConnectionRow) -> Contact
- toPreparedContact :: PreparedContactRow -> Maybe PreparedContact
- toACreatedConnLink_ :: Maybe AConnectionRequestUri -> Maybe AConnShortLink -> Maybe ACreatedConnLink
- toGroupDirectInvitation :: GroupDirectInvitationRow -> Maybe GroupDirectInvitation
- getProfileById :: Connection -> UserId -> Int64 -> ExceptT StoreError IO LocalProfile
- type ContactRequestRow = (Int64, ContactName, AgentInvId, Maybe ContactId, Maybe GroupId, Maybe Int64) :. ((Int64, ContactName, Text, Maybe Text, Maybe ImageData, Maybe ConnLinkContact, Maybe ChatPeerType) :. (Maybe XContactId, PQSupport, Maybe SharedMsgId, Maybe SharedMsgId, Maybe Preferences, UTCTime, UTCTime, VersionChat, VersionChat))
- toContactRequest :: ContactRequestRow -> UserContactRequest
- userQuery :: Query
- toUser :: ((UserId, UserId, ContactId, ProfileId, BoolInt, Int64) :. ((ContactName, Text, Maybe Text, Maybe ImageData, Maybe ConnLinkContact, Maybe ChatPeerType, Maybe Preferences) :. (BoolInt, BoolInt, BoolInt, BoolInt, Maybe B64UrlByteString, Maybe B64UrlByteString, Maybe UTCTime, Maybe UIThemeEntityOverrides))) -> User
- toPendingContactConnection :: (Int64, ConnId, ConnStatus, Maybe ByteString, Maybe Int64, Maybe GroupLinkId, Maybe Int64, Maybe ConnReqInvitation, Maybe ShortLinkInvitation, LocalAlias, UTCTime, UTCTime) -> PendingContactConnection
- getConnReqInv :: Connection -> Int64 -> ExceptT StoreError IO ConnReqInvitation
- withLocalDisplayName :: Connection -> UserId -> Text -> (Text -> IO (Either StoreError a)) -> IO (Either StoreError a)
- createWithRandomId :: TVar ChaChaDRG -> (ByteString -> IO a) -> ExceptT StoreError IO a
- createWithRandomId' :: TVar ChaChaDRG -> (ByteString -> IO (Either StoreError a)) -> ExceptT StoreError IO a
- createWithRandomBytes :: Int -> TVar ChaChaDRG -> (ByteString -> IO a) -> ExceptT StoreError IO a
- createWithRandomBytes' :: Int -> TVar ChaChaDRG -> (ByteString -> IO (Either StoreError a)) -> ExceptT StoreError IO a
- encodedRandomBytes :: TVar ChaChaDRG -> Int -> IO ByteString
- assertNotUser :: Connection -> User -> Contact -> ExceptT StoreError IO ()
- safeDeleteLDN :: Connection -> User -> ContactName -> IO ()
- type PreparedGroupRow = (Maybe ConnReqContact, Maybe ShortLinkContact, BoolInt, BoolInt, Maybe SharedMsgId, Maybe SharedMsgId)
- type BusinessChatInfoRow = (Maybe BusinessChatType, Maybe MemberId, Maybe MemberId)
- 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 ProfileRow = (ProfileId, ContactName, Text, Maybe Text, Maybe ImageData, Maybe ConnLinkContact, Maybe ChatPeerType, LocalAlias, Maybe Preferences)
- toGroupInfo :: VersionRangeChat -> Int64 -> [ChatTagId] -> GroupInfoRow -> GroupInfo
- toPreparedGroup :: PreparedGroupRow -> Maybe PreparedGroup
- toGroupMember :: Int64 -> GroupMemberRow -> GroupMember
- groupMemberQuery :: Query
- toContactMember :: VersionRangeChat -> User -> (GroupMemberRow :. MaybeConnectionRow) -> GroupMember
- rowToLocalProfile :: ProfileRow -> LocalProfile
- toBusinessChatInfo :: BusinessChatInfoRow -> Maybe BusinessChatInfo
- groupInfoQuery :: Query
- groupInfoQueryFields :: Query
- groupInfoQueryFrom :: Query
- createChatTag :: Connection -> User -> Maybe Text -> Text -> IO ChatTagId
- deleteChatTag :: Connection -> User -> ChatTagId -> IO ()
- updateChatTag :: Connection -> User -> ChatTagId -> Maybe Text -> Text -> IO ()
- updateChatTagOrder :: Connection -> User -> ChatTagId -> Int -> IO ()
- reorderChatTags :: Connection -> User -> [ChatTagId] -> IO ()
- getUserChatTags :: Connection -> User -> IO [ChatTag]
- getGroupChatTags :: Connection -> GroupId -> IO [ChatTagId]
- addGroupChatTags :: Connection -> GroupInfo -> IO GroupInfo
- setViaGroupLinkUri :: Connection -> GroupId -> Int64 -> IO ()
- deleteConnectionRecord :: Connection -> User -> Int64 -> IO ()
Documentation
data ChatLockEntity Source #
Constructors
| CLInvitation ByteString | |
| CLConnection Int64 | |
| CLContact ContactId | |
| CLGroup GroupId | |
| CLUserContact Int64 | |
| CLContactRequest Int64 | |
| CLFile Int64 |
Instances
| Eq ChatLockEntity Source # | |
Defined in Simplex.Chat.Store.Shared Methods (==) :: ChatLockEntity -> ChatLockEntity -> Bool (/=) :: ChatLockEntity -> ChatLockEntity -> Bool | |
| Ord ChatLockEntity Source # | |
Defined in Simplex.Chat.Store.Shared Methods compare :: ChatLockEntity -> ChatLockEntity -> Ordering (<) :: ChatLockEntity -> ChatLockEntity -> Bool (<=) :: ChatLockEntity -> ChatLockEntity -> Bool (>) :: ChatLockEntity -> ChatLockEntity -> Bool (>=) :: ChatLockEntity -> ChatLockEntity -> Bool max :: ChatLockEntity -> ChatLockEntity -> ChatLockEntity min :: ChatLockEntity -> ChatLockEntity -> ChatLockEntity | |
data StoreError Source #
Constructors
Instances
insertedRowId :: Connection -> IO Int64 Source #
checkConstraint :: StoreError -> ExceptT StoreError IO a -> ExceptT StoreError IO a Source #
constraintError :: SQLError -> Bool Source #
handleSQLError :: StoreError -> SQLError -> StoreError Source #
mkStoreError :: SomeException -> StoreError Source #
fileInfoQuery :: Query Source #
toFileInfo :: (Int64, Maybe ACIFileStatus, Maybe FilePath) -> CIFileInfo Source #
type EntityIdsRow = (Maybe Int64, Maybe Int64, Maybe Int64) Source #
type ConnectionRow = (Int64, ConnId, Int, Maybe Int64, Maybe Int64, BoolInt, Maybe GroupLinkId, Maybe XContactId) :. ((Maybe Int64, ConnStatus, ConnType, BoolInt, LocalAlias) :. (EntityIdsRow :. (UTCTime, Maybe Text, Maybe UTCTime, PQSupport, PQEncryption, Maybe PQEncryption, Maybe PQEncryption, Int, Int, Maybe VersionChat, VersionChat, VersionChat))) Source #
type MaybeConnectionRow = (Maybe Int64, Maybe ConnId, Maybe Int, Maybe Int64, Maybe Int64, Maybe BoolInt, Maybe GroupLinkId, Maybe XContactId) :. ((Maybe Int64, Maybe ConnStatus, Maybe ConnType, Maybe BoolInt, Maybe LocalAlias) :. (EntityIdsRow :. (Maybe UTCTime, Maybe Text, Maybe UTCTime, Maybe PQSupport, Maybe PQEncryption, Maybe PQEncryption, Maybe PQEncryption, Maybe Int, Maybe Int, Maybe VersionChat, Maybe VersionChat, Maybe VersionChat))) Source #
toMaybeConnection :: VersionRangeChat -> MaybeConnectionRow -> Maybe Connection Source #
createConnection_ :: Connection -> UserId -> ConnType -> Maybe Int64 -> ConnId -> ConnStatus -> VersionChat -> VersionRangeChat -> Maybe ContactId -> Maybe Int64 -> Maybe ProfileId -> Int -> UTCTime -> SubscriptionMode -> PQSupport -> IO Connection Source #
createIncognitoProfile_ :: Connection -> UserId -> UTCTime -> Profile -> IO Int64 Source #
updateConnSupportPQ :: Connection -> Int64 -> PQSupport -> PQEncryption -> IO () Source #
updateConnPQSndEnabled :: Connection -> Int64 -> PQEncryption -> IO () Source #
updateConnPQRcvEnabled :: Connection -> Int64 -> PQEncryption -> IO () Source #
updateConnPQEnabledCON :: Connection -> Int64 -> PQEncryption -> IO () Source #
setPeerChatVRange :: Connection -> Int64 -> VersionChat -> VersionRangeChat -> IO () Source #
setMemberChatVRange :: Connection -> GroupMemberId -> VersionRangeChat -> IO () Source #
setCommandConnId :: Connection -> User -> CommandId -> Int64 -> IO () Source #
createContact :: Connection -> User -> Profile -> ExceptT StoreError IO () Source #
createContact_ :: Connection -> User -> Profile -> Preferences -> Maybe (ACreatedConnLink, Maybe SharedMsgId) -> LocalAlias -> UTCTime -> ExceptT StoreError IO ContactId Source #
newContactUserPrefs :: User -> Profile -> Preferences Source #
type NewPreparedContactRow = (Maybe AConnectionRequestUri, Maybe AConnShortLink, Maybe SharedMsgId) Source #
toPreparedContactRow :: Maybe (ACreatedConnLink, Maybe SharedMsgId) -> NewPreparedContactRow Source #
type NewPreparedGroupRow (m :: ConnectionMode) = (Maybe (ConnectionRequestUri m), Maybe (ConnShortLink m), Maybe SharedMsgId) Source #
toPreparedGroupRow :: forall (m :: ConnectionMode). Maybe (CreatedConnLink m, Maybe SharedMsgId) -> NewPreparedGroupRow m Source #
deleteUnusedIncognitoProfileById_ :: Connection -> User -> ProfileId -> IO () Source #
type PreparedContactRow = (Maybe AConnectionRequestUri, Maybe AConnShortLink, Maybe SharedMsgId, Maybe SharedMsgId) Source #
type GroupDirectInvitationRow = (Maybe ConnReqInvitation, Maybe GroupId, Maybe GroupMemberId, Maybe Int64, BoolInt) Source #
type ContactRow' = (ProfileId, ContactName, ContactName, Text, Maybe Text, Maybe ImageData, Maybe ConnLinkContact, Maybe ChatPeerType, LocalAlias, BoolInt, ContactStatus) :. ((Maybe MsgFilter, Maybe BoolInt, BoolInt, Maybe Preferences, Preferences, UTCTime, UTCTime, Maybe UTCTime) :. (PreparedContactRow :. ((Maybe Int64, Maybe GroupMemberId, BoolInt) :. (GroupDirectInvitationRow :. (Maybe UIThemeEntityOverrides, BoolInt, Maybe CustomData, Maybe Int64))))) Source #
type ContactRow = Only ContactId :. ContactRow' Source #
toContact :: VersionRangeChat -> User -> [ChatTagId] -> (ContactRow :. MaybeConnectionRow) -> Contact Source #
toPreparedContact :: PreparedContactRow -> Maybe PreparedContact Source #
toACreatedConnLink_ :: Maybe AConnectionRequestUri -> Maybe AConnShortLink -> Maybe ACreatedConnLink Source #
getProfileById :: Connection -> UserId -> Int64 -> ExceptT StoreError IO LocalProfile Source #
type ContactRequestRow = (Int64, ContactName, AgentInvId, Maybe ContactId, Maybe GroupId, Maybe Int64) :. ((Int64, ContactName, Text, Maybe Text, Maybe ImageData, Maybe ConnLinkContact, Maybe ChatPeerType) :. (Maybe XContactId, PQSupport, Maybe SharedMsgId, Maybe SharedMsgId, Maybe Preferences, UTCTime, UTCTime, VersionChat, VersionChat)) Source #
toUser :: ((UserId, UserId, ContactId, ProfileId, BoolInt, Int64) :. ((ContactName, Text, Maybe Text, Maybe ImageData, Maybe ConnLinkContact, Maybe ChatPeerType, Maybe Preferences) :. (BoolInt, BoolInt, BoolInt, BoolInt, Maybe B64UrlByteString, Maybe B64UrlByteString, Maybe UTCTime, Maybe UIThemeEntityOverrides))) -> User Source #
toPendingContactConnection :: (Int64, ConnId, ConnStatus, Maybe ByteString, Maybe Int64, Maybe GroupLinkId, Maybe Int64, Maybe ConnReqInvitation, Maybe ShortLinkInvitation, LocalAlias, UTCTime, UTCTime) -> PendingContactConnection Source #
getConnReqInv :: Connection -> Int64 -> ExceptT StoreError IO ConnReqInvitation Source #
withLocalDisplayName :: Connection -> UserId -> Text -> (Text -> IO (Either StoreError a)) -> IO (Either StoreError a) Source #
Saves unique local display name based on passed displayName, suffixed with _N if required. This function should be called inside transaction.
createWithRandomId :: TVar ChaChaDRG -> (ByteString -> IO a) -> ExceptT StoreError IO a Source #
createWithRandomId' :: TVar ChaChaDRG -> (ByteString -> IO (Either StoreError a)) -> ExceptT StoreError IO a Source #
createWithRandomBytes :: Int -> TVar ChaChaDRG -> (ByteString -> IO a) -> ExceptT StoreError IO a Source #
createWithRandomBytes' :: Int -> TVar ChaChaDRG -> (ByteString -> IO (Either StoreError a)) -> ExceptT StoreError IO a Source #
encodedRandomBytes :: TVar ChaChaDRG -> Int -> IO ByteString Source #
assertNotUser :: Connection -> User -> Contact -> ExceptT StoreError IO () Source #
safeDeleteLDN :: Connection -> User -> ContactName -> IO () Source #
type PreparedGroupRow = (Maybe ConnReqContact, Maybe ShortLinkContact, BoolInt, BoolInt, Maybe SharedMsgId, Maybe SharedMsgId) Source #
type BusinessChatInfoRow = (Maybe BusinessChatType, Maybe MemberId, Maybe MemberId) Source #
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 ProfileRow = (ProfileId, ContactName, Text, Maybe Text, Maybe ImageData, Maybe ConnLinkContact, Maybe ChatPeerType, LocalAlias, Maybe Preferences) Source #
toGroupInfo :: VersionRangeChat -> Int64 -> [ChatTagId] -> GroupInfoRow -> GroupInfo Source #
toPreparedGroup :: PreparedGroupRow -> Maybe PreparedGroup Source #
toGroupMember :: Int64 -> GroupMemberRow -> GroupMember Source #
groupMemberQuery :: Query Source #
toContactMember :: VersionRangeChat -> User -> (GroupMemberRow :. MaybeConnectionRow) -> GroupMember Source #
toBusinessChatInfo :: BusinessChatInfoRow -> Maybe BusinessChatInfo Source #
groupInfoQuery :: Query Source #
groupInfoQueryFields :: Query Source #
groupInfoQueryFrom :: Query Source #
createChatTag :: Connection -> User -> Maybe Text -> Text -> IO ChatTagId Source #
deleteChatTag :: Connection -> User -> ChatTagId -> IO () Source #
updateChatTag :: Connection -> User -> ChatTagId -> Maybe Text -> Text -> IO () Source #
updateChatTagOrder :: Connection -> User -> ChatTagId -> Int -> IO () Source #
reorderChatTags :: Connection -> User -> [ChatTagId] -> IO () Source #
getUserChatTags :: Connection -> User -> IO [ChatTag] Source #
getGroupChatTags :: Connection -> GroupId -> IO [ChatTagId] Source #
addGroupChatTags :: Connection -> GroupInfo -> IO GroupInfo Source #
setViaGroupLinkUri :: Connection -> GroupId -> Int64 -> IO () Source #
deleteConnectionRecord :: Connection -> User -> Int64 -> IO () Source #