| Server IP : 35.80.110.71 / Your IP : 216.73.216.221 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/switchyard/releases/20260626133231/app/Models/ |
Upload File : |
<?php
namespace App\Models;
use App\Enums\LeadSourceKind;
use App\Models\Concerns\BelongsToWorkspace;
use Illuminate\Database\Eloquent\Concerns\HasUlids;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Str;
class LeadSource extends Model
{
use BelongsToWorkspace;
use HasUlids;
protected $fillable = [
'workspace_id',
'slug',
'name',
'kind',
'inbound_secret',
'field_mapping',
'enabled',
];
protected $hidden = [
'inbound_secret',
];
protected function casts(): array
{
return [
'kind' => LeadSourceKind::class,
'field_mapping' => 'array',
'enabled' => 'boolean',
];
}
public function workspace(): BelongsTo
{
return $this->belongsTo(Workspace::class);
}
public function leads(): HasMany
{
return $this->hasMany(Lead::class, 'source_id');
}
public static function generateInboundSecret(): string
{
return 'swhsec_'.Str::random(48);
}
}