feat: add delete schoolyear route and handler
This commit is contained in:
parent
3ac1947106
commit
34834f2eaa
3 changed files with 52 additions and 0 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue