validateInput method
Validate input before execution and permission checks.
Implementation
@override
ValidationResult validateInput(Map<String, dynamic> input) {
final action = input['action'] as String?;
if (action == null || !['get', 'set', 'list', 'reset'].contains(action)) {
return const ValidationResult.invalid(
'action must be get, set, list, or reset',
);
}
if ((action == 'get' || action == 'set' || action == 'reset') &&
input['key'] == null) {
return ValidationResult.invalid('key is required for $action');
}
if (action == 'set' && input['value'] == null) {
return const ValidationResult.invalid('value is required for set');
}
return const ValidationResult.valid();
}