mirror of
https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git
synced 2025-08-14 00:25:46 +02:00
10
This commit is contained in:
@@ -6,7 +6,7 @@ import logging
|
||||
from logging.config import dictConfig
|
||||
from .logging_config import logging_config
|
||||
from .middleware import LoggingMiddleware
|
||||
from .routers import auth
|
||||
from .routers import auth, requests
|
||||
|
||||
# Configure logging
|
||||
dictConfig(logging_config)
|
||||
@@ -34,6 +34,7 @@ app.add_middleware(LoggingMiddleware)
|
||||
|
||||
# Include routers
|
||||
app.include_router(auth.router, prefix="/api/auth", tags=["auth"])
|
||||
app.include_router(requests.router, prefix="/api/requests", tags=["requests"])
|
||||
|
||||
# Custom OpenAPI documentation
|
||||
@app.get("/api/docs", include_in_schema=False)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
"""API routes package"""
|
||||
from . import auth
|
||||
from . import auth, requests
|
||||
|
||||
__all__ = ['auth']
|
||||
__all__ = ['auth', 'requests']
|
44
backend/app/routers/requests.py
Normal file
44
backend/app/routers/requests.py
Normal file
@@ -0,0 +1,44 @@
|
||||
"""Request handling routes"""
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from sqlalchemy.orm import Session
|
||||
from ..database import get_db
|
||||
from ..crud import requests as requests_crud
|
||||
from ..models.request import RequestCreate
|
||||
from ..bot.notifications import send_notification
|
||||
from logging import getLogger
|
||||
|
||||
router = APIRouter()
|
||||
logger = getLogger(__name__)
|
||||
|
||||
@router.post("/")
|
||||
async def create_request(request: RequestCreate, db: Session = Depends(get_db)):
|
||||
"""Create new request"""
|
||||
try:
|
||||
db_request = requests_crud.create_request(db, request)
|
||||
# Send notification to Telegram
|
||||
await send_notification(requests_crud.get_request_details(db, db_request.id))
|
||||
return db_request
|
||||
except Exception as e:
|
||||
logger.error(f"Error creating request: {e}", exc_info=True)
|
||||
raise HTTPException(status_code=500, detail="Ошибка при создании заявки")
|
||||
|
||||
@router.get("/")
|
||||
async def get_requests(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)):
|
||||
"""Get all requests"""
|
||||
try:
|
||||
return requests_crud.get_requests(db, skip, limit)
|
||||
except Exception as e:
|
||||
logger.error(f"Error fetching requests: {e}", exc_info=True)
|
||||
raise HTTPException(status_code=500, detail="Ошибка при получении заявок")
|
||||
|
||||
@router.get("/{request_id}")
|
||||
async def get_request(request_id: int, db: Session = Depends(get_db)):
|
||||
"""Get request by ID"""
|
||||
try:
|
||||
request = requests_crud.get_request_details(db, request_id)
|
||||
if not request:
|
||||
raise HTTPException(status_code=404, detail="Заявка не найдена")
|
||||
return request
|
||||
except Exception as e:
|
||||
logger.error(f"Error fetching request: {e}", exc_info=True)
|
||||
raise HTTPException(status_code=500, detail="Ошибка при получении заявки")
|
Reference in New Issue
Block a user