Supabase/Flutter edit message update problem

Hello, I'm creating a messagery network as Messenger and I'm making an edit message option but it doesn't work for now. When I send my edited message, it is changed in the UI for 1/2 seconds but not in my database so I'm supposed the problem come from my SQL request because the id and the message provided by my newMessage attribute are the good ones. I suppose the issue come from my "update_at" type attribute in my table because it is a timestamptz and in my SQL request it's timestamp. I tried with .toUTC() but it didn't work Does someone has a solution to give me ?
@override
Future<void> editMessage({
required Message oldMessage,
required Message newMessage
}) async {
late final newMessageHasAttachments = newMessage.attachments.isNotEmpty;
late final oldMessageHasAttachments = oldMessage.attachments.isNotEmpty;
late final updateOldMessageAttachments =
newMessageHasAttachments && oldMessageHasAttachments;
late final insertNewMessageAttachments =
newMessageHasAttachments && !oldMessageHasAttachments;

final result = await _powerSyncRepository.db().execute(
'''
UPDATE messages
SET
message = ?1,
updated_at = ?2
WHERE
id = ?3
''',
[
newMessage.message,
DateTime.timestamp().toUtc().toIso8601String(),
newMessage.id
]
);

print("UPDATE result: $result, oldMessage.id=${oldMessage.id}, newMessage.id=${newMessage.id}");
}
@override
Future<void> editMessage({
required Message oldMessage,
required Message newMessage
}) async {
late final newMessageHasAttachments = newMessage.attachments.isNotEmpty;
late final oldMessageHasAttachments = oldMessage.attachments.isNotEmpty;
late final updateOldMessageAttachments =
newMessageHasAttachments && oldMessageHasAttachments;
late final insertNewMessageAttachments =
newMessageHasAttachments && !oldMessageHasAttachments;

final result = await _powerSyncRepository.db().execute(
'''
UPDATE messages
SET
message = ?1,
updated_at = ?2
WHERE
id = ?3
''',
[
newMessage.message,
DateTime.timestamp().toUtc().toIso8601String(),
newMessage.id
]
);

print("UPDATE result: $result, oldMessage.id=${oldMessage.id}, newMessage.id=${newMessage.id}");
}
No description
0 Replies
No replies yetBe the first to reply to this messageJoin

Did you find this page helpful?