Various improvements

This commit is contained in:
Ilya Laktyushin
2024-08-11 06:32:41 +02:00
parent c92ce1c1dc
commit 83c7fdd228
36 changed files with 395 additions and 178 deletions

View File

@@ -4,23 +4,34 @@ public final class RestrictionRule: PostboxCoding, Equatable {
public let platform: String
public let reason: String
public let text: String
public let isSensitive: Bool
public init(platform: String, reason: String, text: String) {
self.platform = platform
self.reason = reason
self.text = text
self.isSensitive = false
}
public init(platform: String) {
self.platform = platform
self.reason = ""
self.text = ""
self.isSensitive = true
}
public init(decoder: PostboxDecoder) {
self.platform = decoder.decodeStringForKey("p", orElse: "all")
self.reason = decoder.decodeStringForKey("r", orElse: "")
self.text = decoder.decodeStringForKey("t", orElse: "")
self.isSensitive = decoder.decodeBoolForKey("s", orElse: false)
}
public func encode(_ encoder: PostboxEncoder) {
encoder.encodeString(self.platform, forKey: "p")
encoder.encodeString(self.reason, forKey: "r")
encoder.encodeString(self.text, forKey: "t")
encoder.encodeBool(self.isSensitive, forKey: "s")
}
public static func ==(lhs: RestrictionRule, rhs: RestrictionRule) -> Bool {
@@ -33,6 +44,9 @@ public final class RestrictionRule: PostboxCoding, Equatable {
if lhs.text != rhs.text {
return false
}
if lhs.isSensitive != rhs.isSensitive {
return false
}
return true
}
}