From c337d5087b7b6f39ea1f83cb0117ee6d3accf7f7 Mon Sep 17 00:00:00 2001 From: sowjanyakch Date: Tue, 20 May 2025 11:13:08 +0200 Subject: [PATCH] add endpoints and add isSensitive parameter Signed-off-by: sowjanyakch --- .../java/com/nextcloud/talk/api/NcApiCoroutines.kt | 12 ++++++++++++ .../data/database/mappers/ConversationMapUtils.kt | 9 ++++++--- .../talk/data/database/model/ConversationEntity.kt | 3 ++- .../talk/models/domain/ConversationModel.kt | 7 +++++-- .../talk/models/json/conversations/Conversation.kt | 5 ++++- 5 files changed, 29 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/api/NcApiCoroutines.kt b/app/src/main/java/com/nextcloud/talk/api/NcApiCoroutines.kt index 876e66e00..6efa73b04 100644 --- a/app/src/main/java/com/nextcloud/talk/api/NcApiCoroutines.kt +++ b/app/src/main/java/com/nextcloud/talk/api/NcApiCoroutines.kt @@ -185,6 +185,18 @@ interface NcApiCoroutines { @Url url: String ): GenericOverall + @POST + suspend fun markConversationAsSensitive( + @Header("Authorization") authorization:String, + @Url url:String + ): GenericOverall + + @DELETE + suspend fun markConversationAsInsensitive( + @Header("Authorization") authorization:String, + @Url url:String + ): GenericOverall + @FormUrlEncoded @POST suspend fun notificationCalls( diff --git a/app/src/main/java/com/nextcloud/talk/data/database/mappers/ConversationMapUtils.kt b/app/src/main/java/com/nextcloud/talk/data/database/mappers/ConversationMapUtils.kt index 23151b7a4..66dc7c801 100644 --- a/app/src/main/java/com/nextcloud/talk/data/database/mappers/ConversationMapUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/data/database/mappers/ConversationMapUtils.kt @@ -61,7 +61,8 @@ fun ConversationModel.asEntity() = recordingConsentRequired = recordingConsentRequired, remoteServer = remoteServer, remoteToken = remoteToken, - hasArchived = hasArchived + hasArchived = hasArchived, + isSensitive = isSensitive ) fun ConversationEntity.asModel() = @@ -113,7 +114,8 @@ fun ConversationEntity.asModel() = recordingConsentRequired = recordingConsentRequired, remoteServer = remoteServer, remoteToken = remoteToken, - hasArchived = hasArchived + hasArchived = hasArchived, + isSensitive = isSensitive ) fun Conversation.asEntity(accountId: Long) = @@ -164,5 +166,6 @@ fun Conversation.asEntity(accountId: Long) = recordingConsentRequired = recordingConsentRequired, remoteServer = remoteServer, remoteToken = remoteToken, - hasArchived = hasArchived + hasArchived = hasArchived, + isSensitive = isSensitive ) diff --git a/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt b/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt index 106c7e7a8..2eeeea549 100644 --- a/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt +++ b/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt @@ -94,7 +94,8 @@ data class ConversationEntity( @ColumnInfo(name = "unreadMention") var unreadMention: Boolean = false, @ColumnInfo(name = "unreadMentionDirect") var unreadMentionDirect: Boolean, @ColumnInfo(name = "unreadMessages") var unreadMessages: Int = 0, - @ColumnInfo(name = "hasArchived") var hasArchived: Boolean = false + @ColumnInfo(name = "hasArchived") var hasArchived: Boolean = false, + @ColumnInfo(name = "isSensitive") var isSensitive:Boolean = false // missing/not needed: attendeeId // missing/not needed: attendeePin // missing/not needed: attendeePermissions diff --git a/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt b/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt index 5e1f845d3..4901994c4 100644 --- a/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt +++ b/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt @@ -61,9 +61,11 @@ class ConversationModel( var remoteServer: String? = null, var remoteToken: String? = null, var hasArchived: Boolean = false, + var isSensitive: Boolean = false, // attributes that don't come from API. This should be changed?! - var password: String? = null + var password: String? = null, + ) { companion object { @@ -125,7 +127,8 @@ class ConversationModel( recordingConsentRequired = conversation.recordingConsentRequired, remoteServer = conversation.remoteServer, remoteToken = conversation.remoteToken, - hasArchived = conversation.hasArchived + hasArchived = conversation.hasArchived, + isSensitive = conversation.isSensitive ) } } diff --git a/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt b/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt index f16db4a78..147ff69de 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt @@ -165,5 +165,8 @@ data class Conversation( var remoteToken: String? = "", @JsonField(name = ["isArchived"]) - var hasArchived: Boolean = false + var hasArchived: Boolean = false, + + @JsonField(name = ["isSensitive"]) + var isSensitive: Boolean = false ) : Parcelable