Files
backend/app/Services/Cartables/Mission/DailyMoveMachineService.php

34 lines
1020 B
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()->with('machine:id,car_name');
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(
$query,
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
);
}
}