delete thread after leaving group succeeds

pull/799/head
ryanzhao 2 years ago
parent f8fecaca0b
commit eed8b1dfcb

@ -93,6 +93,12 @@ public enum GroupLeavingJob: JobExecutor {
.filter(GroupMember.Columns.profileId == userPublicKey) .filter(GroupMember.Columns.profileId == userPublicKey)
.deleteAll(db) .deleteAll(db)
} }
if details.deleteThreadAfterSuccess {
_ = try SessionThread
.filter(id: thread.id)
.deleteAll(db)
}
} }
success(job, false) success(job, false)
} }
@ -121,19 +127,23 @@ extension GroupLeavingJob {
private enum CodingKeys: String, CodingKey { private enum CodingKeys: String, CodingKey {
case infoMessageInteractionId case infoMessageInteractionId
case groupPublicKey case groupPublicKey
case deleteThreadAfterSuccess
} }
public let infoMessageInteractionId: Int64 public let infoMessageInteractionId: Int64
public let groupPublicKey: String public let groupPublicKey: String
public let deleteThreadAfterSuccess: Bool
// MARK: - Initialization // MARK: - Initialization
public init( public init(
infoMessageInteractionId: Int64, infoMessageInteractionId: Int64,
groupPublicKey: String groupPublicKey: String,
deleteThreadAfterSuccess: Bool
) { ) {
self.infoMessageInteractionId = infoMessageInteractionId self.infoMessageInteractionId = infoMessageInteractionId
self.groupPublicKey = groupPublicKey self.groupPublicKey = groupPublicKey
self.deleteThreadAfterSuccess = deleteThreadAfterSuccess
} }
// MARK: - Codable // MARK: - Codable
@ -143,7 +153,8 @@ extension GroupLeavingJob {
self = Details( self = Details(
infoMessageInteractionId: try container.decode(Int64.self, forKey: .infoMessageInteractionId), infoMessageInteractionId: try container.decode(Int64.self, forKey: .infoMessageInteractionId),
groupPublicKey: try container.decode(String.self, forKey: .groupPublicKey) groupPublicKey: try container.decode(String.self, forKey: .groupPublicKey),
deleteThreadAfterSuccess: try container.decode(Bool.self, forKey: .deleteThreadAfterSuccess)
) )
} }
@ -152,6 +163,7 @@ extension GroupLeavingJob {
try container.encode(infoMessageInteractionId, forKey: .infoMessageInteractionId) try container.encode(infoMessageInteractionId, forKey: .infoMessageInteractionId)
try container.encode(groupPublicKey, forKey: .groupPublicKey) try container.encode(groupPublicKey, forKey: .groupPublicKey)
try container.encode(deleteThreadAfterSuccess, forKey: .deleteThreadAfterSuccess)
} }
} }
} }

Loading…
Cancel
Save