added store filter

This commit is contained in:
Hazel Noack
2025-07-10 12:41:09 +02:00
parent f23e48700b
commit 46cc8b7989
6 changed files with 192 additions and 5 deletions

38
internal/diyhrt/filter.go Normal file
View File

@@ -0,0 +1,38 @@
package diyhrt
import "slices"
type StoreFilter struct{
Limit int
IncludeIds []int
ExcludeIds []int
}
func (f StoreFilter) Filter (stores []Store) []Store {
result := make([]Store, 0)
for _, s := range stores {
if f.Limit > 0 && len(result) >= f.Limit {
break
}
if len(f.IncludeIds) > 0 {
if slices.Contains(f.IncludeIds, s.Id) {
result = append(result, s)
}
continue
}
if slices.Contains(f.ExcludeIds, s.Id) {
continue
}
result = append(result, s)
}
return result
}