From 2d8770ee5785c701751bf244b8ee803491ec605c Mon Sep 17 00:00:00 2001 From: Bruno Muniz <bmnzaf@Brunos-MacBook-Pro.local> Date: Tue, 14 Jun 2022 23:02:23 -0400 Subject: [PATCH] Fixed package.swift and commented out local models --- Package.swift | 198 +++++++--------------- Sources/Models/Attachment.swift | 98 +++++------ Sources/Models/Contact.swift | 246 ++++++++++++++-------------- Sources/Models/FileTransfer.swift | 74 ++++----- Sources/Models/Group.swift | 84 +++++----- Sources/Models/GroupChatInfo.swift | 44 ++--- Sources/Models/GroupMember.swift | 84 +++++----- Sources/Models/GroupMessage.swift | 112 ++++++------- Sources/Models/Message.swift | 140 ++++++++-------- Sources/Models/Payload.swift | 78 ++++----- Sources/Models/Reply.swift | 38 ++--- Sources/Models/SingleChatInfo.swift | 36 ++-- 12 files changed, 574 insertions(+), 658 deletions(-) diff --git a/Package.swift b/Package.swift index 66b1af7d..39491b40 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.3 +// swift-tools-version:5.6 import PackageDescription let package = Package( @@ -14,7 +14,6 @@ let package = Package( .library(name: "Shared", targets: ["Shared"]), .library(name: "Models", targets: ["Models"]), .library(name: "XXLogger", targets: ["XXLogger"]), - .library(name: "Database", targets: ["Database"]), .library(name: "Defaults", targets: ["Defaults"]), .library(name: "Bindings", targets: ["Bindings"]), .library(name: "Keychain", targets: ["Keychain"]), @@ -53,95 +52,26 @@ let package = Package( ], dependencies: [ .package( - name: "Quick", - url: "https://github.com/Quick/Quick", - from: "3.0.0" + url: "https://git.xx.network/elixxir/client-ios-db.git", + revision: "e1b3b1a8d1df6d259c99289e8d09e73fbfa9fe63" ), - .package( - name: "DifferenceKit", - url: "https://github.com/ra1028/DifferenceKit", - from: "1.2.0" - ), - .package( - name: "Nimble", - url: "https://github.com/Quick/Nimble", - from: "9.0.0" - ), - .package( - name: "FilesProvider", - url: "https://github.com/amosavian/FileProvider.git", - from: "0.26.0" - ), - .package( - name: "GRDB", - url: "https://github.com/groue/GRDB.swift", - from: "5.3.0" - ), - .package( - name: "GoogleSignIn", - url: "https://github.com/google/GoogleSignIn-iOS", - from: "6.1.0" - ), - .package( - name: "GoogleAPIClientForREST", - url: "https://github.com/google/google-api-objectivec-client-for-rest", - from: "1.6.0" - ), - .package( - name: "SnapKit", - url: "https://github.com/SnapKit/SnapKit", - from: "5.0.1" - ), - .package( - name: "Firebase", - url: "https://github.com/firebase/firebase-ios-sdk.git", - .upToNextMajor(from: "8.10.0") - ), - .package( - name: "SwiftProtobuf", - url: "https://github.com/apple/swift-protobuf", - from: "1.14.0" - ), - .package( - name: "SwiftyDropbox", - url: "https://github.com/dropbox/SwiftyDropbox.git", - from: "8.2.1" - ), - .package( - name: "KeychainAccess", - url: "https://github.com/kishikawakatsumi/KeychainAccess", - from: "4.2.1" - ), - .package( - name: "Retry", - url: "https://github.com/icanzilb/Retry.git", - from: "0.6.3" - ), - .package( - name: "ChatLayout", - url: "https://github.com/ekazaev/ChatLayout", - from: "1.1.14" - ), - .package( - name: "SwiftyBeaver", - url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git", - from: "1.9.5" - ), - .package( - name: "swift-composable-architecture", - url: "https://github.com/pointfreeco/swift-composable-architecture.git", - .upToNextMajor(from: "0.32.0") - ), - .package( - name: "ScrollViewController", - url: "https://github.com/darrarski/ScrollViewController", - from: "1.2.0" - ), - .package( - name: "combine-schedulers", - url: "https://github.com/pointfreeco/combine-schedulers", - from: "0.5.0" - ) + .package(url: "https://github.com/Quick/Quick", from: "3.0.0"), + .package(url: "https://github.com/Quick/Nimble", from: "9.0.0"), + .package(url: "https://github.com/SnapKit/SnapKit", from: "5.0.1"), + .package(url: "https://github.com/icanzilb/Retry.git", from: "0.6.3"), + .package(url: "https://github.com/ekazaev/ChatLayout", from: "1.1.14"), + .package(url: "https://github.com/ra1028/DifferenceKit", from: "1.2.0"), + .package(url: "https://github.com/apple/swift-protobuf", from: "1.14.0"), + .package(url: "https://github.com/google/GoogleSignIn-iOS", from: "6.1.0"), + .package(url: "https://github.com/dropbox/SwiftyDropbox.git", from: "8.2.1"), + .package(url: "https://github.com/amosavian/FileProvider.git", from: "0.26.0"), + .package(url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git", from: "1.9.5"), + .package(url: "https://github.com/darrarski/ScrollViewController", from: "1.2.0"), + .package(url: "https://github.com/pointfreeco/combine-schedulers", from: "0.5.0"), + .package(url: "https://github.com/kishikawakatsumi/KeychainAccess", from: "4.2.1"), + .package(url: "https://github.com/google/google-api-objectivec-client-for-rest", from: "1.6.0"), + .package(url: "https://github.com/firebase/firebase-ios-sdk.git", .upToNextMajor(from: "8.10.0")), + .package(url: "https://github.com/pointfreeco/swift-composable-architecture.git",.upToNextMajor(from: "0.32.0")) ], targets: [ .target( @@ -197,7 +127,6 @@ let package = Package( name: "PushFeature", dependencies: [ "Models", - "Database", "Defaults", "Integration", "DependencyInjection" @@ -246,7 +175,7 @@ let package = Package( ), .product( name: "SwiftProtobuf", - package: "SwiftProtobuf" + package: "swift-protobuf" ) ] ), @@ -277,7 +206,7 @@ let package = Package( "CrashReporting", .product( name: "FirebaseCrashlytics", - package: "Firebase" + package: "firebase-ios-sdk" ) ] ), @@ -289,11 +218,11 @@ let package = Package( dependencies: [ .product( name: "GoogleSignIn", - package: "GoogleSignIn" + package: "GoogleSignIn-iOS" ), .product( name: "GoogleAPIClientForREST_Drive", - package: "GoogleAPIClientForREST" + package: "google-api-objectivec-client-for-rest" ) ], resources: [.process("Resources")] @@ -306,7 +235,7 @@ let package = Package( dependencies: [ .product( name: "FilesProvider", - package: "FilesProvider" + package: "FileProvider" ) ] ), @@ -386,40 +315,22 @@ let package = Package( ] ), - // MARK: - Database - - .target( - name: "Database", - dependencies: [ - "Models", - "XXLogger", - .product( - name: "GRDB", - package: "GRDB" - ), - .product( - name: "DifferenceKit", - package: "DifferenceKit" - ) - ] - ), - // MARK: - Shared .target( name: "Shared", dependencies: [ .product( - name: "DifferenceKit", - package: "DifferenceKit" + name: "SnapKit", + package: "SnapKit" ), .product( name: "ChatLayout", package: "ChatLayout" ), .product( - name: "SnapKit", - package: "SnapKit" + name: "DifferenceKit", + package: "DifferenceKit" ) ], exclude: ["swiftgen.yml"], @@ -431,10 +342,10 @@ let package = Package( .target( name: "Integration", dependencies: [ - "XXLogger", "Shared", - "Database", "Bindings", + "XXLogger", + "Keychain", "ToastFeature", "BackupFeature", "CrashReporting", @@ -443,6 +354,10 @@ let package = Package( .product( name: "Retry", package: "Retry" + ), + .product( + name: "XXDatabase", + package: "client-ios-db" ) ], resources: [.process("Resources")] @@ -500,13 +415,13 @@ let package = Package( "InputField", "ChatFeature", "Presentation", - .product( - name: "ScrollViewController", - package: "ScrollViewController" - ), .product( name: "CombineSchedulers", package: "combine-schedulers" + ), + .product( + name: "ScrollViewController", + package: "ScrollViewController" ) ] ), @@ -528,14 +443,14 @@ let package = Package( "DrawerFeature", "ChatInputFeature", "DependencyInjection", - .product( - name: "DifferenceKit", - package: "DifferenceKit" - ), .product( name: "ChatLayout", package: "ChatLayout" ), + .product( + name: "DifferenceKit", + package: "DifferenceKit" + ), .product( name: "ScrollViewController", package: "ScrollViewController" @@ -612,13 +527,13 @@ let package = Package( "Presentation", "DrawerFeature", "DependencyInjection", - .product( - name: "ScrollViewController", - package: "ScrollViewController" - ), .product( name: "CombineSchedulers", package: "combine-schedulers" + ), + .product( + name: "ScrollViewController", + package: "ScrollViewController" ) ] ), @@ -662,13 +577,13 @@ let package = Package( "DrawerFeature", "VersionChecking", "DependencyInjection", - .product( - name: "ScrollViewController", - package: "ScrollViewController" - ), .product( name: "CombineSchedulers", package: "combine-schedulers" + ), + .product( + name: "ScrollViewController", + package: "ScrollViewController" ) ] ), @@ -697,9 +612,10 @@ let package = Package( "Models", "InputField", "Presentation", - "GoogleDriveFeature", "iCloudFeature", + "DrawerFeature", "DropboxFeature", + "GoogleDriveFeature", "DependencyInjection" ] ), @@ -760,13 +676,13 @@ let package = Package( "Presentation", "DrawerFeature", "DependencyInjection", - .product( - name: "ScrollViewController", - package: "ScrollViewController" - ), .product( name: "CombineSchedulers", package: "combine-schedulers" + ), + .product( + name: "ScrollViewController", + package: "ScrollViewController" ) ] ), diff --git a/Sources/Models/Attachment.swift b/Sources/Models/Attachment.swift index 92eb3c09..5e4d0689 100644 --- a/Sources/Models/Attachment.swift +++ b/Sources/Models/Attachment.swift @@ -1,49 +1,49 @@ -import Foundation - -public struct Attachment: Codable, Equatable, Hashable { - - public enum Extension: Int64, Codable, CaseIterable { - case image - case audio - - public static func from(_ string: String) -> Extension? { - self.allCases.first{ $0.written == string } - } - - public var written: String { - switch self { - case .image: - return "jpeg" - case .audio: - return "m4a" - } - } - - public var writtenExtended: String { - switch self { - case .image: - return "image" - case .audio: - return "voice message" - } - } - } - - public let data: Data? - public let name: String - public var transferId: Data? - public let _extension: Extension - public var progress: Float = 0.0 - - public init( - name: String, - data: Data? = nil, - transferId: Data? = nil, - _extension: Extension - ) { - self.data = data - self.name = name - self._extension = _extension - self.transferId = transferId - } -} +//import Foundation +// +//public struct Attachment: Codable, Equatable, Hashable { +// +// public enum Extension: Int64, Codable, CaseIterable { +// case image +// case audio +// +// public static func from(_ string: String) -> Extension? { +// self.allCases.first{ $0.written == string } +// } +// +// public var written: String { +// switch self { +// case .image: +// return "jpeg" +// case .audio: +// return "m4a" +// } +// } +// +// public var writtenExtended: String { +// switch self { +// case .image: +// return "image" +// case .audio: +// return "voice message" +// } +// } +// } +// +// public let data: Data? +// public let name: String +// public var transferId: Data? +// public let _extension: Extension +// public var progress: Float = 0.0 +// +// public init( +// name: String, +// data: Data? = nil, +// transferId: Data? = nil, +// _extension: Extension +// ) { +// self.data = data +// self.name = name +// self._extension = _extension +// self.transferId = transferId +// } +//} diff --git a/Sources/Models/Contact.swift b/Sources/Models/Contact.swift index 1959743e..754bf91d 100644 --- a/Sources/Models/Contact.swift +++ b/Sources/Models/Contact.swift @@ -1,123 +1,123 @@ -import UIKit -import DifferenceKit - -public protocol IndexableItem { - var indexedOn: NSString { get } -} - -public class IndexedListCollator<Item: IndexableItem> { - private final class CollationWrapper: NSObject { - let value: Any - @objc let indexedOn: NSString - - init(value: Any, indexedOn: NSString) { - self.value = value - self.indexedOn = indexedOn - } - - func unwrappedValue<UnwrappedType>() -> UnwrappedType { - return value as! UnwrappedType - } - } - - public init() {} - - public func sectioned(items: [Item]) -> (sections: [[Item]], collation: UILocalizedIndexedCollation) { - let collation = UILocalizedIndexedCollation.current() - let selector = #selector(getter: CollationWrapper.indexedOn) - - let wrappedItems = items.map { item in - CollationWrapper(value: item, indexedOn: item.indexedOn) - } - - let sortedObjects = collation.sortedArray(from: wrappedItems, collationStringSelector: selector) as! [CollationWrapper] - - var sections = collation.sectionIndexTitles.map { _ in [Item]() } - sortedObjects.forEach { item in - let sectionNumber = collation.section(for: item, collationStringSelector: selector) - sections[sectionNumber].append(item.unwrappedValue()) - } - - return (sections: sections.filter { !$0.isEmpty }, collation: collation) - } -} - -public struct Contact: Codable, Hashable, Equatable { - public enum Request { - case all - case failed - case friends - case received - case requested - case isRecent - case verificationInProgress - case withUserId(Data) - case withUserIds([Data]) - case withUsername(String) - } - - public enum Status: Int64, Codable { - case friend - case stranger - case verified - case verificationFailed - case verificationInProgress - case requested - case requesting - case requestFailed - case confirming - case confirmationFailed - case hidden - } - - public var id: Int64? - public var photo: Data? - public let userId: Data - public var email: String? - public var phone: String? - public var status: Status - public var marshaled: Data - public var createdAt: Date - public let username: String - public var nickname: String? - public var isRecent: Bool - - public init( - photo: Data?, - userId: Data, - email: String?, - phone: String?, - status: Status, - marshaled: Data, - username: String, - nickname: String?, - createdAt: Date, - isRecent: Bool - ) { - self.email = email - self.phone = phone - self.photo = photo - self.status = status - self.userId = userId - self.username = username - self.nickname = nickname - self.marshaled = marshaled - self.createdAt = createdAt - self.isRecent = isRecent - } - - public var differenceIdentifier: Data { userId } - - public static var databaseTableName: String { "contacts" } -} - -extension Contact: Differentiable {} -extension Contact: IndexableItem { - public var indexedOn: NSString { - guard let nickname = nickname else { - return "\(username.first!)" as NSString - } - - return "\(nickname.first!)" as NSString - } -} +//import UIKit +//import DifferenceKit +// +//public protocol IndexableItem { +// var indexedOn: NSString { get } +//} +// +//public class IndexedListCollator<Item: IndexableItem> { +// private final class CollationWrapper: NSObject { +// let value: Any +// @objc let indexedOn: NSString +// +// init(value: Any, indexedOn: NSString) { +// self.value = value +// self.indexedOn = indexedOn +// } +// +// func unwrappedValue<UnwrappedType>() -> UnwrappedType { +// return value as! UnwrappedType +// } +// } +// +// public init() {} +// +// public func sectioned(items: [Item]) -> (sections: [[Item]], collation: UILocalizedIndexedCollation) { +// let collation = UILocalizedIndexedCollation.current() +// let selector = #selector(getter: CollationWrapper.indexedOn) +// +// let wrappedItems = items.map { item in +// CollationWrapper(value: item, indexedOn: item.indexedOn) +// } +// +// let sortedObjects = collation.sortedArray(from: wrappedItems, collationStringSelector: selector) as! [CollationWrapper] +// +// var sections = collation.sectionIndexTitles.map { _ in [Item]() } +// sortedObjects.forEach { item in +// let sectionNumber = collation.section(for: item, collationStringSelector: selector) +// sections[sectionNumber].append(item.unwrappedValue()) +// } +// +// return (sections: sections.filter { !$0.isEmpty }, collation: collation) +// } +//} +// +//public struct Contact: Codable, Hashable, Equatable { +// public enum Request { +// case all +// case failed +// case friends +// case received +// case requested +// case isRecent +// case verificationInProgress +// case withUserId(Data) +// case withUserIds([Data]) +// case withUsername(String) +// } +// +// public enum Status: Int64, Codable { +// case friend +// case stranger +// case verified +// case verificationFailed +// case verificationInProgress +// case requested +// case requesting +// case requestFailed +// case confirming +// case confirmationFailed +// case hidden +// } +// +// public var id: Int64? +// public var photo: Data? +// public let userId: Data +// public var email: String? +// public var phone: String? +// public var status: Status +// public var marshaled: Data +// public var createdAt: Date +// public let username: String +// public var nickname: String? +// public var isRecent: Bool +// +// public init( +// photo: Data?, +// userId: Data, +// email: String?, +// phone: String?, +// status: Status, +// marshaled: Data, +// username: String, +// nickname: String?, +// createdAt: Date, +// isRecent: Bool +// ) { +// self.email = email +// self.phone = phone +// self.photo = photo +// self.status = status +// self.userId = userId +// self.username = username +// self.nickname = nickname +// self.marshaled = marshaled +// self.createdAt = createdAt +// self.isRecent = isRecent +// } +// +// public var differenceIdentifier: Data { userId } +// +// public static var databaseTableName: String { "contacts" } +//} +// +//extension Contact: Differentiable {} +//extension Contact: IndexableItem { +// public var indexedOn: NSString { +// guard let nickname = nickname else { +// return "\(username.first!)" as NSString +// } +// +// return "\(nickname.first!)" as NSString +// } +//} diff --git a/Sources/Models/FileTransfer.swift b/Sources/Models/FileTransfer.swift index 79fac5d1..8eb06ba2 100644 --- a/Sources/Models/FileTransfer.swift +++ b/Sources/Models/FileTransfer.swift @@ -1,37 +1,37 @@ -import Foundation - -public struct FileTransfer { - public enum Request { - case withTID(Data) - case withContactId(Data) - } - - public var tid: Data - public var id: Int64? - public var contact: Data - public var fileName: String - public var fileType: String - public var isIncoming: Bool - - public static var databaseTableName: String { "transfers" } - - public init( - id: Int64? = nil, - tid: Data, - contact: Data, - fileName: String, - fileType: String, - isIncoming: Bool - ) { - self.id = id - self.tid = tid - self.contact = contact - self.fileName = fileName - self.fileType = fileType - self.isIncoming = isIncoming - } -} - -extension FileTransfer: Codable {} -extension FileTransfer: Hashable {} -extension FileTransfer: Equatable {} +//import Foundation +// +//public struct FileTransfer { +// public enum Request { +// case withTID(Data) +// case withContactId(Data) +// } +// +// public var tid: Data +// public var id: Int64? +// public var contact: Data +// public var fileName: String +// public var fileType: String +// public var isIncoming: Bool +// +// public static var databaseTableName: String { "transfers" } +// +// public init( +// id: Int64? = nil, +// tid: Data, +// contact: Data, +// fileName: String, +// fileType: String, +// isIncoming: Bool +// ) { +// self.id = id +// self.tid = tid +// self.contact = contact +// self.fileName = fileName +// self.fileType = fileType +// self.isIncoming = isIncoming +// } +//} +// +//extension FileTransfer: Codable {} +//extension FileTransfer: Hashable {} +//extension FileTransfer: Equatable {} diff --git a/Sources/Models/Group.swift b/Sources/Models/Group.swift index feda834c..20634688 100644 --- a/Sources/Models/Group.swift +++ b/Sources/Models/Group.swift @@ -1,42 +1,42 @@ -import Foundation -import KeychainAccess - -public struct Group: Codable, Equatable, Hashable { - public enum Status: Int64, Codable { - case hidden - case pending - case deleting - case participating - } - - public enum Request { - case pending - case accepted - case withGroupId(Data) - } - - public var id: Int64? - public var name: String - public var leader: Data - public var groupId: Data - public var status: Status - public var serialize: Data - public var createdAt: Date - public static var databaseTableName: String { "groups" } - - public init( - leader: Data, - name: String, - groupId: Data, - status: Status, - createdAt: Date, - serialize: Data - ) { - self.name = name - self.leader = leader - self.status = status - self.groupId = groupId - self.createdAt = createdAt - self.serialize = serialize - } -} +//import Foundation +//import KeychainAccess +// +//public struct Group: Codable, Equatable, Hashable { +// public enum Status: Int64, Codable { +// case hidden +// case pending +// case deleting +// case participating +// } +// +// public enum Request { +// case pending +// case accepted +// case withGroupId(Data) +// } +// +// public var id: Int64? +// public var name: String +// public var leader: Data +// public var groupId: Data +// public var status: Status +// public var serialize: Data +// public var createdAt: Date +// public static var databaseTableName: String { "groups" } +// +// public init( +// leader: Data, +// name: String, +// groupId: Data, +// status: Status, +// createdAt: Date, +// serialize: Data +// ) { +// self.name = name +// self.leader = leader +// self.status = status +// self.groupId = groupId +// self.createdAt = createdAt +// self.serialize = serialize +// } +//} diff --git a/Sources/Models/GroupChatInfo.swift b/Sources/Models/GroupChatInfo.swift index 9b39ff6d..e2d56675 100644 --- a/Sources/Models/GroupChatInfo.swift +++ b/Sources/Models/GroupChatInfo.swift @@ -1,22 +1,22 @@ -import Foundation - -public struct GroupChatInfo: Codable, Equatable, Hashable { - public enum Request { - case accepted - case fromGroup(Data) - } - - public var group: Group - public var members: [GroupMember] - public var lastMessage: GroupMessage? - - public init( - group: Group, - members: [GroupMember], - lastMessage: GroupMessage? = nil - ) { - self.group = group - self.members = members - self.lastMessage = lastMessage - } -} +//import Foundation +// +//public struct GroupChatInfo: Codable, Equatable, Hashable { +// public enum Request { +// case accepted +// case fromGroup(Data) +// } +// +// public var group: Group +// public var members: [GroupMember] +// public var lastMessage: GroupMessage? +// +// public init( +// group: Group, +// members: [GroupMember], +// lastMessage: GroupMessage? = nil +// ) { +// self.group = group +// self.members = members +// self.lastMessage = lastMessage +// } +//} diff --git a/Sources/Models/GroupMember.swift b/Sources/Models/GroupMember.swift index 25c619f3..c0f7123f 100644 --- a/Sources/Models/GroupMember.swift +++ b/Sources/Models/GroupMember.swift @@ -1,42 +1,42 @@ -import Foundation - -public struct GroupMember { - public enum Request { - case all - case strangers - case fromGroup(Data) - case withUserId(Data) - } - - public enum Status: Int64, Codable { - case usernameSet - case pendingUsername - } - - public var id: Int64? - public var userId: Data - public var groupId: Data - public var status: Status - public var username: String - public var photo: Data? - - public init( - id: Int64? = nil, - userId: Data, - groupId: Data, - status: Status, - username: String, - photo: Data? = nil - ) { - self.id = id - self.userId = userId - self.groupId = groupId - self.username = username - self.status = status - self.photo = photo - } -} - -extension GroupMember: Codable {} -extension GroupMember: Hashable {} -extension GroupMember: Equatable {} +//import Foundation +// +//public struct GroupMember { +// public enum Request { +// case all +// case strangers +// case fromGroup(Data) +// case withUserId(Data) +// } +// +// public enum Status: Int64, Codable { +// case usernameSet +// case pendingUsername +// } +// +// public var id: Int64? +// public var userId: Data +// public var groupId: Data +// public var status: Status +// public var username: String +// public var photo: Data? +// +// public init( +// id: Int64? = nil, +// userId: Data, +// groupId: Data, +// status: Status, +// username: String, +// photo: Data? = nil +// ) { +// self.id = id +// self.userId = userId +// self.groupId = groupId +// self.username = username +// self.status = status +// self.photo = photo +// } +//} +// +//extension GroupMember: Codable {} +//extension GroupMember: Hashable {} +//extension GroupMember: Equatable {} diff --git a/Sources/Models/GroupMessage.swift b/Sources/Models/GroupMessage.swift index ffdb6df4..771d4ceb 100644 --- a/Sources/Models/GroupMessage.swift +++ b/Sources/Models/GroupMessage.swift @@ -1,56 +1,56 @@ -import Foundation - -public struct GroupMessage: Codable, Equatable, Hashable { - public enum Request { - case withUniqueId(Data) - case id(Int64) - case sending - case fromGroup(Data) - case unreadsFromGroup(Data) - } - - public static var databaseTableName: String { "groupMessages" } - - public enum Status: Int64, Codable { - case sent - case read - case failed - case sending - case received - } - - public var id: Int64? - public var uniqueId: Data? - public var groupId: Data - public var sender: Data - public var roundId: Int64? - public var payload: Payload - public var status: Status - public var roundURL: String? - public var unread: Bool - public var timestamp: Int - - public init( - id: Int64? = nil, - sender: Data, - groupId: Data, - payload: Payload, - unread: Bool, - timestamp: Int = 0, - uniqueId: Data?, - status: Status, - roundId: Int64? = nil, - roundURL: String? = nil - ) { - self.id = id - self.sender = sender - self.groupId = groupId - self.payload = payload - self.unread = unread - self.timestamp = timestamp - self.uniqueId = uniqueId - self.status = status - self.roundId = roundId - self.roundURL = roundURL - } -} +//import Foundation +// +//public struct GroupMessage: Codable, Equatable, Hashable { +// public enum Request { +// case withUniqueId(Data) +// case id(Int64) +// case sending +// case fromGroup(Data) +// case unreadsFromGroup(Data) +// } +// +// public static var databaseTableName: String { "groupMessages" } +// +// public enum Status: Int64, Codable { +// case sent +// case read +// case failed +// case sending +// case received +// } +// +// public var id: Int64? +// public var uniqueId: Data? +// public var groupId: Data +// public var sender: Data +// public var roundId: Int64? +// public var payload: Payload +// public var status: Status +// public var roundURL: String? +// public var unread: Bool +// public var timestamp: Int +// +// public init( +// id: Int64? = nil, +// sender: Data, +// groupId: Data, +// payload: Payload, +// unread: Bool, +// timestamp: Int = 0, +// uniqueId: Data?, +// status: Status, +// roundId: Int64? = nil, +// roundURL: String? = nil +// ) { +// self.id = id +// self.sender = sender +// self.groupId = groupId +// self.payload = payload +// self.unread = unread +// self.timestamp = timestamp +// self.uniqueId = uniqueId +// self.status = status +// self.roundId = roundId +// self.roundURL = roundURL +// } +//} diff --git a/Sources/Models/Message.swift b/Sources/Models/Message.swift index fec18587..77ae89db 100644 --- a/Sources/Models/Message.swift +++ b/Sources/Models/Message.swift @@ -1,70 +1,70 @@ -import Foundation -import DifferenceKit - -public struct Message: Codable, Equatable, Hashable { - public enum Request { - case sending - case withUniqueId(Data) - case withId(Int64) - case sendingAttachment - case withContact(Data) - case unreadsFromContactId(Data) - case latestOnesFromContactIds([Data]) - } - - public enum Status: Int64, Codable { - case read - case sent - case sending - case sendingAttachment - case receivingAttachment - case received - case failedToSend - case timedOut - } - - public var id: Int64? - public var unread: Bool - public let sender: Data - public var roundURL: String? - public var report: Data? - public var status: Status - public let receiver: Data - public var timestamp: Int - public var uniqueId: Data? - public var payload: Payload - public static var databaseTableName: String { "messages" } - - public init ( - sender: Data, - receiver: Data, - payload: Payload, - unread: Bool, - timestamp: Int, - uniqueId: Data?, - status: Status, - roundURL: String? = nil - ) { - self.sender = sender - self.unread = unread - self.status = status - self.payload = payload - self.receiver = receiver - self.uniqueId = uniqueId - self.timestamp = timestamp - self.roundURL = roundURL - } -} - -public extension Message.Status { - var canReply: Bool { - switch self { - case .sent, .received, .read: - return true - default: - return false - } - } -} - -extension Message: Differentiable {} +//import Foundation +//import DifferenceKit +// +//public struct Message: Codable, Equatable, Hashable { +// public enum Request { +// case sending +// case withUniqueId(Data) +// case withId(Int64) +// case sendingAttachment +// case withContact(Data) +// case unreadsFromContactId(Data) +// case latestOnesFromContactIds([Data]) +// } +// +// public enum Status: Int64, Codable { +// case read +// case sent +// case sending +// case sendingAttachment +// case receivingAttachment +// case received +// case failedToSend +// case timedOut +// } +// +// public var id: Int64? +// public var unread: Bool +// public let sender: Data +// public var roundURL: String? +// public var report: Data? +// public var status: Status +// public let receiver: Data +// public var timestamp: Int +// public var uniqueId: Data? +// public var payload: Payload +// public static var databaseTableName: String { "messages" } +// +// public init ( +// sender: Data, +// receiver: Data, +// payload: Payload, +// unread: Bool, +// timestamp: Int, +// uniqueId: Data?, +// status: Status, +// roundURL: String? = nil +// ) { +// self.sender = sender +// self.unread = unread +// self.status = status +// self.payload = payload +// self.receiver = receiver +// self.uniqueId = uniqueId +// self.timestamp = timestamp +// self.roundURL = roundURL +// } +//} +// +//public extension Message.Status { +// var canReply: Bool { +// switch self { +// case .sent, .received, .read: +// return true +// default: +// return false +// } +// } +//} +// +//extension Message: Differentiable {} diff --git a/Sources/Models/Payload.swift b/Sources/Models/Payload.swift index 4fda3b78..fac93d27 100644 --- a/Sources/Models/Payload.swift +++ b/Sources/Models/Payload.swift @@ -1,39 +1,39 @@ -import Foundation - -public struct Payload: Codable, Equatable, Hashable { - public var text: String - public var reply: Reply? - public var attachment: Attachment? - - public init(text: String, reply: Reply?, attachment: Attachment?) { - self.text = text - self.reply = reply - self.attachment = attachment - } - - public init(with marshaled: Data) throws { - let proto = try CMIXText(serializedData: marshaled) - - var reply: Reply? - - if proto.hasReply { - reply = Reply( - messageId: proto.reply.messageID, - senderId: proto.reply.senderID - ) - } - - self.init(text: proto.text, reply: reply, attachment: nil) - } - - public func asData() -> Data { - var protoModel = CMIXText() - protoModel.text = text - - if let reply = reply { - protoModel.reply = reply.asTextReply() - } - - return try! protoModel.serializedData() - } -} +//import Foundation +// +//public struct Payload: Codable, Equatable, Hashable { +// public var text: String +// public var reply: Reply? +// public var attachment: Attachment? +// +// public init(text: String, reply: Reply?, attachment: Attachment?) { +// self.text = text +// self.reply = reply +// self.attachment = attachment +// } +// +// public init(with marshaled: Data) throws { +// let proto = try CMIXText(serializedData: marshaled) +// +// var reply: Reply? +// +// if proto.hasReply { +// reply = Reply( +// messageId: proto.reply.messageID, +// senderId: proto.reply.senderID +// ) +// } +// +// self.init(text: proto.text, reply: reply, attachment: nil) +// } +// +// public func asData() -> Data { +// var protoModel = CMIXText() +// protoModel.text = text +// +// if let reply = reply { +// protoModel.reply = reply.asTextReply() +// } +// +// return try! protoModel.serializedData() +// } +//} diff --git a/Sources/Models/Reply.swift b/Sources/Models/Reply.swift index 22fcf55a..6b71cad6 100644 --- a/Sources/Models/Reply.swift +++ b/Sources/Models/Reply.swift @@ -1,19 +1,19 @@ -import Foundation - -public struct Reply: Codable, Equatable, Hashable { - public let messageId: Data - public let senderId: Data - - public init(messageId: Data, senderId: Data) { - self.messageId = messageId - self.senderId = senderId - } - - func asTextReply() -> TextReply { - var reply = TextReply() - reply.messageID = messageId - reply.senderID = senderId - - return reply - } -} +//import Foundation +// +//public struct Reply: Codable, Equatable, Hashable { +// public let messageId: Data +// public let senderId: Data +// +// public init(messageId: Data, senderId: Data) { +// self.messageId = messageId +// self.senderId = senderId +// } +// +// func asTextReply() -> TextReply { +// var reply = TextReply() +// reply.messageID = messageId +// reply.senderID = senderId +// +// return reply +// } +//} diff --git a/Sources/Models/SingleChatInfo.swift b/Sources/Models/SingleChatInfo.swift index 21c7f7d2..79fc4ba0 100644 --- a/Sources/Models/SingleChatInfo.swift +++ b/Sources/Models/SingleChatInfo.swift @@ -1,18 +1,18 @@ -import Foundation - -public struct SingleChatInfo: Codable, Equatable, Hashable { - public enum Request { - case all - } - - public var contact: Contact - public var lastMessage: Message? - - public init( - contact: Contact, - lastMessage: Message? - ) { - self.contact = contact - self.lastMessage = lastMessage - } -} +//import Foundation +// +//public struct SingleChatInfo: Codable, Equatable, Hashable { +// public enum Request { +// case all +// } +// +// public var contact: Contact +// public var lastMessage: Message? +// +// public init( +// contact: Contact, +// lastMessage: Message? +// ) { +// self.contact = contact +// self.lastMessage = lastMessage +// } +//} -- GitLab