Files
bogazici-api/app/Models/Lead.php
2026-03-27 10:41:54 +03:00

62 lines
1.3 KiB
PHP

<?php
namespace App\Models;
use App\Enums\LeadSource;
use App\Enums\LeadStatus;
use Database\Factories\LeadFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\Activitylog\LogOptions;
use Spatie\Activitylog\Traits\LogsActivity;
class Lead extends Model
{
/** @use HasFactory<LeadFactory> */
use HasFactory, LogsActivity, SoftDeletes;
/**
* @var list<string>
*/
protected $fillable = [
'name',
'phone',
'email',
'target_course',
'education_level',
'subject',
'message',
'status',
'notes',
'is_read',
'source',
'utm',
'consent_kvkk',
'marketing_consent',
'consent_text_version',
];
/**
* @return array<string, string>
*/
protected function casts(): array
{
return [
'status' => LeadStatus::class,
'source' => LeadSource::class,
'is_read' => 'boolean',
'utm' => 'array',
'consent_kvkk' => 'boolean',
'marketing_consent' => 'boolean',
];
}
public function getActivitylogOptions(): LogOptions
{
return LogOptions::defaults()
->logFillable()
->logOnlyDirty();
}
}