types(v4/v5): upgrade populate request param to include nested object #452
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Types of changes
Description
Changes:
Added new unified types for
populate
parameters in Strapi v5 and v4 to support nested object population and advanced filtering, sorting, and field selections. These types improve maintainability and consistency across versions.Strapi v5:
New
StrapiV5RequestPopulateParams
:A type alias for
Pick<Strapi5RequestParams<T>, 'fields' | 'sort' | 'populate' | 'filters'>
to define allowed keys for nested population parameters.New
StrapiV5RequestPopulateParam
:Unified type for
populate
, supporting:'*'
for populating all relations.StrapiV5RequestPopulateParams
support."field.subfield"
or arrays of such paths.Strapi v4:
New
Strapi4RequestPopulateParams
:Similar to v5, but tailored for
Strapi4RequestParams<T>
.New
Strapi4RequestPopulateParam
:Similar functionality as the v5 version but applied to Strapi v4.
Why this change is needed:
populate
usage across Strapi v4 and v5 implementations.fields
,sort
, andfilters
in nested relations.I tested it a bit in TS Playground and does seem to work as intended.
Checklist: