from app.eco.enums import TransactionType from flask import jsonify from marshmallow import ValidationError import logging logger = logging.getLogger(__name__) class BaseService: TRANSACTION_TYPE = None @classmethod def validate_data(cls, data, schema): """ Validate input data based on the provided schema. """ logger.info(f"Processing {cls.TRANSACTION_TYPE} request") return schema.load(data) # @classmethod # def log_session(cls, validated_data): # """ # Create a new session. # """ # channel = "USSD" if validated_data.get("channel") is None else validated_data.get("channel") # return Session.create_session( # session_id = validated_data.get("transactionId"), # customer_id = validated_data.get('customerId', None), # account_id = validated_data.get("accountId", None), # type = cls.TRANSACTION_TYPE, # channel = channel, # )