Files
sodalive-backend-spring-boot/src/main/kotlin/kr/co/vividnext/sodalive/member/ProfileResponse.kt

42 lines
1.3 KiB
Kotlin

package kr.co.vividnext.sodalive.member
data class ProfileResponse(
val userId: Long,
val email: String,
val nickname: String,
val gender: Gender,
val profileUrl: String,
val chargeCan: Int,
val rewardCan: Int,
val youtubeUrl: String?,
val instagramUrl: String?,
val fancimmUrl: String?,
val xUrl: String?,
val blogUrl: String?,
val websiteUrl: String?,
val introduce: String,
val tags: List<String>
) {
constructor(member: Member, cloudFrontHost: String, container: String) : this(
userId = member.id!!,
email = member.email ?: "",
nickname = member.nickname,
gender = member.gender,
profileUrl = if (member.profileImage != null) {
"$cloudFrontHost/${member.profileImage}"
} else {
"$cloudFrontHost/profile/default-profile.png"
},
chargeCan = member.getChargeCan(container),
rewardCan = member.getRewardCan(container),
youtubeUrl = member.youtubeUrl,
instagramUrl = member.instagramUrl,
fancimmUrl = member.fancimmUrl,
xUrl = member.xUrl,
websiteUrl = member.websiteUrl,
blogUrl = member.blogUrl,
introduce = member.introduce,
tags = member.tags.asSequence().filter { it.tag.isActive }.map { it.tag.tag }.toList()
)
}