2020-11-18 17:50:01 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
namespace Modules;
|
|
|
|
|
|
|
|
|
|
|
|
use Venom\Core\Config;
|
2020-12-03 17:58:36 +01:00
|
|
|
use Venom\Core\DatabaseHandler;
|
2020-11-18 17:50:01 +01:00
|
|
|
use Venom\Core\Module;
|
|
|
|
use Venom\Helper\AdminHelper;
|
|
|
|
use Venom\Routing\Route;
|
|
|
|
use Venom\Routing\Router;
|
|
|
|
use Venom\Venom;
|
|
|
|
|
|
|
|
class RoleModule implements Module, Route
|
|
|
|
{
|
|
|
|
|
|
|
|
public function register(Venom $venom): bool
|
|
|
|
{
|
|
|
|
if (Config::getInstance()->isAdmin()) {
|
|
|
|
$this->registerAdminRoutes($venom);
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function init(): void
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
private function registerAdminRoutes(Venom $venom)
|
|
|
|
{
|
|
|
|
$venom->getRouter(Router::ADMIN_ROUTER)->addRoutes([
|
|
|
|
'/roles' => [
|
|
|
|
'cl' => RoleModule::class,
|
|
|
|
'roles' => ['ROLE_ADMIN'],
|
|
|
|
'routes' => [
|
|
|
|
'*' => [
|
|
|
|
"GET" => 'get',
|
|
|
|
],
|
|
|
|
'1' => [
|
|
|
|
"GET" => 'getById',
|
|
|
|
"POST" => 'update',
|
|
|
|
"PUT" => 'insert',
|
|
|
|
]
|
|
|
|
]
|
|
|
|
]
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function get()
|
|
|
|
{
|
2020-12-03 17:58:36 +01:00
|
|
|
//$req = DatabaseHandler::get()->getAll("SELECT * FROM roles");
|
|
|
|
AdminHelper::sendResponse([
|
2020-11-18 17:50:01 +01:00
|
|
|
'roles' => [
|
|
|
|
['id' => 1, 'name' => 'Admin', 'icon' => 'vt-visibility'],
|
|
|
|
['id' => 2, 'name' => 'Moderator', 'icon' => 'vt-edit'],
|
|
|
|
['id' => 3, 'name' => 'Gast', 'icon' => 'vt-edit'],
|
|
|
|
]
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function update(): bool
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function insert(): bool
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getById($id)
|
|
|
|
{
|
2020-12-03 17:58:36 +01:00
|
|
|
AdminHelper::sendResponse([
|
2020-11-18 17:50:01 +01:00
|
|
|
'caseName' => 'ROLE_ADMIN',
|
|
|
|
'id' => $id,
|
|
|
|
'name' => 'Admin',
|
|
|
|
'icon' => 'vt-visibility'
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
}
|