Merge branch 'coollabsio:main' into vaultwarden-fix

This commit is contained in:
Evan
2024-05-27 16:04:02 +08:00
committed by GitHub
275 changed files with 4106 additions and 1928 deletions

View File

@@ -171,7 +171,7 @@ class Service extends BaseModel
],
]);
}
$fields->put('Tolgee', $data);
$fields->put('Tolgee', $data->toArray());
break;
case str($image)?->contains('logto'):
$data = collect([]);
@@ -195,7 +195,7 @@ class Service extends BaseModel
],
]);
}
$fields->put('Logto', $data);
$fields->put('Logto', $data->toArray());
break;
case str($image)?->contains('unleash-server'):
$data = collect([]);
@@ -218,7 +218,7 @@ class Service extends BaseModel
],
]);
}
$fields->put('Unleash', $data);
$fields->put('Unleash', $data->toArray());
break;
case str($image)?->contains('grafana'):
$data = collect([]);
@@ -241,7 +241,7 @@ class Service extends BaseModel
],
]);
}
$fields->put('Grafana', $data);
$fields->put('Grafana', $data->toArray());
break;
case str($image)?->contains('directus'):
$data = collect([]);
@@ -267,7 +267,7 @@ class Service extends BaseModel
],
]);
}
$fields->put('Directus', $data);
$fields->put('Directus', $data->toArray());
break;
case str($image)?->contains('kong'):
$data = collect([]);
@@ -370,7 +370,7 @@ class Service extends BaseModel
],
]);
}
$fields->put('Weblate', $data);
$fields->put('Weblate', $data->toArray());
break;
case str($image)?->contains('meilisearch'):
$data = collect([]);
@@ -384,7 +384,7 @@ class Service extends BaseModel
],
]);
}
$fields->put('Meilisearch', $data);
$fields->put('Meilisearch', $data->toArray());
break;
case str($image)?->contains('ghost'):
$data = collect([]);
@@ -444,7 +444,33 @@ class Service extends BaseModel
]);
}
$fields->put('Ghost', $data);
$fields->put('Ghost', $data->toArray());
break;
default:
$data = collect([]);
$admin_user = $this->environment_variables()->where('key', 'SERVICE_USER_ADMIN')->first();
$admin_password = $this->environment_variables()->where('key', 'SERVICE_PASSWORD_ADMIN')->first();
if ($admin_user) {
$data = $data->merge([
'User' => [
'key' => 'SERVICE_USER_ADMIN',
'value' => data_get($admin_user, 'value', 'admin'),
'readonly' => true,
'rules' => 'required',
],
]);
}
if ($admin_password) {
$data = $data->merge([
'Password' => [
'key' => 'SERVICE_PASSWORD_ADMIN',
'value' => data_get($admin_password, 'value'),
'rules' => 'required',
'isPassword' => true,
],
]);
}
$fields->put('Admin', $data->toArray());
break;
case str($image)?->contains('vaultwarden'):
$data = collect([]);
@@ -723,6 +749,18 @@ class Service extends BaseModel
}
return null;
}
public function failedTaskLink($task_uuid)
{
if (data_get($this, 'environment.project.uuid')) {
return route('project.service.scheduled-tasks', [
'project_uuid' => data_get($this, 'environment.project.uuid'),
'environment_name' => data_get($this, 'environment.name'),
'application_uuid' => data_get($this, 'uuid'),
'task_uuid' => $task_uuid
]);
}
return null;
}
public function documentation()
{
$services = getServiceTemplates();
@@ -749,6 +787,17 @@ class Service extends BaseModel
{
return $this->belongsTo(Server::class);
}
public function byUuid(string $uuid) {
$app = $this->applications()->whereUuid($uuid)->first();
if ($app) {
return $app;
}
$db = $this->databases()->whereUuid($uuid)->first();
if ($db) {
return $db;
}
return null;
}
public function byName(string $name)
{
$app = $this->applications()->whereName($name)->first();