diff --git a/app/Http/Controllers/WalletServiceController.php b/app/Http/Controllers/WalletServiceController.php index 7fb45ac..f2f7d0b 100755 --- a/app/Http/Controllers/WalletServiceController.php +++ b/app/Http/Controllers/WalletServiceController.php @@ -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() + )); + } } diff --git a/app/Services/WalletService.php b/app/Services/WalletService.php index a99d442..603822c 100755 --- a/app/Services/WalletService.php +++ b/app/Services/WalletService.php @@ -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); + } } diff --git a/app/Traits/ConsumesExternalService.php b/app/Traits/ConsumesExternalService.php index e22d79b..67c847d 100755 --- a/app/Traits/ConsumesExternalService.php +++ b/app/Traits/ConsumesExternalService.php @@ -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; + } } diff --git a/routes/web.php b/routes/web.php index 70918d4..3318101 100755 --- a/routes/web.php +++ b/routes/web.php @@ -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'); + }); });