package session import ( "context" "log" "github.com/go-redis/redis/v8" ) type RedisStore struct { ctx context.Context store *redis.Client } func (c *RedisStore) AddToken(userId, token string) { err := c.store.Set(c.ctx, "authorizer_"+userId, token, 0).Err() if err != nil { log.Fatalln("Error saving redis token:", err) } } func (c *RedisStore) DeleteToken(userId string) { err := c.store.Del(c.ctx, "authorizer_"+userId).Err() if err != nil { log.Fatalln("Error deleting redis token:", err) } } func (c *RedisStore) ClearStore() { err := c.store.Del(c.ctx, "authorizer_*").Err() if err != nil { log.Fatalln("Error clearing redis store:", err) } } func (c *RedisStore) GetToken(userId string) string { token := "" token, err := c.store.Get(c.ctx, "authorizer_"+userId).Result() if err != nil { log.Println("Error getting token from redis store:", err) } return token }