1234567891011121314151617181920212223242526272829303132 |
- package store
- import "git.andreafazzi.eu/andrea/probo/models"
- type ParticipantStore struct {
- *FilterStore[*models.Participant]
- }
- func NewParticipantStore() *ParticipantStore {
- store := new(ParticipantStore)
- store.FilterStore = NewFilterStore[*models.Participant]()
- return store
- }
- func (s *ParticipantStore) FilterInGroup(group *models.Group, filter *models.ParticipantFilter) []*models.Participant {
- participants := s.ReadAll()
- filteredParticipants := s.Filter(participants, func(p *models.Participant) bool {
- for pk, pv := range p.Attributes {
- for fk, fv := range filter.Attributes {
- if pk == fk && pv == fv {
- return true
- }
- }
- }
- return false
- })
- group.Participants = filteredParticipants
- return group.Participants
- }
|