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 +154 -47 0.10.1 → trunk View file →
@@ -1,5 +1,6 @@
1 1 <?php
2 +
2 3 /**
3 4 * Api routes
4 5 */
5 6
@@ -7,67 +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;
13 +use Extendify\Assist\Controllers\GlobalsController;
14 +use Extendify\Assist\Controllers\RouterController;
15 +use Extendify\Assist\Controllers\TasksController;
23 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 +
24 56 \add_action(
25 57 'rest_api_init',
26 58 function () {
27 - ApiRouter::get('/active-plugins', [PluginController::class, 'active']);
28 - ApiRouter::get('/plugins', [PluginController::class, 'index']);
29 - 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']);
30 63
31 - 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']);
32 67
33 - ApiRouter::post('/templates', [TemplateController::class, 'index']);
34 - 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']);
35 77
36 - ApiRouter::get('/user', [UserController::class, 'show']);
37 - ApiRouter::post('/user', [UserController::class, 'store']);
38 - ApiRouter::post('/clear-user', [UserController::class, 'delete']);
39 - ApiRouter::get('/user-meta', [UserController::class, 'meta']);
40 - 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 + );
41 94
42 - 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']);
43 103
44 - ApiRouter::post('/register', [AuthController::class, 'register']);
45 - 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']);
46 112
47 - ApiRouter::get('/meta-data', [MetaController::class, 'getAll']);
48 - 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']);
49 119
50 - ApiRouter::get('/site-settings', [SiteSettingsController::class, 'show']);
51 - ApiRouter::post('/site-settings', [SiteSettingsController::class, 'store']);
52 - ApiRouter::post('/site-settings/options', [SiteSettingsController::class, 'updateOption']);
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']);
53 139
54 - // Onboarding.
55 - ApiRouter::post('/onboarding/options', [WPController::class, 'updateOption']);
56 - ApiRouter::get('/onboarding/options', [WPController::class, 'getOption']);
57 - ApiRouter::post('/onboarding/parse-theme-json', [WPController::class, 'parseThemeJson']);
140 + // Site visibility.
141 + ApiRouter::post('/site-visibility/publish', [SiteVisibilityController::class, 'publish']);
142 + ApiRouter::post('/site-visibility/unpublish', [SiteVisibilityController::class, 'unpublish']);
58 143
59 - ApiRouter::get('/onboarding/site-types', [DataController::class, 'getSiteTypes']);
60 - ApiRouter::get('/onboarding/styles', [DataController::class, 'getStyles']);
61 - ApiRouter::get('/onboarding/layout-types', [DataController::class, 'getLayoutTypes']);
62 - ApiRouter::get('/onboarding/goals', [DataController::class, 'getGoals']);
63 - ApiRouter::get('/onboarding/suggested-plugins', [DataController::class, 'getSuggestedPlugins']);
64 - ApiRouter::get('/onboarding/template', [DataController::class, 'getTemplate']);
65 - ApiRouter::post('/onboarding/create-order', [DataController::class, 'createOrder']);
144 + // Notifications.
145 + ApiRouter::post('/notifications/dismiss', [NotificationsController::class, 'dismiss']);
146 + ApiRouter::post('/notifications/dismiss-all', [NotificationsController::class, 'dismissAll']);
66 147
67 - // Assist.
68 - ApiRouter::get('/assist/get-launch-pages', [AssistDataController::class, 'getLaunchPages']);
69 -
70 - // TODO: consider merging this route into the library.
71 - ApiRouter::post('/library/site-type', [LibraryController::class, 'updateSiteType']);
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 + );
72 179 }
73 180 );