finish session getting code

This commit is contained in:
Gregory Wells
2026-06-07 20:27:42 -04:00
parent 78d259ea3b
commit 5386b64648
3 changed files with 19 additions and 10 deletions
+15 -7
View File
@@ -2,6 +2,8 @@ package session
import (
"context"
"encoding/json"
"time"
"astraltech.xyz/accountmanager/src/logging"
"github.com/redis/go-redis/v9"
@@ -45,19 +47,25 @@ func (m *RedisStore) Create(sessionID string, session *SessionData) (err error)
func (m *RedisStore) Get(sessionID string) (*SessionData, error) {
hashed := hashSession(sessionID)
_, err := m.client.Get(m.ctx, hashed).Result()
data, err := m.client.Get(m.ctx, hashed).Bytes()
if err == redis.Nil {
return nil, ErrSessionNotFound
} else if err != nil {
logging.Error(err.Error())
return nil, ErrSessionBackend
}
// if time.Now().After(data.ExpiresAt) {
// _ = m.Delete(sessionID) // ignore error
// return nil, ErrSessionExpired
// }
// copy := *data
return nil, nil
var session_data SessionData
if err := json.Unmarshal(data, &session_data); err != nil {
logging.Error(err.Error())
return nil, ErrSessionBackend
}
if time.Now().After(session_data.ExpiresAt) {
_ = m.Delete(sessionID)
return nil, ErrSessionBackend
}
return &session_data, nil
}
func (m *RedisStore) Update(sessionID string, session *SessionData) error {
return nil