postId <= 0) { throw new BadRequestException('postId must be positive'); } if ($request->requesterId <= 0) { throw new BadRequestException('requesterId must be positive'); } $post = $this->postRepo->find($request->postId); if ($post === null) { return; } $isAuthor = $post->getUserId() === $request->requesterId; if (! $isAuthor && ! $request->requesterIsAdmin) { throw new ForbiddenException( 'requester is not allowed to delete this post' ); } $this->postRepo->delete($request->postId); } }