from fastapi import APIRouter, status, HTTPException from models.query import Query from services.elasticsearch import get_customer, update_customer router = APIRouter() @router.post("/sign-in-up") def handle_sign_in_up(query: Query): customer_id = next( (entity['value'] for entity in query.entities if entity['entity'] == 'customer_id'), None) if customer_id: customer = get_customer(customer_id) if not customer: raise HTTPException( status_code=status.HTTP_404_NOT_FOUND, detail="Customer not found") return customer else: raise HTTPException( status_code=status.HTTP_404_NOT_FOUND, detail="Customer ID not provided.") @router.post("/update-account") def handle_update_account(query: Query): customer_id = next( (entity['value'] for entity in query.entities if entity['entity'] == 'customer_id'), None) updates = {entity['entity']: entity['value'] for entity in query.entities} if customer_id: update_customer(customer_id, updates) return {"message": "Account information updated successfully"} else: raise HTTPException( status_code=status.HTTP_404_NOT_FOUND, detail="Customer ID not provided.")