probo/pkg/store/file/session.go

25 lines
800 B
Go

package file
import (
"git.andreafazzi.eu/andrea/probo/pkg/models"
"git.andreafazzi.eu/andrea/probo/pkg/store"
)
type SessionFileStore = FileStore[*models.Session, *store.Store[*models.Session]]
func NewSessionFileStore(config *FileStoreConfig[*models.Session, *store.SessionStore]) (*SessionFileStore, error) {
return NewFileStore[*models.Session](config, store.NewStore[*models.Session]())
}
func NewDefaultSessionFileStore() (*SessionFileStore, error) {
return NewSessionFileStore(
&FileStoreConfig[*models.Session, *store.SessionStore]{
FilePathConfig: FilePathConfig{GetDefaultSessionDir(), "session", ".json"},
IndexDirFunc: DefaultIndexDirFunc[*models.Session, *store.SessionStore],
CreateEntityFunc: func() *models.Session {
return &models.Session{}
},
},
)
}