23 lines
538 B
Python
23 lines
538 B
Python
from core.models.invoice import PaymentMethod
|
|
from dataclasses import dataclass
|
|
from datetime import datetime
|
|
|
|
|
|
@dataclass
|
|
class Invoice:
|
|
billing_code: str
|
|
status: str
|
|
expires_at: datetime
|
|
payment_methods: tuple[PaymentMethod]
|
|
|
|
def is_new(self):
|
|
return self.status == 'new'
|
|
|
|
def is_rejected(self):
|
|
return self.status == 'invalid' or self.status == 'expired'
|
|
|
|
def is_processing(self):
|
|
return self.status == 'processing'
|
|
|
|
def is_settled(self):
|
|
return self.status == 'settled'
|