/
DATKAI
/
ITCUP
Обзор
Документация
Войти
/
DATKAI
/
ITCUP
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
app/Models/NetworkNodeType.php
48 строк
1 KB
ITCUP Admin
feat(netmap): кастомные типы узлов с загружаемыми PNG-иконками
21 апр 2026, 21:01
21 апр 2026, 21:01
b404b5e
Код
Авторство
О чём код?
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; class NetworkNodeType extends Model { protected $fillable = [ 'name', 'slug', 'icon_path', 'emoji', 'color', 'description', 'sort_order', 'is_active', ]; protected $casts = [ 'is_active' => 'boolean', ]; protected static function booted(): void { static::creating(function (NetworkNodeType $t) { if (empty($t->slug)) { $t->slug = Str::slug($t->name); } }); static::deleting(function (NetworkNodeType $t) { if ($t->icon_path && Storage::disk('public')->exists($t->icon_path)) { Storage::disk('public')->delete($t->icon_path); } }); } public function getIconUrlAttribute(): ?string { if (!$this->icon_path) { return null; } return Storage::disk('public')->url($this->icon_path); } }