19 lines
552 B
Dart
19 lines
552 B
Dart
import 'package:backend_dart/domain/errors/app_error.dart';
|
|
import 'package:fpdart/fpdart.dart';
|
|
|
|
TaskEither<AppError, Map<String, dynamic>> Function(Map<String, dynamic>)
|
|
validateJsonKeys(List<String> requiredKeys) {
|
|
return (json) {
|
|
final missingKeys =
|
|
requiredKeys.where((key) => !json.containsKey(key)).toList();
|
|
|
|
if (missingKeys.isNotEmpty) {
|
|
return TaskEither.left(AppError.validationError(
|
|
message: 'Missing required keys: ${missingKeys.join(', ')}',
|
|
));
|
|
}
|
|
|
|
return TaskEither.right(json);
|
|
};
|
|
}
|