""" 個人化服務 Model 定義可為員工啟用的個人服務(SSO、Email、Calendar、Drive、Office) """ from datetime import datetime from sqlalchemy import Column, Integer, String, Boolean, DateTime, UniqueConstraint from app.db.base import Base class PersonalService(Base): """個人化服務表""" __tablename__ = "personal_services" __table_args__ = ( UniqueConstraint("service_code", name="uq_personal_service_code"), ) id = Column(Integer, primary_key=True, index=True) service_code = Column(String(20), unique=True, nullable=False, comment="服務代碼: SSO/Email/Calendar/Drive/Office") service_name = Column(String(100), nullable=False, comment="服務名稱") description = Column(String(500), nullable=True, comment="服務說明") is_active = Column(Boolean, default=True, nullable=False, comment="是否啟用") # 通用欄位 edit_by = Column(String(100), nullable=True, comment="最後編輯者") created_at = Column(DateTime, default=datetime.utcnow, nullable=False, comment="建立時間") updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False, comment="更新時間") def __repr__(self): return f""