One_Piece_Bounty_Bot / src /model /IncomeTaxEvent.py
github-actions[bot]
Automated sync from GitHub
71e71e8
Raw
History Blame Contribute Delete
2 kB
from peewee import *
from src.model.BaseModel import BaseModel
from src.model.User import User
from src.model.enums.income_tax.IncomeTaxBreakdown import IncomeTaxBreakdown
from src.model.enums.income_tax.IncomeTaxContribution import IncomeTaxContribution
from src.model.enums.income_tax.IncomeTaxDeduction import IncomeTaxDeduction
from src.model.enums.income_tax.IncomeTaxEventType import IncomeTaxEventType
class IncomeTaxEvent(BaseModel):
"""
IncomeTaxEvent class
"""
user = ForeignKeyField(User, backref="income_tax_events")
event_id = IntegerField()
event_type = CharField()
starting_amount = BigIntegerField()
amount = BigIntegerField()
breakdown_list = TextField()
deduction_list = TextField()
contribution_list = TextField()
class Meta:
db_table = "income_tax_event"
def get_tax_deduction_list(self) -> list[IncomeTaxDeduction]:
"""
Get the tax deduction list
:return: The tax deduction list
"""
return IncomeTaxDeduction.from_string(str(self.deduction_list))
def get_tax_breakdown_list(self) -> list[IncomeTaxBreakdown]:
"""
Get the tax breakdown list
:return: The tax breakdown list
"""
return IncomeTaxBreakdown.from_string(str(self.breakdown_list))
def get_tax_contribution_list(self) -> list[IncomeTaxContribution]:
"""
Get the tax contribution list
:return: The tax contribution list
"""
return IncomeTaxContribution.from_string(str(self.contribution_list))
def get_event_type(self) -> IncomeTaxEventType:
"""
Get the event type
:return: The event type
"""
return IncomeTaxEventType(self.event_type)
def get_event_type_description(self) -> str:
"""
Get the event type description
:return: The event type description
"""
return self.get_event_type().get_description()
IncomeTaxEvent.create_table()