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 / CurrentUserController.php

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

45 lines 971 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace FL\Assistant\Controllers;
5
6
7 use FL\Assistant\Data\UserState;
8 use FL\Assistant\System\Contracts\ControllerAbstract;
9 use WP_REST_Request;
10 use WP_REST_Server;
11
12 class CurrentUserController extends ControllerAbstract {
13
14 public function register_routes() {
15 $this->route(
16 '/current-user/state', [
17 [
18 'methods' => WP_REST_Server::CREATABLE,
19 'callback' => [ $this, 'update_user_state' ],
20 'args' => [
21 'state' => [
22 'required' => true,
23 'type' => 'json',
24 ],
25 ],
26 'permission_callback' => function () {
27 return ! ! wp_get_current_user()->ID;
28 },
29 ],
30 ]
31 );
32 }
33
34 /**
35 * Updates the saved state for a user.
36 */
37 public function update_user_state( WP_REST_Request $request ) {
38
39 $state = $request->get_param( 'state' );
40 UserState::update( $state );
41
42 return rest_ensure_response( UserState::get() );
43 }
44 }
45