tree f0710221ce85754f91462ad8ff7e4b07a4feaa4e
parent 3acced2ce93ab735f147ba8204afcc18bdc0c3ea
author Ed Tanous <edtanous@google.com> 1658781599 -0700
committer Ed Tanous <ed@tanous.net> 1658943380 +0000

Query param: fix regression in top parameters

With the inclusion of ce8ea743055f1b82c60790db40aa3295e03bdf9c it looks
like we're now returning 400 error codes, with a response error of
QueryNotSupportedOnResource for resources which don't support top and
skip (like RegistryFile).  This would imply that the Query object NEEDS
a way to represent "user didn't provide us a skip/top parameter" which
arguably means this needs to go back to a std::optional<size_t>.

The error gets added from:
https://github.com/openbmc/bmcweb/blob/d5c80ad9c07b94465d8ea62d2b6f87c30cac765e/redfish-core/include/utils/query_param.hpp#L304
and appears to be a basic logic error in that now all queries assume
that the user provided top and skip, which fails for non-collections.

This commit moves that direction, changing the Query object back to
std::optional<size_t>.  This has the unintended consequence of now
putting the idea of "defaults" back into the per-delegated handlers. This
seems reasonable, as arguably the defaults for each individual collection
are going to be different, and at some point we might want to take advant
age of that.

Tested:
1. Tested on Romulus QEMU. All passed.
2. Tested on s7106, Validator passed.

Signed-off-by: Ed Tanous <edtanous@google.com>
Signed-off-by: Nan Zhou <nanzhoumails@gmail.com>
Change-Id: I9f912957d130694b281c6e391602de158eaddcb3
