feat: a lot of a lot

This commit is contained in:
2024-09-01 01:05:11 +03:00
parent 867dfbe597
commit 4ae03284a3
43 changed files with 700 additions and 13 deletions

View File

@@ -12,3 +12,4 @@ from .marketplace import marketplace_router
from .payroll import payroll_router
from .time_tracking import time_tracking_router
from .billing import billing_router
from .task import task_router

View File

@@ -1,6 +1,6 @@
from typing import Annotated
from fastapi import APIRouter, Depends
from fastapi import APIRouter, Depends, Request
from sqlalchemy.ext.asyncio import AsyncSession
from backend.session import get_session
@@ -16,3 +16,11 @@ auth_router = APIRouter(
@auth_router.post('/login', response_model=AuthLoginResponse)
async def login(request: AuthLoginRequest, session: Annotated[AsyncSession, Depends(get_session)]):
return await AuthService(session).authenticate(request)
@auth_router.post('/test')
async def test(
request: Request
):
print(request.headers)
return {'a': "a"}

View File

@@ -16,6 +16,8 @@ client_router = APIRouter(
)
@client_router.get('/search', operation_id='search_clients')
async def search_clients(
name: str,
@@ -52,7 +54,7 @@ async def get_all_clients(
@client_router.post(
'/create',
operation_id='create_client',
operation_id='create_client_api',
response_model=ClientCreateResponse
)
async def create_client(

View File

@@ -21,3 +21,51 @@ async def get_all(
session: SessionDependency
):
return await MarketplaceService(session).get_all_base_marketplaces()
@marketplace_router.post(
'/get',
operation_id='get_client_marketplaces',
response_model=GetClientMarketplacesResponse
)
async def get(
session: SessionDependency,
request: GetClientMarketplacesRequest
):
return await MarketplaceService(session).get_client_marketplaces(request)
@marketplace_router.post(
'/create',
operation_id='create_marketplace',
response_model=CreateMarketplaceResponse
)
async def create(
session: SessionDependency,
request: CreateMarketplaceRequest
):
return await MarketplaceService(session).create_marketplace(request)
@marketplace_router.post(
'/delete',
operation_id='delete_marketplace',
response_model=DeleteMarketplaceResponse
)
async def delete(
session: SessionDependency,
request: DeleteMarketplaceRequest
):
return await MarketplaceService(session).delete_marketplace(request)
@marketplace_router.post(
'/update',
operation_id='update_marketplace',
response_model=UpdateMarketplaceResponse
)
async def update(
session: SessionDependency,
request: UpdateMarketplaceRequest
):
return await MarketplaceService(session).update_marketplace(request)

37
routers/task.py Normal file
View File

@@ -0,0 +1,37 @@
from celery.result import AsyncResult
from fastapi import APIRouter
import background.tasks.marketplace
from background.celery_app import celery
from schemas.task import *
task_router = APIRouter(
prefix='/task',
tags=["task"],
)
@task_router.post(
'/synchronize-marketplace',
operation_id='create_synchronize_marketplace_task',
response_model=CreateTaskResponse
)
async def synchronize_marketplace(
request: SynchronizeMarketplaceRequest
):
marketplace_id = request.marketplace_id
task: AsyncResult = background.tasks.marketplace.synchronize_marketplace.delay(marketplace_id)
return CreateTaskResponse(task_id=task.id)
@task_router.get(
'/info/{task_id}',
operation_id='get_task_info',
response_model=TaskInfoResponse
)
def task_info(task_id: str):
task = AsyncResult(task_id, app=celery)
return TaskInfoResponse(
task_id=task_id,
status=task.status
)