session.go 800 B

12345678910111213141516171819202122232425
  1. package file
  2. import (
  3. "git.andreafazzi.eu/andrea/probo/pkg/models"
  4. "git.andreafazzi.eu/andrea/probo/pkg/store"
  5. )
  6. type SessionFileStore = FileStore[*models.Session, *store.Store[*models.Session]]
  7. func NewSessionFileStore(config *FileStoreConfig[*models.Session, *store.SessionStore]) (*SessionFileStore, error) {
  8. return NewFileStore[*models.Session](config, store.NewStore[*models.Session]())
  9. }
  10. func NewDefaultSessionFileStore() (*SessionFileStore, error) {
  11. return NewSessionFileStore(
  12. &FileStoreConfig[*models.Session, *store.SessionStore]{
  13. FilePathConfig: FilePathConfig{GetDefaultSessionDir(), "session", ".json"},
  14. IndexDirFunc: DefaultIndexDirFunc[*models.Session, *store.SessionStore],
  15. CreateEntityFunc: func() *models.Session {
  16. return &models.Session{}
  17. },
  18. },
  19. )
  20. }