package domain import ( "strconv" "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" ) func GetPermissionIDRedisKey(id string) string { return PermissionIDRedisKey.With(id).ToString() } func GetPermissionNameRedisKey(id string) string { return PermissionNameRedisKey.With(id).ToString() } const ( RoleIDRedisKey RedisKey = "role:id" RoleUIDRedisKey RedisKey = "role:uid" ) func GetRoleIDRedisKey(id int64) string { return RoleIDRedisKey.With(strconv.FormatInt(id, 10)).ToString() } func GetRoleUIDRedisKey(uid string) string { return RoleUIDRedisKey.With(uid).ToString() } const ( RolePermissionRedisKey RedisKey = "role_permission" ) func GetRolePermissionRedisKey(roleID int64) string { return RolePermissionRedisKey.With(strconv.FormatInt(roleID, 10)).ToString() } const ( UserRoleUIDRedisKey RedisKey = "user_role:uid" ) func GetUserRoleUIDRedisKey(uid string) string { return UserRoleUIDRedisKey.With(uid).ToString() }