Files
exchange-2.0/app/Classes/Modules/Accounts/Processors/RegisterOnShippingProcessor.php
T
2023-11-22 16:18:02 +08:00

45 lines
1.7 KiB
PHP

<?php
namespace App\Classes\Modules\Accounts\Processors;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Log;
class RegisterOnShippingProcessor
{
/**
* @param Request $request
* @return string
* @throws \App\Classes\Exceptions\AccessForbiddenException
* @throws \App\Classes\Exceptions\MalformedRequestException
* @throws \App\Classes\Exceptions\RequestValidationException
*/
public function execute(Request $request, $companyId) {
if (App::environment(['production'])) {
dd("Delete this line before push to production");
$url = 'https://izyim.cief-malaysia.com/api/v1/account/registration';
} else if (App::environment(['local'])) {
$url = 'http://127.0.0.1:8001/api/v1/account/registration';
} else {
$url = 'https://dev.portal.cief-malaysia.com/api/v1/account/registration';
}
try {
$client = new \GuzzleHttp\Client(['verify' => false]);
$formParams = $request->toArray();
$formParams['exchange_company_id'] = $companyId;
$response = $client->request('POST', $url, ['form_params' => $formParams]);
$body = $response->getBody();
$contents = json_decode($body, true);
$payload = $contents['payload'];
$token = explode('.', $payload['access_token'])[1];
$decodedToken = base64_decode($token);
$shippingUser = json_decode($decodedToken, true)['user'];
return $shippingUser['company_module_id'];
} catch(\GuzzleHttp\Exception\RequestException $exception){
Log::error($exception->getResponse()->getBody()->getContents());
}
}
}