From 7e27376a4c776bd9b262b1a34e048dbebe0721c6 Mon Sep 17 00:00:00 2001 From: Pieter Van Leuven Date: Mon, 6 Jul 2026 23:19:23 +0200 Subject: [PATCH 01/10] Add ScriptEventHook migration, model and factory Co-Authored-By: Claude Sonnet 4.6 --- app/Models/Script.php | 10 +++ app/Models/ScriptEventHook.php | 82 +++++++++++++++++++ database/factories/ScriptEventHookFactory.php | 26 ++++++ ...185832_create_script_event_hooks_table.php | 34 ++++++++ 4 files changed, 152 insertions(+) create mode 100644 app/Models/ScriptEventHook.php create mode 100644 database/factories/ScriptEventHookFactory.php create mode 100644 database/migrations/2026_07_06_185832_create_script_event_hooks_table.php diff --git a/app/Models/Script.php b/app/Models/Script.php index 55b5adf6b..dbb0ca7fc 100644 --- a/app/Models/Script.php +++ b/app/Models/Script.php @@ -23,6 +23,7 @@ * @property User $user * @property ?int $project_id * @property ?Project $project + * @property Collection $hooks */ class Script extends AbstractModel { @@ -47,6 +48,7 @@ public static function boot(): void static::deleting(function (Script $script): void { $script->executions()->delete(); + $script->hooks()->delete(); }); } @@ -94,6 +96,14 @@ public function lastExecution(): HasOne return $this->hasOne(ScriptExecution::class)->latest(); } + /** + * @return HasMany + */ + public function hooks(): HasMany + { + return $this->hasMany(ScriptEventHook::class); + } + /** * @return Builder