from urllib import response from app.utils.logger import logger from app.eco.services.base_service import BaseService from app.eco.schemas.repayment import RepaymentSchema from marshmallow import ValidationError from app.eco.enums import TransactionType from app.eco.helpers.response_helper import ResponseHelper import random class RepaymentService(BaseService): TRANSACTION_TYPE = TransactionType.REPAYMENT @staticmethod def process_request(data): """ Process the Repayment request. Args: data (dict): The request data. Returns: dict: A standardized response. """ try: validated_data = RepaymentService.validate_data( data, RepaymentSchema() ) return ResponseHelper.success() except ValidationError as err: logger.error(f"Validation Error: {getattr(err, 'messages', str(err))}") return ResponseHelper.unprocessable_entity(result_description="Validation exception") except Exception as e: logger.error(f"An error occurred: {str(e)}", exc_info=True) return ResponseHelper.internal_server_error()