Skip to content

Commit b7eb1b6

Browse files
authored
Merge pull request #33 from saltanovas/TS-611/fix-typo
TS-611: Fix typo. Introduce a fallback enum constant
2 parents 1b2fc4b + e0149c5 commit b7eb1b6

17 files changed

+145
-16
lines changed
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
package eu.kevin.api.models
22

3+
import eu.kevin.api.serializers.enums.ErrorCodeSerializer
34
import kotlinx.serialization.SerialName
45
import kotlinx.serialization.Serializable
56

6-
@Serializable
7+
@Serializable(with = ErrorCodeSerializer::class)
78
enum class ErrorCode(val code: Int) {
89
@SerialName("10000") SYSTEM_ERROR(10000),
910
@SerialName("20017") INSUFFICIENT_FUNDS(20017),
1011
@SerialName("20022") CREDITOR_ACCOUNT_NUMBER_INVALID_OR_MISSING(20022),
1112
@SerialName("20023") THE_ACCOUNT_NUMBER_AND_THE_NAME_DO_NOT_COINCIDE(20023),
1213
@SerialName("20024") TRANSACTION_CURRENCY_IS_INVALID_OR_MISSING(20024),
1314
@SerialName("20029") REMITTANCE_INFORMATION_IS_NOT_VALID(20029),
14-
@SerialName("20032") AUTHORIZATION_HEADER_IS_MISSING_OR_INVALID(20032)
15+
@SerialName("20032") AUTHORIZATION_HEADER_IS_MISSING_OR_INVALID(20032),
16+
UNKNOWN_VALUE(-1);
1517
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package eu.kevin.api.models.account.balance.response
22

3+
import eu.kevin.api.serializers.enums.AccountBalanceTypeSerializer
34
import kotlinx.serialization.SerialName
45
import kotlinx.serialization.Serializable
56

6-
@Serializable
7+
@Serializable(with = AccountBalanceTypeSerializer::class)
78
enum class AccountBalanceType {
89
@SerialName("closingBooked") CLOSING_BOOKED,
910
@SerialName("expected") EXPECTED,
@@ -12,5 +13,6 @@ enum class AccountBalanceType {
1213
@SerialName("interimAvailable") INTERIM_AVAILABLE,
1314
@SerialName("interimBooked") INTERIM_BOOKED,
1415
@SerialName("forwardAvailable") FORWARD_AVAILABLE,
15-
@SerialName("nonInvoiced") NON_INVOICED
16+
@SerialName("nonInvoiced") NON_INVOICED,
17+
UNKNOWN_VALUE;
1618
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package eu.kevin.api.models.general.bank
22

3+
import eu.kevin.api.serializers.enums.ScaApproachTypeSerializer
34
import kotlinx.serialization.SerialName
45
import kotlinx.serialization.Serializable
56

6-
@Serializable
7+
@Serializable(with = ScaApproachTypeSerializer::class)
78
enum class ScaApproachType {
89
@SerialName("REDIRECT") REDIRECT,
910
@SerialName("DECOUPLED") DECOUPLED,
10-
@SerialName("EMBEDDED") EMBEDDED
11+
@SerialName("EMBEDDED") EMBEDDED,
12+
UNKNOWN_VALUE;
1113
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package eu.kevin.api.models.general.projectSettings
22

3+
import eu.kevin.api.serializers.enums.ForceRedirectToBankModeSerializer
34
import kotlinx.serialization.SerialName
45
import kotlinx.serialization.Serializable
56

6-
@Serializable
7+
@Serializable(with = ForceRedirectToBankModeSerializer::class)
78
enum class ForceRedirectToBankMode {
89
@SerialName("soft") SOFT,
910
@SerialName("hard") HARD,
10-
@SerialName("none") NONE
11+
@SerialName("none") NONE,
12+
UNKNOWN_VALUE;
1113
}

src/main/kotlin/eu/kevin/api/models/payment/BankStatus.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package eu.kevin.api.models.payment
22

3+
import eu.kevin.api.serializers.enums.BankStatusSerializer
34
import kotlinx.serialization.SerialName
45
import kotlinx.serialization.Serializable
56

6-
@Serializable
7+
@Serializable(with = BankStatusSerializer::class)
78
enum class BankStatus(val value: String) {
89
@SerialName("STRD") STARTED("STRD"),
910
@SerialName("ACCC") ACCEPTED_SETTLEMENT_COMPLETED_CREDITOR("ACCC"),
@@ -19,4 +20,5 @@ enum class BankStatus(val value: String) {
1920
@SerialName("CANC") CANCELLED("CANC"),
2021
@SerialName("ACFC") ACCEPTED_FUNDS_CHECKED("ACFC"),
2122
@SerialName("PATC") PARTIALLY_ACCEPTED_TECHNICAL("PATC"),
23+
UNKNOWN_VALUE("UNKNOWN");
2224
}

src/main/kotlin/eu/kevin/api/models/payment/CardStatus.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
package eu.kevin.api.models.payment
22

3+
import eu.kevin.api.serializers.enums.CardStatusSerializer
34
import kotlinx.serialization.SerialName
45
import kotlinx.serialization.Serializable
56

6-
@Serializable
7+
@Serializable(with = CardStatusSerializer::class)
78
enum class CardStatus {
89
@SerialName("started") STARTED,
910
@SerialName("issued") ISSUED,
1011
@SerialName("paid") PAID,
1112
@SerialName("payment_success") PAYMENT_SUCCESS,
1213
@SerialName("payment_failure") PAYMENT_FAILURE,
1314
@SerialName("hold") HOLD,
14-
@SerialName("canceled") CANCELED,
15+
@SerialName("cancelled") CANCELLED,
1516
@SerialName("in_progress") IN_PROGRESS,
1617
@SerialName("invoice_viewed") INVOICE_VIEWED,
1718
@SerialName("invoice_refunded") INVOICE_REFUNDED,
@@ -29,9 +30,13 @@ enum class CardStatus {
2930
@SerialName("chargeback") CHARGEBACK,
3031
@SerialName("representation") REPRESENTATION,
3132
@SerialName("retrieval") RETRIEVAL,
32-
@SerialName("prearbitrationgood_faith") PREARBITRATIONGOOD_FAITH,
33+
@SerialName("prearbitration") PREARBITRATION,
3334
@SerialName("good_faith") GOOD_FAITH,
3435
@SerialName("fraud_advice") FRAUD_ADVICE,
3536
@SerialName("failed") FAILED,
36-
@SerialName("refund_forbidden") REFUND_FORBIDDEN
37+
@SerialName("refund_forbidden") REFUND_FORBIDDEN,
38+
@SerialName("completed") COMPLETED,
39+
@SerialName("partially_refunded") PARTIALLY_REFUNDED,
40+
@SerialName("refunded") REFUNDED,
41+
UNKNOWN_VALUE;
3742
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package eu.kevin.api.models.payment
22

3+
import eu.kevin.api.serializers.enums.HybridStatusSerializer
34
import kotlinx.serialization.SerialName
45
import kotlinx.serialization.Serializable
56

6-
@Serializable
7+
@Serializable(with = HybridStatusSerializer::class)
78
enum class HybridStatus {
89
@SerialName("created") CREATED,
9-
@SerialName("canceled") CANCELED,
10+
@SerialName("cancelled") CANCELLED,
1011
@SerialName("expired") EXPIRED,
12+
UNKNOWN_VALUE;
1113
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package eu.kevin.api.models.payment
22

3+
import eu.kevin.api.serializers.enums.StatusGroupSerializer
34
import kotlinx.serialization.SerialName
45
import kotlinx.serialization.Serializable
56

6-
@Serializable
7+
@Serializable(with = StatusGroupSerializer::class)
78
enum class StatusGroup {
89
@SerialName("started") STARTED,
910
@SerialName("pending") PENDING,
1011
@SerialName("completed") COMPLETED,
1112
@SerialName("failed") FAILED,
13+
UNKNOWN_VALUE;
1214
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package eu.kevin.api.serializers.enums
2+
3+
import eu.kevin.api.models.account.balance.response.AccountBalanceType
4+
5+
object AccountBalanceTypeSerializer :
6+
EnumIgnoreUnknownSerializer<AccountBalanceType>(
7+
values = AccountBalanceType.values(),
8+
defaultValue = AccountBalanceType.UNKNOWN_VALUE
9+
)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package eu.kevin.api.serializers.enums
2+
3+
import eu.kevin.api.models.payment.BankStatus
4+
5+
object BankStatusSerializer :
6+
EnumIgnoreUnknownSerializer<BankStatus>(
7+
BankStatus.values(),
8+
BankStatus.UNKNOWN_VALUE
9+
)

0 commit comments

Comments
 (0)