getStyledDevicesLogs method

  1. @override
Future<StyledDevicesLogs> getStyledDevicesLogs(
  1. DevicesLogsParam param,
  2. LogsStyle style,
  3. int timeframeMinutes
)
override

Implementation

@override
Future<StyledDevicesLogs> getStyledDevicesLogs(
    DevicesLogsParam param, LogsStyle style, int timeframeMinutes) async {
  try {
    return await dio
        .get('${ApiEndpoints.DEVICES_LOGS}/${param.deviceId}',
            queryParameters: {
              'parameter': param.deviceParameter,
              'communication': 'mqtt',
              'limit': param.limit,
              'sortorder': 'desc',
              'style': style.name,
              'tf': timeframeMinutes
            },
            options: Options(
                validateStatus: (status) => status == 200 || status == 404))
        .then((value) {
      try {
        return StyledDevicesLogs.fromJson(value.data);
      } catch (e) {
        logger.error(TAG, e.toString(), {'method': 'getStyledDevicesLogs'});
      }

      return StyledDevicesLogs(list: []);
    });
  } on Exception catch (e) {
    throw HttpHelper.decodeErrorResponse(e,
        tag: TAG,
        logger: logger,
        defaultErrorMessage: "Failed to get devices logs",
        meta: {
          'id': param.deviceId,
          'param': param.deviceParameter,
          'method': 'getStyledDevicesLogs'
        });
  }
}