safeExecute static method

Future<IntegrationResult> safeExecute(
  1. Function function,
  2. Integration integration
)

Implementation

static Future<IntegrationResult> safeExecute(
  Function function,
  Integration integration,
) async {
  try {
    await function();
    return IntegrationResult(
      integrationName: integration.runtimeType.toString(),
      success: true,
      timestamp: DateTime.now(),
    );
  } catch (e) {
    log('Error in integration ${integration.runtimeType}: $e');
    return IntegrationResult(
      integrationName: integration.runtimeType.toString(),
      success: false,
      error: e.toString(),
      timestamp: DateTime.now(),
    );
  }
}