getAllFileUploadRequests method

  1. @override
Future<List<MediaBuilder>?> getAllFileUploadRequests()
override

Implementation

@override
Future<List<MediaBuilder>?> getAllFileUploadRequests() async {
  try {
    final jsonString = await methodChannel.invokeMethod<String>(
      'getAllFileUploadRequests',
    );
    if (jsonString == null || jsonString == '[]' || jsonString == '{}') {
      return [];
    }

    final jsonData = jsonDecode(jsonString) as List<dynamic>;
    final builders = <MediaBuilder>[];

    for (final item in jsonData) {
      final builder = _buildMediaBuilderFromJsonMap(
        Map<String, dynamic>.from(item as Map),
        requireFilePath: false,
      );
      if (builder != null) {
        builders.add(builder);
      }
    }

    return builders;
  } on PlatformException catch (e) {
    throw PlatformException(
      code: 'REQUEST_ERROR',
      message: e.message,
      details: e.toString(),
    );
  }
}