File tree Expand file tree Collapse file tree
domain/model/src/main/java/com/lanpet/domain/model Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package com.lanpet.domain.model
22
3+ import kotlinx.serialization.KSerializer
34import kotlinx.serialization.Serializable
5+ import kotlinx.serialization.builtins.serializer
6+ import kotlinx.serialization.descriptors.SerialDescriptor
7+ import kotlinx.serialization.encoding.Decoder
8+ import kotlinx.serialization.encoding.Encoder
49
510@Serializable
611data class Profile (
712 val nickname : String ,
13+ @Serializable(with = Base64StringSerializer ::class )
814 val profileImage : String? ,
915)
16+
17+ object Base64StringSerializer : KSerializer<String> {
18+ override val descriptor: SerialDescriptor
19+ get() = String .serializer().descriptor
20+
21+ override fun serialize (
22+ encoder : Encoder ,
23+ value : String ,
24+ ) {
25+ val base64Encoded =
26+ android.util.Base64 .encode(value.toByteArray(), android.util.Base64 .DEFAULT )
27+ encoder.encodeString(String (base64Encoded))
28+ }
29+
30+ override fun deserialize (decoder : Decoder ): String {
31+ val base64Decoded =
32+ android.util.Base64 .decode(decoder.decodeString(), android.util.Base64 .DEFAULT )
33+ return String (base64Decoded)
34+ }
35+ }
Original file line number Diff line number Diff line change @@ -2,8 +2,6 @@ package com.lanpet.domain.model.free
22
33import com.lanpet.domain.model.Profile
44import kotlinx.serialization.Serializable
5- import java.util.SortedSet
6- import java.util.TreeSet
75
86@Serializable
97data class FreeBoardComment (
@@ -12,10 +10,7 @@ data class FreeBoardComment(
1210 val comment : String? ,
1311 val createdAt : String ,
1412 val subComments : List <FreeBoardSubComment > = emptyList(),
15- ) {
16- val subCommentsTree: SortedSet <FreeBoardSubComment >
17- get() = TreeSet (subComments).toSortedSet(compareBy { it.createdAt })
18- }
13+ )
1914
2015@Serializable
2116data class FreeBoardSubComment (
You can’t perform that action at this time.
0 commit comments