PluginProbe
Assistant – Every Day Productivity Apps / 0.3.1
Assistant – Every Day Productivity Apps v0.3.1
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 0.3.1, at backend/src/Controllers/CurrentUserController.php

45 lines 927 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