| 1 |
<?php |
| 2 |
|
| 3 |
/** |
| 4 |
* Api routes |
| 5 |
*/ |
| 6 |
|
| 7 |
if (!defined('ABSPATH')) { |
| 8 |
die('No direct access.'); |
| 9 |
} |
| 10 |
|
| 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; |
| 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\SiteImagesController; |
| 48 |
use Extendify\Shared\Controllers\DataController as SharedDataController; |
| 49 |
use Extendify\Shared\Controllers\ImageGenerationController; |
| 50 |
use Extendify\Shared\Services\PluginsActivation\SimplyBook as SimplyBookActivation; |
| 51 |
use Extendify\Shared\Services\PluginsActivation\TranslatePress as TranslatePressActivation; |
| 52 |
use Extendify\Shared\Services\PluginsActivation\Imagify as ImagifyActivation; |
| 53 |
use Extendify\Shared\Services\PluginsActivation\Metricool as MetricoolActivation; |
| 54 |
|
| 55 |
\add_action( |
| 56 |
'rest_api_init', |
| 57 |
function () { |
| 58 |
// Library. |
| 59 |
ApiRouter::get('/library/settings', [SiteController::class, 'get']); |
| 60 |
ApiRouter::post('/library/settings', [SiteController::class, 'store']); |
| 61 |
ApiRouter::post('/library/settings/single', [SiteController::class, 'single']); |
| 62 |
|
| 63 |
// Page Creator. |
| 64 |
ApiRouter::get('/page-creator/settings/get-option', [PageCreatorSiteController::class, 'get']); |
| 65 |
ApiRouter::post('/page-creator/settings/single', [PageCreatorSiteController::class, 'single']); |
| 66 |
|
| 67 |
// Launch. |
| 68 |
ApiRouter::post('/launch/options', [WPController::class, 'updateOption']); |
| 69 |
ApiRouter::get('/launch/options', [WPController::class, 'getOption']); |
| 70 |
ApiRouter::post('/launch/save-pattern', [WPController::class, 'savePattern']); |
| 71 |
ApiRouter::get('/launch/active-plugins', [WPController::class, 'getActivePlugins']); |
| 72 |
ApiRouter::get('/launch/prefetch-assist-data', [WPController::class, 'prefetchAssistData']); |
| 73 |
ApiRouter::post('/launch/create-navigation', [WPController::class, 'createNavigationWithMeta']); |
| 74 |
ApiRouter::post('/launch/post-launch-functions', [WPController::class, 'postLaunch']); |
| 75 |
ApiRouter::get('/launch/import-woocommerce', [WooCommerceController::class, 'importTemporaryProducts']); |
| 76 |
|
| 77 |
// AutoLaunch. |
| 78 |
ApiRouter::post('/auto-launch/options', [AutoLaunchWPController::class, 'updateOption']); |
| 79 |
ApiRouter::get('/auto-launch/options', [AutoLaunchWPController::class, 'getOption']); |
| 80 |
ApiRouter::post('/auto-launch/save-pattern', [AutoLaunchWPController::class, 'savePattern']); |
| 81 |
ApiRouter::get('/auto-launch/active-plugins', [AutoLaunchWPController::class, 'getActivePlugins']); |
| 82 |
ApiRouter::get('/auto-launch/prefetch-assist-data', [AutoLaunchWPController::class, 'prefetchAssistData']); |
| 83 |
ApiRouter::post('/auto-launch/create-navigation', [AutoLaunchWPController::class, 'createNavigationWithMeta']); |
| 84 |
ApiRouter::get('/auto-launch/get-navigation', [AutoLaunchWPController::class, 'getNavigation']); |
| 85 |
ApiRouter::post('/auto-launch/pre-launch-functions', [AutoLaunchWPController::class, 'preLaunch']); |
| 86 |
ApiRouter::post('/auto-launch/post-launch-functions', [AutoLaunchWPController::class, 'postLaunch']); |
| 87 |
ApiRouter::post('/auto-launch/run-updates', [AutoLaunchWPController::class, 'runUpdates']); |
| 88 |
ApiRouter::get( |
| 89 |
'/auto-launch/import-woocommerce', |
| 90 |
[AutoLaunchWooCommerceController::class, 'importTemporaryProducts'] |
| 91 |
); |
| 92 |
|
| 93 |
// Assist. |
| 94 |
ApiRouter::get('/assist/task-data', [TasksController::class, 'get']); |
| 95 |
ApiRouter::post('/assist/task-data', [TasksController::class, 'store']); |
| 96 |
ApiRouter::post('/assist/router-data', [RouterController::class, 'store']); |
| 97 |
ApiRouter::get('/assist/global-data', [GlobalsController::class, 'get']); |
| 98 |
ApiRouter::post('/assist/global-data', [GlobalsController::class, 'store']); |
| 99 |
ApiRouter::post('/assist/delete-domains-recommendations', [DomainsSuggestionController::class, 'deleteCache']); |
| 100 |
ApiRouter::post('assists/domains-recommendations-activities', [DomainsSuggestionController::class, 'tracking']); |
| 101 |
|
| 102 |
// Help Center. |
| 103 |
ApiRouter::get('/help-center/tour-data', [TourController::class, 'get']); |
| 104 |
ApiRouter::post('/help-center/tour-data', [TourController::class, 'store']); |
| 105 |
ApiRouter::post('/help-center/router-data', [HelpCenterRouterController::class, 'store']); |
| 106 |
ApiRouter::get('/help-center/router-data', [HelpCenterRouterController::class, 'get']); |
| 107 |
ApiRouter::get('/help-center/support-article', [SupportArticlesController::class, 'article']); |
| 108 |
ApiRouter::post('/help-center/support-articles-data', [SupportArticlesController::class, 'store']); |
| 109 |
ApiRouter::get('/help-center/get-redirect', [SupportArticlesController::class, 'getRedirect']); |
| 110 |
|
| 111 |
// Draft. |
| 112 |
ApiRouter::get('/shared/image-generation', [ImageGenerationController::class, 'get']); |
| 113 |
ApiRouter::post('/shared/image-generation', [ImageGenerationController::class, 'store']); |
| 114 |
ApiRouter::post('/draft/upload-image', [ImageController::class, 'uploadMedia']); |
| 115 |
ApiRouter::post('/draft/router-data', [DraftRouterController::class, 'store']); |
| 116 |
ApiRouter::get('/draft/router-data', [DraftRouterController::class, 'get']); |
| 117 |
|
| 118 |
// Agent. |
| 119 |
ApiRouter::get('/agent/theme-variations', [AgentWPController::class, 'getVariations']); |
| 120 |
ApiRouter::get('/agent/theme-fonts-variations', [AgentWPController::class, 'getFontsVariations']); |
| 121 |
ApiRouter::get('/agent/get-block-code', [AgentWPController::class, 'getBlockCode']); |
| 122 |
ApiRouter::post('/agent/get-block-html', [AgentWPController::class, 'getBlockHtml']); |
| 123 |
ApiRouter::post('/agent/update-blocks', [AgentUpdateBlocksController::class, 'updateBlocks']); |
| 124 |
ApiRouter::post('/agent/lock-post', [AgentWPController::class, 'lockPost']); |
| 125 |
ApiRouter::get('/agent/chat-events', [AgentChatController::class, 'get']); |
| 126 |
ApiRouter::post('/agent/chat-events', [AgentChatController::class, 'store']); |
| 127 |
ApiRouter::post('/agent/site-navigation', [AgentSiteNavigationController::class, 'getSiteNavigation']); |
| 128 |
ApiRouter::post('/agent/render-navigation', [AgentSiteNavigationController::class, 'renderNavigationMenu']); |
| 129 |
ApiRouter::post('/agent/site-design-variations', [AgentWPController::class, 'getSiteDesignVariations']); |
| 130 |
ApiRouter::get('/agent/block-style-variations', [AgentWPController::class, 'getBlockStyleVariations']); |
| 131 |
ApiRouter::post('/agent/options', [AgentWPController::class, 'updateOption']); |
| 132 |
ApiRouter::get('/agent/options', [AgentWPController::class, 'getOption']); |
| 133 |
ApiRouter::post('/agent/site-options', [AgentOptionsController::class, 'handle']); |
| 134 |
ApiRouter::post('/agent/content-search', [AgentContentController::class, 'search']); |
| 135 |
ApiRouter::post('/agent/content-read', [AgentContentController::class, 'read']); |
| 136 |
|
| 137 |
// Notifications. |
| 138 |
ApiRouter::post('/notifications/dismiss', [NotificationsController::class, 'dismiss']); |
| 139 |
ApiRouter::post('/notifications/dismiss-all', [NotificationsController::class, 'dismissAll']); |
| 140 |
|
| 141 |
// Shared. |
| 142 |
ApiRouter::get('/shared/user-selections-data', [UserSelectionController::class, 'get']); |
| 143 |
ApiRouter::post('/shared/user-selections-data', [UserSelectionController::class, 'store']); |
| 144 |
ApiRouter::post('/shared/update-user-meta', [SharedUserSettingsController::class, 'updateUserMeta']); |
| 145 |
ApiRouter::post('/shared/process-placeholders', [PatternPlaceholderController::class, 'processPlaceholders']); |
| 146 |
ApiRouter::post('/shared/enable-auto-update', [AutoUpdateController::class, 'enable']); |
| 147 |
ApiRouter::get('/shared/activity', [ActivityController::class, 'get']); |
| 148 |
ApiRouter::post('/shared/activity', [ActivityController::class, 'store']); |
| 149 |
ApiRouter::post('/shared/site-profile', [SiteProfileController::class, 'store']); |
| 150 |
ApiRouter::get('/shared/site-profile', [SiteProfileController::class, 'get']); |
| 151 |
ApiRouter::get('/shared/site-images', [SiteImagesController::class, 'get']); |
| 152 |
ApiRouter::post('/shared/site-images', [SiteImagesController::class, 'store']); |
| 153 |
ApiRouter::post('/shared/site-images/clear', [SiteImagesController::class, 'clear']); |
| 154 |
ApiRouter::get('/shared/ping', [SharedDataController::class, 'ping']); |
| 155 |
ApiRouter::get('/shared/partner-plugins', [SharedDataController::class, 'getPartnerPlugins']); |
| 156 |
ApiRouter::post( |
| 157 |
'/' . SimplyBookActivation::slug() . '/create-account', |
| 158 |
[SimplyBookActivation::class, 'createAccount'] |
| 159 |
); |
| 160 |
ApiRouter::post( |
| 161 |
'/' . TranslatePressActivation::slug() . '/create-account', |
| 162 |
[TranslatePressActivation::class, 'createAccount'] |
| 163 |
); |
| 164 |
ApiRouter::post( |
| 165 |
'/' . ImagifyActivation::slug() . '/create-account', |
| 166 |
[ImagifyActivation::class, 'createAccount'] |
| 167 |
); |
| 168 |
ApiRouter::post( |
| 169 |
MetricoolActivation::createAccountRoute(), |
| 170 |
[MetricoolActivation::class, 'createAccount'] |
| 171 |
); |
| 172 |
} |
| 173 |
); |
| 174 |
|