from sqlalchemy import Column, Integer, String, ForeignKey, Text, Boolean
from sqlalchemy.orm import relationship

from models.base import TimestampMixin, Base


class Staff(Base, TimestampMixin):
    __tablename__ = "staff"
    id = Column(Integer, primary_key=True, autoincrement=True)
    first_name = Column(String(255))
    last_name = Column(String(255))
    email = Column(String(255))
    mobile_number = Column(String(255))
    profile_image = Column(Text, nullable=True)
    dbs_status = Column(Text, nullable=True)
    hashed_password = Column(String(255), nullable=False)
    user_type = Column(String(50), nullable=True)

    @property
    def profile_image_url(self):
        return f"/images/{self.profile_image}"

