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.

LuticatePermissionsDataAccess.php 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace Luticate\Auth\DataAccess;
  3. use Luticate\Auth\DataAccess\SP\SpLuGetAllUserPermission;
  4. use Luticate\Auth\DataAccess\SP\SpLuGetUserPermission;
  5. use Luticate\Utils\LuDataAccess;
  6. use Luticate\Auth\DataAccess\Models\LuticatePermissions;
  7. use Luticate\Auth\DBO\LuticatePermissionsDbo;
  8. class LuticatePermissionsDataAccess extends LuDataAccess {
  9. protected static function getModel()
  10. {
  11. return new LuticatePermissions();
  12. }
  13. protected static function getOrderBy()
  14. {
  15. return array(array("name", "ASC"));
  16. }
  17. protected static function getQueryPredicate($query)
  18. {
  19. return array(array("name", "ilike", "%" . $query . "%", "or"));
  20. }
  21. public static function getEffectivePermission($user_id, $permission_name)
  22. {
  23. return SpLuGetUserPermission::execute($user_id, $permission_name)->getVal();
  24. }
  25. public static function getAllEffectivePermission($user_id)
  26. {
  27. return SpLuGetAllUserPermission::execute($user_id);
  28. }
  29. public static function getModelByName($permission_name)
  30. {
  31. return LuticatePermissions::where("name", "=", $permission_name)->first();
  32. }
  33. public static function getByName($permission_name)
  34. {
  35. $perm = self::getModelByName($permission_name);
  36. if (is_null($perm)) {
  37. return null;
  38. }
  39. return $perm->toDbo();
  40. }
  41. public static function delete($permission_name)
  42. {
  43. $perm = self::getModelByName($permission_name);
  44. if (is_null($perm))
  45. return;
  46. $perm->delete();
  47. }
  48. public static function edit($permission_name, $permission_value)
  49. {
  50. $perm = self::getModelByName($permission_name);
  51. if (is_null($perm))
  52. return;
  53. $perm->value = $permission_value;
  54. $perm->save();
  55. }
  56. }