Jake Vanderwerf
2026-02-07 8b82035f3f8be1462a7125ad7eafb990ca17fa94
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
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');
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');
 
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('favourites')) {
    require(JVB_DIR . '/inc/rest/routes/FavouritesRoutes.php');
}
 
if (Features::forMembership()->has('notifications')) {
    require(JVB_DIR . '/inc/rest/routes/NotificationsRoutes.php');
}
 
if (Features::forSite()->hasAny(['feed_block', 'dashboard'])) {
    require(JVB_DIR . '/inc/rest/routes/TermRoutes.php');
}
 
require(JVB_DIR . '/inc/rest/routes/QueueRoutes.php');
require(JVB_DIR . '/inc/rest/routes/SEORoutes.php');
require(JVB_DIR . '/inc/rest/routes/ErrorRoutes.php');
require(JVB_DIR . '/inc/rest/routes/UploadRoutes.php');
require(JVB_DIR . '/inc/rest/routes/SettingsRoutes.php');
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/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');
}
if (Features::forSite()->has('referrals')) {
    require(JVB_DIR . '/inc/rest/routes/ReferralRoutes.php');
}
if (Features::anyContentHas('response') || Features::anyTaxonomyHas('response')) {
    require(JVB_DIR . '/inc/rest/routes/ResponseRoutes.php');
}
 
if (Features::anyContentHas('karma') || Features::anyTaxonomyHas('karma') || Features::anyUserHas('karma')) {
    require(JVB_DIR . '/inc/rest/routes/VoteRoutes.php');
}
 
if (Features::forMembership()->has('can_invite')) {
    require(JVB_DIR . '/inc/rest/routes/Invitations.php');
}
if (Features::forMembership()->has('member_verified')) {
    require(JVB_DIR . '/inc/rest/routes/ApprovalRoutes.php');
}
 
if (Features::hasIntegration('square')) {
    require(JVB_DIR . '/inc/rest/routes/IntegrationsSquareRoutes.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');
require(JVB_DIR .'/inc/rest/routes/LoginRoutes.php');