commit
ec1a7aa893
@ -3,6 +3,7 @@
|
|||||||
namespace App\Console\Commands;
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
use App\Models\Application;
|
use App\Models\Application;
|
||||||
|
use App\Models\Server;
|
||||||
use App\Models\Service;
|
use App\Models\Service;
|
||||||
use App\Models\StandalonePostgresql;
|
use App\Models\StandalonePostgresql;
|
||||||
use Illuminate\Console\Command;
|
use Illuminate\Console\Command;
|
||||||
@ -34,7 +35,7 @@ class ResourcesDelete extends Command
|
|||||||
{
|
{
|
||||||
$resource = select(
|
$resource = select(
|
||||||
'What resource do you want to delete?',
|
'What resource do you want to delete?',
|
||||||
['Application', 'Database', 'Service'],
|
['Application', 'Database', 'Service', 'Server'],
|
||||||
);
|
);
|
||||||
if ($resource === 'Application') {
|
if ($resource === 'Application') {
|
||||||
$this->deleteApplication();
|
$this->deleteApplication();
|
||||||
@ -42,6 +43,29 @@ class ResourcesDelete extends Command
|
|||||||
$this->deleteDatabase();
|
$this->deleteDatabase();
|
||||||
} elseif ($resource === 'Service') {
|
} elseif ($resource === 'Service') {
|
||||||
$this->deleteService();
|
$this->deleteService();
|
||||||
|
} elseif($resource === 'Server') {
|
||||||
|
$this->deleteServer();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private function deleteServer() {
|
||||||
|
$servers = Server::all();
|
||||||
|
if ($servers->count() === 0) {
|
||||||
|
$this->error('There are no applications to delete.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$serversToDelete = multiselect(
|
||||||
|
'What server do you want to delete?',
|
||||||
|
$servers->pluck('id')->sort()->toArray(),
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach ($serversToDelete as $server) {
|
||||||
|
$toDelete = $servers->where('id', $server)->first();
|
||||||
|
$this->info($toDelete);
|
||||||
|
$confirmed = confirm("Are you sure you want to delete all selected resources?");
|
||||||
|
if (!$confirmed) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$toDelete->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private function deleteApplication()
|
private function deleteApplication()
|
||||||
@ -53,14 +77,16 @@ class ResourcesDelete extends Command
|
|||||||
}
|
}
|
||||||
$applicationsToDelete = multiselect(
|
$applicationsToDelete = multiselect(
|
||||||
'What application do you want to delete?',
|
'What application do you want to delete?',
|
||||||
$applications->pluck('name')->toArray(),
|
$applications->pluck('name')->sort()->toArray(),
|
||||||
);
|
);
|
||||||
$confirmed = confirm("Are you sure you want to delete all selected resources?");
|
|
||||||
if (!$confirmed) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
foreach ($applicationsToDelete as $application) {
|
foreach ($applicationsToDelete as $application) {
|
||||||
$toDelete = $applications->where('name', $application)->first();
|
$toDelete = $applications->where('name', $application)->first();
|
||||||
|
$this->info($toDelete);
|
||||||
|
$confirmed = confirm("Are you sure you want to delete all selected resources? ");
|
||||||
|
if (!$confirmed) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
$toDelete->delete();
|
$toDelete->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -73,14 +99,16 @@ class ResourcesDelete extends Command
|
|||||||
}
|
}
|
||||||
$databasesToDelete = multiselect(
|
$databasesToDelete = multiselect(
|
||||||
'What database do you want to delete?',
|
'What database do you want to delete?',
|
||||||
$databases->pluck('name')->toArray(),
|
$databases->pluck('name')->sort()->toArray(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
foreach ($databasesToDelete as $database) {
|
||||||
|
$toDelete = $databases->where('name', $database)->first();
|
||||||
|
$this->info($toDelete);
|
||||||
$confirmed = confirm("Are you sure you want to delete all selected resources?");
|
$confirmed = confirm("Are you sure you want to delete all selected resources?");
|
||||||
if (!$confirmed) {
|
if (!$confirmed) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
foreach ($databasesToDelete as $database) {
|
|
||||||
$toDelete = $databases->where('name', $database)->first();
|
|
||||||
$toDelete->delete();
|
$toDelete->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,14 +122,16 @@ class ResourcesDelete extends Command
|
|||||||
}
|
}
|
||||||
$servicesToDelete = multiselect(
|
$servicesToDelete = multiselect(
|
||||||
'What service do you want to delete?',
|
'What service do you want to delete?',
|
||||||
$services->pluck('name')->toArray(),
|
$services->pluck('name')->sort()->toArray(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
foreach ($servicesToDelete as $service) {
|
||||||
|
$toDelete = $services->where('name', $service)->first();
|
||||||
|
$this->info($toDelete);
|
||||||
$confirmed = confirm("Are you sure you want to delete all selected resources?");
|
$confirmed = confirm("Are you sure you want to delete all selected resources?");
|
||||||
if (!$confirmed) {
|
if (!$confirmed) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
foreach ($servicesToDelete as $service) {
|
|
||||||
$toDelete = $services->where('name', $service)->first();
|
|
||||||
$toDelete->delete();
|
$toDelete->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,9 @@ class DecideWhatToDoWithUser
|
|||||||
public function handle(Request $request, Closure $next): Response
|
public function handle(Request $request, Closure $next): Response
|
||||||
{
|
{
|
||||||
if (!auth()->user() || !isCloud() || isInstanceAdmin()) {
|
if (!auth()->user() || !isCloud() || isInstanceAdmin()) {
|
||||||
|
if (!isCloud() && showBoarding() && !in_array($request->path(), allowedPathsForBoardingAccounts())) {
|
||||||
|
return redirect('boarding');
|
||||||
|
}
|
||||||
return $next($request);
|
return $next($request);
|
||||||
}
|
}
|
||||||
if (!auth()->user()->hasVerifiedEmail()) {
|
if (!auth()->user()->hasVerifiedEmail()) {
|
||||||
|
@ -53,7 +53,7 @@ class ContainerStatusJob implements ShouldQueue, ShouldBeEncrypted
|
|||||||
if ($serverUptimeCheckNumber >= $serverUptimeCheckNumberMax) {
|
if ($serverUptimeCheckNumber >= $serverUptimeCheckNumberMax) {
|
||||||
if ($this->server->unreachable_email_sent === false) {
|
if ($this->server->unreachable_email_sent === false) {
|
||||||
ray('Server unreachable, sending notification...');
|
ray('Server unreachable, sending notification...');
|
||||||
// $this->server->team->notify(new Unreachable($this->server));
|
$this->server->team->notify(new Unreachable($this->server));
|
||||||
$this->server->update(['unreachable_email_sent' => true]);
|
$this->server->update(['unreachable_email_sent' => true]);
|
||||||
}
|
}
|
||||||
$this->server->settings()->update([
|
$this->server->settings()->update([
|
||||||
@ -85,7 +85,7 @@ class ContainerStatusJob implements ShouldQueue, ShouldBeEncrypted
|
|||||||
|
|
||||||
if (data_get($this->server, 'unreachable_email_sent') === true) {
|
if (data_get($this->server, 'unreachable_email_sent') === true) {
|
||||||
ray('Server is reachable again, sending notification...');
|
ray('Server is reachable again, sending notification...');
|
||||||
// $this->server->team->notify(new Revived($this->server));
|
$this->server->team->notify(new Revived($this->server));
|
||||||
$this->server->update(['unreachable_email_sent' => false]);
|
$this->server->update(['unreachable_email_sent' => false]);
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
|
@ -72,7 +72,7 @@ class User extends Authenticatable implements SendsEmail
|
|||||||
$mail->view('emails.email-verification', [
|
$mail->view('emails.email-verification', [
|
||||||
'url' => $url,
|
'url' => $url,
|
||||||
]);
|
]);
|
||||||
$mail->subject('Coolify Cloud: Verify your email.');
|
$mail->subject('Coolify: Verify your email.');
|
||||||
send_user_an_email($mail, $this->email);
|
send_user_an_email($mail, $this->email);
|
||||||
}
|
}
|
||||||
public function sendPasswordResetNotification($token): void
|
public function sendPasswordResetNotification($token): void
|
||||||
|
@ -7,7 +7,7 @@ return [
|
|||||||
|
|
||||||
// The release version of your application
|
// The release version of your application
|
||||||
// Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD'))
|
// Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD'))
|
||||||
'release' => '4.0.0-beta.77',
|
'release' => '4.0.0-beta.78',
|
||||||
// When left empty or `null` the Laravel environment will be used
|
// When left empty or `null` the Laravel environment will be used
|
||||||
'environment' => config('app.env'),
|
'environment' => config('app.env'),
|
||||||
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
return '4.0.0-beta.77';
|
return '4.0.0-beta.78';
|
||||||
|
@ -14,9 +14,12 @@
|
|||||||
<span>Your subscription has been activated! Welcome onboard!</span>
|
<span>Your subscription has been activated! Welcome onboard!</span>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
@if ($projects->count() === 0 && $servers->count() === 0)
|
||||||
|
No resources found. Add your first server / private key <a class="text-white underline" href="{{route('server.create')}}">here</a>.
|
||||||
|
@endif
|
||||||
|
@if ($projects->count() > 0)
|
||||||
<h3 class="pb-4">Projects</h3>
|
<h3 class="pb-4">Projects</h3>
|
||||||
|
@endif
|
||||||
@if ($projects->count() === 1)
|
@if ($projects->count() === 1)
|
||||||
<div class="grid grid-cols-1 gap-2">
|
<div class="grid grid-cols-1 gap-2">
|
||||||
@else
|
@else
|
||||||
@ -58,7 +61,9 @@
|
|||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
<h3 class="py-4">Servers</h3>
|
@if ($projects->count() > 0)
|
||||||
|
<h3 class="pb-4">Servers</h3>
|
||||||
|
@endif
|
||||||
@if ($servers->count() === 1)
|
@if ($servers->count() === 1)
|
||||||
<div class="grid grid-cols-1 gap-2">
|
<div class="grid grid-cols-1 gap-2">
|
||||||
@else
|
@else
|
||||||
|
@ -73,6 +73,7 @@ Route::get('/verify', function () {
|
|||||||
|
|
||||||
Route::get('/email/verify/{id}/{hash}', function (EmailVerificationRequest $request) {
|
Route::get('/email/verify/{id}/{hash}', function (EmailVerificationRequest $request) {
|
||||||
$request->fulfill();
|
$request->fulfill();
|
||||||
|
send_internal_notification("User {$request->user()->name} verified their email address.");
|
||||||
return redirect('/');
|
return redirect('/');
|
||||||
})->middleware(['auth'])->name('verify.verify');
|
})->middleware(['auth'])->name('verify.verify');
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"version": "3.12.36"
|
"version": "3.12.36"
|
||||||
},
|
},
|
||||||
"v4": {
|
"v4": {
|
||||||
"version": "4.0.0-beta.77"
|
"version": "4.0.0-beta.78"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user