Skip to content

Commit 7b52388

Browse files
feat(api): add StatementListParams property include_initial_statements (#276)
1 parent a3dfa1c commit 7b52388

2 files changed

Lines changed: 22 additions & 1 deletion

File tree

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

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ constructor(
1616
private val begin: LocalDate?,
1717
private val end: LocalDate?,
1818
private val endingBefore: String?,
19+
private val includeInitialStatements: Boolean?,
1920
private val pageSize: Long?,
2021
private val startingAfter: String?,
2122
private val additionalQueryParams: Map<String, List<String>>,
@@ -31,6 +32,9 @@ constructor(
3132

3233
fun endingBefore(): Optional<String> = Optional.ofNullable(endingBefore)
3334

35+
fun includeInitialStatements(): Optional<Boolean> =
36+
Optional.ofNullable(includeInitialStatements)
37+
3438
fun pageSize(): Optional<Long> = Optional.ofNullable(pageSize)
3539

3640
fun startingAfter(): Optional<String> = Optional.ofNullable(startingAfter)
@@ -41,6 +45,9 @@ constructor(
4145
this.begin?.let { params.put("begin", listOf(it.toString())) }
4246
this.end?.let { params.put("end", listOf(it.toString())) }
4347
this.endingBefore?.let { params.put("ending_before", listOf(it.toString())) }
48+
this.includeInitialStatements?.let {
49+
params.put("include_initial_statements", listOf(it.toString()))
50+
}
4451
this.pageSize?.let { params.put("page_size", listOf(it.toString())) }
4552
this.startingAfter?.let { params.put("starting_after", listOf(it.toString())) }
4653
params.putAll(additionalQueryParams)
@@ -72,6 +79,7 @@ constructor(
7279
this.begin == other.begin &&
7380
this.end == other.end &&
7481
this.endingBefore == other.endingBefore &&
82+
this.includeInitialStatements == other.includeInitialStatements &&
7583
this.pageSize == other.pageSize &&
7684
this.startingAfter == other.startingAfter &&
7785
this.additionalQueryParams == other.additionalQueryParams &&
@@ -85,6 +93,7 @@ constructor(
8593
begin,
8694
end,
8795
endingBefore,
96+
includeInitialStatements,
8897
pageSize,
8998
startingAfter,
9099
additionalQueryParams,
@@ -94,7 +103,7 @@ constructor(
94103
}
95104

96105
override fun toString() =
97-
"FinancialAccountStatementListParams{financialAccountToken=$financialAccountToken, begin=$begin, end=$end, endingBefore=$endingBefore, pageSize=$pageSize, startingAfter=$startingAfter, additionalQueryParams=$additionalQueryParams, additionalHeaders=$additionalHeaders, additionalBodyProperties=$additionalBodyProperties}"
106+
"FinancialAccountStatementListParams{financialAccountToken=$financialAccountToken, begin=$begin, end=$end, endingBefore=$endingBefore, includeInitialStatements=$includeInitialStatements, pageSize=$pageSize, startingAfter=$startingAfter, additionalQueryParams=$additionalQueryParams, additionalHeaders=$additionalHeaders, additionalBodyProperties=$additionalBodyProperties}"
98107

99108
fun toBuilder() = Builder().from(this)
100109

@@ -110,6 +119,7 @@ constructor(
110119
private var begin: LocalDate? = null
111120
private var end: LocalDate? = null
112121
private var endingBefore: String? = null
122+
private var includeInitialStatements: Boolean? = null
113123
private var pageSize: Long? = null
114124
private var startingAfter: String? = null
115125
private var additionalQueryParams: MutableMap<String, MutableList<String>> = mutableMapOf()
@@ -124,6 +134,8 @@ constructor(
124134
this.begin = financialAccountStatementListParams.begin
125135
this.end = financialAccountStatementListParams.end
126136
this.endingBefore = financialAccountStatementListParams.endingBefore
137+
this.includeInitialStatements =
138+
financialAccountStatementListParams.includeInitialStatements
127139
this.pageSize = financialAccountStatementListParams.pageSize
128140
this.startingAfter = financialAccountStatementListParams.startingAfter
129141
additionalQueryParams(financialAccountStatementListParams.additionalQueryParams)
@@ -154,6 +166,11 @@ constructor(
154166
*/
155167
fun endingBefore(endingBefore: String) = apply { this.endingBefore = endingBefore }
156168

169+
/** Whether to include the initial statement. It is not included by default. */
170+
fun includeInitialStatements(includeInitialStatements: Boolean) = apply {
171+
this.includeInitialStatements = includeInitialStatements
172+
}
173+
157174
/** Page size (for pagination). */
158175
fun pageSize(pageSize: Long) = apply { this.pageSize = pageSize }
159176

@@ -225,6 +242,7 @@ constructor(
225242
begin,
226243
end,
227244
endingBefore,
245+
includeInitialStatements,
228246
pageSize,
229247
startingAfter,
230248
additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(),

lithic-java-core/src/test/kotlin/com/lithic/api/models/FinancialAccountStatementListParamsTest.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class FinancialAccountStatementListParamsTest {
1616
.begin(LocalDate.parse("2019-12-27"))
1717
.end(LocalDate.parse("2019-12-27"))
1818
.endingBefore("ending_before")
19+
.includeInitialStatements(true)
1920
.pageSize(100L)
2021
.startingAfter("starting_after")
2122
.build()
@@ -29,13 +30,15 @@ class FinancialAccountStatementListParamsTest {
2930
.begin(LocalDate.parse("2019-12-27"))
3031
.end(LocalDate.parse("2019-12-27"))
3132
.endingBefore("ending_before")
33+
.includeInitialStatements(true)
3234
.pageSize(100L)
3335
.startingAfter("starting_after")
3436
.build()
3537
val expected = mutableMapOf<String, List<String>>()
3638
expected.put("begin", listOf("2019-12-27"))
3739
expected.put("end", listOf("2019-12-27"))
3840
expected.put("ending_before", listOf("ending_before"))
41+
expected.put("include_initial_statements", listOf("true"))
3942
expected.put("page_size", listOf("100"))
4043
expected.put("starting_after", listOf("starting_after"))
4144
assertThat(params.getQueryParams()).isEqualTo(expected)

0 commit comments

Comments
 (0)