All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.com.sceyt.chatuikit.persistence.interactor.ChannelMemberInteractor.kt Maven / Gradle / Ivy

package com.sceyt.chatuikit.persistence.interactor

import com.sceyt.chatuikit.data.models.PaginationResponse
import com.sceyt.chatuikit.data.models.SceytResponse
import com.sceyt.chatuikit.data.models.channels.SceytChannel
import com.sceyt.chatuikit.data.models.channels.SceytMember
import kotlinx.coroutines.flow.Flow

interface ChannelMemberInteractor {
    suspend fun changeChannelOwner(channelId: Long, newOwnerId: String): SceytResponse
    suspend fun changeChannelMemberRole(channelId: Long, vararg member: SceytMember): SceytResponse
    suspend fun addMembersToChannel(channelId: Long, members: List): SceytResponse
    suspend fun blockAndDeleteMember(channelId: Long, memberId: String): SceytResponse
    suspend fun deleteMember(channelId: Long, memberId: String): SceytResponse
    suspend fun getMembersCountDb(channelId: Long): Int
    suspend fun loadChannelMembersByIds(channelId: Long, vararg ids: String): List
    suspend fun loadChannelMembersByDisplayName(channelId: Long, name: String): List
    suspend fun filterOnlyMembersByIds(channelId: Long, ids: List): List
    fun loadChannelMembers(channelId: Long, offset: Int, role: String?): Flow>
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy