dmontagu / fastapi-utils

Reusable utilities for FastAPI
MIT License
1.83k stars 163 forks source link

old_first_parameter = old_parameters[0] IndexError: list index out of range #275

Open hvo7mdq opened 1 year ago

hvo7mdq commented 1 year ago
from fastapi import (
APIRouter,
Request,
Depends,
HTTPException,
status
)

from sqlalchemy.orm import Session from schemas.user import User as UserScheme,UserCreate as UserCreateScheme from models.user import User from core.db.connection import get_db from core.db.utils import generate_uuid from fastapi_utils.cbv import cbv

router = APIRouter(

prefix = '/users',

tags = ['User']

)

delme

from fastapi_utils.inferring_router import InferringRouter router = InferringRouter( prefix = '/users', tags = ['User'] )

@cbv(router) class UserView:

"""
users
"""
@staticmethod
def model():
    db = get_db()
    q = db(User)
    return q

@router.get(
        "",
        response_model=list[UserScheme]
        )
def list_user(request:Request,db:Session = Depends(get_db)):
    users = db.query(User).all()
    return users

@router.get(
        "/me",
        response_model = UserScheme
        )
def me(request:Request,db:Session = Depends(get_db)):
     me = db.query(User).get(1)
     return me

@router.post(
        "",
        response_model=UserCreateScheme
        )
def create_user(user:UserCreateScheme,db:Session=Depends(get_db)):
    current_user = db.query(User).filter(User.username==user.username).all()
    if current_user:
        raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST,detail="User already exist")

    user = User(**user.dict())
    db.add(user)
    db.commit()
    return user

"""
Message Token
"""

@router.post("/{id}/message_token")
def create_message_token():
    pass

===============ISSUE======== class UserView: File "C:\Users\GuestUser.virtualenvs\QuickShorts-xT8Nsbrg\lib\site-packages\fastapi_utils\cbv.py", line 26, in decorator return _cbv(router, cls) File "C:\Users\GuestUser.virtualenvs\QuickShorts-xT8Nsbrg\lib\site-packages\fastapi_utils\cbv.py", line 47, in _cbv _update_cbv_route_endpoint_signature(cls, route) File "C:\Users\GuestUser.virtualenvs\QuickShorts-xT8Nsbrg\lib\site-packages\fastapi_utils\cbv.py", line 96, in _update_cbv_route_endpoint_signature

old_first_parameter = old_parameters[0]

IndexError: list index out of range

jgentil commented 1 year ago

This project is dead, please see: https://github.com/yuval9313/FastApi-RESTful/