<?php

namespace App\Method\JM;

use App\APIWrapper\Helper\WrapperHelper;
use App\Method\JM\Helpers\JMHelper;
use App\Method\JM\Payload\Payload;
use App\Method\JM\Response\Response;
use Illuminate\Support\Facades\Config;

class JMMethods implements WrapperHelper, JMHelper
{
    public $errorBag = null;

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

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

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

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

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

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

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

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

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

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

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

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

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