rest_url( 'abmahn-shield/v1/' ), 'nonce' => wp_create_nonce( 'wp_rest' ), 'siteUrl' => home_url(), 'adminUrl' => admin_url( 'admin.php' ), ] ); } public function register_rest_routes() { $scanner = new Abmahn_Shield_Scanner(); register_rest_route( 'abmahn-shield/v1', '/quick-scan', [ 'methods' => 'POST', 'callback' => [ $scanner, 'handle_quick_scan' ], 'permission_callback' => function () { return current_user_can( abmahn_shield_capability() ); }, ] ); register_rest_route( 'abmahn-shield/v1', '/deep-scan', [ 'methods' => 'POST', 'callback' => [ $scanner, 'handle_deep_scan' ], 'permission_callback' => function () { return current_user_can( abmahn_shield_capability() ); }, ] ); register_rest_route( 'abmahn-shield/v1', '/last-scan', [ 'methods' => 'GET', 'callback' => [ $scanner, 'handle_last_scan' ], 'permission_callback' => function () { return current_user_can( abmahn_shield_capability() ); }, ] ); } } function abmahn_shield() { return Abmahn_Shield::instance(); } add_action( 'plugins_loaded', function () { abmahn_shield(); } );