netadm/models/access_token.py

34 lines
774 B
Python

from typing import TYPE_CHECKING
from fastapi_users_db_sqlalchemy.access_token import (
SQLAlchemyAccessTokenDatabase,
SQLAlchemyBaseAccessTokenTable,
)
from sqlalchemy import (
Integer,
ForeignKey,
)
from sqlalchemy.orm import (
Mapped,
mapped_column,
)
from config import settings
from .base import Base
if TYPE_CHECKING:
from sqlalchemy.ext.asyncio import AsyncSession
class AccessToken(Base, SQLAlchemyBaseAccessTokenTable[settings.type.UserIdType]):
user_id: Mapped[settings.type.UserIdType] = mapped_column(
Integer,
ForeignKey("users.id", ondelete="cascade"),
nullable=False,
)
@classmethod
def get_db(cls, session: "AsyncSession"):
return SQLAlchemyAccessTokenDatabase(session, cls)