mirror of
https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git
synced 2025-08-14 00:25:46 +02:00
Тесты для бекенда
This commit is contained in:
@@ -2,35 +2,15 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.orm import Session
|
||||
from ..database import get_db
|
||||
from ..models.request import Request, RequestStatus
|
||||
from ..utils.loggers import request_logger
|
||||
from ..crud import statistics
|
||||
from ..utils.auth import get_current_admin
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.get("/")
|
||||
def get_statistics(db: Session = Depends(get_db)):
|
||||
"""Get request statistics"""
|
||||
# Получаем общее количество заявок
|
||||
total = db.query(Request).count()
|
||||
request_logger.info(f"Total requests: {total}")
|
||||
|
||||
# Получаем количество заявок по статусам
|
||||
new_requests = db.query(Request).filter(Request.status == RequestStatus.NEW.value).count()
|
||||
in_progress = db.query(Request).filter(Request.status == RequestStatus.IN_PROGRESS.value).count()
|
||||
completed = db.query(Request).filter(Request.status == RequestStatus.COMPLETED.value).count()
|
||||
rejected = db.query(Request).filter(Request.status == RequestStatus.REJECTED.value).count()
|
||||
|
||||
request_logger.info(f"Status counts - new: {new_requests}, in_progress: {in_progress}, completed: {completed}, rejected: {rejected}")
|
||||
|
||||
result = {
|
||||
"total_requests": total,
|
||||
"by_status": {
|
||||
"new": new_requests,
|
||||
"in_progress": in_progress,
|
||||
"completed": completed,
|
||||
"rejected": rejected
|
||||
}
|
||||
}
|
||||
|
||||
request_logger.info(f"Returning statistics: {result}")
|
||||
return result
|
||||
def get_statistics(
|
||||
db: Session = Depends(get_db),
|
||||
_: dict = Depends(get_current_admin)
|
||||
):
|
||||
"""Get system statistics"""
|
||||
return statistics.get_request_statistics(db)
|
Reference in New Issue
Block a user