<?php

namespace App\Method\Decentro;

use App\APIWrapper\Helper\WrapperHelper;
use App\Method\Decentro\Helpers\DecentroHelper;
use App\Method\Decentro\Payload\Payload;
use App\Method\Decentro\Response\Response;
use Illuminate\Support\Facades\Config;

class DecentroMethods implements WrapperHelper, DecentroHelper
{
    public static $createToken = 'decentro_token';
    public $errorBag = null;

    public function validate($wrapper){

        return $wrapper->initiate(__FUNCTION__);
    }

    public function ckycSearch($wrapper){

        unset($wrapper->methods['headers']['client_id']);
        unset($wrapper->methods['headers']['client_secret']);
        unset($wrapper->methods['headers']['module_secret']);
        return $wrapper->initiate(__FUNCTION__);
    }

    public function ckycDownload($wrapper){

        unset($wrapper->methods['headers']['client_id']);
        unset($wrapper->methods['headers']['client_secret']);
        unset($wrapper->methods['headers']['module_secret']);
        return $wrapper->initiate(__FUNCTION__);
    }

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

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

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