diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 25fde2f..1a300d2 100644 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -602,6 +602,19 @@ final class ApiController extends Controller ]); } + /** + * Api method to add a permission to a group + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return void + * + * @api + * + * @since 1.0.0 + */ public function apiAddGroupPermission(RequestAbstract $request, ResponseAbstract $response, $data = null) : void { if (!empty($val = $this->validatePermissionCreate($request))) { @@ -612,6 +625,10 @@ final class ApiController extends Controller $permission = $this->createPermissionFromRequest($request); + if (!($permission instanceof GroupPermission)) { + return; + } + $this->app->eventManager->trigger('PRE:Module:Admin-group-permission-create', '', $permission); GroupPermissionMapper::create($permission); $this->app->eventManager->trigger('POST:Module:Admin-group-permission-create', '', $permission); @@ -625,6 +642,19 @@ final class ApiController extends Controller ]); } + /** + * Api method to add a permission to a account + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return void + * + * @api + * + * @since 1.0.0 + */ public function apiAddAccountPermission(RequestAbstract $request, ResponseAbstract $response, $data = null) : void { if (!empty($val = $this->validatePermissionCreate($request))) { @@ -635,6 +665,10 @@ final class ApiController extends Controller $permission = $this->createPermissionFromRequest($request); + if (!($permission instanceof AccountPermission)) { + return; + } + $this->app->eventManager->trigger('PRE:Module:Admin-account-permission-create', '', $permission); AccountPermissionMapper::create($permission); $this->app->eventManager->trigger('POST:Module:Admin-account-permission-create', '', $permission); @@ -674,7 +708,7 @@ final class ApiController extends Controller * * @param RequestAbstract $request Request * - * @return GroupPermission + * @return AccountPermission|GroupPermission * * @since 1.0.0 */ @@ -698,6 +732,19 @@ final class ApiController extends Controller return $permission; } + /** + * Api method to add a group to an account + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return void + * + * @api + * + * @since 1.0.0 + */ public function apiAddGroupToAccount(RequestAbstract $request, ResponseAbstract $response, $data = null) : void { $account = (int) $request->getData('account'); @@ -716,6 +763,19 @@ final class ApiController extends Controller ]); } + /** + * Api method to add an account to a group + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return void + * + * @api + * + * @since 1.0.0 + */ public function apiAddAccountToGroup(RequestAbstract $request, ResponseAbstract $response, $data = null) : void { $group = (int) $request->getData('group'); diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 6c4bfc5..a3b4463 100644 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -37,8 +37,6 @@ use phpOMS\Message\RequestAbstract; use phpOMS\Message\ResponseAbstract; use phpOMS\Message\NotificationLevel; use phpOMS\Message\Http\RequestStatusCode; -use phpOMS\Module\ModuleAbstract; -use phpOMS\Module\WebInterface; use phpOMS\System\MimeType; use phpOMS\Utils\Parser\Markdown\Markdown; use phpOMS\Views\View; diff --git a/Controller/ConsoleController.php b/Controller/ConsoleController.php index ee759a2..d9d9d5a 100644 --- a/Controller/ConsoleController.php +++ b/Controller/ConsoleController.php @@ -14,38 +14,9 @@ declare(strict_types=1); namespace Modules\Admin\Controller; -use Model\Message\FormValidation; - -use Modules\Admin\Models\Account; -use Modules\Admin\Models\AccountMapper; -use Modules\Admin\Models\AccountPermission; -use Modules\Admin\Models\AccountPermissionMapper; -use Modules\Admin\Models\NullAccountPermission; -use Modules\Admin\Models\Group; -use Modules\Admin\Models\GroupMapper; -use Modules\Admin\Models\GroupPermission; -use Modules\Admin\Models\GroupPermissionMapper; -use Modules\Admin\Models\NullGroupPermission; -use Modules\Admin\Models\PermissionState; -use Modules\Admin\Models\ModuleStatusUpdateType; - -use phpOMS\Account\AccountStatus; -use phpOMS\Account\AccountType; -use phpOMS\Account\GroupStatus; -use phpOMS\Account\PermissionType; use phpOMS\Message\RequestAbstract; use phpOMS\Message\ResponseAbstract; -use phpOMS\Message\NotificationLevel; -use phpOMS\Message\Http\RequestStatusCode; -use phpOMS\Module\ModuleAbstract; -use phpOMS\Module\WebInterface; -use phpOMS\System\MimeType; -use phpOMS\Utils\Parser\Markdown\Markdown; use phpOMS\Views\View; -use phpOMS\DataStorage\Database\RelationType; -use phpOMS\Module\InfoManager; -use phpOMS\Account\PermissionAbstract; -use phpOMS\Account\PermissionOwner; /** * Admin controller class. diff --git a/Controller/Controller.php b/Controller/Controller.php index 4b2ca76..8e32204 100644 --- a/Controller/Controller.php +++ b/Controller/Controller.php @@ -14,38 +14,8 @@ declare(strict_types=1); namespace Modules\Admin\Controller; -use Model\Message\FormValidation; - -use Modules\Admin\Models\Account; -use Modules\Admin\Models\AccountMapper; -use Modules\Admin\Models\AccountPermission; -use Modules\Admin\Models\AccountPermissionMapper; -use Modules\Admin\Models\NullAccountPermission; -use Modules\Admin\Models\Group; -use Modules\Admin\Models\GroupMapper; -use Modules\Admin\Models\GroupPermission; -use Modules\Admin\Models\GroupPermissionMapper; -use Modules\Admin\Models\NullGroupPermission; -use Modules\Admin\Models\PermissionState; -use Modules\Admin\Models\ModuleStatusUpdateType; - -use phpOMS\Account\AccountStatus; -use phpOMS\Account\AccountType; -use phpOMS\Account\GroupStatus; -use phpOMS\Account\PermissionType; -use phpOMS\Message\RequestAbstract; -use phpOMS\Message\ResponseAbstract; -use phpOMS\Message\NotificationLevel; -use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Module\ModuleAbstract; use phpOMS\Module\WebInterface; -use phpOMS\System\MimeType; -use phpOMS\Utils\Parser\Markdown\Markdown; -use phpOMS\Views\View; -use phpOMS\DataStorage\Database\RelationType; -use phpOMS\Module\InfoManager; -use phpOMS\Account\PermissionAbstract; -use phpOMS\Account\PermissionOwner; /** * Admin controller class.