|
|
|
@ -383,6 +383,11 @@ class GroupInfoConfig private constructor(pointer: Long): ConfigBase(pointer), M
|
|
|
|
|
|
|
|
|
|
interface ReadableGroupMembersConfig: ReadableConfig {
|
|
|
|
|
fun all(): List<GroupMember>
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the [GroupMember] for the given [pubKeyHex] or null if it doesn't exist.
|
|
|
|
|
* Note: exception will be thrown if the [pubKeyHex] is invalid. You can opt to use [getOrNull] instead
|
|
|
|
|
*/
|
|
|
|
|
fun get(pubKeyHex: String): GroupMember?
|
|
|
|
|
fun status(groupMember: GroupMember): GroupMember.Status
|
|
|
|
|
}
|
|
|
|
@ -391,6 +396,15 @@ fun ReadableGroupMembersConfig.allWithStatus(): Sequence<Pair<GroupMember, Group
|
|
|
|
|
return all().asSequence().map { it to status(it) }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the [GroupMember] for the given [pubKeyHex] or null if it doesn't exist or is invalid
|
|
|
|
|
*/
|
|
|
|
|
fun ReadableGroupMembersConfig.getOrNull(pubKeyHex: String): GroupMember? {
|
|
|
|
|
return runCatching {
|
|
|
|
|
get(pubKeyHex)
|
|
|
|
|
}.getOrNull()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
interface MutableGroupMembersConfig : ReadableGroupMembersConfig, MutableConfig {
|
|
|
|
|
fun getOrConstruct(pubKeyHex: String): GroupMember
|
|
|
|
|
fun set(groupMember: GroupMember)
|
|
|
|
|