mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-01-23 02:38:40 +00:00
add tests and test descriptions
This commit is contained in:
parent
44033a4911
commit
4866fa6a16
|
|
@ -176,6 +176,15 @@ return [
|
|||
],
|
||||
|
||||
'^.*/admin/group/permission.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiGroupPermissionGet',
|
||||
'verb' => RouteVerb::PUT,
|
||||
'permission' => [
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::PERMISSION,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAddGroupPermission',
|
||||
'verb' => RouteVerb::PUT,
|
||||
|
|
@ -185,8 +194,35 @@ return [
|
|||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiGroupPermissionUpdate',
|
||||
'verb' => RouteVerb::SET,
|
||||
'permission' => [
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::PERMISSION,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiGroupPermissionDelete',
|
||||
'verb' => RouteVerb::DELETE,
|
||||
'permission' => [
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::PERMISSION,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
],
|
||||
],
|
||||
'^.*/admin/account/permission.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAccountPermissionGet',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::PERMISSION,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAddAccountPermission',
|
||||
'verb' => RouteVerb::PUT,
|
||||
|
|
@ -196,6 +232,24 @@ return [
|
|||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAccountPermissionUpdate',
|
||||
'verb' => RouteVerb::SET,
|
||||
'permission' => [
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::PERMISSION,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAccountPermissionDelete',
|
||||
'verb' => RouteVerb::DELETE,
|
||||
'permission' => [
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::PERMISSION,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
],
|
||||
],
|
||||
'^.*/admin/module/reinit.*$' => [
|
||||
[
|
||||
|
|
|
|||
|
|
@ -607,6 +607,104 @@ final class ApiController extends Controller
|
|||
$this->fillJsonResponse($request, $response, $done ? NotificationLevel::OK : NotificationLevel::WARNING, 'Module', $msg, []);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to get a user permission
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiAccountPermissionGet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$account = AccountPermissionMapper::get((int) $request->getData('id'));
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully returned', $account);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to get a group permission
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiGroupPermissionGet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$account = GroupPermissionMapper::get((int) $request->getData('id'));
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully returned', $account);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to delete a group permission
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiGroupPermissionDelete(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$permission = GroupPermissionMapper::get((int) $request->getData('id'));
|
||||
$this->deleteModel($request, $permission, GroupPermissionMapper::class, 'group-permission');
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully deleted', $permission);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to delete a user permission
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiAccountPermissionDelete(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$permission = AccountPermissionMapper::get((int) $request->getData('id'));
|
||||
$this->deleteModel($request, $permission, AccountPermissionMapper::class, 'user-permission');
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully deleted', $permission);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to delete a user permission
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiUserPermissionDelete(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$permission = UserPermissionMapper::get((int) $request->getData('id'));
|
||||
$this->deleteModel($request, $permission, UserPermissionMapper::class, 'user-permission');
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully deleted', $permission);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to add a permission to a group
|
||||
*
|
||||
|
|
@ -730,11 +828,83 @@ final class ApiController extends Controller
|
|||
$permission->setElement(empty($request->getData('permissionelement')) ? null : (int) $request->getData('permissionelement'));
|
||||
$permission->setComponent(empty($request->getData('permissioncomponent')) ? null : (int) $request->getData('permissioncomponent'));
|
||||
$permission->setPermission(
|
||||
(int) $request->getData('permissioncreate')
|
||||
| (int) $request->getData('permissionread')
|
||||
| (int) $request->getData('permissionupdate')
|
||||
| (int) $request->getData('permissiondelete')
|
||||
| (int) $request->getData('permissionpermission')
|
||||
(int) ($request->getData('permissioncreate') ?? 0)
|
||||
| (int) ($request->getData('permissionread') ?? 0)
|
||||
| (int) ($request->getData('permissionupdate') ?? 0)
|
||||
| (int) ($request->getData('permissiondelete') ?? 0)
|
||||
| (int) ($request->getData('permissionpermission') ?? 0)
|
||||
);
|
||||
|
||||
return $permission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to update a account permission
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiAccountPermissionUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$old = clone AccountPermissionMapper::get((int) $request->getData('id'));
|
||||
$new = $this->updatePermissionFromRequest(AccountPermissionMapper::get((int) $request->getData('id')), $request);
|
||||
|
||||
$this->updateModel($request, $old, $new, AccountPermissionMapper::class, 'account-permission');
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully updated', $new);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to update a group permission
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiGroupPermissionUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$old = clone GroupPermissionMapper::get((int) $request->getData('id'));
|
||||
$new = $this->updatePermissionFromRequest(GroupPermissionMapper::get((int) $request->getData('id')), $request);
|
||||
|
||||
$this->updateModel($request, $old, $new, GroupPermissionMapper::class, 'group-permission');
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully updated', $new);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to update a group permission from a request
|
||||
*
|
||||
* @param PermissionAbstract $permission Permission model
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return PermissionAbstract
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function updatePermissionFromRequest(PermissionAbstract $permission, RequestAbstract $request) : PermissionAbstract
|
||||
{
|
||||
$permission->setUnit(empty($request->getData('permissionunit')) ? $permission->getUnit() : (int) $request->getData('permissionunit'));
|
||||
$permission->setApp(empty($request->getData('permissionapp')) ? $permission->getApp() : (string) $request->getData('permissionapp'));
|
||||
$permission->setModule(empty($request->getData('permissionmodule')) ? $permission->getModule() : (string) $request->getData('permissionmodule'));
|
||||
$permission->setType(empty($request->getData('permissiontype')) ? $permission->getType() : (int) $request->getData('permissiontype'));
|
||||
$permission->setElement(empty($request->getData('permissionelement')) ? $permission->getElement() : (int) $request->getData('permissionelement'));
|
||||
$permission->setComponent(empty($request->getData('permissioncomponent')) ? $permission->getComponent() : (int) $request->getData('permissioncomponent'));
|
||||
$permission->setPermission((int) ($request->getData('permissioncreate') ?? 0)
|
||||
| (int) ($request->getData('permissionread') ?? 0)
|
||||
| (int) ($request->getData('permissionupdate') ?? 0)
|
||||
| (int) ($request->getData('permissiondelete') ?? 0)
|
||||
| (int) ($request->getData('permissionpermission') ?? 0)
|
||||
);
|
||||
|
||||
return $permission;
|
||||
|
|
@ -799,7 +969,6 @@ final class ApiController extends Controller
|
|||
*/
|
||||
public function apiReInit(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$p = __DIR__ . '/../../../Web/*';
|
||||
$directories = \glob(__DIR__ . '/../../../Web/*' , \GLOB_ONLYDIR);
|
||||
|
||||
foreach ($directories as $directory) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user