validateParams method

  1. @override
String? validateParams(
  1. Map<String, dynamic>? params
)
override

Validate parameters before execution

Return null if valid, or error message if invalid. Override to provide custom validation logic.

Implementation

@override
String? validateParams(Map<String, dynamic>? params) {
  if (params == null || params.isEmpty) {
    return 'Parameters are required';
  }

  final query = params['query'] as String?;
  if (query == null || query.trim().isEmpty) {
    return 'Query parameter is required';
  }

  // Validate SQL safety
  final validationError = _validateSql(query);
  if (validationError != null) {
    return validationError;
  }

  // Validate maxRows
  final maxRowsParam = params['maxRows'] as int?;
  if (maxRowsParam != null && (maxRowsParam < 1 || maxRowsParam > maxRows)) {
    return 'maxRows must be between 1 and $maxRows';
  }

  return null;
}