feat: additional expenses
This commit is contained in:
@@ -14,4 +14,5 @@ from .time_tracking import time_tracking_router
|
||||
from .billing import billing_router
|
||||
from .task import task_router
|
||||
from .work_shifts import work_shifts_router
|
||||
from .statistics import statistics_router
|
||||
from .statistics import statistics_router
|
||||
from .expense import expense_router
|
||||
49
routers/expense.py
Normal file
49
routers/expense.py
Normal file
@@ -0,0 +1,49 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from backend.dependecies import SessionDependency, CurrentUserDependency, PaginationDependency
|
||||
from schemas.expense import GetAllExpensesResponse, UpdateExpenseResponse, UpdateExpenseRequest, DeleteExpenseResponse
|
||||
from services.auth import authorized_user
|
||||
from services.expenses import ExpensesService
|
||||
|
||||
expense_router = APIRouter(
|
||||
prefix="/expense",
|
||||
tags=["expense"],
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
|
||||
|
||||
@expense_router.get(
|
||||
'/get-all',
|
||||
operation_id='get_all_expenses',
|
||||
response_model=GetAllExpensesResponse,
|
||||
)
|
||||
async def get_all(
|
||||
session: SessionDependency,
|
||||
pagination: PaginationDependency,
|
||||
):
|
||||
return await ExpensesService(session).get_all(pagination)
|
||||
|
||||
|
||||
@expense_router.post(
|
||||
'/update',
|
||||
operation_id='update_expense',
|
||||
response_model=UpdateExpenseResponse,
|
||||
)
|
||||
async def update_expense(
|
||||
session: SessionDependency,
|
||||
request: UpdateExpenseRequest,
|
||||
user: CurrentUserDependency,
|
||||
):
|
||||
return await ExpensesService(session).update_expense(user, request)
|
||||
|
||||
|
||||
@expense_router.delete(
|
||||
'/delete/{expense_id}',
|
||||
operation_id='delete_expense',
|
||||
response_model=DeleteExpenseResponse,
|
||||
)
|
||||
async def delete_expense(
|
||||
session: SessionDependency,
|
||||
expense_id: int,
|
||||
):
|
||||
return await ExpensesService(session).delete_expense(expense_id)
|
||||
@@ -7,7 +7,7 @@ from backend.session import get_session
|
||||
from schemas.statistics import GetProfitChartDataRequest, GetProfitChartDataResponse, GetProfitTableDataResponse, \
|
||||
GetProfitTableDataRequest
|
||||
from services.auth import authorized_user
|
||||
from services.statistics import StatisticsService
|
||||
from services.statistics import ProfitStatisticsService
|
||||
|
||||
statistics_router = APIRouter(
|
||||
prefix="/statistics",
|
||||
@@ -25,7 +25,7 @@ async def get_profit_chart_data(
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
request: GetProfitChartDataRequest
|
||||
):
|
||||
return await StatisticsService(session).get_profit_chart_data(request)
|
||||
return await ProfitStatisticsService(session).get_profit_chart_data(request)
|
||||
|
||||
|
||||
@statistics_router.post(
|
||||
@@ -37,4 +37,4 @@ async def get_profit_table_data(
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
request: GetProfitTableDataRequest
|
||||
):
|
||||
return await StatisticsService(session).get_profit_table_data(request)
|
||||
return await ProfitStatisticsService(session).get_profit_table_data(request)
|
||||
|
||||
Reference in New Issue
Block a user