|
|
@ -365,9 +365,26 @@ public final class OpenGroupManager {
|
|
|
|
.updateAllAndConfig(db, OpenGroup.Columns.isActive.set(to: false))
|
|
|
|
.updateAllAndConfig(db, OpenGroup.Columns.isActive.set(to: false))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//TODO: Remove message requests from this open group
|
|
|
|
if !calledFromConfigHandling, let server: String = server, let roomToken: String = roomToken {
|
|
|
|
|
|
|
|
try? SessionUtil.remove(db, server: server, roomToken: roomToken)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private func cleanMessageRequests(
|
|
|
|
|
|
|
|
_ db: Database,
|
|
|
|
|
|
|
|
openGroupId: String,
|
|
|
|
|
|
|
|
openGroupServer: String?,
|
|
|
|
|
|
|
|
calledFromConfigHandling: Bool,
|
|
|
|
|
|
|
|
using dependencies: Dependencies = Dependencies()
|
|
|
|
|
|
|
|
) {
|
|
|
|
|
|
|
|
// Remove threads with only message requests from open group
|
|
|
|
|
|
|
|
_ = try? SessionThread
|
|
|
|
|
|
|
|
.filter(SessionThread.isMessageRequest(userPublicKey: getUserHexEncodedPublicKey(db, using: dependencies)))
|
|
|
|
|
|
|
|
.fetchAll(db)
|
|
|
|
|
|
|
|
.filter { $0.isMessageRequestFromCommunity(db, openGroupId: openGroupId)}
|
|
|
|
|
|
|
|
.map { try $0.delete(db)}
|
|
|
|
|
|
|
|
|
|
|
|
if !calledFromConfigHandling, let server: String = server {
|
|
|
|
if !calledFromConfigHandling, let server: String = openGroupServer {
|
|
|
|
//Remove inbox messages
|
|
|
|
//Remove inbox messages
|
|
|
|
if let data = try? OpenGroupAPI.preparedClearInbox(db, on: server) {
|
|
|
|
if let data = try? OpenGroupAPI.preparedClearInbox(db, on: server) {
|
|
|
|
OpenGroupAPI
|
|
|
|
OpenGroupAPI
|
|
|
@ -375,10 +392,6 @@ public final class OpenGroupManager {
|
|
|
|
.map { _ in [server: true] }
|
|
|
|
.map { _ in [server: true] }
|
|
|
|
.sinkUntilComplete()
|
|
|
|
.sinkUntilComplete()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if let roomToken: String = roomToken {
|
|
|
|
|
|
|
|
try? SessionUtil.remove(db, server: server, roomToken: roomToken)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|