PluginProbe
Extendify / trunk
Extendify vtrunk
3.2.1 3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 All 127 releases
← All changes | routes/api.php +149 -53 0.11.1 → trunk View file →
@@ -1,5 +1,6 @@
1 1 <?php
2 +
2 3 /**
3 4 * Api routes
4 5 */
5 6
@@ -7,78 +8,173 @@
7 8 die('No direct access.');
8 9 }
9 10
10 11 use Extendify\ApiRouter;
11 -use Extendify\Library\Controllers\AuthController;
12 -use Extendify\Library\Controllers\MetaController;
13 -use Extendify\Library\Controllers\PingController;
14 -use Extendify\Library\Controllers\PluginController;
15 -use Extendify\Library\Controllers\SiteSettingsController;
16 -use Extendify\Library\Controllers\TaxonomyController;
17 -use Extendify\Library\Controllers\TemplateController;
18 -use Extendify\Library\Controllers\UserController;
19 -use Extendify\Onboarding\Controllers\DataController;
20 -use Extendify\Onboarding\Controllers\LibraryController;
21 -use Extendify\Onboarding\Controllers\WPController;
22 -use Extendify\Assist\Controllers\AssistDataController;
12 +use Extendify\Assist\Controllers\DomainsSuggestionController;
23 13 use Extendify\Assist\Controllers\GlobalsController;
14 +use Extendify\Assist\Controllers\RouterController;
24 15 use Extendify\Assist\Controllers\TasksController;
25 -use Extendify\Assist\Controllers\UserSelectionController;
26 16
27 -\add_action(
28 - 'rest_api_init',
29 - function () {
30 - ApiRouter::get('/active-plugins', [PluginController::class, 'active']);
31 - ApiRouter::get('/plugins', [PluginController::class, 'index']);
32 - ApiRouter::post('/plugins', [PluginController::class, 'install']);
17 +use Extendify\HelpCenter\Controllers\TourController;
18 +use Extendify\HelpCenter\Controllers\RouterController as HelpCenterRouterController;
19 +use Extendify\HelpCenter\Controllers\SupportArticlesController;
33 20
34 - ApiRouter::get('/taxonomies', [TaxonomyController::class, 'index']);
21 +use Extendify\Draft\Controllers\ImageController;
22 +use Extendify\Draft\Controllers\RouterController as DraftRouterController;
35 23
36 - ApiRouter::post('/templates', [TemplateController::class, 'index']);
37 - ApiRouter::post('/templates/(?P<template_id>[a-zA-Z0-9-]+)', [TemplateController::class, 'ping']);
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;
38 28
39 - ApiRouter::get('/user', [UserController::class, 'show']);
40 - ApiRouter::post('/user', [UserController::class, 'store']);
41 - ApiRouter::post('/clear-user', [UserController::class, 'delete']);
42 - ApiRouter::get('/user-meta', [UserController::class, 'meta']);
43 - ApiRouter::get('/max-free-imports', [UserController::class, 'maxImports']);
29 +use Extendify\Library\Controllers\SiteController;
44 30
45 - ApiRouter::post('/register-mailing-list', [UserController::class, 'mailingList']);
31 +use Extendify\PageCreator\Controllers\SiteController as PageCreatorSiteController;
46 32
47 - ApiRouter::post('/register', [AuthController::class, 'register']);
48 - ApiRouter::post('/login', [AuthController::class, 'login']);
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;
49 39
50 - ApiRouter::get('/meta-data', [MetaController::class, 'getAll']);
51 - ApiRouter::post('/simple-ping', [PingController::class, 'ping']);
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;
52 55
53 - ApiRouter::get('/site-settings', [SiteSettingsController::class, 'show']);
54 - ApiRouter::post('/site-settings', [SiteSettingsController::class, 'store']);
55 - ApiRouter::post('/site-settings/options', [SiteSettingsController::class, 'updateOption']);
56 +\add_action(
57 + 'rest_api_init',
58 + function () {
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']);
56 63
57 - // Onboarding.
58 - ApiRouter::post('/onboarding/options', [WPController::class, 'updateOption']);
59 - ApiRouter::get('/onboarding/options', [WPController::class, 'getOption']);
60 - ApiRouter::post('/onboarding/parse-theme-json', [WPController::class, 'parseThemeJson']);
64 + // Page Creator.
65 + ApiRouter::get('/page-creator/settings/get-option', [PageCreatorSiteController::class, 'get']);
66 + ApiRouter::post('/page-creator/settings/single', [PageCreatorSiteController::class, 'single']);
61 67
62 - ApiRouter::get('/onboarding/site-types', [DataController::class, 'getSiteTypes']);
63 - ApiRouter::get('/onboarding/styles', [DataController::class, 'getStyles']);
64 - ApiRouter::get('/onboarding/layout-types', [DataController::class, 'getLayoutTypes']);
65 - ApiRouter::get('/onboarding/goals', [DataController::class, 'getGoals']);
66 - ApiRouter::get('/onboarding/suggested-plugins', [DataController::class, 'getSuggestedPlugins']);
67 - ApiRouter::get('/onboarding/template', [DataController::class, 'getTemplate']);
68 - ApiRouter::post('/onboarding/create-order', [DataController::class, 'createOrder']);
69 - ApiRouter::get('/onboarding/exit-questions', [DataController::class, 'exitQuestions']);
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']);
70 77
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 + );
94 +
71 95 // Assist.
72 - ApiRouter::get('/assist/launch-pages', [AssistDataController::class, 'getLaunchPages']);
73 - ApiRouter::get('/assist/tasks', [TasksController::class, 'fetchTasks']);
74 96 ApiRouter::get('/assist/task-data', [TasksController::class, 'get']);
75 97 ApiRouter::post('/assist/task-data', [TasksController::class, 'store']);
98 + ApiRouter::post('/assist/router-data', [RouterController::class, 'store']);
76 99 ApiRouter::get('/assist/global-data', [GlobalsController::class, 'get']);
77 100 ApiRouter::post('/assist/global-data', [GlobalsController::class, 'store']);
78 - ApiRouter::get('/assist/user-selection-data', [UserSelectionController::class, 'get']);
79 - ApiRouter::post('/assist/user-selection-data', [UserSelectionController::class, 'store']);
101 + ApiRouter::post('/assist/delete-domains-recommendations', [DomainsSuggestionController::class, 'deleteCache']);
102 + ApiRouter::post('assists/domains-recommendations-activities', [DomainsSuggestionController::class, 'tracking']);
80 103
81 - // TODO: consider merging this route into the library.
82 - ApiRouter::post('/library/site-type', [LibraryController::class, 'updateSiteType']);
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']);
112 +
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']);
119 +
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 + );
83 179 }
84 180 );