*/ use HasFactory; protected $attributes = [ 'status' => WorkflowConfigurationStatus::Draft->value, ]; public function loanType(): BelongsTo { return $this->belongsTo(LoanType::class); } public function steps(): HasMany { return $this->hasMany(WorkflowConfigurationStep::class)->orderBy('position'); } public function loans(): HasMany { return $this->hasMany(Loan::class); } public function creator(): BelongsTo { return $this->belongsTo(User::class, 'created_by'); } public function isEditable(): bool { return $this->status === WorkflowConfigurationStatus::Draft; } /** * @return array */ protected function casts(): array { return [ 'status' => WorkflowConfigurationStatus::class, 'published_at' => 'datetime', ]; } }