Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 18 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 1 |
LanguagesController | |
0.00% |
0 / 18 |
|
0.00% |
0 / 2 |
6 | |
0.00% |
0 / 1 |
register_routes | |
0.00% |
0 / 11 |
|
0.00% |
0 / 1 |
2 | |||
get_languages | |
0.00% |
0 / 7 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | |
3 | namespace NewfoldLabs\WP\Module\Onboarding\RestApi; |
4 | |
5 | use NewfoldLabs\WP\Module\Onboarding\Permissions; |
6 | use NewfoldLabs\WP\Module\Onboarding\Services\LanguageService; |
7 | |
8 | /** |
9 | * Controller for handling language-related endpoints. |
10 | */ |
11 | class LanguagesController { |
12 | |
13 | /** |
14 | * The namespace of this controller's route. |
15 | * |
16 | * @var string |
17 | */ |
18 | protected $namespace = 'newfold-onboarding/v1'; |
19 | |
20 | /** |
21 | * The base of this controller's route. |
22 | * |
23 | * @var string |
24 | */ |
25 | protected $rest_base = '/languages'; |
26 | |
27 | /** |
28 | * Register routes for LanguagesController. |
29 | */ |
30 | public function register_routes() { |
31 | register_rest_route( |
32 | $this->namespace, |
33 | $this->rest_base, |
34 | array( |
35 | array( |
36 | 'methods' => \WP_REST_Server::READABLE, |
37 | 'callback' => array( $this, 'get_languages' ), |
38 | 'permission_callback' => array( Permissions::class, 'rest_is_authorized_admin' ), |
39 | ), |
40 | ) |
41 | ); |
42 | } |
43 | |
44 | /** |
45 | * Get available languages in WordPress. |
46 | * |
47 | * @return WP_REST_Response |
48 | */ |
49 | public function get_languages() { |
50 | // Use LanguageService to get languages |
51 | $languages = LanguageService::get_all_languages(); |
52 | |
53 | return new \WP_REST_Response( |
54 | array( |
55 | 'languages' => $languages, |
56 | ), |
57 | 200 |
58 | ); |
59 | } |
60 | } |