Files
SGF/app/Modules/Accounting/CostLedgerController.php
T
2026-11-04 09:37:20 +02:00

14 lines
847 B
PHP

<?php
namespace App\Modules\Accounting;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
final class CostLedgerController extends Controller
{
public function index(Request $r,GeneralLedger $ledger)
{
$d=$r->validate(['order_id'=>'sometimes|required|integer|min:1','page'=>'sometimes|integer|min:1|max:100000']);abort_if(array_diff(array_keys($r->query()),array_keys($d))!==[],422);
try{$data=$ledger->costs($r->user(),isset($d['order_id'])?(int)$d['order_id']:null,(int)($d['page']??1));}catch(\DomainException $e){abort(403,$e->getMessage());}catch(\InvalidArgumentException $e){abort(422,$e->getMessage());}
return $r->is('api/*')?response()->json($data)->header('Cache-Control','no-store'):response()->view('accounting.cost-ledger',['data'=>$data])->header('Cache-Control','no-store');
}
}