Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
added params to filter list func
  • Loading branch information
axshani committed Jul 25, 2022
commit 6102abfdce70aa719e1ff2ebc262d6acaac3ddf2
12 changes: 11 additions & 1 deletion unit/models/account.py
Original file line number Diff line number Diff line change
Expand Up @@ -219,12 +219,16 @@ def __repr__(self):

class ListAccountParams(UnitParams):
def __init__(self, offset: int = 0, limit: int = 100, customer_id: Optional[str] = None,
tags: Optional[object] = None, include: Optional[str] = None):
tags: Optional[object] = None, include: Optional[str] = None, status: Optional[AccountStatus] = None,
from_balance: Optional[int] = None, to_balance: Optional[int] = None):
self.offset = offset
self.limit = limit
self.customer_id = customer_id
self.tags = tags
self.include = include
self.status = status
self.from_balance = from_balance
self.to_balance = to_balance

def to_dict(self) -> Dict:
parameters = {"page[limit]": self.limit, "page[offset]": self.offset}
Expand All @@ -234,4 +238,10 @@ def to_dict(self) -> Dict:
parameters["filter[tags]"] = self.tags
if self.include:
parameters["include"] = self.include
if self.status:
parameters["filter[status]"] = self.status
if self.from_balance:
parameters["filter[fromBalance]"] = self.from_balance
if self.to_balance:
parameters["filter[toBalance]"] = self.to_balance
return parameters
11 changes: 10 additions & 1 deletion unit/models/card.py
Original file line number Diff line number Diff line change
Expand Up @@ -450,13 +450,17 @@ def from_json_api(attributes):

class ListCardParams(UnitParams):
def __init__(self, offset: int = 0, limit: int = 100, account_id: Optional[str] = None,
customer_id: Optional[str] = None, tags: Optional[object] = None, include: Optional[str] = None):
customer_id: Optional[str] = None, tags: Optional[object] = None, include: Optional[str] = None,
sort: Optional[Literal["createdAt", "-createdAt"]] = None,
status: Optional[List[CardStatus]] = None):
self.offset = offset
self.limit = limit
self.account_id = account_id
self.customer_id = customer_id
self.tags = tags
self.include = include
self.sort = sort
self.status = status

def to_dict(self) -> Dict:
parameters = {"page[limit]": self.limit, "page[offset]": self.offset}
Expand All @@ -468,5 +472,10 @@ def to_dict(self) -> Dict:
parameters["filter[tags]"] = self.tags
if self.include:
parameters["include"] = self.include
if self.sort:
parameters["sort"] = self.sort
if self.status:
for idx, status_filter in enumerate(self.status):
parameters[f"filter[status][{idx}]"] = status_filter
return parameters

6 changes: 5 additions & 1 deletion unit/models/statement.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,23 @@ def __init__(self, statement_id: str, output_type: Optional[OutputType] = "html"

class ListStatementParams(UnitParams):
def __init__(self, limit: int = 100, offset: int = 0, customer_id: Optional[str] = None,
account_id: Optional[str] = None, sort: Optional[Literal["period", "-period"]] = None):
account_id: Optional[str] = None, sort: Optional[Literal["period", "-period"]] = None,
period: Optional[str] = None):
self.limit = limit
self.offset = offset
self.customer_id = customer_id
self.account_id = account_id
self.sort = sort
self.period = period

def to_dict(self) -> Dict:
parameters = {"page[limit]": self.limit, "page[offset]": self.offset}
if self.customer_id:
parameters["filter[customerId]"] = self.customer_id
if self.account_id:
parameters["filter[accountId]"] = self.account_id
if self.period:
parameters["filter[period]"] = self.period
if self.sort:
parameters["sort"] = self.sort
return parameters
Expand Down