diff --git a/apps/api/app/api/routes/generation_tasks.py b/apps/api/app/api/routes/generation_tasks.py index ab1721442..c363d5595 100644 --- a/apps/api/app/api/routes/generation_tasks.py +++ b/apps/api/app/api/routes/generation_tasks.py @@ -79,7 +79,7 @@ def _ensure_library_has_ready_video_assets(assets) -> None: ) -@router.post("/tasks/", response_model=GenerationTaskResponse) +@router.post("/tasks", response_model=GenerationTaskResponse) def create_generation_task( request: CreateGenerationTaskRequest, authenticated_user: AuthenticatedUser = Depends(get_current_user), @@ -130,7 +130,7 @@ def get_generation_task( return _to_generation_task_response(task) -@router.get("/tasks/{task_id}/results/", response_model=ListGeneratedVideosResponse) +@router.get("/tasks/{task_id}/results", response_model=ListGeneratedVideosResponse) def list_generation_results( task_id: str, authenticated_user: AuthenticatedUser = Depends(get_current_user), diff --git a/apps/api/app/api/routes/titles.py b/apps/api/app/api/routes/titles.py index 148c4913d..7ed4b6285 100644 --- a/apps/api/app/api/routes/titles.py +++ b/apps/api/app/api/routes/titles.py @@ -57,7 +57,7 @@ def _get_user_plan(user_id: str, user_repository: UserRepository) -> str: return getattr(user, "subscription_plan", "free") or "free" -@router.get("/", response_model=ListTitleLibraryResponse) +@router.get("", response_model=ListTitleLibraryResponse) def list_titles( category: Optional[str] = Query(None), skip: int = Query(0, ge=0), @@ -89,7 +89,7 @@ def get_title( return _to_response(item) -@router.post("/", response_model=TitleLibraryItemResponse, status_code=status.HTTP_201_CREATED) +@router.post("", response_model=TitleLibraryItemResponse, status_code=status.HTTP_201_CREATED) def create_title( request: CreateTitleLibraryRequest, authenticated_user: AuthenticatedUser = Depends(get_current_user), diff --git a/apps/api/app/api/routes/voices.py b/apps/api/app/api/routes/voices.py index 2bf263460..ed210e81b 100644 --- a/apps/api/app/api/routes/voices.py +++ b/apps/api/app/api/routes/voices.py @@ -61,7 +61,7 @@ def _get_user_plan(user_id: str, user_repository: UserRepository) -> str: return getattr(user, "subscription_plan", "free") or "free" -@router.get("/", response_model=ListVoiceLibraryResponse) +@router.get("", response_model=ListVoiceLibraryResponse) def list_voices( status_filter: Optional[str] = Query(None, alias="status"), skip: int = Query(0, ge=0), @@ -93,7 +93,7 @@ def get_voice( return _to_response(item) -@router.post("/", response_model=VoiceLibraryItemResponse, status_code=status.HTTP_201_CREATED) +@router.post("", response_model=VoiceLibraryItemResponse, status_code=status.HTTP_201_CREATED) def create_voice( request: CreateVoiceLibraryRequest, authenticated_user: AuthenticatedUser = Depends(get_current_user), diff --git a/apps/api/main.py b/apps/api/main.py index 070049983..22c48bed7 100644 --- a/apps/api/main.py +++ b/apps/api/main.py @@ -24,6 +24,7 @@ app = FastAPI( version=settings.APP_VERSION, docs_url="/docs", redoc_url="/redoc", + redirect_slashes=False, ) app.add_exception_handler(APIException, api_exception_handler)