+ Add push notifcation for Agent

This commit is contained in:
Djery-Tom 2020-08-24 17:41:03 +01:00
parent 495bedc6fd
commit d2039c3ab8
3 changed files with 32 additions and 1 deletions

View File

@ -76,4 +76,27 @@ class OneSignalController extends Controller
return $this->successResponse('Notification delivered'); return $this->successResponse('Notification delivered');
} }
public function pushMessageToOneAgent(Request $request){
$this->validate($request , [
'agent_code'=> 'required',
'message'=> 'required',
'data'=>'required'
]);
$userIds = OnesignalAgent::where('code_membre',$request->agent_code)->get();
$notif = new Notification();
$notif->agent_code = $request->agent_code;
$notif->message = $request->message;
$notif->data = json_encode($request->data);
$notif->read = false;
$notif->save();
if($userIds){
foreach ($userIds as $userId){
OneSignalFacade::async()->sendNotificationToUser($request->message, $userId->player_id, $url = null, $request->data);
}
}
return $this->successResponse('Notification delivered');
}
} }

View File

@ -6,6 +6,7 @@
namespace App\Models; namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
/** /**
@ -17,6 +18,7 @@ use Illuminate\Database\Eloquent\Model;
* @property string $message * @property string $message
* @property string $data * @property string $data
* @property int $read * @property int $read
* @property Carbon $date
* *
* @package App\Models * @package App\Models
*/ */
@ -29,11 +31,16 @@ class Notification extends Model
'read' => 'int' 'read' => 'int'
]; ];
protected $dates = [
'date'
];
protected $fillable = [ protected $fillable = [
'user_code', 'user_code',
'agent_code', 'agent_code',
'message', 'message',
'data', 'data',
'read' 'read',
'date'
]; ];
} }

View File

@ -20,6 +20,7 @@
$router->group(['prefix'=>'/onesignal'], function () use ($router) { $router->group(['prefix'=>'/onesignal'], function () use ($router) {
$router->post('pushToUser', 'OneSignalController@pushMessageToOneUser'); $router->post('pushToUser', 'OneSignalController@pushMessageToOneUser');
$router->post('pushToAgent', 'OneSignalController@pushMessageToOneAgent');
$router->post('saveUser', 'OneSignalController@addUserPlayerID'); $router->post('saveUser', 'OneSignalController@addUserPlayerID');
$router->post('saveAgent', 'OneSignalController@addAgentPlayerID'); $router->post('saveAgent', 'OneSignalController@addAgentPlayerID');
}); });