'array', 'failure_summary' => 'array', 'context' => 'array', 'started_at' => 'datetime', 'completed_at' => 'datetime', ]; protected static function booted(): void { static::creating(function (self $operationRun): void { if ($operationRun->workspace_id !== null) { return; } if ($operationRun->tenant_id === null) { return; } $tenant = Tenant::query()->whereKey((int) $operationRun->tenant_id)->first(); if (! $tenant instanceof Tenant) { return; } if ($tenant->workspace_id === null) { return; } $operationRun->workspace_id = (int) $tenant->workspace_id; }); } public function tenant(): BelongsTo { return $this->belongsTo(Tenant::class); } public function workspace(): BelongsTo { return $this->belongsTo(Workspace::class); } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function scopeActive(Builder $query): Builder { return $query->whereIn('status', ['queued', 'running']); } }