get(); return FeaturedGroupResource::collection($groups); } public function store(StoreFeaturedGroupRequest $request, string $tenant): FeaturedGroupResource { $group = $this->featuredGroupService->createGroup($tenant, $request->validated()); return new FeaturedGroupResource($group); } public function show(string $tenant, FeaturedGroup $featuredGroup): FeaturedGroupResource { abort_if($featuredGroup->tenant_codigo !== $tenant, 404); return new FeaturedGroupResource($featuredGroup->load('featuredVariants')); } public function update(UpdateFeaturedGroupRequest $request, string $tenant, FeaturedGroup $featuredGroup): FeaturedGroupResource { abort_if($featuredGroup->tenant_codigo !== $tenant, 404); $group = $this->featuredGroupService->updateGroup($featuredGroup, $request->validated()); return new FeaturedGroupResource($group); } public function destroy(string $tenant, FeaturedGroup $featuredGroup): JsonResponse { abort_if($featuredGroup->tenant_codigo !== $tenant, 404); $this->featuredGroupService->deleteGroup($featuredGroup); return response()->json(null, 204); } }