service_man/api/models/user.py

30 lines
708 B
Python

from sqlalchemy import Boolean, Column, String
from sqlalchemy.orm import Mapped
from api.schemas.user_schema import UserSchema
from .base import Base
class User(Base):
__tablename__ = "users"
name: Mapped[str]
email = Column(String, unique=True)
hashed_password = Column(String)
is_active = Column(Boolean, default=True)
def __repr__(self):
return (
f"<User(id={self.id}, "
f'email="{self.email}", '
f'hashed_password="{self.hashed_password}", '
f"is_active={self.is_active})>"
)
def to_read_model(self) -> UserSchema:
return UserSchema(
id=self.id,
name=self.name,
)