getSavedTransactions method

  1. @override
Future<CCResult> getSavedTransactions()
override

NEW: fetches the latest saved transactions (limited to 5 on native side). Returns CCResult with data: List<Map<String, dynamic>>

Implementation

@override
Future<CCResult> getSavedTransactions() async {
  try {
    final result = await methodChannel.invokeMethod('get_saved_transactions');
    final ccResult = CCResult.fromMap(result);
    if (ccResult.status == Status.SUCCESS) {
      final data = ccResult.data;
      if (data is List) {
        ccResult.data = data.map((e) {
          if (e is Map) {
            return SavedTransaction.fromMap(Map<String, dynamic>.from(e));
          } else if (e is String) {
            final decoded = jsonDecode(e);
            return SavedTransaction.fromMap(Map<String, dynamic>.from(decoded));
          }
          return SavedTransaction.fromMap(const {});
        }).toList();
      } else {
        ccResult.data = <SavedTransaction>[];
      }
    }

    return ccResult;
  } on PlatformException catch (e) {
    return CCResult(status: Status.ERROR, message: e.message ?? 'an error occurred');
  }
}