Skip to content
Snippets Groups Projects
Commit bb34a8ee authored by Kamal Bramwell's avatar Kamal Bramwell
Browse files

WIP: Updated Group model object, added GroupMembersList model class

parent 9973ba1c
No related branches found
No related tags found
No related merge requests found
package io.elixxir.xxclient.group
import io.elixxir.xxclient.models.BindingsModel.Companion.decodeArray
import io.elixxir.xxclient.models.GroupMember
import io.elixxir.xxclient.models.BindingsModel.Companion.decode
import io.elixxir.xxclient.models.GroupMembersList
import bindings.Group as GroupBindings
interface Group {
......@@ -9,7 +9,7 @@ interface Group {
val createdNano: Long
val id: ByteArray
val initMessage: ByteArray
val membership: List<GroupMember>
val membership: GroupMembersList
val name: ByteArray
val serialize: ByteArray
}
......@@ -25,11 +25,10 @@ open class GroupAdapter(
get() = group.id
override val initMessage: ByteArray
get() = group.initMessage
override val membership: List<GroupMember>
get() = decodeArray(group.membership)
override val membership: GroupMembersList
get() = decode(group.membership) ?: GroupMembersList(listOf())
override val name: ByteArray
get() = group.name
override val serialize: ByteArray
get() = group.serialize()
override val serialize: ByteArray by lazy { group.serialize() }
}
package io.elixxir.xxclient.models
import com.google.gson.annotations.SerializedName
data class GroupMembersList(
val members: List<GroupMember>
) : BindingsModel
data class GroupMember(
@SerializedName("ID")
val id: ByteArray,
@SerializedName("DHKey")
val dhKey: DHKey
) : BindingsModel
) : BindingsModel {
data class DHKey(
@SerializedName("Value")
val value: String,
@SerializedName("Fingerprint")
val fingerprint: Int
) : BindingsModel
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment