%PDF- %PDF-
Direktori : /var/www/html/camillo/camillo-api-master/app/Observers/ |
Current File : /var/www/html/camillo/camillo-api-master/app/Observers/MinorObserver.php |
<?php namespace App\Observers; use App\Models\Minor; use Chatkit\Chatkit; class MinorObserver { /** * Handle the user "deleted" event. * * @param \App\Models\Minor $minor * * @return void * @throws \Chatkit\Exceptions\MissingArgumentException */ public function deleted(Minor $minor) { foreach ($minor->individuals as $individual) { $user = $individual->user; if ($user->pusher_id) { $chatkit = new Chatkit([ 'instance_locator' => env('PUSHER_APP_KEY'), 'key' => env('PUSHER_APP_SECRET'), ]); $chatkitUsers = $chatkit->getUsersByID([ 'user_ids' => [$user->pusher_id] ]); if (count($chatkitUsers['body']) > 0) { foreach ($minor->classrooms as $classroom) { if ($classroom->minors()->where('minors.active', true)->where('minors.id', '!=', $minor->id)->whereHas('individuals', function ($i) use ($individual, $minor) { $i->where('individuals.id', $individual->id); $i->where('minor_id', '!=', $minor->id); })->count() === 0) { $this->chatkit->removeUsersFromRoom([ 'user_ids' => [$user->pusher_id], 'room_id' => $classroom->pusher_id, ]); } } } } } } }