<?php

namespace App\Method\Homeville;

use App\APIWrapper\Helper\WrapperHelper;
use App\Method\Homeville\Helpers\HomevilleHelper;
use App\Method\Homeville\Payload\Payload;
use App\Method\Homeville\Response\Response;
use Illuminate\Support\Facades\Config;

class HomevilleMethods implements WrapperHelper, HomevilleHelper
{
    public $errorBag = null;

    public function handle(){
        return Config::get('wrapper.homeville');
    }

    public function payload(): Payload
    {
        return new Payload();
    }

    public function response(): Response
    {
        return new Response();
    }

    public function getToken($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function createApplication($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function addAsset($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function uploadDocument($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function createLoan($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function getStateMaster($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function getCityMaster($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function getCityByPincode($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function getBankMaster($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function loanTerms($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function updateApplication($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function getQualificationMaster($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function generateDocument($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function generateNACHMandate($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function signRequestMergeDocument($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function getApplicantBankDetails($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function masterDocumentAPI($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function getFormFields($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function getListOfESign($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function getDocumentId($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }

    public function getSolarDetails($wrapper)
    {
        return $wrapper->initiate(__FUNCTION__);
    }
}