소스 검색

Update AdminReportController

Daniel Supernault 6 년 전
부모
커밋
1e839d2517
1개의 변경된 파일31개의 추가작업 그리고 0개의 파일을 삭제
  1. 31 0
      app/Http/Controllers/Admin/AdminReportController.php

+ 31 - 0
app/Http/Controllers/Admin/AdminReportController.php

@@ -81,4 +81,35 @@ trait AdminReportController
 
         return $this;
     }
+
+    protected function actionMap()
+    {
+        return [
+            '1' => 'ignore',
+            '2' => 'cw',
+            '3' => 'unlist',
+            '4' => 'delete',
+            '5' => 'shadowban',
+            '6' => 'ban'
+        ];
+    }
+
+    public function bulkUpdateReport(Request $request)
+    {
+        $this->validate($request, [
+            'action' => 'required|integer|min:1|max:10',
+            'ids'    => 'required|array'
+        ]);
+        $action = $this->actionMap()[$request->input('action')];
+        $ids = $request->input('ids');
+        $reports = Report::whereIn('id', $ids)->whereNull('admin_seen')->get();
+        foreach($reports as $report) {
+            $this->handleReportAction($report, $action);
+        }
+        $res = [
+            'message' => 'Success',
+            'code'    => 200
+        ];
+        return response()->json($res);
+    }
 }