generateMediaPath static method

String generateMediaPath({
  1. required MessageType messageType,
  2. String? prefix,
  3. String? withExtension,
  4. bool isCache = false,
})

Implementation

static String generateMediaPath(
    {required MessageType messageType, String? prefix, String? withExtension, bool isCache = false}) {
  final sdkAppID = LoginStore.shared.sdkAppID;
  final userID = LoginStoreImpl.instance.loginState.loginUserInfo?.userID;
  final uuid = "${DateTime.now().millisecondsSinceEpoch}";

  final mediaHomePath = getMediaHomePath(messageType: messageType, isCache: isCache);

  String prefixString = "";
  if (prefix != null && prefix.isNotEmpty) {
    prefixString = "${prefix}_";
  }

  String suffixString = "";
  if (withExtension != null && withExtension.isNotEmpty) {
    suffixString = ".$withExtension";
  }

  if (messageType == MessageType.image) {
    return "$mediaHomePath/${prefixString}image_${sdkAppID}_${userID ?? ""}_$uuid$suffixString";
  } else if (messageType == MessageType.video) {
    return "$mediaHomePath/${prefixString}video_${sdkAppID}_${userID ?? ""}_$uuid$suffixString";
  } else if (messageType == MessageType.sound) {
    return "$mediaHomePath/${prefixString}sound_${sdkAppID}_${userID ?? ""}_$uuid$suffixString";
  } else if (messageType == MessageType.file) {
    return "$mediaHomePath/${prefixString}file_${sdkAppID}_${userID ?? ""}_$uuid$suffixString";
  }

  return "";
}