27 lines
822 B
Go
27 lines
822 B
Go
package changes
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"gitea.maximumdirect.net/eric/weatherreporter/internal/briefing"
|
|
)
|
|
|
|
func CompareWeekend(previous briefing.Package, current briefing.Package, thresholds Thresholds) ([]Change, error) {
|
|
if previous.Weekend == nil {
|
|
return nil, fmt.Errorf("previous weekend briefing is required")
|
|
}
|
|
if current.Weekend == nil {
|
|
return nil, fmt.Errorf("current weekend briefing is required")
|
|
}
|
|
previousOutlook := briefing.Package{ThreeDay: &briefing.ThreeDay{Days: previous.Weekend.Days}}
|
|
currentOutlook := briefing.Package{ThreeDay: &briefing.ThreeDay{Days: current.Weekend.Days}}
|
|
changes, err := CompareThreeDay(previousOutlook, currentOutlook, thresholds)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
for i := range changes {
|
|
changes[i].Type = "weekend_" + changes[i].Type
|
|
}
|
|
return changes, nil
|
|
}
|