1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
-
- namespace Luticate\Auth\Business;
-
- use Luticate\Auth\DBO\LuticatePermissionsDbo;
- use Luticate\Utils\LuBusiness;
- use Luticate\Auth\DataAccess\LuticatePermissionsGroupsDataAccess;
- use Luticate\Auth\DBO\LuticatePermissionsGroupsDbo;
- use Luticate\Utils\LuMultipleDbo;
-
- class LuticatePermissionsGroupsBusiness extends LuBusiness {
- protected static function getDataAccess()
- {
- return new LuticatePermissionsGroupsDataAccess();
- }
-
- public static function checkPermissionGroupName($group_id, $permission_name)
- {
- LuticateGroupsBusiness::checkGroupId($group_id);
- LuticatePermissionsBusiness::checkPermissionName($permission_name);
- return LuticatePermissionsGroupsDataAccess::getByName($group_id, $permission_name);
- }
-
- public static function getAllByGroup($group_id, $page = 0, $perPage = 2000000000)
- {
- $users = LuticatePermissionsGroupsDataAccess::getAllByGroup($group_id, $page, $perPage);
- return $users->map(function($user)
- {
- $dbo = new LuticatePermissionsDbo();
- $dbo->setValue($user->getValue());
- $dbo->setName($user->getName());
- return $dbo;
- });
- }
-
- public static function get($group_id, $permission_name)
- {
- $perm = self::checkPermissionGroupName($group_id, $permission_name);
- if (is_null($perm)) {
- $perm = new LuticatePermissionsGroupsDbo();
- $perm->setName($permission_name);
- $perm->setValue(null);
- $perm->setGroupId($group_id);
- }
- return $perm;
- }
-
- public static function add($group_id, $permission_name, $permission_value)
- {
- $perm = self::checkPermissionGroupName($group_id, $permission_name);
- if (!is_null($perm)) {
- self::badInput("Group permission already exists");
- }
- $perm = new LuticatePermissionsGroupsDbo();
- $perm->setName($permission_name);
- $perm->setValue($permission_value);
- $perm->setGroupId($group_id);
- LuticatePermissionsGroupsDataAccess::add($perm);
- return true;
- }
-
- public static function del($group_id, $permission_name)
- {
- self::checkPermissionGroupName($group_id, $permission_name);
- LuticatePermissionsGroupsDataAccess::delete($group_id, $permission_name);
- return true;
- }
-
- public static function edit($group_id, $permission_name, $permission_value)
- {
- self::del($group_id, $permission_name);
- return self::add($group_id, $permission_name, $permission_value);
- }
- }
|