Files
backend/app/Services/Cartables/Mission/DailyMoveMachineService.php
2025-12-23 11:00:07 +03:30

37 lines
1.1 KiB
PHP

<?php
namespace App\Services\Cartables\Mission;
use App\Facades\DataTable\DataTableFacade;
use App\Models\MissionViolation;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class DailyMoveMachineService
{
public function dataTable(Request $request)
{
$user = Auth::user();
$query = MissionViolation::query();
if ($user->hasPermissionTo('manage-violation-station')) {
$query->whereRelation('machine', 'station_id', '=', $user->station_id);
}
elseif ($user->hasPermissionTo('manage-violation-city')) {
$query->whereRelation('machine', 'city_id', '=', $user->city_id);
}
elseif ($user->hasPermissionTo('manage-violation-province')) {
$query->whereRelation('machine', 'province_id', '=', $user->province_id);
}
return DataTableFacade::run(
MissionViolation::query(),
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
allowedSelects: ['id', 'mission_id', 'machine_code', 'request_date', 'type', 'exit_time', 'enter_time', 'status']
);
}
}