from my_modules.app.constens import THE_IP_BOT_MANAGER
from my_modules.app.logger import logger
from my_modules.app.setup import LIMITER
from quart_common.web.auth import (
  get_auth_token,
  build_verify_token,
  build_token_required,
)
from quart_common.web.feature_flags import build_feature_flag_required
from quart_common.web.decorators import (
  parse_request_data,
  format_response,
  build_apply_limit,
  login_required,
)

verify_token = build_verify_token(logger=logger)
token_required = build_token_required(logger=logger, verify_token=verify_token)

apply_limit = build_apply_limit(
  limiter=LIMITER,
  ip_bot_manager=THE_IP_BOT_MANAGER,
)

feature_flag_required = build_feature_flag_required(
  logger=logger,
)
