| 1 |
<?php if (!defined('ABSPATH')) { exit; // Exit if accessed directly |
| 2 |
} |
| 3 |
|
| 4 |
/** |
| 5 |
* @var FluentCommunity\Framework\Http\Router $router |
| 6 |
*/ |
| 7 |
$router->prefix('spaces')->withPolicy('SpacePolicy')->group(function ($router) { |
| 8 |
$router->get('/', 'SpaceController@get'); |
| 9 |
$router->post('/', 'SpaceController@create'); |
| 10 |
$router->get('/{spaceSlug}/by-slug', 'SpaceController@getBySlug')->alphaNumDash('spaceSlug'); |
| 11 |
$router->put('/{spaceSlug}/by-slug', 'SpaceController@patchBySlug')->alphaNumDash('spaceSlug'); |
| 12 |
$router->put('/{spaceId}/by-id', 'SpaceController@patchById')->int('spaceId'); |
| 13 |
$router->post('/{spaceSlug}/join', 'SpaceController@join')->alphaNumDash('spaceSlug'); |
| 14 |
$router->post('/{spaceSlug}/leave', 'SpaceController@leave')->alphaNumDash('spaceSlug'); |
| 15 |
|
| 16 |
$router->get('/{spaceSlug}/meta-settings', 'SpaceController@getMetaSettings')->alphaNumDash('spaceSlug'); |
| 17 |
|
| 18 |
$router->get('/{spaceSlug}/members', 'SpaceController@getMembers')->alphaNumDash('spaceSlug'); |
| 19 |
$router->post('/{spaceSlug}/members', 'SpaceController@addMember')->alphaNumDash('spaceSlug'); |
| 20 |
|
| 21 |
$router->delete('/{spaceSlug}', 'SpaceController@deleteBySlug')->alphaNumDash('spaceSlug'); |
| 22 |
$router->delete('/{spaceId}/by-id', 'SpaceController@deleteById')->int('spaceId'); |
| 23 |
$router->post('/{spaceSlug}/members/remove', 'SpaceController@removeMember')->alphaNumDash('spaceSlug'); |
| 24 |
|
| 25 |
$router->get('/{spaceSlug}/lockscreens', 'SpaceController@getLockScreenSettings')->alphaNumDash('spaceSlug'); |
| 26 |
|
| 27 |
$router->post('/{spaceSlug}/links', 'SpaceController@updateLinks')->alphaNumDash('spaceSlug'); |
| 28 |
|
| 29 |
$router->get('/users/search', 'SpaceController@getOtherUsers'); |
| 30 |
$router->get('/discover', 'SpaceController@discover'); |
| 31 |
$router->get('/all-spaces', 'SpaceController@getAllSpaces'); |
| 32 |
$router->get('/space_groups', 'SpaceController@getSpaceGroups'); |
| 33 |
$router->post('/space_groups', 'SpaceController@createSpaceGroup'); |
| 34 |
$router->put('/space_groups/{id}', 'SpaceController@updateSpaceGroup')->int('id'); |
| 35 |
$router->delete('/space_groups/{id}', 'SpaceController@deleteSpaceGroup')->int('id'); |
| 36 |
$router->patch('/space_groups/re-index', 'SpaceController@updateSpaceGroupIndexes'); |
| 37 |
$router->patch('/space_groups/re-index-spaces', 'SpaceController@updateSpaceIndexes'); |
| 38 |
$router->patch('/space_groups/move-space', 'SpaceController@moveSpace'); |
| 39 |
}); |
| 40 |
|
| 41 |
$router->prefix('feeds')->withPolicy('PortalPolicy')->group(function ($router) { |
| 42 |
$router->get('/', 'FeedsController@get'); |
| 43 |
$router->post('/', 'FeedsController@store'); |
| 44 |
$router->post('/{feed_id}', 'FeedsController@update')->int('feed_id'); |
| 45 |
$router->patch('/{feed_id}', 'FeedsController@patchFeed')->int('feed_id'); |
| 46 |
$router->post('/media-upload', 'FeedsController@handleMediaUpload'); |
| 47 |
|
| 48 |
$router->get('bookmarks', 'FeedsController@getBookmarks'); |
| 49 |
$router->get('/{feed_slug}/by-slug', 'FeedsController@getFeedBySlug')->alphaNumDash('feed_slug'); |
| 50 |
$router->get('/{feed_id}/by-id', 'FeedsController@getFeedById')->int('feed_id'); |
| 51 |
|
| 52 |
$router->get('/{feed_id}/comments', 'CommentsController@getComments')->int('feed_id'); |
| 53 |
$router->post('/{feed_id}/comments', 'CommentsController@store')->int('feed_id'); |
| 54 |
$router->post('/{feed_id}/comments/{comment_id}', 'CommentsController@update')->int('feed_id')->int('comment_id'); |
| 55 |
$router->patch('/{feed_id}/comments/{comment_id}', 'CommentsController@patchComment')->int('feed_id')->int('comment_id'); |
| 56 |
$router->post('/{feed_id}/react', 'CommentsController@addOrRemovePostReact')->int('feed_id'); |
| 57 |
$router->delete('/{feed_id}/comments/{comment_id}', 'CommentsController@deleteComment')->int('feed_id')->int('comment_id'); |
| 58 |
|
| 59 |
$router->post('/{feed_id}/comments/{comment_id}/reactions', 'CommentsController@toggleReaction')->int('feed_id')->int('comment_id'); |
| 60 |
|
| 61 |
$router->delete('/{feed_id}', 'FeedsController@deleteFeed')->int('feed_id'); |
| 62 |
$router->delete('/{feed_id}/media-preview', 'FeedsController@deleteMediaPreview')->int('feed_id'); |
| 63 |
|
| 64 |
$router->get('ticker', 'FeedsController@getTicker'); |
| 65 |
$router->get('ticker-updates', 'FeedsController@getTickerUpdates'); |
| 66 |
$router->post('batch', 'FeedsController@batchFetch'); |
| 67 |
|
| 68 |
$router->get('oembed', 'FeedsController@getOembed'); |
| 69 |
|
| 70 |
$router->get('links', 'FeedsController@getLinks'); |
| 71 |
$router->post('links', 'FeedsController@updateLinks'); |
| 72 |
|
| 73 |
$router->get('welcome-banner', 'FeedsController@getWelcomeBanner'); |
| 74 |
|
| 75 |
$router->get('/{feed_id}/reactions', 'ReactionController@getByFeedId')->int('feed_id'); |
| 76 |
$router->post('/{feed_id}/reactions/toggle', 'ReactionController@addOrRemovePostReact')->int('feed_id'); |
| 77 |
|
| 78 |
$router->post('/{feed_id}/apps/survey-vote', 'ReactionController@castSurveyVote')->int('feed_id'); |
| 79 |
|
| 80 |
$router->get('/{feed_id}/apps/survey-voters/{option_slug}', 'ReactionController@getSurveyVoters')->int('feed_id')->alphaNumDash('option_slug'); |
| 81 |
|
| 82 |
$router->post('/markdown-preview', 'FeedsController@markdownToHtml'); |
| 83 |
}); |
| 84 |
|
| 85 |
$router->prefix('profile')->withPolicy('PortalPolicy')->group(function ($router) { |
| 86 |
$router->get('/{username}', 'ProfileController@getProfile')->alphaNumDash('username'); |
| 87 |
$router->post('/{username}', 'ProfileController@updateProfile')->alphaNumDash('username'); |
| 88 |
$router->put('/{username}', 'ProfileController@patchProfile')->alphaNumDash('username'); |
| 89 |
$router->post('/{username}/change-password', 'ProfileController@changePassword')->alphaNumDash('username'); |
| 90 |
$router->get('/{username}/spaces', 'ProfileController@getSpaces')->alphaNumDash('username'); |
| 91 |
$router->get('/{username}/courses', 'ProfileController@getCourses')->alphaNumDash('username'); |
| 92 |
$router->get('/{username}/memberships', 'ProfileController@getAllMemberships')->alphaNumDash('username'); |
| 93 |
$router->get('/{username}/comments', 'ProfileController@getComments')->alphaNumDash('username'); |
| 94 |
|
| 95 |
$router->get('/{username}/notification-preferences', 'ProfileController@getNotificationPreferance')->alphaNumDash('username'); |
| 96 |
$router->post('/{username}/notification-preferences', 'ProfileController@saveNotificationPreferance')->alphaNumDash('username'); |
| 97 |
$router->post('/{username}/reconfirm-email', 'ProfileController@reconfirmEmail')->alphaNumDash('username'); |
| 98 |
}); |
| 99 |
|
| 100 |
$router->prefix('admin')->withPolicy('AdminPolicy')->group(function ($router) { |
| 101 |
$router->get('/general', 'AdminController@getGeneralSettings'); |
| 102 |
$router->post('/general', 'AdminController@saveGeneralSettings'); |
| 103 |
|
| 104 |
$router->get('/email-settings', 'AdminController@getEmailSettings'); |
| 105 |
$router->post('/email-settings', 'AdminController@saveEmailSettings'); |
| 106 |
|
| 107 |
$router->get('/storage-settings', 'AdminController@getStorageSettings'); |
| 108 |
$router->post('/storage-settings', 'AdminController@updateStorageSettings'); |
| 109 |
|
| 110 |
$router->get('/welcome-banner', 'AdminController@getWelcomeBannerSettings'); |
| 111 |
$router->post('/welcome-banner', 'AdminController@updateWelcomeBannerSettings'); |
| 112 |
|
| 113 |
$router->get('/auth-settings', 'AdminController@getAuthSettings'); |
| 114 |
|
| 115 |
$router->get('/on-boardings', 'AdminController@getOnBoardingSettings'); |
| 116 |
$router->post('/on-boardings', 'AdminController@saveOnBoardingSettings'); |
| 117 |
$router->post('/on-boardings/change-slug', 'AdminController@changePortalSlug'); |
| 118 |
|
| 119 |
$router->get('/profile-link-providers', 'AdminController@getProfileLinkProviders'); |
| 120 |
$router->post('/profile-link-providers', 'AdminController@updateProfileLinkProviders'); |
| 121 |
|
| 122 |
$router->get('/all_space_courses', 'AdminController@getAllSpaceCourses'); |
| 123 |
|
| 124 |
}); |
| 125 |
|
| 126 |
$router->prefix('members')->withPolicy('PortalPolicy')->group(function ($router) { |
| 127 |
$router->get('/', 'MembersController@getMembers'); |
| 128 |
$router->patch('/{user_id}', 'MembersController@patchMember')->int('user_id'); |
| 129 |
}); |
| 130 |
|
| 131 |
$router->prefix('notifications')->withPolicy('PortalPolicy')->group(function ($router) { |
| 132 |
$router->get('/', 'NotificationsController@getNotifications'); |
| 133 |
$router->get('/unread', 'NotificationsController@getUnreadNotifications'); |
| 134 |
$router->post('/mark-read/{notification_id}', 'NotificationsController@markAsRead')->int('notification_id'); |
| 135 |
$router->post('/mark-read/{feed_id}/by-feed-id', 'NotificationsController@markAsReadByFeedId')->int('feed_id'); |
| 136 |
$router->post('/mark-all-read', 'NotificationsController@markAllRead'); |
| 137 |
}); |
| 138 |
|
| 139 |
$router->prefix('activities')->withPolicy('PortalPolicy')->group(function ($router) { |
| 140 |
$router->get('/', 'ActivityController@getActivities'); |
| 141 |
}); |
| 142 |
|
| 143 |
$router->prefix('comments')->withPolicy('PortalPolicy')->group(function ($router) { |
| 144 |
$router->get('/{comment_id}/reactions', 'ReactionController@getByCommentId')->int('comment_id'); |
| 145 |
$router->get('/{id}', 'CommentsController@show')->int('id'); |
| 146 |
}); |
| 147 |
|
| 148 |
$router->prefix('options')->withPolicy('PortalPolicy')->group(function ($router) { |
| 149 |
$router->get('/app-vars', 'OptionController@getAppVars'); |
| 150 |
$router->get('/sidebar-menu-html', 'OptionController@getSidebarMenuHtml'); |
| 151 |
$router->get('/menu-items', 'OptionController@getMenuItems'); |
| 152 |
}); |
| 153 |
|
| 154 |
$router->prefix('settings')->withPolicy('AdminPolicy')->group(function ($router) { |
| 155 |
$router->get('features', 'SettingController@getFeatures'); |
| 156 |
$router->post('features', 'SettingController@setFeatures'); |
| 157 |
$router->get('menu-settings', 'SettingController@getMenuSettings'); |
| 158 |
$router->post('menu-settings', 'SettingController@saveMenuSettings'); |
| 159 |
$router->post('install_plugin', 'SettingController@installPlugin'); |
| 160 |
$router->get('customization-settings', 'SettingController@getCustomizationSettings'); |
| 161 |
$router->post('customization-settings', 'SettingController@updateCustomizationSettings'); |
| 162 |
$router->get('privacy-settings', 'SettingController@getPrivacySettings'); |
| 163 |
$router->post('privacy-settings', 'SettingController@updatePrivacySettings'); |
| 164 |
$router->get('color-config', 'SettingController@getColorConfig'); |
| 165 |
|
| 166 |
$router->get('crm-tagging-config', 'SettingController@getCrmTaggingConfig'); |
| 167 |
|
| 168 |
$router->get('fluent-player-settings', 'SettingController@getFluentPlayerSettings'); |
| 169 |
$router->post('fluent-player-settings', 'SettingController@updateFluentPlayerSettings'); |
| 170 |
|
| 171 |
}); |
| 172 |
|