package workflow import "time" // WorkflowSchedule is a struct that contains the scheduling information of a workflow type ScheduleMode int const ( TASK ScheduleMode = iota SERVICE ) type WorkflowSchedule struct { Mode int64 `json:"mode" bson:"mode" validate:"required"` Name string `json:"name" bson:"name" validate:"required"` Start *time.Time `json:"start" bson:"start" validate:"required,ltfield=End"` End *time.Time `json:"end,omitempty" bson:"end,omitempty"` Cron string `json:"cron,omitempty" bson:"cron,omitempty"` // ss mm hh dd MM dw task } func (ws *WorkflowSchedule) GetAllDates() (timetable []time.Time) { // Return all the execution time generated by the Cron return }