- 2.x - sites finishing

This commit is contained in:
Saeed Vaziry
2024-10-06 16:06:51 +02:00
parent 3c50e2c947
commit c24b4b7333
82 changed files with 1250 additions and 345 deletions

View File

@ -2,6 +2,7 @@
namespace App\Models;
use App\Enums\QueueStatus;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
@ -45,6 +46,17 @@ class Queue extends AbstractModel
'redirect_stderr' => 'boolean',
];
public static array $statusColors = [
QueueStatus::RUNNING => 'success',
QueueStatus::CREATING => 'warning',
QueueStatus::DELETING => 'warning',
QueueStatus::FAILED => 'danger',
QueueStatus::STARTING => 'warning',
QueueStatus::STOPPING => 'warning',
QueueStatus::RESTARTING => 'warning',
QueueStatus::STOPPED => 'gray',
];
public function getServerIdAttribute(int $value): int
{
if (! $value) {

View File

@ -114,7 +114,7 @@ public function getContent($lines = null): ?string
return '';
}
public static function log(Server $server, string $type, string $content, ?Site $site = null): void
public static function log(Server $server, string $type, string $content, ?Site $site = null): static
{
$log = new static([
'server_id' => $server->id,
@ -125,6 +125,8 @@ public static function log(Server $server, string $type, string $content, ?Site
]);
$log->save();
$log->write($content);
return $log;
}
public static function make(Server $server, string $type): ServerLog

View File

@ -2,6 +2,7 @@
namespace App\Models;
use App\Enums\SslStatus;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
@ -18,6 +19,8 @@
* @property Site $site
* @property string $ca_path
* @property ?array $domains
* @property int $log_id
* @property ?ServerLog $log
*/
class Ssl extends AbstractModel
{
@ -32,6 +35,7 @@ class Ssl extends AbstractModel
'expires_at',
'status',
'domains',
'log_id',
];
protected $casts = [
@ -41,6 +45,14 @@ class Ssl extends AbstractModel
'ca' => 'encrypted',
'expires_at' => 'datetime',
'domains' => 'array',
'log_id' => 'integer',
];
public static array $statusColors = [
SslStatus::CREATED => 'success',
SslStatus::CREATING => 'warning',
SslStatus::DELETING => 'warning',
SslStatus::FAILED => 'danger',
];
public function site(): BelongsTo
@ -126,4 +138,9 @@ public function getDomains(): array
return $this->domains;
}
public function log(): BelongsTo
{
return $this->belongsTo(ServerLog::class);
}
}