mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-09 05:50:15 +01:00
modify repo, repo implementation and viewModel
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
parent
d899824ebc
commit
98d5b3da72
@ -134,6 +134,14 @@ class ConversationInfoViewModel @Inject constructor(
|
||||
val getProfileViewState: LiveData<ViewState>
|
||||
get() = _getProfileViewState
|
||||
|
||||
private val _markConversationAsSensitiveResult = MutableLiveData<MarkConversationAsSensitiveViewState>(MarkConversationAsSensitiveViewState.None)
|
||||
val markAsSensitiveResult: LiveData<MarkConversationAsSensitiveViewState>
|
||||
get() = _markConversationAsSensitiveResult
|
||||
|
||||
private val _markConversationAsInsensitiveResult = MutableLiveData<MarkConversationAsInsensitiveViewState>(MarkConversationAsInsensitiveViewState.None)
|
||||
val markAsInsensitiveResult: LiveData<MarkConversationAsInsensitiveViewState>
|
||||
get() = _markConversationAsInsensitiveResult
|
||||
|
||||
fun getRoom(user: User, token: String) {
|
||||
_viewState.value = GetRoomStartState
|
||||
chatNetworkDataSource.getRoom(user, token)
|
||||
@ -356,6 +364,29 @@ class ConversationInfoViewModel @Inject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
fun markConversationAsSensitive(credentials: String, baseUrl: String, roomToken: String) {
|
||||
viewModelScope.launch {
|
||||
try {
|
||||
val response = conversationsRepository.markConversationAsSensitive(credentials, baseUrl, roomToken)
|
||||
_markConversationAsSensitiveResult.value = MarkConversationAsSensitiveViewState.Success(response.ocs?.meta?.statusCode!!)
|
||||
} catch (exception: Exception) {
|
||||
_markConversationAsSensitiveResult.value = MarkConversationAsSensitiveViewState.Error(exception.message.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun markConversationAsInsensitive(credentials: String, baseUrl: String, roomToken:String){
|
||||
viewModelScope.launch {
|
||||
try {
|
||||
val response = conversationsRepository.markConversationAsInsensitive(credentials, baseUrl, roomToken)
|
||||
_markConversationAsInsensitiveResult.value = MarkConversationAsInsensitiveViewState.Success(response.ocs?.meta?.statusCode!!)
|
||||
} catch (exception: Exception) {
|
||||
_markConversationAsInsensitiveResult.value = MarkConversationAsInsensitiveViewState.Error(exception.message.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inner class GetRoomObserver : Observer<ConversationModel> {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
// unused atm
|
||||
@ -405,6 +436,18 @@ class ConversationInfoViewModel @Inject constructor(
|
||||
data class Error(val exception: Exception) : ClearChatHistoryViewState()
|
||||
}
|
||||
|
||||
sealed class MarkConversationAsSensitiveViewState{
|
||||
data object None: MarkConversationAsSensitiveViewState()
|
||||
data class Success (val statusCode: Int): MarkConversationAsSensitiveViewState()
|
||||
data class Error (val message:String): MarkConversationAsSensitiveViewState()
|
||||
}
|
||||
|
||||
sealed class MarkConversationAsInsensitiveViewState{
|
||||
data object None: MarkConversationAsInsensitiveViewState()
|
||||
data class Success (val statusCode: Int): MarkConversationAsInsensitiveViewState()
|
||||
data class Error (val message:String): MarkConversationAsInsensitiveViewState()
|
||||
}
|
||||
|
||||
sealed class SetConversationReadOnlyViewState {
|
||||
data object None : SetConversationReadOnlyViewState()
|
||||
data object Success : SetConversationReadOnlyViewState()
|
||||
|
@ -49,4 +49,8 @@ interface ConversationsRepository {
|
||||
suspend fun createRoom(credentials: String, url: String, body: CreateRoomRequest): RoomOverall
|
||||
|
||||
suspend fun getProfile(credentials: String, url: String): Profile?
|
||||
|
||||
suspend fun markConversationAsSensitive(credentials:String, baseUrl:String, roomToken:String) : GenericOverall
|
||||
|
||||
suspend fun markConversationAsInsensitive(credentials: String, baseUrl:String, roomToken:String): GenericOverall
|
||||
}
|
||||
|
@ -121,6 +121,24 @@ class ConversationsRepositoryImpl(
|
||||
return coroutineApi.getProfile(credentials, url).ocs?.data
|
||||
}
|
||||
|
||||
override suspend fun markConversationAsSensitive(
|
||||
credentials: String,
|
||||
baseUrl: String,
|
||||
roomToken: String
|
||||
):GenericOverall {
|
||||
val url = ApiUtils.getUrlForSensitiveConversation(baseUrl, roomToken)
|
||||
return coroutineApi.markConversationAsSensitive(credentials,url)
|
||||
}
|
||||
|
||||
override suspend fun markConversationAsInsensitive(
|
||||
credentials: String,
|
||||
baseUrl: String,
|
||||
roomToken: String
|
||||
): GenericOverall {
|
||||
val url = ApiUtils.getUrlForSensitiveConversation(baseUrl, roomToken)
|
||||
return coroutineApi.markConversationAsInsensitive(credentials,url)
|
||||
}
|
||||
|
||||
override suspend fun banActor(
|
||||
credentials: String,
|
||||
url: String,
|
||||
|
@ -477,6 +477,10 @@ object ApiUtils {
|
||||
return "$baseUrl$OCS_API_VERSION/apps/spreed/temp-user-avatar"
|
||||
}
|
||||
|
||||
fun getUrlForSensitiveConversation(baseUrl:String, roomToken: String): String{
|
||||
return "$baseUrl$OCS_API_VERSION/apps/spreed/api/v4/room/$roomToken/sensitive"
|
||||
}
|
||||
|
||||
fun getUrlForUserFields(baseUrl: String): String {
|
||||
return "$baseUrl$OCS_API_VERSION/cloud/user/fields"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user