load_admin(); $this->load_rest_api(); $this->load_tracking(); $this->load_site_registration(); do_action( 'adbot_loaded' ); } private function load_site_registration(): void { ( new Site_Registration() )->hook(); } private function load_admin(): void { if ( is_admin() ) { new Admin(); } } private function load_rest_api(): void { add_action( 'rest_api_init', function () { ( new Auth_Controller() )->register_routes(); ( new Status_Controller() )->register_routes(); ( new Containers_Controller() )->register_routes(); ( new Audit_Controller() )->register_routes(); ( new Setup_Controller() )->register_routes(); ( new Snippet_Controller() )->register_routes(); ( new Settings_Controller() )->register_routes(); ( new Onboarding_Controller() )->register_routes(); ( new Payments_Controller() )->register_routes(); register_rest_route( 'adbot/v1', '/verify', [ 'methods' => 'GET', 'callback' => [ Site_Registration::class, 'handle_verify_request' ], 'permission_callback' => '__return_true', 'args' => [ 'challenge' => [ 'required' => true, 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', ], ], ] ); } ); } private function load_tracking(): void { new Snippet_Injector(); } }