Jake Vanderwerf
2026-04-15 c4aa5cdb5e90ad4b420e22772797d16980232a2b
inc/rest/_setup.php
@@ -1,24 +1,26 @@
<?php
use JVBase\registrar\Registrar;
use JVBase\utility\Features;
//NEW METHOD
//require(JVB_DIR . '/inc/rest/Route.php');
//require(JVB_DIR . '/inc/rest/PermissionHandler.php');
//require(JVB_DIR . '/inc/rest/Response.php');
//require(JVB_DIR . '/inc/rest/Rest.php'); //Refactored RestRouteManager.php
//require(JVB_DIR . '/inc/rest/RateLimits.php');
require(JVB_DIR . '/inc/rest/Route.php');
require(JVB_DIR . '/inc/rest/PermissionHandler.php');
require(JVB_DIR . '/inc/rest/Response.php');
require(JVB_DIR . '/inc/rest/Rest.php');
require(JVB_DIR . '/inc/rest/RateLimits.php');
//OLD METHOD
require(JVB_DIR . '/inc/rest/RateLimiter.php');
require(JVB_DIR . '/inc/rest/RestRouteManager.php');
require(JVB_DIR . '/inc/rest/RegisterRoutes.php');
//require(JVB_DIR . '/inc/rest/RateLimiter.php');
//require(JVB_DIR . '/inc/rest/RestRouteManager.php');
//require(JVB_DIR . '/inc/rest/RegisterRoutes.php');
if (Features::forSite()->has('feed_block')) {
   require(JVB_DIR . '/inc/rest/routes/FeedRoutes.php');
}
if (Features::forSite()->has('magicLink')) {
   require(JVB_DIR . '/inc/rest/routes/MagicLinkRoutes.php');
}
//if (Features::forSite()->has('magicLink')) {
// require(JVB_DIR . '/inc/rest/routes/MagicLinkRoutes.php');
//}
if (Features::forSite()->has('favourites')) {
   require(JVB_DIR . '/inc/rest/routes/FavouritesRoutes.php');
}
@@ -39,8 +41,9 @@
if (Features::forSite()->has('dashboard')) {
   require(JVB_DIR . '/inc/rest/routes/AdminRoutes.php');
   require(JVB_DIR . '/inc/rest/routes/ContentRoutes.php');
   require(JVB_DIR . '/inc/rest/routes/BioRoutes.php');
   require(JVB_DIR . '/inc/rest/routes/ShopRoutes.php');
   require(JVB_DIR . '/inc/rest/routes/ContentTermsRoutes.php');
// require(JVB_DIR . '/inc/rest/routes/BioRoutes.php');
// require(JVB_DIR . '/inc/rest/routes/ShopRoutes.php');
}
if (Features::forMembership()->has('forum')) {
   require(JVB_DIR . '/inc/rest/routes/NewsRoutes.php');
@@ -48,11 +51,11 @@
if (Features::forSite()->has('referrals')) {
   require(JVB_DIR . '/inc/rest/routes/ReferralRoutes.php');
}
if (Features::anyContentHas('response') || Features::anyTaxonomyHas('response')) {
if (!empty(Registrar::getFeatured('has_responses'))) {
   require(JVB_DIR . '/inc/rest/routes/ResponseRoutes.php');
}
if (Features::anyContentHas('karma') || Features::anyTaxonomyHas('karma') || Features::anyUserHas('karma')) {
if (!empty(Registrar::getFeatured('karma'))) {
   require(JVB_DIR . '/inc/rest/routes/VoteRoutes.php');
}
@@ -67,6 +70,10 @@
   require(JVB_DIR . '/inc/rest/routes/IntegrationsSquareRoutes.php');
}
if (Features::hasIntegration('helcim')) {
   require(JVB_DIR . '/inc/rest/routes/IntegrationsHelcimRoutes.php');
}
require(JVB_DIR .'/inc/rest/routes/OptionsRoutes.php');
require(JVB_DIR .'/inc/rest/routes/FormRoutes.php');
require(JVB_DIR .'/inc/rest/routes/IntegrationsRoutes.php');