File size: 1,258 Bytes
c169262
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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.")