| Server IP : 35.80.110.71 / Your IP : 216.73.216.221 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/switchyard/current/app/Models/ |
Upload File : |
<?php
namespace App\Models;
use App\Enums\ScaffoldRunStatus;
use App\Models\Concerns\BelongsToWorkspace;
use Illuminate\Database\Eloquent\Concerns\HasUlids;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class ScaffoldRun extends Model
{
use BelongsToWorkspace;
use HasFactory;
use HasUlids;
protected $fillable = [
'workspace_id',
'template_id',
'lead_id',
'client_project_id',
'trigger',
'status',
'clickup_folder_id',
'log',
'error_message',
'started_at',
'completed_at',
];
protected function casts(): array
{
return [
'log' => 'array',
'status' => ScaffoldRunStatus::class,
'started_at' => 'datetime',
'completed_at' => 'datetime',
];
}
public function workspace(): BelongsTo
{
return $this->belongsTo(Workspace::class);
}
public function template(): BelongsTo
{
return $this->belongsTo(ProjectTemplate::class, 'template_id');
}
public function lead(): BelongsTo
{
return $this->belongsTo(Lead::class);
}
public function clientProject(): BelongsTo
{
return $this->belongsTo(ClientProject::class);
}
public function appendLog(string $message, array $context = []): void
{
$log = $this->log ?? [];
$log[] = array_merge(
['at' => now()->toIso8601String(), 'message' => $message],
$context,
);
$this->log = $log;
$this->save();
}
}