You can use strapi’s default controllers inside your custom controller:
module.exports = {
async someCustomUpdateController(ctx) {
return strapi.plugins["users-permissions"].controllers.user.update(ctx);
}
}
That someCustomUpdateController is used as a handler on a new custom route with a custom policy isOwner, after passing the isOwner policy it uses the strapi’s core controller. Same approach if for other functions.
You can output the: strapi.plugins["users-permissions"].controllers in console log to see what other functions are inside.