import 'package:backend_dart/domain/errors/app_error.dart'; import 'package:backend_dart/domain/interface/error.dart'; import 'package:fpdart/fpdart.dart'; TaskEither> validateJsonKeys( Map json, List requiredKeys) { return TaskEither.tryCatch( () async { final missingKeys = requiredKeys.where((key) => !json.containsKey(key)).toList(); if (missingKeys.isNotEmpty) { throw Exception('Missing required keys: ${missingKeys.join(', ')}'); } return json; }, (error, _) => AppError.validationError( message: 'Failed to validate JSON keys: ${error.toString()}', ), ); }