validate method
Validates the configuration before execution.
This method should check that all required configuration values are present and valid for the specific service. Subclasses should override this method to add service-specific validation.
Throws:
- ShorebirdValidationError: If validation fails
- ShorebirdConfigurationError: If configuration is invalid
Implementation
@override
Future<void> validate() async {
  logValidation('patch service configuration');
  // Validate that we have a platform-specific configuration
  if (config is! AndroidCommandConfig && config is! IosCommandConfig) {
    throw ArgumentError(
        'Patch service requires AndroidCommandConfig or IosCommandConfig, '
        'but got ${config.runtimeType}');
  }
  // Validate base configuration
  config.validate();
  // Platform-specific validation
  if (config is AndroidCommandConfig) {
    _validateAndroidConfig(config as AndroidCommandConfig);
  } else if (config is IosCommandConfig) {
    _validateIosConfig(config as IosCommandConfig);
  }
}