feat: history and calculate needs for user
CI / 🧪 Tests Laravel (push) Failing after 2m18s
CI / 🐳 Build & Push Images (push) Has been skipped

This commit is contained in:
2026-08-14 12:45:37 +02:00
parent ea5a5737ec
commit 69372a49ed
51 changed files with 2226 additions and 305 deletions
@@ -0,0 +1,39 @@
<?php
namespace App\Http\Controllers;
use App\Actions\AcceptWeeklyReviewAdjustment;
use App\Http\Resources\NutritionPlanResource;
use App\Http\Resources\WeeklyReviewResource;
use App\Models\WeeklyReview;
use App\Services\WeeklyReviewService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
class WeeklyReviewController extends Controller
{
public function index(Request $request): AnonymousResourceCollection
{
return WeeklyReviewResource::collection(
$request->user()->weeklyReviews()->latest('period_start')->limit(52)->get()
);
}
public function current(Request $request, WeeklyReviewService $weeklyReviewService): JsonResponse
{
return (new WeeklyReviewResource($weeklyReviewService->generate($request->user())))
->response()
->setStatusCode(200);
}
public function accept(
Request $request,
WeeklyReview $weeklyReview,
AcceptWeeklyReviewAdjustment $acceptWeeklyReviewAdjustment,
): NutritionPlanResource {
abort_unless($weeklyReview->user_id === $request->user()->getKey(), 404);
return new NutritionPlanResource($acceptWeeklyReviewAdjustment->execute($weeklyReview));
}
}