@@ -8,6 +8,7 @@ import com.withorb.api.core.JsonField
88import com.withorb.api.core.Params
99import com.withorb.api.core.http.Headers
1010import com.withorb.api.core.http.QueryParams
11+ import com.withorb.api.core.toImmutable
1112import com.withorb.api.errors.OrbInvalidDataException
1213import java.time.LocalDate
1314import java.time.OffsetDateTime
@@ -52,7 +53,7 @@ private constructor(
5253 private val invoiceDateLte: OffsetDateTime ? ,
5354 private val isRecurring: Boolean? ,
5455 private val limit: Long? ,
55- private val status: Status ? ,
56+ private val status: List < Status > ? ,
5657 private val subscriptionId: String? ,
5758 private val additionalHeaders: Headers ,
5859 private val additionalQueryParams: QueryParams ,
@@ -102,7 +103,7 @@ private constructor(
102103 /* * The number of items to fetch. Defaults to 20. */
103104 fun limit (): Optional <Long > = Optional .ofNullable(limit)
104105
105- fun status (): Optional <Status > = Optional .ofNullable(status)
106+ fun status (): Optional <List < Status > > = Optional .ofNullable(status)
106107
107108 fun subscriptionId (): Optional <String > = Optional .ofNullable(subscriptionId)
108109
@@ -142,7 +143,7 @@ private constructor(
142143 private var invoiceDateLte: OffsetDateTime ? = null
143144 private var isRecurring: Boolean? = null
144145 private var limit: Long? = null
145- private var status: Status ? = null
146+ private var status: MutableList < Status > ? = null
146147 private var subscriptionId: String? = null
147148 private var additionalHeaders: Headers .Builder = Headers .builder()
148149 private var additionalQueryParams: QueryParams .Builder = QueryParams .builder()
@@ -166,7 +167,7 @@ private constructor(
166167 invoiceDateLte = invoiceListSummaryParams.invoiceDateLte
167168 isRecurring = invoiceListSummaryParams.isRecurring
168169 limit = invoiceListSummaryParams.limit
169- status = invoiceListSummaryParams.status
170+ status = invoiceListSummaryParams.status?.toMutableList()
170171 subscriptionId = invoiceListSummaryParams.subscriptionId
171172 additionalHeaders = invoiceListSummaryParams.additionalHeaders.toBuilder()
172173 additionalQueryParams = invoiceListSummaryParams.additionalQueryParams.toBuilder()
@@ -299,10 +300,19 @@ private constructor(
299300 /* * Alias for calling [Builder.limit] with `limit.orElse(null)`. */
300301 fun limit (limit : Optional <Long >) = limit(limit.getOrNull())
301302
302- fun status (status : Status ? ) = apply { this .status = status }
303+ fun status (status : List < Status > ? ) = apply { this .status = status?.toMutableList() }
303304
304305 /* * Alias for calling [Builder.status] with `status.orElse(null)`. */
305- fun status (status : Optional <Status >) = status(status.getOrNull())
306+ fun status (status : Optional <List <Status >>) = status(status.getOrNull())
307+
308+ /* *
309+ * Adds a single [Status] to [Builder.status].
310+ *
311+ * @throws IllegalStateException if the field was previously set to a non-list.
312+ */
313+ fun addStatus (status : Status ) = apply {
314+ this .status = (this .status ? : mutableListOf ()).apply { add(status) }
315+ }
306316
307317 fun subscriptionId (subscriptionId : String? ) = apply { this .subscriptionId = subscriptionId }
308318
@@ -432,7 +442,7 @@ private constructor(
432442 invoiceDateLte,
433443 isRecurring,
434444 limit,
435- status,
445+ status?.toImmutable() ,
436446 subscriptionId,
437447 additionalHeaders.build(),
438448 additionalQueryParams.build(),
@@ -469,7 +479,7 @@ private constructor(
469479 }
470480 isRecurring?.let { put(" is_recurring" , it.toString()) }
471481 limit?.let { put(" limit" , it.toString()) }
472- status?.let { put(" status" , it.toString()) }
482+ status?.forEach { put(" status[] " , it.toString()) }
473483 subscriptionId?.let { put(" subscription_id" , it) }
474484 putAll(additionalQueryParams)
475485 }
0 commit comments