feat: add delete schoolyear route and handler

This commit is contained in:
Patryk Hegenberg 2025-11-09 17:35:10 +01:00
parent 3ac1947106
commit 34834f2eaa
3 changed files with 52 additions and 0 deletions

View file

@ -580,3 +580,31 @@ func calculateHours(entry TimeEntry) float64 {
return calculateHoursDiff(entry.StartTime, entry.EndTime)
}
}
func DeleteSchoolYear(db *sql.DB, id int) error {
var isActive bool
err := db.QueryRow("SELECT is_active FROM school_years WHERE id = ?", id).Scan(&isActive)
if err != nil {
return err
}
if isActive {
return fmt.Errorf("cannot delete active school year")
}
result, err := db.Exec("DELETE FROM school_years WHERE id = ? AND is_active = 0", id)
if err != nil {
return err
}
rowsAffected, err := result.RowsAffected()
if err != nil {
return err
}
if rowsAffected == 0 {
return sql.ErrNoRows
}
return nil
}