Accept isolated invoice issuance and reproducible PDF delivery
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
namespace App\Modules\Services\Http;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Modules\Services\ServiceInvoicing;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
final class ServiceInvoiceController extends Controller
|
||||
{
|
||||
private function response(array $data) { return response()->json($data)->header('Cache-Control','no-store, private'); }
|
||||
public function index(Request $r,ServiceInvoicing $s) { return $this->response($s->listing($r->user()->id)); }
|
||||
public function propose(Request $r,ServiceInvoicing $s) { return $this->response($s->propose($r->user()->id,$r->all())); }
|
||||
public function decide(Request $r,int $id,ServiceInvoicing $s) { return $this->response($s->decide($id,$r->user()->id,$r->all())); }
|
||||
public function review(Request $r,int $id,ServiceInvoicing $s) {
|
||||
abort_if(array_diff(array_keys($r->all()),['series_id','rule_id'])!==[],422);
|
||||
$d=$r->validate(['series_id'=>'required|integer|min:1','rule_id'=>'required|integer|min:1']);
|
||||
return $this->response($s->review($id,(int)$d['series_id'],(int)$d['rule_id'],$r->user()->id));
|
||||
}
|
||||
public function issue(Request $r,int $id,ServiceInvoicing $s) { return $this->response($s->issue($id,$r->user()->id,$r->all(),(string)$r->header('Idempotency-Key'))); }
|
||||
public function show(Request $r,int $id,ServiceInvoicing $s) { return $this->response($s->show($id,$r->user()->id)); }
|
||||
public function pdf(Request $r,int $id,ServiceInvoicing $s) { return response($s->pdf($id,$r->user()->id))->header('Content-Type','application/pdf')->header('Content-Disposition','attachment; filename="test-invoice-'.$id.'.pdf"')->header('Cache-Control','no-store, private')->header('X-Content-Type-Options','nosniff'); }
|
||||
public function correction(Request $r,int $id,ServiceInvoicing $s) { return $this->response($s->requestCorrection($id,$r->user()->id,$r->all())); }
|
||||
}
|
||||
Reference in New Issue
Block a user