chore: commit current workspace changes
This commit is contained in:
@@ -30,12 +30,7 @@ class PostTrendingFeedController extends Controller
|
||||
|
||||
$result = $this->trendingService->getTrending($viewer, $page);
|
||||
|
||||
$formatted = array_map(
|
||||
fn ($post) => $this->feedService->formatPost($post, $viewer),
|
||||
$result['data'],
|
||||
);
|
||||
|
||||
return response()->json(['data' => array_values($formatted), 'meta' => $result['meta']]);
|
||||
return response()->json($result);
|
||||
}
|
||||
|
||||
public function hashtag(Request $request, string $tag): JsonResponse
|
||||
|
||||
@@ -13,9 +13,11 @@ use App\Support\UsernamePolicy;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Pagination\Cursor;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use UnexpectedValueException;
|
||||
|
||||
/**
|
||||
* ProfileApiController
|
||||
@@ -59,8 +61,23 @@ final class ProfileApiController extends Controller
|
||||
|
||||
$query = $this->applyArtworkSort($query, $sort);
|
||||
|
||||
$perPage = 24;
|
||||
$paginator = $query->cursorPaginate($perPage);
|
||||
$perPage = 24;
|
||||
$cursor = Cursor::fromEncoded($request->input('cursor'));
|
||||
|
||||
try {
|
||||
$paginator = (clone $query)->cursorPaginate($perPage, ['*'], 'cursor', $cursor);
|
||||
} catch (UnexpectedValueException) {
|
||||
$originalCursor = $request->query('cursor');
|
||||
$request->query->remove('cursor');
|
||||
|
||||
try {
|
||||
$paginator = (clone $query)->cursorPaginate($perPage, ['*'], 'cursor', null);
|
||||
} finally {
|
||||
if ($originalCursor !== null) {
|
||||
$request->query->set('cursor', $originalCursor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$data = collect($paginator->items())
|
||||
->map(fn (Artwork $art) => $this->mapArtworkCardPayload($art))
|
||||
@@ -196,14 +213,15 @@ final class ProfileApiController extends Controller
|
||||
return $query
|
||||
->leftJoin('artwork_stats as profile_artwork_stats', 'profile_artwork_stats.artwork_id', '=', 'artworks.id')
|
||||
->select('artworks.*')
|
||||
->orderByDesc($statsColumn)
|
||||
->orderByDesc('artworks.published_at')
|
||||
->orderByDesc('artworks.id');
|
||||
->selectRaw('COALESCE(' . $statsColumn . ', 0) as cursor_sort_value')
|
||||
->orderByDesc('cursor_sort_value')
|
||||
->orderByDesc('published_at')
|
||||
->orderByDesc('id');
|
||||
}
|
||||
|
||||
return $query
|
||||
->orderByDesc('artworks.published_at')
|
||||
->orderByDesc('artworks.id');
|
||||
->orderByDesc('published_at')
|
||||
->orderByDesc('id');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user