feat: a lot of a lot
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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"}
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
37
routers/task.py
Normal 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
|
||||
)
|
||||
Reference in New Issue
Block a user