saveEditedMessageDraft method
Future<void>
saveEditedMessageDraft(
- String messageUId,
- String content, {
- RCIMIWMessage? message,
- List<
String> ? mentionUserIds, - List<
RCKMessageEditMention> ? mentions,
Implementation
Future<void> saveEditedMessageDraft(
String messageUId,
String content, {
RCIMIWMessage? message,
List<String>? mentionUserIds,
List<RCKMessageEditMention>? mentions,
}) {
if (!_canUseMessageEditDrafts || messageUId.isEmpty) {
return Future<void>.value();
}
final targetEngine = _sessionEngine;
if (targetEngine == null) return Future<void>.value();
final type = _con.conversationType ?? RCIMIWConversationType.invalid;
final targetId = _con.targetId ?? '';
final channelId = _con.channelId;
final draft = RCIMIWEditedMessageDraft.create(
messageUId: messageUId,
content: _encodeEditedMessageDraft(
content,
message: message,
mentionUserIds: mentionUserIds,
mentions: mentions,
),
);
return _enqueueEditedDraftOperation((generation, requestId) {
return _invokeEditedDraftOperation(
generation: generation,
requestId: requestId,
invoke: (callback) => targetEngine.saveEditedMessageDraft(
type,
targetId,
channelId,
draft,
callback: callback,
),
);
});
}