File size: 1,820 Bytes
ef1ad9e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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.models.base import Base
from app.utils.utility import to_dict


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)