| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | <?phpnamespace App\Http\Controllers\Api\mini;use App\Models\Order;use App\Models\ProjectRole;use App\Models\ProjectRoleRight;use App\Models\ProjectUser;use App\Models\Right;use Illuminate\Http\Request;use Illuminate\Support\Facades\Auth;class RightController extends BaseController{    protected $model;    public function __construct()    {        $this->model = new Right();    }    public function get(Request $request)    {        $rights = $this->model->all();        $user = Auth::guard('mini')->user();        $order = Order::find($request->input('order_id'));        $project_role = null;        if($user && $project_role) {            $order_user = ProjectUser::where('project_id', $order->project_id)->where('user_id', $user->id)->first();            if($order_user) {                $project_role = ProjectRole::find(ProjectRole::find($order_user->project_role_id));            }        }        $items = [];        foreach($rights as $right) {            $has_right = false;            if($project_role) {                $has_right = ProjectRoleRight::where([                    ['project_role_id', $project_role->id],                    ['right_id', $right->id]                ])->first() != null;            }            $items[$right->key] = $has_right;        }        return $this->success(['data' => $items]);    }}
 |