diff options
author | Antoine A <> | 2024-03-16 02:23:06 +0100 |
---|---|---|
committer | Antoine A <> | 2024-03-16 02:23:06 +0100 |
commit | e292fa357724df8695b6110eec6e4a60c7986363 (patch) | |
tree | 417196f539625eeb8b805f8b8d9dc0c5783caf97 /nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt | |
parent | e5e718622da88f8eff5474a3c7092ee51360977e (diff) | |
download | libeufin-e292fa357724df8695b6110eec6e4a60c7986363.tar.gz libeufin-e292fa357724df8695b6110eec6e4a60c7986363.tar.bz2 libeufin-e292fa357724df8695b6110eec6e4a60c7986363.zip |
Simplify error handling for microsecond overflows that never occur in practice
Diffstat (limited to 'nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt')
-rw-r--r-- | nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt index eba3c78a..162fddee 100644 --- a/nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt +++ b/nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt @@ -48,10 +48,7 @@ class InitiatedDAO(private val db: Database) { stmt.setInt(2, paymentData.amount.frac) stmt.setString(3, paymentData.wireTransferSubject) stmt.setString(4, paymentData.creditPaytoUri.toString()) - val initiationTime = paymentData.initiationTime.toDbMicros() ?: run { - throw Exception("Initiation time could not be converted to microseconds for the database.") - } - stmt.setLong(5, initiationTime) + stmt.setLong(5, paymentData.initiationTime.micros()) stmt.setString(6, paymentData.requestUid) if (stmt.executeUpdateViolation()) return@conn PaymentInitiationResult.SUCCESS @@ -73,7 +70,7 @@ class InitiatedDAO(private val db: Database) { ,submission_counter = submission_counter + 1 WHERE initiated_outgoing_transaction_id = ? """) - stmt.setLong(1, now.toDbMicros()!!) + stmt.setLong(1, now.micros()) stmt.setString(2, orderId) stmt.setLong(3, id) stmt.execute() @@ -93,7 +90,7 @@ class InitiatedDAO(private val db: Database) { ,submission_counter = submission_counter + 1 WHERE initiated_outgoing_transaction_id = ? """) - stmt.setLong(1, now.toDbMicros()!!) + stmt.setLong(1, now.micros()) stmt.setString(2, msg) stmt.setLong(3, id) stmt.execute() @@ -174,10 +171,7 @@ class InitiatedDAO(private val db: Database) { suspend fun submittable(currency: String): List<InitiatedPayment> = db.conn { conn -> fun extract(it: ResultSet): InitiatedPayment { val rowId = it.getLong("initiated_outgoing_transaction_id") - val initiationTime = it.getLong("initiation_time").microsToJavaInstant() - if (initiationTime == null) { // nexus fault - throw Exception("Found invalid timestamp at initiated payment with ID: $rowId") - } + val initiationTime = it.getLong("initiation_time").asInstant() return InitiatedPayment( id = it.getLong("initiated_outgoing_transaction_id"), amount = it.getAmount("amount", currency), |