coolify/app/Models/ServiceApplication.php

35 lines
855 B
PHP
Raw Normal View History

2023-09-20 15:42:41 +02:00
<?php
namespace App\Models;
2023-09-22 11:23:49 +02:00
use Illuminate\Database\Eloquent\Casts\Attribute;
2023-09-20 15:42:41 +02:00
use Illuminate\Database\Eloquent\Factories\HasFactory;
2023-09-22 12:08:51 +02:00
use Symfony\Component\Yaml\Yaml;
2023-09-20 15:42:41 +02:00
class ServiceApplication extends BaseModel
{
use HasFactory;
protected $guarded = [];
2023-09-22 11:23:49 +02:00
public function type()
{
return 'service';
}
2023-09-22 12:08:51 +02:00
public function documentation()
{
return data_get(Yaml::parse($this->service->docker_compose_raw), "services.{$this->name}.documentation", 'https://coolify.io/docs');
}
public function service()
{
return $this->belongsTo(Service::class);
}
2023-09-22 11:23:49 +02:00
public function persistentStorages()
{
return $this->morphMany(LocalPersistentVolume::class, 'resource');
}
2023-09-22 21:31:47 +02:00
public function fileStorages()
{
return $this->morphMany(LocalFileVolume::class, 'resource');
}
2023-09-20 15:42:41 +02:00
}