from sqlalchemy import Column, Integer, String from sqlalchemy.dialects.postgresql import BIT from sqlalchemy.dialects.postgresql import TIMESTAMP from typing import Any from app.utils.utility import to_dict from . import Base class UserProfile(Base): __tablename__ = "UserProfiles" userProfileId = Column(Integer, primary_key=True) userId = Column(Integer) firstName = Column(String) middleName = Column(String) lastName = Column(String) phoneNumber = Column(String) email = Column(String) citizenshipStatusId = Column(Integer) DOB = Column(TIMESTAMP) SSN = Column(String) ownershipId = Column(Integer) currentAddress = Column(String) suitNo = Column(String) stateId = Column(Integer) cityId = Column(Integer) stateName = Column(String) cityName = Column(String) zipCode = Column(String) rent = Column(String) yearsLiving = Column(Integer) monthsLiving = Column(Integer, default=0) presentAddressLessThanTwoYears = Column(BIT, default="0") previousAddress = Column(String) previousCityName = Column(String) previousStateName = Column(String) previousZipCode = Column(String) maritalStatusId = Column(Integer) applicationId = Column(Integer) def dict(self) -> dict[str, Any]: return to_dict(self)