"""Menjalankan server (HTTPS jika sertifikat tersedia)."""
from pathlib import Path

import uvicorn

from app.config import BASE_DIR, settings


def _abs(p: str) -> str:
    return p if not p or Path(p).is_absolute() else str(BASE_DIR / p)


if __name__ == "__main__":
    cert, key = _abs(settings.ssl_certfile), _abs(settings.ssl_keyfile)
    kw = {}
    if cert and key and Path(cert).exists() and Path(key).exists():
        kw = {"ssl_certfile": cert, "ssl_keyfile": key}
        print(f"HTTPS aktif di https://0.0.0.0:{settings.port}")
    else:
        print("PERINGATAN: sertifikat HTTPS tidak ditemukan — server berjalan dengan HTTP. Jalankan scripts\\gen_cert.bat")
    uvicorn.run("app.main:app", host=settings.host, port=settings.port, log_level="info", **kw)
