summaryrefslogtreecommitdiff
path: root/bank/src/main/kotlin/tech/libeufin/bank/Main.kt
diff options
context:
space:
mode:
Diffstat (limited to 'bank/src/main/kotlin/tech/libeufin/bank/Main.kt')
-rw-r--r--bank/src/main/kotlin/tech/libeufin/bank/Main.kt22
1 files changed, 8 insertions, 14 deletions
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Main.kt b/bank/src/main/kotlin/tech/libeufin/bank/Main.kt
index 8dafbce7..db2e6d8d 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/Main.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/Main.kt
@@ -253,7 +253,7 @@ fun Application.corebankWebApp(db: Database, ctx: BankConfig) {
class BankDbInit : CliktCommand("Initialize the libeufin-bank database", name = "dbinit") {
private val common by CommonOption()
- private val requestReset by option(
+ private val reset by option(
"--reset", "-r",
help = "Reset database (DANGEROUS: All existing data is lost)"
).flag()
@@ -262,14 +262,8 @@ class BankDbInit : CliktCommand("Initialize the libeufin-bank database", name =
val config = talerConfig(common.config)
val cfg = config.loadDbConfig()
val ctx = config.loadBankConfig()
- Database(cfg.dbConnStr, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
- db.conn { conn ->
- if (requestReset) {
- resetDatabaseTables(conn, cfg, sqlFilePrefix = "libeufin-bank")
- }
- initializeDatabaseTables(conn, cfg, sqlFilePrefix = "libeufin-bank")
- }
-
+ pgDataSource(cfg.dbConnStr).dbInit(cfg, "libeufin-bank", reset)
+ Database(cfg, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
// Create admin account if missing
val res = createAdminAccount(db, ctx) // logs provided by the helper
when (res) {
@@ -292,7 +286,7 @@ class ServeBank : CliktCommand("Run libeufin-bank HTTP server", name = "serve")
val ctx = cfg.loadBankConfig()
val dbCfg = cfg.loadDbConfig()
val serverCfg = cfg.loadServerConfig()
- Database(dbCfg.dbConnStr, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
+ Database(dbCfg, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
if (ctx.allowConversion) {
logger.info("Ensure exchange account exists")
val info = db.account.bankInfo("exchange", ctx.payto)
@@ -351,7 +345,7 @@ class ChangePw : CliktCommand("Change account password", name = "passwd") {
val cfg = talerConfig(common.config)
val ctx = cfg.loadBankConfig()
val dbCfg = cfg.loadDbConfig()
- Database(dbCfg.dbConnStr, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
+ Database(dbCfg, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
val res = db.account.reconfigPassword(username, password, null, true)
when (res) {
AccountPatchAuthResult.UnknownAccount ->
@@ -395,7 +389,7 @@ class EditAccount : CliktCommand(
val cfg = talerConfig(common.config)
val ctx = cfg.loadBankConfig()
val dbCfg = cfg.loadDbConfig()
- Database(dbCfg.dbConnStr, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
+ Database(dbCfg, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
val req = AccountReconfiguration(
name = name,
is_taler_exchange = exchange,
@@ -472,7 +466,7 @@ class CreateAccount : CliktCommand(
val ctx = cfg.loadBankConfig()
val dbCfg = cfg.loadDbConfig()
- Database(dbCfg.dbConnStr, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
+ Database(dbCfg, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
val req = json ?: options?.run {
RegisterAccountRequest(
username = username,
@@ -519,7 +513,7 @@ class GC : CliktCommand(
val ctx = cfg.loadBankConfig()
val dbCfg = cfg.loadDbConfig()
- Database(dbCfg.dbConnStr, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
+ Database(dbCfg, ctx.regionalCurrency, ctx.fiatCurrency).use { db ->
logger.info("Run garbage collection")
db.gc.collect(Instant.now(), ctx.gcAbortAfter, ctx.gcCleanAfter, ctx.gcDeleteAfter)
}