[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libeufin] branch master updated: set/show config values. CLI: account
From: |
gnunet |
Subject: |
[libeufin] branch master updated: set/show config values. CLI: account deletion |
Date: |
Thu, 19 May 2022 07:12:58 +0200 |
This is an automated email from the git hooks/post-receive script.
ms pushed a commit to branch master
in repository libeufin.
The following commit(s) were added to refs/heads/master by this push:
new 135d258e set/show config values. CLI: account deletion
135d258e is described below
commit 135d258eb3c2eac6925cfeb85d36a1f1c43d75fc
Author: ms <ms@taler.net>
AuthorDate: Thu May 19 07:10:34 2022 +0200
set/show config values. CLI: account deletion
---
cli/bin/libeufin-cli | 20 ++++++
.../src/main/kotlin/tech/libeufin/sandbox/Main.kt | 79 ++++++++++++++--------
util/src/main/kotlin/HTTP.kt | 3 +
3 files changed, 72 insertions(+), 30 deletions(-)
diff --git a/cli/bin/libeufin-cli b/cli/bin/libeufin-cli
index 89037c36..43131b08 100755
--- a/cli/bin/libeufin-cli
+++ b/cli/bin/libeufin-cli
@@ -1262,6 +1262,26 @@ def sandbox_demobank_info(obj, bank_account):
exit(1)
tell_user(resp, withsuccess=True)
+@sandbox_demobank.command("delete",
+ help="""delete the bank account pointed by LIBEUFIN_SANDBOX_{USERNAME,
PASSWORD}."""
+)
+@click.pass_obj
+def sandbox_demobank_register(obj, public, name):
+ url = obj.access_api_url ("/testing/unregister")
+ req = dict(username=obj.username, password=obj.password, isPublic=public)
+ if name != "":
+ req.update(name=name)
+ try:
+ resp = post(
+ url,
+ json=req,
+ )
+ except Exception as e:
+ print(e)
+ print("Could not reach sandbox at " + url)
+ exit(1)
+ check_response_status(resp)
+
@sandbox_demobank.command("register",
help="""register a new bank account. Credentials will be taken
from the LIBEUFIN_SANDBOX_{USERNAME, PASSWORD} env variables. Note
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
index 61ab39f8..a995665a 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
@@ -64,6 +64,7 @@ import io.ktor.util.*
import io.ktor.util.date.*
import kotlinx.coroutines.newSingleThreadContext
import org.jetbrains.exposed.sql.*
+import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
import org.jetbrains.exposed.sql.statements.api.ExposedBlob
import
org.jetbrains.exposed.sql.transactions.experimental.newSuspendedTransaction
import org.jetbrains.exposed.sql.transactions.transaction
@@ -134,13 +135,12 @@ class Config : CliktCommand(
}
private val nameArgument by argument(
- "NAME", help = "Name of this configuration"
+ "NAME", help = "Name of this configuration. Currently, only 'default'
is admitted."
)
- private val overrideOption by option(
- "--override",
- help = "Override an existing --with/--without -registrations policy." +
- " It has NO effect on other options"
- ).flag("--no-override", default = false)
+ private val showOption by option(
+ "--show",
+ help = "Only show values, other options will be ignored."
+ ).flag("--no-show", default = false)
private val currencyOption by option("--currency").default("EUR")
private val bankDebtLimitOption by
option("--bank-debt-limit").int().default(1000000)
private val usersDebtLimitOption by
option("--users-debt-limit").int().default(1000)
@@ -155,37 +155,56 @@ class Config : CliktCommand(
override fun run() {
val dbConnString = getDbConnFromEnv(SANDBOX_DB_ENV_VAR_NAME)
+ if (nameArgument != "default") {
+ println("This version admits only the 'default' name")
+ exitProcess(1)
+ }
execThrowableOrTerminate {
dbCreateTables(dbConnString)
transaction {
- val maybeDemobank = DemobankConfigEntity.find {
- DemobankConfigsTable.name eq nameArgument
- }.firstOrNull()
- if (maybeDemobank != null) {
- if (overrideOption) {
- println("Overriding the registration policy to: "
- + allowRegistrationsOption)
- maybeDemobank.allowRegistrations =
allowRegistrationsOption
+ val maybeDemobank =
BankAccountEntity.find(BankAccountsTable.label eq "bank").firstOrNull()
+ if (showOption) {
+ if (maybeDemobank != null) {
+ println(
+ object {
+ val currency = maybeDemobank.demoBank.currency
+ val bankDebtLimit =
maybeDemobank.demoBank.bankDebtLimit
+ val usersDebtLimit =
maybeDemobank.demoBank.usersDebtLimit
+ val allowRegistrations =
maybeDemobank.demoBank.allowRegistrations
+ val name = maybeDemobank.demoBank.name //
always 'default'
+ val withSignupBonus =
maybeDemobank.demoBank.withSignupBonus
+ }
+ )
return@transaction
}
- println("Error, demobank ${nameArgument} exists already,
not overriding it.")
- exitProcess(1)
+ println("Nothing to show")
+ return@transaction
}
- val demoBank = DemobankConfigEntity.new {
- currency = currencyOption
- bankDebtLimit = bankDebtLimitOption
- usersDebtLimit = usersDebtLimitOption
- allowRegistrations = allowRegistrationsOption
- name = nameArgument
- this.withSignupBonus = withSignupBonusOption
- }
- BankAccountEntity.new {
- iban = getIban()
- label = "bank" // used by the wire helper
- owner = "bank" // used by the person name finder
- // For now, the model assumes always one demobank
- this.demoBank = demoBank
+ if (maybeDemobank == null) {
+ val demoBank = DemobankConfigEntity.new {
+ currency = currencyOption
+ bankDebtLimit = bankDebtLimitOption
+ usersDebtLimit = usersDebtLimitOption
+ allowRegistrations = allowRegistrationsOption
+ name = nameArgument
+ this.withSignupBonus = withSignupBonusOption
+ }
+ BankAccountEntity.new {
+ iban = getIban()
+ label = "bank" // used by the wire helper
+ owner = "bank" // used by the person name finder
+ // For now, the model assumes always one demobank
+ this.demoBank = demoBank
+ }
+ return@transaction
}
+ println("Overriding existing values")
+ maybeDemobank.demoBank.currency = currencyOption
+ maybeDemobank.demoBank.bankDebtLimit = bankDebtLimitOption
+ maybeDemobank.demoBank.usersDebtLimit = usersDebtLimitOption
+ maybeDemobank.demoBank.allowRegistrations =
allowRegistrationsOption
+ maybeDemobank.demoBank.withSignupBonus = withSignupBonusOption
+ maybeDemobank.demoBank.name = nameArgument
}
}
}
diff --git a/util/src/main/kotlin/HTTP.kt b/util/src/main/kotlin/HTTP.kt
index f704f250..94ec837d 100644
--- a/util/src/main/kotlin/HTTP.kt
+++ b/util/src/main/kotlin/HTTP.kt
@@ -83,6 +83,9 @@ fun conflict(msg: String): UtilError {
fun ApplicationRequest.getBaseUrl(): String {
return if (this.headers.contains("X-Forwarded-Host")) {
logger.info("Building X-Forwarded- base URL")
+ /**
+ * FIXME: should tolerate a missing X-Forwarded-Prefix.
+ */
var prefix: String = this.headers.get("X-Forwarded-Prefix")
?: throw internalServerError("Reverse proxy did not define
X-Forwarded-Prefix")
if (!prefix.endsWith("/"))
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [libeufin] branch master updated: set/show config values. CLI: account deletion,
gnunet <=