Skip to content

Commit 95aeefe

Browse files
authored
Merge pull request #44 from MazumaGo/eng-1158-close-account-transactions
ENG-1158: close account transaction dtos
2 parents fe9abfe + d07d041 commit 95aeefe

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

unit/models/codecs.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,12 @@
364364
"dispute.statusChanged": lambda _id, _type, attributes, relationships:
365365
DisputeStatusChangedEvent.from_json_api(_id, _type, attributes, relationships),
366366

367+
"accountLowBalanceClosureTransaction": lambda _id, _type, attributes, relationships:
368+
AccountLowBalanceClosureTransactionDTO.from_json_api(_id, _type, attributes, relationships),
369+
370+
"negativeBalanceCoverageTransaction": lambda _id, _type, attributes, relationships:
371+
NegativeBalanceCoverageTransactionDTO.from_json_api(_id, _type, attributes, relationships),
372+
367373
}
368374

369375

unit/models/transaction.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,14 +438,37 @@ def from_json_api(_id, _type, attributes, relationships):
438438
attributes["amount"], attributes["balance"], attributes["summary"],
439439
attributes.get("tags"), relationships)
440440

441+
class AccountLowBalanceClosureTransactionDTO(BaseTransactionDTO):
442+
def __init__(self, id: str, created_at: datetime, amount: int, direction: str,
443+
balance: int, summary: str, tags: Optional[Dict[str, str]], relationships: Optional[Dict[str, Relationship]]):
444+
BaseTransactionDTO.__init__(self, id, created_at, direction, amount, balance, summary, tags, relationships)
445+
self.type = 'accountLowBalanceClosureTransaction'
446+
447+
@staticmethod
448+
def from_json_api(_id, _type, attributes, relationships):
449+
return AccountLowBalanceClosureTransactionDTO(
450+
_id, date_utils.to_datetime(attributes["createdAt"]),
451+
attributes["amount"], attributes["direction"], attributes["balance"], attributes["summary"], attributes.get("tags"), relationships)
452+
453+
class NegativeBalanceCoverageTransactionDTO(BaseTransactionDTO):
454+
def __init__(self, id: str, created_at: datetime, amount: int, direction: str,
455+
balance: int, summary: str, tags: Optional[Dict[str, str]], relationships: Optional[Dict[str, Relationship]]):
456+
BaseTransactionDTO.__init__(self, id, created_at, direction, amount, balance, summary, tags, relationships)
457+
self.type = 'negativeBalanceCoverageTransaction'
458+
459+
@staticmethod
460+
def from_json_api(_id, _type, attributes, relationships):
461+
return NegativeBalanceCoverageTransactionDTO(
462+
_id, date_utils.to_datetime(attributes["createdAt"]), attributes["amount"], attributes["direction"], attributes["balance"], attributes["summary"], attributes.get("tags"), relationships)
463+
441464
TransactionDTO = Union[OriginatedAchTransactionDTO, ReceivedAchTransactionDTO, ReturnedAchTransactionDTO,
442465
ReturnedReceivedAchTransactionDTO, DishonoredAchTransactionDTO, BookTransactionDTO,
443466
PurchaseTransactionDTO, AtmTransactionDTO, FeeTransactionDTO, CardTransactionDTO,
444467
CardReversalTransactionDTO, WireTransactionDTO, ReleaseTransactionDTO, AdjustmentTransactionDTO,
445468
InterestTransactionDTO, DisputeTransactionDTO, CheckDepositTransactionDTO,
446469
ReturnedCheckDepositTransactionDTO, CheckPaymentTransactionDTO,
447470
ReturnedCheckPaymentTransactionDTO, PaymentAdvanceTransactionDTO,
448-
RepaidPaymentAdvanceTransactionDTO]
471+
RepaidPaymentAdvanceTransactionDTO, AccountLowBalanceClosureTransactionDTO, NegativeBalanceCoverageTransactionDTO]
449472

450473

451474
class PatchTransactionRequest(BaseTransactionDTO, UnitRequest):

0 commit comments

Comments
 (0)