mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-05-11 12:34:46 +00:00
refactor: clean up per good-code review
- Remove internal helpers from Postgres.hs export list (withDB, withDB', handleDuplicate, assertUpdated, withLog are not imported externally) - Replace local isNothing_ with Data.Maybe.isNothing in Env.hs - Consolidate duplicate/unused imports in XFTPStoreTests.hs - Add file_path IS NULL and status guards to STM setFilePath, matching the Postgres implementation semantics
This commit is contained in:
@@ -41,6 +41,7 @@ import Simplex.FileTransfer.Server.Store
|
||||
import Simplex.Messaging.Agent.Store.Shared (MigrationConfirmation)
|
||||
#if defined(dbServerPostgres)
|
||||
import Data.Functor (($>))
|
||||
import Data.Maybe (isNothing)
|
||||
import Simplex.FileTransfer.Server.Store.Postgres (PostgresFileStore, importFileStore, exportFileStore)
|
||||
import Simplex.FileTransfer.Server.Store.Postgres.Config (PostgresFileStoreCfg (..), defaultXFTPDBOpts)
|
||||
import Simplex.Messaging.Server.CLI (iniDBOptions, settingIsOn)
|
||||
@@ -190,14 +191,11 @@ checkFileStoreMode ini storeType storeLogFilePath = case storeType of
|
||||
"database" -> do
|
||||
storeLogExists <- doesFileExist storeLogFilePath
|
||||
let dbStoreLogOn = settingIsOn "STORE_LOG" "db_store_log" ini
|
||||
when (storeLogExists && isNothing_ dbStoreLogOn) $ do
|
||||
when (storeLogExists && isNothing dbStoreLogOn) $ do
|
||||
putStrLn $ "Error: store log file " <> storeLogFilePath <> " exists but store_files is `database`."
|
||||
putStrLn "Use `file-server database import` to migrate, or set `db_store_log: on`."
|
||||
exitFailure
|
||||
_ -> pure ()
|
||||
where
|
||||
isNothing_ Nothing = True
|
||||
isNothing_ _ = False
|
||||
#else
|
||||
checkFileStoreMode _ _ _ = pure ()
|
||||
#endif
|
||||
|
||||
@@ -97,9 +97,15 @@ instance FileStoreClass STMFileStore where
|
||||
pure $ Right ()
|
||||
|
||||
setFilePath st sId fPath = atomically $
|
||||
withSTMFile st sId $ \FileRec {filePath} -> do
|
||||
writeTVar filePath (Just fPath)
|
||||
pure $ Right ()
|
||||
withSTMFile st sId $ \FileRec {filePath, fileStatus} -> do
|
||||
readTVar filePath >>= \case
|
||||
Just _ -> pure $ Left AUTH
|
||||
Nothing ->
|
||||
readTVar fileStatus >>= \case
|
||||
EntityActive -> do
|
||||
writeTVar filePath (Just fPath)
|
||||
pure $ Right ()
|
||||
_ -> pure $ Left AUTH
|
||||
|
||||
addRecipient st@STMFileStore {recipients} senderId (FileRecipient rId rKey) = atomically $
|
||||
withSTMFile st senderId $ \FileRec {recipientIds} -> do
|
||||
|
||||
@@ -9,11 +9,6 @@
|
||||
|
||||
module Simplex.FileTransfer.Server.Store.Postgres
|
||||
( PostgresFileStore (..),
|
||||
withDB,
|
||||
withDB',
|
||||
handleDuplicate,
|
||||
assertUpdated,
|
||||
withLog,
|
||||
importFileStore,
|
||||
exportFileStore,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user