<?php

namespace App\Http\Controllers\API;

use App\Http\Controllers\Controller;
use App\Http\Resources\API\PermissionGroupResource;
use App\Models\Menu;
use App\Models\PermissionGroup;

class PermissionController extends Controller
{
    public function groupPermissions()
    {
        $permissionGroups = PermissionGroup::query()
            ->with(['permissions' => function ($query)  {
                $query->where('guard_name', 'api');
            }])
            ->get()->filter(function($item)  {
                return count($item->permissions) > 0;
            });

        return PermissionGroupResource::collection($permissionGroups);
    }

    public function menuPermissions()
    {
        $menus = Menu::select(['id','name', 'parent_id', 'permission'])->get();
        return $this->success([
            'data' => make_tree($menus->toArray()),
        ]);
    }
}