add mock api for contratti

This commit is contained in:
2026-07-16 14:43:39 +02:00
parent 04ed2a7120
commit ec26db0bfa
3 changed files with 32 additions and 2 deletions
+1
View File
@@ -47,6 +47,7 @@ if (strpos($request->path(), '/api/') === 0) {
$router->get('/users/index', 'UsersController@index'); $router->get('/users/index', 'UsersController@index');
$router->post('/users/create', 'UsersController@create'); $router->post('/users/create', 'UsersController@create');
$router->get('/example/test', 'ExampleController@test'); $router->get('/example/test', 'ExampleController@test');
$router->get('/contratti/cerca', 'ContrattiController@cercaContratti');
// Rate limiting by IP address // Rate limiting by IP address
$key = $_SERVER['REMOTE_ADDR'] ?? 'unknown'; $key = $_SERVER['REMOTE_ADDR'] ?? 'unknown';
@@ -0,0 +1,30 @@
<?php
namespace Api\Controllers\V1;
use Api\Core\Request;
use Api\Core\Response;
class ContrattiController {
private $contratti = [
[ 'idContratto' => 'ID_CONTRATTO_001', 'titoloContratto' => 'Contratto Base', 'idDomanda' => 'ID_0101', 'idRicevuta' => 'RIC_1001' ],
[ 'idContratto' => 'ID_CONTRATTO_002', 'titoloContratto' => 'Contratto Avanzato', 'idDomanda' => 'ID_0102', 'idRicevuta' => 'RIC_1002' ],
[ 'idContratto' => 'ID_CONTRATTO_003', 'titoloContratto' => 'Contratto Premium', 'idDomanda' => 'ID_0103', 'idRicevuta' => 'RIC_1003' ],
[ 'idContratto' => 'ID_CONTRATTO_004', 'titoloContratto' => 'Contratto Enterprise', 'idDomanda' => 'ID_0104', 'idRicevuta' => 'RIC_1004' ],
[ 'idContratto' => 'ID_CONTRATTO_005', 'titoloContratto' => 'Contratto Custom', 'idDomanda' => 'ID_0105', 'idRicevuta' => 'RIC_1005' ],
];
public function cercaContratti(Request $req, Response $res) {
$term = $req->query()['term'] ?? "";
$filtered = array_filter($this->contratti, function($contratto) use ($term) {
if (empty($term)) {
return false;
}
$term = strtolower($term);
return stripos($contratto['idContratto'], $term) !== false ||
stripos($contratto['titoloContratto'], $term) !== false;
});
return $res->json(array_values($filtered));
}
}
+1 -2
View File
@@ -18,8 +18,7 @@ class Request {
return $_GET; return $_GET;
} }
public function header(string $name): ?string public function header(string $name): ?string {
{
$key = 'HTTP_' . strtoupper(str_replace('-', '_', $name)); $key = 'HTTP_' . strtoupper(str_replace('-', '_', $name));
return $_SERVER[$key] ?? null; return $_SERVER[$key] ?? null;
} }