getStatistics method

Future<List<Statistic>> getStatistics({
  1. required List<StatisticsType> ofTypes,
  2. required DateTime from,
  3. required DateTime to,
  4. required StatisticsInterval interval,
  5. StatisticsFilter? filter,
})

Implementation

Future<List<Statistic>> getStatistics({
  required List<StatisticsType> ofTypes,
  required DateTime from,
  required DateTime to,
  required StatisticsInterval interval,
  StatisticsFilter? filter,
}) async {
  final result = await NativeSDKBridgeV3.getStatistics(
    connectionId: connectionId,
    ofTypes: ofTypes.map((e) => e.toJson()).toList(),
    from: from.toUtc().toIso8601String(),
    to: to.toUtc().toIso8601String(),
    interval: interval.toJson(),
    filter: filter != null ? jsonEncode(filter.toJson()) : null,
  );
  // log("Statistics result: $result");

  ExceptionHandler.checkException(result);

  final object = jsonDecode(result) as List;
  List<Statistic> statistics = object.map((e) => Statistic.fromJson(e)).toList();

  return statistics;
}