flagMessage static method

Future<String?> flagMessage(
  1. int messageId,
  2. FlagDetail detail, {
  3. dynamic onSuccess(
    1. String result
    )?,
  4. dynamic onError(
    1. CometChatException excep
    )?,
})

Flags a message for content moderation.

Migration Note: Migrated from platform channels to native Dart implementation. Uses ModerationRepository for flagging messages. Behavior and signature remain identical for backward compatibility.

Android Reference: CometChat.flagMessage(long messageId, FlagDetail flagDetail, CallbackListener<String>)

Implementation

static Future<String?> flagMessage(
  int messageId,
  FlagDetail detail, {
  Function(String result)? onSuccess,
  Function(CometChatException excep)? onError,
}) async {
  try {
    final sdk = SdkRegistry.getInstance();
    final result = await sdk.moderation.flagMessage(messageId, detail);

    if (onSuccess != null) onSuccess(result);
    return result;
  } on SdkException catch (sdkEx) {
    final cometChatEx = CometChatException(
      sdkEx.code,
      sdkEx.details ?? sdkEx.message,
      sdkEx.message,
    );
    _errorCallbackHandler(cometChatEx, null, null, onError);
  } catch (e) {
    _errorCallbackHandler(null, null, e, onError);
  }

  return null;
}