backend/pkg/permission/domain/redis.go

64 lines
1.4 KiB
Go
Executable File

package domain
import (
"strings"
)
const (
TicketKeyPrefix = "tic/"
)
const (
ClientDataKey = "permission:clients"
)
type RedisKey string
const (
AccessTokenRedisKey RedisKey = "access_token"
RefreshTokenRedisKey RedisKey = "refresh_token"
DeviceTokenRedisKey RedisKey = "device_token"
UIDTokenRedisKey RedisKey = "uid_token"
TicketRedisKey RedisKey = "ticket"
DeviceUIDRedisKey RedisKey = "device_uid"
)
func (key RedisKey) ToString() string {
return "permission:" + string(key)
}
func (key RedisKey) With(s ...string) RedisKey {
parts := append([]string{string(key)}, s...)
return RedisKey(strings.Join(parts, ":"))
}
func GetAccessTokenRedisKey(id string) string {
return AccessTokenRedisKey.With(id).ToString()
}
func GetUIDTokenRedisKey(uid string) string {
return UIDTokenRedisKey.With(uid).ToString()
}
func GetTicketRedisKey(ticket string) string {
return TicketRedisKey.With(ticket).ToString()
}
const (
PermissionIDRedisKey RedisKey = "permission:id"
PermissionNameRedisKey RedisKey = "permission:name"
PermissionHttpRedisKey RedisKey = "permission:http"
)
func GetPermissionIDRedisKey(id string) string {
return PermissionIDRedisKey.With(id).ToString()
}
func GetPermissionNameRedisKey(id string) string {
return PermissionNameRedisKey.With(id).ToString()
}
func GetPermissionHttpRedisKey(id string) string {
return PermissionHttpRedisKey.With(id).ToString()
}