<?php

namespace App\Method\Lendbox;

use App\APIWrapper\Helper\WrapperHelper;
use App\Method\Lendbox\Helpers\LendboxHelper;
use App\Method\Lendbox\Payload\Payload;
use App\Method\Lendbox\Response\Response;
use Illuminate\Support\Facades\Config;

class LendboxMethods implements WrapperHelper, LendboxHelper
{
    public static $createToken = 'lendbox_token';
    public $errorBag = null;

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

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

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

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

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

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

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

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

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

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

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

    public function createToken($wrapper){

    }
}