refs #152 #153 #156 #157 Adds plural in endpoint routes

pull/1/head
Luis Gerardo Romero Garcia 2024-01-29 14:40:34 +01:00
parent f5a4a1fc83
commit 925274da3e
1 changed files with 9 additions and 68 deletions

View File

@ -17,7 +17,7 @@ class DhcpController
{ {
private $logger; private $logger;
/** /**
* @OA\Info(title="My API", version="1.0") * @OA\Info(title="Ogdhcp API", version="1.0")
*/ */
private $curlKeaService; private $curlKeaService;
@ -28,65 +28,6 @@ class DhcpController
$this->logger = $logger; $this->logger = $logger;
} }
/**
* @Route("/opengnsys3/rest/dhcp", methods={"GET"})
*/
public function getAllDhcp(): JsonResponse
{
$response = $this->curlKeaService->executeCurlCommand('config-get');
return new JsonResponse($response);
}
// ...
/**
* @Route("/opengnsys3/rest/dhcp/save", methods={"POST"})
*/
public function saveDhcpConfiguration(Request $request): JsonResponse
{
try {
$input = json_decode($request->getContent());
$configurationText = htmlspecialchars($input->configurationText);
} catch (Exception $e) {
$response["message"] = $e->getMessage();
return new JsonResponse(['error' => $response], 400);
}
$configurationParsed = str_replace(' ', '', $configurationText);
$configurationParsed = str_replace("\n", '', $configurationParsed);
$configurationParsed = str_replace('"', '"', $configurationParsed);
$configuration = json_decode($configurationParsed);
if ($configuration === null || json_last_error() !== JSON_ERROR_NONE) {
$responseError = "Error: El texto proporcionado no es un JSON válido.";
return new JsonResponse(['error' => $responseError], 400);
} else {
try {
$responseTest = $this->curlKeaService->executeCurlCommand('config-test', $configuration);
if ($responseTest[0]["result"] == 0) {
$responseSet = $this->curlKeaService->executeCurlCommand('config-set', $configuration);
if ($responseSet == false || $responseSet[0]["result"] != 0) {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseSet[0]["text"];
return new JsonResponse(['error' => $responseError], 400);
} else {
$responseSuccess = "Configuración cargada correctamente";
return new JsonResponse(['success' => $responseSuccess], 200);
}
} else {
$responseError = "Error al guardar la configuración en Kea DHCP: " . $responseTest[0]["text"];
return new JsonResponse(['error' => $responseError], 400);
}
} catch (Exception $e) {
$responseError = "Error al obtener la configuración de Kea DHCP: " . $e->getMessage();
return new JsonResponse(['error' => $responseError], 400);
}
}
}
/** /**
* *
* @OA\Schema( * @OA\Schema(
@ -150,7 +91,7 @@ class DhcpController
/** /**
* @OA\Post( * @OA\Post(
* path="/opengnsys3/rest/dhcp/subnet", * path="/opengnsys3/rest/dhcp/subnets",
* summary="Add a new DHCP subnet", * summary="Add a new DHCP subnet",
* @OA\RequestBody( * @OA\RequestBody(
* description="JSON payload", * description="JSON payload",
@ -181,7 +122,7 @@ class DhcpController
* ) * )
* ) * )
* ) * )
* @Route("/opengnsys3/rest/dhcp/subnet", methods={"POST"}) * @Route("/opengnsys3/rest/dhcp/subnets", methods={"POST"})
*/ */
public function addDhcpSubnet(Request $request): JsonResponse public function addDhcpSubnet(Request $request): JsonResponse
{ {
@ -249,9 +190,9 @@ class DhcpController
/** /**
* @Route("/opengnsys3/rest/dhcp/subnet/{subnetId}", methods={"DELETE"}) * @Route("/opengnsys3/rest/dhcp/subnets/{subnetId}", methods={"DELETE"})
* @OA\Delete( * @OA\Delete(
* path="/opengnsys3/rest/dhcp/subnet/{subnetId}", * path="/opengnsys3/rest/dhcp/subnets/{subnetId}",
* summary="Delete a DHCP subnet", * summary="Delete a DHCP subnet",
* @OA\Parameter( * @OA\Parameter(
* name="subnetId", * name="subnetId",
@ -279,7 +220,7 @@ class DhcpController
* ) * )
* ) * )
* ) * )
* @Route("/opengnsys3/rest/dhcp/subnet/{subnetId}", methods={"DELETE"}) * @Route("/opengnsys3/rest/dhcp/subnets/{subnetId}", methods={"DELETE"})
*/ */
public function deleteDhcpSubnet(Request $request): JsonResponse public function deleteDhcpSubnet(Request $request): JsonResponse
{ {
@ -328,9 +269,9 @@ class DhcpController
/** /**
* @Route("/opengnsys3/rest/dhcp/subnet/{subnetId}", methods={"PUT"}) * @Route("/opengnsys3/rest/dhcp/subnets/{subnetId}", methods={"PUT"})
* @OA\Put( * @OA\Put(
* path="/opengnsys3/rest/dhcp/subnet/{subnetId}", * path="/opengnsys3/rest/dhcp/subnets/{subnetId}",
* summary="Modify a DHCP subnet", * summary="Modify a DHCP subnet",
* @OA\Parameter( * @OA\Parameter(
* name="subnetId", * name="subnetId",
@ -369,7 +310,7 @@ class DhcpController
* ) * )
* ) * )
* ) * )
* @Route("/opengnsys3/rest/dhcp/subnet/{subnetId}", methods={"PUT"}) * @Route("/opengnsys3/rest/dhcp/subnets/{subnetId}", methods={"PUT"})
*/ */
public function modifyDhcpSubnet(Request $request): JsonResponse public function modifyDhcpSubnet(Request $request): JsonResponse
{ {