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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
<?php namespace Elementor\Modules\CloudKitLibrary\Data;
use Elementor\Modules\CloudKitLibrary\Connect\Cloud_Kits; use Elementor\Modules\CloudKitLibrary\Module as CloudKitLibrary; use Elementor\App\Modules\KitLibrary\Data\Base_Controller; use Elementor\Core\Utils\Collection;
if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. }
class Controller extends Base_Controller {
public function get_name() { return 'cloud-kits'; }
public function get_items( $request ) { $data = $this->get_app()->get_all();
if ( is_wp_error( $data ) ) { return [ 'data' => [], ]; }
$kits = ( new Collection( $data ) )->map( function ( $kit ) { return [ 'id' => $kit['id'], 'title' => $kit['title'], 'thumbnail_url' => $kit['thumbnailUrl'], 'created_at' => $kit['createdAt'], 'updated_at' => $kit['updatedAt'], ]; } );
return [ 'data' => $kits->values(), ]; }
public function delete_item( $request ) { return [ 'data' => $this->get_app()->delete_kit( $request->get_param( 'id' ) ), ]; }
public function get_item( $request ) { return [ 'data' => $this->get_app()->get_kit( [ 'id' => $request->get_param( 'id' ) ] ), ]; }
public function register_endpoints() { $this->index_endpoint->register_item_route( \WP_REST_Server::DELETABLE, [ 'id' => [ 'description' => 'Unique identifier for the object.', 'type' => 'integer', 'required' => true, ], ] );
$this->register_endpoint( new Endpoints\Eligibility( $this ) ); }
public function get_permission_callback( $request ) { return current_user_can( 'manage_options' ); }
protected function get_app(): Cloud_Kits { return CloudKitLibrary::get_app(); } }
|