Files
movienight-backend/src/main/kotlin/com/project/movienight/adapters/security/VkOAuth2UserInfo.kt
T
skettiks 312c18645b - Перенесён OAuth2UserInfo.kt из adapters/security/ в application/ports/input/security/; обновлены импорты во всех зависимых файла
- В UserPrincipal.kt заменён star import java.util.* на явный java.util.UUID.

- В YandexOAuth2UserInfo.kt и VkOAuth2UserInfo.kt убрана аннотация @Suppress("UNCHECKED_CAST")

- В build.gradle.kts хардкод версии заменён на version catalog

- Из CustomOAuth2UserService.kt удалены комментарии на русском языке
2026-04-23 23:59:16 +03:00

31 lines
971 B
Kotlin

package com.project.movienight.adapters.security
import com.project.movienight.application.ports.input.security.OAuth2UserInfo
class VkOAuth2UserInfo(
private val attributes: Map<String, Any>
) : OAuth2UserInfo {
override fun getProviderId(): String {
return (attributes["response"] as? List<*>)
?.firstOrNull()
?.let { it as? Map<*, *> }
?.get("id")
?.toString() ?: ""
}
override fun getEmail(): String = attributes["email"]?.toString() ?: ""
override fun getName(): String {
val response = attributes["response"] as? List<*>
val first = response?.firstOrNull() as? Map<*, *>
val firstName = first?.get("first_name")?.toString() ?: ""
val lastName = first?.get("last_name")?.toString() ?: ""
return "$firstName $lastName".trim()
}
override fun getProvider(): String = "vk"
override fun getAttributes(): Map<String, Any> = attributes
}