diff --git a/app/Models/Step.php b/app/Models/Step.php index 6781ef8..4ba67bc 100644 --- a/app/Models/Step.php +++ b/app/Models/Step.php @@ -3,13 +3,20 @@ namespace App\Models; use App\Jobs\Services\RunStep; +use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Support\Str; class Step extends Model { protected $guarded = []; + protected $appends = [ + 'logs_excerpt', + 'error_logs_excerpt', + ]; + protected function casts(): array { return [ @@ -24,6 +31,20 @@ class Step extends Model return $this->belongsTo(Deployment::class); } + public function logsExcerpt(): Attribute + { + return Attribute::make( + get: fn () => $this->logs ? Str::afterLast($this->logs, "\n"): null, + ); + } + + public function errorLogsExcerpt(): Attribute + { + return Attribute::make( + get: fn () => $this->error_logs ? Str::afterLast($this->error_logs, "\n"): null, + ); + } + public function dispatchJob(): void { dispatch(new RunStep($this)); diff --git a/resources/js/pages/servers/Show.vue b/resources/js/pages/servers/Show.vue index 352e56b..41c54fd 100644 --- a/resources/js/pages/servers/Show.vue +++ b/resources/js/pages/servers/Show.vue @@ -1,12 +1,13 @@