Files
api/services/nginx/app/routes/moduleMotorAPIRoute.php
T
Jepp9350 b659b07d4c Add caching support for license plate lookups in MotorAPI
Introduced caching functionality to improve efficiency and reduce redundant API calls for license plate lookups. Added methods to check and retrieve cached entries while ensuring proper validation. Enhanced error handling for invalid responses and updated related routes and interfaces accordingly.
2025-02-20 10:59:09 +01:00

43 lines
1.4 KiB
PHP

<?php
namespace routes;
use classes\authentication;
use classes\motorapi;
use classes\response;
use classes\router;
use objects\logs_o;
use traits\route_t;
class moduleMotorAPIRoute
{
use route_t;
public function run(): void
{
global /** @var response $response */
/** @var router $router */
$router, $response;
/** Modules > MotorAPI > Lookup > GET */
$this->get('/modules/motorapi/lookup', function () {
global $response;
self::requirePermission('modules_motorapi_lookup');
$user = (new authentication())->get_user();
if ($user) {
self::requireParameters(['license_plate']);
self::requireType('license_plate', 'string');
self::requireMinLength('license_plate', 1);
self::requireMaxLength('license_plate', 10);
(new logs_o())->add('modules_motorapi', 'global', 1, $user->id, 'MODULES_MOTORAPI', 'Successfully looked up license plate information');
$result = (new motorapi())->getLicensePlateInformation($this->fromRequest('license_plate'), false);
$response->success((object)$result);
} else {
(new logs_o())->add('modules_motorapi', 'global', 1, 0, 'MODULES_MOTORAPI', 'No user found, or invalid session');
$response->error('Invalid session', 400);
}
});
}
}