Compare commits
1 Commits
stable-ios
...
_archived-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
061d2c25ed |
@@ -2238,13 +2238,16 @@ cleanupManager = do
|
||||
forM_ us' cleanupUser
|
||||
liftIO $ threadDelay' $ cleanupManagerInterval * 1000000
|
||||
where
|
||||
cleanupUser user =
|
||||
cleanupUser user = do
|
||||
cleanupTimedItems user `catchError` (toView . CRChatError (Just user))
|
||||
cleanupFileDescriptions user `catchError` (toView . CRChatError (Just user))
|
||||
cleanupTimedItems user = do
|
||||
ts <- liftIO getCurrentTime
|
||||
let startTimedThreadCutoff = addUTCTime (realToFrac cleanupManagerInterval) ts
|
||||
timedItems <- withStore' $ \db -> getTimedItems db user startTimedThreadCutoff
|
||||
forM_ timedItems $ uncurry (startTimedItemThread user)
|
||||
cleanupFileDescriptions user =
|
||||
withStore' (`cleanupXFTPFileDescrs` user)
|
||||
|
||||
startProximateTimedItemThread :: ChatMonad m => User -> (ChatRef, ChatItemId) -> UTCTime -> m ()
|
||||
startProximateTimedItemThread user itemRef deleteAt = do
|
||||
|
||||
@@ -182,6 +182,7 @@ module Simplex.Chat.Store
|
||||
createRcvGroupFileTransfer,
|
||||
appendRcvFD,
|
||||
getRcvFileDescrByFileId,
|
||||
cleanupXFTPFileDescrs,
|
||||
updateRcvFileAgentId,
|
||||
getRcvFileTransferById,
|
||||
getRcvFileTransfer,
|
||||
@@ -3118,6 +3119,13 @@ getRcvFileDescrByFileId_ db fileId =
|
||||
toRcvFileDescr (fileDescrId, fileDescrText, fileDescrPartNo, fileDescrComplete) =
|
||||
RcvFileDescr {fileDescrId, fileDescrText, fileDescrPartNo, fileDescrComplete}
|
||||
|
||||
cleanupXFTPFileDescrs :: DB.Connection -> User -> IO ()
|
||||
cleanupXFTPFileDescrs db User {userId} = do
|
||||
cutoffTs <- addUTCTime (- (2 * nominalDay)) <$> getCurrentTime
|
||||
-- TODO delete
|
||||
DB.execute db "UPDATE xftp_file_descriptions SET file_descr_text = '' WHERE user_id = ? AND created_at <= ?" (userId, cutoffTs)
|
||||
DB.execute db "DELETE FROM extra_xftp_file_descriptions WHERE user_id = ? AND created_at <= ?" (userId, cutoffTs)
|
||||
|
||||
updateRcvFileAgentId :: DB.Connection -> FileTransferId -> Maybe AgentRcvFileId -> IO ()
|
||||
updateRcvFileAgentId db fileId aFileId = do
|
||||
currentTs <- getCurrentTime
|
||||
|
||||
Reference in New Issue
Block a user