mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2025-06-28 20:29:53 +00:00
* postgres: modules structure (#5401) * postgres: schema, field conversions (#5430) * postgres: rework chat list pagination query (#5441) * prepare cabal for merge * restore cabal changes * simplexmq * postgres: implementation wip (tests don't pass) (#5481) * restore ios file * postgres: implementation - tests pass (#5487) * refactor DB options * refactor * line * style * style * refactor * $ * update simplexmq * constraintError * handleDBErrors * fix * remove param * Ok * case * case * case * comment --------- Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
37 lines
874 B
Haskell
37 lines
874 B
Haskell
{-# LANGUAGE ApplicativeDo #-}
|
|
{-# LANGUAGE NamedFieldPuns #-}
|
|
|
|
module Simplex.Chat.Options.Postgres where
|
|
|
|
import Options.Applicative
|
|
|
|
data ChatDbOpts = ChatDbOpts
|
|
{ dbName :: String,
|
|
dbUser :: String,
|
|
dbSchemaPrefix :: String
|
|
}
|
|
|
|
chatDbOptsP :: FilePath -> String -> Parser ChatDbOpts
|
|
chatDbOptsP _appDir defaultDbName = do
|
|
dbName <-
|
|
strOption
|
|
( long "database"
|
|
<> short 'd'
|
|
<> metavar "DB_NAME"
|
|
<> help "Database name"
|
|
<> value defaultDbName
|
|
<> showDefault
|
|
)
|
|
dbUser <-
|
|
strOption
|
|
( long "database-user"
|
|
<> short 'u'
|
|
<> metavar "DB_USER"
|
|
<> help "Database user"
|
|
<> value "simplex"
|
|
<> showDefault
|
|
)
|
|
pure ChatDbOpts {dbName, dbUser, dbSchemaPrefix = ""}
|
|
|
|
dbString :: ChatDbOpts -> String
|
|
dbString ChatDbOpts {dbName} = dbName
|