<?php 
namespace App\Router; 
 
use App\Controller\AnaliticosController; 
use App\Model\Analiticos; 
use App\Controller\TokenController; 
 
function addAnaliticosRoutes($router) { 
    $router->mount('/Analitico', function () use ($router) { 
        $router->get('/', function () { 
            $analitico = new Analiticos(); 
            $analiticoController = new AnaliticosController($analitico); 
            $resultado = $analiticoController->listarAnalitico(); 
            if(!$resultado){ 
                echo json_encode(["status" => false, "Analitico" => $resultado,"mensagem"=>"nenhum resultado encontrado"]); 
                exit; 
            }else{ 
                echo json_encode($resultado); 
                exit; 
            } 
        }); 
 
        $router->get('/([a-z0-9_-]+)', function ($id) { 
            $permitido = new TokenController(); 
            $permitido->autorizado(); 
            $analitico = new Analiticos(); 
            $analiticoController = new AnaliticosController($analitico); 
            $resultado = $analiticoController->buscarPorId($id); 
                if(!$resultado){ 
                    echo json_encode(["status" => false, "Analitico" => $resultado,"mensagem"=>"nenhum resultado encontrado"]); 
                    exit; 
                }else{ 
                    echo json_encode(["status" => true, "Analitico" => $resultado]); 
                    exit; 
                } 
        }); 
        $router->post('/', function () { 
            $body = json_decode(file_get_contents('php://input'), true); 
            $analitico = new Analiticos(); 
            foreach ($body as $movement) { 
                $timestampInSeconds = $movement['time'] / 1000; 
                $mobile = $movement['isMobile'] ? 1 : 0; 
                $mysqlDateTime = date('Y-m-d H:i:s', $timestampInSeconds); 
                $analitico->setVisitorId($movement['visitor_id']); 
                $analitico->setX(floatval($movement['x'])); 
                $analitico->setY(floatval($movement['y'])); 
                $analitico->setTime($mysqlDateTime); 
                $analitico->setIsMobile($mobile); 
                $analitico->setScreenWidth($movement['screenSize']['width']); 
                $analitico->setScreenHeight($movement['screenSize']['height']); 
 
                $analiticoController = new AnaliticosController($analitico); 
                $resultado = $analiticoController->adicionarAnalitico(); 
                echo json_encode(['status' => $resultado]); 
            } 
        }); 
         
    }); 
} 
 
 
 |