import { QueryResult } from "@tauri-apps/plugin-sql"; import { getDb } from "@/db/initDb"; import { SELECT_TIMERS, SELECT_TIMER, INSERT_TIMER, UPDATE_TIMER, DELETE_TIMER } from "@/db/dml/timerDML"; import { TimersRow, TimerRow } from "@/types/timerType"; /** Получает список таймеров */ export async function getTimers(): Promise { const db = await getDb(); return await db.select(SELECT_TIMERS); } /** Получает таймер по его id */ export async function getTimer(TimerId: number): Promise { const db = await getDb(); const rows = await db.select(SELECT_TIMER, [TimerId]); if (!Array.isArray(rows) || rows.length === 0) { throw new Error('Таймер не найден'); } return rows[0]; } /** Создаёт новый таймер */ export async function createTimer( title: string, pomodoroTime: number, breakTime: number, breakLongTime: number, countPomodoro: number ): Promise { const db = await getDb(); return await db.execute(INSERT_TIMER, [ title, pomodoroTime, breakTime, breakLongTime, countPomodoro ]); } /** Обновляет таймер */ export async function updateTimer( TimerId: number, title: string, pomodoroTime: number, breakTime: number, breakLongTime: number, countPomodoro: number ): Promise { const db = await getDb(); return await db.execute(UPDATE_TIMER, [ title, pomodoroTime, breakTime, breakLongTime, countPomodoro, TimerId ]); } /** Удаляет таймер */ export async function deleteTimer(TimerId: number): Promise { const db = await getDb(); return await db.execute(DELETE_TIMER, [TimerId]); }