coolify/app/Http/Controllers/ProjectController.php

76 lines
2.9 KiB
PHP
Raw Normal View History

<?php
namespace App\Http\Controllers;
2023-04-12 10:14:57 +02:00
use Spatie\Activitylog\Models\Activity;
class ProjectController extends Controller
{
public function environments()
{
2023-04-12 22:13:17 +02:00
$project = session('currentTeam')->load(['projects'])->projects->where('uuid', request()->route('project_uuid'))->first();
if (!$project) {
return redirect()->route('home');
}
2023-04-12 22:13:17 +02:00
$project->load(['environments']);
return view('project.environments', ['project' => $project]);
}
2023-03-31 13:32:07 +02:00
public function resources()
{
2023-03-30 19:50:27 +02:00
$project = session('currentTeam')->load(['projects'])->projects->where('uuid', request()->route('project_uuid'))->first();
if (!$project) {
return redirect()->route('home');
}
2023-03-30 19:50:27 +02:00
$environment = $project->load(['environments'])->environments->where('name', request()->route('environment_name'))->first();
if (!$environment) {
return redirect()->route('home');
}
2023-03-29 13:13:27 +02:00
return view('project.resources', ['project' => $project, 'environment' => $environment]);
}
2023-03-31 13:32:07 +02:00
public function application()
{
2023-03-30 19:50:27 +02:00
$project = session('currentTeam')->load(['projects'])->projects->where('uuid', request()->route('project_uuid'))->first();
if (!$project) {
return redirect()->route('home');
}
$environment = $project->load(['environments'])->environments->where('name', request()->route('environment_name'))->first()->load(['applications']);
if (!$environment) {
return redirect()->route('home');
}
$application = $environment->applications->where('uuid', request()->route('application_uuid'))->first();
if (!$application) {
return redirect()->route('home');
}
2023-03-30 17:29:01 +02:00
return view('project.application', ['application' => $application, 'deployments' => $application->deployments()]);
}
public function deployment()
{
$deployment_uuid = request()->route('deployment_uuid');
2023-03-30 20:19:11 +02:00
$project = session('currentTeam')->load(['projects'])->projects->where('uuid', request()->route('project_uuid'))->first();
if (!$project) {
return redirect()->route('home');
}
$environment = $project->load(['environments'])->environments->where('name', request()->route('environment_name'))->first()->load(['applications']);
if (!$environment) {
return redirect()->route('home');
}
$application = $environment->applications->where('uuid', request()->route('application_uuid'))->first();
if (!$application) {
return redirect()->route('home');
}
2023-05-03 07:15:45 +02:00
$activity = Activity::query()
->where('properties->type', '=', 'deployment')
->where('properties->uuid', '=', $deployment_uuid)
->first();
2023-03-31 13:32:07 +02:00
return view('project.deployment', [
2023-04-12 10:14:57 +02:00
'activity' => $activity,
2023-03-31 13:32:07 +02:00
'deployment_uuid' => $deployment_uuid,
]);
}
}