48 lines
1.2 KiB
PHP
48 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Enums\ConsultationStatus;
|
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Support\Carbon;
|
|
|
|
/**
|
|
* A consultation request submitted through one of the site's forms.
|
|
*
|
|
* @property int $id
|
|
* @property string $source
|
|
* @property string $name
|
|
* @property string|null $company
|
|
* @property string|null $job_title
|
|
* @property string $email
|
|
* @property string $phone
|
|
* @property string|null $industry
|
|
* @property string|null $service
|
|
* @property string|null $timeline
|
|
* @property string|null $details
|
|
* @property bool $nda_agreed
|
|
* @property string $locale
|
|
* @property ConsultationStatus $status
|
|
* @property string|null $admin_notes
|
|
* @property Carbon|null $created_at
|
|
* @property Carbon|null $updated_at
|
|
*/
|
|
#[Fillable([
|
|
'source', 'name', 'company', 'job_title', 'email', 'phone', 'industry',
|
|
'service', 'timeline', 'details', 'nda_agreed', 'locale', 'status', 'admin_notes',
|
|
])]
|
|
class Consultation extends Model
|
|
{
|
|
/**
|
|
* @return array<string, string>
|
|
*/
|
|
protected function casts(): array
|
|
{
|
|
return [
|
|
'nda_agreed' => 'boolean',
|
|
'status' => ConsultationStatus::class,
|
|
];
|
|
}
|
|
}
|