from ..snowflake.base import SnowflakeJob
from src.utils.snowflake.constants import QueryType, Role, Warehouse
from .constants import JobGroup


class BotsHourly(SnowflakeJob):
    def __init__(self):
        super().__init__(
            name="bots_hourly",
            description="Saves the hourly bot features",
            schedule="0 */3 * * *",  # Run every 3 hours (12am, 3am, 6am, 9am, 12pm, 3pm, 6pm, 9pm)
            query_file="../bots/queries/bots_hourly.sql",
            query_type=QueryType.DDL,
            warehouse=Warehouse.LARGE,
            role=Role.ACCOUNTADMIN,
            group_name=JobGroup.BOTS.value,
            monitored=True,
            owners=["team:core-pod"],
            metadata={
                "slack": "#tech-anti-bots",
            },
            tags={"team": "core-pod", "tech-alerts": "true"},
        )


bots_hourly = BotsHourly()
