diff --git a/.env.example b/.env.example index f071b5a..1b4ca8f 100644 --- a/.env.example +++ b/.env.example @@ -23,3 +23,6 @@ ACCEPTED_KEYS=RfXvPQzQRgwpzQYPnLfWpZzgx4QseHlg ONESIGNAL_REST_API_KEY=OWU0NTRhNzItMjAzNy00YTc4LTlhMDUtYTU4MmNlNGZmMmU3 ONESIGNAL_USER_AUTH_KEY= ONESIGNAL_APP_ID=e8e7251f-713d-4658-9510-86d877fa6a7c + +WALLET_SERVICE_BASE_URL =https://ilink-app.com +WALLET_SERVICE_KEY=yhSTSSqIO1uSE1icu09edPOeSFGxIDjo diff --git a/app/Http/Controllers/OneSignalController.php b/app/Http/Controllers/OneSignalController.php index 42af850..6c0294e 100644 --- a/app/Http/Controllers/OneSignalController.php +++ b/app/Http/Controllers/OneSignalController.php @@ -6,10 +6,11 @@ use App\Models\Notification; use App\Models\OnesignalAgent; use App\Models\OnesignalUser; use App\Traits\ApiResponser; +use GuzzleHttp\Exception\GuzzleException; use Illuminate\Http\Response; use Illuminate\Http\Request; use Berkayk\OneSignal\OneSignalFacade; -use Mockery\Matcher\Not; +use Illuminate\Support\Facades\Log; class OneSignalController extends Controller { @@ -63,17 +64,39 @@ class OneSignalController extends Controller 'set_default' => 'required|boolean' ]); - $records = OnesignalAgent::where('code_membre',$request->code_membre)->get(); + $codes = []; + // Recuperer tous les codes agents de l'agent + $client = new \GuzzleHttp\Client([ + 'base_uri' => env('WALLET_SERVICE_BASE_URL'), + ]); + $headers = [ + 'Authorization' => env('WALLET_SERVICE_KEY'), + ]; + try { + $result = $client->request('GET', '/agent_codes/'.$request->code_membre, ['headers' => $headers]); + $response = json_decode($result->getBody()->getContents()); + if($response) + $codes = $response->response; + } catch (GuzzleException $e) { + Log::error($e->getMessage()); + } if($request->set_default){ - foreach ($records as $r){ - $r->delete(); + foreach ($codes as $code){ + + $records = OnesignalAgent::where('code_membre',$code->code_membre)->get(); + foreach ($records as $r){ + $r->delete(); + } + $user = new OnesignalAgent(); + $user->code_membre = $code->code_membre; + $user->player_id = $request->player_id; + $user->save(); } - $user = new OnesignalAgent(); - $user->fill($request->all()); - $user->save(); }else{ + $records = OnesignalAgent::where('code_membre',$request->code_membre)->get(); + $saveUser = OnesignalAgent::where('code_membre',$request->code_membre)->where('player_id',$request->player_id)->first(); if(!$saveUser){