ldc-flucollector/app/Http/Controllers/Api/XmlIncoController.php
Jérémy Munsch c0c1608ad5
Api calls ok
2023-10-02 12:26:41 +02:00

63 lines
1.9 KiB
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Requests\Api\XmlInco\SearchRequest;
use App\Http\Resources\Api\XmlListResource;
use App\Http\Resources\XmlIncoResource;
use App\Models\Service;
use App\Models\XmlInco;
use Illuminate\Contracts\Database\Eloquent\Builder;
use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Support\Carbon;
class XmlIncoController extends Controller
{
/**
* Returns all service questions.
*
* @param \App\Http\Requests\Api\XmlInco\SearchRequest $request
* @param \App\Models\Service $service
* @return \Illuminate\Http\Resources\Json\ResourceCollection
*/
public function search(SearchRequest $request, Service $service): ResourceCollection
{
return new XmlListResource($service->arcadiaBrand->xmlIncos()
->where(fn (Builder $q) => $this->searchQuery(
$q,
$request->search,
null,
'id',
'name'
))->limit(20)->get(['id', 'name']));
}
/**
* Get ids list of updated resources since a specific date
*
* @param \App\Models\Service $service
* @param \Illuminate\Support\Carbon $since
* @return \Illuminate\Http\Resources\Json\ResourceCollection
*/
public function getIdListSince(Service $service, Carbon $since): ResourceCollection
{
return new XmlListResource(
$service->arcadiaBrand->xmlIncos()
->whereDate('updated_at', '>=', $since)->get(['id']),
null,
true
);
}
/**
* Show Xml Inco resource
*
* @param \App\Models\XmlInco $xml_inco
* @return \App\Http\Resources\XmlIncoResource
*/
public function show(XmlInco $xml_inco): XmlIncoResource
{
return new XmlIncoResource($xml_inco);
}
}