summaryrefslogtreecommitdiff
path: root/core/user/user.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/user/user.go')
-rw-r--r--core/user/user.go17
1 files changed, 12 insertions, 5 deletions
diff --git a/core/user/user.go b/core/user/user.go
index 3216828ce..218cb3d18 100644
--- a/core/user/user.go
+++ b/core/user/user.go
@@ -17,6 +17,7 @@ import (
var _datastore *data.Datastore
const moderatorScopeKey = "MODERATOR"
+const minSuggestedUsernamePoolLength = 10
// User represents a single chat user.
type User struct {
@@ -48,7 +49,7 @@ func SetupUsers() {
}
// CreateAnonymousUser will create a new anonymous user with the provided display name.
-func CreateAnonymousUser(username string) (*User, error) {
+func CreateAnonymousUser(displayName string) (*User, error) {
id := shortid.MustGenerate()
accessToken, err := utils.GenerateAccessToken()
if err != nil {
@@ -56,9 +57,15 @@ func CreateAnonymousUser(username string) (*User, error) {
return nil, err
}
- displayName := username
if displayName == "" {
- displayName = utils.GeneratePhrase()
+ suggestedUsernamesList := data.GetSuggestedUsernamesList()
+
+ if len(suggestedUsernamesList) >= minSuggestedUsernamePoolLength {
+ index := utils.RandomIndex(len(suggestedUsernamesList))
+ displayName = suggestedUsernamesList[index]
+ } else {
+ displayName = utils.GeneratePhrase()
+ }
}
displayColor := utils.GenerateRandomDisplayColor()
@@ -287,8 +294,8 @@ func GetModeratorUsers() []*User {
substr(rest, instr(rest, ',')+1)
FROM split
WHERE rest <> '')
- SELECT id, display_name, scopes, display_color, created_at, disabled_at, previous_names, namechanged_at, scope
- FROM split
+ SELECT id, display_name, scopes, display_color, created_at, disabled_at, previous_names, namechanged_at, scope
+ FROM split
WHERE scope <> ''
ORDER BY created_at
) AS token WHERE token.scope = ?`