ignored csrf token for development env

This commit is contained in:
2024-07-14 10:42:31 +00:00
parent c1149517d3
commit 1242051379
6 changed files with 301 additions and 14 deletions

View File

@@ -0,0 +1,164 @@
<?php
namespace App\Http\Controllers\V3\Harim;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Harim\Divarkeshi;
use App\Http\Requests\V3\Harim\Divarkeshi\StoreRequest;
use App\Http\Traits\ApiResponse;
use Illuminate\Http\JsonResponse;
use App\Facades\DataTable\DataTableFacade;
class DivarkeshiController extends Controller
{
use ApiResponse;
public function index(Request $request): JsonResponse
{
$columns = array(
'dabirkhaneh_number',
'nameh_date',
'nameh_date_fa',
'marjae_pasokh',
'motaghazi_is_legal_id',
'motaghazi_is_legal',
'motaghazi_type_id',
'motaghazi_type',
'motaghazi_firstname',
'motaghazi_lastname',
'national_id',
'shenase_melli',
'tel_number',
'mobile_number',
'address',
'edare_kol_id',
'edare_kol',
'edare_shahri_id',
'edare_shahri',
'rah_type_id',
'rah_type',
'name_mehvar_id',
'name_mehvar_fa',
'mizan_harim',
'arze_navar',
'samt_id',
'samt',
'kilometr',
'lat',
'lon',
'zone',
'karbari_type_id',
'karbari_type',
'tarh_title',
'masahat_zirbana',
'ehdasat_type_id',
'ehdasat_type',
'divarkeshi_distance',
'mostahadesat_distance',
'mahale_ejra_id',
'mahale_ejra',
'traffic_id',
'traffic',
'vaziat_eghtesadi_id',
'vaziat_eghtesadi',
'has_access_id',
'has_access',
'shomare_estelam_harim',
'max_month',
'max_day',
'shomare_tahaodname',
'shomare_daftarkhaneh',
'description',
'ronevesht',
);
$allowedFilters = $columns;
$allowedSortings = $columns;
$query = Divarkeshi::query();
$data = DataTableFacade::run(
$query,
$request,
allowedFilters: $allowedFilters,
allowedSortings: $allowedSortings
);
return response()->json($data);
}
public function store(StoreRequest $request): JsonResponse
{
try {
Divarkeshi::create([
'dabirkhaneh_number' => $request->dabirkhaneh_number,
'nameh_date' => $request->nameh_date,
'nameh_date_fa' => $request->nameh_date_fa,
'marjae_pasokh' => $request->marjae_pasokh,
'motaghazi_is_legal_id' => $request->motaghazi_is_legal_id,
'motaghazi_is_legal' => $request->motaghazi_is_legal,
'motaghazi_type_id' => $request->motaghazi_type_id,
'motaghazi_type' => $request->motaghazi_type,
'motaghazi_firstname' => $request->motaghazi_firstname,
'motaghazi_lastname' => $request->motaghazi_lastname,
'national_id' => $request->national_id,
'shenase_melli' => $request->shenase_melli,
'tel_number' => $request->tel_number,
'mobile_number' => $request->mobile_number,
'address' => $request->address,
'edare_kol_id' => $request->edare_kol_id,
'edare_kol' => $request->edare_kol,
'edare_shahri_id' => $request->edare_shahri_id,
'edare_shahri' => $request->edare_shahri,
'rah_type_id' => $request->rah_type_id,
'rah_type' => $request->rah_type,
'name_mehvar_id' => $request->name_mehvar_id,
'name_mehvar_fa' => $request->name_mehvar_fa,
'mizan_harim' => $request->mizan_harim,
'arze_navar' => $request->arze_navar,
'samt_id' => $request->samt_id,
'samt' => $request->samt,
'kilometr' => $request->kilometr,
'lat' => $request->lat,
'lon' => $request->lon,
'zone' => $request->zone,
'karbari_type_id' => $request->karbari_type_id,
'karbari_type' => $request->karbari_type,
'tarh_title' => $request->tarh_title,
'masahat_zirbana' => $request->masahat_zirbana,
'ehdasat_type_id' => $request->ehdasat_type_id,
'ehdasat_type' => $request->ehdasat_type,
'divarkeshi_distance' => $request->divarkeshi_distance,
'mostahadesat_distance' => $request->mostahadesat_distance,
'mahale_ejra_id' => $request->mahale_ejra_id,
'mahale_ejra' => $request->mahale_ejra,
'traffic_id' => $request->traffic_id,
'traffic' => $request->traffic,
'vaziat_eghtesadi_id' => $request->vaziat_eghtesadi_id,
'vaziat_eghtesadi' => $request->vaziat_eghtesadi,
'has_access_id' => $request->has_access_id,
'has_access' => $request->has_access,
'shomare_estelam_harim' => $request->shomare_estelam_harim,
'max_month' => $request->max_month,
'max_day' => $request->max_day,
'shomare_tahaodname' => $request->shomare_tahaodname,
'shomare_daftarkhaneh' => $request->shomare_daftarkhaneh,
'description' => $request->description,
'ronevesht' => $request->ronevesht,
]);
return $this->successResponse();
} catch (\Throwable $th) {
\Log::error($th->getMessage());
throw $th;
}
}
public function details(Divarkeshi $divarkeshi): JsonResponse
{
return $this->successResponse($divarkeshi);
}
}

View File

@@ -41,8 +41,8 @@ class Kernel extends HttpKernel
// \App\Http\Middleware\HttpsProtocol::class,
\App\Http\Middleware\ConfirmUserMiddleware::class,
// \App\Http\Middleware\RandDRedirectMiddleware::class,
],
'api' => [

View File

@@ -77,7 +77,6 @@ class ConfirmUserMiddleware
// for migrate
if (Auth::check() && !Auth::user()->enabled) {
return abort(455);
}

View File

@@ -3,6 +3,7 @@
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
use \Illuminate\Http\Request;
class VerifyCsrfToken extends Middleware
{
@@ -19,16 +20,22 @@ class VerifyCsrfToken extends Middleware
* @var array
*/
protected $except = [
'public/cmms-download',
'cmms/create',
'webapi/contracts/setad',
'webapi/contracts/eblagh',
'webapi/request',
'webapi/set-online',
'webapi/set-offline',
'webapi/profile/edit',
'webapi/camp/*',
'webapi/*',
'users/change_confirmed_status'
// 'public/cmms-download',
// 'cmms/create',
// 'webapi/contracts/setad',
// 'webapi/contracts/eblagh',
// 'webapi/profile/edit',
// 'webapi/camp/*',
// 'webapi/*',
// 'users/change_confirmed_status'
];
protected function inExceptArray($request)
{
if (config('global_variables.IS_DEVELOPMENT_ENV')) {
return true;
} else {
return parent::inExceptArray($request);
}
}
}

View File

@@ -0,0 +1,86 @@
<?php
namespace App\Http\Requests\V3\Harim\Divarkeshi;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\ValidationRule;
class StoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'dabirkhaneh_number' => 'required',
'nameh_date' => 'required',
'nameh_date_fa' => 'required',
'marjae_pasokh' => 'string',
'motaghazi_is_legal_id' => 'required',
'motaghazi_is_legal' => 'required',
'motaghazi_type_id' => 'integer',
'motaghazi_type' => 'string',
'motaghazi_firstname' => 'required',
'motaghazi_lastname' => 'required',
/// conditional rule
'national_id' => 'numeric',
'shenase_melli' => 'numeric',
///
'tel_number' => 'numeric',
'mobile_number' => 'numeric',
'address' => 'required',
'edare_kol_id' => 'required',
'edare_kol' => 'required',
'edare_shahri_id' => 'required',
'edare_shahri' => 'required',
'rah_type_id' => 'required',
'rah_type' => 'required',
'name_mehvar_id' => 'integer',
'name_mehvar_fa' => 'required',
'mizan_harim' => 'required',
'arze_navar' => 'string',
'samt_id' => 'required',
'samt' => 'required',
'kilometr' => 'required',
'lat' => 'required',
'lon' => 'required',
'zone' => 'required',
'karbari_type_id' => 'required',
'karbari_type' => 'required',
'tarh_title' => 'required',
'masahat_zirbana' => '',
'ehdasat_type_id' => 'required',
'ehdasat_type' => 'required',
'divarkeshi_distance' => '',
'mostahadesat_distance' => '',
'mahale_ejra_id' => '',
'mahale_ejra' => '',
'traffic_id' => 'required',
'traffic' => 'required',
'vaziat_eghtesadi_id' => '',
'vaziat_eghtesadi' => '',
'has_access_id' => 'required',
'has_access' => 'required',
'shomare_estelam_harim' => '',
'max_month' => 'required',
'max_day' => 'required',
'shomare_tahaodname' => '',
'shomare_daftarkhaneh' => '',
'description' => '',
'ronevesht' => '',
];
}
}

View File

@@ -0,0 +1,31 @@
<?php
namespace App\Http\Traits;
use Illuminate\Http\JsonResponse;
trait ApiResponse
{
public function successResponse(mixed $data = null, string $message = null, int $statusCode = 200): JsonResponse
{
if (!is_null($data)) {
return response()->json([
'data' => $data
], $statusCode);
}
$message = $message ?? __('messages.successful');
return response()->json([
'message' => $message
], $statusCode);
}
public function errorResponse(string $message, string $type = 'logical_exception', int $statusCode = 422): JsonResponse
{
return response()->json([
'type' => $type,
'message' => $message
], $statusCode);
}
}