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\\BlueprintsController',
20        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\SiteImagesController',
21        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\PluginsController',
22        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\ReduxStateController',
23        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\Themes\\ThemeVariationsController',
24        'NewfoldLabs\WP\\Module\\Onboarding\\RestApi\\Themes\\ApprovedThemesController',
25        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\Themes\\PatternsController',
26        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\FlowController',
27        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\SettingsController',
28        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\EventsController',
29        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\SitePagesController',
30        'NewfoldLabs\WP\\Module\\Onboarding\\RestApi\\Themes\\ThemeInstallerController',
31        'NewfoldLabs\WP\\Module\\Onboarding\\RestApi\\Themes\\ThemeFontsController',
32        'NewfoldLabs\WP\\Module\\Onboarding\\RestApi\\Themes\\ThemeColorsController',
33        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\SiteClassificationController',
34        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\SiteGenController',
35        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\PreviewsController',
36        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\LanguagesController',
37        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\DesignController',
38        'NewfoldLabs\\WP\\Module\\Onboarding\\RestApi\\GlobalStylesController',
39    );
40
41    /**
42     * Setup the custom REST API
43     */
44    public function __construct() {
45        add_action( 'rest_api_init', array( $this, 'register_routes' ) );
46        // create an instance of the RestApiFilter to filter the responses for header menu navigation
47        new RestApiFilter();
48    }
49
50    /**
51     * Register the custom REST API routes
52     */
53    public function register_routes() {
54        foreach ( $this->controllers as $controller ) {
55            /**
56             * Get an instance of the WP_REST_Controller.
57             *
58             * @var $instance WP_REST_Controller
59             */
60            $instance = new $controller();
61            $instance->register_routes();
62        }
63    }
64}