Files
compras/integrations/sgf/sourcing/Controller.php
T
2026-11-02 20:27:11 +02:00

20 lines
1.2 KiB
PHP

<?php
namespace Tempo\Purchasing\SgfSourcing;
use Illuminate\Http\Request;
use Tempo\Purchasing\Internal\RequisitionFailure;
final class Controller
{
public function show(Request $request,int $id){return response()->json((new Workspace($request->user()))->read($id))->header('Cache-Control','private, no-store');}
public function command(Request $request,int $id,string $action){
try{return response()->json((new Workspace($request->user()))->command($id,$action,$request->all()));}
catch(RequisitionFailure $e){return response()->json(['message'=>$e->getMessage()],$e->status);}
catch(\InvalidArgumentException $e){return response()->json(['message'=>$e->getMessage()],422);}
}
public function page(Request $request,int $id){
(new Workspace($request->user()))->read($id);
$contract=['id'=>$id,'csrf'=>csrf_token(),'context'=>$request->session()->get('company_context.token')];
ob_start();require __DIR__.'/screen.php';return response(ob_get_clean())->header('Cache-Control','private, no-store');
}
public function script(){return response(file_get_contents(__DIR__.'/screen.mjs'))->header('Content-Type','text/javascript');}
}