22 lines
900 B
Python
Executable File
22 lines
900 B
Python
Executable File
from sqlalchemy import Column, Integer, String, Boolean, JSON, Float
|
|
from app.db.base import Base
|
|
|
|
class EmailProviderConfig(Base):
|
|
__tablename__ = "email_provider_configs"
|
|
__table_args__ = {"schema": "data"}
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
|
name = Column(String(50), unique=True) # Pl: SendGrid_Main, Office365_Backup
|
|
provider_type = Column(String(20)) # SENDGRID, SMTP, MAILGUN
|
|
priority = Column(Integer, default=1) # 1 = legfontosabb
|
|
|
|
# JSON-ban tároljuk a paramétereket (host, port, api_key, user, stb.)
|
|
settings = Column(JSON, nullable=False)
|
|
|
|
is_active = Column(Boolean, default=True)
|
|
|
|
# Failover figyelés
|
|
fail_count = Column(Integer, default=0)
|
|
max_fail_threshold = Column(Integer, default=3) # Hány hiba után kapcsoljon le?
|
|
success_rate = Column(Float, default=100.0) # Statisztika az adminnak
|