From afc030a999ffa440d1d9598cfe4d17f12f6a45d6 Mon Sep 17 00:00:00 2001 From: Ben Myers Date: Sat, 19 Feb 2022 17:20:36 -0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20Auto-generated=20usernames=20alw?= =?UTF-8?q?ays=20meet=206=20character=20requirement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/EasyFirebase/Services/Auth/EasyUser.swift | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Sources/EasyFirebase/Services/Auth/EasyUser.swift b/Sources/EasyFirebase/Services/Auth/EasyUser.swift index 3bcc22f..b36983f 100644 --- a/Sources/EasyFirebase/Services/Auth/EasyUser.swift +++ b/Sources/EasyFirebase/Services/Auth/EasyUser.swift @@ -121,7 +121,10 @@ open class EasyUser: IndexedDocument { lastSignon = Date() self.email = email username = email.removeDomainFromEmail() - displayName = user.displayName ?? username + if username.count < 6 { + username += String.random(length: 6 - username.count) + } + displayName = user.displayName ?? email.removeDomainFromEmail() profileImageURL = user.photoURL?.absoluteString ?? EasyAuth.defaultProfileImageURLs.randomElement()!.absoluteString updateAnalyticsUserProperties() refreshEmailVerifcationStatus() @@ -401,3 +404,10 @@ public extension EasyUser { return uid == id } } + +fileprivate extension String { + static func random(length: Int) -> String { + let letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + return String((0..