Fetch synced_from and synced_to from db to avoid resetting values to zero

This commit is contained in:
Roman Volosovskyi 2021-12-15 10:34:20 +02:00
parent 612d8918ea
commit 64589fbd1f
No known key found for this signature in database
GPG Key ID: 0238A4B5ECEE70DE
2 changed files with 14 additions and 2 deletions

View File

@ -1 +1 @@
0.92.4
0.92.5

View File

@ -367,6 +367,8 @@ func (db sqlitePersistence) Chat(chatID string) (*Chat, error) {
lastMessageBytes []byte
invitationAdmin sql.NullString
profile sql.NullString
syncedFrom sql.NullInt64
syncedTo sql.NullInt64
)
err := db.db.QueryRow(`
@ -393,7 +395,9 @@ func (db sqlitePersistence) Chat(chatID string) (*Chat, error) {
joined,
description,
highlight,
received_invitation_admin
received_invitation_admin,
synced_from,
synced_to
FROM chats
WHERE id = ?
`, chatID).Scan(&chat.ID,
@ -419,11 +423,19 @@ func (db sqlitePersistence) Chat(chatID string) (*Chat, error) {
&chat.Description,
&chat.Highlight,
&chat.ReceivedInvitationAdmin,
&syncedFrom,
&syncedTo,
)
switch err {
case sql.ErrNoRows:
return nil, nil
case nil:
if syncedFrom.Valid {
chat.SyncedFrom = uint32(syncedFrom.Int64)
}
if syncedTo.Valid {
chat.SyncedTo = uint32(syncedTo.Int64)
}
if invitationAdmin.Valid {
chat.InvitationAdmin = invitationAdmin.String
}