mirror of
https://github.com/iflytek/skillhub.git
synced 2026-10-10 03:27:54 +00:00
fix(namespace): use stable random personal namespace slugs
This commit is contained in:
parent
dc31bb97f4
commit
04bb414b37
3 changed files with 10 additions and 3 deletions
|
|
@ -3,6 +3,7 @@ package com.iflytek.skillhub.domain.namespace;
|
|||
import java.util.Map;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Renders the operator-configured name templates for a personal namespace.
|
||||
|
|
@ -37,7 +38,8 @@ final class PersonalNamespaceNaming {
|
|||
Map<String, String> values = Map.of(
|
||||
PersonalNamespaceSettings.PLACEHOLDER_USERNAME, username(owner),
|
||||
PersonalNamespaceSettings.PLACEHOLDER_EMAIL_PREFIX, emailPrefix(owner),
|
||||
PersonalNamespaceSettings.PLACEHOLDER_USER_ID, blankToEmpty(owner.userId()));
|
||||
PersonalNamespaceSettings.PLACEHOLDER_USER_ID, blankToEmpty(owner.userId()),
|
||||
PersonalNamespaceSettings.PLACEHOLDER_RANDOM, randomSuffix());
|
||||
|
||||
Matcher matcher = PLACEHOLDER.matcher(template);
|
||||
StringBuilder rendered = new StringBuilder();
|
||||
|
|
@ -101,4 +103,8 @@ final class PersonalNamespaceNaming {
|
|||
private static String blankToEmpty(String value) {
|
||||
return value == null ? "" : value.trim();
|
||||
}
|
||||
|
||||
private static String randomSuffix() {
|
||||
return UUID.randomUUID().toString().replace("-", "").substring(0, 8).toLowerCase();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,9 +24,9 @@ public class PersonalNamespaceProvisioningProperties {
|
|||
* Spring property references. Operators change the templates in the admin console, so these
|
||||
* defaults only apply until someone does.
|
||||
*/
|
||||
private String slugTemplate = "${username}";
|
||||
private String slugTemplate = "personal-${random}";
|
||||
|
||||
private String displayNameTemplate = "${username}";
|
||||
private String displayNameTemplate = "${username}-个人空间";
|
||||
|
||||
public boolean isEnabled() {
|
||||
return enabled;
|
||||
|
|
|
|||
|
|
@ -20,4 +20,5 @@ public record PersonalNamespaceSettings(
|
|||
public static final String PLACEHOLDER_USERNAME = "username";
|
||||
public static final String PLACEHOLDER_EMAIL_PREFIX = "email_prefix";
|
||||
public static final String PLACEHOLDER_USER_ID = "user_id";
|
||||
public static final String PLACEHOLDER_RANDOM = "random";
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue