|
|
@ -365,15 +365,22 @@ public final class OpenGroupManager {
|
|
|
|
.updateAllAndConfig(db, OpenGroup.Columns.isActive.set(to: false))
|
|
|
|
.updateAllAndConfig(db, OpenGroup.Columns.isActive.set(to: false))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Remove the thread and associated data
|
|
|
|
//TODO: Remove message requests from this open group
|
|
|
|
_ = try? SessionThread
|
|
|
|
|
|
|
|
.filter(id: openGroupId)
|
|
|
|
if !calledFromConfigHandling, let server: String = server {
|
|
|
|
.deleteAll(db)
|
|
|
|
//Remove inbox messages
|
|
|
|
|
|
|
|
if let data = try? OpenGroupAPI.preparedClearInbox(db, on: server) {
|
|
|
|
|
|
|
|
OpenGroupAPI
|
|
|
|
|
|
|
|
.send(data: data)
|
|
|
|
|
|
|
|
.map { _ in [server: true] }
|
|
|
|
|
|
|
|
.sinkUntilComplete()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if !calledFromConfigHandling, let server: String = server, let roomToken: String = roomToken {
|
|
|
|
if let roomToken: String = roomToken {
|
|
|
|
try? SessionUtil.remove(db, server: server, roomToken: roomToken)
|
|
|
|
try? SessionUtil.remove(db, server: server, roomToken: roomToken)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// MARK: - Response Processing
|
|
|
|
// MARK: - Response Processing
|
|
|
|
|
|
|
|
|
|
|
|