package main import ( "time" "gorm.io/gorm" ) func GetScheduleItems(db *gorm.DB, fromDate time.Time, toDate time.Time) ([]ScheduleItem, error) { var items []ScheduleItem res := db.Where("date BETWEEN ? AND ?", fromDate.Format(time.DateOnly), toDate.Format(time.DateOnly)).Find(&items) return items, res.Error } func GetScheduleItem(db *gorm.DB, id int) (*ScheduleItem, error) { var item ScheduleItem res := db.First(&item, id) if res.RowsAffected < 1 { return nil, nil } return &item, res.Error } func DeleteScheduleItem(db *gorm.DB, id int) (bool, error) { res := db.Delete(&ScheduleItem{}, id) if res.Error != nil { return false, res.Error } if res.RowsAffected < 1 { return false, nil } return true, nil } func CreateScheduleItem(db *gorm.DB, name string, description *string, duration Duration, date time.Time) (ScheduleItem, error) { item := ScheduleItem{ Name: name, Description: description, Duration: duration, Date: date, } res := db.Create(&item) return item, res.Error }