Compare commits

..

2 Commits

Author SHA1 Message Date
Yavolte fb585fabe6 use jwt claims 2025-06-30 11:25:55 +08:00
Yavolte 29d609ce0a fix cache bugs 2025-06-30 11:11:34 +08:00
3 changed files with 28 additions and 5 deletions

View File

@ -57,9 +57,16 @@ func WithAllow(paths ...string) Option {
}
}
func WithClaims(claims reflect.Type) Option {
func WithClaims(claims any) Option {
return func(o *options) {
o.claims = claims
if tv, ok := claims.(reflect.Type); ok {
o.claims = tv
} else {
o.claims = reflect.TypeOf(claims)
if o.claims.Kind() == reflect.Ptr {
o.claims = o.claims.Elem()
}
}
}
}

View File

@ -4,6 +4,8 @@ import (
"context"
"encoding/json"
"time"
"git.nobla.cn/golang/aeus"
)
type redisCache struct {
@ -57,7 +59,12 @@ func (c *redisCache) String() string {
}
func NewCache(opts ...Option) *redisCache {
return &redisCache{
cache := &redisCache{
opts: newOptions(opts...),
}
app := aeus.FromContext(cache.opts.context)
if app != nil {
cache.opts.prefix = app.Name() + ":" + cache.opts.prefix
}
return cache
}

View File

@ -1,11 +1,14 @@
package redis
import (
"context"
"github.com/redis/go-redis/v9"
)
type (
options struct {
context context.Context
client *redis.Client
prefix string
}
@ -19,6 +22,12 @@ func WithClient(client *redis.Client) Option {
}
}
func WithContext(ctx context.Context) Option {
return func(o *options) {
o.context = ctx
}
}
func WithPrefix(prefix string) Option {
return func(o *options) {
o.prefix = prefix