Introduced xlvask module with request handling, endpoints, and route mappings. Implemented functionalities to fetch usage logs, vehicles, and customers from the API, along with basic authentication support. Includes error handling and configuration setup for seamless integration.
99 lines
3.1 KiB
PHP
99 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace routes;
|
|
|
|
use classes\response;
|
|
use classes\router;
|
|
use classes\xlvask;
|
|
use traits\route_t;
|
|
|
|
class moduleXLVaskRoute
|
|
{
|
|
use route_t;
|
|
|
|
public function run(): void
|
|
{
|
|
global /** @var response $response */
|
|
/** @var router $router */
|
|
$router, $response;
|
|
$this->get('/modules/xlvask/usageLog', function () {
|
|
global $response;
|
|
self::requirePermission('modules_xlvask_usageLog');
|
|
$params = [
|
|
'dateFrom' => null,
|
|
'regNr' => null,
|
|
'vehicleId' => null,
|
|
'customerId' => null,
|
|
];
|
|
// Get the parameters from the request
|
|
foreach ( $params as $key => $value ) {
|
|
if ($this->isParametersSet([$key])) {
|
|
$params[$key] = $this->getParameter($key);
|
|
}
|
|
}
|
|
// Create the xlvask object
|
|
$xlvask = new xlvask();
|
|
$result = $xlvask->getUsageLog(...$params);
|
|
// Response
|
|
$response->success($result, 200);
|
|
},
|
|
[
|
|
'modules_xlvask_usageLog' => 'Get the usage log of the xlvask module'
|
|
]
|
|
);
|
|
|
|
$this->get('/modules/xlvask/vehicles', function () {
|
|
global $response;
|
|
self::requirePermission('modules_xlvask_vehicles');
|
|
$params = [
|
|
'customerId' => null,
|
|
'vehicleId' => null,
|
|
'registrationNumber' => null,
|
|
'changeDate' => null,
|
|
];
|
|
// Get the parameters from the request
|
|
foreach ( $params as $key => $value ) {
|
|
if ($this->isParametersSet([$key])) {
|
|
$params[$key] = $this->getParameter($key);
|
|
}
|
|
}
|
|
// Create the xlvask object
|
|
$xlvask = new xlvask();
|
|
$result = $xlvask->getVehicles(...$params);
|
|
// Response
|
|
$response->success($result, 200);
|
|
},
|
|
[
|
|
'modules_xlvask_vehicles' => 'Get the vehicles of the xlvask module'
|
|
]
|
|
);
|
|
|
|
$this->get('/modules/xlvask/customers', function () {
|
|
global $response;
|
|
self::requirePermission('modules_xlvask_customers');
|
|
$params = [
|
|
'customerId' => null,
|
|
'customerName' => null,
|
|
'customerExternalId' => null,
|
|
'vatNumber' => null,
|
|
'changeDate' => null,
|
|
'users' => null,
|
|
];
|
|
// Get the parameters from the request
|
|
foreach ( $params as $key => $value ) {
|
|
if ($this->isParametersSet([$key])) {
|
|
$params[$key] = $this->getParameter($key);
|
|
}
|
|
}
|
|
// Create the xlvask object
|
|
$xlvask = new xlvask();
|
|
$result = $xlvask->getCustomers(...$params);
|
|
// Response
|
|
$response->success($result, 200);
|
|
},
|
|
[
|
|
'modules_xlvask_customers' => 'Get the customers of the xlvask module'
|
|
]
|
|
);
|
|
}
|
|
} |