diff --git a/app/Models/Webhook.php b/app/Models/Webhook.php index da8c142367e2..621211ec129a 100644 --- a/app/Models/Webhook.php +++ b/app/Models/Webhook.php @@ -76,6 +76,9 @@ class Webhook extends BaseModel const EVENT_DELETE_CREDIT = 29; + const EVENT_PROJECT_DELETE = 30; + + public static $valid_events = [ self::EVENT_CREATE_CLIENT, self::EVENT_CREATE_INVOICE, @@ -106,6 +109,7 @@ class Webhook extends BaseModel self::EVENT_CREATE_CREDIT, self::EVENT_UPDATE_CREDIT, self::EVENT_DELETE_CREDIT, + self::EVENT_PROJECT_DELETE ]; protected $fillable = [ diff --git a/app/Observers/ProjectObserver.php b/app/Observers/ProjectObserver.php index fe4fc35f787a..74972a56ef73 100644 --- a/app/Observers/ProjectObserver.php +++ b/app/Observers/ProjectObserver.php @@ -61,7 +61,14 @@ class ProjectObserver */ public function deleted(Project $project) { - // + //EVENT_PROJECT_DELETE + $subscriptions = Webhook::where('company_id', $project->company_id) + ->where('event_id', Webhook::EVENT_PROJECT_DELETE) + ->exists(); + + if ($subscriptions) { + WebhookHandler::dispatch(Webhook::EVENT_PROJECT_DELETE, $project, $project->company, 'client')->delay(now()->addSeconds(2)); + } } /**