1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00

Тесты для бекенда

This commit is contained in:
MoonTestUse1
2025-01-04 03:22:23 +06:00
parent 0d543ed4f6
commit 2bde43c076
28 changed files with 740 additions and 990 deletions

View File

@@ -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)