feat: parser, refactoring

This commit is contained in:
Artem Tsyrulnikov
2025-12-07 22:17:24 +03:00
parent e90c6bfb75
commit 2af23f84fe
39 changed files with 503 additions and 822 deletions

View File

@@ -5,7 +5,7 @@ from typing import Annotated
from fastapi import Depends
from fastapi.routing import APIRouter
from src import dependencies, dto
from src import deps, dto
from src.adapter.jwt import JWTPayload
analytics_router = APIRouter(prefix='/analytics', tags=['analytics'])
@@ -13,43 +13,43 @@ analytics_router = APIRouter(prefix='/analytics', tags=['analytics'])
@analytics_router.get('/placements')
async def get_placements_analytics(
current_user: Annotated[JWTPayload, Depends(dependencies.get_current_user)],
current_user: Annotated[JWTPayload, Depends(deps.get_current_user)],
target_channel_id: uuid.UUID | None = None,
) -> dto.GetPlacementsAnalyticsOutput:
input = dto.GetPlacementsAnalyticsInput(
user_id=current_user.user_id,
target_channel_id=target_channel_id,
)
return await dependencies.get_usecase().get_placements_analytics(input)
return await deps.get_usecase().get_placements_analytics(input)
@analytics_router.get('/creatives')
async def get_creatives_analytics(
current_user: Annotated[JWTPayload, Depends(dependencies.get_current_user)],
current_user: Annotated[JWTPayload, Depends(deps.get_current_user)],
target_channel_id: uuid.UUID | None = None,
) -> dto.GetCreativesAnalyticsOutput:
input = dto.GetCreativesAnalyticsInput(
user_id=current_user.user_id,
target_channel_id=target_channel_id,
)
return await dependencies.get_usecase().get_creatives_analytics(input)
return await deps.get_usecase().get_creatives_analytics(input)
@analytics_router.get('/external-channels')
async def get_external_channels_analytics(
current_user: Annotated[JWTPayload, Depends(dependencies.get_current_user)],
current_user: Annotated[JWTPayload, Depends(deps.get_current_user)],
target_channel_id: uuid.UUID | None = None,
) -> dto.GetExternalChannelsAnalyticsOutput:
input = dto.GetExternalChannelsAnalyticsInput(
user_id=current_user.user_id,
target_channel_id=target_channel_id,
)
return await dependencies.get_usecase().get_external_channels_analytics(input)
return await deps.get_usecase().get_external_channels_analytics(input)
@analytics_router.get('/spending')
async def get_spending_analytics(
current_user: Annotated[JWTPayload, Depends(dependencies.get_current_user)],
current_user: Annotated[JWTPayload, Depends(deps.get_current_user)],
target_channel_id: uuid.UUID | None = None,
date_from: datetime.datetime | None = None,
date_to: datetime.datetime | None = None,
@@ -62,4 +62,4 @@ async def get_spending_analytics(
date_to=date_to,
grouping=grouping,
)
return await dependencies.get_usecase().get_spending_analytics(input)
return await deps.get_usecase().get_spending_analytics(input)