diff --git a/app/Http/Controllers/OneSignalController.php b/app/Http/Controllers/OneSignalController.php index 2a69f29..f788ea3 100644 --- a/app/Http/Controllers/OneSignalController.php +++ b/app/Http/Controllers/OneSignalController.php @@ -76,4 +76,27 @@ class OneSignalController extends Controller 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'); + } } diff --git a/app/Models/Notification.php b/app/Models/Notification.php index e015f2a..b4263ac 100644 --- a/app/Models/Notification.php +++ b/app/Models/Notification.php @@ -6,6 +6,7 @@ namespace App\Models; +use Carbon\Carbon; use Illuminate\Database\Eloquent\Model; /** @@ -17,6 +18,7 @@ use Illuminate\Database\Eloquent\Model; * @property string $message * @property string $data * @property int $read + * @property Carbon $date * * @package App\Models */ @@ -29,11 +31,16 @@ class Notification extends Model 'read' => 'int' ]; + protected $dates = [ + 'date' + ]; + protected $fillable = [ 'user_code', 'agent_code', 'message', 'data', - 'read' + 'read', + 'date' ]; } diff --git a/routes/web.php b/routes/web.php index c3279e4..f66c35a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -20,6 +20,7 @@ $router->group(['prefix'=>'/onesignal'], function () use ($router) { $router->post('pushToUser', 'OneSignalController@pushMessageToOneUser'); + $router->post('pushToAgent', 'OneSignalController@pushMessageToOneAgent'); $router->post('saveUser', 'OneSignalController@addUserPlayerID'); $router->post('saveAgent', 'OneSignalController@addAgentPlayerID'); });