Skip to content

Commit 3d061fc

Browse files
feat(api): add Management Operations and Loan Tapes API (#317)
- add business account token to list API’s - add additional reporting to account statements
1 parent 6c272d2 commit 3d061fc

60 files changed

Lines changed: 9047 additions & 678 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
configured_endpoints: 147
1+
configured_endpoints: 153

lithic-java-core/src/main/kotlin/com/lithic/api/client/LithicClient.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ interface LithicClient {
6262

6363
fun externalPayments(): ExternalPaymentService
6464

65+
fun managementOperations(): ManagementOperationService
66+
6567
/** Status of api */
6668
@JvmOverloads
6769
fun apiStatus(

lithic-java-core/src/main/kotlin/com/lithic/api/client/LithicClientAsync.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ interface LithicClientAsync {
6363

6464
fun externalPayments(): ExternalPaymentServiceAsync
6565

66+
fun managementOperations(): ManagementOperationServiceAsync
67+
6668
/** Status of api */
6769
@JvmOverloads
6870
fun apiStatus(

lithic-java-core/src/main/kotlin/com/lithic/api/client/LithicClientAsyncImpl.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ constructor(
102102
ExternalPaymentServiceAsyncImpl(clientOptions)
103103
}
104104

105+
private val managementOperations: ManagementOperationServiceAsync by lazy {
106+
ManagementOperationServiceAsyncImpl(clientOptions)
107+
}
108+
105109
override fun sync(): LithicClient = sync
106110

107111
override fun accounts(): AccountServiceAsync = accounts
@@ -155,6 +159,8 @@ constructor(
155159

156160
override fun externalPayments(): ExternalPaymentServiceAsync = externalPayments
157161

162+
override fun managementOperations(): ManagementOperationServiceAsync = managementOperations
163+
158164
private val apiStatusHandler: Handler<ApiStatus> =
159165
jsonHandler<ApiStatus>(clientOptions.jsonMapper).withErrorHandler(errorHandler)
160166

lithic-java-core/src/main/kotlin/com/lithic/api/client/LithicClientImpl.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ constructor(
9797
ExternalPaymentServiceImpl(clientOptions)
9898
}
9999

100+
private val managementOperations: ManagementOperationService by lazy {
101+
ManagementOperationServiceImpl(clientOptions)
102+
}
103+
100104
override fun async(): LithicClientAsync = async
101105

102106
override fun accounts(): AccountService = accounts
@@ -149,6 +153,8 @@ constructor(
149153

150154
override fun externalPayments(): ExternalPaymentService = externalPayments
151155

156+
override fun managementOperations(): ManagementOperationService = managementOperations
157+
152158
private val apiStatusHandler: Handler<ApiStatus> =
153159
jsonHandler<ApiStatus>(clientOptions.jsonMapper).withErrorHandler(errorHandler)
154160

lithic-java-core/src/main/kotlin/com/lithic/api/models/BookTransferListParams.kt

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ import java.util.Optional
1717

1818
class BookTransferListParams
1919
constructor(
20+
private val accountToken: String?,
2021
private val begin: OffsetDateTime?,
22+
private val businessAccountToken: String?,
2123
private val category: Category?,
2224
private val end: OffsetDateTime?,
2325
private val endingBefore: String?,
@@ -30,8 +32,12 @@ constructor(
3032
private val additionalHeaders: Map<String, List<String>>,
3133
) {
3234

35+
fun accountToken(): Optional<String> = Optional.ofNullable(accountToken)
36+
3337
fun begin(): Optional<OffsetDateTime> = Optional.ofNullable(begin)
3438

39+
fun businessAccountToken(): Optional<String> = Optional.ofNullable(businessAccountToken)
40+
3541
fun category(): Optional<Category> = Optional.ofNullable(category)
3642

3743
fun end(): Optional<OffsetDateTime> = Optional.ofNullable(end)
@@ -51,9 +57,13 @@ constructor(
5157
@JvmSynthetic
5258
internal fun getQueryParams(): Map<String, List<String>> {
5359
val params = mutableMapOf<String, List<String>>()
60+
this.accountToken?.let { params.put("account_token", listOf(it.toString())) }
5461
this.begin?.let {
5562
params.put("begin", listOf(DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(it)))
5663
}
64+
this.businessAccountToken?.let {
65+
params.put("business_account_token", listOf(it.toString()))
66+
}
5767
this.category?.let { params.put("category", listOf(it.toString())) }
5868
this.end?.let {
5969
params.put("end", listOf(DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(it)))
@@ -82,7 +92,9 @@ constructor(
8292
}
8393

8494
return other is BookTransferListParams &&
95+
this.accountToken == other.accountToken &&
8596
this.begin == other.begin &&
97+
this.businessAccountToken == other.businessAccountToken &&
8698
this.category == other.category &&
8799
this.end == other.end &&
88100
this.endingBefore == other.endingBefore &&
@@ -97,7 +109,9 @@ constructor(
97109

98110
override fun hashCode(): Int {
99111
return Objects.hash(
112+
accountToken,
100113
begin,
114+
businessAccountToken,
101115
category,
102116
end,
103117
endingBefore,
@@ -112,7 +126,7 @@ constructor(
112126
}
113127

114128
override fun toString() =
115-
"BookTransferListParams{begin=$begin, category=$category, end=$end, endingBefore=$endingBefore, financialAccountToken=$financialAccountToken, pageSize=$pageSize, result=$result, startingAfter=$startingAfter, status=$status, additionalQueryParams=$additionalQueryParams, additionalHeaders=$additionalHeaders}"
129+
"BookTransferListParams{accountToken=$accountToken, begin=$begin, businessAccountToken=$businessAccountToken, category=$category, end=$end, endingBefore=$endingBefore, financialAccountToken=$financialAccountToken, pageSize=$pageSize, result=$result, startingAfter=$startingAfter, status=$status, additionalQueryParams=$additionalQueryParams, additionalHeaders=$additionalHeaders}"
116130

117131
fun toBuilder() = Builder().from(this)
118132

@@ -124,7 +138,9 @@ constructor(
124138
@NoAutoDetect
125139
class Builder {
126140

141+
private var accountToken: String? = null
127142
private var begin: OffsetDateTime? = null
143+
private var businessAccountToken: String? = null
128144
private var category: Category? = null
129145
private var end: OffsetDateTime? = null
130146
private var endingBefore: String? = null
@@ -138,7 +154,9 @@ constructor(
138154

139155
@JvmSynthetic
140156
internal fun from(bookTransferListParams: BookTransferListParams) = apply {
157+
this.accountToken = bookTransferListParams.accountToken
141158
this.begin = bookTransferListParams.begin
159+
this.businessAccountToken = bookTransferListParams.businessAccountToken
142160
this.category = bookTransferListParams.category
143161
this.end = bookTransferListParams.end
144162
this.endingBefore = bookTransferListParams.endingBefore
@@ -151,12 +169,18 @@ constructor(
151169
additionalHeaders(bookTransferListParams.additionalHeaders)
152170
}
153171

172+
fun accountToken(accountToken: String) = apply { this.accountToken = accountToken }
173+
154174
/**
155175
* Date string in RFC 3339 format. Only entries created after the specified time will be
156176
* included. UTC time zone.
157177
*/
158178
fun begin(begin: OffsetDateTime) = apply { this.begin = begin }
159179

180+
fun businessAccountToken(businessAccountToken: String) = apply {
181+
this.businessAccountToken = businessAccountToken
182+
}
183+
160184
/** Book Transfer category to be returned. */
161185
fun category(category: Category) = apply { this.category = category }
162186

@@ -237,7 +261,9 @@ constructor(
237261

238262
fun build(): BookTransferListParams =
239263
BookTransferListParams(
264+
accountToken,
240265
begin,
266+
businessAccountToken,
241267
category,
242268
end,
243269
endingBefore,

lithic-java-core/src/main/kotlin/com/lithic/api/models/Event.kt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,18 @@ private constructor(
400400
@JvmField
401401
val FINANCIAL_ACCOUNT_UPDATED = EventType(JsonField.of("financial_account.updated"))
402402

403+
@JvmField val LOAN_TAPE_CREATED = EventType(JsonField.of("loan_tape.created"))
404+
405+
@JvmField val LOAN_TAPE_UPDATED = EventType(JsonField.of("loan_tape.updated"))
406+
407+
@JvmField
408+
val MANAGEMENT_OPERATION_CREATED =
409+
EventType(JsonField.of("management_operation.created"))
410+
411+
@JvmField
412+
val MANAGEMENT_OPERATION_UPDATED =
413+
EventType(JsonField.of("management_operation.updated"))
414+
403415
@JvmField
404416
val PAYMENT_TRANSACTION_CREATED = EventType(JsonField.of("payment_transaction.created"))
405417

@@ -463,6 +475,10 @@ private constructor(
463475
EXTERNAL_PAYMENT_UPDATED,
464476
FINANCIAL_ACCOUNT_CREATED,
465477
FINANCIAL_ACCOUNT_UPDATED,
478+
LOAN_TAPE_CREATED,
479+
LOAN_TAPE_UPDATED,
480+
MANAGEMENT_OPERATION_CREATED,
481+
MANAGEMENT_OPERATION_UPDATED,
466482
PAYMENT_TRANSACTION_CREATED,
467483
PAYMENT_TRANSACTION_UPDATED,
468484
SETTLEMENT_REPORT_UPDATED,
@@ -501,6 +517,10 @@ private constructor(
501517
EXTERNAL_PAYMENT_UPDATED,
502518
FINANCIAL_ACCOUNT_CREATED,
503519
FINANCIAL_ACCOUNT_UPDATED,
520+
LOAN_TAPE_CREATED,
521+
LOAN_TAPE_UPDATED,
522+
MANAGEMENT_OPERATION_CREATED,
523+
MANAGEMENT_OPERATION_UPDATED,
504524
PAYMENT_TRANSACTION_CREATED,
505525
PAYMENT_TRANSACTION_UPDATED,
506526
SETTLEMENT_REPORT_UPDATED,
@@ -544,6 +564,10 @@ private constructor(
544564
EXTERNAL_PAYMENT_UPDATED -> Value.EXTERNAL_PAYMENT_UPDATED
545565
FINANCIAL_ACCOUNT_CREATED -> Value.FINANCIAL_ACCOUNT_CREATED
546566
FINANCIAL_ACCOUNT_UPDATED -> Value.FINANCIAL_ACCOUNT_UPDATED
567+
LOAN_TAPE_CREATED -> Value.LOAN_TAPE_CREATED
568+
LOAN_TAPE_UPDATED -> Value.LOAN_TAPE_UPDATED
569+
MANAGEMENT_OPERATION_CREATED -> Value.MANAGEMENT_OPERATION_CREATED
570+
MANAGEMENT_OPERATION_UPDATED -> Value.MANAGEMENT_OPERATION_UPDATED
547571
PAYMENT_TRANSACTION_CREATED -> Value.PAYMENT_TRANSACTION_CREATED
548572
PAYMENT_TRANSACTION_UPDATED -> Value.PAYMENT_TRANSACTION_UPDATED
549573
SETTLEMENT_REPORT_UPDATED -> Value.SETTLEMENT_REPORT_UPDATED
@@ -589,6 +613,10 @@ private constructor(
589613
EXTERNAL_PAYMENT_UPDATED -> Known.EXTERNAL_PAYMENT_UPDATED
590614
FINANCIAL_ACCOUNT_CREATED -> Known.FINANCIAL_ACCOUNT_CREATED
591615
FINANCIAL_ACCOUNT_UPDATED -> Known.FINANCIAL_ACCOUNT_UPDATED
616+
LOAN_TAPE_CREATED -> Known.LOAN_TAPE_CREATED
617+
LOAN_TAPE_UPDATED -> Known.LOAN_TAPE_UPDATED
618+
MANAGEMENT_OPERATION_CREATED -> Known.MANAGEMENT_OPERATION_CREATED
619+
MANAGEMENT_OPERATION_UPDATED -> Known.MANAGEMENT_OPERATION_UPDATED
592620
PAYMENT_TRANSACTION_CREATED -> Known.PAYMENT_TRANSACTION_CREATED
593621
PAYMENT_TRANSACTION_UPDATED -> Known.PAYMENT_TRANSACTION_UPDATED
594622
SETTLEMENT_REPORT_UPDATED -> Known.SETTLEMENT_REPORT_UPDATED

lithic-java-core/src/main/kotlin/com/lithic/api/models/EventListParams.kt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,18 @@ constructor(
326326
@JvmField
327327
val FINANCIAL_ACCOUNT_UPDATED = EventType(JsonField.of("financial_account.updated"))
328328

329+
@JvmField val LOAN_TAPE_CREATED = EventType(JsonField.of("loan_tape.created"))
330+
331+
@JvmField val LOAN_TAPE_UPDATED = EventType(JsonField.of("loan_tape.updated"))
332+
333+
@JvmField
334+
val MANAGEMENT_OPERATION_CREATED =
335+
EventType(JsonField.of("management_operation.created"))
336+
337+
@JvmField
338+
val MANAGEMENT_OPERATION_UPDATED =
339+
EventType(JsonField.of("management_operation.updated"))
340+
329341
@JvmField
330342
val PAYMENT_TRANSACTION_CREATED = EventType(JsonField.of("payment_transaction.created"))
331343

@@ -389,6 +401,10 @@ constructor(
389401
EXTERNAL_PAYMENT_UPDATED,
390402
FINANCIAL_ACCOUNT_CREATED,
391403
FINANCIAL_ACCOUNT_UPDATED,
404+
LOAN_TAPE_CREATED,
405+
LOAN_TAPE_UPDATED,
406+
MANAGEMENT_OPERATION_CREATED,
407+
MANAGEMENT_OPERATION_UPDATED,
392408
PAYMENT_TRANSACTION_CREATED,
393409
PAYMENT_TRANSACTION_UPDATED,
394410
SETTLEMENT_REPORT_UPDATED,
@@ -427,6 +443,10 @@ constructor(
427443
EXTERNAL_PAYMENT_UPDATED,
428444
FINANCIAL_ACCOUNT_CREATED,
429445
FINANCIAL_ACCOUNT_UPDATED,
446+
LOAN_TAPE_CREATED,
447+
LOAN_TAPE_UPDATED,
448+
MANAGEMENT_OPERATION_CREATED,
449+
MANAGEMENT_OPERATION_UPDATED,
430450
PAYMENT_TRANSACTION_CREATED,
431451
PAYMENT_TRANSACTION_UPDATED,
432452
SETTLEMENT_REPORT_UPDATED,
@@ -470,6 +490,10 @@ constructor(
470490
EXTERNAL_PAYMENT_UPDATED -> Value.EXTERNAL_PAYMENT_UPDATED
471491
FINANCIAL_ACCOUNT_CREATED -> Value.FINANCIAL_ACCOUNT_CREATED
472492
FINANCIAL_ACCOUNT_UPDATED -> Value.FINANCIAL_ACCOUNT_UPDATED
493+
LOAN_TAPE_CREATED -> Value.LOAN_TAPE_CREATED
494+
LOAN_TAPE_UPDATED -> Value.LOAN_TAPE_UPDATED
495+
MANAGEMENT_OPERATION_CREATED -> Value.MANAGEMENT_OPERATION_CREATED
496+
MANAGEMENT_OPERATION_UPDATED -> Value.MANAGEMENT_OPERATION_UPDATED
473497
PAYMENT_TRANSACTION_CREATED -> Value.PAYMENT_TRANSACTION_CREATED
474498
PAYMENT_TRANSACTION_UPDATED -> Value.PAYMENT_TRANSACTION_UPDATED
475499
SETTLEMENT_REPORT_UPDATED -> Value.SETTLEMENT_REPORT_UPDATED
@@ -515,6 +539,10 @@ constructor(
515539
EXTERNAL_PAYMENT_UPDATED -> Known.EXTERNAL_PAYMENT_UPDATED
516540
FINANCIAL_ACCOUNT_CREATED -> Known.FINANCIAL_ACCOUNT_CREATED
517541
FINANCIAL_ACCOUNT_UPDATED -> Known.FINANCIAL_ACCOUNT_UPDATED
542+
LOAN_TAPE_CREATED -> Known.LOAN_TAPE_CREATED
543+
LOAN_TAPE_UPDATED -> Known.LOAN_TAPE_UPDATED
544+
MANAGEMENT_OPERATION_CREATED -> Known.MANAGEMENT_OPERATION_CREATED
545+
MANAGEMENT_OPERATION_UPDATED -> Known.MANAGEMENT_OPERATION_UPDATED
518546
PAYMENT_TRANSACTION_CREATED -> Known.PAYMENT_TRANSACTION_CREATED
519547
PAYMENT_TRANSACTION_UPDATED -> Known.PAYMENT_TRANSACTION_UPDATED
520548
SETTLEMENT_REPORT_UPDATED -> Known.SETTLEMENT_REPORT_UPDATED

lithic-java-core/src/main/kotlin/com/lithic/api/models/EventSubscription.kt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,18 @@ private constructor(
298298
@JvmField
299299
val FINANCIAL_ACCOUNT_UPDATED = EventType(JsonField.of("financial_account.updated"))
300300

301+
@JvmField val LOAN_TAPE_CREATED = EventType(JsonField.of("loan_tape.created"))
302+
303+
@JvmField val LOAN_TAPE_UPDATED = EventType(JsonField.of("loan_tape.updated"))
304+
305+
@JvmField
306+
val MANAGEMENT_OPERATION_CREATED =
307+
EventType(JsonField.of("management_operation.created"))
308+
309+
@JvmField
310+
val MANAGEMENT_OPERATION_UPDATED =
311+
EventType(JsonField.of("management_operation.updated"))
312+
301313
@JvmField
302314
val PAYMENT_TRANSACTION_CREATED = EventType(JsonField.of("payment_transaction.created"))
303315

@@ -361,6 +373,10 @@ private constructor(
361373
EXTERNAL_PAYMENT_UPDATED,
362374
FINANCIAL_ACCOUNT_CREATED,
363375
FINANCIAL_ACCOUNT_UPDATED,
376+
LOAN_TAPE_CREATED,
377+
LOAN_TAPE_UPDATED,
378+
MANAGEMENT_OPERATION_CREATED,
379+
MANAGEMENT_OPERATION_UPDATED,
364380
PAYMENT_TRANSACTION_CREATED,
365381
PAYMENT_TRANSACTION_UPDATED,
366382
SETTLEMENT_REPORT_UPDATED,
@@ -399,6 +415,10 @@ private constructor(
399415
EXTERNAL_PAYMENT_UPDATED,
400416
FINANCIAL_ACCOUNT_CREATED,
401417
FINANCIAL_ACCOUNT_UPDATED,
418+
LOAN_TAPE_CREATED,
419+
LOAN_TAPE_UPDATED,
420+
MANAGEMENT_OPERATION_CREATED,
421+
MANAGEMENT_OPERATION_UPDATED,
402422
PAYMENT_TRANSACTION_CREATED,
403423
PAYMENT_TRANSACTION_UPDATED,
404424
SETTLEMENT_REPORT_UPDATED,
@@ -442,6 +462,10 @@ private constructor(
442462
EXTERNAL_PAYMENT_UPDATED -> Value.EXTERNAL_PAYMENT_UPDATED
443463
FINANCIAL_ACCOUNT_CREATED -> Value.FINANCIAL_ACCOUNT_CREATED
444464
FINANCIAL_ACCOUNT_UPDATED -> Value.FINANCIAL_ACCOUNT_UPDATED
465+
LOAN_TAPE_CREATED -> Value.LOAN_TAPE_CREATED
466+
LOAN_TAPE_UPDATED -> Value.LOAN_TAPE_UPDATED
467+
MANAGEMENT_OPERATION_CREATED -> Value.MANAGEMENT_OPERATION_CREATED
468+
MANAGEMENT_OPERATION_UPDATED -> Value.MANAGEMENT_OPERATION_UPDATED
445469
PAYMENT_TRANSACTION_CREATED -> Value.PAYMENT_TRANSACTION_CREATED
446470
PAYMENT_TRANSACTION_UPDATED -> Value.PAYMENT_TRANSACTION_UPDATED
447471
SETTLEMENT_REPORT_UPDATED -> Value.SETTLEMENT_REPORT_UPDATED
@@ -487,6 +511,10 @@ private constructor(
487511
EXTERNAL_PAYMENT_UPDATED -> Known.EXTERNAL_PAYMENT_UPDATED
488512
FINANCIAL_ACCOUNT_CREATED -> Known.FINANCIAL_ACCOUNT_CREATED
489513
FINANCIAL_ACCOUNT_UPDATED -> Known.FINANCIAL_ACCOUNT_UPDATED
514+
LOAN_TAPE_CREATED -> Known.LOAN_TAPE_CREATED
515+
LOAN_TAPE_UPDATED -> Known.LOAN_TAPE_UPDATED
516+
MANAGEMENT_OPERATION_CREATED -> Known.MANAGEMENT_OPERATION_CREATED
517+
MANAGEMENT_OPERATION_UPDATED -> Known.MANAGEMENT_OPERATION_UPDATED
490518
PAYMENT_TRANSACTION_CREATED -> Known.PAYMENT_TRANSACTION_CREATED
491519
PAYMENT_TRANSACTION_UPDATED -> Known.PAYMENT_TRANSACTION_UPDATED
492520
SETTLEMENT_REPORT_UPDATED -> Known.SETTLEMENT_REPORT_UPDATED

0 commit comments

Comments
 (0)