%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/camillo/camillo-api-master/app/Observers/
Upload File :
Create Path :
Current File : /var/www/html/camillo/camillo-api-master/app/Observers/IndividualObserver.php

<?php

namespace App\Observers;

use App\Models\Individual;
use App\User;
use Chatkit\Chatkit;

class IndividualObserver
{
    /**
     * Handle the user "created" event.
     *
     * @param \App\Models\Individual $individual
     *
     * @return void
     */
    public function creating(Individual $individual)
    {
    }

    /**
     * Handle the user "updated" event.
     *
     * @param \App\Models\Individual $individual
     *
     * @return void
     * @throws \Chatkit\Exceptions\MissingArgumentException
     */
    public function updated(Individual $individual)
    {
        if ($individual->user->pusher_id && $individual->isDirty('show_contacts') && !$individual->show_contacts) {
            $user = $individual->user;
            $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) {
                $rooms = $chatkit->getUserRooms([ 'id' =>  $user->pusher_id]);
                foreach ($rooms['body'] as $room) {
                    $chatkit->removeUsersFromRoom([
                        'user_ids' => [$user->pusher_id],
                        'room_id'  => $room['id'],
                    ]);
                }
            }
        }
    }

    /**
     * Handle the user "deleted" event.
     *
     * @param \App\Models\Individual $individual
     *
     * @return void
     */
    public function deleted(Individual $individual)
    {
    }

    /**
     * Handle the user "restored" event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function restored(Individual $individual)
    {
        //
    }

    /**
     * Handle the user "force deleted" event.
     *
     * @param \App\Models\Individual $individual
     *
     * @return void
     */
    public function forceDeleted(Individual $individual)
    {
        //
    }
}

Zerion Mini Shell 1.0