start introducing parent exception

This commit is contained in:
spencerrlongg
2025-07-07 18:05:23 -05:00
parent db63ad1cf4
commit d5ca543719
10 changed files with 14 additions and 18 deletions

View File

@@ -4,7 +4,7 @@ namespace App\Exceptions;
use Exception;
class ModelStillHasAccessories extends Exception
class ModelStillHasAccessories extends ModelStillHasChildren
{
//
}

View File

@@ -4,7 +4,7 @@ namespace App\Exceptions;
use Exception;
class ModelStillHasAssetMaintenances extends Exception
class ModelStillHasAssetMaintenances extends ModelStillHasChildren
{
//
}

View File

@@ -4,7 +4,7 @@ namespace App\Exceptions;
use Exception;
class ModelStillHasAssetModels extends Exception
class ModelStillHasAssetModels extends ModelStillHasChildren
{
//
}

View File

@@ -4,7 +4,7 @@ namespace App\Exceptions;
use Exception;
class ModelStillHasComponents extends Exception
class ModelStillHasComponents extends ModelStillHasChildren
{
//
}

View File

@@ -4,7 +4,7 @@ namespace App\Exceptions;
use Exception;
class ModelStillHasConsumables extends Exception
class ModelStillHasConsumables extends ModelStillHasChildren
{
//
}

View File

@@ -4,7 +4,7 @@ namespace App\Exceptions;
use Exception;
class ModelStillHasLicenses extends Exception
class ModelStillHasLicenses extends ModelStillHasChildren
{
//
}

View File

@@ -7,6 +7,7 @@ use App\Exceptions\ModelIsNotDeletable;
use App\Exceptions\ModelStillHasAccessories;
use App\Exceptions\ModelStillHasAssetModels;
use App\Exceptions\ModelStillHasAssets;
use App\Exceptions\ModelStillHasChildren;
use App\Exceptions\ModelStillHasComponents;
use App\Exceptions\ModelStillHasConsumables;
use App\Exceptions\ModelStillHasLicenses;
@@ -223,7 +224,7 @@ class CategoriesController extends Controller
$this->authorize('delete', Category::class);
try {
DestroyCategoryAction::run(category: $category);
} catch (ModelStillHasConsumables|ModelStillHasAccessories|ModelStillHasAssetModels|ModelStillHasAssets|ModelStillHasComponents|ModelStillHasLicenses $e) {
} catch (ModelStillHasChildren $e) {
return response()->json(
Helper::formatStandardApiResponse('error', null, trans('admin/categories/message.assoc_items', ['asset_type' => $category->category_type]))
);

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Api;
use App\Actions\Suppliers\DestroySupplierAction;
use App\Exceptions\ModelStillHasAssetMaintenances;
use App\Exceptions\ModelStillHasAssets;
use App\Exceptions\ModelStillHasChildren;
use App\Exceptions\ModelStillHasLicenses;
use App\Helpers\Helper;
use App\Http\Controllers\Controller;
@@ -200,12 +201,8 @@ class SuppliersController extends Controller
$this->authorize('delete', $supplier);
try {
DestroySupplierAction::run(supplier: $supplier);
} catch (ModelStillHasAssets $e) {
} catch (ModelStillHasChildren $e) {
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/suppliers/message.delete.assoc_assets', ['asset_count' => (int) $supplier->assets_count])));
} catch (ModelStillHasAssetMaintenances $e) {
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/suppliers/message.delete.assoc_maintenances', ['asset_maintenances_count' => $supplier->asset_maintenances_count])));
} catch (ModelStillHasLicenses $e) {
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/suppliers/message.delete.assoc_licenses', ['licenses_count' => (int) $supplier->licenses_count])));
} catch (\Throwable $e) {
return response()->json(Helper::formatStandardApiResponse('error', null, 'something went wrong'));
}

View File

@@ -6,6 +6,7 @@ use App\Actions\Categories\DestroyCategoryAction;
use App\Exceptions\ModelStillHasAccessories;
use App\Exceptions\ModelStillHasAssetModels;
use App\Exceptions\ModelStillHasAssets;
use App\Exceptions\ModelStillHasChildren;
use App\Exceptions\ModelStillHasComponents;
use App\Exceptions\ModelStillHasConsumables;
use App\Exceptions\ModelStillHasLicenses;
@@ -153,7 +154,7 @@ class CategoriesController extends Controller
$this->authorize('delete', Category::class);
try {
DestroyCategoryAction::run($category);
} catch (ModelStillHasAssets|ModelStillHasAccessories|ModelStillHasAssetModels|ModelStillHasComponents|ModelStillHasConsumables|ModelStillHasLicenses $e) {
} catch (ModelStillHasChildren $e) {
return redirect()->route('categories.index')->with('error', trans('admin/categories/message.assoc_items', ['asset_type' => $category->category_type]));
} catch (\Exception $e) {
report($e);

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\Actions\Suppliers\DestroySupplierAction;
use App\Exceptions\ModelStillHasAssetMaintenances;
use App\Exceptions\ModelStillHasAssets;
use App\Exceptions\ModelStillHasChildren;
use App\Exceptions\ModelStillHasLicenses;
use App\Http\Requests\ImageUploadRequest;
use App\Models\Supplier;
@@ -128,12 +129,8 @@ class SuppliersController extends Controller
$this->authorize('delete', Supplier::class);
try {
DestroySupplierAction::run(supplier: $supplier);
} catch (ModelStillHasAssets $e) {
} catch (ModelStillHasChildren $e) {
return redirect()->route('suppliers.index')->with('error', trans('admin/suppliers/message.delete.assoc_assets', ['asset_count' => (int) $supplier->assets_count]));
} catch (ModelStillHasAssetMaintenances $e) {
return redirect()->route('suppliers.index')->with('error', trans('admin/suppliers/message.delete.assoc_maintenances', ['asset_maintenances_count' => $supplier->asset_maintenances_count]));
} catch (ModelStillHasLicenses $e) {
return redirect()->route('suppliers.index')->with('error', trans('admin/suppliers/message.delete.assoc_licenses', ['licenses_count' => (int) $supplier->licenses_count]));
} catch (\Throwable $e) {
report($e);
return redirect()->route('suppliers.index')->with('error', trans('admin/suppliers/message.delete.error'));