from datetime import datetime from sqlalchemy import Column, Integer, String, Boolean, DateTime from app.core.database import Base from app.core.utils import now_tw class SystemSettings(Base): __tablename__ = "system_settings" id = Column(Integer, primary_key=True, default=1) site_title = Column(String(200), nullable=False, default="VMIS Admin Portal") version = Column(String(50), nullable=False, default="2.0.0") timezone = Column(String(100), nullable=False, default="Asia/Taipei") sso_enabled = Column(Boolean, nullable=False, default=False) # Keycloak — master realm admin (for tenant realm management) keycloak_url = Column(String(200), nullable=False, default="https://auth.lab.taipei") keycloak_admin_user = Column(String(100), nullable=False, default="admin") keycloak_admin_pass = Column(String(200), nullable=False, default="") # Keycloak — Admin Portal SSO keycloak_realm = Column(String(100), nullable=False, default="vmis-admin") keycloak_client = Column(String(100), nullable=False, default="vmis-portal") updated_at = Column(DateTime, nullable=False, default=now_tw, onupdate=now_tw)