import httpx
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel

app = FastAPI()

@app.get("/internal")
async def internal():
    return {"message": "Hello from internal endpoint"}

class Item(BaseModel):
    message: str
    phone_number: str

@app.post("/external/")
async def external(item: Item):
    try:
        async with httpx.AsyncClient() as client:
            message = item.message
            phone_number = item.phone_number
            response = await client.post("https://api.rmlconnect.net:8443/bulksms/bulksms?username=mpszambia&password=C@rVer24&destination="+phone_number+"&source=CarVer&message="+message+"&type=0")
            response.raise_for_status()
            return response.text
            #return response.json()
    except httpx.RequestError as exc:
        raise HTTPException(status_code=500, detail=f"HTTP error: {str(exc)}")
        return "Failed to send message"
