add expire and fingerprint for refreshed

This commit is contained in:
IluaAir
2025-09-21 19:54:17 +03:00
parent 42b8c3a2c9
commit 408e32d05f
4 changed files with 52 additions and 8 deletions

View File

@@ -1,7 +1,10 @@
from sqlalchemy import ForeignKey, Integer, String
from datetime import datetime
from sqlalchemy import TIMESTAMP, ForeignKey, Integer, String, text
from sqlalchemy.orm import Mapped, mapped_column
from src.core.database import Base
from src.core.settings import settings
class RefreshTokensORM(Base):
@@ -9,3 +12,8 @@ class RefreshTokensORM(Base):
id: Mapped[int] = mapped_column(Integer, primary_key=True)
token: Mapped[str] = mapped_column(String(255), nullable=False)
user_id: Mapped[int] = mapped_column(Integer, ForeignKey("users.id"))
fingerprint: Mapped[str] = mapped_column(String(255), nullable=False)
expired_at: Mapped[datetime] = mapped_column(
TIMESTAMP(timezone=True),
server_default=text(f"datetime('now', '+{settings.refresh_token.expire_days} days')"),
)