111 lines
3.1 KiB
PHP
111 lines
3.1 KiB
PHP
<?php
|
|
namespace FileBird\Rest;
|
|
|
|
defined( 'ABSPATH' ) || exit;
|
|
|
|
use FileBird\Classes\Attachment\AttachmentSize;
|
|
use FileBird\Controller\FolderController;
|
|
|
|
class FolderApi {
|
|
private $controller;
|
|
|
|
public function register_rest_routes() {
|
|
$this->controller = new FolderController();
|
|
|
|
register_rest_route(
|
|
NJFB_REST_URL,
|
|
'get-folders',
|
|
array(
|
|
'methods' => \WP_REST_Server::READABLE,
|
|
'callback' => array( $this->controller, 'getFolders' ),
|
|
'permission_callback' => array( $this, 'permission_callback' ),
|
|
)
|
|
);
|
|
register_rest_route(
|
|
NJFB_REST_URL,
|
|
'gutenberg-get-folders',
|
|
array(
|
|
'methods' => \WP_REST_Server::READABLE,
|
|
'callback' => array( $this->controller, 'gutenbergGetFolder' ),
|
|
'permission_callback' => array( $this, 'permission_callback' ),
|
|
)
|
|
);
|
|
|
|
register_rest_route(
|
|
NJFB_REST_URL,
|
|
'new-folder',
|
|
array(
|
|
'methods' => \WP_REST_Server::CREATABLE,
|
|
'callback' => array( $this->controller, 'createFolder' ),
|
|
'permission_callback' => array( $this, 'permission_callback' ),
|
|
)
|
|
);
|
|
register_rest_route(
|
|
NJFB_REST_URL,
|
|
'update-folder',
|
|
array(
|
|
'methods' => \WP_REST_Server::CREATABLE,
|
|
'callback' => array( $this->controller, 'updateFolder' ),
|
|
'permission_callback' => array( $this, 'permission_callback' ),
|
|
)
|
|
);
|
|
register_rest_route(
|
|
NJFB_REST_URL,
|
|
'update-folder-color',
|
|
array(
|
|
'methods' => \WP_REST_Server::CREATABLE,
|
|
'callback' => array( $this->controller, 'updateFolderColor' ),
|
|
'permission_callback' => array( $this, 'permission_callback' ),
|
|
)
|
|
);
|
|
register_rest_route(
|
|
NJFB_REST_URL,
|
|
'update-folder-ord',
|
|
array(
|
|
'methods' => \WP_REST_Server::CREATABLE,
|
|
'callback' => array( $this->controller, 'updateFolderOrder' ),
|
|
'permission_callback' => array( $this, 'permission_callback' ),
|
|
)
|
|
);
|
|
register_rest_route(
|
|
NJFB_REST_URL,
|
|
'delete-folder',
|
|
array(
|
|
'methods' => \WP_REST_Server::CREATABLE,
|
|
'callback' => array( $this->controller, 'deleteFolder' ),
|
|
'permission_callback' => array( $this, 'permission_callback' ),
|
|
)
|
|
);
|
|
register_rest_route(
|
|
NJFB_REST_URL,
|
|
'assign-folder',
|
|
array(
|
|
'methods' => \WP_REST_Server::CREATABLE,
|
|
'callback' => array( $this->controller, 'assignFolder' ),
|
|
'permission_callback' => array( $this, 'permission_callback' ),
|
|
)
|
|
);
|
|
register_rest_route(
|
|
NJFB_REST_URL,
|
|
'set-folder-counter',
|
|
array(
|
|
'methods' => \WP_REST_Server::READABLE,
|
|
'callback' => array( $this->controller, 'setFolderCounter' ),
|
|
'permission_callback' => array( $this, 'permission_callback' ),
|
|
)
|
|
);
|
|
register_rest_route(
|
|
NJFB_REST_URL,
|
|
'generate-attachment-size',
|
|
array(
|
|
'methods' => \WP_REST_Server::CREATABLE,
|
|
'callback' => array( AttachmentSize::getInstance(), 'apiCallback' ),
|
|
'permission_callback' => array( $this, 'permission_callback' ),
|
|
)
|
|
);
|
|
}
|
|
|
|
public function permission_callback() {
|
|
return current_user_can( 'upload_files' );
|
|
}
|
|
} |