34 lines
961 B
Python
34 lines
961 B
Python
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('/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)
|