2023-12-12 09:22:07 +01:00
|
|
|
package file
|
|
|
|
|
|
|
|
import (
|
2024-02-06 09:03:57 +01:00
|
|
|
"git.andreafazzi.eu/andrea/probo/pkg/models"
|
|
|
|
"git.andreafazzi.eu/andrea/probo/pkg/store"
|
2023-12-12 09:22:07 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
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{}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
)
|
|
|
|
|
|
|
|
}
|