feat: get number of follows on public profile

This commit is contained in:
2026-05-28 20:52:48 +02:00
parent 1db50bc69a
commit c9dafc0f05
4 changed files with 27 additions and 0 deletions
@@ -64,6 +64,8 @@ class FollowController extends Controller
public function followers(Request $request, User $user): AnonymousResourceCollection
{
abort_unless($request->user()->id === $user->id, 403);
$perPage = max(1, min($request->integer('per_page', 15), 100));
$followers = $user->followers()
@@ -75,6 +77,8 @@ class FollowController extends Controller
public function following(Request $request, User $user): AnonymousResourceCollection
{
abort_unless($request->user()->id === $user->id, 403);
$perPage = max(1, min($request->integer('per_page', 15), 100));
$following = $user->following()
@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Enums\FollowStatus;
use App\Enums\MealPostVisibility;
use App\Http\Resources\MealPostsResource;
use App\Models\User;
@@ -39,6 +40,12 @@ class PublicUserProfileController extends Controller
->where('visibility', MealPostVisibility::Public->value)
->whereNull('hidden_at')
->count(),
'followersCount' => $user->followers()
->wherePivot('status', FollowStatus::Accepted)
->count(),
'followingCount' => $user->following()
->wherePivot('status', FollowStatus::Accepted)
->count(),
],
'meals' => MealPostsResource::collection($meals)->resolve($request),
],
+9
View File
@@ -7,6 +7,9 @@ use App\Listeners\GrantCreditsFromStripeWebhook;
use App\Mail\ResetPasswordMail;
use App\Mail\VerifyAccount;
use App\Models\User;
use Dedoc\Scramble\Scramble;
use Dedoc\Scramble\Support\Generator\OpenApi;
use Dedoc\Scramble\Support\Generator\SecurityScheme;
use Illuminate\Auth\Notifications\ResetPassword;
use Illuminate\Auth\Notifications\VerifyEmail;
use Illuminate\Cache\RateLimiting\Limit;
@@ -45,6 +48,12 @@ class AppServiceProvider extends ServiceProvider
{
$this->configureRateLimiting();
Scramble::afterOpenApiGenerated(function (OpenApi $openApi) {
$openApi->secure(
SecurityScheme::http('bearer')
);
});
if ($this->app->environment('production')) {
URL::forceScheme('https');
}