| @@ -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' ) |
| @@ -54,10 +61,9 @@ | ||
| 54 | 61 | |
| 55 | 62 | // Retrieves a document |
| 56 | 63 | Depicter::route()->methods(['GET']) |
| 57 | 64 | ->where( 'ajax', 'depicter/document/localization', true, true ) |
| 58 | - ->middleware('csrf-api:depicter-editor' ) | |
| 59 | - ->middleware('cache:7200,browser') | |
| 65 | + ->middleware('csrf-api:depicter-editor|depicter-dashboard' ) | |
| 60 | 66 | ->handle( 'EditorAjaxController@getLocalization' ); |
| 61 | 67 | |
| 62 | 68 | // Get document markup |
| 63 | 69 | Depicter::route()->methods(['GET']) |
| @@ -67,8 +73,9 @@ | ||
| 67 | 73 | |
| 68 | 74 | Depicter::route()->methods(['GET']) |
| 69 | 75 | ->where( 'ajax', 'depicter/document/preview', true, false ) |
| 70 | 76 | ->middleware('userCan:access_depicter' ) |
| 77 | + ->middleware('cache:0,browser') | |
| 71 | 78 | ->handle( 'EditorAjaxController@preview' ); |
| 72 | 79 | |
| 73 | 80 | // Get document data |
| 74 | 81 | Depicter::route()->methods(['GET']) |
| @@ -134,8 +141,40 @@ | ||
| 134 | 141 | ->middleware('csrf-api:depicter-dashboard' ) |
| 135 | 142 | ->middleware('userCan:import_depicter' ) |
| 136 | 143 | ->handle( 'DashboardAjaxController@import' ); |
| 137 | 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 | + | |
| 138 | 177 | // WP Resources |
| 139 | 178 | // ====================================== |
| 140 | 179 | |
| 141 | 180 | Depicter::route()->methods(['GET'] ) |
| @@ -174,9 +213,9 @@ | ||
| 174 | 213 | |
| 175 | 214 | // get list of all media library images |
| 176 | 215 | Depicter::route()->methods(['GET'] ) |
| 177 | 216 | ->where( 'ajax', 'depicter/library/search/images', true, true ) |
| 178 | - ->middleware('csrf-api:depicter-editor' ) | |
| 217 | + ->middleware('csrf-api:depicter-editor|depicter-dashboard' ) | |
| 179 | 218 | ->handle( 'MediaLibraryAjaxController@images' ); |
| 180 | 219 | |
| 181 | 220 | // get list of all media library audios |
| 182 | 221 | Depicter::route()->methods(['GET'] ) |
| @@ -202,9 +241,9 @@ | ||
| 202 | 241 | |
| 203 | 242 | // Search Unsplash photos |
| 204 | 243 | Depicter::route()->methods(['GET'] ) |
| 205 | 244 | ->where( 'ajax', 'depicter/assets/search/images', true, true ) |
| 206 | - ->middleware('csrf-api:depicter-editor' ) | |
| 245 | + ->middleware('csrf-api:depicter-editor|depicter-dashboard' ) | |
| 207 | 246 | ->middleware('cache:260000,browser') |
| 208 | 247 | ->handle( 'MediaAssetsAPIAjaxController@searchImages' ); |
| 209 | 248 | |
| 210 | 249 | // Search Pixabay Videos |
| @@ -220,13 +259,20 @@ | ||
| 220 | 259 | ->middleware('csrf-api:depicter-editor' ) |
| 221 | 260 | ->middleware('cache:260000,browser') |
| 222 | 261 | ->handle( 'MediaAssetsAPIAjaxController@searchVectors' ); |
| 223 | 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 | + | |
| 224 | 270 | // Return hotlinks |
| 225 | 271 | Depicter::route()->methods(['GET'] ) |
| 226 | 272 | ->where( 'ajax', 'depicter/media/get', true, true ) |
| 227 | 273 | ->name('getMedia') |
| 228 | - ->middleware('csrf-api:depicter-editor' ) | |
| 274 | + ->middleware('csrf-api:depicter-editor|depicter-dashboard' ) | |
| 229 | 275 | ->middleware('cache:900,browser') |
| 230 | 276 | ->handle( 'MediaAssetsAPIAjaxController@getMedia' ); |
| 231 | 277 | |
| 232 | 278 | // Upload media file |
| @@ -280,8 +326,14 @@ | ||
| 280 | 326 | Depicter::route()->methods(['GET'] ) |
| 281 | 327 | ->where( 'ajax', 'depicter/assets/document/templates/import', true, true ) |
| 282 | 328 | ->middleware('csrf-api:depicter-dashboard' ) |
| 283 | 329 | ->handle( 'CuratedAPIAjaxController@importDocumentTemplate' ); |
| 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' ); | |
| 284 | 336 | |
| 285 | 337 | // Send user feedbacks |
| 286 | 338 | Depicter::route()->methods(['POST'] ) |
| 287 | 339 | ->where( 'ajax', 'depicter/report/issue', true, true ) |