feat: history and calculate needs for user
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user