user()->currentWorkspace->signatures()->latest()->get(); return SignatureResource::collection($signatures); } public function store(StoreSignatureRequest $request): JsonResponse { $signature = CreateSignature::execute($request->user()->currentWorkspace, $request->validated()); return (new SignatureResource($signature)) ->response() ->setStatusCode(Response::HTTP_CREATED); } public function update(UpdateSignatureRequest $request, WorkspaceSignature $signature): SignatureResource { if ($signature->workspace_id !== $request->user()->currentWorkspace->id) { abort(Response::HTTP_NOT_FOUND); } $signature = UpdateSignature::execute($signature, $request->validated()); return new SignatureResource($signature); } public function destroy(Request $request, WorkspaceSignature $signature): JsonResponse { if ($signature->workspace_id !== $request->user()->currentWorkspace->id) { abort(Response::HTTP_NOT_FOUND); } DeleteSignature::execute($signature); return response()->json(null, Response::HTTP_NO_CONTENT); } }