27 lines
1.2 KiB
Go
27 lines
1.2 KiB
Go
package briefing
|
|
|
|
import "gitea.maximumdirect.net/eric/weatherreporter/internal/module"
|
|
|
|
type TodayPlanningModule struct {
|
|
MorningReadiness []string `json:"morning_readiness,omitempty"`
|
|
CommuteSchoolWorkdayConcerns []string `json:"commute_school_workday_concerns,omitempty"`
|
|
OutdoorPlanning []string `json:"outdoor_planning,omitempty"`
|
|
LateDayChangeWatch []string `json:"late_day_change_watch,omitempty"`
|
|
}
|
|
|
|
func buildTodayPlanningModule(ctx ModuleContext, _ any) (*module.Output, error) {
|
|
summary := ctx.Derived.FirstDailySummary()
|
|
if summary == nil {
|
|
return &module.Output{ID: module.TodayPlanning, StanzaName: "today_planning", Value: TodayPlanningModule{}}, nil
|
|
}
|
|
planning := buildTodayPlanning(summary)
|
|
value := TodayPlanningModule{}
|
|
if planning != nil {
|
|
value.MorningReadiness = append([]string(nil), planning.MorningReadiness...)
|
|
value.CommuteSchoolWorkdayConcerns = append([]string(nil), planning.CommuteSchoolWorkdayConcerns...)
|
|
value.OutdoorPlanning = append([]string(nil), planning.OutdoorPlanning...)
|
|
value.LateDayChangeWatch = append([]string(nil), planning.LateDayChangeWatch...)
|
|
}
|
|
return &module.Output{ID: module.TodayPlanning, StanzaName: "today_planning", Value: value}, nil
|
|
}
|