<?php

namespace App\Method\KMGP2P;

use App\APIWrapper\Helper\WrapperHelper;
use App\Method\KMGP2P\Helpers\KMGP2PHelper;
use App\Method\KMGP2P\Payload\Payload;
use App\Method\KMGP2P\Response\Response;
use Illuminate\Support\Facades\Config;

class KMGP2PMethods implements WrapperHelper, KMGP2PHelper
{
    public static $createToken = 'kmgp2p_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 saveEMI($wrapper){
        return $wrapper->initiate(__FUNCTION__);
    }

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

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

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

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

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

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

    public function createToken($wrapper){

    }
}