32 lines
831 B
Python
32 lines
831 B
Python
from datetime import datetime
|
|
|
|
from sqlalchemy import (
|
|
Boolean,
|
|
Column,
|
|
DateTime,
|
|
ForeignKey,
|
|
PrimaryKeyConstraint,
|
|
String,
|
|
)
|
|
|
|
from ._base import Base, DictLikeMixin
|
|
|
|
|
|
class IdentityNotifPref(DictLikeMixin, Base):
|
|
"""Пользовательские настройки каналов доставки уведомлений."""
|
|
|
|
__tablename__ = "identity_notif_prefs"
|
|
|
|
identity_id = Column(
|
|
String(36),
|
|
ForeignKey("identities.id", ondelete="CASCADE"),
|
|
nullable=False,
|
|
)
|
|
channel = Column(String(32), nullable=False)
|
|
enabled = Column(Boolean, nullable=False, default=True)
|
|
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False)
|
|
|
|
__table_args__ = (
|
|
PrimaryKeyConstraint("identity_id", "channel"),
|
|
)
|