Keep things backwards compatible

pull/352/head
Niels Andriesse 3 years ago
parent f6ced55003
commit 1b9aa9aea2

@ -12,16 +12,10 @@ public final class ConfigurationMessage : ControlMessage {
public override var isSelfSendValid: Bool { true }
// MARK: Validation
public override var isValid: Bool {
guard displayName != nil else { return false }
return true
}
// MARK: Initialization
public override init() { super.init() }
public init(displayName: String, profilePictureURL: String?, profileKey: Data?, closedGroups: Set<ClosedGroup>, openGroups: Set<String>) {
public init(displayName: String?, profilePictureURL: String?, profileKey: Data?, closedGroups: Set<ClosedGroup>, openGroups: Set<String>) {
super.init()
self.displayName = displayName
self.profilePictureURL = profilePictureURL
@ -61,8 +55,8 @@ public final class ConfigurationMessage : ControlMessage {
}
public override func toProto(using transaction: YapDatabaseReadWriteTransaction) -> SNProtoContent? {
guard let displayName = displayName else { return nil }
let configurationProto = SNProtoConfigurationMessage.builder(displayName: displayName)
let configurationProto = SNProtoConfigurationMessage.builder()
if let displayName = displayName { configurationProto.setDisplayName(displayName) }
if let profilePictureURL = profilePictureURL { configurationProto.setProfilePicture(profilePictureURL) }
if let profileKey = profileKey { configurationProto.setProfileKey(profileKey) }
configurationProto.setClosedGroups(closedGroups.compactMap { $0.toProto() })

@ -3126,15 +3126,18 @@ extension SNProtoConfigurationMessageClosedGroup.SNProtoConfigurationMessageClos
// MARK: - SNProtoConfigurationMessageBuilder
@objc public class func builder(displayName: String) -> SNProtoConfigurationMessageBuilder {
return SNProtoConfigurationMessageBuilder(displayName: displayName)
@objc public class func builder() -> SNProtoConfigurationMessageBuilder {
return SNProtoConfigurationMessageBuilder()
}
// asBuilder() constructs a builder that reflects the proto's contents.
@objc public func asBuilder() -> SNProtoConfigurationMessageBuilder {
let builder = SNProtoConfigurationMessageBuilder(displayName: displayName)
let builder = SNProtoConfigurationMessageBuilder()
builder.setClosedGroups(closedGroups)
builder.setOpenGroups(openGroups)
if let _value = displayName {
builder.setDisplayName(_value)
}
if let _value = profilePicture {
builder.setProfilePicture(_value)
}
@ -3150,12 +3153,6 @@ extension SNProtoConfigurationMessageClosedGroup.SNProtoConfigurationMessageClos
@objc fileprivate override init() {}
@objc fileprivate init(displayName: String) {
super.init()
setDisplayName(displayName)
}
@objc public func addClosedGroups(_ valueParam: SNProtoConfigurationMessageClosedGroup) {
var items = proto.closedGroups
items.append(valueParam.proto)
@ -3201,12 +3198,20 @@ extension SNProtoConfigurationMessageClosedGroup.SNProtoConfigurationMessageClos
@objc public let closedGroups: [SNProtoConfigurationMessageClosedGroup]
@objc public let displayName: String
@objc public var openGroups: [String] {
return proto.openGroups
}
@objc public var displayName: String? {
guard proto.hasDisplayName else {
return nil
}
return proto.displayName
}
@objc public var hasDisplayName: Bool {
return proto.hasDisplayName
}
@objc public var profilePicture: String? {
guard proto.hasProfilePicture else {
return nil
@ -3228,11 +3233,9 @@ extension SNProtoConfigurationMessageClosedGroup.SNProtoConfigurationMessageClos
}
private init(proto: SessionProtos_ConfigurationMessage,
closedGroups: [SNProtoConfigurationMessageClosedGroup],
displayName: String) {
closedGroups: [SNProtoConfigurationMessageClosedGroup]) {
self.proto = proto
self.closedGroups = closedGroups
self.displayName = displayName
}
@objc
@ -3249,18 +3252,12 @@ extension SNProtoConfigurationMessageClosedGroup.SNProtoConfigurationMessageClos
var closedGroups: [SNProtoConfigurationMessageClosedGroup] = []
closedGroups = try proto.closedGroups.map { try SNProtoConfigurationMessageClosedGroup.parseProto($0) }
guard proto.hasDisplayName else {
throw SNProtoError.invalidProtobuf(description: "\(logTag) missing required field: displayName")
}
let displayName = proto.displayName
// MARK: - Begin Validation Logic for SNProtoConfigurationMessage -
// MARK: - End Validation Logic for SNProtoConfigurationMessage -
let result = SNProtoConfigurationMessage(proto: proto,
closedGroups: closedGroups,
displayName: displayName)
closedGroups: closedGroups)
return result
}

@ -1246,7 +1246,6 @@ struct SessionProtos_ConfigurationMessage {
var openGroups: [String] = []
/// @required
var displayName: String {
get {return _displayName ?? String()}
set {_displayName = newValue}
@ -3222,7 +3221,6 @@ extension SessionProtos_ConfigurationMessage: SwiftProtobuf.Message, SwiftProtob
]
public var isInitialized: Bool {
if self._displayName == nil {return false}
if !SwiftProtobuf.Internal.areAllInitialized(self.closedGroups) {return false}
return true
}

@ -224,8 +224,7 @@ message ConfigurationMessage {
repeated ClosedGroup closedGroups = 1;
repeated string openGroups = 2;
// @required
required string displayName = 3;
optional string displayName = 3;
optional string profilePicture = 4;
optional bytes profileKey = 5;
}

Loading…
Cancel
Save