2018-06-20 05:06:27 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace Webkul\User;
|
|
|
|
|
|
|
|
|
|
class Bouncer
|
|
|
|
|
{
|
2018-09-13 11:04:56 +00:00
|
|
|
/**
|
2018-10-17 07:21:47 +00:00
|
|
|
* Checks if user allowed or not for certain action
|
2018-09-13 11:04:56 +00:00
|
|
|
*
|
|
|
|
|
* @param String $permission
|
|
|
|
|
* @return Void
|
|
|
|
|
*/
|
2018-10-17 07:21:47 +00:00
|
|
|
public function hasPermission($permission)
|
2018-09-13 11:04:56 +00:00
|
|
|
{
|
2019-01-15 11:54:41 +00:00
|
|
|
if (auth()->guard('admin')->check() && auth()->guard('admin')->user()->role->permission_type == 'all') {
|
2018-10-17 07:21:47 +00:00
|
|
|
return true;
|
|
|
|
|
} else {
|
2019-01-15 11:54:41 +00:00
|
|
|
if (! auth()->guard('admin')->check() || ! auth()->guard('admin')->user()->hasPermission($permission))
|
2018-10-17 07:21:47 +00:00
|
|
|
return false;
|
|
|
|
|
}
|
2019-03-25 10:29:37 +00:00
|
|
|
|
2018-09-13 11:04:56 +00:00
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2018-06-20 05:06:27 +00:00
|
|
|
/**
|
|
|
|
|
* Checks if user allowed or not for certain action
|
|
|
|
|
*
|
|
|
|
|
* @param String $permission
|
|
|
|
|
* @return Void
|
|
|
|
|
*/
|
|
|
|
|
public static function allow($permission)
|
|
|
|
|
{
|
2019-01-15 11:54:41 +00:00
|
|
|
if (! auth()->guard('admin')->check() || ! auth()->guard('admin')->user()->hasPermission($permission))
|
2019-03-25 10:29:37 +00:00
|
|
|
abort(401, 'This action is unauthorized');
|
2018-06-20 05:06:27 +00:00
|
|
|
}
|
|
|
|
|
}
|