mivita/dev/payment-dashboard/app/Models/IncidentActivity.php
2026-04-14 18:07:45 +02:00

40 lines
1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class IncidentActivity extends Model
{
protected $fillable = ['incident_id', 'type', 'title', 'content', 'author'];
public function incident(): BelongsTo
{
return $this->belongsTo(PaymentIncident::class, 'incident_id');
}
public function getTypeIconAttribute(): string
{
return match ($this->type) {
'email' => '✉️',
'call' => '📞',
'ticket' => '🎫',
'status_change' => '🔄',
'provider_response' => '💬',
default => '📝',
};
}
public function getTypeLabelAttribute(): string
{
return match ($this->type) {
'email' => 'E-Mail',
'call' => 'Telefonat',
'ticket' => 'Support-Ticket',
'status_change' => 'Statusänderung',
'provider_response' => 'Anbieter-Antwort',
default => 'Notiz',
};
}
}