85 lines
2.8 KiB
PHP
85 lines
2.8 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Modules\CetakLabel\Http\Controllers\Api;
|
||
|
|
||
|
use App\Http\Controllers\ApiController;
|
||
|
use Exception;
|
||
|
use Modules\CetakLabel\Entities\SpecialCode;
|
||
|
use Modules\CetakLabel\Http\Requests\SpecialCode\StoreSpecialCodeRequest;
|
||
|
use Modules\CetakLabel\Http\Requests\SpecialCode\UpdateSpecialCodeRequest;
|
||
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
||
|
|
||
|
class SpecialCodeController extends ApiController
|
||
|
{
|
||
|
public function index(): JsonResponse
|
||
|
{
|
||
|
$special_codes = SpecialCode::all();
|
||
|
|
||
|
return $this->sendResponse($special_codes, 'Special Codes retrieved successfully.');
|
||
|
}
|
||
|
|
||
|
public function show($special_code): JsonResponse
|
||
|
{
|
||
|
$special_code = SpecialCode::find($special_code);
|
||
|
if (is_null($special_code)) {
|
||
|
return $this->sendError('Special Code not found.');
|
||
|
}
|
||
|
|
||
|
return $this->sendResponse($special_code, 'Special Code retrieved successfully.');
|
||
|
}
|
||
|
|
||
|
public function store(StoreSpecialCodeRequest $request): JsonResponse
|
||
|
{
|
||
|
// Validate the request...
|
||
|
$validated = $request->validated();
|
||
|
|
||
|
// Store the SpecialCode...
|
||
|
if ($validated) {
|
||
|
try {
|
||
|
$data = SpecialCode::create($validated);
|
||
|
|
||
|
return $this->sendResponse($data, 'Special Code created successfully.');
|
||
|
} catch (Exception $e) {
|
||
|
return $this->sendError($e->getMessage(), $e->getCode());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $this->sendError('Special Code created failed.', 400);
|
||
|
}
|
||
|
|
||
|
public function update(UpdateSpecialCodeRequest $request, SpecialCode $special_code): JsonResponse
|
||
|
{
|
||
|
// Validate the request...
|
||
|
$validated = $request->validated();
|
||
|
|
||
|
// Store the SpecialCode...
|
||
|
if ($validated) {
|
||
|
try {
|
||
|
$data = $special_code->update($validated);
|
||
|
|
||
|
return $this->sendResponse($data, 'Special Code updated successfully.');
|
||
|
} catch (Exception $e) {
|
||
|
return $this->sendError($e->getMessage(), $e->getCode());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $this->sendError('Special Code created failed.', 400);
|
||
|
}
|
||
|
|
||
|
public function destroy($id): JsonResponse
|
||
|
{
|
||
|
$special_code = SpecialCode::find($id);
|
||
|
if (is_null($special_code)) {
|
||
|
return $this->sendError('Special Code not found.');
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
$special_code->delete();
|
||
|
|
||
|
return $this->sendResponse($special_code, 'Special Code deleted successfully.');
|
||
|
} catch (Exception $e) {
|
||
|
return $this->sendError($e->getMessage(), $e->getCode());
|
||
|
}
|
||
|
}
|
||
|
}
|