Spaces:
Sleeping
Sleeping
from typing import List, Optional | |
from pydantic import BaseModel | |
from fastapi import FastAPI, HTTPException | |
import uvicorn | |
app = FastAPI() | |
# 1. Define the blueprint for APIs | |
class Customer(BaseModel): | |
id: int | |
name: str | |
email: str | |
phone: Optional[str] = None | |
address: Optional[str] = None | |
# 2. Create the API endpoint | |
customers_list = [] | |
#Create | |
def create_customer(customer: Customer): | |
customers_list.append(customer) | |
return customer | |
#Read | |
def get_customers(): | |
return customers_list | |
#Update | |
def update_customer(id: int, customer: Customer): | |
for i, existing_customer in enumerate(customers_list): | |
if existing_customer.id == id: | |
customers_list[i] = customer | |
return customer | |
raise HTTPException(status_code=404, detail="Customer not found") | |
#Delete | |
def delete_customer(id: int): | |
for i, customer in enumerate(customers_list): | |
if customer.id == id: | |
deleted_customer = customers_list.pop(i) | |
return deleted_customer | |
raise HTTPException(status_code=404, detail="Customer not found") | |
if __name__ == "__main__": | |
uvicorn.run(app, host="0.0.0.0", port=7860) | |