Changelog - 2026-10-07
List extras on the data provider and the repository
New FeatureIn one line. An IGNIS route can compute extras beside the rows, such as facet counts. ARDOR's data provider now asks for them with meta.extra and returns them in meta.extra, and it no longer mistakes a route's default { data, extra } body for one row.
What changed
- Asking.
getListandgetManyReferencetakemeta.extra(aTExtraRequest) and send it in thex-request-extraheader. It is no longer sent as a query parameter; every othermetakey still is.getRequestProps({ extra })builds the header for any call. - Answering. When the response carries
x-response-extra, the data provider unwraps{ data, extra }. Rows and total read as before, andgetListandgetManyReferencereturnmeta: { extra }.doRequestandsendreturnextrabesidedata. A body without that header is never read as extras. - The count stays. A request that asks for the count in the body (
RequestCountData.DATA_WITH_COUNT) keeps itscountbeside the rows. - The repository.
@venizia/ardor/repositoryre-exportsHttpExtraRequest,TExtraRequestandTExtraResult.HttpRepository.find({ options: { extra } })returnsextra. - IGNIS versions. Needs
@venizia/ignis-kernel>=0.2.1-5 <0.3.0and@venizia/ignis-helpers>=0.2.1-2 <0.3.0. The data provider reads extras through@venizia/ignis-kernel/repository, so it does not need the optional@venizia/ignis-connectorspeer; if you use connectors, it must be>=0.2.1-7 <0.3.0.
Who is affected
- Applications whose server adds a default extra to a route. Upgrade ARDOR first: an older data provider reads
{ data, extra }as a single row. - Code that passed
meta.extraas a query parameter. It is now the extras request. Rename the key. - A cross-origin server. It must allow
x-request-extraand exposex-response-extra, or the browser drops them.
See the data provider and repositories.