Jake Vanderwerf
2026-03-03 772462eeca3002a1d52508aeba485aab2b4742ad
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
75
76
77
78
79
80
<?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');
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 (!empty(Registrar::getFeatured('has_responses'))) {
    require(JVB_DIR . '/inc/rest/routes/ResponseRoutes.php');
}
 
if (!empty(Registrar::getFeatured('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');
}
 
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');
require(JVB_DIR .'/inc/rest/routes/LoginRoutes.php');