import uuid from sqlmodel import select from fastapi import Depends from fastapi_users import schemas from fastapi_users_db_sqlmodel import SQLModelBaseUserDB, SQLModelUserDatabase from fastapi_users_db_sqlmodel.access_token import SQLModelBaseAccessToken, SQLModelAccessTokenDatabase from db import get_session, SessionDep class User(SQLModelBaseUserDB, table=True): pass class UserDatabase(SQLModelUserDatabase): def list(self): return select(self.user_model) async def get_user_db(session: SessionDep): yield UserDatabase(session, User) class AccessToken(SQLModelBaseAccessToken, table=True): pass class AccessTokenDatabase(SQLModelAccessTokenDatabase): pass async def get_access_token_db(session = Depends(get_session)): yield AccessTokenDatabase(session, AccessToken) class UserRead(schemas.BaseUser[uuid.UUID]): pass class UserCreate(schemas.BaseUserCreate): pass class UserUpdate(schemas.BaseUserUpdate): pass