|
from sqlalchemy import Column, Integer, String, DateTime
|
|
from sqlalchemy.dialects import postgresql
|
|
from . import Base
|
|
from typing import Any
|
|
from app.utils.utility import to_dict
|
|
from sqlalchemy.sql import func
|
|
|
|
|
|
class User(Base):
|
|
__tablename__ = "Users"
|
|
|
|
userId = Column(Integer(), primary_key=True)
|
|
firstName = Column(String(255))
|
|
lastName = Column(String(255))
|
|
email = Column(String(255))
|
|
password = Column(String(255))
|
|
phoneNumber = Column(String(255))
|
|
NMLS = Column(String(255))
|
|
lenderId = Column(Integer())
|
|
isActive = Column(postgresql.BIT(), default="1")
|
|
googleOauthId = Column(String)
|
|
isOnboardingCompleted = Column(postgresql.BIT(), default="0")
|
|
organisationNMLS = Column(String(255))
|
|
isOrganisation = Column(postgresql.BIT(), default="0")
|
|
verificationCode = Column(Integer())
|
|
isVerified = Column(postgresql.BIT(), default="0")
|
|
lastLoginTime = Column(DateTime(timezone=True), default=func.now())
|
|
role = Column(String(50))
|
|
stateName = Column(String)
|
|
stateId = Column(Integer)
|
|
cityName = Column(String)
|
|
zipCode = Column(String)
|
|
address = Column(String)
|
|
mortgageBrokerName = Column(String)
|
|
dateOfBirth = Column(String)
|
|
company = Column(String)
|
|
branch = Column(String)
|
|
employeeTypeId = Column(Integer)
|
|
profilePicture = Column(String)
|
|
createdAt = Column(DateTime(timezone=True), default=func.now())
|
|
updatedAt = Column(DateTime(timezone=True), default=func.now(), onupdate=func.now())
|
|
|
|
def dict(self) -> dict[str, Any]:
|
|
return to_dict(self)
|
|
|