MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/snap.cafsinfotech.in/app/Traits/ExposePermissions.php
<?php

namespace App\Traits;

use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Support\Str;

trait ExposePermissions
{
    protected function can(): Attribute
    {
        $model = $this;
        return Attribute::make(
            get: static function() use ($model) {
                return collect($model::PERMISSIONS)
                    ->mapWithKeys(static fn($item) => [
                        $item => request()->user()->can(Str::camel($item), $model)
                    ]);
            }
        )->shouldCache();
    }
}