This commit is contained in:
2024-03-03 07:22:42 +03:00
parent 804b658c6e
commit d870f1cffe
27 changed files with 303 additions and 78 deletions

View File

@@ -1 +1,3 @@
from .auth import auth_router
from .deal import deal_router

View File

@@ -1,12 +1,11 @@
from fastapi import APIRouter
from sqlalchemy import select, insert
from typing import Annotated
import database
from database import User
from database.base import DatabaseDependency
from schemas.auth.requests import *
from auth.telegram import telegram_authorize
from schemas.auth.responses import AuthLoginResponse
from fastapi import APIRouter, Depends
from sqlalchemy.ext.asyncio import AsyncSession
from backend.session import get_session
from schemas.auth import AuthLoginRequest, AuthLoginResponse
from services.auth import AuthService
auth_router = APIRouter(
prefix='/auth',
@@ -15,6 +14,5 @@ auth_router = APIRouter(
@auth_router.post('/login', response_model=AuthLoginResponse)
async def login(request: AuthLoginRequest, db_session: DatabaseDependency):
existing_user: User = await db_session.scalar(select(User).where(User.telegram_id == request.id))
return AuthLoginResponse(ok=True, jwt_token="dasdasd")
async def login(request: AuthLoginRequest, session: Annotated[AsyncSession, Depends(get_session)]):
return await AuthService(session).authenticate(request)

32
routers/deal.py Normal file
View File

@@ -0,0 +1,32 @@
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)]
):
return await DealService(session).create(request)
@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)