commit a05d9c7622be17af19ce3c12729be870543cb870 parent c6e0597f6d00f316b9219423c82883ef203d791a Author: ms <ms@taler.net> Date: Mon, 1 Nov 2021 15:04:01 +0100 Command to set default exchange. Diffstat:
| M | sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt | | | 27 | +++++++++++++++++++++++++++ |
1 file changed, 27 insertions(+), 0 deletions(-)
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt @@ -95,6 +95,33 @@ data class SandboxError( data class SandboxErrorJson(val error: SandboxErrorDetailJson) data class SandboxErrorDetailJson(val type: String, val description: String) +class DefaultExchange : CliktCommand("Set default Taler exchange for a demobank.") { + init { + context { + helpFormatter = CliktHelpFormatter(showDefaultValues = true) + } + } + private val exchange by argument("EXCHANGE", "Payto URI of the default exchange") + private val demobank by argument("Which demobank defaults to EXCHANGE") + + override fun run() { + val dbConnString = getDbConnFromEnv(SANDBOX_DB_ENV_VAR_NAME) + execThrowableOrTerminate { + dbCreateTables(dbConnString) + transaction { + val maybeDemobank: DemobankConfigEntity? = DemobankConfigEntity.find { + DemobankConfigsTable.name eq demobank + }.firstOrNull() + if (maybeDemobank == null) { + println("Error, demobank ${demobank} not found.") + exitProcess(1) + } + maybeDemobank.suggestedExchange = exchange + } + } + } +} + class Config : CliktCommand("Insert one configuration into the database") { init { context {