File "PermissionsController.php"

Full Path: /home/warrior1/public_html/wp-content/plugins/file-manager/backend/app/Http/Controllers/PermissionsController.php
File size: 1.37 KB
MIME-type: text/x-php
Charset: utf-8

<?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');
    }
}