from app.credit_fair.credit_fair_accessor import CreditFairAccessor


class CreditFair:

    def __init__(self, bearer_token):
        self.bearer_token = bearer_token

    @classmethod
    def upload_document(cls, loan_application_id, document_name, document_format, document_content, document_password,
                        bearer_token, client_id=None, client_secret=None):
        return CreditFairAccessor.upload_document(loan_application_id, document_name, document_format, document_content,
                                                  document_password, bearer_token, client_id, client_secret)

    @classmethod
    def create_customer(cls, phone_number, email, first_name, last_name, merchant_id, center_id, product_id,
                        loan_amount, gender, pincode):
        return CreditFairAccessor.create_customer(
            phone_number, email, first_name, last_name, merchant_id, center_id, product_id, loan_amount, gender,
            pincode)

    @classmethod
    def fetch_bureau(cls, application_id, applicant_type, first_name, last_name, pan, dob, mobile_number,
                     address_street, address_city, address_state, address_pincode, loan_amount, bearer_token,
                     client_id, client_secret):
        return CreditFairAccessor.fetch_bureau(
            application_id, applicant_type, first_name, last_name, pan, dob, mobile_number, address_street,
            address_city, address_state, address_pincode, loan_amount, bearer_token, client_id, client_secret)

    @classmethod
    def run_auto_decision(cls, application_id, bearer_token, client_id, client_secret):
        return CreditFairAccessor.run_auto_decision(application_id, bearer_token, client_id, client_secret)
