create road item webservice

This commit is contained in:
2025-07-19 14:27:07 +03:30
parent 1aff61aece
commit de5dc2f686
7 changed files with 84 additions and 17 deletions

View File

@@ -22,6 +22,7 @@ class ProfileController extends Controller
$user = Auth::user();
return $this->successResponse([
'id' => $user->id,
'username' => $user->username,
'first_name' => $user->first_name,
'last_name' => $user->last_name,

View File

@@ -1,22 +1,23 @@
<?php
namespace App\Http\Controllers\V3\Dashboard\RoadItem;
namespace App\Http\Controllers\V3\WebServices;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\RoadItem\WebService\CheckRequest;
use App\Http\Requests\V3\WebServices\RoadItem\IndexRequest;
use App\Http\Traits\ApiResponse;
use App\Models\RoadItemsProject;
use Illuminate\Http\JsonResponse;
class WebServiceController extends Controller
class RoadItemController extends Controller
{
use ApiResponse;
public function getRoadItem(CheckRequest $request): JsonResponse
public function index(IndexRequest $request): JsonResponse
{
$fromDate = $request->from_date;
$toDate = $request->to_date;
$roadItems = RoadItemsProject::query()
->whereBetween('created_at', [$fromDate, $toDate])
->where('is_new', '=', 1)
->whereBetween('activity_date_time', [$fromDate, $toDate])
->get();
return $this->successResponse($roadItems);

View File

@@ -0,0 +1,33 @@
<?php
namespace App\Http\Controllers\V3\WebServices;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\WebServices\RoadMaintenanceStation\IndexRequest;
use App\Http\Traits\ApiResponse;
use App\Models\RahdariPoint;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class RoadMaintenanceStationController extends Controller
{
use ApiResponse;
public function index(IndexRequest $request): JsonResponse
{
$province = $request->province;
$status = $request->status;
$type = $request->type;
$data = RahdariPoint::query()
->when($status, fn ($query, $status) => $query->where('status', $status))
->when($type, fn ($query, $type) => $query->where('type', $type))
->when($province, fn($query, $province) => $query->where('province_id', $province))
->get([
'id', 'province_name', 'city_name', 'name', 'status', 'type_fa', 'phone',
'code', 'lat', 'lng',
]);
return $this->successResponse($data);
}
}

View File

@@ -1,29 +1,27 @@
<?php
namespace App\Http\Requests\V3\RoadItem\WebService;
namespace App\Http\Requests\V3\WebServices\RoadItem;
use App\Models\User;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class CheckRequest extends FormRequest
class IndexRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
$user = Auth::user();
return (
$user->username === 'service_user257'&&
Hash::check('S3rv1ce@123', $user->password) );
return
$this->username === 'service_user257' &&
Hash::check('S3rv1ce@123', $this->password);
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -0,0 +1,34 @@
<?php
namespace App\Http\Requests\V3\WebServices\RoadMaintenanceStation;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Hash;
class IndexRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return
$this->username === 'service_user257' &&
Hash::check('S3rv1ce@123', $this->password);
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'province' => 'exists:provinces,id',
'status' => 'in:0,1',
'type' => 'in:1,2,3',
];
}
}