SupabaseS
Supabase5mo ago
Mishat

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}");
  }
image.png
Was this page helpful?