PluginProbe
Depicter — Popup & Slider Builder / trunk
Depicter — Popup & Slider Builder vtrunk
4.8.1 trunk 1.0.0 1.1.0 1.1.2 1.1.4 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.5 1.3.8 1.5.0 1.5.1 1.5.2 1.5.5 1.6.0 1.6.1 1.6.2 1.7.0 All 76 releases
depicter / app / routes / ajax.php

ajax.php in Depicter — Popup & Slider Builder trunk, at app/routes/ajax.php

640 lines 24.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WordPress AJAX Routes.
4 *
5 * @package Depicter
6 */
7 if (!defined('ABSPATH')) {
8 exit;
9 }
10
11 // User Endpoints
12 // ======================================
13
14 // User Login
15 Depicter::route()->methods(['POST'])
16 ->where('ajax', 'depicter-member-login', true, true)
17 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
18 ->middleware('userCan:edit_depicter')
19 ->handle('UserAjaxController@login');
20
21 // User Logout
22 Depicter::route()->methods(['POST'])
23 ->where('ajax', 'depicter-member-logout', true, true)
24 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
25 ->middleware('userCan:edit_depicter')
26 ->handle('UserAjaxController@logout');
27
28 // User Register
29 Depicter::route()->methods(['POST'])
30 ->where('ajax', 'depicter-member-register', true, true)
31 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
32 ->middleware('userCan:edit_depicter')
33 ->handle('UserAjaxController@register');
34
35 // Get google app client id
36 Depicter::route()->methods(['POST'])
37 ->where('ajax', 'depicter-auth-google-id', true, true)
38 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
39 ->middleware('userCan:edit_depicter')
40 ->handle('UserAjaxController@googleClientID');
41
42 // User Login
43 Depicter::route()->methods(['POST'])
44 ->where('ajax', 'depicter-auth-google-login', true, true)
45 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
46 ->middleware('userCan:edit_depicter')
47 ->handle('UserAjaxController@googleLogin');
48
49 // Document Endpoints
50 // ======================================
51
52 // Updates a document
53 Depicter::route()->methods(['POST'])
54 ->where('ajax', 'depicter-document-store', true, true)
55 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
56 ->middleware('userCan:edit_depicter')
57 ->handle('EditorAjaxController@store');
58
59 // Upload multiple document posters
60 Depicter::route()->methods(['POST'])
61 ->where('ajax', 'depicter-document-cover-image', true, true)
62 ->middleware('csrf-api:depicter-editor')
63 ->middleware('userCan:edit_depicter')
64 ->handle('EditorAjaxController@uploadDocumentPosters');
65
66 // Retrieves list of document revision IDs
67 Depicter::route()->methods(['GET'])
68 ->where('ajax', 'depicter-document-revisions', true, true)
69 ->middleware('csrf-api:depicter-editor')
70 ->handle('EditorAjaxController@getRevisions');
71
72 // Retrieves list of document revisions with details
73 Depicter::route()->methods(['GET'])
74 ->where('ajax', 'depicter-document-history', true, true)
75 ->middleware('csrf-api:depicter-editor')
76 ->handle('EditorAjaxController@getHistory');
77
78 // Reverts a document to previous snapshots
79 Depicter::route()->methods(['POST'])
80 ->where('ajax', 'depicter-document-revert', true, true)
81 ->middleware('csrf-api:depicter-editor')
82 ->middleware('userCan:edit_depicter')
83 ->handle('EditorAjaxController@revert');
84
85 // Retrieves a document
86 Depicter::route()->methods(['GET'])
87 ->where('ajax', 'depicter-document-show', true, true)
88 ->middleware('csrf-api:depicter-editor')
89 ->handle('EditorAjaxController@show');
90
91 // Retrieves a document status
92 Depicter::route()->methods(['GET'])
93 ->where('ajax', 'depicter-document-status', true, true)
94 ->middleware('csrf-api:depicter-editor')
95 ->handle('EditorAjaxController@getDocumentStatus');
96
97 // Check slug
98 Depicter::route()->methods(['POST'])
99 ->where('ajax', 'depicter-document-slug-check', true, true)
100 ->middleware('csrf-api:depicter-editor')
101 ->middleware('userCan:access_depicter')
102 ->handle('EditorAjaxController@checkSlug');
103
104 // Renames a document
105 Depicter::route()->methods(['POST'])
106 ->where('ajax', 'depicter-document-name-change', true, true)
107 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
108 ->middleware('userCan:edit_depicter')
109 ->handle('DashboardAjaxController@changeName');
110
111 // Retrieves a document
112 Depicter::route()->methods(['GET'])
113 ->where('ajax', 'depicter-document-localization', true, true)
114 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
115 ->handle('EditorAjaxController@getLocalization');
116
117 // Get document markup
118 Depicter::route()->methods(['GET'])
119 ->where('ajax', 'depicter-document-render', true, true)
120 ->middleware('csrf-api:depicter-editor')
121 ->handle('EditorAjaxController@render');
122
123 Depicter::route()->methods(['GET'])
124 ->where('ajax', 'depicter-document-preview', true, false)
125 ->middleware('userCan:access_depicter')
126 ->middleware('cache:0,browser')
127 ->handle('EditorAjaxController@preview');
128
129 // Get document data
130 Depicter::route()->methods(['GET'])
131 ->where('ajax', 'depicter-document-editor', true, true)
132 ->middleware('csrf-api:depicter-editor')
133 ->middleware('userCan:access_depicter')
134 ->handle('EditorAjaxController@getEditorData');
135
136 // ======================================
137
138 // Retrieves list of documents
139 Depicter::route()->methods(['GET'])
140 ->where('ajax', 'depicter-document-index', true, true)
141 ->middleware('csrf-api:depicter-dashboard')
142 ->handle('DashboardAjaxController@index');
143
144 // Creates new document
145 Depicter::route()->methods(['POST'])
146 ->where('ajax', 'depicter-document-create', true, true)
147 ->middleware('csrf-api:depicter-dashboard')
148 ->middleware('userCan:create_depicter')
149 ->handle('DashboardAjaxController@create');
150
151 // Removes a document
152 Depicter::route()->methods(['POST'])
153 ->where('ajax', 'depicter-document-destroy', true, true)
154 ->middleware('csrf-api:depicter-dashboard')
155 ->middleware('userCan:delete_depicter')
156 ->handle('DashboardAjaxController@destroy');
157
158 // Duplicates a document
159 Depicter::route()->methods(['POST'])
160 ->where('ajax', 'depicter-document-duplicate', true, true)
161 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
162 ->middleware('userCan:duplicate_depicter')
163 ->handle('DashboardAjaxController@duplicate');
164
165 // Changes a document slug
166 Depicter::route()->methods(['POST'])
167 ->where('ajax', 'depicter-document-slug-change', true, true)
168 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
169 ->middleware('userCan:edit_depicter')
170 ->handle('DashboardAjaxController@changeSlug');
171
172 // Exports a document
173 Depicter::route()->methods(['POST'])
174 ->where('ajax', 'depicter-document-export', true, true)
175 ->middleware('csrf-api:depicter-dashboard')
176 ->middleware('userCan:export_depicter')
177 ->handle('DashboardAjaxController@export');
178
179 // Imports a document
180 Depicter::route()->methods(['POST'])
181 ->where('ajax', 'depicter-document-import', true, true)
182 ->middleware('csrf-api:depicter-dashboard')
183 ->middleware('userCan:import_depicter')
184 ->handle('DashboardAjaxController@import');
185
186 // AI Wizard
187 // ======================================
188
189 // Generate keywords by AI
190 Depicter::route()->methods(['POST'])
191 ->where('ajax', 'depicter-ai-text-keywords', true, true)
192 ->middleware('csrf-api:depicter-dashboard')
193 ->middleware('userCan:create_depicter')
194 ->handle('AIWizardController@generateKeywords');
195
196 // Generate slides content by AI
197 Depicter::route()->methods(['POST'])
198 ->where('ajax', 'depicter-ai-text-complete', true, true)
199 ->middleware('csrf-api:depicter-dashboard')
200 ->middleware('userCan:create_depicter')
201 ->handle('AIWizardController@wizardComplete');
202
203 // todo: remove this endpoint because we don't have such controller method
204 // Generate slides content by AI
205 Depicter::route()->methods(['POST'])
206 ->where('ajax', 'depicter-ai-document-make', true, true)
207 ->middleware('csrf-api:depicter-dashboard')
208 ->handle('AIWizardController@make');
209
210 // DataSources
211 // ======================================
212
213 Depicter::route()->methods(['GET'])
214 ->where('ajax', 'depicter-dataSources-v1-assets', true, true)
215 ->middleware('csrf-api:depicter-editor')
216 ->handle('DataSourceAjaxController@getAssets');
217
218 // WP Resources
219 // ======================================
220
221 Depicter::route()->methods(['GET'])
222 ->where('ajax', 'depicter-wp-v1-posts-types', true, true)
223 ->middleware('csrf-api:depicter-editor')
224 ->handle('PostsAjaxController@getPostTypes');
225
226 Depicter::route()->methods(['POST'])
227 ->where('ajax', 'depicter-wp-v1-posts', true, true)
228 ->middleware('csrf-api:depicter-editor')
229 ->handle('PostsAjaxController@getPosts');
230
231 Depicter::route()->methods(['POST'])
232 ->where('ajax', 'depicter-wp-v1-products', true, true)
233 ->middleware('csrf-api:depicter-editor')
234 ->handle('ProductsAjaxController@getProducts');
235
236 Depicter::route()->methods(['POST'])
237 ->where('ajax', 'depicter-wp-v1-products-custom', true, true)
238 ->middleware('csrf-api:depicter-editor')
239 ->handle('ProductsAjaxController@getHandPickedProducts');
240
241 Depicter::route()->methods(['POST'])
242 ->where('ajax', 'depicter-wp-v1-posts-search', true, true)
243 ->middleware('csrf-api:depicter-editor')
244 ->handle('PostsAjaxController@searchPosts');
245
246 // Google Places Reviews
247 // ======================================
248
249 Depicter::route()->methods(['GET'])
250 ->where('ajax', 'depicter-google-places-search', true, true)
251 ->middleware('csrf-api:depicter-editor')
252 ->handle('GooglePlacesController@search');
253
254 Depicter::route()->methods(['GET'])
255 ->where('ajax', 'depicter-google-places-reviews', true, true)
256 ->middleware('csrf-api:depicter-editor')
257 ->handle('GooglePlacesController@reviews');
258
259 // Media Libraries
260 // ======================================
261
262 // Get list of all attachments
263 Depicter::route()->methods(['GET'])
264 ->where('ajax', 'depicter-library-search-all', true, true)
265 ->middleware('csrf-api:depicter-editor')
266 ->handle('MediaLibraryAjaxController@query');
267
268 // get list of all media library images
269 Depicter::route()->methods(['GET'])
270 ->where('ajax', 'depicter-library-search-images', true, true)
271 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
272 ->handle('MediaLibraryAjaxController@images');
273
274 // get list of all media library audios
275 Depicter::route()->methods(['GET'])
276 ->where('ajax', 'depicter-library-search-audios', true, true)
277 ->middleware('csrf-api:depicter-editor')
278 ->handle('MediaLibraryAjaxController@audios');
279
280 // get list of all media library videos
281 Depicter::route()->methods(['GET'])
282 ->where('ajax', 'depicter-library-search-videos', true, true)
283 ->middleware('csrf-api:depicter-editor')
284 ->handle('MediaLibraryAjaxController@videos');
285
286 // get list of all media library vectors
287 Depicter::route()->methods(['GET'])
288 ->where('ajax', 'depicter-library-search-vectors', true, true)
289 ->middleware('csrf-api:depicter-editor')
290 ->handle('MediaLibraryAjaxController@vectors');
291
292 // Third Parties Media
293 // ======================================
294
295 // Search Unsplash photos
296 Depicter::route()->methods(['GET'])
297 ->where('ajax', 'depicter-assets-search-images', true, true)
298 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
299 ->middleware('cache:260000,browser')
300 ->handle('MediaAssetsAPIAjaxController@searchImages');
301
302 // Search Pixabay Videos
303 Depicter::route()->methods(['GET'])
304 ->where('ajax', 'depicter-assets-search-videos', true, true)
305 ->middleware('csrf-api:depicter-editor')
306 ->middleware('cache:260000,browser')
307 ->handle('MediaAssetsAPIAjaxController@searchVideos');
308
309 // Search Pixabay Vector Photos
310 Depicter::route()->methods(['GET'])
311 ->where('ajax', 'depicter-assets-search-vectors', true, true)
312 ->middleware('csrf-api:depicter-editor')
313 ->middleware('cache:260000,browser')
314 ->handle('MediaAssetsAPIAjaxController@searchVectors');
315
316 // Search SVG Icons
317 Depicter::route()->methods(['GET'])
318 ->where('ajax', 'depicter-assets-search-icons', true, true)
319 ->middleware('csrf-api:depicter-editor')
320 ->middleware('cache:260000,browser')
321 ->handle('MediaAssetsAPIAjaxController@searchIcons');
322
323 // Retrieves
324 Depicter::route()->methods(['GET'])
325 ->where('ajax', 'depicter-media-url', true, true)
326 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
327 ->middleware('cache:3600,browser')
328 ->handle('MediaAssetsAPIAjaxController@getMediaUrl');
329
330 // Return hotlinks
331 Depicter::route()->methods(['GET'])
332 ->where('ajax', 'depicter-media-get', true, true)
333 ->name('getMedia')
334 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
335 ->middleware('cache:900,browser')
336 ->handle('MediaAssetsAPIAjaxController@getMedia');
337
338 Depicter::route()->methods(['GET'])
339 ->where('ajax', 'depicter-media-content', true, true)
340 ->name('getMediaContent')
341 ->middleware('csrf-api:depicter-editor')
342 ->middleware('cache:900,browser')
343 ->handle('MediaAssetsAPIAjaxController@getMediaContent');
344
345 // Upload media file
346 Depicter::route()->methods(['POST'])
347 ->where('ajax', 'depicter-media-upload', true, true)
348 ->middleware('csrf-api:depicter-editor')
349 ->handle('FileUploaderController@uploadFile');
350
351 // Search and retrieve animation presets
352 Depicter::route()->methods(['GET'])
353 ->where('ajax', 'depicter-assets-animations', true, true)
354 ->middleware('csrf-api:depicter-editor')
355 ->middleware('cache:86400,browser')
356 ->handle('CuratedAPIAjaxController@searchAnimations');
357
358 // Retrieve animation phases
359 Depicter::route()->methods(['GET'])
360 ->where('ajax', 'depicter-assets-animations-categories', true, true)
361 ->middleware('csrf-api:depicter-editor')
362 ->middleware('cache:86400,browser')
363 ->handle('CuratedAPIAjaxController@getAnimationsCategories');
364
365 // Search and retrieve element presets
366 Depicter::route()->methods(['GET'])
367 ->where('ajax', 'depicter-assets-elements', true, true)
368 ->middleware('csrf-api:depicter-editor')
369 ->middleware('cache:86400,browser')
370 ->handle('CuratedAPIAjaxController@searchElements');
371
372 // Search and retrieve document templates
373 Depicter::route()->methods(['GET'])
374 ->where('ajax', 'depicter-assets-document-templates', true, true)
375 ->middleware('csrf-api:depicter-dashboard')
376 ->middleware('cache:3600,browser')
377 ->handle('CuratedAPIAjaxController@searchDocumentTemplates');
378
379 // Search and retrieve document templates
380 Depicter::route()->methods(['GET'])
381 ->where('ajax', 'depicter-assets-document-v2-templates', true, true)
382 ->middleware('csrf-api:depicter-dashboard')
383 ->middleware('cache:3600,browser')
384 ->handle('CuratedAPIAjaxController@searchDocumentTemplatesV2');
385
386 // Retrieve document template categories
387 Depicter::route()->methods(['GET'])
388 ->where('ajax', 'depicter-assets-document-templates-categories', true, true)
389 ->middleware('csrf-api:depicter-dashboard')
390 ->middleware('cache:3600,browser')
391 ->handle('CuratedAPIAjaxController@getDocumentTemplateCategories');
392
393 // Retrieve document template groups
394 Depicter::route()->methods(['GET'])
395 ->where('ajax', 'depicter-assets-document-templates-groups', true, true)
396 ->middleware('csrf-api:depicter-dashboard')
397 ->middleware('cache:3600,browser')
398 ->handle('CuratedAPIAjaxController@getDocumentTemplateGroups');
399
400 // Preview a document template
401 Depicter::route()->methods(['GET'])
402 ->where('ajax', 'depicter-assets-document-templates-preview', true, true)
403 ->middleware('cache:7200,browser')
404 ->handle('CuratedAPIAjaxController@previewDocumentTemplate');
405
406 // Import document template
407 Depicter::route()->methods(['GET'])
408 ->where('ajax', 'depicter-assets-document-templates-import', true, true)
409 ->middleware('csrf-api:depicter-dashboard')
410 ->handle('CuratedAPIAjaxController@importDocumentTemplate');
411
412 Depicter::route()->methods(['POST'])
413 ->where('ajax', 'depicter-assets-document-templates-ai-import', true, true)
414 ->middleware('userCan:create_depicter')
415 ->middleware('csrf-api:depicter-dashboard')
416 ->handle('AIWizardController@importAIDocumentTemplate');
417
418 // Send user feedbacks
419 Depicter::route()->methods(['POST'])
420 ->where('ajax', 'depicter-report-issue', true, true)
421 ->middleware('csrf-api:depicter-editor')
422 ->handle('ReportIssueAjaxController@sendIssue');
423
424 Depicter::route()->methods(['POST'])
425 ->where('ajax', 'depicter-report-error', true, true)
426 ->middleware('csrf-api:depicter-editor')
427 ->handle('ReportIssueAjaxController@sendError');
428
429 Depicter::route()->methods(['POST'])
430 ->where('ajax', 'depicter-subscriber-store', true, true)
431 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
432 ->handle('SubscriberAjaxController@store');
433
434 // General
435 // ======================================
436
437 Depicter::route()->methods(['POST'])
438 ->where('ajax', 'depicter-deactivate-feedback', true, true)
439 ->middleware('nonce')
440 ->handle('PluginDeactivationController@sendFeedback');
441
442 Depicter::route()->methods(['GET'])
443 ->where('ajax', 'depicter-document-export-file-zip', true, true)
444 ->middleware('csrf-api:depicter-dashboard')
445 ->middleware('userCan:export_depicter')
446 ->handle('ExportAjaxController@pack');
447
448 Depicter::route()->methods(['POST'])
449 ->where('ajax', 'depicter-document-import-file-zip', true, true)
450 ->middleware('csrf-api:depicter-dashboard')
451 ->middleware('userCan:import_depicter')
452 ->handle('ImportAjaxController@unpack');
453
454 Depicter::route()->methods(['GET'])
455 ->where('ajax', 'depicter-info-changelog', true, true)
456 ->handle('AppInfoAjaxController@changelogs');
457
458 Depicter::route()->methods(['GET'])
459 ->where('ajax', 'depicter-info-promotion', true, true)
460 ->handle('AppInfoAjaxController@getPromotion');
461
462 Depicter::route()->methods(['GET'])
463 ->where('ajax', 'depicter-info-notification', true, true)
464 ->handle('AppInfoAjaxController@getNotifications');
465
466 Depicter::route()->methods(['POST'])
467 ->where('ajax', 'depicter-info-notification-status', true, true)
468 ->handle('AppInfoAjaxController@updateNotificationsStatus');
469
470 // Depicter Rules
471 // ========================================================
472 Depicter::route()->methods(['POST'])
473 ->where('ajax', 'depicter-document-rules-store', true, true)
474 ->middleware('csrf-api:depicter-editor')
475 ->handle('RulesAjaxController@store');
476
477 Depicter::route()->methods(['GET'])
478 ->where('ajax', 'depicter-document-rules-show', true, true)
479 ->middleware('csrf-api:depicter-editor')
480 ->handle('RulesAjaxController@show');
481
482 Depicter::route()->methods(['GET'])
483 ->where('ajax', 'depicter-condition-all', true, true)
484 ->middleware('csrf-api:depicter-editor')
485 ->handle('RulesAjaxController@all');
486
487 Depicter::route()->methods(['GET'])
488 ->where('ajax', 'depicter-document-condition-options', true, true)
489 ->middleware('csrf-api:depicter-editor')
490 ->handle('RulesAjaxController@conditionValues');
491
492 Depicter::route()->methods(['POST'])
493 ->where('ajax', 'depicter-document-flush-cache', true, true)
494 ->middleware('csrf-api:depicter-dashboard')
495 ->handle('DashboardAjaxController@flushDocumentsCache');
496
497 // Depicter Elements
498 // ========================================================
499 Depicter::route()->methods(['GET'])
500 ->where('ajax', 'depicter-render-shortcode', true, true)
501 ->middleware('csrf-api:depicter-editor')
502 ->handle('EditorAjaxController@renderShortcode');
503
504 // Depicter Lead Directory
505 // ========================================================
506 Depicter::route()->methods(['GET'])
507 ->where('ajax', 'depicter-lead-index', true, true)
508 ->middleware('csrf-api:depicter-dashboard|depicter-editor')
509 ->handle('LeadsAjaxController@index');
510
511 Depicter::route()->methods(['GET'])
512 ->where('ajax', 'depicter-lead-list', true, true)
513 ->middleware('csrf-api:depicter-dashboard|depicter-editor')
514 ->handle('LeadsAjaxController@list');
515
516 Depicter::route()->methods(['POST'])
517 ->where('ajax', 'depicter-lead-submit', true, true)
518 ->handle('LeadsAjaxController@submit');
519
520 Depicter::route()->methods(['POST'])
521 ->where('ajax', 'depicter-lead-update', true, true)
522 ->middleware('csrf-api:depicter-dashboard|depicter-editor')
523 ->handle('LeadsAjaxController@update');
524
525 Depicter::route()->methods(['POST'])
526 ->where('ajax', 'depicter-lead-delete', true, true)
527 ->middleware('csrf-api:depicter-dashboard|depicter-editor')
528 ->handle('LeadsAjaxController@delete');
529
530 Depicter::route()->methods(['POST'])
531 ->where('ajax', 'depicter-lead-spam-check', true, true)
532 ->handle('GoogleRecaptchaController@verify');
533
534 Depicter::route()->methods(['GET'])
535 ->where('ajax', 'depicter-lead-export', true, true)
536 ->middleware('csrf-api:depicter-dashboard|depicter-editor')
537 ->handle('LeadsAjaxController@export');
538
539 // Depicter Options
540 // ========================================================
541 Depicter::route()->methods(['POST'])
542 ->where('ajax', 'depicter-dataCollect-consent', true, true)
543 ->middleware('csrf-api:depicter-dashboard')
544 ->handle('DataCollectController@getPermission');
545
546 Depicter::route()->methods(['GET'])
547 ->where('ajax', 'depicter-settings-index', true, true)
548 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
549 ->handle('OptionsAjaxController@index');
550
551 Depicter::route()->methods(['POST'])
552 ->where('ajax', 'depicter-settings-update', true, true)
553 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
554 ->handle('OptionsAjaxController@update');
555
556 Depicter::route()->methods(['GET'])
557 ->where('ajax', 'depicter-settings-get', true, true)
558 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
559 ->handle('OptionsAjaxController@get');
560
561 Depicter::route()->methods(['POST'])
562 ->where('ajax', 'depicter-settings-store', true, true)
563 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
564 ->handle('OptionsAjaxController@store');
565
566 Depicter::route()->methods(['POST'])
567 ->where('ajax', 'depicter-settings-flush-cache', true, true)
568 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
569 ->handle('OptionsAjaxController@flushCache');
570
571 // Depicter background removal
572 // ========================================================
573 Depicter::route()->methods(['POST'])
574 ->where('ajax', 'depicter-background-removal-upload', true, true)
575 ->middleware('csrf-api:depicter-editor')
576 ->handle('BackgroundRemovalAjaxController@upload');
577
578 Depicter::route()->methods(['GET'])
579 ->where('ajax', 'depicter-background-removal-check', true, true)
580 ->middleware('csrf-api:depicter-editor')
581 ->handle('BackgroundRemovalAjaxController@getRemovedBackgroundImage');
582
583 // Woocommerce ajax Add to cart
584 // ========================================================
585 Depicter::route()->methods(['POST'])
586 ->where('ajax', 'depicter-wc-add-to-cart', true, true)
587 ->handle('WooCommerceAjaxController@addToCart');
588
589 // Integrations
590 // ===========================================================
591 Depicter::route()->methods(['GET'])
592 ->where('ajax', 'depicter-integration-mailchimp-api-keys', true, true)
593 ->middleware(['csrf-api:depicter-editor', 'userCan:manage_depicter'])
594 ->handle('MailChimpIntegrationAjaxController@getApiKeys');
595
596 Depicter::route()->methods(['POST'])
597 ->where('ajax', 'depicter-integration-mailchimp-api-keys', true, true)
598 ->middleware(['csrf-api:depicter-editor', 'userCan:edit_depicter'])
599 ->handle('MailChimpIntegrationAjaxController@saveApiKey');
600
601 Depicter::route()->methods(['POST'])
602 ->where('ajax', 'depicter-integration-mailchimp-delete-api-key', true, true)
603 ->middleware(['csrf-api:depicter-editor', 'userCan:edit_depicter'])
604 ->handle('MailChimpIntegrationAjaxController@deleteApiKey');
605
606 Depicter::route()->methods(['GET'])
607 ->where('ajax', 'depicter-integration-mailchimp-audience-list', true, true)
608 ->middleware('csrf-api:depicter-editor')
609 ->handle('MailChimpIntegrationAjaxController@audienceLists');
610
611 Depicter::route()->methods(['GET'])
612 ->where('ajax', 'depicter-integration-mailchimp-audience-fields', true, true)
613 ->middleware('csrf-api:depicter-editor')
614 ->handle('MailChimpIntegrationAjaxController@audienceFields');
615
616 // Analytics Endpoints
617 // =========================================================
618 Depicter::route()->methods(['POST'])
619 ->where('ajax', 'depicter-analytics-track', true, true)
620 ->handle('AnalyticsAjaxController@track');
621
622 Depicter::route()->methods(['GET'])
623 ->where('ajax', 'depicter-analytics-get', true, true)
624 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
625 ->handle('AnalyticsAjaxController@get');
626
627 Depicter::route()->methods(['GET'])
628 ->where('ajax', 'depicter-analytics-stats', true, true)
629 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
630 ->handle('AnalyticsAjaxController@stats');
631
632 Depicter::route()->methods(['POST'])
633 ->where('ajax', 'depicter-analytics-delete', true, true)
634 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
635 ->handle('AnalyticsAjaxController@delete');
636
637 Depicter::route()->methods(['GET'])
638 ->where('ajax', 'depicter-analytics-conversion-rate', true, true)
639 ->middleware('csrf-api:depicter-editor|depicter-dashboard')
640 ->handle('AnalyticsAjaxController@getConversionRate');