PluginProbe
Assistant – Every Day Productivity Apps / 1.4.3
Assistant – Every Day Productivity Apps v1.4.3
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 / NotificationsController.php

NotificationsController.php in Assistant – Every Day Productivity Apps 1.4.3, at backend/src/Controllers/NotificationsController.php

55 lines 1.3 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_Request;
7 use WP_REST_Server;
8
9 /**
10 * REST API logic for notifications.
11 */
12 final class NotificationsController extends ControllerAbstract {
13
14 /**
15 * Register routes.
16 */
17 public function register_routes() {
18 $this->route(
19 '/notifications/count', [
20 [
21 'methods' => WP_REST_Server::READABLE,
22 'callback' => [ $this, 'count' ],
23 'permission_callback' => function () {
24 return is_user_logged_in();
25 },
26 ],
27 ]
28 );
29 }
30
31 /**
32 * Returns the notification count for the current user.
33 * @todo get these values from data service
34 */
35 public function count( $request ) {
36 $result = [
37 'total' => 0,
38 ];
39
40 // Comments count
41 $request = new WP_REST_Request( 'GET', '/fl-assistant/v1/comments/count' );
42 $response = rest_do_request( $request );
43 $data = $response->get_data();
44 $result['total'] += isset( $data['pending'] ) ? $data['pending'] : 0;
45
46 // Updates count
47 $request = new WP_REST_Request( 'GET', '/fl-assistant/v1/updates/count' );
48 $response = rest_do_request( $request );
49 $data = $response->get_data();
50 $result['total'] += isset( $data['total'] ) ? $data['total'] : 0;
51
52 return $result;
53 }
54 }
55