mirror of
				https://github.com/owncast/owncast.git
				synced 2025-11-04 13:27:21 +08:00 
			
		
		
		
	Enforce username limitations on registration for #2527
This commit is contained in:
		@ -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,
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user