add different room types and their retention

Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
sowjanyakch 2025-05-19 16:17:38 +02:00 committed by Marcel Hibbe
parent ccb2fcfcad
commit 7a4c98db01
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
3 changed files with 37 additions and 1 deletions

View File

@ -44,6 +44,8 @@ class ConversationEnums {
SHARE_PASSWORD,
FILE,
ROOM,
EVENT
EVENT,
PHONE,
INSTANT_MEETING
}
}

View File

@ -16,6 +16,8 @@ class ConversationObjectTypeConverter : StringBasedTypeConverter<ConversationEnu
"room" -> ConversationEnums.ObjectType.ROOM
"file" -> ConversationEnums.ObjectType.FILE
"event" -> ConversationEnums.ObjectType.EVENT
"phone" -> ConversationEnums.ObjectType.PHONE
"instant_meeting" -> ConversationEnums.ObjectType.INSTANT_MEETING
else -> ConversationEnums.ObjectType.DEFAULT
}
}
@ -30,6 +32,8 @@ class ConversationObjectTypeConverter : StringBasedTypeConverter<ConversationEnu
ConversationEnums.ObjectType.ROOM -> "room"
ConversationEnums.ObjectType.FILE -> "file"
ConversationEnums.ObjectType.EVENT -> "event"
ConversationEnums.ObjectType.PHONE -> "phone"
ConversationEnums.ObjectType.INSTANT_MEETING -> "instant_meeting"
else -> ""
}
}

View File

@ -140,6 +140,36 @@ object CapabilitiesUtil {
return false
}
fun retentionOfEventRooms(spreedCapabilities: SpreedCapability): Int {
if (spreedCapabilities.config?.containsKey("conversations") == true) {
val map = spreedCapabilities.config!!["conversations"]
if (map?.containsKey("retention-event") == true) {
return map["retention-event"].toString().toInt()
}
}
return 0
}
fun retentionOfSIP(spreedCapabilities: SpreedCapability): Int {
if (spreedCapabilities.config?.containsKey("conversations") == true) {
val map = spreedCapabilities.config!!["conversations"]
if (map?.containsKey("retention-phone") == true) {
return map["retention-phone"].toString().toInt()
}
}
return 0
}
fun retentionOfInstantMeetings(spreedCapabilities: SpreedCapability): Int {
if (spreedCapabilities.config?.containsKey("conversations") == true) {
val map = spreedCapabilities.config!!["conversations"]
if (map?.containsKey("retention-instant-meetings") == true) {
return map["retention-instant-meetings"].toString().toInt()
}
}
return 0
}
@JvmStatic
fun isCallRecordingAvailable(spreedCapabilities: SpreedCapability): Boolean {
if (hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures.RECORDING_V1) &&