Skip to content

Commit

Permalink
Merge pull request #23 from arpandaze/account-type
Browse files Browse the repository at this point in the history
fix: account type id parameter added
  • Loading branch information
arpandaze authored Dec 23, 2024
2 parents 7628608 + 088cec0 commit 6bd4b1b
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions nepseutils/core/account.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ class Account:
branch_id: Optional[str] = None
customer_id: Optional[str] = None
bank_id: Optional[str] = None
account_type_id: Optional[str] = None

auth_token: Optional[str] = None

Expand All @@ -54,6 +55,7 @@ def __init__(
branch_id: Optional[str] = None,
customer_id: Optional[str] = None,
bank_id: Optional[str] = None,
account_type_id: Optional[str] = None,
portfolio: Optional[Portfolio] = None,
issues: Optional[List[Issue]] = None,
tag: Optional[str] = None,
Expand Down Expand Up @@ -206,7 +208,7 @@ def get_details(self) -> dict:

self.bank_id = bank_req[0].get("id")

if (not self.branch_id) or (not self.customer_id):
if (not self.branch_id) or (not self.customer_id) or (not self.account_type_id):
bank_specific_req = sess.get(
f"{MS_API_BASE}/meroShare/bank/{self.bank_id}"
)
Expand All @@ -219,14 +221,17 @@ def get_details(self) -> dict:
f"Failed to get bank specific details for user: {self.name}!"
)

bank_specific_response_json = bank_specific_req.json()
bank_specific_response_json = bank_specific_req.json()[0]

if not self.branch_id:
self.branch_id = bank_specific_response_json.get("accountBranchId")

if not self.customer_id:
self.customer_id = bank_specific_response_json.get("id")

if not self.account_type_id:
self.account_type_id = bank_specific_response_json.get("accountTypeId")

return {
"dmat": self.dmat,
"name": self.name,
Expand Down Expand Up @@ -761,8 +766,10 @@ def apply(self, share_id: int, quantity: int) -> dict:
and self.crn
and self.pin
and self.bank_id
and self.account_type_id
):
self.get_details()
self.save()

assert share_id and quantity, "Share ID and quantity must be provided!"

Expand Down Expand Up @@ -808,6 +815,7 @@ def apply(self, share_id: int, quantity: int) -> dict:
"accountNumber": self.account,
"customerId": self.customer_id,
"accountBranchId": self.branch_id,
"accountTypeId": self.account_type_id,
"appliedKitta": str(quantity),
"crnNumber": self.crn,
"transactionPIN": self.pin,
Expand Down Expand Up @@ -848,6 +856,7 @@ def to_json(self):
"branch_id": self.branch_id,
"customer_id": self.customer_id,
"bank_id": self.bank_id,
"account_type_id": self.account_type_id,
"portfolio": self.portfolio.to_json(),
"issues": [issue.to_json() for issue in self.issues or []],
"tag": self.tag,
Expand All @@ -869,6 +878,7 @@ def from_json(json: dict, save: Callable = lambda: None):
branch_id=json.get("branch_id"),
customer_id=json.get("customer_id"),
bank_id=json.get("bank_id"),
account_type_id=json.get("account_type_id"),
portfolio=Portfolio.from_json(json.get("portfolio") or {}),
issues=[Issue.from_json(issue) for issue in json.get("issues") or []],
tag=json.get("tag"),
Expand Down

0 comments on commit 6bd4b1b

Please sign in to comment.