probo/lib/store/file/participant.go
2023-12-21 17:38:05 +01:00

26 lines
932 B
Go

package file
import (
"git.andreafazzi.eu/andrea/probo/lib/models"
"git.andreafazzi.eu/andrea/probo/lib/store"
)
type ParticipantFileStore = FileStore[*models.Participant, *store.ParticipantStore]
func NewParticipantFileStore(config *FileStoreConfig[*models.Participant, *store.ParticipantStore]) (*ParticipantFileStore, error) {
return NewFileStore[*models.Participant, *store.ParticipantStore](config, store.NewParticipantStore())
}
func NewParticipantDefaultFileStore() (*ParticipantFileStore, error) {
return NewParticipantFileStore(
&FileStoreConfig[*models.Participant, *store.ParticipantStore]{
FilePathConfig: FilePathConfig{GetDefaultParticipantsDir(), "participant", ".json"},
IndexDirFunc: DefaultIndexDirFunc[*models.Participant, *store.ParticipantStore],
CreateEntityFunc: func() *models.Participant {
return &models.Participant{
Attributes: make(map[string]string),
}
},
},
)
}