[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libeufin] branch master updated: TalerAmount defaults to the internal c
From: |
gnunet |
Subject: |
[libeufin] branch master updated: TalerAmount defaults to the internal currency. |
Date: |
Fri, 15 Sep 2023 11:09:11 +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 8a6e6386 TalerAmount defaults to the internal currency.
8a6e6386 is described below
commit 8a6e63869af864673aeaa7dd2409695b10db23af
Author: MS <ms@taler.net>
AuthorDate: Fri Sep 15 11:08:01 2023 +0200
TalerAmount defaults to the internal currency.
---
.gitignore | 1 +
.idea/workspace.xml | 221 ---------------------
.../src/main/kotlin/tech/libeufin/bank/Database.kt | 49 ++++-
bank/src/main/kotlin/tech/libeufin/bank/Helpers.kt | 4 +-
bank/src/main/kotlin/tech/libeufin/bank/Main.kt | 2 +-
bank/src/test/kotlin/AmountTest.kt | 31 +++
bank/src/test/kotlin/Common.kt | 39 ++++
bank/src/test/kotlin/DatabaseTest.kt | 38 ++--
.../main/kotlin/tech/libeufin/nexus/Anastasis.kt | 1 -
nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt | 3 -
.../tech/libeufin/nexus/bankaccount/BankAccount.kt | 1 -
.../tech/libeufin/nexus/ebics/EbicsClient.kt | 1 -
util/src/main/kotlin/CamtJsonMapping.kt | 1 -
util/src/main/kotlin/DB.kt | 1 -
util/src/main/kotlin/HTTP.kt | 1 +
15 files changed, 132 insertions(+), 262 deletions(-)
diff --git a/.gitignore b/.gitignore
index e37c79d0..182cf6e8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.idea
/nexus/bin/
/sandbox/bin/
/util/bin/
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
deleted file mode 100644
index cb134728..00000000
--- a/.idea/workspace.xml
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="AutoImportSettings">
- <option name="autoReloadType" value="SELECTIVE" />
- </component>
- <component name="ChangeListManager">
- <list default="true" id="9436eb1e-de48-4f11-8ff7-f359340cb458"
name="Changes" comment="">
- <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false"
afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
- <change
beforePath="$PROJECT_DIR$/bank/src/main/kotlin/tech/libeufin/bank/Helpers.kt"
beforeDir="false"
afterPath="$PROJECT_DIR$/bank/src/main/kotlin/tech/libeufin/bank/Helpers.kt"
afterDir="false" />
- <change
beforePath="$PROJECT_DIR$/bank/src/main/kotlin/tech/libeufin/bank/Main.kt"
beforeDir="false"
afterPath="$PROJECT_DIR$/bank/src/main/kotlin/tech/libeufin/bank/Main.kt"
afterDir="false" />
- <change beforePath="$PROJECT_DIR$/bank/src/test/kotlin/JsonTest.kt"
beforeDir="false" afterPath="$PROJECT_DIR$/bank/src/test/kotlin/JsonTest.kt"
afterDir="false" />
- </list>
- <option name="SHOW_DIALOG" value="false" />
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
- <option name="LAST_RESOLUTION" value="IGNORE" />
- </component>
- <component name="ExternalProjectsData">
- <projectState path="$PROJECT_DIR$">
- <ProjectState />
- </projectState>
- </component>
- <component name="ExternalProjectsManager">
- <system id="GRADLE">
- <state>
- <task path="$PROJECT_DIR$">
- <activation />
- </task>
- <projects_view>
- <tree_state>
- <expand>
- <path>
- <item name=""
type="6a2764b6:ExternalProjectsStructure$RootNode" />
- <item name="libeufin" type="f1a62948:ProjectNode" />
- </path>
- </expand>
- <select />
- </tree_state>
- </projects_view>
- </state>
- </system>
- </component>
- <component name="FileTemplateManagerImpl">
- <option name="RECENT_TEMPLATES">
- <list>
- <option value="Kotlin Class" />
- <option value="Kotlin File" />
- </list>
- </option>
- </component>
- <component name="Git.Settings">
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
- </component>
- <component name="MarkdownSettingsMigration">
- <option name="stateVersion" value="1" />
- </component>
- <component name="ProjectId" id="2V4jS1FHAIvLu5eYODKLzGxNSP4" />
- <component name="ProjectViewState">
- <option name="hideEmptyMiddlePackages" value="true" />
- <option name="showLibraryContents" value="true" />
- </component>
- <component name="PropertiesComponent">{
- "keyToString": {
- "RunOnceActivity.OpenProjectViewOnStart": "true",
- "RunOnceActivity.ShowReadmeOnStart": "true",
- "project.structure.last.edited": "Project",
- "project.structure.proportion": "0.0",
- "project.structure.side.proportion": "0.0",
- "settings.editor.selected.configurable":
"project.kotlinCompiler",
- "settings.editor.splitter.proportion": "0.31419808"
- }
-}</component>
- <component name="RunManager" selected="Gradle.JsonTest.unionTypeTest">
- <configuration name="AmountTest.parseTalerAmountTest"
type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
- <ExternalSystemSettings>
- <option name="executionName" />
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
- <option name="externalSystemIdString" value="GRADLE" />
- <option name="scriptParameters" value="--quiet" />
- <option name="taskDescriptions">
- <list />
- </option>
- <option name="taskNames">
- <list>
- <option value=":bank:test" />
- <option value="--tests" />
- <option value=""AmountTest.parseTalerAmountTest"" />
- </list>
- </option>
- <option name="vmOptions" />
- </ExternalSystemSettings>
-
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
-
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
- <DebugAllEnabled>false</DebugAllEnabled>
- <method v="2" />
- </configuration>
- <configuration name="CryptoUtilTest.passwordHashing"
type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
- <ExternalSystemSettings>
- <option name="executionName" />
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
- <option name="externalSystemIdString" value="GRADLE" />
- <option name="scriptParameters" value="" />
- <option name="taskDescriptions">
- <list />
- </option>
- <option name="taskNames">
- <list>
- <option value=":util:test" />
- <option value="--tests" />
- <option value=""CryptoUtilTest.passwordHashing"" />
- </list>
- </option>
- <option name="vmOptions" />
- </ExternalSystemSettings>
-
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
-
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
- <DebugAllEnabled>false</DebugAllEnabled>
- <method v="2" />
- </configuration>
- <configuration name="JsonTest.deserializationTest"
type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
- <ExternalSystemSettings>
- <option name="executionName" />
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
- <option name="externalSystemIdString" value="GRADLE" />
- <option name="scriptParameters" value="--quiet" />
- <option name="taskDescriptions">
- <list />
- </option>
- <option name="taskNames">
- <list>
- <option value=":bank:test" />
- <option value="--tests" />
- <option value=""JsonTest.deserializationTest"" />
- </list>
- </option>
- <option name="vmOptions" />
- </ExternalSystemSettings>
-
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
-
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
- <DebugAllEnabled>false</DebugAllEnabled>
- <method v="2" />
- </configuration>
- <configuration name="JsonTest.unionTypeTest" type="GradleRunConfiguration"
factoryName="Gradle" temporary="true">
- <ExternalSystemSettings>
- <option name="executionName" />
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
- <option name="externalSystemIdString" value="GRADLE" />
- <option name="scriptParameters" value="--quiet" />
- <option name="taskDescriptions">
- <list />
- </option>
- <option name="taskNames">
- <list>
- <option value=":bank:test" />
- <option value="--tests" />
- <option value=""JsonTest.unionTypeTest"" />
- </list>
- </option>
- <option name="vmOptions" />
- </ExternalSystemSettings>
-
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
-
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
- <DebugAllEnabled>false</DebugAllEnabled>
- <method v="2" />
- </configuration>
- <configuration name="LibeuFinApiTest.createAccountTest"
type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
- <ExternalSystemSettings>
- <option name="executionName" />
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
- <option name="externalSystemIdString" value="GRADLE" />
- <option name="scriptParameters" value="--quiet" />
- <option name="taskDescriptions">
- <list />
- </option>
- <option name="taskNames">
- <list>
- <option value=":bank:test" />
- <option value="--tests" />
- <option value=""LibeuFinApiTest.createAccountTest"" />
- </list>
- </option>
- <option name="vmOptions" />
- </ExternalSystemSettings>
-
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
-
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
- <DebugAllEnabled>false</DebugAllEnabled>
- <method v="2" />
- </configuration>
- <list>
- <item itemvalue="Gradle.JsonTest.unionTypeTest" />
- <item itemvalue="Gradle.CryptoUtilTest.passwordHashing" />
- <item itemvalue="Gradle.AmountTest.parseTalerAmountTest" />
- <item itemvalue="Gradle.JsonTest.deserializationTest" />
- <item itemvalue="Gradle.LibeuFinApiTest.createAccountTest" />
- </list>
- <recent_temporary>
- <list>
- <item itemvalue="Gradle.JsonTest.unionTypeTest" />
- <item itemvalue="Gradle.JsonTest.deserializationTest" />
- <item itemvalue="Gradle.LibeuFinApiTest.createAccountTest" />
- <item itemvalue="Gradle.CryptoUtilTest.passwordHashing" />
- <item itemvalue="Gradle.AmountTest.parseTalerAmountTest" />
- </list>
- </recent_temporary>
- </component>
- <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0"
CustomDictionaries="0" DefaultDictionary="application-level"
UseSingleDictionary="true" transferred="true" />
- <component name="TaskManager">
- <task active="true" id="Default" summary="Default task">
- <changelist id="9436eb1e-de48-4f11-8ff7-f359340cb458" name="Changes"
comment="" />
- <created>1694102242996</created>
- <option name="number" value="Default" />
- <option name="presentableId" value="Default" />
- <updated>1694102242996</updated>
- </task>
- <servers />
- </component>
- <component name="XSLT-Support.FileAssociations.UIState">
- <expand />
- <select />
- </component>
-</project>
\ No newline at end of file
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Database.kt
b/bank/src/main/kotlin/tech/libeufin/bank/Database.kt
index 1f676727..b58269da 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/Database.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/Database.kt
@@ -1,8 +1,26 @@
+/*
+ * This file is part of LibEuFin.
+ * Copyright (C) 2019 Stanisci and Dold.
+
+ * LibEuFin is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation; either version 3, or
+ * (at your option) any later version.
+
+ * LibEuFin is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General
+ * Public License for more details.
+
+ * You should have received a copy of the GNU Affero General Public
+ * License along with LibEuFin; see the file COPYING. If not, see
+ * <http://www.gnu.org/licenses/>
+ */
+
+
package tech.libeufin.bank
import org.postgresql.jdbc.PgConnection
-import tech.libeufin.util.internalServerError
-
import java.sql.DriverManager
import java.sql.PreparedStatement
import java.sql.SQLException
@@ -20,22 +38,31 @@ data class Customer(
val cashoutPayto: String? = null,
val cashoutCurrency: String? = null
)
-fun Customer.expectRowId(): Long = this.dbRowId ?: throw
internalServerError("Cutsomer '${this.login}' had no DB row ID")
+fun Customer.expectRowId(): Long = this.dbRowId ?: throw
internalServerError("Cutsomer '$login' had no DB row ID")
/**
* Represents a Taler amount. This type can be used both
* to hold database records and amounts coming from the parser.
+ * If maybeCurrency is null, then the constructor defaults it
+ * to be the "internal currency". Internal currency is the one
+ * with which Libeufin-Bank moves funds within itself, therefore
+ * not to be mistaken with the cashout currency, which is the one
+ * that gets credited to Libeufin-Bank users to their cashout_payto_uri.
+ *
+ * maybeCurrency is typically null when the TalerAmount object gets
+ * defined by the Database class.
*/
-data class TalerAmount(
+class TalerAmount(
val value: Long,
val frac: Int,
- /**
- * The currency is likely null when the object is defined
- * from database records. It is instead not null when the
- * object comes from the parsing of serialized amounts.
- */
- val currency: String? = null
-)
+ maybeCurrency: String? = null
+) {
+ val currency: String = if (maybeCurrency == null) {
+ val internalCurrency = db.configGet("internal_currency")
+ ?: throw internalServerError("internal_currency not found in the
config")
+ internalCurrency
+ } else maybeCurrency
+}
// BIC got removed, because it'll be expressed in the internal_payto_uri.
data class BankAccount(
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Helpers.kt
b/bank/src/main/kotlin/tech/libeufin/bank/Helpers.kt
index 22c8e824..53622098 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/Helpers.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/Helpers.kt
@@ -25,8 +25,6 @@ import java.lang.NumberFormatException
// HELPERS.
-
-
/**
* Performs the HTTP basic authentication. Returns the
* authenticated customer on success, or null otherwise.
@@ -155,6 +153,6 @@ fun parseTalerAmount(
return TalerAmount(
value = value,
frac = fraction,
- currency = match.destructured.component1()
+ maybeCurrency = match.destructured.component1()
)
}
\ No newline at end of file
diff --git a/bank/src/main/kotlin/tech/libeufin/bank/Main.kt
b/bank/src/main/kotlin/tech/libeufin/bank/Main.kt
index 7b62015a..9b5a9651 100644
--- a/bank/src/main/kotlin/tech/libeufin/bank/Main.kt
+++ b/bank/src/main/kotlin/tech/libeufin/bank/Main.kt
@@ -111,7 +111,7 @@ object RelativeTimeSerializer : KSerializer<RelativeTime> {
val json = try {
jsonInput.decodeJsonElement().jsonObject
} catch (e: Exception) {
- throw badRequest(e.message) // JSON was malformed.
+ throw badRequest("Did not find a RelativeTime JSON object:
${e.message}")
}
val maybeDUs = json["d_us"]?.jsonPrimitive ?: throw
badRequest("Relative time invalid: d_us field not found")
if (maybeDUs.isString) {
diff --git a/bank/src/test/kotlin/AmountTest.kt
b/bank/src/test/kotlin/AmountTest.kt
index bcf066b5..efdede5d 100644
--- a/bank/src/test/kotlin/AmountTest.kt
+++ b/bank/src/test/kotlin/AmountTest.kt
@@ -1,8 +1,39 @@
+/*
+ * This file is part of LibEuFin.
+ * Copyright (C) 2019 Stanisci and Dold.
+
+ * LibEuFin is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation; either version 3, or
+ * (at your option) any later version.
+
+ * LibEuFin is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General
+ * Public License for more details.
+
+ * You should have received a copy of the GNU Affero General Public
+ * License along with LibEuFin; see the file COPYING. If not, see
+ * <http://www.gnu.org/licenses/>
+ */
+
+
import org.junit.Test
import tech.libeufin.bank.FracDigits
+import tech.libeufin.bank.TalerAmount
import tech.libeufin.bank.parseTalerAmount
class AmountTest {
+ /* Testing that currency is fetched from the config
+ and set in the TalerAmount dedicated field. */
+ @Test
+ fun testAutoCurrency() {
+ val db = initDb()
+ db.configSet("internal_currency", "KUDOS")
+ val a = TalerAmount(1L, 0)
+ assert(a.currency == "KUDOS")
+ }
+
@Test
fun parseTalerAmountTest() {
val one = "EUR:1"
diff --git a/bank/src/test/kotlin/Common.kt b/bank/src/test/kotlin/Common.kt
new file mode 100644
index 00000000..e2b08e69
--- /dev/null
+++ b/bank/src/test/kotlin/Common.kt
@@ -0,0 +1,39 @@
+/*
+ * This file is part of LibEuFin.
+ * Copyright (C) 2019 Stanisci and Dold.
+
+ * LibEuFin is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation; either version 3, or
+ * (at your option) any later version.
+
+ * LibEuFin is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General
+ * Public License for more details.
+
+ * You should have received a copy of the GNU Affero General Public
+ * License along with LibEuFin; see the file COPYING. If not, see
+ * <http://www.gnu.org/licenses/>
+ */
+
+import tech.libeufin.bank.Database
+import tech.libeufin.util.execCommand
+
+fun initDb(): Database {
+ System.setProperty(
+ "BANK_DB_CONNECTION_STRING",
+ "jdbc:postgresql:///libeufincheck"
+ )
+ execCommand(
+ listOf(
+ "libeufin-bank-dbinit",
+ "-d",
+ "libeufincheck",
+ "-r"
+ ),
+ throwIfFails = true
+ )
+ val db = Database("jdbc:postgresql:///libeufincheck")
+ return db
+}
\ No newline at end of file
diff --git a/bank/src/test/kotlin/DatabaseTest.kt
b/bank/src/test/kotlin/DatabaseTest.kt
index 94f7aa67..05633562 100644
--- a/bank/src/test/kotlin/DatabaseTest.kt
+++ b/bank/src/test/kotlin/DatabaseTest.kt
@@ -1,3 +1,23 @@
+/*
+ * This file is part of LibEuFin.
+ * Copyright (C) 2019 Stanisci and Dold.
+
+ * LibEuFin is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation; either version 3, or
+ * (at your option) any later version.
+
+ * LibEuFin is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General
+ * Public License for more details.
+
+ * You should have received a copy of the GNU Affero General Public
+ * License along with LibEuFin; see the file COPYING. If not, see
+ * <http://www.gnu.org/licenses/>
+ */
+
+
import org.junit.Test
import tech.libeufin.bank.*
import tech.libeufin.util.execCommand
@@ -40,24 +60,6 @@ class DatabaseTest {
maxDebt = TalerAmount(10, 1)
)
- fun initDb(): Database {
- System.setProperty(
- "BANK_DB_CONNECTION_STRING",
- "jdbc:postgresql:///libeufincheck"
- )
- execCommand(
- listOf(
- "libeufin-bank-dbinit",
- "-d",
- "libeufincheck",
- "-r"
- ),
- throwIfFails = true
- )
- val db = Database("jdbc:postgresql:///libeufincheck")
- return db
- }
-
@Test
fun bearerTokenTest() {
val db = initDb()
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Anastasis.kt
b/nexus/src/main/kotlin/tech/libeufin/nexus/Anastasis.kt
index e85a0511..49e512fe 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Anastasis.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Anastasis.kt
@@ -1,7 +1,6 @@
package tech.libeufin.nexus
import TransactionDetails
-import io.ktor.client.*
import io.ktor.http.*
import org.jetbrains.exposed.sql.transactions.transaction
import tech.libeufin.nexus.server.PermissionQuery
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt
b/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt
index 47bb68b3..19113985 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt
@@ -44,9 +44,6 @@ import org.jetbrains.exposed.dao.id.IdTable
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.transactions.TransactionManager
import org.jetbrains.exposed.sql.transactions.transaction
-import tech.libeufin.nexus.bankaccount.addPaymentInitiation
-import tech.libeufin.nexus.bankaccount.fetchBankAccountTransactions
-import tech.libeufin.nexus.iso20022.*
import tech.libeufin.nexus.server.*
import tech.libeufin.nexus.xlibeufinbank.ingestXLibeufinBankMessage
import tech.libeufin.util.*
diff --git
a/nexus/src/main/kotlin/tech/libeufin/nexus/bankaccount/BankAccount.kt
b/nexus/src/main/kotlin/tech/libeufin/nexus/bankaccount/BankAccount.kt
index 5e398d7e..0be5f876 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/bankaccount/BankAccount.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/bankaccount/BankAccount.kt
@@ -24,7 +24,6 @@ import io.ktor.server.application.ApplicationCall
import io.ktor.client.HttpClient
import io.ktor.http.HttpStatusCode
import org.jetbrains.exposed.sql.*
-import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
import org.jetbrains.exposed.sql.transactions.transaction
import tech.libeufin.nexus.*
import tech.libeufin.nexus.iso20022.*
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsClient.kt
b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsClient.kt
index e2fe7264..d77a8b38 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsClient.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsClient.kt
@@ -31,7 +31,6 @@ import org.slf4j.Logger
import org.slf4j.LoggerFactory
import tech.libeufin.nexus.NexusError
import tech.libeufin.util.*
-import tech.libeufin.util.ebics_h005.Ebics3Request
import java.util.*
private val logger: Logger = LoggerFactory.getLogger("tech.libeufin.util")
diff --git a/util/src/main/kotlin/CamtJsonMapping.kt
b/util/src/main/kotlin/CamtJsonMapping.kt
index fcf992c5..689b459b 100644
--- a/util/src/main/kotlin/CamtJsonMapping.kt
+++ b/util/src/main/kotlin/CamtJsonMapping.kt
@@ -8,7 +8,6 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import com.fasterxml.jackson.databind.annotation.JsonSerialize
import com.fasterxml.jackson.databind.deser.std.StdDeserializer
import com.fasterxml.jackson.databind.ser.std.StdSerializer
-import org.jetbrains.exposed.sql.Transaction
import tech.libeufin.util.internalServerError
enum class CreditDebitIndicator {
diff --git a/util/src/main/kotlin/DB.kt b/util/src/main/kotlin/DB.kt
index 786e2e1e..667eb1ea 100644
--- a/util/src/main/kotlin/DB.kt
+++ b/util/src/main/kotlin/DB.kt
@@ -30,7 +30,6 @@ import
org.jetbrains.exposed.sql.transactions.TransactionManager
import org.jetbrains.exposed.sql.transactions.transaction
import org.postgresql.jdbc.PgConnection
import java.net.URI
-import kotlin.system.exitProcess
fun Transaction.isPostgres(): Boolean {
return this.db.vendor == "postgresql"
diff --git a/util/src/main/kotlin/HTTP.kt b/util/src/main/kotlin/HTTP.kt
index 0e4b05a9..a0aa6765 100644
--- a/util/src/main/kotlin/HTTP.kt
+++ b/util/src/main/kotlin/HTTP.kt
@@ -67,6 +67,7 @@ fun nullConfigValueError(
): Throwable {
return internalServerError("Configuration value for '$configKey' at
demobank '$demobankName' is null.")
}
+
fun internalServerError(
reason: String,
libeufinErrorCode: LibeufinErrorCode? = LibeufinErrorCode.LIBEUFIN_EC_NONE
--
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: TalerAmount defaults to the internal currency.,
gnunet <=