feat: app_debug to false and public user profiile controller
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Enums\MealPostVisibility;
|
||||
use App\Http\Resources\MealPostsResource;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class PublicUserProfileController extends Controller
|
||||
{
|
||||
public function show(Request $request, User $user): JsonResponse
|
||||
{
|
||||
$meals = $user->mealPosts()
|
||||
->where('visibility', MealPostVisibility::Public->value)
|
||||
->with('user:id,name,avatar_url,account_verified_at')
|
||||
->latest('eaten_at')
|
||||
->limit(18)
|
||||
->get();
|
||||
|
||||
return response()->json([
|
||||
'data' => [
|
||||
'user' => [
|
||||
'id' => $user->id,
|
||||
'name' => $user->name,
|
||||
'bio' => $user->bio,
|
||||
'avatarUrl' => $user->avatar_url
|
||||
? asset(Storage::url($user->avatar_url))
|
||||
: null,
|
||||
'accountVerified' => $user->account_verified_at !== null,
|
||||
],
|
||||
'stats' => [
|
||||
'mealsCount' => $user->mealPosts()
|
||||
->where('visibility', MealPostVisibility::Public->value)
|
||||
->count(),
|
||||
],
|
||||
'meals' => MealPostsResource::collection($meals)->resolve($request),
|
||||
],
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user