Implement version handling in check

This commit is contained in:
Jan Dittberner 2024-10-24 19:07:19 +02:00
parent 75bd20c775
commit 99eef916b4

View file

@ -147,8 +147,10 @@ func (r *Resource) Check() error {
return fmt.Errorf("could not parse input from Concourse: %w", err)
}
var inputDate time.Time
if len(input.Version.Date) > 0 {
_, err = parseISODate(input.Version.Date)
inputDate, err = parseISODate(input.Version.Date)
if err != nil {
return fmt.Errorf("could not interpret version from Concourse as date: %w", err)
}
@ -164,8 +166,15 @@ func (r *Resource) Check() error {
for _, item := range dsaData.Items {
parts := strings.SplitN(item.Title, " ", 2)
versionDate, err := parseISODate(item.Date)
if err != nil {
return fmt.Errorf("could not interpret date from RDF feed as date: %w", err)
}
if inputDate.IsZero() || inputDate.Before(versionDate) {
dates.addVersion(Version{Date: item.Date, DSANumber: parts[0]})
}
}
sort.Sort(dates)