Files
budget-forecast/api/app/user/models.py
2025-01-16 00:24:42 +01:00

41 lines
975 B
Python

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