diff --git a/src/taxgovme.py b/src/taxgovme.py index 2fe47d7..325a8cd 100644 --- a/src/taxgovme.py +++ b/src/taxgovme.py @@ -41,6 +41,10 @@ class Invoice(BaseModel): def rounding_errors(self) -> Decimal: return self.total_price - sum(i.total_price for i in self.items) +def invoice_factory(doc: dict) -> Invoice: + inv = Invoice.model_validate(doc) + inv.items.sort(key=lambda item: item.total_price, reverse=True) + return inv def query_verify_invoice(iic, dateTimeCreated, tin) -> dict: r = requests.post( @@ -73,7 +77,4 @@ def query_verify_invoice_by_url(url) -> dict: def invoice_by_url(url: str) -> Invoice: invoice_dict = query_verify_invoice_by_url(url) - inv = Invoice.model_validate(invoice_dict) - inv.items.sort(key=lambda item: item.total_price, reverse=True) - - return inv \ No newline at end of file + return invoice_factory(invoice_dict)