Files
Document_editor/backend/app/models/verification_token.py
2026-06-15 09:18:58 +03:00

26 lines
868 B
Python

import enum
from datetime import datetime
from sqlalchemy import DateTime, Enum, ForeignKey, String
from sqlalchemy.orm import Mapped, mapped_column, relationship
from app.database import Base
class TokenType(str, enum.Enum):
activation = "activation"
password_reset = "password_reset"
class VerificationToken(Base):
__tablename__ = "verification_tokens"
id: Mapped[int] = mapped_column(primary_key=True, index=True)
user_id: Mapped[int] = mapped_column(ForeignKey("users.id", ondelete="CASCADE"))
code: Mapped[str] = mapped_column(String(10), index=True)
token_type: Mapped[TokenType] = mapped_column(Enum(TokenType))
expires_at: Mapped[datetime] = mapped_column(DateTime)
created_at: Mapped[datetime] = mapped_column(DateTime, default=datetime.utcnow)
user = relationship("User", back_populates="verification_tokens")