Skip to content

Commit a72fda4

Browse files
authored
added params to filter list func (unit-finance#139)
1 parent 7e3cad1 commit a72fda4

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed

unit/models/account.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,12 +219,16 @@ def __repr__(self):
219219

220220
class ListAccountParams(UnitParams):
221221
def __init__(self, offset: int = 0, limit: int = 100, customer_id: Optional[str] = None,
222-
tags: Optional[object] = None, include: Optional[str] = None):
222+
tags: Optional[object] = None, include: Optional[str] = None, status: Optional[AccountStatus] = None,
223+
from_balance: Optional[int] = None, to_balance: Optional[int] = None):
223224
self.offset = offset
224225
self.limit = limit
225226
self.customer_id = customer_id
226227
self.tags = tags
227228
self.include = include
229+
self.status = status
230+
self.from_balance = from_balance
231+
self.to_balance = to_balance
228232

229233
def to_dict(self) -> Dict:
230234
parameters = {"page[limit]": self.limit, "page[offset]": self.offset}
@@ -234,4 +238,10 @@ def to_dict(self) -> Dict:
234238
parameters["filter[tags]"] = self.tags
235239
if self.include:
236240
parameters["include"] = self.include
241+
if self.status:
242+
parameters["filter[status]"] = self.status
243+
if self.from_balance:
244+
parameters["filter[fromBalance]"] = self.from_balance
245+
if self.to_balance:
246+
parameters["filter[toBalance]"] = self.to_balance
237247
return parameters

unit/models/card.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,13 +450,17 @@ def from_json_api(attributes):
450450

451451
class ListCardParams(UnitParams):
452452
def __init__(self, offset: int = 0, limit: int = 100, account_id: Optional[str] = None,
453-
customer_id: Optional[str] = None, tags: Optional[object] = None, include: Optional[str] = None):
453+
customer_id: Optional[str] = None, tags: Optional[object] = None, include: Optional[str] = None,
454+
sort: Optional[Literal["createdAt", "-createdAt"]] = None,
455+
status: Optional[List[CardStatus]] = None):
454456
self.offset = offset
455457
self.limit = limit
456458
self.account_id = account_id
457459
self.customer_id = customer_id
458460
self.tags = tags
459461
self.include = include
462+
self.sort = sort
463+
self.status = status
460464

461465
def to_dict(self) -> Dict:
462466
parameters = {"page[limit]": self.limit, "page[offset]": self.offset}
@@ -468,5 +472,10 @@ def to_dict(self) -> Dict:
468472
parameters["filter[tags]"] = self.tags
469473
if self.include:
470474
parameters["include"] = self.include
475+
if self.sort:
476+
parameters["sort"] = self.sort
477+
if self.status:
478+
for idx, status_filter in enumerate(self.status):
479+
parameters[f"filter[status][{idx}]"] = status_filter
471480
return parameters
472481

unit/models/statement.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,23 @@ def __init__(self, statement_id: str, output_type: Optional[OutputType] = "html"
2727

2828
class ListStatementParams(UnitParams):
2929
def __init__(self, limit: int = 100, offset: int = 0, customer_id: Optional[str] = None,
30-
account_id: Optional[str] = None, sort: Optional[Literal["period", "-period"]] = None):
30+
account_id: Optional[str] = None, sort: Optional[Literal["period", "-period"]] = None,
31+
period: Optional[str] = None):
3132
self.limit = limit
3233
self.offset = offset
3334
self.customer_id = customer_id
3435
self.account_id = account_id
3536
self.sort = sort
37+
self.period = period
3638

3739
def to_dict(self) -> Dict:
3840
parameters = {"page[limit]": self.limit, "page[offset]": self.offset}
3941
if self.customer_id:
4042
parameters["filter[customerId]"] = self.customer_id
4143
if self.account_id:
4244
parameters["filter[accountId]"] = self.account_id
45+
if self.period:
46+
parameters["filter[period]"] = self.period
4347
if self.sort:
4448
parameters["sort"] = self.sort
4549
return parameters

0 commit comments

Comments
 (0)