Skip to content

Commit 9d5c66c

Browse files
committed
Fixes on draft
1 parent 0b5c842 commit 9d5c66c

File tree

4 files changed

+22
-32
lines changed

4 files changed

+22
-32
lines changed

apple/InlineKit/Sources/InlineKit/ApiClient.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,6 @@ public final class ApiClient: ObservableObject, @unchecked Sendable {
479479
public func updateDialog(
480480
peerId: Peer,
481481
pinned: Bool?,
482-
draft: String?,
483482
archived: Bool?
484483
) async throws -> UpdateDialog {
485484
var queryItems: [URLQueryItem] = []
@@ -493,9 +492,6 @@ public final class ApiClient: ObservableObject, @unchecked Sendable {
493492
queryItems.append(URLQueryItem(name: "pinned", value: "\(pinned)"))
494493
}
495494

496-
if let draft {
497-
queryItems.append(URLQueryItem(name: "draft", value: draft))
498-
}
499495
if let archived {
500496
queryItems.append(URLQueryItem(name: "archived", value: "\(archived)"))
501497
}

apple/InlineKit/Sources/InlineKit/DataManager.swift

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -247,12 +247,8 @@ public class DataManager: ObservableObject {
247247
try chat.save(db, onConflict: .replace)
248248
}
249249

250-
// Finally save dialogs
251-
let dialogs = result.dialogs.map { dialog in
252-
Dialog(from: dialog)
253-
}
254-
try dialogs.forEach { dialog in
255-
try dialog.save(db, onConflict: .replace)
250+
try result.dialogs.forEach { dialog in
251+
try dialog.saveFull(db)
256252
}
257253

258254
return chats
@@ -437,29 +433,11 @@ public class DataManager: ObservableObject {
437433
return
438434
}
439435

440-
let result = try await ApiClient.shared.updateDialog(
436+
_ = try await ApiClient.shared.updateDialog(
441437
peerId: peerId,
442438
pinned: pinned,
443-
draft: draft,
444439
archived: archived == nil ? updatedDialog.archived : archived
445440
)
446-
447-
// Note(@Mo): don't do too many DB writes
448-
// try await database.dbWriter.write { db in
449-
// var dialog = Dialog(from: result.dialog)
450-
// if archived != nil {
451-
// dialog.archived = archived
452-
// }
453-
//
454-
// try dialog.save(db, onConflict: .replace)
455-
// }
456-
}
457-
458-
public func getDraft(peerId: Peer) async throws -> String? {
459-
try await database.dbWriter.read { db in
460-
let dialog = try Dialog.fetchOne(db, id: Dialog.getDialogId(peerId: peerId))
461-
return dialog?.draft
462-
}
463441
}
464442

465443
public func getSpace(spaceId: Int64) async throws {

apple/InlineKit/Sources/InlineKit/Models/Dialog.swift

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ public struct ApiDialog: Codable, Hashable, Sendable {
88
public var unreadCount: Int?
99
public var readInboxMaxId: Int64?
1010
public var readOutboxMaxId: Int64?
11-
public var draft: String?
1211
public var archived: Bool?
1312
}
1413

@@ -65,7 +64,6 @@ public extension Dialog {
6564
readInboxMaxId = from.readInboxMaxId
6665
readOutboxMaxId = from.readOutboxMaxId
6766
pinned = from.pinned
68-
draft = from.draft
6967
archived = from.archived
7068
unreadCount = from.unreadCount
7169
}
@@ -116,6 +114,23 @@ public extension Dialog {
116114
}
117115
}
118116

117+
public extension ApiDialog {
118+
@discardableResult
119+
func saveFull(
120+
_ db: Database
121+
)
122+
throws -> Dialog
123+
{
124+
let existing = try? Dialog.fetchOne(db, id: Dialog.getDialogId(peerId: peerId))
125+
var dialog = Dialog(from: self)
126+
if let existing {
127+
dialog.draft = existing.draft
128+
try dialog.save(db)
129+
}
130+
return dialog
131+
}
132+
}
133+
119134
public extension Dialog {
120135
static func get(peerId: Peer) -> QueryInterfaceRequest<Dialog> {
121136
Dialog

apple/InlineKit/Sources/InlineKit/Models/Message.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public struct Message: FetchableRecord, Identifiable, Codable, Hashable, Persist
3838
globalId ?? 0
3939
}
4040

41+
/// @Deprecated
4142
public var id: Int64 {
4243
// this is wrong
4344
messageId
@@ -324,7 +325,6 @@ public extension Message {
324325
try? await ApiClient.shared.updateDialog(
325326
peerId: peer,
326327
pinned: nil,
327-
draft: nil,
328328
archived: false
329329
)
330330
}
@@ -347,6 +347,7 @@ public extension ApiMessage {
347347
message.globalId = existing.globalId
348348
message.status = existing.status
349349
message.fileId = existing.fileId
350+
message.text = existing.text
350351
// ... anything else?
351352
} else {
352353
// attach main photo

0 commit comments

Comments
 (0)