package agentshared import "github.com/LoveLosita/smartflow/backend/model" func CloneWeekSchedules(src []model.UserWeekSchedule) []model.UserWeekSchedule { if len(src) == 0 { return nil } dst := make([]model.UserWeekSchedule, 0, len(src)) for _, week := range src { eventsCopy := make([]model.WeeklyEventBrief, len(week.Events)) copy(eventsCopy, week.Events) dst = append(dst, model.UserWeekSchedule{ Week: week.Week, Events: eventsCopy, }) } return dst } func CloneHybridEntries(src []model.HybridScheduleEntry) []model.HybridScheduleEntry { if len(src) == 0 { return nil } dst := make([]model.HybridScheduleEntry, len(src)) copy(dst, src) return dst } func CloneTaskClassItems(src []model.TaskClassItem) []model.TaskClassItem { if len(src) == 0 { return nil } dst := make([]model.TaskClassItem, 0, len(src)) for _, item := range src { copied := item if item.CategoryID != nil { v := *item.CategoryID copied.CategoryID = &v } if item.Order != nil { v := *item.Order copied.Order = &v } if item.Content != nil { v := *item.Content copied.Content = &v } if item.Status != nil { v := *item.Status copied.Status = &v } if item.EmbeddedTime != nil { t := *item.EmbeddedTime copied.EmbeddedTime = &t } dst = append(dst, copied) } return dst } func CloneInts(src []int) []int { if len(src) == 0 { return nil } dst := make([]int, len(src)) copy(dst, src) return dst } func CloneStrings(src []string) []string { if len(src) == 0 { return nil } dst := make([]string, len(src)) copy(dst, src) return dst }