Cetaklabel/Http/Controllers/Api/SubDirectoratController.php

90 lines
3.0 KiB
PHP

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