<?php namespace BitApps\FM\Http\Controllers; use BitApps\WPKit\Http\Response; use BitApps\FM\Http\Requests\Permissions\PermissionsGetRequest; use BitApps\FM\Http\Requests\Permissions\PermissionsUpdateRequest; use BitApps\FM\Plugin; use BitApps\FM\Providers\PermissionsProvider; final class PermissionsController { public PermissionsProvider $permissionProvider; public function __construct() { $this->permissionProvider = Plugin::instance()->permissions(); } public function get(PermissionsGetRequest $request) { return Response::success( [ 'permissions' => $this->permissionProvider->permissions, 'roles' => $this->permissionProvider->allRoles(), 'users' => array_values($this->permissionProvider->allUsers()), 'commands' => $this->permissionProvider->allCommands(), 'fileTypes' => ['text', 'image', 'application', 'video', 'audio'], 'wpRoot' => ABSPATH, ] ); } public function update(PermissionsUpdateRequest $request) { if ($this->permissionProvider->updatePermissionSetting($request->validated())) { return Response::success([])->message('Permission updated successfully'); } return Response::error([])->message('failed to update permission'); } }