import uvicorn
from fastapi import FastAPI, BackgroundTasks
from .core import YomiCore
import os

app = FastAPI(title="Yomi API Bridge")
# Motoru başlat (İndirilenler klasörünü belirle)
yomi = YomiCore(output_dir="downloads", workers=8)

@app.get("/")
def home():
    return {"status": "online", "engine": "Yomi-Core", "version": "0.1.0"}

@app.get("/search")
async def search(q: str):
    """Manga arama ve sonuçları döndürme"""
    # Core içindeki _resolve_target fonksiyonunu kullanıyoruz
    result_url = await yomi._resolve_target(q)
    return {"query": q, "resolved_url": result_url}

@app.get("/download")
async def download(target: str, chapters: str = None, background_tasks: BackgroundTasks = None):
    """İndirme işlemini arka planda başlatır (App'i dondurmaz)"""
    background_tasks.add_task(yomi.download_manga, target, chapters)
    return {"status": "started", "target": target, "range": chapters}

def start_api():
    uvicorn.run(app, host="127.0.0.1", port=8000)

if __name__ == "__main__":
    start_api()