Files
wticreatorstudio/Modules/StudioPlusWtiiabaddon/Http/Controllers/API/StudioPlusAsinController.php
T
2024-02-12 22:54:20 -05:00

53 lines
1.5 KiB
PHP

<?php
namespace Modules\StudioPlusWtiiabaddon\Http\Controllers\API;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\StudioPlus\Http\Requests\StudioPlusAsinRequest;
use Modules\StudioPlusWtiiabaddon\Entities\StudioPlusAsin;
use Modules\StudioPlusWtiiabaddon\Transformers\StudioPlusAsinResource;
class StudioPlusAsinController extends Controller
{
public function index(Request $request)
{
$asins = StudioPlusAsin::query()->get();
//->when($request->filled('orderBy') && $request->filled('sortBy'), fn ($query) => $query->orderBy($request->orderBy, $request->sortBy))
//->getOrPaginate($request->per_page);
return StudioPlusAsinResource::collection($asins);
}
public function store(StudioPlusAsinRequest $request)
{
$validated = $request->validated();
$validated['user_id'] = auth()->id();
StudioPlusAsin::create($validated);
return response()->noContent();
}
public function update(StudioPlusAsinRequest $request, StudioPlusAsin $asin)
{
$validated = $request->validated();
$asin->update($validated);
return response()->noContent();
}
public function destroy(StudioPlusAsin $asin)
{
try {
$asin->delete();
return response()->noContent();
} catch (\Exception $ex) {
throw new \Exception('Unable to delete ASIN value.');
}
}
}