Przeglądaj źródła

Merge pull request #901 from pixelfed/frontend-ui-refactor

Frontend ui refactor
daniel 6 lat temu
rodzic
commit
d0f913831c
2 zmienionych plików z 26 dodań i 1 usunięć
  1. 22 1
      app/Http/Controllers/Api/BaseApiController.php
  2. 4 0
      routes/web.php

+ 22 - 1
app/Http/Controllers/Api/BaseApiController.php

@@ -7,7 +7,7 @@ use App\Http\Controllers\{
     Controller,
     AvatarController
 };
-use Auth, Cache, URL;
+use Auth, Cache, Storage, URL;
 use Carbon\Carbon;
 use App\{
     Avatar,
@@ -290,6 +290,27 @@ class BaseApiController extends Controller
         return response()->json($res);
     }
 
+    public function deleteMedia(Request $request)
+    {
+        $this->validate($request, [
+            'id' => 'required|integer|min:1|exists:media,id'
+        ]);
+
+        $media = Media::whereNull('status_id')
+            ->whereUserId(Auth::id())
+            ->findOrFail($request->input('id'));
+
+        Storage::delete($media->media_path);
+        Storage::delete($media->thumbnail_path);
+
+        $media->forceDelete();
+
+        return response()->json([
+            'msg' => 'Successfully deleted',
+            'code' => 200
+        ]);
+    }
+
     public function verifyCredentials(Request $request)
     {
         $profile = Auth::user()->profile;

+ 4 - 0
routes/web.php

@@ -77,6 +77,7 @@ Route::domain(config('pixelfed.domain.app'))->middleware(['validemail', 'twofact
             Route::post('avatar/update', 'ApiController@avatarUpdate');
             Route::get('likes', 'ApiController@hydrateLikes');
             Route::post('media', 'ApiController@uploadMedia');
+            Route::delete('media', 'ApiController@deleteMedia');
             Route::get('notifications', 'ApiController@notifications');
             Route::get('timelines/public', 'PublicApiController@publicTimelineApi');
             Route::get('timelines/home', 'PublicApiController@homeTimelineApi');
@@ -214,6 +215,9 @@ Route::domain(config('pixelfed.domain.app'))->middleware(['validemail', 'twofact
 
         Route::get('applications', 'SettingsController@applications')->name('settings.applications')->middleware('dangerzone');
         Route::get('data-export', 'SettingsController@dataExport')->name('settings.dataexport');
+        Route::post('data-export/following', 'SettingsController@exportFollowing');
+        Route::post('data-export/followers', 'SettingsController@exportFollowers');
+        Route::post('data-export/mute-block-list', 'SettingsController@exportMuteBlockList');
         Route::get('developers', 'SettingsController@developers')->name('settings.developers')->middleware('dangerzone');
     });