Cetaklabel/Http/Controllers/Api/DirectoratController.php
Daeng Deni Mardaeni 34b544503e update from dell
2023-07-21 16:37:07 +07:00

90 lines
2.8 KiB
PHP

<?php
namespace Modules\Cetaklabel\Http\Controllers\Api;
use App\Http\Controllers\ApiController;
use Exception;
use Modules\Cetaklabel\Entities\Directorat;
use Modules\Cetaklabel\Http\Requests\Directorat\StoreDirectoratRequest;
use Modules\Cetaklabel\Http\Requests\Directorat\UpdateDirectoratRequest;
use Symfony\Component\HttpFoundation\JsonResponse;
class DirectoratController extends ApiController
{
public function index()
: JsonResponse
{
$directorats = Directorat::all();
return $this->sendResponse($directorats, 'Directorats retrieved successfully.');
}
public function show($directorat)
: JsonResponse
{
$directorat = Directorat::find($directorat);
if (is_null($directorat)) {
return $this->sendError('Directorat not found.');
}
return $this->sendResponse($directorat, 'Directorat retrieved successfully.');
}
public function store(StoreDirectoratRequest $request)
: JsonResponse
{
// Validate the request...
$validated = $request->validated();
// Store the Directorat...
if ($validated) {
try {
$data = Directorat::create($validated);
return $this->sendResponse($data, 'Directorat created successfully.');
} catch (Exception $e) {
return $this->sendError($e->getMessage(), $e->getCode());
}
}
return $this->sendError('Directorat created failed.', 400);
}
public function update(UpdateDirectoratRequest $request, Directorat $directorat)
: JsonResponse
{
// Validate the request...
$validated = $request->validated();
// Store the Directorat...
if ($validated) {
try {
$data = $directorat->update($validated);
return $this->sendResponse($data, 'Directorat updated successfully.');
} catch (Exception $e) {
return $this->sendError($e->getMessage(), $e->getCode());
}
}
return $this->sendError('Directorat created failed.', 400);
}
public function destroy($id)
: JsonResponse
{
$directorat = Directorat::find($id);
if (is_null($directorat)) {
return $this->sendError('Directorat not found.');
}
try {
$directorat->delete();
return $this->sendResponse($directorat, 'Directorat deleted successfully.');
} catch (Exception $e) {
return $this->sendError($e->getMessage(), $e->getCode());
}
}
}