| @@ -18,8 +18,15 @@ | ||
| 18 | 18 | ->middleware('csrf-api:depicter-editor|depicter-dashboard' ) |
| 19 | 19 | ->middleware('userCan:edit_depicter' ) |
| 20 | 20 | ->handle( 'EditorAjaxController@store' ); |
| 21 | 21 | |
| 22 | +// Upload multiple document posters | |
| 23 | +Depicter::route()->methods(['POST']) | |
| 24 | + ->where( 'ajax', 'depicter/document/cover/image', true, true ) | |
| 25 | + ->middleware('csrf-api:depicter-editor' ) | |
| 26 | + ->middleware('userCan:edit_depicter' ) | |
| 27 | + ->handle( 'EditorAjaxController@uploadDocumentPosters' ); | |
| 28 | + | |
| 22 | 29 | // Reverts a document to previous snapshots |
| 23 | 30 | Depicter::route()->methods(['POST']) |
| 24 | 31 | ->where( 'ajax', 'depicter/document/revert', true, true ) |
| 25 | 32 | ->middleware('csrf-api:depicter-editor' ) |
| @@ -31,8 +38,14 @@ | ||
| 31 | 38 | ->where( 'ajax', 'depicter/document/show', true, true ) |
| 32 | 39 | ->middleware('csrf-api:depicter-editor' ) |
| 33 | 40 | ->handle( 'EditorAjaxController@show' ); |
| 34 | 41 | |
| 42 | +// Retrieves a document status | |
| 43 | +Depicter::route()->methods(['GET']) | |
| 44 | + ->where( 'ajax', 'depicter/document/status', true, true ) | |
| 45 | + ->middleware('csrf-api:depicter-editor' ) | |
| 46 | + ->handle( 'EditorAjaxController@getDocumentStatus' ); | |
| 47 | + | |
| 35 | 48 | // Check slug |
| 36 | 49 | Depicter::route()->methods(['POST']) |
| 37 | 50 | ->where( 'ajax', 'depicter/document/slug/check', true, true ) |
| 38 | 51 | ->middleware('csrf-api:depicter-editor' ) |
| @@ -48,10 +61,9 @@ | ||
| 48 | 61 | |
| 49 | 62 | // Retrieves a document |
| 50 | 63 | Depicter::route()->methods(['GET']) |
| 51 | 64 | ->where( 'ajax', 'depicter/document/localization', true, true ) |
| 52 | - ->middleware('csrf-api:depicter-editor' ) | |
| 53 | - ->middleware('cache:7200,browser') | |
| 65 | + ->middleware('csrf-api:depicter-editor|depicter-dashboard' ) | |
| 54 | 66 | ->handle( 'EditorAjaxController@getLocalization' ); |
| 55 | 67 | |
| 56 | 68 | // Get document markup |
| 57 | 69 | Depicter::route()->methods(['GET']) |
| @@ -61,8 +73,9 @@ | ||
| 61 | 73 | |
| 62 | 74 | Depicter::route()->methods(['GET']) |
| 63 | 75 | ->where( 'ajax', 'depicter/document/preview', true, false ) |
| 64 | 76 | ->middleware('userCan:access_depicter' ) |
| 77 | + ->middleware('cache:0,browser') | |
| 65 | 78 | ->handle( 'EditorAjaxController@preview' ); |
| 66 | 79 | |
| 67 | 80 | // Get document data |
| 68 | 81 | Depicter::route()->methods(['GET']) |
| @@ -109,9 +122,9 @@ | ||
| 109 | 122 | |
| 110 | 123 | // Changes a document slug |
| 111 | 124 | Depicter::route()->methods(['POST']) |
| 112 | 125 | ->where( 'ajax', 'depicter/document/slug/change', true, true ) |
| 113 | - ->middleware('csrf-api:depicter-dashboard' ) | |
| 126 | + ->middleware('csrf-api:depicter-editor|depicter-dashboard' ) | |
| 114 | 127 | ->middleware('userCan:edit_depicter' ) |
| 115 | 128 | ->handle( 'DashboardAjaxController@changeSlug' ); |
| 116 | 129 | |
| 117 | 130 | |
| @@ -128,8 +141,40 @@ | ||
| 128 | 141 | ->middleware('csrf-api:depicter-dashboard' ) |
| 129 | 142 | ->middleware('userCan:import_depicter' ) |
| 130 | 143 | ->handle( 'DashboardAjaxController@import' ); |
| 131 | 144 | |
| 145 | +// AI Wizard | |
| 146 | +// ====================================== | |
| 147 | + | |
| 148 | +// Generate keywords by AI | |
| 149 | +Depicter::route()->methods(['POST']) | |
| 150 | + ->where( 'ajax', 'depicter/ai/text/keywords', true, true ) | |
| 151 | + ->middleware('csrf-api:depicter-dashboard' ) | |
| 152 | + ->middleware('userCan:create_depicter' ) | |
| 153 | + ->handle( 'AIWizardController@generateKeywords' ); | |
| 154 | + | |
| 155 | +// Generate slides content by AI | |
| 156 | +Depicter::route()->methods(['POST']) | |
| 157 | + ->where( 'ajax', 'depicter/ai/text/complete', true, true ) | |
| 158 | + ->middleware('csrf-api:depicter-dashboard' ) | |
| 159 | + ->middleware('userCan:create_depicter' ) | |
| 160 | + ->handle( 'AIWizardController@wizardComplete' ); | |
| 161 | + | |
| 162 | +// todo: remove this endpoint because we don't have such controller method | |
| 163 | +// Generate slides content by AI | |
| 164 | +Depicter::route()->methods(['POST']) | |
| 165 | + ->where( 'ajax', 'depicter/ai/document/make', true, true ) | |
| 166 | + ->middleware('csrf-api:depicter-dashboard' ) | |
| 167 | + ->handle( 'AIWizardController@make' ); | |
| 168 | + | |
| 169 | +// DataSources | |
| 170 | +// ====================================== | |
| 171 | + | |
| 172 | +Depicter::route()->methods(['GET'] ) | |
| 173 | + ->where( 'ajax', 'depicter/dataSources/v1/assets', true, true ) | |
| 174 | + ->middleware('csrf-api:depicter-editor' ) | |
| 175 | + ->handle( 'DataSourceAjaxController@getAssets' ); | |
| 176 | + | |
| 132 | 177 | // WP Resources |
| 133 | 178 | // ====================================== |
| 134 | 179 | |
| 135 | 180 | Depicter::route()->methods(['GET'] ) |
| @@ -168,9 +213,9 @@ | ||
| 168 | 213 | |
| 169 | 214 | // get list of all media library images |
| 170 | 215 | Depicter::route()->methods(['GET'] ) |
| 171 | 216 | ->where( 'ajax', 'depicter/library/search/images', true, true ) |
| 172 | - ->middleware('csrf-api:depicter-editor' ) | |
| 217 | + ->middleware('csrf-api:depicter-editor|depicter-dashboard' ) | |
| 173 | 218 | ->handle( 'MediaLibraryAjaxController@images' ); |
| 174 | 219 | |
| 175 | 220 | // get list of all media library audios |
| 176 | 221 | Depicter::route()->methods(['GET'] ) |
| @@ -196,9 +241,9 @@ | ||
| 196 | 241 | |
| 197 | 242 | // Search Unsplash photos |
| 198 | 243 | Depicter::route()->methods(['GET'] ) |
| 199 | 244 | ->where( 'ajax', 'depicter/assets/search/images', true, true ) |
| 200 | - ->middleware('csrf-api:depicter-editor' ) | |
| 245 | + ->middleware('csrf-api:depicter-editor|depicter-dashboard' ) | |
| 201 | 246 | ->middleware('cache:260000,browser') |
| 202 | 247 | ->handle( 'MediaAssetsAPIAjaxController@searchImages' ); |
| 203 | 248 | |
| 204 | 249 | // Search Pixabay Videos |
| @@ -214,13 +259,20 @@ | ||
| 214 | 259 | ->middleware('csrf-api:depicter-editor' ) |
| 215 | 260 | ->middleware('cache:260000,browser') |
| 216 | 261 | ->handle( 'MediaAssetsAPIAjaxController@searchVectors' ); |
| 217 | 262 | |
| 263 | +// Retrieves | |
| 264 | +Depicter::route()->methods(['GET'] ) | |
| 265 | + ->where( 'ajax', 'depicter/media/url', true, true ) | |
| 266 | + ->middleware('csrf-api:depicter-editor|depicter-dashboard' ) | |
| 267 | + ->middleware('cache:3600,browser') | |
| 268 | + ->handle( 'MediaAssetsAPIAjaxController@getMediaUrl' ); | |
| 269 | + | |
| 218 | 270 | // Return hotlinks |
| 219 | 271 | Depicter::route()->methods(['GET'] ) |
| 220 | 272 | ->where( 'ajax', 'depicter/media/get', true, true ) |
| 221 | 273 | ->name('getMedia') |
| 222 | - ->middleware('csrf-api:depicter-editor' ) | |
| 274 | + ->middleware('csrf-api:depicter-editor|depicter-dashboard' ) | |
| 223 | 275 | ->middleware('cache:900,browser') |
| 224 | 276 | ->handle( 'MediaAssetsAPIAjaxController@getMedia' ); |
| 225 | 277 | |
| 226 | 278 | // Upload media file |
| @@ -275,8 +327,14 @@ | ||
| 275 | 327 | ->where( 'ajax', 'depicter/assets/document/templates/import', true, true ) |
| 276 | 328 | ->middleware('csrf-api:depicter-dashboard' ) |
| 277 | 329 | ->handle( 'CuratedAPIAjaxController@importDocumentTemplate' ); |
| 278 | 330 | |
| 331 | +Depicter::route()->methods(['POST'] ) | |
| 332 | + ->where( 'ajax', 'depicter/assets/document/templates/ai/import', true, true ) | |
| 333 | + ->middleware('userCan:create_depicter' ) | |
| 334 | + ->middleware('csrf-api:depicter-dashboard' ) | |
| 335 | + ->handle( 'AIWizardController@importAIDocumentTemplate' ); | |
| 336 | + | |
| 279 | 337 | // Send user feedbacks |
| 280 | 338 | Depicter::route()->methods(['POST'] ) |
| 281 | 339 | ->where( 'ajax', 'depicter/report/issue', true, true ) |
| 282 | 340 | ->middleware('csrf-api:depicter-editor' ) |
| @@ -321,4 +379,8 @@ | ||
| 321 | 379 | |
| 322 | 380 | Depicter::route()->methods(['GET'] ) |
| 323 | 381 | ->where( 'ajax', 'depicter/info/changelog', true, true ) |
| 324 | 382 | ->handle( 'AppInfoAjaxController@changelogs' ); |
| 383 | + | |
| 384 | +Depicter::route()->methods(['GET'] ) | |
| 385 | + ->where( 'ajax', 'depicter/info/promotion', true, true ) | |
| 386 | + ->handle( 'AppInfoAjaxController@getPromotion' ); | |