<?php

namespace App\Traits;

use App\Models\Central\Module;
use App\Models\Core\Groups;

trait GenericModuleTrait
{

    public function getPermission(int $gid)
    {
        $genericModule = Module::where('module_name', 'generic')->first();
        if (!$genericModule) return [];
        $groupAccess = \DB::table('tb_groups_access')->where('module_id', $genericModule->module_id)->where('group_id', $gid)->first();
        if ($groupAccess) {
            return json_decode($groupAccess->access_data, true);
        } else {
            $options = (array)\SiteHelpers::crudOption()[1]->access;
            return array_map(function ($val) {
                return 0;
            }, $options);
        }
    }
}