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 05:12:05 +06:00
parent 7294ffddda
commit 4634262b91
3 changed files with 28 additions and 1 deletions

View File

@@ -30,6 +30,28 @@ def get_request(db: Session, request_id: int) -> Optional[Request]:
"""Get request by ID""" """Get request by ID"""
return db.query(Request).filter(Request.id == request_id).first() return db.query(Request).filter(Request.id == request_id).first()
def get_request_details(db: Session, request_id: int) -> Optional[Dict]:
"""Get detailed request information including employee data"""
request = get_request(db, request_id)
if not request:
return None
employee = employees.get_employee(db, request.employee_id)
if not employee:
return None
return {
"id": request.id,
"request_type": request.request_type,
"description": request.description,
"priority": request.priority,
"status": request.status,
"department": request.department,
"created_at": request.created_at.isoformat(),
"employee_first_name": employee.first_name,
"employee_last_name": employee.last_name
}
def get_employee_requests(db: Session, employee_id: int) -> list[Request]: def get_employee_requests(db: Session, employee_id: int) -> list[Request]:
"""Get employee's requests""" """Get employee's requests"""
return db.query(Request).filter(Request.employee_id == employee_id).all() return db.query(Request).filter(Request.employee_id == employee_id).all()

View File

@@ -7,6 +7,8 @@ from ..crud import requests
from ..schemas.request import Request, RequestCreate, RequestUpdate from ..schemas.request import Request, RequestCreate, RequestUpdate
from ..models.request import RequestStatus from ..models.request import RequestStatus
from ..utils.auth import get_current_employee, get_current_admin from ..utils.auth import get_current_employee, get_current_admin
from ..utils.telegram import notify_new_request
import asyncio
router = APIRouter() router = APIRouter()
@@ -17,7 +19,10 @@ def create_request(
current_employee: dict = Depends(get_current_employee) current_employee: dict = Depends(get_current_employee)
): ):
"""Create new request""" """Create new request"""
return requests.create_request(db, request, current_employee["id"]) db_request = requests.create_request(db, request, current_employee["id"])
# Отправляем уведомление в Telegram
asyncio.create_task(notify_new_request(db_request.id))
return db_request
@router.get("/my", response_model=List[Request]) @router.get("/my", response_model=List[Request])
def get_employee_requests( def get_employee_requests(

Binary file not shown.