#
# Copyright (c) 2024-2025, Daily
#
# SPDX-License-Identifier: BSD 2-Clause License
#

import argparse

from dotenv import load_dotenv

load_dotenv(override=True)

from app import create_app
from app.config import DEFAULT_HOST, DEFAULT_PORT

app = create_app()

if __name__ == "__main__":
    import uvicorn

    parser = argparse.ArgumentParser(description="Maya FastAPI server")
    parser.add_argument("--host", type=str, default=DEFAULT_HOST, help="Host address")
    parser.add_argument("--port", type=int, default=DEFAULT_PORT, help="Port number")
    parser.add_argument("--reload", action="store_true", help="Reload code on change")

    config = parser.parse_args()

    log_config = {
        "version": 1,
        "disable_existing_loggers": True,
        "handlers": {},
        "root": {"handlers": [], "level": "INFO"}
    }

    uvicorn.run(
        "server:app",
        host=config.host,
        port=config.port,
        reload=config.reload,
        log_config=log_config,
    )
