notificationservice/app/Http/Controllers/OneSignalController.php

71 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\OnesignalAgent;
use App\Models\OnesignalUser;
use App\Traits\ApiResponser;
use Illuminate\Http\Request;
use Berkayk\OneSignal\OneSignalFacade;
class OneSignalController extends Controller
{
use ApiResponser;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
//
}
public function addUserPlayerID(Request $request){
$this->validate($request , [
'user_code'=> 'required',
'player_id'=> 'required'
]);
$saveUser = OnesignalUser::where('user_code',$request->user_code)->where('player_id',$request->player_id)->first();
if(!$saveUser){
$user = new OnesignalUser();
$user->fill($request->all());
$user->save();
}
return $this->successResponse('Player ID saved');
}
public function addAgentPlayerID(Request $request){
$this->validate($request , [
'code_membre'=> 'required',
'player_id'=> 'required'
]);
$saveUser = OnesignalAgent::where('code_membre',$request->code_membre)->where('player_id',$request->player_id)->first();
if(!$saveUser){
$user = new OnesignalAgent();
$user->fill($request->all());
$user->save();
}
return $this->successResponse('Player ID saved');
}
public function pushMessageToOneUser(Request $request){
$this->validate($request , [
'user_code'=> 'required',
]);
$userIds = OnesignalUser::where('user_code',$request->user_code)->get();
if($userIds){
foreach ($userIds as $userId){
// OneSignalFacade::async()->sendNotificationToUser("Some Message", $userId->player_id, $url = null, $data = null);
OneSignalFacade::sendNotificationToUser("Some Message", $userId->player_id, $url = null, $data = null);
}
}
return $this->successResponse('Notification delivered');
}
}