from fastapi import FastAPI, UploadFile
from pydantic import BaseModel
from .audio_handler import audio_handler, audio_url_handler


class URL(BaseModel):
    url: str
    from_lang: str | None = None
    to_lang: str | None = None

class Audio(BaseModel):
    file: UploadFile
    from_lang: str | None = None
    to_lang: str | None = None


app = FastAPI()


@app.get("/")
async def main():
    return {"health_check": "OK"}

@app.post("/")
async def main(audio: Audio):
    response = audio_handler(audio.file, audio.from_lang, audio.to_lang)
    return response

    
@app.post("/url")
async def url(url: URL):
    response = audio_url_handler(url.url, url.from_lang, url.to_lang)
    return response