# fluent-cart/1.6.2/app/Http/Policies/Policy.php

FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler, version 1.6.2. 60 lines.

- Page: https://pluginprobe.com/plugins/fluent-cart/1.6.2/code/app/Http/Policies/Policy.php
- Raw: https://pluginprobe.com/plugins/fluent-cart/1.6.2/raw/app/Http/Policies/Policy.php
- Modified: 2026-02-25T14:08:24+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluent-cart/1.6.2/code/app/Http/Policies/Policy.php#L10-L20`.

```php
<?php

namespace FluentCart\App\Http\Policies;

use FluentCart\App\App;
use FluentCart\App\Helpers\Helper;
use FluentCart\Framework\Foundation\Policy as BasePolicy;
use FluentCart\Framework\Support\Arr;

class Policy extends BasePolicy
{

    public function userCan($permission): bool
    {
        $currentUser = Helper::getCurrentUser();

        return $currentUser && $currentUser->userCan($permission);
    }

    public function userCanAny($permission): bool
    {
        $currentUser = Helper::getCurrentUser();
        return $currentUser && $currentUser->userCanAny($permission);
    }

    public function resolveRoutePermission(): array
    {
        $meta = App::route()->getMeta();
        $requiredPermission = Arr::get($meta, 'permissions');
        if (is_array($requiredPermission)) {
            $permissions = $requiredPermission;
        } elseif (is_string($requiredPermission)) {
            $permissions = array_map('trim', explode(',', $requiredPermission));
        } else {
            $permissions = [];
        }
        return $permissions;
    }

    public function hasRoutePermissions(): bool
    {
        $meta = App::route()->getMeta();
        $permissionType = Arr::get($meta, 'permissions_type', 'any');
        $requiredPermission = $this->resolveRoutePermission();



        if (empty($requiredPermission)) {
            return false;
        }


        if ($permissionType === 'any') {
            return $this->userCanAny($requiredPermission);
        } else {
            return $this->userCan($requiredPermission);
        }
    }
}

```
