Skip to content

Commit 28dbf0a

Browse files
chore(internal): codegen related update (#371)
1 parent 1253ecc commit 28dbf0a

35 files changed

Lines changed: 2580 additions & 3211 deletions

orb-java-core/src/main/kotlin/com/withorb/api/core/BaseDeserializer.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import com.fasterxml.jackson.databind.JsonMappingException
1111
import com.fasterxml.jackson.databind.JsonNode
1212
import com.fasterxml.jackson.databind.deser.ContextualDeserializer
1313
import com.fasterxml.jackson.databind.deser.std.StdDeserializer
14+
import com.withorb.api.errors.OrbInvalidDataException
1415
import kotlin.reflect.KClass
1516

1617
abstract class BaseDeserializer<T : Any>(type: KClass<T>) :
@@ -29,6 +30,13 @@ abstract class BaseDeserializer<T : Any>(type: KClass<T>) :
2930

3031
protected abstract fun ObjectCodec.deserialize(node: JsonNode): T
3132

33+
protected fun <T> ObjectCodec.deserialize(node: JsonNode, type: TypeReference<T>): T =
34+
try {
35+
readValue(treeAsTokens(node), type)
36+
} catch (e: Exception) {
37+
throw OrbInvalidDataException("Error deserializing", e)
38+
}
39+
3240
protected fun <T> ObjectCodec.tryDeserialize(
3341
node: JsonNode,
3442
type: TypeReference<T>,

orb-java-core/src/main/kotlin/com/withorb/api/models/Coupon.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -563,16 +563,16 @@ private constructor(
563563

564564
when (discountType) {
565565
"percentage" -> {
566-
tryDeserialize(node, jacksonTypeRef<PercentageDiscount>()) { it.validate() }
567-
?.let {
568-
return Discount(percentage = it, _json = json)
569-
}
566+
return Discount(
567+
percentage = deserialize(node, jacksonTypeRef<PercentageDiscount>()),
568+
_json = json,
569+
)
570570
}
571571
"amount" -> {
572-
tryDeserialize(node, jacksonTypeRef<AmountDiscount>()) { it.validate() }
573-
?.let {
574-
return Discount(amount = it, _json = json)
575-
}
572+
return Discount(
573+
amount = deserialize(node, jacksonTypeRef<AmountDiscount>()),
574+
_json = json,
575+
)
576576
}
577577
}
578578

orb-java-core/src/main/kotlin/com/withorb/api/models/CouponCreateParams.kt

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -875,20 +875,18 @@ private constructor(
875875

876876
when (discountType) {
877877
"percentage" -> {
878-
tryDeserialize(node, jacksonTypeRef<NewCouponPercentageDiscount>()) {
879-
it.validate()
880-
}
881-
?.let {
882-
return Discount(newCouponPercentage = it, _json = json)
883-
}
878+
return Discount(
879+
newCouponPercentage =
880+
deserialize(node, jacksonTypeRef<NewCouponPercentageDiscount>()),
881+
_json = json,
882+
)
884883
}
885884
"amount" -> {
886-
tryDeserialize(node, jacksonTypeRef<NewCouponAmountDiscount>()) {
887-
it.validate()
888-
}
889-
?.let {
890-
return Discount(newCouponAmount = it, _json = json)
891-
}
885+
return Discount(
886+
newCouponAmount =
887+
deserialize(node, jacksonTypeRef<NewCouponAmountDiscount>()),
888+
_json = json,
889+
)
892890
}
893891
}
894892

orb-java-core/src/main/kotlin/com/withorb/api/models/CustomerCreateParams.kt

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4016,20 +4016,17 @@ private constructor(
40164016

40174017
when (taxProvider) {
40184018
"avalara" -> {
4019-
tryDeserialize(node, jacksonTypeRef<NewAvalaraTaxConfiguration>()) {
4020-
it.validate()
4021-
}
4022-
?.let {
4023-
return TaxConfiguration(newAvalara = it, _json = json)
4024-
}
4019+
return TaxConfiguration(
4020+
newAvalara =
4021+
deserialize(node, jacksonTypeRef<NewAvalaraTaxConfiguration>()),
4022+
_json = json,
4023+
)
40254024
}
40264025
"taxjar" -> {
4027-
tryDeserialize(node, jacksonTypeRef<NewTaxJarConfiguration>()) {
4028-
it.validate()
4029-
}
4030-
?.let {
4031-
return TaxConfiguration(newTaxJar = it, _json = json)
4032-
}
4026+
return TaxConfiguration(
4027+
newTaxJar = deserialize(node, jacksonTypeRef<NewTaxJarConfiguration>()),
4028+
_json = json,
4029+
)
40334030
}
40344031
}
40354032

orb-java-core/src/main/kotlin/com/withorb/api/models/CustomerCreditLedgerCreateEntryByExternalIdParams.kt

Lines changed: 42 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -724,74 +724,56 @@ private constructor(
724724

725725
when (entryType) {
726726
"increment" -> {
727-
tryDeserialize(
728-
node,
729-
jacksonTypeRef<AddIncrementCreditLedgerEntryRequestParams>(),
730-
) {
731-
it.validate()
732-
}
733-
?.let {
734-
return Body(
735-
addIncrementCreditLedgerEntryRequestParams = it,
736-
_json = json,
737-
)
738-
}
727+
return Body(
728+
addIncrementCreditLedgerEntryRequestParams =
729+
deserialize(
730+
node,
731+
jacksonTypeRef<AddIncrementCreditLedgerEntryRequestParams>(),
732+
),
733+
_json = json,
734+
)
739735
}
740736
"decrement" -> {
741-
tryDeserialize(
742-
node,
743-
jacksonTypeRef<AddDecrementCreditLedgerEntryRequestParams>(),
744-
) {
745-
it.validate()
746-
}
747-
?.let {
748-
return Body(
749-
addDecrementCreditLedgerEntryRequestParams = it,
750-
_json = json,
751-
)
752-
}
737+
return Body(
738+
addDecrementCreditLedgerEntryRequestParams =
739+
deserialize(
740+
node,
741+
jacksonTypeRef<AddDecrementCreditLedgerEntryRequestParams>(),
742+
),
743+
_json = json,
744+
)
753745
}
754746
"expiration_change" -> {
755-
tryDeserialize(
756-
node,
757-
jacksonTypeRef<AddExpirationChangeCreditLedgerEntryRequestParams>(),
758-
) {
759-
it.validate()
760-
}
761-
?.let {
762-
return Body(
763-
addExpirationChangeCreditLedgerEntryRequestParams = it,
764-
_json = json,
765-
)
766-
}
747+
return Body(
748+
addExpirationChangeCreditLedgerEntryRequestParams =
749+
deserialize(
750+
node,
751+
jacksonTypeRef<
752+
AddExpirationChangeCreditLedgerEntryRequestParams
753+
>(),
754+
),
755+
_json = json,
756+
)
767757
}
768758
"void" -> {
769-
tryDeserialize(
770-
node,
771-
jacksonTypeRef<AddVoidCreditLedgerEntryRequestParams>(),
772-
) {
773-
it.validate()
774-
}
775-
?.let {
776-
return Body(
777-
addVoidCreditLedgerEntryRequestParams = it,
778-
_json = json,
779-
)
780-
}
759+
return Body(
760+
addVoidCreditLedgerEntryRequestParams =
761+
deserialize(
762+
node,
763+
jacksonTypeRef<AddVoidCreditLedgerEntryRequestParams>(),
764+
),
765+
_json = json,
766+
)
781767
}
782768
"amendment" -> {
783-
tryDeserialize(
784-
node,
785-
jacksonTypeRef<AddAmendmentCreditLedgerEntryRequestParams>(),
786-
) {
787-
it.validate()
788-
}
789-
?.let {
790-
return Body(
791-
addAmendmentCreditLedgerEntryRequestParams = it,
792-
_json = json,
793-
)
794-
}
769+
return Body(
770+
addAmendmentCreditLedgerEntryRequestParams =
771+
deserialize(
772+
node,
773+
jacksonTypeRef<AddAmendmentCreditLedgerEntryRequestParams>(),
774+
),
775+
_json = json,
776+
)
795777
}
796778
}
797779

orb-java-core/src/main/kotlin/com/withorb/api/models/CustomerCreditLedgerCreateEntryByExternalIdResponse.kt

Lines changed: 34 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -302,73 +302,52 @@ private constructor(
302302

303303
when (entryType) {
304304
"increment" -> {
305-
tryDeserialize(node, jacksonTypeRef<IncrementLedgerEntry>()) { it.validate() }
306-
?.let {
307-
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
308-
incrementLedgerEntry = it,
309-
_json = json,
310-
)
311-
}
305+
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
306+
incrementLedgerEntry =
307+
deserialize(node, jacksonTypeRef<IncrementLedgerEntry>()),
308+
_json = json,
309+
)
312310
}
313311
"decrement" -> {
314-
tryDeserialize(node, jacksonTypeRef<DecrementLedgerEntry>()) { it.validate() }
315-
?.let {
316-
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
317-
decrementLedgerEntry = it,
318-
_json = json,
319-
)
320-
}
312+
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
313+
decrementLedgerEntry =
314+
deserialize(node, jacksonTypeRef<DecrementLedgerEntry>()),
315+
_json = json,
316+
)
321317
}
322318
"expiration_change" -> {
323-
tryDeserialize(node, jacksonTypeRef<ExpirationChangeLedgerEntry>()) {
324-
it.validate()
325-
}
326-
?.let {
327-
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
328-
expirationChangeLedgerEntry = it,
329-
_json = json,
330-
)
331-
}
319+
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
320+
expirationChangeLedgerEntry =
321+
deserialize(node, jacksonTypeRef<ExpirationChangeLedgerEntry>()),
322+
_json = json,
323+
)
332324
}
333325
"credit_block_expiry" -> {
334-
tryDeserialize(node, jacksonTypeRef<CreditBlockExpiryLedgerEntry>()) {
335-
it.validate()
336-
}
337-
?.let {
338-
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
339-
creditBlockExpiryLedgerEntry = it,
340-
_json = json,
341-
)
342-
}
326+
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
327+
creditBlockExpiryLedgerEntry =
328+
deserialize(node, jacksonTypeRef<CreditBlockExpiryLedgerEntry>()),
329+
_json = json,
330+
)
343331
}
344332
"void" -> {
345-
tryDeserialize(node, jacksonTypeRef<VoidLedgerEntry>()) { it.validate() }
346-
?.let {
347-
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
348-
voidLedgerEntry = it,
349-
_json = json,
350-
)
351-
}
333+
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
334+
voidLedgerEntry = deserialize(node, jacksonTypeRef<VoidLedgerEntry>()),
335+
_json = json,
336+
)
352337
}
353338
"void_initiated" -> {
354-
tryDeserialize(node, jacksonTypeRef<VoidInitiatedLedgerEntry>()) {
355-
it.validate()
356-
}
357-
?.let {
358-
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
359-
voidInitiatedLedgerEntry = it,
360-
_json = json,
361-
)
362-
}
339+
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
340+
voidInitiatedLedgerEntry =
341+
deserialize(node, jacksonTypeRef<VoidInitiatedLedgerEntry>()),
342+
_json = json,
343+
)
363344
}
364345
"amendment" -> {
365-
tryDeserialize(node, jacksonTypeRef<AmendmentLedgerEntry>()) { it.validate() }
366-
?.let {
367-
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
368-
amendmentLedgerEntry = it,
369-
_json = json,
370-
)
371-
}
346+
return CustomerCreditLedgerCreateEntryByExternalIdResponse(
347+
amendmentLedgerEntry =
348+
deserialize(node, jacksonTypeRef<AmendmentLedgerEntry>()),
349+
_json = json,
350+
)
372351
}
373352
}
374353

0 commit comments

Comments
 (0)