#!/usr/bin/env -S uv run --script
import quart_flask_patch
import asyncio
asyncio.set_event_loop_policy(asyncio.DefaultEventLoopPolicy())

from my_modules.app.constens import WEB_DEBUG
import my_modules.middleware
from my_modules.app.setup import app
import routes.handeling.errorsAndBots
from routes import (
  basic_bp, auth_login_bp,
  side_main_bp,
  upload_bp,
  link_composer_bp,
  cli_auth_bp,
  api_download_bp,
  api_events_bp,
  health_bp
)
from routes.api.link import link_bp as servicelink_bp

# Views for Requests adding the uris
app.register_blueprint(basic_bp)
app.register_blueprint(auth_login_bp)

app.register_blueprint(side_main_bp)
app.register_blueprint(upload_bp)
app.register_blueprint(link_composer_bp)
app.register_blueprint(cli_auth_bp)
app.register_blueprint(api_download_bp)
app.register_blueprint(api_events_bp)

# ServiceLink node-to-node mesh endpoint (POST /rpc)
app.register_blueprint(servicelink_bp)

app.register_blueprint(health_bp, url_prefix='/health')

if __name__ == '__main__':
  app.run(debug=WEB_DEBUG, port=5502)
