. */ namespace App\Observers; use App\Exceptions\ProfileAlreadyExistsException; use App\Exceptions\ProfileCreationFailedException; use App\Profile; use App\Services\ProfileService; use App\User; use Illuminate\Support\Facades\Log; class UserObserver { public function __construct() { // } /** * Handle the user "created" event. * * @param \App\User $user * @return void */ public function created(User $user) { $profileService = new ProfileService(); try { $profileService->createProfile($user); } catch (ProfileAlreadyExistsException $exception) { Log::error('Attempting to create profile that already exists!', [ 'trace' => $exception->getTrace() ]); } catch (ProfileCreationFailedException $e) { Log::error('Failed creating a new profile!', [ 'trace' => $e->getTrace() ]); } } /** * Handle the user "updated" event. * * @param \App\User $user * @return void */ public function updated(User $user) { // } /** * Handle the user "deleted" event. * * @param \App\User $user * @return void */ public function deleted(User $user) { } /** * Handle the user "restored" event. * * @param \App\User $user * @return void */ public function restored(User $user) { // } /** * Handle the user "force deleted" event. * * @param \App\User $user * @return void */ public function forceDeleted(User $user) { Log::info('Model has been force deleted', [ 'modelID' => $user->id, ]); } }