mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-08-01 08:16:55 -04:00
61 lines
1.5 KiB
PHP
61 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;
|
|
use Cache;
|
|
|
|
class StudioPlusAsinController extends Controller
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
|
|
$asins = Cache::remember('studio_plus_asins', 60 * 60, function () use($request){
|
|
return StudioPlusAsin::query()->get();
|
|
});
|
|
|
|
return StudioPlusAsinResource::collection($asins);
|
|
}
|
|
|
|
public function store(StudioPlusAsinRequest $request)
|
|
{
|
|
$validated = $request->validated();
|
|
$validated['user_id'] = auth()->id();
|
|
|
|
StudioPlusAsin::create($validated);
|
|
|
|
Cache::forget('studio_plus_asins');
|
|
|
|
return response()->noContent();
|
|
}
|
|
|
|
public function update(StudioPlusAsinRequest $request, StudioPlusAsin $asin)
|
|
{
|
|
$validated = $request->validated();
|
|
|
|
$asin->update($validated);
|
|
|
|
Cache::forget('studio_plus_asins');
|
|
|
|
return response()->noContent();
|
|
}
|
|
|
|
public function destroy(StudioPlusAsin $asin)
|
|
{
|
|
try {
|
|
$asin->delete();
|
|
|
|
Cache::forget('studio_plus_asins');
|
|
|
|
return response()->noContent();
|
|
} catch (\Exception $ex) {
|
|
throw new \Exception('Unable to delete ASIN value.');
|
|
}
|
|
}
|
|
}
|