user()->currentWorkspace->labels()->latest()->get(); return LabelResource::collection($labels); } public function store(StoreLabelRequest $request): JsonResponse { $label = CreateLabel::execute($request->user()->currentWorkspace, $request->validated()); return (new LabelResource($label)) ->response() ->setStatusCode(Response::HTTP_CREATED); } public function update(UpdateLabelRequest $request, WorkspaceLabel $label): LabelResource { if ($label->workspace_id !== $request->user()->currentWorkspace->id) { abort(Response::HTTP_NOT_FOUND); } $label = UpdateLabel::execute($label, $request->validated()); return new LabelResource($label); } public function destroy(Request $request, WorkspaceLabel $label): JsonResponse { if ($label->workspace_id !== $request->user()->currentWorkspace->id) { abort(Response::HTTP_NOT_FOUND); } DeleteLabel::execute($label); return response()->json(null, Response::HTTP_NO_CONTENT); } }