+ Add NanoSanteService endpoints

This commit is contained in:
Djery-Tom 2021-10-19 14:38:30 +01:00
parent e17ff1ad48
commit 0926502f97
7 changed files with 150 additions and 13 deletions

View File

@ -28,4 +28,8 @@ NOTIFICATION_SERVICE_NAME = notificationService
NOTIFICATION_SERVICE_BASE_URL= http://localhost:8083
NOTIFICATION_SERVICE_KEY=RfXvPQzQRgwpzQYPnLfWpZzgx4QseHlg
NANO_SANTE_SERVICE_NAME = nanoSanteService
NANO_SANTE_SERVICE_BASE_URL= http://localhost:8086
NANO_SANTE_SERVICE_KEY=eStSQIoAfnTJ9nkCs0IJkJiKACxYVcQm
GOOGLE_GEOCODING_API_KEY=AIzaSyAixFlmxSD_IM_X3jaRn0OyhfZK3xJSAAk

View File

@ -0,0 +1,62 @@
<?php
namespace App\Http\Controllers;
use App\Services\NanoSanteService;
use App\Traits\ApiResponser;
use Illuminate\Http\Request;
class NanoSanteServiceController extends Controller
{
use ApiResponser;
/**
* @var NanoSanteService
*/
public $nanoSanteService;
/**
* Create a new controller instance.
*
* @param NanoSanteService $service
*/
public function __construct(NanoSanteService $service)
{
$this->nanoSanteService = $service;
}
public function get(Request $request)
{
return $this->successResponse($this->nanoSanteService->get(
substr($request->getRequestUri(),strlen(config('services.nano_sante_service.name'))+1), $request->all(),$request->header()
));
}
public function post(Request $request)
{
return $this->successResponse($this->nanoSanteService->post(
substr($request->getRequestUri(),strlen(config('services.nano_sante_service.name'))+1), $request->all(),$request->header()
));
}
public function postWithFiles(Request $request)
{
return $this->successResponse($this->nanoSanteService->postFiles(
substr($request->getRequestUri(),strlen(config('services.nano_sante_service.name'))+1), $request->all(),$request->header()
));
}
public function put(Request $request)
{
return $this->successResponse($this->nanoSanteService->put(
substr($request->getRequestUri(),strlen(config('services.nano_sante_service.name'))+1), $request->all(),$request->header()
));
}
public function delete(Request $request)
{
return $this->successResponse($this->nanoSanteService->delete(
substr($request->getRequestUri(),strlen(config('services.nano_sante_service.name'))+1), $request->all(),$request->header()
));
}
}

View File

@ -28,28 +28,28 @@ class NotificationServiceController extends Controller
public function get(Request $request)
{
return $this->successResponse($this->notificationService->get(
substr($request->getRequestUri(),strlen(env('NOTIFICATION_SERVICE_NAME'))+1), $request->all(),$request->header()
substr($request->getRequestUri(),strlen(config('services.notification_service.name'))+1), $request->all(),$request->header()
));
}
public function post(Request $request)
{
return $this->successResponse($this->notificationService->post(
substr($request->getRequestUri(),strlen(env('NOTIFICATION_SERVICE_NAME'))+1), $request->all(),$request->header()
substr($request->getRequestUri(),strlen(config('services.notification_service.name'))+1), $request->all(),$request->header()
));
}
public function put(Request $request)
{
return $this->successResponse($this->notificationService->put(
substr($request->getRequestUri(),strlen(env('NOTIFICATION_SERVICE_NAME'))+1), $request->all(),$request->header()
substr($request->getRequestUri(),strlen(config('services.notification_service.name'))+1), $request->all(),$request->header()
));
}
public function delete(Request $request)
{
return $this->successResponse($this->notificationService->delete(
substr($request->getRequestUri(),strlen(env('NOTIFICATION_SERVICE_NAME'))+1), $request->all(),$request->header()
substr($request->getRequestUri(),strlen(config('services.notification_service.name'))+1), $request->all(),$request->header()
));
}
}

View File

@ -28,35 +28,35 @@ class WalletServiceController extends Controller
public function get(Request $request)
{
return $this->successResponse($this->walletService->get(
substr($request->getRequestUri(),strlen(env('WALLET_SERVICE_NAME'))+1), $request->all(),$request->header()
substr($request->getRequestUri(),strlen(config('services.wallet_service.name'))+1), $request->all(),$request->header()
));
}
public function post(Request $request)
{
return $this->successResponse($this->walletService->post(
substr($request->getRequestUri(),strlen(env('WALLET_SERVICE_NAME'))+1), $request->all(),$request->header()
substr($request->getRequestUri(),strlen(config('services.wallet_service.name'))+1), $request->all(),$request->header()
));
}
public function postWithFiles(Request $request)
{
return $this->successResponse($this->walletService->postFiles(
substr($request->getRequestUri(),strlen(env('WALLET_SERVICE_NAME'))+1), $request->all(),$request->header()
substr($request->getRequestUri(),strlen(config('services.wallet_service.name'))+1), $request->all(),$request->header()
));
}
public function put(Request $request)
{
return $this->successResponse($this->walletService->put(
substr($request->getRequestUri(),strlen(env('WALLET_SERVICE_NAME'))+1), $request->all(),$request->header()
substr($request->getRequestUri(),strlen(config('services.wallet_service.name'))+1), $request->all(),$request->header()
));
}
public function delete(Request $request)
{
return $this->successResponse($this->walletService->delete(
substr($request->getRequestUri(),strlen(env('WALLET_SERVICE_NAME'))+1), $request->all(),$request->header()
substr($request->getRequestUri(),strlen(config('services.wallet_service.name'))+1), $request->all(),$request->header()
));
}
}

View File

@ -0,0 +1,51 @@
<?php
namespace App\Services;
use App\Traits\ConsumesExternalService;
class NanoSanteService
{
use ConsumesExternalService;
/**
* @var string
*/
public $baseUri ;
/**
* @var string
*/
public $key ;
public function __construct()
{
$this->baseUri = config('services.wallet_service.base_uri');
$this->key = config('services.wallet_service.key');
}
public function post($uri , $data, $headers)
{
return $this->perfomRequest('POST',$uri,$data,$headers);
}
public function postFiles($uri , $data, $headers)
{
return $this->perfomRequestWithFiles('POST',$uri,$data,$headers);
}
public function get($uri , $data, $headers)
{
return $this->perfomRequest('GET',$uri,$data,$headers);
}
public function put($uri , $data, $headers)
{
return $this->perfomRequest('PUT',$uri,$data,$headers);
}
public function delete($uri , $data, $headers)
{
return $this->perfomRequest('DELETE',$uri,$data,$headers);
}
}

View File

@ -8,11 +8,18 @@ return [
'base_uri' => env('MOBILEBACKENDTEST_BASE_URL'),
],
'wallet_service' => [
'name' => env('WALLET_SERVICE_NAME'),
'base_uri' => env('WALLET_SERVICE_BASE_URL'),
'key'=> env('WALLET_SERVICE_KEY')
],
'notification_service' => [
'name' => env('NOTIFICATION_SERVICE_NAME'),
'base_uri' => env('NOTIFICATION_SERVICE_BASE_URL'),
'key'=> env('NOTIFICATION_SERVICE_KEY')
],
'nano_sante_service' => [
'name' => env('NANO_SANTE_SERVICE_NAME'),
'base_uri' => env('NANO_SANTE_SERVICE_BASE_URL'),
'key'=> env('NANO_SANTE_SERVICE_KEY')
]
];

View File

@ -1,5 +1,5 @@
<?php
/** @var \Laravel\Lumen\Routing\Router $router */
/*
|--------------------------------------------------------------------------
| Application Routes
@ -56,7 +56,7 @@ $router->get('/geocode', 'HelperController@getGoogleGeocoding');
* Open routes for Wallet service
*/
$router->group(['prefix' => '/'.env('WALLET_SERVICE_NAME')], function () use ($router) {
$router->group(['prefix' => '/'.config('services.wallet_service.name')], function () use ($router) {
// Users groups routes
$router->group(['prefix' => '/groups'], function () use ($router) {
// Demandes de groupes
@ -69,7 +69,7 @@ $router->get('/geocode', 'HelperController@getGoogleGeocoding');
/**
* Routes for Wallet Service
*/
$router->group(['prefix' => '/'.env('WALLET_SERVICE_NAME') ,'middleware' => 'auth:api'], function () use ($router){
$router->group(['prefix' => '/'.config('services.wallet_service.name') ,'middleware' => 'auth:api'], function () use ($router){
// Helper routes
$router->post('update_password', 'WalletServiceController@post');
$router->get('countries','WalletServiceController@get');
@ -180,7 +180,7 @@ $router->get('/geocode', 'HelperController@getGoogleGeocoding');
/**
* Routes for Notification Service
*/
$router->group(['prefix' => '/'.env('NOTIFICATION_SERVICE_NAME')], function () use ($router){
$router->group(['prefix' => '/'.config('services.notification_service.name')], function () use ($router){
// OneSingal routes
$router->group(['prefix'=>'/onesignal'], function () use ($router) {
$router->post('saveUser', 'NotificationServiceController@post');
@ -194,3 +194,16 @@ $router->get('/geocode', 'HelperController@getGoogleGeocoding');
});
});
/**
* Routes for NanoSante Service
*/
$router->group(['prefix' => '/'.config('services.nano_sante_service.name'),'middleware' => 'auth:api'], function () use ($router){
// Insurances routes
$router->group(['prefix' => '/insurances'], function () use ($router) {
$router->get('countries/{countryId}', 'NanoSanteServiceController@get');
$router->post('bonus-amount', 'NanoSanteServiceController@post');
$router->post('subscribe', 'NanoSanteServiceController@post');
});
});