Expose (some) internal functions
Wim Beukers
From version 4.15.2 most of the internal functions used by strapi are no longer exposed for use in custom code.
I would like to request a couple to be exposed for use in custom logic:
parseBody (core-api/controller/transform)
getPaginationInfo, convertPagedToStartLimit, shouldCount, transformPaginationResponse (core-api/service/pagination)
These are mostly used to keep controllers and services looking more like the default ones as well as not inventing the wheel again when using pagination in a custom service.
applyPopulate, fromRow (database/query/helpers)
These are super useful when using some custom database queries. We have some platforms with a couple of important heavy queries that , because of performance concerns or specific filters, cant be made by using the Strapi provided services.
The way we would do this is by using the querybuilder the same way as Strapi does internally, so still using the queryParams as well. Then we add our custom sql, execute the query. use applyPopulate to populate this the same way as Strapi would do and then use fromRow to format the results to be in line with the rest of the data. If these helper functions aren't exposed we will need to manually start populating and formatting these queries.
For us the biggest selling point of Strapi is the massive developer customizability. It would be a shame to limit this by restricting all the great Strapi internal resources