ldc-flucollector/app/Http/Controllers/Api/V1/XmlIncoController.php
Jérémy Munsch 656120f042
TMP
- Arcadia Xml Jobs WIP
- Api WIP
2022-04-11 12:41:44 +02:00

58 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers\Api\V1;
use App\Http\Controllers\Controller;
use App\Http\Requests\Api\V1\XmlIncosIndexRequest;
use App\Http\Resources\Api\V1\XmlIncoResource;
use App\Models\XmlInco;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Http\Resources\Json\ResourceCollection;
class XmlIncoController extends Controller
{
/**
* Returns xmlIncos.
*
* @param XmlIncosIndexRequest $request
* - autorised is 'brand' with id
* @return JsonResource
*/
public function index(XmlIncosIndexRequest $request): ResourceCollection
{
/** @var \App\Models\ArcadiaBrand|null $arcadiaBrand */
$arcadiaBrand = $request->arcadiaBrand;
$xmlIncos = XmlInco::query();
if ($arcadiaBrand) {
// * Make sure we are accessing xmlIncos that belongs to our service.
$this->authorize('arcadiaBrandBelongsToService', $arcadiaBrand);
$xmlIncos->whereHas('arcadiaBrands', function ($q) use ($arcadiaBrand) {
$q->whereId($arcadiaBrand->id);
});
}
return XmlIncoResource::collection($xmlIncos->simplePaginate(
$request->per_page,
['*'],
'page',
$request->page
)->items());
}
/**
* Return a specific xmlInco.
*
* @param XmlInco $xmlInco
* @return JsonResource
*/
public function show(XmlInco $xmlInco): JsonResource
{
// * Make sure we are accessing a xmlInco that belongs to our service.
$this->authorize('arcadiaBrandBelongsToService', $xmlInco->arcadiaBrand);
return new XmlIncoResource($xmlInco);
}
}