Files
api/routes/userRoute.php
T

46 lines
1.5 KiB
PHP

<?php
namespace routes;
use classes\authentication;
use objects\logs_o;
use objects\users_o;
use traits\route_t;
class userRoute
{
use route_t;
public function run(): void
{
$this->get('/superuser/user', function () {
// Require the user to be logged in
global $response;
$this->requirePermission('get_user');
// Get the user object
$user = (new authentication())->get_user();
// Check if the request was successful
if ($user) {
// Log the incident
(new logs_o())->add('users', 'global', 1, $user->id, 'GET_USER', 'Successfully fetched user');
$targetUser = (new users_o())->automaticGetTargetUserFromRequest();
// Check if the user was found
if (!$targetUser->exists()) {
// Log the incident
(new logs_o())->add('users', 'global', 1, $user->id, 'GET_USER', 'No user found');
// Return an error
$response->error('User not found', 404);
}
// Return the list of users
$response->success(
$targetUser->includeIncludes(['all'])->asArray()
);
} else {
// Log the incident
(new logs_o())->add('users', 'global', 1, 0, 'GET_USER', 'No user found, or invalid session');
// Return an error
$response->error('Invalid session', 400);
}
});
}
}