Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ let package = Package(
// Products define the executables and libraries a package produces, and make them visible to other packages.
.library(
name: "QuickBloxUIKit",
targets: ["QuickBloxUIKit", "QuickBloxData", "QuickBloxDomain"]),
targets: ["QuickBloxUIKit", "QuickBloxData", "QuickBloxDomain", "QuickBloxLog"]),
],
dependencies: [
.package(url: "https://github.com/QuickBlox/ios-quickblox-sdk", .upToNextMajor(from: "2.21.0")),
Expand Down
18 changes: 11 additions & 7 deletions Sources/QuickBloxData/DTO/AI/RemoteAnswerAssistMessageDTO.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,19 @@ import Foundation

/// This is a DTO model for interactions with the Answer Assist Message models in remote storage.
public struct RemoteAnswerAssistMessageDTO {
var id = ""
var smartChatAssistantId = ""
var message = ""
var history: [RemoteAnswerAssistHistoryMessageDTO] = []
public var id = ""
public var smartChatAssistantId = ""
public var message = ""
public var history: [RemoteAnswerAssistHistoryMessageDTO] = []

public init () {}
}

/// This is a DTO model for interactions with the Answer Assist History Message models in remote storage.
public struct RemoteAnswerAssistHistoryMessageDTO {
var id = ""
var role: AIMessageRole = .user
var message = ""
public var id = ""
public var role: AIMessageRole = .user
public var message = ""

public init () {}
}
10 changes: 6 additions & 4 deletions Sources/QuickBloxData/DTO/AI/RemoteTranslateMessageDTO.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@
import Foundation

public struct RemoteTranslateMessageDTO {
var id = ""
var smartChatAssistantId = ""
var message = ""
var languageCode = ""
public var id = ""
public var smartChatAssistantId = ""
public var message = ""
public var languageCode = ""

public init () {}
}
66 changes: 50 additions & 16 deletions Sources/QuickBloxData/DTO/Dialog/LocalDialogDTO.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,62 @@ import Foundation
/// This is a DTO model for interactions with the dialog session or conversation model in local storage.
public struct LocalDialogDTO: Equatable, Identifiable, Hashable {
public var id = UUID().uuidString
var type: DialogType = .private
var name = ""
var participantsIds: [String] = []
var photo = ""
var ownerId = ""
var isOwnedByCurrentUser = false
public var type: DialogType = .private
public var name = ""
public var participantsIds: [String] = []
public var photo = ""
public var ownerId = ""
public var isOwnedByCurrentUser = false

var createdAt = Date()
var updatedAt = Date()
public var createdAt = Date()
public var updatedAt = Date()

var messages: [LocalMessageDTO] = []
public var messages: [LocalMessageDTO] = []

var lastMessageId = ""
var lastMessageText = ""
var lastMessageDateSent = Date(timeIntervalSince1970: 0.0)
var lastMessageUserId: String = ""
var unreadMessagesCount: Int = 0
var decrementCounter: Bool = false
public var lastMessageId = ""
public var lastMessageText = ""
public var lastMessageDateSent = Date(timeIntervalSince1970: 0.0)
public var lastMessageUserId: String = ""
public var unreadMessagesCount: Int = 0
public var decrementCounter: Bool = false

public init(id: String = UUID().uuidString,
type: DialogType = .private,
name: String = "",
participantsIds: [String] = [],
photo: String = "",
ownerId: String = "",
isOwnedByCurrentUser: Bool = false,
createdAt: Date = Date(),
updatedAt: Date = Date(),
messages: [LocalMessageDTO] = [],
lastMessageId: String = "",
lastMessageText: String = "",
lastMessageDateSent: Date = Date(timeIntervalSince1970: 0.0),
lastMessageUserId: String = "",
unreadMessagesCount: Int = 0,
decrementCounter: Bool = false) {
self.id = id
self.type = type
self.name = name
self.participantsIds = participantsIds
self.photo = photo
self.ownerId = ownerId
self.isOwnedByCurrentUser = isOwnedByCurrentUser
self.createdAt = createdAt
self.updatedAt = updatedAt
self.messages = messages
self.lastMessageId = lastMessageId
self.lastMessageText = lastMessageText
self.lastMessageDateSent = lastMessageDateSent
self.lastMessageUserId = lastMessageUserId
self.unreadMessagesCount = unreadMessagesCount
self.decrementCounter = decrementCounter
}
}

extension LocalDialogDTO: Dated {
var date: Date {
public var date: Date {
return updatedAt
}
}
6 changes: 4 additions & 2 deletions Sources/QuickBloxData/DTO/Dialog/LocalDialogsDTO.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import QuickBloxDomain

/// This is a DTO model for interactions with the dialog session or conversation models in local storage.
public struct LocalDialogsDTO {
var dialogs: [LocalDialogDTO] = []
var pagination = Pagination()
public var dialogs: [LocalDialogDTO] = []
public var pagination = Pagination()

public init () {}
}
66 changes: 50 additions & 16 deletions Sources/QuickBloxData/DTO/Dialog/RemoteDialogDTO.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,56 @@ import Foundation

/// This is a DTO model for interactions with the dialog session or conversation model in remote storage.
public struct RemoteDialogDTO: Equatable {
var id = ""
var type: DialogType = .private
var name = ""
var participantsIds: [String] = []
var toDeleteIds: [String] = []
var toAddIds: [String] = []
var photo = ""
var ownerId = ""
var isOwnedByCurrentUser = false
public var id = ""
public var type: DialogType = .private
public var name = ""
public var participantsIds: [String] = []
public var toDeleteIds: [String] = []
public var toAddIds: [String] = []
public var photo = ""
public var ownerId = ""
public var isOwnedByCurrentUser = false

var createdAt = Date()
var updatedAt = Date()
public var createdAt = Date()
public var updatedAt = Date()

var lastMessageId = ""
var lastMessageText = ""
var lastMessageDateSent = Date()
var lastMessageUserId: String = ""
var unreadMessagesCount: Int = 0
public var lastMessageId = ""
public var lastMessageText = ""
public var lastMessageDateSent = Date()
public var lastMessageUserId: String = ""
public var unreadMessagesCount: Int = 0

public init(id: String = "",
type: DialogType = .private,
name: String = "",
participantsIds: [String] = [],
toDeleteIds: [String] = [],
toAddIds: [String] = [],
photo: String = "",
ownerId: String = "",
isOwnedByCurrentUser: Bool = false,
createdAt: Date = Date(),
updatedAt: Date = Date(),
lastMessageId: String = "",
lastMessageText: String = "",
lastMessageDateSent: Date = Date(),
lastMessageUserId: String = "",
unreadMessagesCount: Int = 0) {
self.id = id
self.type = type
self.name = name
self.participantsIds = participantsIds
self.toDeleteIds = toDeleteIds
self.toAddIds = toAddIds
self.photo = photo
self.ownerId = ownerId
self.isOwnedByCurrentUser = isOwnedByCurrentUser
self.createdAt = createdAt
self.updatedAt = updatedAt
self.lastMessageId = lastMessageId
self.lastMessageText = lastMessageText
self.lastMessageDateSent = lastMessageDateSent
self.lastMessageUserId = lastMessageUserId
self.unreadMessagesCount = unreadMessagesCount
}
}
14 changes: 11 additions & 3 deletions Sources/QuickBloxData/DTO/Dialog/RemoteDialogsDTO.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,15 @@ import QuickBloxDomain

/// This is a DTO model for interactions with the dialog session or conversation models in remote storage.
public struct RemoteDialogsDTO {
var dialogs: [RemoteDialogDTO] = []
var usersIds: [String] = []
var pagination = Pagination()
public var dialogs: [RemoteDialogDTO] = []
public var usersIds: [String] = []
public var pagination = Pagination()

public init(dialogs: [RemoteDialogDTO] = [],
usersIds: [String] = [],
pagination: Pagination = Pagination()) {
self.dialogs = dialogs
self.usersIds = usersIds
self.pagination = pagination
}
}
44 changes: 24 additions & 20 deletions Sources/QuickBloxData/DTO/Message/LocalMessageDTO.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,24 @@ import Foundation
/// This is a DTO model for interactions with the message model in local storage.
public struct LocalMessageDTO: Identifiable, Hashable {
public var id = UUID().uuidString
var dialogId = ""
var text = ""
var senderId = ""
var dateSent = Date(timeIntervalSince1970: 0)
var isOwnedByCurrentUser = false
var fileInfo: LocalFileInfoDTO?
var deliveredIds: [String] = []
var readIds: [String] = []
var isReaded = false
var isDelivered = false
var eventType: MessageEventType = .message
var type: MessageType = .chat
var actionType: MessageAction = .none
var originSenderName: String?
var originalMessages: [LocalMessageDTO] = []
var relatedId: String = ""
public var dialogId = ""
public var text = ""
public var senderId = ""
public var dateSent = Date(timeIntervalSince1970: 0)
public var isOwnedByCurrentUser = false
public var fileInfo: LocalFileInfoDTO?
public var deliveredIds: [String] = []
public var readIds: [String] = []
public var isReaded = false
public var isDelivered = false
public var eventType: MessageEventType = .message
public var type: MessageType = .chat
public var actionType: MessageAction = .none
public var originSenderName: String?
public var originalMessages: [LocalMessageDTO] = []
public var relatedId: String = ""

public init () {}
}

extension LocalMessageDTO: Equatable {
Expand All @@ -37,13 +39,15 @@ extension LocalMessageDTO: Equatable {
}

extension LocalMessageDTO: Dated {
var date: Date { dateSent }
public var date: Date { dateSent }
}

public struct LocalFileInfoDTO: Equatable, Identifiable, Hashable {
public var id: String = ""
var ext: FileExtension = .json
var name: String = ""
var path: FilePath = FilePath()
public var ext: FileExtension = .json
public var name: String = ""
public var path: FilePath = FilePath()
public var uid: String = ""

public init () {}
}
8 changes: 5 additions & 3 deletions Sources/QuickBloxData/DTO/Message/LocalMessagesDTO.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ import QuickBloxDomain

/// This is a DTO model for interactions with messages models in local storage.
public struct LocalMessagesDTO {
var dialogId = ""
var messages: [LocalMessageDTO] = []
var pagination = Pagination()
public var dialogId = ""
public var messages: [LocalMessageDTO] = []
public var pagination = Pagination()

public init () {}
}
Loading