/
eugenee
/
QueueService
Обзор
Документация
Войти
/
eugenee
/
QueueService
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/app/api/endpoints.py
50 строк
2 KB
eugenee
backend
18 дек 2025, 21:14
18 дек 2025, 21:14
8052e14
Код
Авторство
О чём код?
from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from typing import List from app import crud, schemas from app.database import get_db router = APIRouter() @router.post("/tickets", response_model=schemas.TicketResponse) def create_ticket( queue_type: str = "default", db: Session = Depends(get_db) ): """Создать новый талон""" return crud.create_ticket(db, queue_type) @router.get("/tickets/current", response_model=schemas.TicketResponse) def get_current_ticket(db: Session = Depends(get_db)): """Получить текущий вызываемый талон""" ticket = crud.get_current_ticket(db) if not ticket: return None return ticket @router.post("/tickets/next") def call_next_ticket(db: Session = Depends(get_db)): """Вызвать следующий талон""" next_ticket = crud.call_next_ticket(db) if not next_ticket: raise HTTPException(status_code=404, detail="Нет ожидающих талонов") return { "message": f"Талон {next_ticket.ticket_number} вызван", "ticket": next_ticket } @router.get("/tickets/waiting", response_model=List[schemas.TicketResponse]) def get_waiting_tickets(db: Session = Depends(get_db)): """Получить список ожидающих талонов""" return crud.get_waiting_tickets(db) @router.get("/stats") def get_stats(db: Session = Depends(get_db)): """Получить статистику системы""" return {"stats": crud.get_stats(db)}