1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
<?php namespace Elementor\Modules\Checklist\Data\Endpoints;
use Elementor\Data\V2\Base\Endpoint as Endpoint_Base; use Elementor\Modules\Checklist\Module as Checklist_Module;
if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. }
class User_Progress extends Endpoint_Base { protected function register() { parent::register();
$this->register_items_route( \WP_REST_Server::EDITABLE ); }
public function get_name() : string { return 'user-progress'; }
public function get_format() : string { return 'checklist'; }
public function get_items( $request ) { return $this->get_checklist_data(); }
public function update_items( $request ) { Checklist_Module::instance()->update_user_progress( $request->get_json_params() );
return [ 'data' => 'success', ]; }
private function get_checklist_data(): array { $checklist_module = Checklist_Module::instance(); $progress_data = $checklist_module->get_user_progress_from_db();
return [ 'data' => $progress_data, ]; } }
|