feat: add custom username suggestions pool (#1644)
* ✨ add custom username suggestions pool * 🚸 add minimum of 10 suggested usernames until custom pool is used
This commit is contained in:
@@ -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 = ?`
|
||||
|
||||
Reference in New Issue
Block a user