浏览代码

Update BaseApiController

Daniel Supernault 6 年之前
父节点
当前提交
60ead2bab3
共有 1 个文件被更改,包括 23 次插入7 次删除
  1. 23 7
      app/Http/Controllers/Api/BaseApiController.php

+ 23 - 7
app/Http/Controllers/Api/BaseApiController.php

@@ -32,6 +32,7 @@ use App\Jobs\VideoPipeline\{
     VideoPostProcess,
     VideoThumbnail
 };
+use App\Services\NotificationService;
 
 class BaseApiController extends Controller
 {
@@ -47,13 +48,28 @@ class BaseApiController extends Controller
     public function notifications(Request $request)
     {
         $pid = Auth::user()->profile->id;
-        $timeago = Carbon::now()->subMonths(6);
-        $notifications = Notification::whereProfileId($pid)
-            ->whereDate('created_at', '>', $timeago)
-            ->latest()
-            ->simplePaginate(10);
-        $resource = new Fractal\Resource\Collection($notifications, new NotificationTransformer());
-        $res = $this->fractal->createData($resource)->toArray();
+        if(config('exp.ns') == false) {
+            $timeago = Carbon::now()->subMonths(6);
+            $notifications = Notification::whereProfileId($pid)
+                ->whereDate('created_at', '>', $timeago)
+                ->latest()
+                ->simplePaginate(10);
+            $resource = new Fractal\Resource\Collection($notifications, new NotificationTransformer());
+            $res = $this->fractal->createData($resource)->toArray();
+        } else {
+            $this->validate($request, [
+                'page' => 'nullable|integer|min:1',
+                'limit' => 'nullable|integer|min:1|max:10'
+            ]);
+            $limit = $request->input('limit') ?? 10;
+            $page = $request->input('page') ?? 1;
+            if($page > 3) {
+                return response()->json([]);
+            }
+            $end = (int) $page * $limit;
+            $start = (int) $end - $limit;
+            $res = NotificationService::get($pid, $start, $end);
+        }
 
         return response()->json($res);
     }