Skip to content

Commit ac833e8

Browse files
0.5.0 (#21)
### New Features - **Dialogs Screen Customization:** - Introduced the ability to modify the content of the dialogs screen, allowing greater customization for app developers. ### Deprecations - **Tab Bar Feature Removed:** - The tab bar feature has been deprecated to streamline navigation and improve UI flexibility. ### Bug Fixes - **QuickBloxUIKit Memory Leak Fix** - Fixed a memory leak issue related to the use of UIHostingController with QuickBloxUIKit navigation logic, which was caused by improper handling of environment dismiss in QuickBloxUIKit. ### Data Enhancements - **Data Source Customization:** - Added the ability to tweak UI Kits' implementation for data sources, providing more flexibility for integration.
1 parent b34864f commit ac833e8

File tree

66 files changed

+1310
-1022
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1310
-1022
lines changed

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ let package = Package(
1414
// Products define the executables and libraries a package produces, and make them visible to other packages.
1515
.library(
1616
name: "QuickBloxUIKit",
17-
targets: ["QuickBloxUIKit", "QuickBloxData", "QuickBloxDomain"]),
17+
targets: ["QuickBloxUIKit", "QuickBloxData", "QuickBloxDomain", "QuickBloxLog"]),
1818
],
1919
dependencies: [
2020
.package(url: "https://github.com/QuickBlox/ios-quickblox-sdk", .upToNextMajor(from: "2.21.0")),

Sources/QuickBloxData/DTO/AI/RemoteAnswerAssistMessageDTO.swift

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,19 @@ import Foundation
1111

1212
/// This is a DTO model for interactions with the Answer Assist Message models in remote storage.
1313
public struct RemoteAnswerAssistMessageDTO {
14-
var id = ""
15-
var smartChatAssistantId = ""
16-
var message = ""
17-
var history: [RemoteAnswerAssistHistoryMessageDTO] = []
14+
public var id = ""
15+
public var smartChatAssistantId = ""
16+
public var message = ""
17+
public var history: [RemoteAnswerAssistHistoryMessageDTO] = []
18+
19+
public init () {}
1820
}
1921

2022
/// This is a DTO model for interactions with the Answer Assist History Message models in remote storage.
2123
public struct RemoteAnswerAssistHistoryMessageDTO {
22-
var id = ""
23-
var role: AIMessageRole = .user
24-
var message = ""
24+
public var id = ""
25+
public var role: AIMessageRole = .user
26+
public var message = ""
27+
28+
public init () {}
2529
}

Sources/QuickBloxData/DTO/AI/RemoteTranslateMessageDTO.swift

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@
99
import Foundation
1010

1111
public struct RemoteTranslateMessageDTO {
12-
var id = ""
13-
var smartChatAssistantId = ""
14-
var message = ""
15-
var languageCode = ""
12+
public var id = ""
13+
public var smartChatAssistantId = ""
14+
public var message = ""
15+
public var languageCode = ""
16+
17+
public init () {}
1618
}

Sources/QuickBloxData/DTO/Dialog/LocalDialogDTO.swift

Lines changed: 50 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,62 @@ import Foundation
1212
/// This is a DTO model for interactions with the dialog session or conversation model in local storage.
1313
public struct LocalDialogDTO: Equatable, Identifiable, Hashable {
1414
public var id = UUID().uuidString
15-
var type: DialogType = .private
16-
var name = ""
17-
var participantsIds: [String] = []
18-
var photo = ""
19-
var ownerId = ""
20-
var isOwnedByCurrentUser = false
15+
public var type: DialogType = .private
16+
public var name = ""
17+
public var participantsIds: [String] = []
18+
public var photo = ""
19+
public var ownerId = ""
20+
public var isOwnedByCurrentUser = false
2121

22-
var createdAt = Date()
23-
var updatedAt = Date()
22+
public var createdAt = Date()
23+
public var updatedAt = Date()
2424

25-
var messages: [LocalMessageDTO] = []
25+
public var messages: [LocalMessageDTO] = []
2626

27-
var lastMessageId = ""
28-
var lastMessageText = ""
29-
var lastMessageDateSent = Date(timeIntervalSince1970: 0.0)
30-
var lastMessageUserId: String = ""
31-
var unreadMessagesCount: Int = 0
32-
var decrementCounter: Bool = false
27+
public var lastMessageId = ""
28+
public var lastMessageText = ""
29+
public var lastMessageDateSent = Date(timeIntervalSince1970: 0.0)
30+
public var lastMessageUserId: String = ""
31+
public var unreadMessagesCount: Int = 0
32+
public var decrementCounter: Bool = false
33+
34+
public init(id: String = UUID().uuidString,
35+
type: DialogType = .private,
36+
name: String = "",
37+
participantsIds: [String] = [],
38+
photo: String = "",
39+
ownerId: String = "",
40+
isOwnedByCurrentUser: Bool = false,
41+
createdAt: Date = Date(),
42+
updatedAt: Date = Date(),
43+
messages: [LocalMessageDTO] = [],
44+
lastMessageId: String = "",
45+
lastMessageText: String = "",
46+
lastMessageDateSent: Date = Date(timeIntervalSince1970: 0.0),
47+
lastMessageUserId: String = "",
48+
unreadMessagesCount: Int = 0,
49+
decrementCounter: Bool = false) {
50+
self.id = id
51+
self.type = type
52+
self.name = name
53+
self.participantsIds = participantsIds
54+
self.photo = photo
55+
self.ownerId = ownerId
56+
self.isOwnedByCurrentUser = isOwnedByCurrentUser
57+
self.createdAt = createdAt
58+
self.updatedAt = updatedAt
59+
self.messages = messages
60+
self.lastMessageId = lastMessageId
61+
self.lastMessageText = lastMessageText
62+
self.lastMessageDateSent = lastMessageDateSent
63+
self.lastMessageUserId = lastMessageUserId
64+
self.unreadMessagesCount = unreadMessagesCount
65+
self.decrementCounter = decrementCounter
66+
}
3367
}
3468

3569
extension LocalDialogDTO: Dated {
36-
var date: Date {
70+
public var date: Date {
3771
return updatedAt
3872
}
3973
}

Sources/QuickBloxData/DTO/Dialog/LocalDialogsDTO.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import QuickBloxDomain
1010

1111
/// This is a DTO model for interactions with the dialog session or conversation models in local storage.
1212
public struct LocalDialogsDTO {
13-
var dialogs: [LocalDialogDTO] = []
14-
var pagination = Pagination()
13+
public var dialogs: [LocalDialogDTO] = []
14+
public var pagination = Pagination()
15+
16+
public init () {}
1517
}

Sources/QuickBloxData/DTO/Dialog/RemoteDialogDTO.swift

Lines changed: 50 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,56 @@ import Foundation
1111

1212
/// This is a DTO model for interactions with the dialog session or conversation model in remote storage.
1313
public struct RemoteDialogDTO: Equatable {
14-
var id = ""
15-
var type: DialogType = .private
16-
var name = ""
17-
var participantsIds: [String] = []
18-
var toDeleteIds: [String] = []
19-
var toAddIds: [String] = []
20-
var photo = ""
21-
var ownerId = ""
22-
var isOwnedByCurrentUser = false
14+
public var id = ""
15+
public var type: DialogType = .private
16+
public var name = ""
17+
public var participantsIds: [String] = []
18+
public var toDeleteIds: [String] = []
19+
public var toAddIds: [String] = []
20+
public var photo = ""
21+
public var ownerId = ""
22+
public var isOwnedByCurrentUser = false
2323

24-
var createdAt = Date()
25-
var updatedAt = Date()
24+
public var createdAt = Date()
25+
public var updatedAt = Date()
2626

27-
var lastMessageId = ""
28-
var lastMessageText = ""
29-
var lastMessageDateSent = Date()
30-
var lastMessageUserId: String = ""
31-
var unreadMessagesCount: Int = 0
27+
public var lastMessageId = ""
28+
public var lastMessageText = ""
29+
public var lastMessageDateSent = Date()
30+
public var lastMessageUserId: String = ""
31+
public var unreadMessagesCount: Int = 0
32+
33+
public init(id: String = "",
34+
type: DialogType = .private,
35+
name: String = "",
36+
participantsIds: [String] = [],
37+
toDeleteIds: [String] = [],
38+
toAddIds: [String] = [],
39+
photo: String = "",
40+
ownerId: String = "",
41+
isOwnedByCurrentUser: Bool = false,
42+
createdAt: Date = Date(),
43+
updatedAt: Date = Date(),
44+
lastMessageId: String = "",
45+
lastMessageText: String = "",
46+
lastMessageDateSent: Date = Date(),
47+
lastMessageUserId: String = "",
48+
unreadMessagesCount: Int = 0) {
49+
self.id = id
50+
self.type = type
51+
self.name = name
52+
self.participantsIds = participantsIds
53+
self.toDeleteIds = toDeleteIds
54+
self.toAddIds = toAddIds
55+
self.photo = photo
56+
self.ownerId = ownerId
57+
self.isOwnedByCurrentUser = isOwnedByCurrentUser
58+
self.createdAt = createdAt
59+
self.updatedAt = updatedAt
60+
self.lastMessageId = lastMessageId
61+
self.lastMessageText = lastMessageText
62+
self.lastMessageDateSent = lastMessageDateSent
63+
self.lastMessageUserId = lastMessageUserId
64+
self.unreadMessagesCount = unreadMessagesCount
65+
}
3266
}

Sources/QuickBloxData/DTO/Dialog/RemoteDialogsDTO.swift

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,15 @@ import QuickBloxDomain
1010

1111
/// This is a DTO model for interactions with the dialog session or conversation models in remote storage.
1212
public struct RemoteDialogsDTO {
13-
var dialogs: [RemoteDialogDTO] = []
14-
var usersIds: [String] = []
15-
var pagination = Pagination()
13+
public var dialogs: [RemoteDialogDTO] = []
14+
public var usersIds: [String] = []
15+
public var pagination = Pagination()
16+
17+
public init(dialogs: [RemoteDialogDTO] = [],
18+
usersIds: [String] = [],
19+
pagination: Pagination = Pagination()) {
20+
self.dialogs = dialogs
21+
self.usersIds = usersIds
22+
self.pagination = pagination
23+
}
1624
}

Sources/QuickBloxData/DTO/Message/LocalMessageDTO.swift

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,24 @@ import Foundation
1212
/// This is a DTO model for interactions with the message model in local storage.
1313
public struct LocalMessageDTO: Identifiable, Hashable {
1414
public var id = UUID().uuidString
15-
var dialogId = ""
16-
var text = ""
17-
var senderId = ""
18-
var dateSent = Date(timeIntervalSince1970: 0)
19-
var isOwnedByCurrentUser = false
20-
var fileInfo: LocalFileInfoDTO?
21-
var deliveredIds: [String] = []
22-
var readIds: [String] = []
23-
var isReaded = false
24-
var isDelivered = false
25-
var eventType: MessageEventType = .message
26-
var type: MessageType = .chat
27-
var actionType: MessageAction = .none
28-
var originSenderName: String?
29-
var originalMessages: [LocalMessageDTO] = []
30-
var relatedId: String = ""
15+
public var dialogId = ""
16+
public var text = ""
17+
public var senderId = ""
18+
public var dateSent = Date(timeIntervalSince1970: 0)
19+
public var isOwnedByCurrentUser = false
20+
public var fileInfo: LocalFileInfoDTO?
21+
public var deliveredIds: [String] = []
22+
public var readIds: [String] = []
23+
public var isReaded = false
24+
public var isDelivered = false
25+
public var eventType: MessageEventType = .message
26+
public var type: MessageType = .chat
27+
public var actionType: MessageAction = .none
28+
public var originSenderName: String?
29+
public var originalMessages: [LocalMessageDTO] = []
30+
public var relatedId: String = ""
31+
32+
public init () {}
3133
}
3234

3335
extension LocalMessageDTO: Equatable {
@@ -37,13 +39,15 @@ extension LocalMessageDTO: Equatable {
3739
}
3840

3941
extension LocalMessageDTO: Dated {
40-
var date: Date { dateSent }
42+
public var date: Date { dateSent }
4143
}
4244

4345
public struct LocalFileInfoDTO: Equatable, Identifiable, Hashable {
4446
public var id: String = ""
45-
var ext: FileExtension = .json
46-
var name: String = ""
47-
var path: FilePath = FilePath()
47+
public var ext: FileExtension = .json
48+
public var name: String = ""
49+
public var path: FilePath = FilePath()
4850
public var uid: String = ""
51+
52+
public init () {}
4953
}

Sources/QuickBloxData/DTO/Message/LocalMessagesDTO.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ import QuickBloxDomain
1111

1212
/// This is a DTO model for interactions with messages models in local storage.
1313
public struct LocalMessagesDTO {
14-
var dialogId = ""
15-
var messages: [LocalMessageDTO] = []
16-
var pagination = Pagination()
14+
public var dialogId = ""
15+
public var messages: [LocalMessageDTO] = []
16+
public var pagination = Pagination()
17+
18+
public init () {}
1719
}

0 commit comments

Comments
 (0)