38 lines
1.2 KiB
Kotlin
38 lines
1.2 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 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,
|
|
websiteUrl = member.websiteUrl,
|
|
blogUrl = member.blogUrl,
|
|
introduce = member.introduce,
|
|
tags = member.tags.asSequence().filter { it.tag.isActive }.map { it.tag.tag }.toList()
|
|
)
|
|
}
|