You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LuticatePermissionsUsersBusiness.php 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace Luticate\Auth\Business;
  3. use Luticate\Auth\DBO\LuticatePermissionsDbo;
  4. use Luticate\Utils\LuBusiness;
  5. use Luticate\Auth\DataAccess\LuticatePermissionsUsersDataAccess;
  6. use Luticate\Auth\DBO\LuticatePermissionsUsersDbo;
  7. use Luticate\Utils\LuMultipleDbo;
  8. class LuticatePermissionsUsersBusiness extends LuBusiness {
  9. protected static function getDataAccess()
  10. {
  11. return new LuticatePermissionsUsersDataAccess();
  12. }
  13. public static function checkPermissionUserName($user_id, $permission_name)
  14. {
  15. LuticateUsersBusiness::checkUserId($user_id);
  16. LuticatePermissionsBusiness::checkPermissionName($permission_name);
  17. return LuticatePermissionsUsersDataAccess::getByName($user_id, $permission_name);
  18. }
  19. public static function getAllByUser($user_id, $page = 0, $perPage = PHP_INT_MAX)
  20. {
  21. $values = LuticatePermissionsUsersDataAccess::getAllByUser($user_id, $page, $perPage);
  22. $dbos = [];
  23. foreach ($values->getData() as $value) {
  24. $dbo = new LuticatePermissionsDbo();
  25. $dbo->setValue($value->getValue());
  26. $dbo->setName($value->getName());
  27. $dbos[] = $dbo;
  28. }
  29. return new LuMultipleDbo($values->getCount(), $dbos);
  30. }
  31. public static function get($user_id, $permission_name)
  32. {
  33. return LuticatePermissionsUsersDataAccess::getByName($user_id, $permission_name);
  34. }
  35. public static function add($user_id, $permission_name, $permission_value)
  36. {
  37. $perm = self::checkPermissionUserName($user_id, $permission_name);
  38. if (!is_null($perm)) {
  39. self::badInput("User permission already exists");
  40. }
  41. $perm = new LuticatePermissionsUsersDbo();
  42. $perm->setName($permission_name);
  43. $perm->setValue($permission_value);
  44. $perm->setUserId($user_id);
  45. LuticatePermissionsUsersDataAccess::add($perm);
  46. return true;
  47. }
  48. public static function del($user_id, $permission_name)
  49. {
  50. self::checkPermissionUserName($user_id, $permission_name);
  51. LuticatePermissionsUsersDataAccess::delete($user_id, $permission_name);
  52. return true;
  53. }
  54. public static function edit($user_id, $permission_name, $permission_value)
  55. {
  56. $perm = self::checkPermissionUserName($user_id, $permission_name);
  57. if (is_null($perm)) {
  58. self::badInput("Permission not found");
  59. }
  60. LuticatePermissionsUsersDataAccess::edit($user_id, $permission_name, $permission_value);
  61. return true;
  62. }
  63. }