<?php

namespace App\Method\OneFin;

use App\APIWrapper\Helper\WrapperHelper;
use App\Method\OneFin\Helpers\OneFinHelper;
use App\Method\OneFin\Payload\Payload;
use App\Method\OneFin\Response\Response;
use Illuminate\Support\Facades\Config;

class OneFinMethods implements WrapperHelper, OneFinHelper
{
    public $errorBag = null;

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

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

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

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

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

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

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

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

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