|
from typing import Any
|
|
|
|
from sqlalchemy import Column, ForeignKey, Integer, String, UniqueConstraint
|
|
from sqlalchemy.dialects.postgresql import BIT
|
|
|
|
|
|
from app.utils.utility import to_dict
|
|
from sqlalchemy.orm import declarative_base
|
|
|
|
Base = declarative_base()
|
|
|
|
class UserEmploymentAndIncome(Base):
|
|
__tablename__ = "UserEmploymentAndIncomes"
|
|
|
|
userEmploymentAndIncomeId = Column(Integer, primary_key=True)
|
|
employmentTypeId = Column(Integer, ForeignKey("EmploymentTypes.employmentTypeId"))
|
|
employerName = Column(String)
|
|
designation = Column(String)
|
|
employerAddress = Column(String)
|
|
stateId = Column(Integer)
|
|
cityId = Column(Integer)
|
|
stateName = Column(String)
|
|
stateId = Column(Integer, ForeignKey("States.stateId"))
|
|
cityName = Column(String)
|
|
companyEmail = Column(String)
|
|
employerExperienceYears = Column(Integer)
|
|
employerExperienceMonths = Column(Integer)
|
|
employerWorkYears = Column(Integer)
|
|
LOBWorkYears = Column(Integer)
|
|
LOBWorkMonths = Column(Integer)
|
|
baseIncome = Column(Integer)
|
|
OTIncome = Column(Integer)
|
|
bonusIncome = Column(Integer)
|
|
otherIncome = Column(Integer)
|
|
employedByOtherParty = Column(BIT)
|
|
selfEmployed = Column(BIT)
|
|
presentEmployerLessThanTwoYears = Column(BIT)
|
|
previousEmployerName = Column(String)
|
|
previousEmployerDesignation = Column(String)
|
|
previousEmployerAddress = Column(String)
|
|
previousEmployerStateId = Column(Integer)
|
|
previousEmployerCityId = Column(Integer)
|
|
previousEmployerStateName = Column(String)
|
|
previousEmployerStateId = Column(Integer, ForeignKey("States.stateId"))
|
|
previousEmployerCityName = Column(String)
|
|
previousEmployerExperienceYears = Column(Integer)
|
|
previousEmployerExperienceMonths = Column(Integer)
|
|
incomeTypeId = Column(Integer, ForeignKey("IncomeTypes.incomeTypeId"))
|
|
applicationId = Column(Integer, ForeignKey("Applications.applicationId"))
|
|
userProfileId = Column(Integer, ForeignKey("UserProfiles.userProfileId"))
|
|
userId = Column(Integer, ForeignKey("Users.userId"))
|
|
isCompleted = Column(BIT, nullable=True)
|
|
order = Column(Integer, nullable=True, default=1)
|
|
|
|
__table_args__ = (UniqueConstraint("applicationId", "order", name="applicationId_order_unique_key2"),)
|
|
|
|
def dict(self) -> dict[str, Any]:
|
|
return to_dict(self)
|
|
|