Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
RestApi
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 2
12
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 register_routes
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace NewfoldLabs\WP\Module\Onboarding\RestApi;
4
5use NewfoldLabs\WP\Module\Onboarding\RestApi\RestApiFilter;
6
7/**
8 * Instantiate controllers and register routes.
9 */
10final class RestApi {
11
12    /**
13     * List of custom REST API controllers
14     *
15     * @var array
16     */
17    protected $controllers = array(
18        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\AppController',
19        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\SiteImagesController',
20        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\PluginsController',
21        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\ReduxStateController',
22        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\Themes\\ThemeVariationsController',
23        'NewfoldLabs\WP\\Module\\Onboarding\\RestApi\\Themes\\ApprovedThemesController',
24        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\Themes\\PatternsController',
25        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\FlowController',
26        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\SettingsController',
27        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\EventsController',
28        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\SitePagesController',
29        'NewfoldLabs\WP\\Module\\Onboarding\\RestApi\\Themes\\ThemeInstallerController',
30        'NewfoldLabs\WP\\Module\\Onboarding\\RestApi\\Themes\\ThemeFontsController',
31        'NewfoldLabs\WP\\Module\\Onboarding\\RestApi\\Themes\\ThemeColorsController',
32        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\SiteClassificationController',
33        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\SiteGenController',
34        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\PreviewsController',
35        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\LanguagesController',
36        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\DesignController',
37        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\GlobalStylesController',
38    );
39
40    /**
41     * Setup the custom REST API
42     */
43    public function __construct() {
44        add_action( 'rest_api_init', array( $this, 'register_routes' ) );
45        // create an instance of the RestApiFilter to filter the responses for header menu navigation
46        new RestApiFilter();
47    }
48
49    /**
50     * Register the custom REST API routes
51     */
52    public function register_routes() {
53        foreach ( $this->controllers as $controller ) {
54            /**
55             * Get an instance of the WP_REST_Controller.
56             *
57             * @var $instance WP_REST_Controller
58             */
59            $instance = new $controller();
60            $instance->register_routes();
61        }
62    }
63}