Просмотр исходного кода

Merge pull request #2446 from visuddhinanda/development

Development
visuddhinanda 5 дней назад
Родитель
Сommit
9302e0b17f

+ 11 - 3
api-v13/app/Http/Controllers/ArticleMapController.php

@@ -7,11 +7,14 @@ use App\Models\Article;
 use App\Models\ArticleCollection;
 use App\Models\Collection;
 use App\Services\AuthService;
+use App\Services\CollectionService;
 use Illuminate\Http\Request;
 use Illuminate\Http\Response;
 
 class ArticleMapController extends Controller
 {
+    public function __construct(protected CollectionService $service) {}
+
     /**
      * Display a listing of the resource.
      *
@@ -19,7 +22,10 @@ class ArticleMapController extends Controller
      */
     public function index(Request $request)
     {
-        //
+        $request->validate([
+            'id' => ['required', 'uuid'],
+        ]);
+
         switch ($request->input('view')) {
             case 'anthology':
                 $table = ArticleCollection::where('collect_id', $request->input('id'))
@@ -29,6 +35,8 @@ class ArticleMapController extends Controller
                 $table = ArticleCollection::where('article_id', $request->input('id'))
                     ->leftJoin('articles', 'articles.uid', '=', 'article_collections.article_id');
                 break;
+            default:
+                return $this->error('unknown view', null, 422);
         }
         $count = $table->count();
         $result = [];
@@ -93,7 +101,7 @@ class ArticleMapController extends Controller
         if (! $user) {
             return $this->error(__('auth.failed'));
         }
-        if (! CollectionController::UserCanEdit($user['user_uid'], $collection)) {
+        if (! $this->service->userCanEdit($user['user_uid'], $collection)) {
             return $this->error(__('auth.failed'));
         }
         switch ($validated['operation']) {
@@ -167,7 +175,7 @@ class ArticleMapController extends Controller
         if (! $user) {
             return $this->error(__('auth.failed'));
         }
-        if (! CollectionController::UserCanEdit($user['user_uid'], $collection)) {
+        if (! $this->service->userCanEdit($user['user_uid'], $collection)) {
             return $this->error(__('auth.failed'));
         }
 

+ 2 - 2
dashboard-v6/src/pages/workspace/anthology/edit.tsx

@@ -5,12 +5,12 @@ import { useAppSelector } from "../../../hooks";
 import { currentUser } from "../../../reducers/current-user";
 
 const Widget = () => {
-  const { id } = useParams(); //url 参数
+  const { anthologyId } = useParams(); //url 参数
   const user = useAppSelector(currentUser);
 
   return (
     <>
-      <AnthologyTocEdit id={id} editorStudioName={user?.realName} />
+      <AnthologyTocEdit id={anthologyId} editorStudioName={user?.realName} />
     </>
   );
 };