| @@ -1,5 +1,6 @@ | ||
| 1 | 1 | <?php |
| 2 | + | |
| 2 | 3 | /** |
| 3 | 4 | * Api routes |
| 4 | 5 | */ |
| 5 | 6 | |
| @@ -6,44 +7,174 @@ | ||
| 6 | 7 | if (!defined('ABSPATH')) { |
| 7 | 8 | die('No direct access.'); |
| 8 | 9 | } |
| 9 | 10 | |
| 10 | -use Extendify\Library\ApiRouter; | |
| 11 | -use Extendify\Library\Controllers\AuthController; | |
| 12 | -use Extendify\Library\Controllers\MetaController; | |
| 13 | -use Extendify\Library\Controllers\PingController; | |
| 14 | -use Extendify\Library\Controllers\UserController; | |
| 15 | -use Extendify\Library\Controllers\PluginController; | |
| 16 | -use Extendify\Library\Controllers\SiteSettingsController; | |
| 17 | -use Extendify\Library\Controllers\TaxonomyController; | |
| 18 | -use Extendify\Library\Controllers\TemplateController; | |
| 11 | +use Extendify\ApiRouter; | |
| 12 | +use Extendify\Assist\Controllers\DomainsSuggestionController; | |
| 13 | +use Extendify\Assist\Controllers\GlobalsController; | |
| 14 | +use Extendify\Assist\Controllers\RouterController; | |
| 15 | +use Extendify\Assist\Controllers\TasksController; | |
| 19 | 16 | |
| 17 | +use Extendify\HelpCenter\Controllers\TourController; | |
| 18 | +use Extendify\HelpCenter\Controllers\RouterController as HelpCenterRouterController; | |
| 19 | +use Extendify\HelpCenter\Controllers\SupportArticlesController; | |
| 20 | + | |
| 21 | +use Extendify\Draft\Controllers\ImageController; | |
| 22 | +use Extendify\Draft\Controllers\RouterController as DraftRouterController; | |
| 23 | + | |
| 24 | +use Extendify\Launch\Controllers\WPController; | |
| 25 | +use Extendify\Launch\Controllers\WooCommerceController; | |
| 26 | +use Extendify\AutoLaunch\Controllers\WPController as AutoLaunchWPController; | |
| 27 | +use Extendify\AutoLaunch\Controllers\WooCommerceController as AutoLaunchWooCommerceController; | |
| 28 | + | |
| 29 | +use Extendify\Library\Controllers\SiteController; | |
| 30 | + | |
| 31 | +use Extendify\PageCreator\Controllers\SiteController as PageCreatorSiteController; | |
| 32 | + | |
| 33 | +use Extendify\Agent\Controllers\WPController as AgentWPController; | |
| 34 | +use Extendify\Agent\Controllers\ChatHistoryController as AgentChatController; | |
| 35 | +use Extendify\Agent\Controllers\ContentController as AgentContentController; | |
| 36 | +use Extendify\Agent\Controllers\OptionsController as AgentOptionsController; | |
| 37 | +use Extendify\Agent\Controllers\SiteNavigationController as AgentSiteNavigationController; | |
| 38 | +use Extendify\Agent\Controllers\UpdateBlocksController as AgentUpdateBlocksController; | |
| 39 | + | |
| 40 | +use Extendify\PluginNotifications\Controllers\NotificationsController; | |
| 41 | +use Extendify\Shared\Controllers\AutoUpdateController; | |
| 42 | +use Extendify\Shared\Controllers\PatternPlaceholderController; | |
| 43 | +use Extendify\Shared\Controllers\UserSelectionController; | |
| 44 | +use Extendify\Shared\Controllers\UserSettingsController as SharedUserSettingsController; | |
| 45 | +use Extendify\Shared\Controllers\ActivityController; | |
| 46 | +use Extendify\Shared\Controllers\SiteProfileController; | |
| 47 | +use Extendify\Shared\Controllers\SiteVisibilityController; | |
| 48 | +use Extendify\Shared\Controllers\SiteImagesController; | |
| 49 | +use Extendify\Shared\Controllers\DataController as SharedDataController; | |
| 50 | +use Extendify\Shared\Controllers\ImageGenerationController; | |
| 51 | +use Extendify\Shared\Services\PluginsActivation\SimplyBook as SimplyBookActivation; | |
| 52 | +use Extendify\Shared\Services\PluginsActivation\TranslatePress as TranslatePressActivation; | |
| 53 | +use Extendify\Shared\Services\PluginsActivation\Imagify as ImagifyActivation; | |
| 54 | +use Extendify\Shared\Services\PluginsActivation\Metricool as MetricoolActivation; | |
| 55 | + | |
| 20 | 56 | \add_action( |
| 21 | 57 | 'rest_api_init', |
| 22 | 58 | function () { |
| 23 | - ApiRouter::get('/active-plugins', [PluginController::class, 'active']); | |
| 24 | - ApiRouter::get('/plugins', [PluginController::class, 'index']); | |
| 25 | - ApiRouter::post('/plugins', [PluginController::class, 'install']); | |
| 59 | + // Library. | |
| 60 | + ApiRouter::get('/library/settings', [SiteController::class, 'get']); | |
| 61 | + ApiRouter::post('/library/settings', [SiteController::class, 'store']); | |
| 62 | + ApiRouter::post('/library/settings/single', [SiteController::class, 'single']); | |
| 26 | 63 | |
| 27 | - ApiRouter::get('/taxonomies', [TaxonomyController::class, 'index']); | |
| 64 | + // Page Creator. | |
| 65 | + ApiRouter::get('/page-creator/settings/get-option', [PageCreatorSiteController::class, 'get']); | |
| 66 | + ApiRouter::post('/page-creator/settings/single', [PageCreatorSiteController::class, 'single']); | |
| 28 | 67 | |
| 29 | - ApiRouter::post('/templates', [TemplateController::class, 'index']); | |
| 30 | - ApiRouter::post('/templates/(?P<template_id>[a-zA-Z0-9-]+)', [TemplateController::class, 'ping']); | |
| 68 | + // Launch. | |
| 69 | + ApiRouter::post('/launch/options', [WPController::class, 'updateOption']); | |
| 70 | + ApiRouter::get('/launch/options', [WPController::class, 'getOption']); | |
| 71 | + ApiRouter::post('/launch/save-pattern', [WPController::class, 'savePattern']); | |
| 72 | + ApiRouter::get('/launch/active-plugins', [WPController::class, 'getActivePlugins']); | |
| 73 | + ApiRouter::get('/launch/prefetch-assist-data', [WPController::class, 'prefetchAssistData']); | |
| 74 | + ApiRouter::post('/launch/create-navigation', [WPController::class, 'createNavigationWithMeta']); | |
| 75 | + ApiRouter::post('/launch/post-launch-functions', [WPController::class, 'postLaunch']); | |
| 76 | + ApiRouter::get('/launch/import-woocommerce', [WooCommerceController::class, 'importTemporaryProducts']); | |
| 31 | 77 | |
| 32 | - ApiRouter::get('/user', [UserController::class, 'show']); | |
| 33 | - ApiRouter::post('/user', [UserController::class, 'store']); | |
| 34 | - ApiRouter::post('/clear-user', [UserController::class, 'delete']); | |
| 35 | - ApiRouter::get('/user-meta', [UserController::class, 'meta']); | |
| 36 | - ApiRouter::get('/max-free-imports', [UserController::class, 'maxImports']); | |
| 78 | + // AutoLaunch. | |
| 79 | + ApiRouter::post('/auto-launch/options', [AutoLaunchWPController::class, 'updateOption']); | |
| 80 | + ApiRouter::get('/auto-launch/options', [AutoLaunchWPController::class, 'getOption']); | |
| 81 | + ApiRouter::post('/auto-launch/save-pattern', [AutoLaunchWPController::class, 'savePattern']); | |
| 82 | + ApiRouter::get('/auto-launch/active-plugins', [AutoLaunchWPController::class, 'getActivePlugins']); | |
| 83 | + ApiRouter::get('/auto-launch/prefetch-assist-data', [AutoLaunchWPController::class, 'prefetchAssistData']); | |
| 84 | + ApiRouter::post('/auto-launch/create-navigation', [AutoLaunchWPController::class, 'createNavigationWithMeta']); | |
| 85 | + ApiRouter::get('/auto-launch/get-navigation', [AutoLaunchWPController::class, 'getNavigation']); | |
| 86 | + ApiRouter::post('/auto-launch/pre-launch-functions', [AutoLaunchWPController::class, 'preLaunch']); | |
| 87 | + ApiRouter::post('/auto-launch/reset-launch-state', [AutoLaunchWPController::class, 'resetLaunchState']); | |
| 88 | + ApiRouter::post('/auto-launch/post-launch-functions', [AutoLaunchWPController::class, 'postLaunch']); | |
| 89 | + ApiRouter::post('/auto-launch/run-updates', [AutoLaunchWPController::class, 'runUpdates']); | |
| 90 | + ApiRouter::get( | |
| 91 | + '/auto-launch/import-woocommerce', | |
| 92 | + [AutoLaunchWooCommerceController::class, 'importTemporaryProducts'] | |
| 93 | + ); | |
| 37 | 94 | |
| 38 | - ApiRouter::post('/register-mailing-list', [UserController::class, 'mailingList']); | |
| 95 | + // Assist. | |
| 96 | + ApiRouter::get('/assist/task-data', [TasksController::class, 'get']); | |
| 97 | + ApiRouter::post('/assist/task-data', [TasksController::class, 'store']); | |
| 98 | + ApiRouter::post('/assist/router-data', [RouterController::class, 'store']); | |
| 99 | + ApiRouter::get('/assist/global-data', [GlobalsController::class, 'get']); | |
| 100 | + ApiRouter::post('/assist/global-data', [GlobalsController::class, 'store']); | |
| 101 | + ApiRouter::post('/assist/delete-domains-recommendations', [DomainsSuggestionController::class, 'deleteCache']); | |
| 102 | + ApiRouter::post('assists/domains-recommendations-activities', [DomainsSuggestionController::class, 'tracking']); | |
| 39 | 103 | |
| 40 | - ApiRouter::post('/register', [AuthController::class, 'register']); | |
| 41 | - ApiRouter::post('/login', [AuthController::class, 'login']); | |
| 104 | + // Help Center. | |
| 105 | + ApiRouter::get('/help-center/tour-data', [TourController::class, 'get']); | |
| 106 | + ApiRouter::post('/help-center/tour-data', [TourController::class, 'store']); | |
| 107 | + ApiRouter::post('/help-center/router-data', [HelpCenterRouterController::class, 'store']); | |
| 108 | + ApiRouter::get('/help-center/router-data', [HelpCenterRouterController::class, 'get']); | |
| 109 | + ApiRouter::get('/help-center/support-article', [SupportArticlesController::class, 'article']); | |
| 110 | + ApiRouter::post('/help-center/support-articles-data', [SupportArticlesController::class, 'store']); | |
| 111 | + ApiRouter::get('/help-center/get-redirect', [SupportArticlesController::class, 'getRedirect']); | |
| 42 | 112 | |
| 43 | - ApiRouter::get('/meta-data', [MetaController::class, 'getAll']); | |
| 44 | - ApiRouter::post('/simple-ping', [PingController::class, 'ping']); | |
| 113 | + // Draft. | |
| 114 | + ApiRouter::get('/shared/image-generation', [ImageGenerationController::class, 'get']); | |
| 115 | + ApiRouter::post('/shared/image-generation', [ImageGenerationController::class, 'store']); | |
| 116 | + ApiRouter::post('/draft/upload-image', [ImageController::class, 'uploadMedia']); | |
| 117 | + ApiRouter::post('/draft/router-data', [DraftRouterController::class, 'store']); | |
| 118 | + ApiRouter::get('/draft/router-data', [DraftRouterController::class, 'get']); | |
| 45 | 119 | |
| 46 | - ApiRouter::get('/site-settings', [SiteSettingsController::class, 'show']); | |
| 47 | - ApiRouter::post('/site-settings', [SiteSettingsController::class, 'store']); | |
| 120 | + // Agent. | |
| 121 | + ApiRouter::get('/agent/theme-variations', [AgentWPController::class, 'getVariations']); | |
| 122 | + ApiRouter::get('/agent/theme-fonts-variations', [AgentWPController::class, 'getFontsVariations']); | |
| 123 | + ApiRouter::get('/agent/get-block-code', [AgentWPController::class, 'getBlockCode']); | |
| 124 | + ApiRouter::get('/agent/shared-block-usage', [AgentWPController::class, 'getSharedBlockUsage']); | |
| 125 | + ApiRouter::post('/agent/get-block-html', [AgentWPController::class, 'getBlockHtml']); | |
| 126 | + ApiRouter::post('/agent/update-blocks', [AgentUpdateBlocksController::class, 'updateBlocks']); | |
| 127 | + ApiRouter::post('/agent/lock-post', [AgentWPController::class, 'lockPost']); | |
| 128 | + ApiRouter::get('/agent/chat-events', [AgentChatController::class, 'get']); | |
| 129 | + ApiRouter::post('/agent/chat-events', [AgentChatController::class, 'store']); | |
| 130 | + ApiRouter::post('/agent/site-navigation', [AgentSiteNavigationController::class, 'getSiteNavigation']); | |
| 131 | + ApiRouter::post('/agent/render-navigation', [AgentSiteNavigationController::class, 'renderNavigationMenu']); | |
| 132 | + ApiRouter::post('/agent/site-design-variations', [AgentWPController::class, 'getSiteDesignVariations']); | |
| 133 | + ApiRouter::get('/agent/block-style-variations', [AgentWPController::class, 'getBlockStyleVariations']); | |
| 134 | + ApiRouter::post('/agent/options', [AgentWPController::class, 'updateOption']); | |
| 135 | + ApiRouter::get('/agent/options', [AgentWPController::class, 'getOption']); | |
| 136 | + ApiRouter::post('/agent/site-options', [AgentOptionsController::class, 'handle']); | |
| 137 | + ApiRouter::post('/agent/content-search', [AgentContentController::class, 'search']); | |
| 138 | + ApiRouter::post('/agent/content-read', [AgentContentController::class, 'read']); | |
| 139 | + | |
| 140 | + // Site visibility. | |
| 141 | + ApiRouter::post('/site-visibility/publish', [SiteVisibilityController::class, 'publish']); | |
| 142 | + ApiRouter::post('/site-visibility/unpublish', [SiteVisibilityController::class, 'unpublish']); | |
| 143 | + | |
| 144 | + // Notifications. | |
| 145 | + ApiRouter::post('/notifications/dismiss', [NotificationsController::class, 'dismiss']); | |
| 146 | + ApiRouter::post('/notifications/dismiss-all', [NotificationsController::class, 'dismissAll']); | |
| 147 | + | |
| 148 | + // Shared. | |
| 149 | + ApiRouter::get('/shared/user-selections-data', [UserSelectionController::class, 'get']); | |
| 150 | + ApiRouter::post('/shared/user-selections-data', [UserSelectionController::class, 'store']); | |
| 151 | + ApiRouter::post('/shared/update-user-meta', [SharedUserSettingsController::class, 'updateUserMeta']); | |
| 152 | + ApiRouter::post('/shared/process-placeholders', [PatternPlaceholderController::class, 'processPlaceholders']); | |
| 153 | + ApiRouter::post('/shared/enable-auto-update', [AutoUpdateController::class, 'enable']); | |
| 154 | + ApiRouter::get('/shared/activity', [ActivityController::class, 'get']); | |
| 155 | + ApiRouter::post('/shared/activity', [ActivityController::class, 'store']); | |
| 156 | + ApiRouter::post('/shared/site-profile', [SiteProfileController::class, 'store']); | |
| 157 | + ApiRouter::get('/shared/site-profile', [SiteProfileController::class, 'get']); | |
| 158 | + ApiRouter::get('/shared/site-images', [SiteImagesController::class, 'get']); | |
| 159 | + ApiRouter::post('/shared/site-images', [SiteImagesController::class, 'store']); | |
| 160 | + ApiRouter::post('/shared/site-images/clear', [SiteImagesController::class, 'clear']); | |
| 161 | + ApiRouter::get('/shared/ping', [SharedDataController::class, 'ping']); | |
| 162 | + ApiRouter::get('/shared/partner-plugins', [SharedDataController::class, 'getPartnerPlugins']); | |
| 163 | + ApiRouter::post( | |
| 164 | + SimplyBookActivation::createAccountRoute(), | |
| 165 | + [SimplyBookActivation::class, 'createAccount'] | |
| 166 | + ); | |
| 167 | + ApiRouter::post( | |
| 168 | + TranslatePressActivation::createAccountRoute(), | |
| 169 | + [TranslatePressActivation::class, 'createAccount'] | |
| 170 | + ); | |
| 171 | + ApiRouter::post( | |
| 172 | + ImagifyActivation::createAccountRoute(), | |
| 173 | + [ImagifyActivation::class, 'createAccount'] | |
| 174 | + ); | |
| 175 | + ApiRouter::post( | |
| 176 | + MetricoolActivation::createAccountRoute(), | |
| 177 | + [MetricoolActivation::class, 'createAccount'] | |
| 178 | + ); | |
| 48 | 179 | } |
| 49 | 180 | ); |