import logging

import click

from fittrackee.cli.app import app

from .clean import clean_tokens

logger = logging.getLogger("fittrackee_clean_oauth2_tokens")
logger.setLevel(logging.INFO)


@click.group(name="oauth2")
def oauth2_cli() -> None:
    """Manage OAuth2 tokens."""
    pass


@oauth2_cli.command("clean")
@click.option("--days", type=int, required=True, help="Number of days.")
def clean(
    days: int,
) -> None:
    """Clean tokens expired for more than provided number of days"""
    with app.app_context():
        deleted_rows = clean_tokens(days)
        logger.info(f"Expired deleted tokens: {deleted_rows}.")
