create new dependensy for accident controller

This commit is contained in:
2025-05-27 14:21:01 +03:30
parent 36871f88b6
commit 3e01f4e3b9
4 changed files with 44 additions and 9 deletions

View File

@@ -202,7 +202,10 @@ class AccidentReceiptController extends Controller
public function destroy(Accident $accident): JsonResponse
{
FileFacade::deleteDirectory('receipts_files/'.$accident->id);
abort_if($accident->status === AccidentStates::BEDON_EGHDAM->value, 422);
FileFacade::deleteDirectory('receipts_files/' . $accident->id);
DB::transaction(function () use ($accident) {

View File

@@ -2,6 +2,8 @@
namespace App\Http\Requests\V3\AccidentReceipt;
use App\Enums\AccidentStates;
use App\Models\Accident;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmPaymentInfoRequest extends FormRequest
@@ -9,9 +11,9 @@ class ConfirmPaymentInfoRequest extends FormRequest
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
public function authorize(Accident $accident): bool
{
return true;
return $accident->status === AccidentStates::SODOR_NAME_BIME_VA_DAGHI->value;
}
/**

View File

@@ -2,6 +2,8 @@
namespace App\Http\Requests\V3\AccidentReceipt;
use App\Enums\AccidentStates;
use App\Models\Accident;
use Illuminate\Foundation\Http\FormRequest;
class UpdateRequest extends FormRequest
@@ -9,9 +11,9 @@ class UpdateRequest extends FormRequest
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
public function authorize(Accident $accident): bool
{
return true;
return $accident->status === AccidentStates::BEDON_EGHDAM->value;
}
/**
@@ -25,10 +27,10 @@ class UpdateRequest extends FormRequest
'province_id' => 'required|integer|exists:provinces,id',
'city_id' => 'required|integer|exists:cities,id',
'axis_name' => 'required|string',
'driver_name' => 'required|string',
'plaque' => 'required|string',
'driver_national_code' => 'required|string',
'driver_phone_number' => 'required|string',
'driver_name' => 'required_if:is_foreign,0|string',
'plaque' => 'required_if:is_foreign,0|string',
'driver_national_code' => 'required_if:is_foreign,0|string',
'driver_phone_number' => 'required_if:is_foreign,0|string',
'lat' => 'required|numeric',
'lng' => 'required|numeric',
'accident_type' => 'required|integer',

View File

@@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('accidents', function (Blueprint $table) {
$table->boolean('is_foreign')->default(false);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('accidents', function (Blueprint $table) {
$table->dropColumn('is_foreign');
});
}
};