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.

LuticatePermissionsUsersDataAccess.php 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace Luticate\Auth\DataAccess;
  3. use Luticate\Utils\LuDataAccess;
  4. use Luticate\Auth\DataAccess\Models\LuticatePermissionsUsers;
  5. use Luticate\Auth\DBO\LuticatePermissionsUsersDbo;
  6. class LuticatePermissionsUsersDataAccess extends LuDataAccess {
  7. protected static function getModel()
  8. {
  9. return new LuticatePermissionsUsers();
  10. }
  11. public static function getModelByName($user_id, $permission_name)
  12. {
  13. return LuticatePermissionsUsers::where("name", "=", $permission_name)->where("user_id", "=", $user_id)->first();
  14. }
  15. public static function getByName($user_id, $permission_name)
  16. {
  17. $perm = self::getModelByName($user_id, $permission_name);
  18. if (is_null($perm)) {
  19. return null;
  20. }
  21. return $perm->toDbo();
  22. }
  23. public static function getAllByUser($user_id, $page = 0, $perPage = PHP_INT_MAX)
  24. {
  25. return self::getMultiple(array(array('user_id', '=', $user_id)), array(array("name", "ASC")), $page, $perPage);
  26. }
  27. public static function delete($user_id, $permission_name)
  28. {
  29. $perm = self::getModelByName($user_id, $permission_name);
  30. if (is_null($perm))
  31. return;
  32. $perm->delete();
  33. }
  34. public static function edit($user_id, $permission_name, $permission_value)
  35. {
  36. $perm = self::getModelByName($user_id, $permission_name);
  37. if (is_null($perm))
  38. return;
  39. $perm->value = $permission_value;
  40. $perm->save();
  41. }
  42. }