This update introduces explicit permission definitions for various route handlers across multiple routes. These changes enhance clarity and allow for more granular control over route access based on defined permissions. The updates ensure better manageability and scalability of endpoint permissions.
47 lines
1.5 KiB
PHP
47 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace routes;
|
|
|
|
use classes\authentication;
|
|
use classes\economic;
|
|
use classes\response;
|
|
use classes\router;
|
|
use objects\logs_o;
|
|
use traits\route_t;
|
|
|
|
class moduleEconomicCustomerRoute
|
|
{
|
|
use route_t;
|
|
|
|
public function run(): void
|
|
{
|
|
global /** @var response $response */
|
|
/** @var router $router */
|
|
$router, $response;
|
|
|
|
|
|
/** Modules > Economic > Customer > Get customer */
|
|
$this->get('/modules/economic/customer', function () {
|
|
global $response;
|
|
self::requirePermission('modules_economic_customer_get');
|
|
$user = (new authentication())->get_user();
|
|
if ($user) {
|
|
self::requireParameters(['customer_number']);
|
|
self::requireType('customer_number', self::type_int());
|
|
self::requireMinLength('customer_number', 1);
|
|
self::requireMaxLength('customer_number', 10);
|
|
(new logs_o())->add('modules_economic', 'global', 1, 0, 'MODULES_ECONOMIC', 'User accessed the customer');
|
|
$result = (new economic())->getCustomer((int)$_GET['customer_number']);
|
|
$response->success((object)$result);
|
|
} else {
|
|
(new logs_o())->add('modules_economic', 'global', 0, 0, 'MODULES_ECONOMIC', 'User tried to access the customer without a valid session');
|
|
$response->error('Invalid session', 400);
|
|
}
|
|
},
|
|
[
|
|
'modules_economic_customer_get' => 'Get customer'
|
|
]
|
|
);
|
|
|
|
}
|
|
} |