feat: app_debug to false and public user profiile controller
This commit is contained in:
parent
26f24fcd07
commit
50ebc54551
|
|
@ -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),
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -57,7 +57,7 @@ env:
|
||||||
clear:
|
clear:
|
||||||
APP_LOCALE: fr
|
APP_LOCALE: fr
|
||||||
APP_ENV: production
|
APP_ENV: production
|
||||||
APP_DEBUG: "true"
|
APP_DEBUG: "false"
|
||||||
APP_URL: https://bemeal.leonmorival.com
|
APP_URL: https://bemeal.leonmorival.com
|
||||||
SERVER_NAME: ":80"
|
SERVER_NAME: ":80"
|
||||||
APP_RUNTIME: "Laravel\\FrankenPHP\\Runtime"
|
APP_RUNTIME: "Laravel\\FrankenPHP\\Runtime"
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ use App\Http\Controllers\DeviceTokenController;
|
||||||
use App\Http\Controllers\MealImageAnalysisController;
|
use App\Http\Controllers\MealImageAnalysisController;
|
||||||
use App\Http\Controllers\MealPostController;
|
use App\Http\Controllers\MealPostController;
|
||||||
use App\Http\Controllers\PostReviewsController;
|
use App\Http\Controllers\PostReviewsController;
|
||||||
|
use App\Http\Controllers\PublicUserProfileController;
|
||||||
use App\Http\Controllers\StravaController;
|
use App\Http\Controllers\StravaController;
|
||||||
use App\Http\Controllers\WorkoutSessionController;
|
use App\Http\Controllers\WorkoutSessionController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
@ -53,6 +54,7 @@ Route::middleware(['auth:sanctum', 'verified'])->group(function (): void {
|
||||||
|
|
||||||
// Meals
|
// Meals
|
||||||
Route::middleware(['auth:sanctum', 'verified'])->group(function (): void {
|
Route::middleware(['auth:sanctum', 'verified'])->group(function (): void {
|
||||||
|
Route::get('users/{user}', [PublicUserProfileController::class, 'show'])->name('users.show');
|
||||||
Route::get('me/meal-posts', [MealPostController::class, 'mine'])->name('meal-posts.mine');
|
Route::get('me/meal-posts', [MealPostController::class, 'mine'])->name('meal-posts.mine');
|
||||||
Route::get('meal-posts/stats', [MealPostController::class, 'stats']);
|
Route::get('meal-posts/stats', [MealPostController::class, 'stats']);
|
||||||
Route::get('meal-posts/calendar', [MealPostController::class, 'calendar']);
|
Route::get('meal-posts/calendar', [MealPostController::class, 'calendar']);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue