<?php
class SertifikasiHalalClient extends BackgroundBaseClient
{
    public function local($request)
    {
        $method = 'GET';
        $path = $this->prop["path"] . "dashboard/halal-certificate-list";
        $params = [
            "query" => [
                "page" => $request['page'],
                "size" => $request['size'],
                "status" => $request['status'],
                "no_sertifikat" => $request['no_sertifikat'],
                "nama_produk" => $request['nama_produk'],
                "nama_pelaku_usaha" => $request['nama_pelaku_usaha'],
            ]
        ];

        // region Log Definition
        $this->setApiName("SertifikasiHalal-local");
        // endregion

        return $this->execute($method, $path, $params, false);
    }

    public function foreign($request)
    {
        $method = 'GET';
        $path = $this->prop["path"] . "dashboard/halal-certificate-rshln-list";
        $params = [
            "query" => [
                "page" => $request['page'],
                "size" => $request['size'],
                "no_sertifikat" => $request['no_sertifikat'],
                "id" => $request['id'],
                "nama_produk" => $request['nama_produk'],
                "nama_pelaku_usaha" => $request['nama_pelaku_usaha']
            ],
            "headers" => [
                "Authorization" => $this->prop['token']
            ]
        ];

        // _region Log Definition
        $this->setApiName("SertifikasiHalal-foreign");
        // _endregion

        return $this->execute($method, $path, $params, false);
    }

    public function province()
    {
        $method = 'GET';
        $path = $this->prop["path"] . "provinsi";
        $params = [];

        
        // region Log Definition
        $this->setApiName("SertifikasiHalal-province");
        // endregion

        return $this->execute($method, $path, $params, false);
    }

    public function city($request)
    {
        $method = 'GET';
        $path = $this->prop["path"] . "kabupaten";
        $params = [
            "query" => [
                "kodeprovinsi" => $request['kodeprovinsi'],
            ]
        ];

        // region Log Definition
        $this->setApiName("SertifikasiHalal-city");
        // endregion

        return $this->execute($method, $path, $params, false);
    }

    public function service()
    {
        $method = 'GET';
        $path = $this->prop["path"] . "informasi/data_jenis_layanan";
        $params = [];

        // region Log Definition
        $this->setApiName("SertifikasiHalal-service");
        // endregion

        return $this->execute($method, $path, $params, false); 
    }

    public function product_type($request)
    {
        $method = 'GET';
        $path = $this->prop["path"] . "informasi/data_jenis_produk";
        $params = [
            "query" => [
                "kodelayanan" => $request['kodelayanan'],
            ]
        ];

        // region Log Definition
        $this->setApiName("SertifikasiHalal-product_type");
        // endregion

        return $this->execute($method, $path, $params, false);  
    }

    public function lph($request)
    {
        $method = 'GET';
        $path = $this->prop["path"] . "informasi/data_lph_detail_by_prov";
        $params = [
            "query" => [
                "kode_provinsi" => $request['kode_provinsi'],
            ]
        ];

        // region Log Definition
        $this->setApiName("SertifikasiHalal-lph");
        // endregion

        return $this->execute($method, $path, $params, false);  
    }

    public function calculate($request)
    {
        $method = 'POST';

        $path = $this->prop["path"] . "informasi/kalkulator_biaya_sh";
        $params = [
            "headers" => [
                "Content-Type" => "application/json"
            ],
            "json" => [
                "jenis_layanan" => $request['jenis_layanan'],
                "jenis_produk" => $request['jenis_produk'],
                "jumlah_pabrik" => $request['jumlah_pabrik'],
                "jumlah_produk" => $request['jumlah_produk'],
                "kabupaten_id" => $request['kabupaten_id'],
                "lph_id" => $request['lph_id'],
                "provinsi_id" => $request['provinsi_id'],
                "skala_usaha" => $request['skala_usaha'],
            ]
        ];

        // region Log Definition
        $this->setApiName("SertifikasiHalal-calculate");
        $this->setLogParams($params['json']);
        // endregion

        return $this->execute($method, $path, $params, false);  
    }

    public function rekapitulasi_sehati()
    {
        $method = 'GET';
        $path = $this->prop["path"] . "informasi/data_rekapitulasi_sehati_prov";
        $params = [];

        
        // region Log Definition
        $this->setApiName("SertifikasiHalal-rekapitulasi_sehati");
        // endregion

        return $this->execute($method, $path, $params, false);
    }
}
