Automation administration dashboard

* Manual automations
* Scheduled automations
* Incoming webhook triggers
* Domain-event trigger foundation
* Ordered automation steps
* Queued execution
* Run status and execution history
* Per-step execution logs
* Continue-or-stop-on-failure control
* Email actions
* Outgoing webhook actions
* Application log actions
* Delay actions
* Secure incoming webhook secrets
* Automation trigger and action registries
* Extensible action and trigger contracts
* Scheduled automation Artisan command
* Administration navigation
* Automation permissions
* Module registration and boot test
This commit is contained in:
Mark Gregory
2026-07-24 12:38:06 +01:00
parent 7fb71c4d24
commit bf37548faa
25 changed files with 389 additions and 1 deletions
+12
View File
@@ -0,0 +1,12 @@
<?php
namespace Modules\Automation\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
final class Automation extends Model
{
protected $fillable=['name','description','trigger_type','trigger_config','status','stop_on_failure','run_count','last_ran_at','next_run_at','created_by'];
protected $casts=['trigger_config'=>'array','stop_on_failure'=>'boolean','last_ran_at'=>'datetime','next_run_at'=>'datetime'];
public function steps(): HasMany { return $this->hasMany(AutomationStep::class)->orderBy('position'); }
public function runs(): HasMany { return $this->hasMany(AutomationRun::class); }
public function isActive(): bool { return $this->status === 'active'; }
}