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 ) { 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() ) }