123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?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 = PHP_INT_MAX)
- {
- $values = LuticatePermissionsGroupsDataAccess::getAllByGroup($group_id, $page, $perPage);
- $dbos = [];
- foreach ($values->getData() as $value) {
- $dbo = new LuticatePermissionsDbo();
- $dbo->setValue($value->getValue());
- $dbo->setName($value->getName());
- $dbos[] = $dbo;
- }
- return new LuMultipleDbo($values->getCount(), $dbos);
- }
-
- 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);
- }
- }
|