import json

from app.api import api
from app.decentro.accessor import DecentroAccessor
from app.util import util


class Decentro:
    @classmethod
    def validate_pan(cls, pan):
        status, response = DecentroAccessor.validate_pan(pan)
        if util.is_status_failed(status):
            return status, None

        if response['responseKey'] == 'error_invalid_pan':
            return api.INVALID_PAN, None

        result = {
            'name': response['kycResult']['firstName'] + ' ' + response['kycResult']['lastName'],
            # 'name': 'Juspay',
            'pan_validation_response':  json.dumps(response)
        }

        return api.SUCCESS, result
