| 123456789101112131415161718192021222324252627282930 | 
							- import enum
 
- from sqlalchemy import func
 
- from sqlalchemy.orm import Mapped, mapped_column
 
- from .engine import db
 
- from .types import StringUUID
 
- class DeptStatus(enum.StrEnum):
 
-     ACTIVE = "active"
 
-     CLOSED = "closed"
 
- class Dept(db.Model):
 
-     __tablename__ = "dept"
 
-     __table_args__ = db.PrimaryKeyConstraint("dept_id", name="dept_pkey")
 
-     dept_id: Mapped[str] = mapped_column(StringUUID, server_default=db.text("uuid_generate_v4()"))
 
-     dept_name = db.Column(db.String(255), nullable=False)
 
-     parent_dept_id = db.Column(db.String(255))
 
-     timezone = db.Column(db.String(255))
 
-     status = db.Column(db.String(16), nullable=False, server_default=db.text("'active'::character varying"))
 
-     created_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp())
 
-     updated_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp())
 
-     def get_status(self) -> DeptStatus:
 
-         status_str = self.status
 
-         return DeptStatus(status_str)
 
 
  |