File size: 1,688 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 |
from typing import Any
from sqlalchemy import Column, DateTime, Integer, String
from sqlalchemy.dialects import postgresql
from sqlalchemy.orm import declarative_base
from sqlalchemy.sql import func
from app.models.base import Base
from app.utils.utility import to_dict
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)
|