+ Simple users identification

This commit is contained in:
Djery-Tom 2020-06-11 14:44:34 +01:00
parent a14a32e5ff
commit 078fe89db0
4 changed files with 50 additions and 3 deletions

View File

@ -47,5 +47,10 @@ class WalletServiceController extends Controller
));
}
public function delete(Request $request)
{
return $this->successResponse($this->walletService->delete(
substr($request->getRequestUri(),strlen(env('WALLET_SERVICE_NAME'))+1), $request->all(),$request->header()
));
}
}

View File

@ -38,4 +38,9 @@ class WalletService
{
return $this->perfomRequest('PUT',$uri,$data,$headers);
}
public function delete($uri , $data, $headers)
{
return $this->perfomRequest('DELETE',$uri,$data,$headers);
}
}

View File

@ -2,6 +2,7 @@
namespace App\Traits;
use GuzzleHttp\Client;
use Illuminate\Http\UploadedFile;
trait ConsumesExternalService
{
@ -24,9 +25,38 @@ trait ConsumesExternalService
unset($headers['authorization']);
$headers['Authorization'] = $this->key;
}
$contentType = $headers['content-type'][0];
$response = $client->request($method , $requestUrl , ['json'=> $body , 'form_params' => $formParams , 'headers' => $headers] );
if(strpos($contentType, 'multipart/form-data') !== false){
// $headers['content-type'] = 'multipart/form-data';
// dd($body);
$response = $client->request($method ,$requestUrl , ['multipart' => $this->bodyToMultipart($body),'headers' => $headers]);
}else{
$response = $client->request($method , $requestUrl , ['json'=> $body ,'form_params' => $formParams , 'headers' => $headers]);
}
return $response->getBody()->getContents();
}
private function bodyToMultipart(array $body){
$multipart = [];
foreach ($body as $key => $value){
if( $value instanceof UploadedFile){
array_push($multipart , [
'name' => $key,
'contents' => file_get_contents($value->getRealPath()),
'mine-type'=>$value->getMimeType(),
'filename' => $value->getClientOriginalName(),
// 'contents' => fopen( './test.txt', 'r' ),
'headers' => [ 'Content-type' => 'multipart/form-data']
]);
}else{
array_push($multipart , [
'name' => $key,
'contents' => $value,
]);
}
}
return $multipart;
}
}

View File

@ -60,6 +60,7 @@
$router->post('','WalletServiceController@post');
$router->get('{id_wallet}','WalletServiceController@get');
$router->post('commission','WalletServiceController@post');
$router->delete('{id_transaction}','WalletServiceController@delete');
});
// Credits routes
@ -78,7 +79,13 @@
// Wallets users iLink
$router->group(['prefix' => '/users'] , function () use ($router){
$router->get('{id_user}', 'WalletController@get');
$router->get('{id_user}', 'WalletServiceController@get');
});
});
// Idendification routes
$router->group(['prefix' => '/identifications'] , function () use ($router){
$router->post('','WalletServiceController@post');
$router->post('{id_identification}','WalletServiceController@post');
});
});