"""Scheduler persistence helpers."""

from __future__ import annotations

from bot.infra.db.manager import db_manager


class SchedulerRepository:
    async def list_chat_jobs(self, chat_id: int) -> list:
        return await db_manager.fetchall(
            "SELECT id, job_type, interval_secs, text_preview, created_at FROM scheduled_jobs WHERE chat_id=? ORDER BY id",
            (chat_id,),
        )

    async def get_chat_job(self, job_id: int, chat_id: int):
        return await db_manager.fetchone(
            "SELECT * FROM scheduled_jobs WHERE id=? AND chat_id=?",
            (job_id, chat_id),
        )

    async def delete_job(self, job_id: int) -> None:
        await db_manager.execute(
            "DELETE FROM scheduled_jobs WHERE id=?",
            (job_id,),
        )

    async def list_all_jobs(self) -> list:
        return await db_manager.fetchall("SELECT * FROM scheduled_jobs")


scheduler_repository = SchedulerRepository()
