no need to report last dashboard exception #yjypx2

This commit is contained in:
Denis Duliçi 2021-08-26 01:55:30 +03:00
parent e9e0012175
commit d413e04813
4 changed files with 32 additions and 4 deletions

View File

@ -0,0 +1,10 @@
<?php
namespace App\Exceptions\Common;
use Exception;
class LastDashboard extends Exception
{
//
}

View File

@ -0,0 +1,10 @@
<?php
namespace App\Exceptions\Common;
use Exception;
class NotUserDashboard extends Exception
{
//
}

View File

@ -3,6 +3,8 @@
namespace App\Jobs\Common;
use App\Abstracts\Job;
use App\Exceptions\Common\LastDashboard;
use App\Exceptions\Common\NotUserDashboard;
use App\Traits\Users;
class DeleteDashboard extends Job
@ -56,14 +58,14 @@ class DeleteDashboard extends Job
$message = trans('dashboards.error.delete_last');
throw new \Exception($message);
throw new LastDashboard($message);
}
// Check if user can access dashboard
if ($this->isNotUserDashboard($this->dashboard->id)) {
$message = trans('dashboards.error.not_user_dashboard');
throw new \Exception($message);
throw new NotUserDashboard($message);
}
}
}

View File

@ -3,11 +3,13 @@
namespace App\Listeners\Module;
use App\Events\Module\Uninstalled as Event;
use App\Exceptions\Common\LastDashboard;
use App\Jobs\Common\DeleteDashboard;
use App\Jobs\Common\DeleteReport;
use App\Models\Common\Dashboard;
use App\Models\Common\Report;
use App\Traits\Jobs;
use Throwable;
class FinishUninstallation
{
@ -36,7 +38,11 @@ class FinishUninstallation
Dashboard::alias($alias)->get()->each(function ($dashboard) {
try {
$this->dispatch(new DeleteDashboard($dashboard));
} catch (\Exception | \Throwable $e) {
} catch (Throwable $e) {
if ($e instanceof LastDashboard) {
return;
}
report($e);
}
});
@ -53,7 +59,7 @@ class FinishUninstallation
Report::alias($alias)->get()->each(function ($report) {
try {
$this->dispatch(new DeleteReport($report));
} catch (\Exception | \Throwable $e) {
} catch (Throwable $e) {
report($e);
}
});