Allow getUserDetails() to lookup on userId when user not found by username query
This commit is contained in:
parent
735f3427c5
commit
9719853302
@ -43,7 +43,7 @@ class UserService(
|
||||
}
|
||||
|
||||
fun getUserDetails(identifier: Any): UserDetailsExtended? {
|
||||
val user = when (identifier) {
|
||||
var user = when (identifier) {
|
||||
is Long -> dslContext.selectFrom(USERS)
|
||||
.where(USERS.USER_ID.eq(identifier))
|
||||
.fetchOneInto(UsersRecord::class.java)
|
||||
@ -53,6 +53,16 @@ class UserService(
|
||||
else -> null
|
||||
}
|
||||
|
||||
// Lookup user by ID if we have not found a user via a username lookup and the identifier is a valid number
|
||||
if (user == null && identifier is String) {
|
||||
val longIdentifier = identifier.toLongOrNull()
|
||||
if (longIdentifier != null) {
|
||||
user = dslContext.selectFrom(USERS)
|
||||
.where(USERS.USER_ID.eq(longIdentifier))
|
||||
.fetchOneInto(UsersRecord::class.java)
|
||||
}
|
||||
}
|
||||
|
||||
if (user != null) {
|
||||
val userDetails = UserDetails(
|
||||
user.userId!!,
|
||||
@ -75,7 +85,7 @@ class UserService(
|
||||
// The database does NOT have the user; we will now use the osu!api
|
||||
val apiUser = when (identifier) {
|
||||
is Long -> this.osuApi.getUserProfile(userId = identifier.toString(), mode = "osu", key = "id")
|
||||
is String -> this.osuApi.getUserProfile(userId = identifier, mode = "osu", key = "username")
|
||||
is String -> this.osuApi.getUserProfile(userId = identifier, mode = "osu")
|
||||
else -> null
|
||||
} ?: return null
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user