PluginProbe
Assistant – Every Day Productivity Apps / trunk
Assistant – Every Day Productivity Apps vtrunk
1.5.5 trunk 0.1.0 0.2.0 0.2.1 0.2.2 0.3.0 0.3.1 0.4 0.4.1 0.4.2 0.5.0 0.5.1 0.6.0 0.7.0 0.7.0.2 0.7.0.3 0.7.0.4 0.7.0.5 0.7.0.6 0.7.0.7 0.7.0.8 0.7.0.9 0.7.1 1.0 All 71 releases
assistant / backend / src / Controllers / BatchController.php

BatchController.php in Assistant – Every Day Productivity Apps trunk, at backend/src/Controllers/BatchController.php

49 lines 1.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace FL\Assistant\Controllers;
4
5 use FL\Assistant\System\Contracts\ControllerAbstract;
6 use WP_REST_Server;
7 use WP_REST_Request;
8
9 /**
10 * REST API logic for batch requests.
11 */
12 class BatchController extends ControllerAbstract {
13
14 /**
15 * Register routes.
16 */
17 public function register_routes() {
18 $this->route(
19 '/batch', [
20 [
21 'methods' => WP_REST_Server::READABLE,
22 'callback' => [ $this, 'get_batch' ],
23 'permission_callback' => function () {
24 return current_user_can( 'edit_others_posts' );
25 },
26 ],
27 ]
28 );
29 }
30
31 /**
32 * @param \WP_REST_Request $request
33 *
34 * @return mixed|\WP_REST_Response
35 */
36 public function get_batch( \WP_REST_Request $request ) {
37 $routes = $request->get_param( 'routes' );
38 $response = [];
39
40 foreach ( $routes as $route ) {
41 $request = new WP_REST_Request( 'GET', $route );
42 $result = rest_do_request( $request );
43 $response[ $route ] = $result->get_data();
44 }
45
46 return rest_ensure_response( $response );
47 }
48 }
49