from typing import Annotated from fastapi import APIRouter, Depends from sqlalchemy.ext.asyncio import AsyncSession from backend.session import get_session from models import User from schemas.deal import * from services.auth import get_current_user from services.deal import DealService deal_router = APIRouter( prefix='/deal', tags=['deal'] ) @deal_router.post('/create') async def create( request: DealCreateRequest, session: Annotated[AsyncSession, Depends(get_session)], user: Annotated[User, Depends(get_current_user)] ): return await DealService(session).create(request, user) @deal_router.post('/quickCreate', response_model=DealQuickCreateResponse) async def quick_create( request: DealQuickCreateRequest, session: Annotated[AsyncSession, Depends(get_session)], user: Annotated[User, Depends(get_current_user)] ): return await DealService(session).quick_create(request, user) @deal_router.post('/changeStatus', response_model=DealChangeStatusResponse) async def change_status( request: DealChangeStatusRequest, session: Annotated[AsyncSession, Depends(get_session)], user: Annotated[User, Depends(get_current_user)] ): return await DealService(session).change_status(request, user)