Enforce username limitations on registration for #2527

This commit is contained in:
Gabe Kangas
2022-12-29 10:03:15 -08:00
parent 0c03773c4c
commit 6a8473a297

View File

@ -56,23 +56,32 @@ func SetupUsers() {
_datastore = data.GetDatastore() _datastore = data.GetDatastore()
} }
// CreateAnonymousUser will create a new anonymous user with the provided display name. func generateDisplayName() string {
func CreateAnonymousUser(displayName string) (*User, string, error) {
id := shortid.MustGenerate()
if displayName == "" {
suggestedUsernamesList := data.GetSuggestedUsernamesList() suggestedUsernamesList := data.GetSuggestedUsernamesList()
if len(suggestedUsernamesList) >= minSuggestedUsernamePoolLength { if len(suggestedUsernamesList) >= minSuggestedUsernamePoolLength {
index := utils.RandomIndex(len(suggestedUsernamesList)) index := utils.RandomIndex(len(suggestedUsernamesList))
displayName = suggestedUsernamesList[index] return suggestedUsernamesList[index]
} else { } else {
displayName = utils.GeneratePhrase() return utils.GeneratePhrase()
} }
} }
// CreateAnonymousUser will create a new anonymous user with the provided display name.
func CreateAnonymousUser(displayName string) (*User, string, error) {
// Try to assign a name that was requested.
if displayName != "" {
// If name isn't available then generate a random one.
if available, _ := IsDisplayNameAvailable(displayName); !available {
displayName = generateDisplayName()
}
} else {
displayName = generateDisplayName()
}
displayColor := utils.GenerateRandomDisplayColor(config.MaxUserColor) displayColor := utils.GenerateRandomDisplayColor(config.MaxUserColor)
id := shortid.MustGenerate()
user := &User{ user := &User{
ID: id, ID: id,
DisplayName: displayName, DisplayName: displayName,