```python from fastapi import APIRouter, HTTPException from models.escalation_models import EscalationTicket from database.postgres import PostgresService from services.redis_service import RedisService from typing import List router = APIRouter() postgres = PostgresService() redis = RedisService() @router.post("") async def create_ticket(ticket: EscalationTicket): try: ticket_id = await postgres.create_ticket(ticket) await redis.log_escalation(ticket.customer_email) return {"ticket_id": ticket_id, "status": "created"} except Exception as e: raise HTTPException(status_code=400, detail=str(e)) @router.get("/list") async def list_tickets(status: str = None): try: tickets = await postgres.get_tickets(status) return {"tickets": tickets} except Exception as e: raise HTTPException(status_code=400, detail=str(e)) ```