ogcore/src/Controller/OgAgent/OgAgentController.php

85 lines
2.8 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Controller\OgAgent;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Attribute\AsController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\JsonResponse;
#[AsController]
class OgAgentController extends AbstractController
{
#[Route('/opengnsys/rest/ogagent/started', methods: ['POST'])]
public function agentStarted(Request $request): JsonResponse
{
$data = $request->toArray();
$requiredFields = ['mac', 'ip', 'secret', 'ostype', 'osversion', 'agent_version'];
foreach ($requiredFields as $field) {
if (!isset($data[$field])) {
return new JsonResponse(['message' => "Missing parameter: $field"], Response::HTTP_BAD_REQUEST);
}
}
// Procesar los datos recibidos si es necesario
return new JsonResponse([], Response::HTTP_OK);
}
#[Route('/opengnsys/rest/ogagent/stopped', methods: ['POST'])]
public function agentStopped(Request $request): JsonResponse
{
$data = $request->toArray();
$requiredFields = ['mac', 'ip', 'ostype', 'osversion'];
foreach ($requiredFields as $field) {
if (!isset($data[$field])) {
return new JsonResponse(['message' => "Missing parameter: $field"], Response::HTTP_BAD_REQUEST);
}
}
// Procesar los datos recibidos si es necesario
return new JsonResponse([], Response::HTTP_OK);
}
#[Route('/opengnsys/rest/ogagent/loggedin', methods: ['POST'])]
public function agentLoggedIn(Request $request): JsonResponse
{
$data = $request->toArray();
$requiredFields = ['ip', 'user', 'language', 'session', 'ostype', 'osversion'];
foreach ($requiredFields as $field) {
if (!isset($data[$field])) {
return new JsonResponse(['message' => "Missing parameter: $field"], Response::HTTP_BAD_REQUEST);
}
}
// Procesar los datos recibidos si es necesario
return new JsonResponse([], Response::HTTP_OK);
}
#[Route('/opengnsys/rest/ogagent/loggedout', methods: ['POST'])]
public function agentLoggedOut(Request $request): JsonResponse
{
$data = $request->toArray();
$requiredFields = ['ip', 'user'];
foreach ($requiredFields as $field) {
if (!isset($data[$field])) {
return new JsonResponse(['message' => "Missing parameter: $field"], Response::HTTP_BAD_REQUEST);
}
}
// Procesar los datos recibidos si es necesario
return new JsonResponse([], Response::HTTP_OK);
}
}