company_id) ->where('event_id', Webhook::EVENT_PROJECT_CREATE) ->exists(); if ($subscriptions) WebhookHandler::dispatch(Webhook::EVENT_PROJECT_CREATE, $project, $project->company, 'client')->delay(rand(1,5)); } /** * Handle the product "updated" event. * * @param Project $project * @return void */ public function updated(Project $project) { $event = Webhook::EVENT_PROJECT_UPDATE; if($project->getOriginal('deleted_at') && !$project->deleted_at) $event = Webhook::EVENT_RESTORE_PROJECT; if($project->is_deleted) $event = Webhook::EVENT_PROJECT_DELETE; $subscriptions = Webhook::where('company_id', $project->company_id) ->where('event_id', $event) ->exists(); if ($subscriptions) WebhookHandler::dispatch($event, $project, $project->company, 'client')->delay(rand(1,5)); } /** * Handle the product "deleted" event. * * @param Project $project * @return void */ public function deleted(Project $project) { if($project->is_deleted) return; $subscriptions = Webhook::where('company_id', $project->company_id) ->where('event_id', Webhook::EVENT_ARCHIVE_PROJECT) ->exists(); if ($subscriptions) WebhookHandler::dispatch(Webhook::EVENT_ARCHIVE_PROJECT, $project, $project->company, 'client')->delay(rand(1,5)); } /** * Handle the product "restored" event. * * @param Project $project * @return void */ public function restored(Project $project) { // } /** * Handle the product "force deleted" event. * * @param Project $project * @return void */ public function forceDeleted(Project $project) { // } /** * Handle the product "archived" event. * * @param Project $project * @return void */ }