checkBridgePrerequisites function
Check all bridge prerequisites before connecting.
Verifies: organization policy, bridge disabled reasons, version compatibility, and access token availability.
Implementation
Future<BridgePrerequisiteResult> checkBridgePrerequisites() async {
// Check organization policy.
// In the Dart port, policy checking is handled by the policy service.
// For now, we check basic prerequisites.
// Check if bridge is disabled for a known reason.
final disabledReason = await _getBridgeDisabledReason();
if (disabledReason != null) {
return BridgePrerequisiteResult.failure(
message: disabledReason,
failReason: BridgeDisabledReason.notEligible,
);
}
// Check bridge version compatibility.
final versionError = _checkBridgeMinVersion();
if (versionError != null) {
return BridgePrerequisiteResult.failure(
message: versionError,
failReason: BridgeDisabledReason.versionTooOld,
);
}
// Check access token.
if (getBridgeAccessToken() == null) {
return BridgePrerequisiteResult.failure(
message: bridgeLoginInstruction,
failReason: BridgeDisabledReason.noAccessToken,
);
}
return const BridgePrerequisiteResult.success();
}