2024-07-29 02:38:17 +03:00
|
|
|
package session
|
|
|
|
|
|
|
|
import (
|
|
|
|
"sync"
|
|
|
|
)
|
|
|
|
|
|
|
|
type MemoryStore struct {
|
|
|
|
store sync.Map
|
|
|
|
}
|
|
|
|
|
2024-07-30 00:45:25 +03:00
|
|
|
func (s *MemoryStore) Load(sessionID string) Values {
|
2024-07-29 02:38:17 +03:00
|
|
|
val, ok := s.store.Load(sessionID)
|
|
|
|
if ok {
|
2024-07-30 00:45:25 +03:00
|
|
|
return val.(Values)
|
2024-07-29 02:38:17 +03:00
|
|
|
}
|
|
|
|
|
2024-07-30 00:45:25 +03:00
|
|
|
return Values{}
|
2024-07-29 02:38:17 +03:00
|
|
|
}
|
|
|
|
|
2024-07-30 00:45:25 +03:00
|
|
|
func (s *MemoryStore) Save(sessionID string, value Values) error {
|
2024-07-29 02:38:17 +03:00
|
|
|
s.store.Store(sessionID, value)
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2024-07-30 00:45:25 +03:00
|
|
|
func (s *MemoryStore) Remove(sessionID string) error {
|
2024-07-29 02:38:17 +03:00
|
|
|
s.store.Delete(sessionID)
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|