|
from typing import Any
|
|
|
|
from sqlalchemy import Column, ForeignKey, Integer, String
|
|
from sqlalchemy.dialects.postgresql import BIT, TIMESTAMP
|
|
from sqlalchemy.orm import declarative_base
|
|
|
|
from app.utils.utility import to_dict
|
|
|
|
Base = declarative_base()
|
|
|
|
|
|
class UserProfile(Base):
|
|
__tablename__ = "UserProfiles"
|
|
|
|
userProfileId = Column(Integer, primary_key=True)
|
|
firstName = Column(String)
|
|
middleName = Column(String)
|
|
lastName = Column(String)
|
|
phoneNumber = Column(String)
|
|
email = Column(String)
|
|
citizenshipStatusId = Column(Integer, ForeignKey("CitizenshipStatus.citizenshipStatusId"))
|
|
DOB = Column(TIMESTAMP)
|
|
SSN = Column(String)
|
|
ownershipId = Column(Integer, ForeignKey("Ownerships.ownershipId"))
|
|
currentAddress = Column(String)
|
|
suitNo = Column(String)
|
|
stateId = Column(Integer)
|
|
cityId = Column(Integer)
|
|
stateName = Column(String)
|
|
stateId = Column(Integer, ForeignKey("States.stateId"))
|
|
cityName = Column(String)
|
|
zipCode = Column(String)
|
|
rent = Column(Integer)
|
|
yearsLiving = Column(Integer)
|
|
monthsLiving = Column(Integer)
|
|
presentAddressLessThanTwoYears = Column(BIT)
|
|
previousAddress = Column(String)
|
|
previousCityName = Column(String)
|
|
previousStateName = Column(String)
|
|
previousStateId = Column(Integer, ForeignKey("States.stateId"))
|
|
previousZipCode = Column(String)
|
|
maritalStatusId = Column(Integer, ForeignKey("MaritalStatus.maritalStatusId"))
|
|
applicationId = Column(Integer, ForeignKey("Applications.applicationId"), unique=True)
|
|
userId = Column(Integer, ForeignKey("Users.userId"))
|
|
isApproval = Column(BIT, nullable=True)
|
|
isCompleted = Column(BIT, nullable=True)
|
|
|
|
def dict(self) -> dict[str, Any]:
|
|
return to_dict(self)
|
|
|