mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-06-04 21:41:24 +00:00
Merge branch 'master' into rcv-services
This commit is contained in:
@@ -11,7 +11,46 @@
|
||||
{-# LANGUAGE TupleSections #-}
|
||||
{-# LANGUAGE TypeApplications #-}
|
||||
|
||||
module Simplex.Messaging.Server.CLI where
|
||||
module Simplex.Messaging.Server.CLI
|
||||
( SignAlgorithm (..),
|
||||
X509Config (..),
|
||||
CertOptions (..),
|
||||
IniOptions (..),
|
||||
exitError,
|
||||
confirmOrExit,
|
||||
defaultX509Config,
|
||||
getCliCommand',
|
||||
simplexmqVersionCommit,
|
||||
simplexmqCommit,
|
||||
createServerX509,
|
||||
createServerX509_,
|
||||
certOptionsP,
|
||||
dbOptsP,
|
||||
startOptionsP,
|
||||
parseLogLevel,
|
||||
genOnline,
|
||||
warnCAPrivateKeyFile,
|
||||
mkIniOptions,
|
||||
strictIni,
|
||||
readStrictIni,
|
||||
readIniDefault,
|
||||
iniOnOff,
|
||||
strDecodeIni,
|
||||
withPrompt,
|
||||
onOffPrompt,
|
||||
onOff,
|
||||
settingIsOn,
|
||||
checkSavedFingerprint,
|
||||
iniTransports,
|
||||
iniDBOptions,
|
||||
printServerConfig,
|
||||
printServerTransports,
|
||||
printSMPServerConfig,
|
||||
deleteDirIfExists,
|
||||
printServiceInfo,
|
||||
clearDirIfExists,
|
||||
getEnvPath,
|
||||
) where
|
||||
|
||||
import Control.Logger.Simple (LogLevel (..))
|
||||
import Control.Monad
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Simplex.Messaging.Server.Control where
|
||||
module Simplex.Messaging.Server.Control
|
||||
( CPClientRole (..),
|
||||
ControlProtocol (..),
|
||||
) where
|
||||
|
||||
import qualified Data.Attoparsec.ByteString.Char8 as A
|
||||
import Simplex.Messaging.Encoding.String
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
|
||||
module Simplex.Messaging.Server.Expiration where
|
||||
module Simplex.Messaging.Server.Expiration
|
||||
( ExpirationConfig (..),
|
||||
expireBeforeEpoch,
|
||||
showTTL,
|
||||
) where
|
||||
|
||||
import Control.Monad.IO.Class
|
||||
import Data.Int (Int64)
|
||||
|
||||
@@ -6,7 +6,19 @@
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Simplex.Messaging.Server.Information where
|
||||
module Simplex.Messaging.Server.Information
|
||||
( ServerInformation (..),
|
||||
ServerPublicConfig (..),
|
||||
ServerPublicInfo (..),
|
||||
ServerPersistenceMode (..),
|
||||
ServerConditions (..),
|
||||
HostingType (..),
|
||||
Entity (..),
|
||||
ServerContactAddress (..),
|
||||
PGPKey (..),
|
||||
emptyServerInfo,
|
||||
hasServerInfo,
|
||||
) where
|
||||
|
||||
import Data.Aeson (FromJSON (..), ToJSON (..))
|
||||
import qualified Data.Aeson.TH as J
|
||||
|
||||
@@ -15,7 +15,29 @@
|
||||
{-# LANGUAGE TypeApplications #-}
|
||||
{-# OPTIONS_GHC -fno-warn-ambiguous-fields #-}
|
||||
|
||||
module Simplex.Messaging.Server.Main where
|
||||
module Simplex.Messaging.Server.Main
|
||||
( EmbeddedWebParams (..),
|
||||
WebHttpsParams (..),
|
||||
CliCommand (..),
|
||||
StoreCmd (..),
|
||||
DatabaseTable (..),
|
||||
smpServerCLI,
|
||||
smpServerCLI_,
|
||||
#if defined(dbServerPostgres)
|
||||
importStoreLogToDatabase,
|
||||
importMessagesToDatabase,
|
||||
exportDatabaseToStoreLog,
|
||||
#endif
|
||||
newJournalMsgStore,
|
||||
storeMsgsJournalDir',
|
||||
getServerSourceCode,
|
||||
simplexmqSource,
|
||||
serverPublicInfo,
|
||||
validCountryValue,
|
||||
printSourceCode,
|
||||
cliCommandP,
|
||||
strParse,
|
||||
) where
|
||||
|
||||
import Control.Concurrent.STM
|
||||
import Control.Exception (finally)
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Simplex.Messaging.Server.Main.GitCommit where
|
||||
module Simplex.Messaging.Server.Main.GitCommit
|
||||
( gitCommit,
|
||||
) where
|
||||
|
||||
import Language.Haskell.TH
|
||||
import System.Process
|
||||
|
||||
@@ -2,7 +2,18 @@
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Simplex.Messaging.Server.Main.Init where
|
||||
module Simplex.Messaging.Server.Main.Init
|
||||
( InitOptions (..),
|
||||
ServerPassword (..),
|
||||
defaultControlPort,
|
||||
defaultDBOpts,
|
||||
defaultDeletedTTL,
|
||||
iniFileContent,
|
||||
informationIniContent,
|
||||
iniDbOpts,
|
||||
optDisabled,
|
||||
optDisabled',
|
||||
) where
|
||||
|
||||
import Data.Int (Int64)
|
||||
import qualified Data.List.NonEmpty as L
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Simplex.Messaging.Server.MsgStore where
|
||||
module Simplex.Messaging.Server.MsgStore
|
||||
( MsgLogRecord (..),
|
||||
) where
|
||||
|
||||
import Simplex.Messaging.Encoding.String
|
||||
import Simplex.Messaging.Protocol (Message (..), RecipientId)
|
||||
|
||||
@@ -15,7 +15,25 @@
|
||||
|
||||
{-# HLINT ignore "Redundant multi-way if" #-}
|
||||
|
||||
module Simplex.Messaging.Server.MsgStore.Types where
|
||||
module Simplex.Messaging.Server.MsgStore.Types
|
||||
( MsgStoreClass (..),
|
||||
MSType (..),
|
||||
QSType (..),
|
||||
SMSType (..),
|
||||
SQSType (..),
|
||||
MessageStats (..),
|
||||
LoadedQueueCounts (..),
|
||||
newMessageStats,
|
||||
addQueue,
|
||||
getQueue,
|
||||
getQueueRec,
|
||||
getQueues,
|
||||
getQueueRecs,
|
||||
readQueueRec,
|
||||
withPeekMsgQueue,
|
||||
expireQueueMsgs,
|
||||
deleteExpireMsgs_,
|
||||
) where
|
||||
|
||||
import Control.Concurrent.STM
|
||||
import Control.Monad
|
||||
|
||||
@@ -3,7 +3,14 @@
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Simplex.Messaging.Server.NtfStore where
|
||||
module Simplex.Messaging.Server.NtfStore
|
||||
( NtfStore (..),
|
||||
MsgNtf (..),
|
||||
NtfLogRecord (..),
|
||||
storeNtf,
|
||||
deleteNtfs,
|
||||
deleteExpiredNtfs,
|
||||
) where
|
||||
|
||||
import Control.Concurrent.STM
|
||||
import Control.Monad (foldM)
|
||||
|
||||
@@ -3,7 +3,13 @@
|
||||
{-# LANGUAGE TypeApplications #-}
|
||||
{-# OPTIONS_GHC -fno-warn-unrecognised-pragmas #-}
|
||||
|
||||
module Simplex.Messaging.Server.Prometheus where
|
||||
module Simplex.Messaging.Server.Prometheus
|
||||
( ServerMetrics (..),
|
||||
RealTimeMetrics (..),
|
||||
RTSubscriberMetrics (..),
|
||||
rtsOptionsEnv,
|
||||
prometheusMetrics,
|
||||
) where
|
||||
|
||||
import Data.Int (Int64)
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
|
||||
@@ -7,7 +7,13 @@
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Simplex.Messaging.Server.QueueStore where
|
||||
module Simplex.Messaging.Server.QueueStore
|
||||
( QueueRec (..),
|
||||
NtfCreds (..),
|
||||
ServiceRec (..),
|
||||
CertFingerprint,
|
||||
ServerEntityStatus (..),
|
||||
) where
|
||||
|
||||
import Control.Applicative (optional, (<|>))
|
||||
import qualified Data.ByteString.Char8 as B
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
module Simplex.Messaging.Server.QueueStore.Postgres.Config where
|
||||
module Simplex.Messaging.Server.QueueStore.Postgres.Config
|
||||
( PostgresStoreCfg (..),
|
||||
) where
|
||||
|
||||
import Data.Int (Int64)
|
||||
import Simplex.Messaging.Agent.Store.Postgres.Options (DBOpts)
|
||||
|
||||
@@ -2,7 +2,10 @@
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE QuasiQuotes #-}
|
||||
|
||||
module Simplex.Messaging.Server.QueueStore.Postgres.Migrations where
|
||||
module Simplex.Messaging.Server.QueueStore.Postgres.Migrations
|
||||
( serverMigrations,
|
||||
)
|
||||
where
|
||||
|
||||
import Data.List (sortOn)
|
||||
import Data.Text (Text)
|
||||
|
||||
@@ -3,7 +3,14 @@
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Simplex.Messaging.Server.QueueStore.QueueInfo where
|
||||
module Simplex.Messaging.Server.QueueStore.QueueInfo
|
||||
( QueueInfo (..),
|
||||
QSub (..),
|
||||
QSubThread (..),
|
||||
MsgInfo (..),
|
||||
MsgType (..),
|
||||
QueueMode (..),
|
||||
) where
|
||||
|
||||
import qualified Data.Aeson as J
|
||||
import qualified Data.Aeson.TH as JQ
|
||||
|
||||
@@ -5,7 +5,12 @@
|
||||
{-# LANGUAGE TypeFamilies #-}
|
||||
{-# LANGUAGE TypeFamilyDependencies #-}
|
||||
|
||||
module Simplex.Messaging.Server.QueueStore.Types where
|
||||
module Simplex.Messaging.Server.QueueStore.Types
|
||||
( StoreQueueClass (..),
|
||||
QueueStoreClass (..),
|
||||
EntityCounts (..),
|
||||
withLoadedQueues,
|
||||
) where
|
||||
|
||||
import Control.Concurrent.STM
|
||||
import Control.Monad
|
||||
|
||||
@@ -6,7 +6,40 @@
|
||||
{-# LANGUAGE TupleSections #-}
|
||||
{-# LANGUAGE TypeApplications #-}
|
||||
|
||||
module Simplex.Messaging.Server.Stats where
|
||||
module Simplex.Messaging.Server.Stats
|
||||
( ServerStats (..),
|
||||
ServerStatsData (..),
|
||||
PeriodStats (..),
|
||||
PeriodStatsData (..),
|
||||
PeriodStatCounts (..),
|
||||
ProxyStats (..),
|
||||
ProxyStatsData (..),
|
||||
ServiceStats (..),
|
||||
ServiceStatsData (..),
|
||||
TimeBuckets (..),
|
||||
newServerStats,
|
||||
getServerStatsData,
|
||||
setServerStats,
|
||||
newPeriodStats,
|
||||
newPeriodStatsData,
|
||||
getPeriodStatsData,
|
||||
setPeriodStats,
|
||||
periodStatDataCounts,
|
||||
periodStatCounts,
|
||||
updatePeriodStats,
|
||||
newProxyStats,
|
||||
newProxyStatsData,
|
||||
getProxyStatsData,
|
||||
getResetProxyStatsData,
|
||||
setProxyStats,
|
||||
newServiceStatsData,
|
||||
newServiceStats,
|
||||
getServiceStatsData,
|
||||
getResetServiceStatsData,
|
||||
setServiceStats,
|
||||
emptyTimeBuckets,
|
||||
updateTimeBuckets,
|
||||
) where
|
||||
|
||||
import Control.Applicative (optional, (<|>))
|
||||
import qualified Data.Attoparsec.ByteString.Char8 as A
|
||||
|
||||
@@ -7,7 +7,10 @@
|
||||
{-# LANGUAGE ScopedTypeVariables #-}
|
||||
{-# LANGUAGE TypeApplications #-}
|
||||
|
||||
module Simplex.Messaging.Server.StoreLog.ReadWrite where
|
||||
module Simplex.Messaging.Server.StoreLog.ReadWrite
|
||||
( writeQueueStore,
|
||||
readQueueStore,
|
||||
) where
|
||||
|
||||
import Control.Concurrent.STM
|
||||
import Control.Logger.Simple
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
{-# LANGUAGE GADTs #-}
|
||||
{-# LANGUAGE KindSignatures #-}
|
||||
|
||||
module Simplex.Messaging.Server.StoreLog.Types where
|
||||
module Simplex.Messaging.Server.StoreLog.Types
|
||||
( StoreLog (..),
|
||||
) where
|
||||
|
||||
import System.IO (Handle, IOMode (..))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user