瀏覽代碼

Update DirectMessageController, fix ordering bug

Daniel Supernault 7 月之前
父節點
當前提交
bcc8b8842f
共有 1 個文件被更改,包括 9 次插入6 次删除
  1. 9 6
      app/Http/Controllers/DirectMessageController.php

+ 9 - 6
app/Http/Controllers/DirectMessageController.php

@@ -372,7 +372,7 @@ class DirectMessageController extends Controller
             ->exists();
 
         if ($recipient->domain == null && $hidden == false && ! $nf) {
-            $notification = new Notification();
+            $notification = new Notification;
             $notification->profile_id = $recipient->id;
             $notification->actor_id = $profile->id;
             $notification->action = 'dm';
@@ -405,6 +405,8 @@ class DirectMessageController extends Controller
     {
         $this->validate($request, [
             'pid' => 'required',
+            'max_id' => 'sometimes|integer',
+            'min_id' => 'sometimes|integer',
         ]);
         $user = $request->user();
         abort_if($user->has_roles && ! UserRoleService::can('can-direct-message', $user->id), 403, 'Invalid permissions for this action');
@@ -423,9 +425,10 @@ class DirectMessageController extends Controller
                     return $q->where([['from_id', $pid], ['to_id', $uid],
                     ])->orWhere([['from_id', $uid], ['to_id', $pid]]);
                 })
-                ->latest()
+                ->orderBy('id', 'asc')
                 ->take(8)
-                ->get();
+                ->get()
+                ->reverse();
         } elseif ($max_id) {
             $res = DirectMessage::select('*')
                 ->where('id', '<', $max_id)
@@ -433,7 +436,7 @@ class DirectMessageController extends Controller
                     return $q->where([['from_id', $pid], ['to_id', $uid],
                     ])->orWhere([['from_id', $uid], ['to_id', $pid]]);
                 })
-                ->latest()
+                ->orderBy('id', 'desc')
                 ->take(8)
                 ->get();
         } else {
@@ -441,7 +444,7 @@ class DirectMessageController extends Controller
                 return $q->where([['from_id', $pid], ['to_id', $uid],
                 ])->orWhere([['from_id', $uid], ['to_id', $pid]]);
             })
-                ->latest()
+                ->orderBy('id', 'desc')
                 ->take(8)
                 ->get();
         }
@@ -636,7 +639,7 @@ class DirectMessageController extends Controller
         $status->in_reply_to_profile_id = $recipient->id;
         $status->save();
 
-        $media = new Media();
+        $media = new Media;
         $media->status_id = $status->id;
         $media->profile_id = $profile->id;
         $media->user_id = $user->id;